List Volumes

From Hostway API Documentation
(Difference between revisions)
Jump to: navigation, search
(Created page with "='''GET''' /volumes'''= This operation will return a list of all existing volumes. == Result == === JSON === <nowiki> { "volumes" : [ { "id": "{volume_id}...")
 
m (1 revision: Release 86)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
='''GET''' /volumes'''=
+
='''GET''' /accounts/''{accountId}''/flexcloud/volumes'''=
 
This operation will return a list of all existing volumes.
 
This operation will return a list of all existing volumes.
  
 
== Result ==
 
== Result ==
 +
 +
=== Parameters ===
 +
; accountId - ''string''
 +
: The selected account Id.
 +
 
=== JSON ===
 
=== JSON ===
 
  <nowiki>
 
  <nowiki>
Line 18: Line 23:
 
         "links": [
 
         "links": [
 
             {
 
             {
               "href": "http://{api_server}/volumes/{volume_id}/",  
+
               "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/{volume_id}/",  
 
               "rel": "self"
 
               "rel": "self"
 
             }
 
             }
Line 36: Line 41:
 
         "links": [
 
         "links": [
 
             {
 
             {
               "href": "http://{api_server}/volumes/{volume_id}/",  
+
               "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/{volume_id}/",  
 
               "rel": "self"
 
               "rel": "self"
 
             }
 
             }
Line 87: Line 92:
 
; Failure:
 
; Failure:
 
:''HTTP/1.1 401 Unauthorized'' - This server could not verify that you are authorized to access the document you requested.  Either you supplied the wrong credentials (e.g., bad password), or your browser does not understand how to supply the credentials required.
 
:''HTTP/1.1 401 Unauthorized'' - This server could not verify that you are authorized to access the document you requested.  Either you supplied the wrong credentials (e.g., bad password), or your browser does not understand how to supply the credentials required.
 +
:''HTTP/1.1 404 Not Found'' - The resource does not exist.
  
 
== Examples ==
 
== Examples ==
 
'''Successfully list existing volumes'''
 
'''Successfully list existing volumes'''
:'''GET''' http(s)://{api_server}/volumes
+
:'''GET''' http(s)://{api_server}/accounts/{accountId}/flexcloud/volumes
  
 
''Request Headers:''
 
''Request Headers:''
Line 109: Line 115:
 
           "links": [
 
           "links": [
 
             {
 
             {
                 "href": "http://{api_server}/volumes/hbs2012May03_0OxRg0Jz7/",  
+
                 "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/hbs2012May03_0OxRg0Jz7/",  
 
                 "rel": "self"
 
                 "rel": "self"
 
             }
 
             }
Line 127: Line 133:
 
           "links": [
 
           "links": [
 
             {
 
             {
                 "href": "http://{api_server}/volumes/hbs2012Apr20_NrznxEeq9/",  
+
                 "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/hbs2012Apr20_NrznxEeq9/",  
 
                 "rel": "self"
 
                 "rel": "self"
 
             }
 
             }
Line 145: Line 151:
  
 
'''Failure while trying to make an unauthorized request'''
 
'''Failure while trying to make an unauthorized request'''
:'''GET''' http(s)://{api_server}/volumes
+
:'''GET''' http(s)://{api_server}/accounts/{accountId}/flexcloud/volumes
  
 
''Request Headers:''
 
''Request Headers:''
Line 162: Line 168:
 
     does not understand how to supply the credentials required.
 
     does not understand how to supply the credentials required.
  
 +
'''Failure while trying to pass invalid account number'''
 +
:'''GET''' http(s)://{api_server}/accounts/fake/flexcloud/volumes
 +
 +
''Response Code:''
 +
<pre>HTTP/1.1 404 Not Found</pre>
 +
 +
''Response Body:''
 +
<nowiki>
 +
{
 +
    "itemNotFound" : {
 +
      "message": "Resource not found",
 +
      "code": 404,
 +
      "details": "",
 +
      "errorid": "59e0b3dd-2173-432a-8ff5-60efe16e83bf"
 +
    }
 +
}</nowiki>
  
<!--  THIS CODE ENABLES DISQUS COMMENTS ON THE PAGE - DELETE TO DISABLE COMMENTING-->
+
== Alternative URI /volumes ==
 +
An alternative way to execute this call is to omit the ''accountId'' portion of the URI. In this case the system assumes the request is executed for the account identified in the [[Authentication|authorization header]].
  
{{#widget:DISQUS
+
<code>GET /volumes</code>
|id=hostway
+
|uniqid={{PAGENAME}}
+
|url={{fullurl:{{PAGENAME}}}}
+
}}
+
  
<!--  ########################################################################### -->
+
[[Category:Hostway API]]
 +
[[Category:FlexCloud Server API]]

Latest revision as of 11:00, 11 October 2013

Contents

[edit] GET /accounts/{accountId}/flexcloud/volumes

This operation will return a list of all existing volumes.

[edit] Result

[edit] Parameters

accountId - string
The selected account Id.

[edit] JSON

 {
   "volumes" : [
      {
         "id": "{volume_id}",
         "display_name" : "{display_volume_name}",
         "display_description" : "{display_volume_description}",
         "size" : "{volume_size_quantity}",
         "volume_type" : "{volume_type_id}",
         "metadata" : {},
         "availability_zone" : "{availability_zone_id}",
         "attachments": [],
         "links": [
            {
               "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/{volume_id}/", 
               "rel": "self"
            }
         ],
         "snapshot_id": "",
         "created_at": "2012-05-03 11:35:44"
      },
      {
         "id": "{volume_id}",
         "display_name" : "{display_volume_name}",
         "display_description" : "{display_volume_description}",
         "size" : "{volume_size_quantity}",
         "volume_type" : "{volume_type_id}",
         "metadata" : {},
         "availability_zone" : "{availability_zone_id}",
         "attachments": [],
         "links": [
            {
               "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/{volume_id}/", 
               "rel": "self"
            }
         ],
         "snapshot_id": "",
         "created_at": "2012-05-03 11:19:39"
      }
   ]
}

[edit] volumes

id - string
Identifier of the volume instance.
display_name - string
Display name for this volume.
display_description - string
Descriptive information for this volume.
size - string
Volume size in GB.
volume_type - string
Identifier of the volume type used. *(Not used in the current version).
metadata - string
Additional metadata info.
availability_zone - string
Identifier of the availability zone into which this volume was created.
attachments - list
List of attachments this volume is associated with.
links - array
Hypermedia for this resource.
snapshot_id - string
Identifier of the snapshot associated with this volume if exists.
created_at - string
Volume creation timestamp.

[edit] Response Codes

Success
HTTP/1.1 200 OK
Failure
HTTP/1.1 401 Unauthorized - This server could not verify that you are authorized to access the document you requested. Either you supplied the wrong credentials (e.g., bad password), or your browser does not understand how to supply the credentials required.
HTTP/1.1 404 Not Found - The resource does not exist.

[edit] Examples

Successfully list existing volumes

GET http(s)://{api_server}/accounts/{accountId}/flexcloud/volumes

Request Headers:

   Content-Type:application/json
   Charset=UTF-8
   Authorization:Base64-encoded username & password string

Response Code:

HTTP/1.1 200 OK

Response Body:

 {
    "volumes" : [
       {
          "display_name": "vol-test-003", 
          "attachments": [], 
          "links": [
             {
                "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/hbs2012May03_0OxRg0Jz7/", 
                "rel": "self"
             }
          ], 
          "availability_zone": "test_zone", 
          "created_at": "2012-05-03 11:35:44", 
          "volume_type": "", 
          "display_description": "Another test volume.", 
          "snapshot_id": "", 
          "metadata": {}, 
          "id": "hbs2012May03_0OxRg0Jz7", 
          "size": "30GB"
       },
       {
          "display_name": "vol-test-001", 
          "attachments": [], 
          "links": [
             {
                "href": "http://{api_server}/accounts/{accountId}/flexcloud/volumes/hbs2012Apr20_NrznxEeq9/", 
                "rel": "self"
             }
          ], 
          "availability_zone": "TEST001", 
          "created_at": "2012-04-20 16:48:15", 
          "volume_type": "", 
          "display_description": "Test volume 001.", 
          "snapshot_id": "", 
          "metadata": {}, 
          "id": "hbs2012Apr20_NrznxEeq9", 
          "size": "10GB"
       }
   ]
}

Failure while trying to make an unauthorized request

GET http(s)://{api_server}/accounts/{accountId}/flexcloud/volumes

Request Headers:

   Content-Type:application/json
   Charset=UTF-8
   Authorization:Base64-encoded fake_authentication_string

Response Code:

HTTP/1.1 401 Unauthorized

Response Body:

    401 Unauthorized
    This server could not verify that you are authorized to
    access the document you requested.  Either you supplied the
    wrong credentials (e.g., bad password), or your browser
    does not understand how to supply the credentials required.

Failure while trying to pass invalid account number

GET http(s)://{api_server}/accounts/fake/flexcloud/volumes

Response Code:

HTTP/1.1 404 Not Found

Response Body:

 {
    "itemNotFound" : {
       "message": "Resource not found", 
       "code": 404, 
       "details": "",
       "errorid": "59e0b3dd-2173-432a-8ff5-60efe16e83bf"
    }
 }

[edit] Alternative URI /volumes

An alternative way to execute this call is to omit the accountId portion of the URI. In this case the system assumes the request is executed for the account identified in the authorization header.

GET /volumes

Personal tools
Namespaces
Variants
Actions
APIs
Navigation
Toolbox