ServerListDetails

From Hostway API Documentation
(Difference between revisions)
Jump to: navigation, search
m (1 revision: Release 98)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
This operation will list all [[Server|servers]] including their details.
 
This operation will list all [[Server|servers]] including their details.
  
=='''GET''' /servers/detail?''name=serverName&status=serverStatus&image=imageRef''==
+
='''GET''' /accounts/''{accountId}''/flexcloud/servers/detail?''name=serverName&status=serverStatus&image=imageRef&zone=ZoneTextKey&region=regionTextKey''=
 +
 
 +
== Parameters ==
 +
; accountId - ''string''
 +
: The selected account Id.
  
=== Parameters ===
 
 
; name - ''string''
 
; name - ''string''
 
: Server name to search for.
 
: Server name to search for.
  
 
; status - ''string''
 
; status - ''string''
: Server status to search for. Values: '''BUILD''', '''ACTIVE''', '''SUSPENDED''', '''DELETED''', '''UNKNOWN'''
+
: Server status to search for. Values: '''BUILD''', '''ACTIVE''', '''SUSPENDED''', '''DELETED''', '''STOPPED''', '''PROCESSING'''
 +
: without status filtering, return servers with '''ACTIVE''', '''PROCESSING''' or '''STOPPED'''
  
 
; image - ''string''
 
; image - ''string''
: Absolute URL of the image to filter servers by. ''e.g. <nowiki>http://{api_server}/images/{image_id}/</nowiki>''
+
: Absolute URL of the image to filter servers by. ''e.g. <nowiki>http://{api_server}/accounts/{accountId}/flexcloud/images/{image_id}/</nowiki>''
 +
 
 +
; zone - ''string''
 +
: Zone text key
 +
 
 +
; region - ''string''
 +
: optional, region text key
  
=== Result ===
+
== Result ==
==== JSON ====
+
=== JSON ===
 
  <nowiki>
 
  <nowiki>
 
{
 
{
Line 38: Line 48:
 
         "links":[
 
         "links":[
 
             {
 
             {
               "href":"http://{api_server}/servers/{server_id}/",
+
               "href":"http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/",
 
               "rel":"self"
 
               "rel":"self"
 
             }
 
             }
Line 46: Line 56:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{api_server}/images/{image_id}/",
+
                   "href":"http://{api_server}/accounts/{accountId}/flexcloud/images/{image_id}/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
Line 57: Line 67:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{api_server}/flavors/{flavor_id}/",
+
                   "href":"http://{api_server}/accounts/{accountId}/flexcloud/flavors/{flavor_id}/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
 
             ],
 
             ],
 
             "id":{flavor_id}
 
             "id":{flavor_id}
 +
        },
 +
        "securityGroup": {
 +
            "id":"{security_group_id}",
 +
            "links":[
 +
              {
 +
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/os-security-groups/{security_group_id}/",
 +
                  "rel":"self"
 +
              }
 +
            ]
 
         },
 
         },
 
         "id":"{server_id}",
 
         "id":"{server_id}",
 +
        "zone": "{zone_textkey}",
 
         "name":"{display_server_name}",
 
         "name":"{display_server_name}",
 
         "created":"2011-12-05T12:51:28",
 
         "created":"2011-12-05T12:51:28",
Line 93: Line 113:
 
         "links":[
 
         "links":[
 
             {
 
             {
               "href":"http://{api_server}/servers/{server_id}/",
+
               "href":"http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/",
 
               "rel":"self"
 
               "rel":"self"
 
             }
 
             }
Line 101: Line 121:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{api_server}/images/{image_id}/",
+
                   "href":"http://{api_server}/accounts/{accountId}/flexcloud/images/{image_id}/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
Line 112: Line 132:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{server_name}/flavors/{flavor_id}/",
+
                   "href":"http://{server_name}/accounts/{accountId}/flexcloud/flavors/{flavor_id}/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
 
             ],
 
             ],
 
             "id":{flavor_id}
 
             "id":{flavor_id}
 +
        },
 +
        "securityGroup": {
 +
            "id":"{security_group_id}",
 +
            "links":[
 +
              {
 +
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/os-security-groups/{security_group_id}/",
 +
                  "rel":"self"
 +
              }
 +
            ]
 
         },
 
         },
 
         "id":"{server_id}",
 
         "id":"{server_id}",
 +
        "zone": "{zone_textkey}",
 
         "name":"{display_server_name}",
 
         "name":"{display_server_name}",
 
         "created":"2011-11-17T10:14:58",
 
         "created":"2011-11-17T10:14:58",
Line 129: Line 159:
 
       }
 
       }
 
   ]
 
   ]
}
+
}</nowiki>
</nowiki>
+
  
===== server =====
+
==== server ====
 
; id - ''string''
 
; id - ''string''
 
: Unique identifier for this server.
 
: Unique identifier for this server.
Line 172: Line 201:
 
: Unused - always null.
 
: Unused - always null.
  
===== addresses =====
+
; zone
 +
: zone text key
 +
 
 +
==== addresses ====
 
; addresses.public.version - ''number''
 
; addresses.public.version - ''number''
 
: IP version of this address. Values: '''4'''
 
: IP version of this address. Values: '''4'''
Line 185: Line 217:
 
: Private IP address of this server
 
: Private IP address of this server
  
===== image =====
+
==== image ====
 
; image.name - ''string''
 
; image.name - ''string''
 
: The display name of the image this server is based on.
 
: The display name of the image this server is based on.
Line 195: Line 227:
 
: Unique identifier for image this server is based on.
 
: Unique identifier for image this server is based on.
  
===== flavor =====
+
==== flavor ====
 
; flavor.name - ''string''
 
; flavor.name - ''string''
 
: The display name of the flavor this server is based on.
 
: The display name of the flavor this server is based on.
Line 205: Line 237:
 
: Unique identifier for flavor this server is based on.
 
: Unique identifier for flavor this server is based on.
  
=== Response Codes ===
+
==== securityGroup ====
 +
; securityGroup.id - ''string''
 +
: the id of the securityGroup that is assigned to this server
 +
; securityGroup.links - ''list''
 +
: [[Hypermedia]] for the securityGroup.
 +
 
 +
== Response Codes ==
 
; Success
 
; Success
 
: ''HTTP/1.1 200 OK''
 
: ''HTTP/1.1 200 OK''
Line 212: Line 250:
 
: ''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.
  
=== Examples ===
+
; Failure
 +
:''HTTP/1.1 404 Not Found'' : Resource does not exist
 +
 
 +
== Examples ==
 
'''Successfully get server list with details'''
 
'''Successfully get server list with details'''
:'''GET''' /servers/detail
+
:'''GET''' /accounts/{accountId}/flexcloud/servers/detail
 
''- Response:''
 
''- Response:''
 
''OK (200)'':  
 
''OK (200)'':  
Line 240: Line 281:
 
         "links":[
 
         "links":[
 
             {
 
             {
               "href":"http://{server_name}/servers/test_server_0013/",
+
               "href":"http://{server_name}/accounts/{accountId}/flexcloud/servers/test_server_0013/",
 
               "rel":"self"
 
               "rel":"self"
 
             }
 
             }
Line 248: Line 289:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{server_name}/images/test_ubuntu_image/",
+
                   "href":"http://{server_name}/accounts/{accountId}/flexcloud/images/test_ubuntu_image/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
Line 259: Line 300:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{server_name}/flavors/3/",
+
                   "href":"http://{server_name}/accounts/{accountId}/flexcloud/flavors/3/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
 
             ],
 
             ],
 
             "id":3
 
             "id":3
 +
        },
 +
        "securityGroup":{
 +
            "id":"group2012Nov02_jD6NX8BsK",
 +
            "links":[
 +
              {
 +
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/os-security-groups/group2012Nov02_jD6NX8BsK/",
 +
                  "rel":"self"
 +
              }
 +
            ]
 
         },
 
         },
 
         "id":"test_server_0013",
 
         "id":"test_server_0013",
 +
        "zone": "AUS001",
 
         "name":"test_server_updated",
 
         "name":"test_server_updated",
 
         "created":"2011-12-05T12:51:28",
 
         "created":"2011-12-05T12:51:28",
Line 295: Line 346:
 
         "links":[
 
         "links":[
 
             {
 
             {
               "href":"http://{server_name}/servers/test_server_0015/",
+
               "href":"http://{server_name}/accounts/{accountId}/flexcloud/servers/test_server_0015/",
 
               "rel":"self"
 
               "rel":"self"
 
             }
 
             }
Line 303: Line 354:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{server_name}/images/test_windows_image/",
+
                   "href":"http://{server_name}/accounts/{accountId}/flexcloud/images/test_windows_image/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
Line 314: Line 365:
 
             "links":[
 
             "links":[
 
               {
 
               {
                   "href":"http://{server_name}/flavors/3/",
+
                   "href":"http://{server_name}/accounts/{accountId}/flexcloud/flavors/3/",
 
                   "rel":"self"
 
                   "rel":"self"
 
               }
 
               }
 
             ],
 
             ],
 
             "id":3
 
             "id":3
 +
        },
 +
        "securityGroup":{
 +
            "id":"group2012Nov02_jD6NX8BsK",
 +
            "links":[
 +
              {
 +
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/os-security-groups/group2012Nov02_jD6NX8BsK/",
 +
                  "rel":"self"
 +
              }
 +
            ]
 
         },
 
         },
 
         "id":"test_server_0015",
 
         "id":"test_server_0015",
 +
        "zone": "AUS001",
 
         "name":"test_server_created",
 
         "name":"test_server_created",
 
         "created":"2011-11-17T10:14:58",
 
         "created":"2011-11-17T10:14:58",
Line 331: Line 392:
 
       }
 
       }
 
   ]
 
   ]
}
+
}</nowiki>
</nowiki>
+
  
 
'''Failure while trying to make an unauthorized call'''
 
'''Failure while trying to make an unauthorized call'''
Line 342: Line 402:
 
     does not understand how to supply the credentials required.
 
     does not understand how to supply the credentials required.
  
[[Category:Hostway API]]
+
'''Failure while trying to pass invalid account number'''
[[Category:FlexCloud Server API]]
+
:'''GET''' http(s)://{api_server}/accounts/{accountId}/flexcloud/servers/detail
  
<!--  THIS CODE ENABLES DISQUS COMMENTS ON THE PAGE - DELETE TO DISABLE COMMENTING-->
+
''Response Code:''
 +
<pre>HTTP/1.1 404 Not Found</pre>
  
{{#widget:DISQUS
+
''Response Body:''
|id=hostway
+
<nowiki>
|uniqid={{PAGENAME}}
+
{
|url={{fullurl:{{PAGENAME}}}}
+
    "itemNotFound" : {
}}
+
      "message": "Resource not found",
 +
      "code": 404,
 +
      "details": "",
 +
      "errorid": "59e0b3dd-2173-432a-8ff5-60efe16e83bf"
 +
    }
 +
}</nowiki>
  
<!--  ########################################################################### -->
+
== Alternative URI /servers/detail ==
 +
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]].
 +
 
 +
<code>GET /servers/detail</code>
 +
 
 +
[[Category:Hostway API]]
 +
[[Category:FlexCloud Server API]]

Latest revision as of 07:52, 15 September 2014

This operation will list all servers including their details.

Contents

GET /accounts/{accountId}/flexcloud/servers/detail?name=serverName&status=serverStatus&image=imageRef&zone=ZoneTextKey&region=regionTextKey

Parameters

accountId - string
The selected account Id.
name - string
Server name to search for.
status - string
Server status to search for. Values: BUILD, ACTIVE, SUSPENDED, DELETED, STOPPED, PROCESSING
without status filtering, return servers with ACTIVE, PROCESSING or STOPPED
image - string
Absolute URL of the image to filter servers by. e.g. http://{api_server}/accounts/{accountId}/flexcloud/images/{image_id}/
zone - string
Zone text key
region - string
optional, region text key

Result

JSON

{
   "servers":[
      {
         "status":"{state_status}",
         "updated":"",
         "hostId":"{host_id}",
         "addresses":{
            "public":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ],
            "private":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ]
         },
         "links":[
            {
               "href":"http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/",
               "rel":"self"
            }
         ],
         "image":{
            "name":"{display_image_name}",
            "links":[
               {
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/images/{image_id}/",
                  "rel":"self"
               }
            ],
            "id":"{image_id}"
         },
         "userId":"{user_account_id}",
         "flavor":{
            "name":"{display_flavor_name}",
            "links":[
               {
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/flavors/{flavor_id}/",
                  "rel":"self"
               }
            ],
            "id":{flavor_id}
         },
         "securityGroup": {
            "id":"{security_group_id}",
            "links":[
               {
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/os-security-groups/{security_group_id}/",
                  "rel":"self"
               }
            ]
         },
         "id":"{server_id}",
         "zone": "{zone_textkey}",
         "name":"{display_server_name}",
         "created":"2011-12-05T12:51:28",
         "tenantId":"",
         "accessIPv4":"{ip_address}",
         "accessIPv6":"",
         "progress":100,
         "metadata":{
         }
      },
      {
         "status":"{state_status}",
         "updated":"",
         "hostId":"{host_id}",
         "addresses":{
            "public":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ],
            "private":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ]
         },
         "links":[
            {
               "href":"http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/",
               "rel":"self"
            }
         ],
         "image":{
            "name":"{display_image_name}",
            "links":[
               {
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/images/{image_id}/",
                  "rel":"self"
               }
            ],
            "id":"{image_id}"
         },
         "userId":"{user_account_id}",
         "flavor":{
            "name":"{display_flavor_name}",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/flavors/{flavor_id}/",
                  "rel":"self"
               }
            ],
            "id":{flavor_id}
         },
         "securityGroup": {
            "id":"{security_group_id}",
            "links":[
               {
                  "href":"http://{api_server}/accounts/{accountId}/flexcloud/os-security-groups/{security_group_id}/",
                  "rel":"self"
               }
            ]
         },
         "id":"{server_id}",
         "zone": "{zone_textkey}",
         "name":"{display_server_name}",
         "created":"2011-11-17T10:14:58",
         "tenantId":"",
         "accessIPv4":"{ip_address}",
         "accessIPv6":"",
         "progress":100,
         "metadata":{
         }
      }
   ]
}

server

id - string
Unique identifier for this server.
links - list
Hypermedia for this resource.
status - string
Current state of the server. Values: BUILD, ACTIVE, SUSPENDED, DELETED, UNKNOWN
hostId - string
Id of the physical host this virtual machine is running on.
userId - string
Unique identifier for the owner of this server.
name - string
Display name for this server.
created - string
The date and time this server was created. ISO 8601 format, YYYY-MM-DDTHH:MM:SS.
accessIPv4 - string
The default included public IPv4 address.
progress - number
The current progress of this server while in BUILD status. The value is in the range of 0 - 100, but currently will only be 0, 50 or 100.
metadata - object
Unused - always an empty object.
tenantId
Unused - always null.
accessIPv6
Unused - always null.
updated
Unused - always null.
zone
zone text key

addresses

addresses.public.version - number
IP version of this address. Values: 4
addresses.public.addr = string
Public IP address of this server
addresses.private.version - number
IP version of this address. Values: 4
addresses.private.addr - string
Private IP address of this server

image

image.name - string
The display name of the image this server is based on.
image.links - list
Hypermedia for the image.
image.id - string
Unique identifier for image this server is based on.

flavor

flavor.name - string
The display name of the flavor this server is based on.
flavor.links - list
Hypermedia for the flavor.
flavor.id - string
Unique identifier for flavor this server is based on.

securityGroup

securityGroup.id - string
the id of the securityGroup that is assigned to this server
securityGroup.links - list
Hypermedia for the securityGroup.

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.
Failure
HTTP/1.1 404 Not Found : Resource does not exist

Examples

Successfully get server list with details

GET /accounts/{accountId}/flexcloud/servers/detail

- Response: OK (200):

{
   "servers":[
      {
         "status":"ACTIVE",
         "updated":"",
         "hostId":"{host_id}",
         "addresses":{
            "public":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ],
            "private":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ]
         },
         "links":[
            {
               "href":"http://{server_name}/accounts/{accountId}/flexcloud/servers/test_server_0013/",
               "rel":"self"
            }
         ],
         "image":{
            "name":"Ubuntu 10.10 x64",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/images/test_ubuntu_image/",
                  "rel":"self"
               }
            ],
            "id":"test_ubuntu_image"
         },
         "userId":"{user_account_id}",
         "flavor":{
            "name":"1024MB Server3",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/flavors/3/",
                  "rel":"self"
               }
            ],
            "id":3
         },
         "securityGroup":{
            "id":"group2012Nov02_jD6NX8BsK",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/os-security-groups/group2012Nov02_jD6NX8BsK/",
                  "rel":"self"
               }
            ]
         },
         "id":"test_server_0013",
         "zone": "AUS001",
         "name":"test_server_updated",
         "created":"2011-12-05T12:51:28",
         "tenantId":"",
         "accessIPv4":"{ip_address}",
         "accessIPv6":"",
         "progress":100,
         "metadata":{ 
         }
      },
      {
         "status":"ACTIVE",
         "updated":"",
         "hostId":"{host_id}",
         "addresses":{
            "public":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ],
            "private":[
               {
                  "version":4,
                  "addr":"{ip_address}"
               }
            ]
         },
         "links":[
            {
               "href":"http://{server_name}/accounts/{accountId}/flexcloud/servers/test_server_0015/",
               "rel":"self"
            }
         ],
         "image":{
            "name":"Windows 2008 R2 Standard",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/images/test_windows_image/",
                  "rel":"self"
               }
            ],
            "id":"test_windows_image"
         },
         "userId":"{user_account_id}",
         "flavor":{
            "name":"1024MB Server3",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/flavors/3/",
                  "rel":"self"
               }
            ],
            "id":3
         },
         "securityGroup":{
            "id":"group2012Nov02_jD6NX8BsK",
            "links":[
               {
                  "href":"http://{server_name}/accounts/{accountId}/flexcloud/os-security-groups/group2012Nov02_jD6NX8BsK/",
                  "rel":"self"
               }
            ]
         },
         "id":"test_server_0015",
         "zone": "AUS001",
         "name":"test_server_created",
         "created":"2011-11-17T10:14:58",
         "tenantId":"",
         "accessIPv4":"{ip_address}",
         "accessIPv6":"",
         "progress":100,
         "metadata":{ 
         }
      }
   ]
}

Failure while trying to make an unauthorized call - Response: Unauthorized (401):

    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/{accountId}/flexcloud/servers/detail

Response Code:

HTTP/1.1 404 Not Found

Response Body:

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

Alternative URI /servers/detail

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 /servers/detail

Personal tools
Namespaces
Variants
Actions
APIs
Navigation
Toolbox