api-site/api-ref/src/wadls/image-api/src/v2/os-image-v2.wadl

632 lines
30 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- (C) 2012-2013 OpenStack Foundation, All Rights Reserved -->
<!--*******************************************************-->
<!-- Import Common XML Entities -->
<!-- -->
<!-- You can resolve the entites with xmllint -->
<!-- -->
<!-- xmllint -noent os-image-2.2.wadl -->
<!--*******************************************************-->
<!DOCTYPE application [<!ENTITY % common SYSTEM "common.ent">
%common;]>
<application xmlns="http://wadl.dev.java.net/2009/02"
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
xmlns:db="http://docbook.org/ns/docbook"
xmlns:common="http://docs.openstack.org/common/api/v1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:imageapi="http://docs.openstack.org/image/api/v2"
xmlns:csapi="http://docs.openstack.org/image/api/v2">
<grammars>
<include href="xsd/api.xsd"/>
<include href="xsd/api-common.xsd"/>
</grammars>
<!--*******************************************************-->
<!-- All Resources -->
<!--*******************************************************-->
<resources base="https://glance.example.com/" xml:id="os-image-v2">
<resource id="versions" path="//">
<method href="#listVersions-image-v2"/>
</resource>
<resource id="version" path="//v2">
<resource id="Images" type="#ImageList" path="images">
<method href="#createImage-v2"/>
<resource path="{image_id}" id="image_id">
<param xmlns="http://wadl.dev.java.net/2009/02"
name="image_id" style="template"
type="csapi:uuid" required="true">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Image ID">Image ID
stored through the image API. Typically a
UUID.</wadl:doc>
</param>
<method href="#getImage-v2"/>
<method href="#updateImage-v2"/>
<method href="#deleteImage-v2"/>
<resource id="file" path="file">
<method href="#storeImageFile-v2"/>
<method href="#getImageFile-v2"/>
</resource>
<resource id="Tags" path="tags">
<resource path="{tag}" id="tag">
<param
xmlns="http://wadl.dev.java.net/2009/02"
name="tag" style="template"
type="xsd:string">
<wadl:doc
xmlns="http://www.w3.org/1999/xhtml"
title="Tag">Image tag.</wadl:doc>
</param>
<method href="#addImageTag-v2"/>
<method href="#deleteImageTag-v2"/>
</resource>
</resource>
<resource id="Members" type="#MemberList"
path="members">
<method href="#createImageMember-v2"/>
<resource path="{member_id}" id="member_id">
<param
xmlns="http://wadl.dev.java.net/2009/02"
name="member_id" style="template"
type="xsd:string">
<wadl:doc
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="EN" title="Members">Image
member ID. For example, the tenant
ID of the user with whom the image
is being shared.</wadl:doc>
</param>
<method href="#getImageMember-v2"/>
<method href="#deleteImageMember-v2"/>
<method href="#updateImageMember-v2"/>
</resource>
</resource>
</resource>
</resource>
</resource>
</resources>
<!--*******************************************************-->
<!-- Resource Types -->
<!--*******************************************************-->
<resource_type id="ImageList">
<method href="#listImages-v2"/>
</resource_type>
<resource_type id="MemberList">
<method href="#listImageMembers-v2"/>
</resource_type>
<!--*******************************************************-->
<!-- All Methods -->
<!--*******************************************************-->
<method name="GET" id="listVersions-image-v2">
<wadl:doc xml:lang="EN" title="List API versions"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">Lists information about all Image
Service API versions.</para>
</wadl:doc>
<response status="200 300">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/image-versions-response.json"/>
</wadl:doc>
</representation>
</response>
</method>
<method name="POST" id="createImage-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Create image">
<para role="shortdesc">Creates a virtual machine (VM)
image. (Since Image API v2.0.)</para>
<para>Created with a Location header that contains the
newly-created URI for the image. Response body
represents the created image entity.</para>
</wadl:doc>
<request>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="name" style="plain" type="xsd:string"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Images name">Name for the
image. The name of an image is not unique to a
Image Service node. The API cannot expect users to
know the names of images owned by
others.</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02" name="id"
style="plain" type="csapi:uuid" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Image ID">The image
ID.</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="visibility" style="plain" type="xsd:string"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Visibility">
<para>Image visibility. Public or private. Default
is public.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="tags" style="plain" type="xsd:dict"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Tags">
<para>Image tags.</para>
</wadl:doc>
</param>
<representation mediaType="application/json"
element="image">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code href="samples/image-create-req.json"/>
</wadl:doc>
</representation>
</request>
<response status="201">
<param xmlns="http://wadl.dev.java.net/2009/02"
name="location" style="plain" type="xsd:anyURI"
required="true"
path="/common:version/atom:link[@rel='self']/@href">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Image location">
<para>The location for the image identified by a
URI.</para>
</wadl:doc>
<link resource_type="#createImage" rel="self"/>
</param>
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-create-response.json"/>
</wadl:doc>
</representation>
</response>
</method>
<method name="PATCH" id="updateImage-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Update image">
<para role="shortdesc">Updates a specified image. (Since
Image API v2.0.)</para>
<para>Request body must conform to one of the following
media types:</para>
<itemizedlist spacing="compact">
<listitem>
<para>application/openstack-images-v2.0-json-patch</para>
</listitem>
<listitem>
<para>application/openstack-images-v2.1-json-patch
(Since Image API v2.2)</para>
</listitem>
</itemizedlist>
<para>You can also use the PATCH method to add or remove
image properties.</para>
<para>For information about the PATCH method and the
available media types, see <link
xlink:href="http://docs.openstack.org/api/openstack-image-service/2.0/content/appendix-b-http-patch-media-types.html"
>Appendix B: HTTP PATCH media types</link> in the
<citetitle>OpenStack Image Service API v2
Reference</citetitle>.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code href="samples/image-update-req.json"/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-update-response.json"/>
</wadl:doc>
</representation>
</response>
</method>
<!-- Get Image -->
<method name="GET" id="getImage-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Get image details">
<para role="shortdesc">Gets details for a specified image.
(Since Image API v2.0.)</para>
<para>Response body is a single image entity.</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-details-response.json"/>
</wadl:doc>
</representation>
</response>
</method>
<method name="GET" id="listImages-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="List images">
<para role="shortdesc">Lists public virtual machine (VM)
images. (Since Image API v2.0.)</para>
<para>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
<code>next</code> link and use it as the URI in a
subsequent HTTP GET request. You should follow this
pattern until a <code>next</code> link is no longer
provided. The next link preserves any query parameters
that you send in your initial request. You can use the
<code>first</code> 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.</para>
<para>The list operation accepts several types of query
parameters that let you filter the results of the
returned collection.</para>
<para>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 <code>link</code> in
the json-schema, such as self, file, or schema.</para>
<para>You can use the <code>size_min</code> and
<code>size_max</code> query parameters to perform
greater-than and less-than filtering of images based
on their <code>size</code> attribute. The size is
measured in bytes and refers to the size of an image
when it is stored on disk.</para>
<para>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.</para>
<para>You can sort the results of this operation by using
the <code>sort_key</code> and <code>sort_dir</code>
parameters. The API uses the natural sorting of
whatever image attribute is provided as the
<code>sort_key</code>.</para>
</wadl:doc>
<request>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="limit" style="query" required="false"
type="xsd:string">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>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.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="marker" style="query" required="false"
type="xsd:string">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>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.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="name" style="query" required="false"
type="xsd:string">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. Name of the image as a
string.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="visibility" style="query" required="false"
type="imageapi:string">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. Image visibility. Valid
values are <code>public</code>,
<code>private</code>, and
<code>shared</code>.Default is public +
private + shared images with
<code>accepted</code> member
status.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="member_status" style="query" required="false"
type="imageapi:string">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. Only show images with the
specified member status. Valid values are
<code>accepted</code>,
<code>pending</code>,
<code>rejected</code>, and
<code>all</code>. Default is
<code>accepted</code>.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="owner" style="query" required="false"
type="imageapi:string">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. Shows images shared with
me by the specified owner, where the owner is
indicated by tenant ID.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="status" style="query" required="false"
type="xsd:int">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. The image status, such as
queued, saving, active, killed, deleted, and
pending_delete.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="size_min" style="query" required="false"
type="xsd:string" default="ALL">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. Value of the minimum size
of the image in bytes.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="size_max" style="query" required="false"
type="xsd:string" default="ALL">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Filter parameter. Value of the maximum size
of the image in bytes.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="sort_key" style="query" required="false"
type="xsd:string" default="ALL">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Sort key. All image attributes can be used
as the sort_key, except tags and link
attributes. Default is
<code>created_at</code>.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="sort_dir" style="query" required="false"
type="xsd:string" default="ALL">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Sort direction. Valid values are
<code>asc</code> (ascending) and
<code>desc</code> (descending). Default is
<code>desc</code>.</para>
</wadl:doc>
</param>
<param xmlns="http://wadl.dev.java.net/2009/02" name="tag"
style="query" required="false" type="xsd:string"
default="ALL">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<para>Image tag. For example,
<code>?tag="cirros"</code>.</para>
</wadl:doc>
</param>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-list-response.json"/>
</wadl:doc>
</representation>
</response>
</method>
<method name="GET" id="listImageMembers-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="List image members">
<para role="shortdesc">Lists the tenants with whom this
image has been shared. (Since Image API v2.1.)</para>
<para>If a user with whom this image is shared makes this
call, the member list contains only information for
that user.</para>
<para>If a user with whom this image has not been shared
makes this call, the call returns the HTTP 404 status
code.</para>
</wadl:doc>
<request> </request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-members-list-response.json"
/>
</wadl:doc>
</representation>
</response>
<response status="404"/>
</method>
<method name="DELETE" id="deleteImage-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Delete image">
<para role="shortdesc">Deletes a specified image. (Since
Image API v2.0.)</para>
<para>You cannot delete images with the 'protected'
attribute set to true (boolean); the response returns
the HTTP 403 status code.</para>
<para>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.</para>
</wadl:doc>
<response status="204"/>
<response status="403"/>
</method>
<method name="PUT" id="storeImageFile-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Upload binary image data">
<para role="shortdesc">Uploads binary image data. (Since
Image API v2.0.)</para>
<para>An image record must exist before a client can store
binary image data with it.</para>
<para>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.</para>
</wadl:doc>
<response status="204"/>
</method>
<method name="GET" id="getImageFile-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Download binary image data">
<para role="shortdesc">Downloads binary image data. (Since
Image API v2.0.)</para>
<para>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.</para>
<para>If no image data exists, returns the HTTP 204 status
code.</para>
</wadl:doc>
<response status="200 204"/>
</method>
<method name="PUT" id="addImageTag-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Add image tag">
<para role="shortdesc">Adds a specified tag to a specified
image. (Since Image API v2.0.)</para>
</wadl:doc>
<response status="200"/>
</method>
<method name="DELETE" id="deleteImageTag-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Delete image tag">
<para role="shortdesc">Deletes a specified tag from a
specified image. (Since Image API v2.0.)</para>
</wadl:doc>
<response status="204"/>
</method>
<method name="GET" id="getImageMember-v2">
<wadl:doc xml:lang="EN" title="Get image member details"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">Gets details for a specified image
member.</para>
<para>Response body is a single image member entity.
(Since Image API 2.2.)</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<doc xml:lang="EN">
<xsdxt:code
href="samples/image-member-details-response.json"
/>
</doc>
</representation>
</response>
</method>
<method name="POST" id="createImageMember-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Create image member">
<para role="shortdesc">Adds a specified tenant ID as an
image member. (Since Image API v2.1.)</para>
</wadl:doc>
<request>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="member" style="plain" type="xsd:string"
required="true">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook"
title="Image member status">
<para>The member ID. For example, the tenant ID of
a user with whom the image is to be
shared.</para>
</wadl:doc>
</param>
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-member-create-request.json"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-member-create-response.json"
/>
</wadl:doc>
</representation>
</response>
</method>
<method name="PUT" id="updateImageMember-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Update image member">
<para role="shortdesc">Sets the specified status for the
specified member of the specified image. (Since Image
API v2.1.)</para>
</wadl:doc>
<request>
<param xmlns="http://wadl.dev.java.net/2009/02"
name="status" style="plain" type="xsd:string"
required="true">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook"
title="Image member status">
<para>Status to which this image member should be
set. Valid values are <code>pending</code>,
<code>accepted</code>, and
<code>rejected</code>.</para>
</wadl:doc>
</param>
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-member-update-request.json"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xml:lang="EN"
xmlns="http://docbook.org/ns/docbook">
<xsdxt:code
href="samples/image-member-update-response.json"
/>
</wadl:doc>
</representation>
</response>
</method>
<method name="DELETE" id="deleteImageMember-v2">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Delete image member">
<para role="shortdesc">Deletes a specified tenant ID from
the member list of the specified image. (Since Image
API v2.1.)</para>
</wadl:doc>
<response status="204"/>
</method>
</application>