Upload binary image data¶
Overview¶
Uploads binary image data.
Classification¶
- Upload
API Operation Object¶
- file
Synchronous / Asynchronous¶
- synchronous
Request¶
HTTP Request Method¶
- PUT
HTTP Request Path¶
{api_endpoint}/v2/images/{image_id}/file
HTTP Request Header¶
Format¶
X-Auth-Token: <token_id>
Content-Type: application/octet-stream
- User-Agent, Host, Accept, Content-Length, Expect: 100-continue fields are automatically added
HTTP Request Body¶
Format¶
<image_data>
Request Parameter¶
name | style | format | description | required/optional | default value | action for invalid parameter | response code for invalid parameter |
---|---|---|---|---|---|---|---|
image_id | URL | UUID | An identifier for the image | required | - | Terminate | 400, 404 |
token_id | Header | authentication token string | keystone authentication token | required | - | Terminate | 401 |
image_data | Body | application/octet-stream | raw binary data that represents the actual virtual disk | required | - | Terminate | 500 (if empty) |
Response¶
HTTP Response Header¶
Format¶
HTTP/1.1 <response_code> <message> (ex. 204 No Content)
<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 code | condition |
---|---|
204 | normal end |
400 | Specify not uuid in the image_id |
- | Disk_format and container_format are not set in the specified image |
401 | unauthorized |
403 | requested by non-admin user whose project is the member but not the owner of specified private image |
404 | specify non-existent image_id |
- | specify the image_id of deleted image |
- | if authority of non admin, requested by user whose project is not the member and not the owner of specified private image (assuming that the image has owner) |
409 | Specify the image whose status is not queued |
- | Specified image_data which is already existing in the specified image |
410 | Specified image vanished during the upload |
413 | Specified image's file size exceeds the total capacity which user can use across all storage systems |
415 | Content-Type does not specify application/octet-stream in Header |
500 | empty body |
503 | Not permitted to write image on storage media |
Sample API Request and Response¶
Sample API Request¶
Request URI¶
https://example.com/v2/images/{image_id}/file
Request Header¶
X-Auth-Token: ajk3adjiown02
Content-Type: application/octet-stream
- User-Agent, Host, Accept, Content-Length, Expect: 100-continue fields are automatically added
Request Body¶
<image_data>
Sample API Response¶
Response Header¶
HTTP/1.1 204 No Content
<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¶
- none
Execution Example¶
HTTP Request¶
PUT /v2/images/cf433676-4896-400d-8ec1-05118365d9d2/file HTTP/1.1
User-Agent: curl/7.35.0
Host: 192.168.11.141:9292
Accept: */*
X-Auth-Token: 7cf85eab947a4b8dbd6efe66b031d27f
Content-Type: application/octet-stream
Content-Length: 1863
Expect: 100-continue
(raw binary image data)
HTTP Response¶
HTTP/1.1 100 Continue
HTTP/1.1 204 No Content
Content-Type: text/html; charset=UTF-8
Content-Length: 0
X-Openstack-Request-Id: req-69b1ba04-b9f0-479f-874c-66b54682a104
Date: Tue, 26 Aug 2014 03:45:06 GMT
Error Execution Example¶
HTTP Request¶
PUT /v2/images/0cb9328d-dd8c-41bb-b378-404b854b93b9/fil HTTP/1.1
User-Agent: curl/7.35.0
Host: 192.168.56.250:9292
Accept: */*
X-Auth-Token: ad42e90aed984598b69d3ac7ab455e63
Content-Type: application/octet-stream
Content-Length: 26
HTTP Response¶
HTTP/1.1 404 Not Found
Content-Length: 154
Content-Type: text/html; charset=UTF-8
X-Openstack-Request-Id: req-e0eb1c7f-e186-4810-b8f8-951b31b42489
Date: Fri, 16 Oct 2015 02:17:23 GMT
404 Not Found
The resource could not be found.