Copy image

Overview

Copy image to a specified region.

Classification

  • Copy

API Operation Object

  • jobs

Synchronous / Asynchronous

  • asynchronous

Request

HTTP Request Method

  • POST

HTTP Request Path

{api_endpoint}/v2/extension/image_replicator/jobs

HTTP Request Header

Format

X-Auth-Token: <token_id>
Content-Type: application/json

HTTP Request Body

Format

{
    "image_id": "<image_id>",
    "tenant_id_dst": "<tenant_id_dst>"
}

Request Parameter

Request Parameters
name style format description required/optional default value action for invalid parameter response code for invalid parameter
token_id Header authentication token string keystone authentication token required - Terminate 401
tenant_id_dst Body UUID An identifier for the image tenant for destination region. required - Terminate 401, 409
image_id Body UUID An identifier for the image required - Terminate 400, 404, 409

Response

HTTP Response Header

Format

HTTP/1.1 <response_code> <message>       (ex. 202 Accepted)
  • <response_code>: see "HTTP Responses" section

  • <message>: message based on the response code

    • skip auto insert field such as "X-Compute-Request-Id" and "Content-Length", "Date"

Response Code

Response Codes
response code condition
202 normal end
400 validation error of the request parameter
401 unauthorized
404 specify non-existent image_id
- specify the image_id of deleted image
- specify the destination tenant_id
- the license switch type of the specified image is not supported at the destination region
- the official template type of the specified image is not supported at the destination region
409 Glance of the specified region is down
- no active source of image status
- destination_region does not support the image
500 system error

HTTP Response Body

Format

{
    "job_id" : "<job_id>"
}

Response Parameter

Response Parameters
item format description
job_id UUID An identifier job's id for the image copying

Sample API Request and Response

Sample API Request

Request URI

https://example.com/v2/extension/image_replicator/jobs

Request Header

X-Auth-Token: ajk3adjiown02
Content-Type: application/json

Request Body

{
    "image_id": "<image_id>",
    "tenant_id_dst": "<tenant_id_dst>"
}

Sample API Response

Response Header

HTTP/1.1 202 Accepted
  • <response_code>: see "HTTP Responses" section

  • <message>: message based on the response code

    • skip auto insert field such as "X-Compute-Request-Id" and "Content-Length", "Date"

Response Body

{
    "job_id" : "<job_id>"
}

Execution Example

HTTP Request

POST /v2/extension/image_replicator/jobs HTTP/1.1
User-Agent: curl/7.35.0
Host: 192.168.56.250:9292
Content-Type: application/json
X-Auth-Token: f4328bab05ff4502b397b88657baaefd

{"image_id":"335eef3f-551d-46e1-8781-173f43209d48","tenant_id_dst":"91b5c7c09cbd45caa3c146fd67ae471e"}

HTTP Response

HTTP/1.1 202 Accepted
Date: Fri, 10 Jun 2016 04:30:21 GMT
Content-Length: 51
Connection: close
Content-Type: application/json; charset=UTF-8

{"job_id": "33911588-c299-4369-a240-7e5b741cdb6a"}

Error Execution Example

HTTP Request

POST /v2/extension/image_replicator/jobs HTTP/1.1
User-Agent: curl/7.35.0
Host: 192.168.56.250:9292
X-Auth-Token: 1e020f07e531408c9095ea64c4db230d

{"image_id":"335eef3f-551d-46e1-8781-173f43209d48","tenant_id_dst":"91b5c7c09cbd45caa3c146fd67ae471e"}

HTTP Response

HTTP/1.1 400 Bad Request
Date: Fri, 10 Jun 2016 04:53:16 GMT
Content-Length: 66
Vary: X-Auth-Token
Connection: close
Content-Type: text/plain; charset=UTF-8

400 Bad Request

There is no such action: Content-Type in header