From 4bf929360603339934c8bf51028585fee10a580c Mon Sep 17 00:00:00 2001 From: Brian Rosmaita Date: Wed, 2 Oct 2013 18:19:20 +0000 Subject: [PATCH] update Images API v2 quick ref The Images API quick-ref docs are still at 2.0 (pre-grizzly). They need to be updated to Grizzly (2.1, some new calls) and Havana (2.2, some response body modifications). "Since" fields are added where appropriate to indicate when the call was introduced into the Images v2 API. Also updated schema examples to illustrate v 2.2 response. Closes-Bug: #1233793 Change-Id: I5996e27c863212c50ea6a18468d9e5263471126a --- api-ref/src/docbkx/api-ref-image.xml | 13 +- .../wadls/image-api/src/v2/os-image-2.2.wadl | 559 ++++++++++++++++++ .../src/v2/os-image-schemas-2.2.wadl | 156 +++++ .../samples/image-member-create-request.json | 3 + .../samples/image-member-create-response.json | 8 + .../samples/image-member-update-request.json | 3 + .../samples/image-member-update-response.json | 8 + .../src/v2/samples/image-update-response.json | 17 + .../samples/schemas-image-get-response.json | 242 +++++--- .../schemas-image-member-get-response.json | 34 ++ .../schemas-image-members-get-response.json | 51 ++ .../samples/schemas-images-get-response.json | 300 +++++++--- 12 files changed, 1227 insertions(+), 167 deletions(-) create mode 100644 api-ref/src/wadls/image-api/src/v2/os-image-2.2.wadl create mode 100644 api-ref/src/wadls/image-api/src/v2/os-image-schemas-2.2.wadl create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/image-member-create-request.json create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/image-member-create-response.json create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/image-member-update-request.json create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/image-member-update-response.json create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/image-update-response.json create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/schemas-image-member-get-response.json create mode 100644 api-ref/src/wadls/image-api/src/v2/samples/schemas-image-members-get-response.json diff --git a/api-ref/src/docbkx/api-ref-image.xml b/api-ref/src/docbkx/api-ref-image.xml index 4d6626286..14fd3598a 100644 --- a/api-ref/src/docbkx/api-ref-image.xml +++ b/api-ref/src/docbkx/api-ref-image.xml @@ -44,14 +44,15 @@ Reference.   --> - - Image Service API 2.0 - Creates, updates, and deletes image metadata records. Also, - uploads and downloads raw image data. + + Image Service API v2 + Creates, updates, and deletes image metadata records. Enables + users to share images with each other. Also, uploads and downloads + raw image data. - diff --git a/api-ref/src/wadls/image-api/src/v2/os-image-2.2.wadl b/api-ref/src/wadls/image-api/src/v2/os-image-2.2.wadl new file mode 100644 index 000000000..c6a34e770 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/os-image-2.2.wadl @@ -0,0 +1,559 @@ + + + + + + + + + + + +%common;]> + + + + + + + + + + + + + + + + + + +

Image ID stored through the image API. + Typically a UUID.

+
+ + + + + + + + + + + + +

Image tag.

+
+ + + +
+
+ + + + + +

Image member ID, i.e., the tenant ID + of the user with whom the image is + being shared.

+
+ + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + Creates a virtual machine (VM) image. + + Since: Images 2.0 + + + + + +

Name for the image. The name of an image is + not unique to a Glance node. The API + cannot expect users to know the names of + images owned by others.

+
+ + + +

The image ID.

+ +
+ + + +

Image visibility. Public or private. + Default is public.

+ +
+ + + +

Image tags.

+
+ + + + +
+
+ + + Successful HTTP response is 201. + Created with a Location header that contains the + newly-created URI for the image. Response body + represents the created image entity. + + + +

The location for the image identified by a + URI.

+
+ + +
+
+
+ + + Updates a specified image. + Request body must conform to one of the following + media types: + + + + application/openstack-images-v2.0-json-patch + + + + + application/openstack-images-v2.1-json-patch + + + + + You can also use the PATCH method to add or remove + image properties. + For information about the PATCH method and the available + media types, see Appendix B: HTTP PATCH media types + in the OpenStack Image Service API v2 Reference. + + Since: Images 2.0 + + + + + + + + + + + + + + + + + + + + Gets details for a specified image. + Response body is a single image entity. + Since: Images 2.0 + + + + + + + + + + + + Lists public virtual machine (VM) + images. + This call returns a subset of the larger collection + of images and a link that you can use to get the next + set of images. You should always check for the + presence of a 'next' link and use it as the URI in a + subsequent HTTP GET request. You should follow this + pattern until a 'next' link is no longer provided. The + next link preserves any query parameters that you send + in your initial request. You can use the 'first' link + to jump back to the first page of the collection. If + you prefer to paginate through images manually, use + the limit and marker parameters. + The list operation accepts several types of query + parameters that let you filter the results of the + returned collection. + A client can provide direct comparison filters using + most image attributes, such as name=Ubuntu, + visibility=public, and so on. A client cannot filter + on tags or anything defined as a 'link' in the + json-schema, such as self, file, or schema. + You can use the 'size_min' and 'size_max' query + parameters to perform greater-than and less-than + filtering of images based on their 'size' attribute. + The size is measured in bytes and refers to the size + of an image when it is stored on disk. + For example, sending a size_min filter of 1048576 + and size_max of 4194304 filters the container to + include only images that are between 1 and 4 MBs in + size. + You can sort the results of this operation by using + the 'sort_key' and 'sort_dir' parameters. The API uses + the natural sorting of whatever image attribute is + provided as the 'sort_key'. + Since: Images 2.0 + + + + + Use to request a specific page size. Expect + a response to a limited request to return + between zero and limit items. The typical + pattern of limit and marker is to make an + initial limited request and then to use the ID + of the last image from the response as the + marker parameter in a subsequent limited + request. + + + + + Specifies the ID of the last-seen image. The + typical pattern of limit and marker is to make + an initial limited request and then to use the + ID of the last image from the response as the + marker parameter in a subsequent limited + request. + + + + + Filter parameter. Name of the image as a + string. + + + + + Filter parameter. Image visibility. Valid + values are 'public', 'private', 'shared'. + Default is public + private + shared images + with 'accepted' member status. + + + + + + Filter parameter. Only show images with + the specified member status. Valid values + are 'accepted', 'pending', 'rejected', 'all'. + Default is 'accepted'. + + + + + + Filter parameter. Only show images shared + with me by the specified owner, where the owner + is indicated by tenant ID. + + + + + + Filter parameter. The image status, such as + queued, saving, active, killed, deleted, and + pending_delete. + + + + + Filter parameter. Value of the minimum size + of the image in bytes. + + + + + Filter parameter. Value of the maximum size + of the image in bytes. + + + + + Sort key. All image attributes can be used + as the sort_key, except tags and link + attributes. Default is 'created_at.' + + + + + Sort direction. Valid values are 'asc' + (ascending) and 'desc' (descending). Default + is 'desc.' + + + + + + + + + + + + + + Deletes a specified image. + You cannot delete images with the 'protected' + attribute set to true (boolean); the response returns + the HTTP 403 status code. + You must first set the 'protected' attribute to + false (boolean) and then perform the delete. The + response is empty and returns the HTTP 204 status + code. + Since: Images 2.0 + + + + + + Uploads binary image data. + An image record must exist before a client can store + binary image data with it. + Content-Type must be 'application/octet-stream.' + Complete contents of request body is stored and is + accessible in its entirety by issuing a GET request to + the same URI. + Returns HTTP 204 status code. + Since: Images 2.0 + + + + + + Downloads binary image data. + Response body contains the raw binary data that + represents the actual virtual disk. The Content-Type + header is 'application/octet-stream.' The Content-MD5 + header contains an MD5 checksum of the image data. + Clients are encouraged to verify the integrity of the + image data they receive by using this checksum. + If no image data exists, returns the HTTP 204 status + code. + Since: Images 2.0 + + + + + + + Adds a specified tag to a specified image. + + Since: Images 2.0 + + + + + + Deletes a specified tag from a + specified image. + Since: Images 2.0 + + + + + + Adds a specified tenant ID + as an image member. + + Since: Images 2.1 + + + + + + + The member ID, i.e., the tenant ID of a user + with whom the image is to be shared. + + + + + + + + + + + + + + + + + + + + Sets the specified status for the specified member + of the specified image. + + Since: Images 2.1 + + + + + + + Status to which this image member should + be set. Valid values are: 'pending', + 'accepted', 'rejected'. + + + + + + + + + + + + + + + + + + + Deletes a specified tenant ID + from the member list of the specified image. + + Since: Images 2.1 + + + +
diff --git a/api-ref/src/wadls/image-api/src/v2/os-image-schemas-2.2.wadl b/api-ref/src/wadls/image-api/src/v2/os-image-schemas-2.2.wadl new file mode 100644 index 000000000..7a33a07d5 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/os-image-schemas-2.2.wadl @@ -0,0 +1,156 @@ + + + + + + + + + + + +%common;]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a json-schema document that + represents an images entity + An images entity is a container of image entities. + + The schema below is solely an example. Only the + response to the API call should be considered + authoritative. + + Since: Images 2.0 + + + + + + + + + + + + Gets a json-schema document that + represents an image entity. + The schema below is solely an example. Only the + response to the API call should be considered + authoritative. + + Since: Images 2.0 + + + + + + + + + + + + Gets a json-schema document that + represents an image members entity + An image members entity is a container of image + member entities. + + The schema below is solely an example. Only the + response to the API call should be considered + authoritative. + + Since: Images 2.1 + + + + + + + + + + + + Gets a json-schema document that + represents an image member entity. + The schema below is solely an example. Only the + response to the API call should be considered + authoritative. + + Since: Images 2.1 + + + + + + + + + + diff --git a/api-ref/src/wadls/image-api/src/v2/samples/image-member-create-request.json b/api-ref/src/wadls/image-api/src/v2/samples/image-member-create-request.json new file mode 100644 index 000000000..06ad8fe9a --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/image-member-create-request.json @@ -0,0 +1,3 @@ +{ + "member": "8989447062e04a818baf9e073fd04fa7" +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/image-member-create-response.json b/api-ref/src/wadls/image-api/src/v2/samples/image-member-create-response.json new file mode 100644 index 000000000..d6946dd93 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/image-member-create-response.json @@ -0,0 +1,8 @@ +{ + "created_at": "2013-09-20T19:22:19Z", + "image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6", + "member_id": "8989447062e04a818baf9e073fd04fa7", + "schema": "/v2/schemas/member", + "status": "pending", + "updated_at": "2013-09-20T19:25:31Z" +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/image-member-update-request.json b/api-ref/src/wadls/image-api/src/v2/samples/image-member-update-request.json new file mode 100644 index 000000000..4ec147f04 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/image-member-update-request.json @@ -0,0 +1,3 @@ +{ + "status": "accepted" +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/image-member-update-response.json b/api-ref/src/wadls/image-api/src/v2/samples/image-member-update-response.json new file mode 100644 index 000000000..75ed4bed2 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/image-member-update-response.json @@ -0,0 +1,8 @@ +{ + "created_at": "2013-09-20T19:22:19Z", + "image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6", + "member_id": "8989447062e04a818baf9e073fd04fa7", + "schema": "/v2/schemas/member", + "status": "accepted", + "updated_at": "2013-09-20T20:15:31Z" +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/image-update-response.json b/api-ref/src/wadls/image-api/src/v2/samples/image-update-response.json new file mode 100644 index 000000000..931011f5b --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/image-update-response.json @@ -0,0 +1,17 @@ +{ + "id":"da3b75d9-3f4a-40e7-8a2c-bfab23927dea", + "name":"Fedora 17", + "status":"active", + "visibility":"public", + "size":2254249, + "checksum":"2cec138d7dae2aa59038ef8c9aec2390", + "tags":[ + "fedora", + "beefy" + ], + "created_at":"2012-08-10T19:23:50Z", + "updated_at":"2012-08-12T11:11:33Z", + "self":"/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea", + "file":"/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea/file", + "schema":"/v2/schemas/image" +} \ No newline at end of file diff --git a/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-get-response.json b/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-get-response.json index 5fe0b8a39..72df592a4 100644 --- a/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-get-response.json +++ b/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-get-response.json @@ -1,67 +1,177 @@ { - "name":"image", - "properties":{ - "id":{ - "type":"string" - }, - "name":{ - "type":"string" - }, - "visibility":{ - "enum":[ - "public", - "private" - ] - }, - "status":{ - "type":"string" - }, - "protected":{ - "type":"boolean" - }, - "tags":{ - "type":"array", - "items":{ - "type":"string" - } - }, - "checksum":{ - "type":"string" - }, - "size":{ - "type":"integer" - }, - "created_at":{ - "type":"string" - }, - "updated_at":{ - "type":"string" - }, - "file":{ - "type":"string" - }, - "self":{ - "type":"string" - }, - "schema":{ - "type":"string" - } - }, - "additionalProperties":{ - "type":"string" - }, - "links":[ - { - "href":"{self}", - "rel":"self" - }, - { - "href":"{file}", - "rel":"enclosure" - }, - { - "href":"{schema}", - "rel":"describedby" - } - ] -} \ No newline at end of file + "name": "image", + "properties": { + "architecture": { + "description": "Operating system architecture as specified in http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html", + "type": "string" + }, + "checksum": { + "description": "md5 hash of image contents. (READ-ONLY)", + "maxLength": 32, + "type": "string" + }, + "container_format": { + "description": "Format of the container", + "enum": [ + "ami", + "ari", + "aki", + "bare", + "ovf" + ], + "type": "string" + }, + "created_at": { + "description": "Date and time of image registration (READ-ONLY)", + "type": "string" + }, + "direct_url": { + "description": "URL to access the image file kept in external store (READ-ONLY)", + "type": "string" + }, + "disk_format": { + "description": "Format of the disk", + "enum": [ + "ami", + "ari", + "aki", + "vhd", + "vmdk", + "raw", + "qcow2", + "vdi", + "iso" + ], + "type": "string" + }, + "file": { + "description": "(READ-ONLY)", + "type": "string" + }, + "id": { + "description": "An identifier for the image", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "instance_uuid": { + "description": "ID of instance used to create this image.", + "type": "string" + }, + "kernel_id": { + "description": "ID of image stored in Glance that should be used as the kernel when booting an AMI-style image.", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "locations": { + "description": "A set of URLs to access the image file kept in external store", + "items": { + "properties": { + "metadata": { + "type": "object" + }, + "url": { + "maxLength": 255, + "type": "string" + } + }, + "required": [ + "url", + "metadata" + ], + "type": "object" + }, + "type": "array" + }, + "min_disk": { + "description": "Amount of disk space (in GB) required to boot image.", + "type": "integer" + }, + "min_ram": { + "description": "Amount of ram (in MB) required to boot image.", + "type": "integer" + }, + "name": { + "description": "Descriptive name for the image", + "maxLength": 255, + "type": "string" + }, + "os_distro": { + "description": "Common name of operating system distribution as specified in http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html", + "type": "string" + }, + "os_version": { + "description": "Operating system version as specified by the distributor", + "type": "string" + }, + "protected": { + "description": "If true, image will not be deletable.", + "type": "boolean" + }, + "ramdisk_id": { + "description": "ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "schema": { + "description": "(READ-ONLY)", + "type": "string" + }, + "self": { + "description": "(READ-ONLY)", + "type": "string" + }, + "size": { + "description": "Size of image file in bytes (READ-ONLY)", + "type": "integer" + }, + "status": { + "description": "Status of the image (READ-ONLY)", + "enum": [ + "queued", + "saving", + "active", + "killed", + "deleted", + "pending_delete" + ], + "type": "string" + }, + "tags": { + "description": "List of strings related to the image", + "items": { + "maxLength": 255, + "type": "string" + }, + "type": "array" + }, + "updated_at": { + "description": "Date and time of the last image modification (READ-ONLY)", + "type": "string" + }, + "visibility": { + "description": "Scope of image accessibility", + "enum": [ + "public", + "private" + ], + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "links": [ + { + "href": "{self}", + "rel": "self" + }, + { + "href": "{file}", + "rel": "enclosure" + }, + { + "href": "{schema}", + "rel": "describedby" + } + ] +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-member-get-response.json b/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-member-get-response.json new file mode 100644 index 000000000..611f0a245 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-member-get-response.json @@ -0,0 +1,34 @@ +{ + "name": "member", + "properties": { + "created_at": { + "description": "Date and time of image member creation", + "type": "string" + }, + "image_id": { + "description": "An identifier for the image", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "member_id": { + "description": "An identifier for the image member (tenantId)", + "type": "string" + }, + "status": { + "description": "The status of this image member", + "enum": [ + "pending", + "accepted", + "rejected" + ], + "type": "string" + }, + "updated_at": { + "description": "Date and time of last modification of image member", + "type": "string" + }, + "schema": { + "type": "string" + } + } +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-members-get-response.json b/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-members-get-response.json new file mode 100644 index 000000000..39b0d4117 --- /dev/null +++ b/api-ref/src/wadls/image-api/src/v2/samples/schemas-image-members-get-response.json @@ -0,0 +1,51 @@ +{ + "name": "members", + "properties": { + "members": { + "items": { + "name": "member", + "properties": { + "created_at": { + "description": "Date and time of image member creation", + "type": "string" + }, + "image_id": { + "description": "An identifier for the image", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "member_id": { + "description": "An identifier for the image member (tenantId)", + "type": "string" + }, + "status": { + "description": "The status of this image member", + "enum": [ + "pending", + "accepted", + "rejected" + ], + "type": "string" + }, + "updated_at": { + "description": "Date and time of last modification of image member", + "type": "string" + }, + "schema": { + "type": "string" + } + } + }, + "type": "array" + }, + "schema": { + "type": "string" + } + }, + "links": [ + { + "href": "{schema}", + "rel": "describedby" + } + ] +} diff --git a/api-ref/src/wadls/image-api/src/v2/samples/schemas-images-get-response.json b/api-ref/src/wadls/image-api/src/v2/samples/schemas-images-get-response.json index 0816ddb77..526d1989e 100644 --- a/api-ref/src/wadls/image-api/src/v2/samples/schemas-images-get-response.json +++ b/api-ref/src/wadls/image-api/src/v2/samples/schemas-images-get-response.json @@ -1,98 +1,208 @@ { - "name":"images", - "properties":{ - "images":{ - "items":{ - "type":"array", - "name":"image", - "properties":{ - "id":{ - "type":"string" - }, - "name":{ - "type":"string" - }, - "visibility":{ - "enum":[ - "public", - "private" - ] - }, - "status":{ - "type":"string" - }, - "protected":{ - "type":"boolean" - }, - "tags":{ - "type":"array", - "items":{ - "type":"string" - } - }, - "checksum":{ - "type":"string" - }, - "size":{ - "type":"integer" - }, - "created_at":{ - "type":"string" - }, - "updated_at":{ - "type":"string" - }, - "file":{ - "type":"string" - }, - "self":{ - "type":"string" - }, - "schema":{ - "type":"string" - } + "name": "images", + "properties": { + "first": { + "type": "string" + }, + "images": { + "items": { + "name": "image", + "properties": { + "architecture": { + "description": "Operating system architecture as specified in http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html", + "type": "string" + }, + "checksum": { + "description": "md5 hash of image contents. (READ-ONLY)", + "maxLength": 32, + "type": "string" + }, + "container_format": { + "description": "Format of the container", + "enum": [ + "ami", + "ari", + "aki", + "bare", + "ovf" + ], + "type": "string" + }, + "created_at": { + "description": "Date and time of image registration (READ-ONLY)", + "type": "string" + }, + "direct_url": { + "description": "URL to access the image file kept in external store (READ-ONLY)", + "type": "string" + }, + "disk_format": { + "description": "Format of the disk", + "enum": [ + "ami", + "ari", + "aki", + "vhd", + "vmdk", + "raw", + "qcow2", + "vdi", + "iso" + ], + "type": "string" + }, + "file": { + "description": "(READ-ONLY)", + "type": "string" + }, + "id": { + "description": "An identifier for the image", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "instance_uuid": { + "description": "ID of instance used to create this image.", + "type": "string" + }, + "kernel_id": { + "description": "ID of image stored in Glance that should be used as the kernel when booting an AMI-style image.", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "locations": { + "description": "A set of URLs to access the image file kept in external store", + "items": { + "properties": { + "metadata": { + "type": "object" + }, + "url": { + "maxLength": 255, + "type": "string" + } + }, + "required": [ + "url", + "metadata" + ], + "type": "object" + }, + "type": "array" + }, + "min_disk": { + "description": "Amount of disk space (in GB) required to boot image.", + "type": "integer" + }, + "min_ram": { + "description": "Amount of ram (in MB) required to boot image.", + "type": "integer" + }, + "name": { + "description": "Descriptive name for the image", + "maxLength": 255, + "type": "string" + }, + "os_distro": { + "description": "Common name of operating system distribution as specified in http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html", + "type": "string" + }, + "os_version": { + "description": "Operating system version as specified by the distributor", + "type": "string" + }, + "protected": { + "description": "If true, image will not be deletable.", + "type": "boolean" + }, + "ramdisk_id": { + "description": "ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.", + "pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string" + }, + "schema": { + "description": "(READ-ONLY)", + "type": "string" + }, + "self": { + "description": "(READ-ONLY)", + "type": "string" + }, + "size": { + "description": "Size of image file in bytes (READ-ONLY)", + "type": "integer" + }, + "status": { + "description": "Status of the image (READ-ONLY)", + "enum": [ + "queued", + "saving", + "active", + "killed", + "deleted", + "pending_delete" + ], + "type": "string" + }, + "tags": { + "description": "List of strings related to the image", + "items": { + "maxLength": 255, + "type": "string" + }, + "type": "array" + }, + "updated_at": { + "description": "Date and time of the last image modification (READ-ONLY)", + "type": "string" + }, + "visibility": { + "description": "Scope of image accessibility", + "enum": [ + "public", + "private" + ], + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "links": [ + { + "href": "{self}", + "rel": "self" + }, + { + "href": "{file}", + "rel": "enclosure" + }, + { + "href": "{schema}", + "rel": "describedby" + } + ] }, - "additionalProperties":{ - "type":"string" - }, - "links":[ - { - "href":"{self}", - "rel":"self" - }, - { - "href":"{file}", - "rel":"enclosure" - }, - { - "href":"{schema}", - "rel":"describedby" - } - ] - } - }, - "schema":{ - "type":"string" - }, - "next":{ - "type":"string" - }, - "first":{ - "type":"string" - } - }, - "links":[ - { - "href":"{first}", - "rel":"first" - }, - { - "href":"{next}", - "rel":"next" - }, - { - "href":"{schema}", - "rel":"describedby" - } - ] + "type": "array" + }, + "next": { + "type": "string" + }, + "schema": { + "type": "string" + } + }, + "links": [ + { + "href": "{first}", + "rel": "first" + }, + { + "href": "{next}", + "rel": "next" + }, + { + "href": "{schema}", + "rel": "describedby" + } + ] } \ No newline at end of file