ServerSnapshotCreate

From Hostway API Documentation
Jump to: navigation, search

This operation will create a new server snapshot of a server. Server snapshot creation is asynchronous, the progress can be checked with the URL in the response Location header or the self link in the body.

Contents

POST /accounts/{accountId}/flexcloud/servers/{server_id}/snapshots

This operation will create a new server snapshot. Server snapshot creation is asynchronous, the progress can be checked with the URL in the response Location header or the self link in the body.

Parameters

accountId - string
The selected account Id.
server_id
The unique identifier of the server.

JSON

{
    "snapshot": {
        "name": "{name}", 
        "description": "{description}"
    }
}
name - string
Display name for this server snapshot
description - string
Description for this server snapshot

Result

JSON

{
    "snapshot": {
        "id": "{snapshot_id}", 
        "name": "{snapshot_name}"
        "description": "{description}", 
        "status": "{status}", 
        "guid": "{guid}", 
        "parent_guid": "{parent_guid}", 
        "relation_guid": "{relation_guid}", 
        "create_time": "{create_time}", 
        "links": [{"href": "http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/snapshots/{snapshot_id}/", 
                   "rel": "self"}], 
    }
}

  • When a server snapshot is in pending status (has not completed the provisioning process), the create_time, guid, parent_guid, and relation_guid will be empty strings.
id - string
Unique identifier for this server snapshot.
name - string
Display name of this server snapshot.
description - string
Description of this server snapshot.
guid - string
GUID of this server snapshot.
parent_guid - string
Parent GUID of this server snapshot.
relation_guid - string
Relation GUID of this server snapshot.
status - string
Status of this server snapshot; Values: 'ACTIVE', 'BUILD', 'DELETED'
create_time - string
Created time of this server snapshot
links - array
Hypermedia for this resource.

Response Codes

Success
HTTP/1.1 202 Accepted
Request is accepted.
Failure
HTTP/1.1 400 Bad Request
The snapshot cannot be created because the server contains extra volumes.
HTTP/1.1 404 itemNotFound
The resource does not exist
HTTP/1.1 409 Conflict
The snapshot name must be unique in a server.
HTTP/1.1 413 Request entity too large
The snapshot can be created up to 3 in a server.

Examples

Successfully create a new server

POST http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/snapshots

Request Headers:

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

Request Body:

{
    "snapshot": {
        "name": "fitnesse snapshot", 
        "description": "fitnesse test snapshot"
    }
}

Response Code:

HTTP/1.1 202 Accepted

Response Body:

{
    "snapshot": {
        "id": "snapshot_jello614636-USOTE-0214_2012Jul19_m5yf9Bz8a", 
        "name": "test snapshot"
        "description": "test snapshot description", 
        "status": "BUILD", 
        "guid": "", 
        "parent_guid": "", 
        "relation_guid": "", 
        "create_time": "0000-00-00 00:00:00", 
        "links": [
            {"href": "http://{api_server}/accounts/{accountId}/flexcloud/servers/{server_id}/snapshots/snapshot_jello614636-USOTE-0214_2012Jul19_m5yf9Bz8a/", 
             "rel": "self"}], 
    }
}

Failure while trying to update server with a wrong account number

POST http://{api_server}/accounts/fake/flexcloud/servers/{server_id}/snapshots

Response Code:

HTTP/1.1 404 Not Found

Alternative URI /servers/{server_id}/snapshots

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.

POST /servers/{server_id}/snapshots

Personal tools
Namespaces
Variants
Actions
APIs
Navigation
Toolbox