From 112f06fd9377d4e6964f8e0ee447f60267920cc0 Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Thu, 28 Apr 2011 17:13:27 +0530 Subject: Adding First kestone repo --- docs/guide/pom.xml | 99 ++ docs/guide/src/docbkx/idm.wadl | 355 +++++++ docs/guide/src/docbkx/idmdevguide.xml | 1018 ++++++++++++++++++++ docs/guide/src/docbkx/img/Check_mark_23x20_02.svg | 60 ++ docs/guide/src/docbkx/samples/auth.json | 19 + docs/guide/src/docbkx/samples/auth.xml | 10 + .../guide/src/docbkx/samples/auth_credentials.json | 7 + docs/guide/src/docbkx/samples/auth_credentials.xml | 5 + docs/guide/src/docbkx/samples/choices.json | 50 + docs/guide/src/docbkx/samples/choices.xml | 29 + docs/guide/src/docbkx/samples/ext-getuser.json | 21 + docs/guide/src/docbkx/samples/ext-getuser.xml | 13 + docs/guide/src/docbkx/samples/extension.json | 21 + docs/guide/src/docbkx/samples/extension.xml | 23 + docs/guide/src/docbkx/samples/extensions.json | 44 + docs/guide/src/docbkx/samples/extensions.xml | 39 + docs/guide/src/docbkx/samples/getuser-1.json | 29 + docs/guide/src/docbkx/samples/getuser-1.xml | 14 + docs/guide/src/docbkx/samples/idm_fault.json | 7 + docs/guide/src/docbkx/samples/idm_fault.xml | 6 + docs/guide/src/docbkx/samples/item_not_found.json | 7 + docs/guide/src/docbkx/samples/item_not_found.xml | 6 + .../src/docbkx/samples/samplerequestheader.json | 4 + .../src/docbkx/samples/sampleresponseheader.json | 5 + docs/guide/src/docbkx/samples/tenant.json | 7 + docs/guide/src/docbkx/samples/tenant.xml | 5 + docs/guide/src/docbkx/samples/tenantlock.json | 5 + docs/guide/src/docbkx/samples/tenantlock.xml | 4 + docs/guide/src/docbkx/samples/tenants-1.json | 16 + docs/guide/src/docbkx/samples/tenants-1.xml | 10 + docs/guide/src/docbkx/samples/tenants-2.json | 20 + docs/guide/src/docbkx/samples/tenants-2.xml | 13 + docs/guide/src/docbkx/samples/tenants-3.json | 16 + docs/guide/src/docbkx/samples/tenants-3.xml | 10 + docs/guide/src/docbkx/samples/tenants.json | 15 + docs/guide/src/docbkx/samples/tenants.xml | 9 + docs/guide/src/docbkx/samples/updatedtenant.json | 7 + docs/guide/src/docbkx/samples/updatedtenant.xml | 5 + docs/guide/src/docbkx/samples/validatetoken.json | 19 + docs/guide/src/docbkx/samples/validatetoken.xml | 10 + docs/guide/src/docbkx/samples/version-atom.xml | 19 + docs/guide/src/docbkx/samples/version.json | 33 + docs/guide/src/docbkx/samples/version.xml | 23 + docs/guide/src/docbkx/samples/versions-atom.xml | 22 + docs/guide/src/docbkx/samples/versions.json | 28 + docs/guide/src/docbkx/samples/versions.xml | 18 + docs/guide/src/docbkx/xsd/api-common.xsd | 56 ++ docs/guide/src/docbkx/xsd/api.xsd | 14 + docs/guide/src/docbkx/xsd/atom/atom.xsd | 115 +++ docs/guide/src/docbkx/xsd/atom/xml.xsd | 287 ++++++ docs/guide/src/docbkx/xsd/extensions.xsd | 56 ++ docs/guide/src/docbkx/xsd/fault.xsd | 135 +++ docs/guide/src/docbkx/xsd/tenant.xsd | 40 + docs/guide/src/docbkx/xsd/token.xsd | 72 ++ docs/guide/src/docbkx/xsd/version.xsd | 200 ++++ 55 files changed, 3180 insertions(+) create mode 100644 docs/guide/pom.xml create mode 100644 docs/guide/src/docbkx/idm.wadl create mode 100644 docs/guide/src/docbkx/idmdevguide.xml create mode 100644 docs/guide/src/docbkx/img/Check_mark_23x20_02.svg create mode 100644 docs/guide/src/docbkx/samples/auth.json create mode 100644 docs/guide/src/docbkx/samples/auth.xml create mode 100644 docs/guide/src/docbkx/samples/auth_credentials.json create mode 100644 docs/guide/src/docbkx/samples/auth_credentials.xml create mode 100644 docs/guide/src/docbkx/samples/choices.json create mode 100644 docs/guide/src/docbkx/samples/choices.xml create mode 100644 docs/guide/src/docbkx/samples/ext-getuser.json create mode 100644 docs/guide/src/docbkx/samples/ext-getuser.xml create mode 100644 docs/guide/src/docbkx/samples/extension.json create mode 100644 docs/guide/src/docbkx/samples/extension.xml create mode 100644 docs/guide/src/docbkx/samples/extensions.json create mode 100644 docs/guide/src/docbkx/samples/extensions.xml create mode 100644 docs/guide/src/docbkx/samples/getuser-1.json create mode 100644 docs/guide/src/docbkx/samples/getuser-1.xml create mode 100644 docs/guide/src/docbkx/samples/idm_fault.json create mode 100644 docs/guide/src/docbkx/samples/idm_fault.xml create mode 100644 docs/guide/src/docbkx/samples/item_not_found.json create mode 100644 docs/guide/src/docbkx/samples/item_not_found.xml create mode 100644 docs/guide/src/docbkx/samples/samplerequestheader.json create mode 100644 docs/guide/src/docbkx/samples/sampleresponseheader.json create mode 100644 docs/guide/src/docbkx/samples/tenant.json create mode 100644 docs/guide/src/docbkx/samples/tenant.xml create mode 100644 docs/guide/src/docbkx/samples/tenantlock.json create mode 100644 docs/guide/src/docbkx/samples/tenantlock.xml create mode 100644 docs/guide/src/docbkx/samples/tenants-1.json create mode 100644 docs/guide/src/docbkx/samples/tenants-1.xml create mode 100644 docs/guide/src/docbkx/samples/tenants-2.json create mode 100644 docs/guide/src/docbkx/samples/tenants-2.xml create mode 100644 docs/guide/src/docbkx/samples/tenants-3.json create mode 100644 docs/guide/src/docbkx/samples/tenants-3.xml create mode 100644 docs/guide/src/docbkx/samples/tenants.json create mode 100644 docs/guide/src/docbkx/samples/tenants.xml create mode 100644 docs/guide/src/docbkx/samples/updatedtenant.json create mode 100644 docs/guide/src/docbkx/samples/updatedtenant.xml create mode 100644 docs/guide/src/docbkx/samples/validatetoken.json create mode 100644 docs/guide/src/docbkx/samples/validatetoken.xml create mode 100644 docs/guide/src/docbkx/samples/version-atom.xml create mode 100644 docs/guide/src/docbkx/samples/version.json create mode 100644 docs/guide/src/docbkx/samples/version.xml create mode 100644 docs/guide/src/docbkx/samples/versions-atom.xml create mode 100644 docs/guide/src/docbkx/samples/versions.json create mode 100644 docs/guide/src/docbkx/samples/versions.xml create mode 100644 docs/guide/src/docbkx/xsd/api-common.xsd create mode 100644 docs/guide/src/docbkx/xsd/api.xsd create mode 100644 docs/guide/src/docbkx/xsd/atom/atom.xsd create mode 100644 docs/guide/src/docbkx/xsd/atom/xml.xsd create mode 100644 docs/guide/src/docbkx/xsd/extensions.xsd create mode 100644 docs/guide/src/docbkx/xsd/fault.xsd create mode 100644 docs/guide/src/docbkx/xsd/tenant.xsd create mode 100644 docs/guide/src/docbkx/xsd/token.xsd create mode 100644 docs/guide/src/docbkx/xsd/version.xsd (limited to 'docs') diff --git a/docs/guide/pom.xml b/docs/guide/pom.xml new file mode 100644 index 00000000..ec944cf4 --- /dev/null +++ b/docs/guide/pom.xml @@ -0,0 +1,99 @@ + + 4.0.0 + + com.rackspace.idm + docs + 0.0.1-SNAPSHOT + jar + + docs + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + com.sun.xml.bind + jaxb-impl + 2.1.12 + + + com.thoughtworks.xstream + xstream + 1.3.1 + + + org.codehaus.jettison + jettison + 1.1 + + + + + + target/docbkx/pdf + + **/*.fo + + + + + + com.rackspace.cloud.api + clouddocs-maven-plugin + 1.0.4-SNAPSHOT + + + + generate-pdf + generate-webhelp + + generate-sources + + + + + org.docbook + docbook-xml + 4.4 + runtime + + + + true + + + + + + + Rackspace Research Repositories + + true + + + + rackspace-research + Rackspace Research Repository + http://maven.research.rackspacecloud.com/content/groups/public/ + + + + + rackspace-research + Rackspace Research Repository + http://maven.research.rackspacecloud.com/content/groups/public/ + + + + + diff --git a/docs/guide/src/docbkx/idm.wadl b/docs/guide/src/docbkx/idm.wadl new file mode 100644 index 00000000..39135b71 --- /dev/null +++ b/docs/guide/src/docbkx/idm.wadl @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/guide/src/docbkx/idmdevguide.xml b/docs/guide/src/docbkx/idmdevguide.xml new file mode 100644 index 00000000..4b279cef --- /dev/null +++ b/docs/guide/src/docbkx/idmdevguide.xml @@ -0,0 +1,1018 @@ + + + + + + + + GET'> + PUT'> + POST'> + DELETE'> + + + + + + + '> + + + + This operation does not require a request body.'> + + + Verb + URI + Description + + '> + + + Verb + URI + Description + + '> +]> + + Cloud Identity Developer Guide + + + + + + + + Rackspace Cloud + + + + 2010 + 2011 + Rackspace Hosting, Inc. + + API v1.0 + Cloud Identity + 2011-04-23 + + + Copyright details are filled in by the template. + + + + + This document is intended for software developers interested + in developing applications which utilize the Cloud Identity + Service for authentication. This document also includes + details on how to integrate services with the Cloud Identity + Service. + + + + + Overview + + The Cloud Identity Service allows applications to obtain + tokens that can be used to access OpenStack resources. This + document is intended for software developers interested in + developing applications which utilize the Cloud Identity + Service for authentication. This document also includes + details on how to integrate services with the Cloud Identity + Service. + + + This Guide assumes the reader is familiar with RESTful web + services, HTTP/1.1, and JSON and/or XML serialization formats. + + + + Concepts + + The Cloud Identity Service has several key concepts that are + important to understand: + +
+ Token + + A token is an arbitrary bit of text that is used to access + resources. Each token has a scope which describes which + resources are accessible with it. A token may be + revoked at anytime and is valid for a finite duration. + +
+
+ Tenant + + Depending on the operator, a tenant may map to a customer, + account, organization, or project. + +
+
+ User + + Users have a login and may be assigned tokens to access + resources. + +
+
+ Group + + A group of users. Global groups are managed by + operators. They are used to organize and assign privileges + to a group of related users. For example, an operator may + create a "delinquent" group, which will assign limited + privileges to users who have past due bills. + +
+
+ + General API Information + The IdM API is implemented using a RESTful web service interface. All requests to + authenticate and operate against the IdM API are performed using SSL over HTTP (HTTPS) on TCP + port 443. +
+ Request/Response Types + The IdM API supports both the JSON and XML data serialization formats. The request + format is specified using the Content-Type header and is required for + operations that have a request body. The response format can be specified in requests using + either the Accept header or adding an .xml or .json + extension to the request URI. Note that it is possible for a response to be serialized using + a format different from the request (see example below). If no response format is specified, + JSON is the default. If conflicting formats are specified using both an Accept + header and a query extension, the query extension takes precedence. + + + + + + + + + + + + + + + + + + + + + + + + +
Response Types
FormatAccept HeaderQuery ExtensionDefault
JSONapplication/json.jsonYes
XMLapplication/xml.xmlNo
+ + JSON Request with Headers + + + + + + + + + XML Response with Headers + + + + + + + +
+
+ Content Compression + Request and response body data my be encoded with gzip compression in order to + accelerate interactive performance of API calls and responses. This is controlled using the + Accept-Encoding header on the request from the client and indicated by the + Content-Encoding header in the server response. Unless the header is + explicitly set, encoding defaults to disabled. + + + + + + + + + + + + + + + + + + + + + +
Compression Headers
Header TypeNameValue
HTTP/1.1 RequestAccept-Encodinggzip
HTTP/1.1 ResponseContent-Encodinggzip
+
+
+ Paginated Collections + + To reduce load on the service, list operations will + return a maximum number of items at a time. The + maximum number of items returned is determined by the + IDM provider. To navigate the collection, the + parameters limit and + marker can be set in the URI + (e.g.?limit=100&marker=1234). + The marker parameter is the ID + of the last item in the previous list. Items are + sorted by update time. When an update time is not + available they are sorted by ID. The + limit parameter sets the page + size. Both parameters are optional. If the client + requests a limit beyond that + which is supported by the deployment an overLimit + (413) fault may be thrown. A + marker with an invalid ID will return an itemNotFound + (404) fault. + + + + Paginated collections never return itemNotFound + (404) faults when the + collection is empty — clients should expect + an empty collection. + + + + For convenience, collections contain atom "next" and + "previous" links. The first page in the list will not + contain a "previous" link, the last page in the list + will not contain a "next" link. The following examples + illustrate three pages in a collection of tenants. The + first page was retrieved via a &GET; to + http://idm.api.openstack.org/v1.0/1234/tenants?limit=1. + In these examples, the limit + parameter sets the page size to a single item. + Subsequent "next" and "previous" links will honor the + initial page size. Thus, a client may follow links to + traverse a paginated collection without having to + input the marker parameter. + + + Tenant Collection, First Page: XML + + + + + + Tenant Collection, First Page: JSON + + + + Tenant Collection, Second Page: XML + + + + + + Tenant Collection, Second Page: JSON + + + + Tenant Collection, Last Page: XML + + + + + + Tenant Collection, Last Page: JSON + + + + In the JSON representation, paginated collections contain + a values property that contains the + items in the collections. Links are accessed via the + links property. The approach allows + for extensibility of both the collection members and of + the paginated collection itself. It also allows + collections to be embedded in other objects as illustrated + below. Here, a subset of grups are presented within a + user. Clients must follow the "next" link to continue to + retrive additonal groups belonging to a user. + + + Paginated Groups in a User: XML + + + + + + Paginated Groups in an User: JSON + + +
+
+ Versions + + The OpenStack IDM API uses both a URI and a MIME + type versioning scheme. In the URI scheme, the first + element of the path contains the target version + identifier (e.g. https://idm.api.openstack.org/ + v1.0/…). The MIME type versioning scheme uses + HTTP content negotiation where the Accept + or Content-Type headers contains a MIME + type that identifies the version + (application/vnd.openstack.idm-v1.1+xml). A + version MIME type is always linked to a base MIME type + (application/xml or application/json). If conflicting + versions are specified using both an HTTP header and a + URI, the URI takes precedence. + + + Request with MIME type versioning + +GET /tenants HTTP/1.1 +Host: idm.api.openstack.org +Accept: application/vnd.openstack.idm-v1.1+xml +X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb + + + + Request with URI versioning + +GET /v1.1/tenants HTTP/1.1 +Host: idm.api.openstack.org +Accept: application/xml +X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb + + + + + The MIME type versioning approach allows for the + creating of permanent links, because the version + scheme is not specified in the URI path: + https://api.idm.openstack.org/tenants/12234. + + + + If a request is made without a version specified in + the URI or via HTTP headers, then a multiple-choices + response (300) will follow + providing links and MIME types to available versions. + + + Multiple Choices Response: XML + + + + + + Multiple Choices Response: JSON + + + + New features and functionality that do not break + API-compatibility will be introduced in the current + version of the API as extensions (see below) and the + URI and MIME types will remain unchanged. Features or + functionality changes that would necessitate a break + in API-compatibility will require a new version, which + will result in URI and MIME type version being updated + accordingly. When new API versions are released, older + versions will be marked as + DEPRECATED. Providers should work with + developers and partners to ensure there is adequate + time to migrate to the new version before deprecated + versions are discontinued. + + + Your application can programmatically determine + available API versions by performing a &GET; on the + root URL (i.e. with the version and everything to the + right of it truncated) returned from the + authentication system. Note that an Atom + representation of the versions resources is supported + when issuing a request with the Accept + header containing application/atom+xml or by adding a + .atom to the request URI. This allows standard Atom + clients to track version changes. + + + Versions List Request + +GET HTTP/1.1 +Host: idm.api.openstack.org + + + &CODES;200, 203 + &ERROR_CODES; badRequest + (400), idmFault + (500), + serviceUnavailable(503) + &NO_REQUEST; + + Versions List Response: XML + + + + + + Versions List Response: Atom + + + + + + Versions List Response: JSON + + + + You can also obtain additional information about a + specific version by performing a &GET; on the base + version URL + (e.g. https://idm.api.openstack.org/v1.1/). + Version request URLs should always end with a trailing + slash (/). If the slash is omitted, the server may + respond with a 302 + redirection request. Format extensions may be placed + after the slash + (e.g. https://idm.api.openstack.org/v1.1/.xml). Note + that this is a special case that does not hold true + for other API requests. In general, requests such as + /tenants.xml and /tenants/.xml are handled + equivalently. + + + Version Details Request + +GET HTTP/1.1 +Host: idm.api.openstack.org/v1.1/ + + + &CODES;200, 203 + &ERROR_CODES; badRequest + (400), idmFault + (500), + serviceUnavailable(503) + &NO_REQUEST; + + Version Details Response: XML + + + + + + Version Details Response: Atom + + + + + + Version Details Response: JSON + + + + The detailed version response contains pointers to + both a human-readable and a machine-processable + description of the API service. The machine-processable description is written in the Web + Application Description Language (WADL). + + + If there is a discrepancy between the two specifications, the WADL is + authoritative as it contains the most accurate and up-to-date description of the + API service. + +
+
+ Extensions + + The OpenStack IDM API is extensible. Extensions + serve two purposes: They allow the introduction of new + features in the API without requiring a version change + and they allow the introduction of vendor specific + niche functionality. Applications can programmatically + determine what extensions are available by performing + a &GET; on the /extensions URI. Note that this is a + versioned request — that is, an extension + available in one API version may not be available in + another. + + + + + Verb + URI + Description + + + + + &GET; + /extensions + Returns a list of available extensions + + + + &CODES;200, 203 + &ERROR_CODES; badRequest + (400), idmFault (500), + serviceUnavailable(503) + &NO_REQUEST; + + Each extension is identified by two unique identifiers, a + namespace and an + alias. Additionally an extension + contains documentation links in various formats. + + + Extensions Response: XML + + + + + + Extensions Response: JSON + + + + Extensions may also be queried individually by their + unique alias. This provides the simplest method of + checking if an extension is available as an unavailable + extension will issue an itemNotFound + (404) response. + + + + + Verb + URI + Description + + + + + &GET; + /extensions/alias + Return details of a single extension + + + + &CODES;200, 203 + &ERROR_CODES; itemNotFound + (404), badRequest + (400), idmFault + (500), + serviceUnavailable(503) + &NO_REQUEST; + + Extension Response: xml + + + + + + Extensions Response: JSON + + + + Extensions may define new data types, parameters, actions, + headers, states, and resources. In XML, additional + elements and attributes may be defined. These elements + must be defined in the extension's namespace. In JSON, the + alias must be used. The volumes element in the and + + is defined in the RS-META namespace. Extended + headers are always prefixed with X- followed + by the alias and a dash: (X-RS-META-HEADER1). + Parameters must be prefixed with the extension alias + followed by a colon. + + + + Applications should be prepared to ignore response + data that contains extension elements. Also, + applications should also verify that an extension is + available before submitting an extended request. + + + + Extended User Response: XML + + + + + + Extended User Response: JSON + + +
+
+ Faults + When an error occurs the system will return an HTTP error response code denoting the + type of error. The system will also return additional information about the fault in the + body of the response. + + XML Fault Response + + + + + + JSON Fault Response + + + + + The error code is returned in the body of the response for convenience. The message + section returns a human readable message. The details section is optional and may contain + useful information for tracking down an error (e.g a stack trace). + The root element of the fault (e.g. idmFault) may change depending on the type of error. + The following is an example of an itemNotFound error. + + XML Not Found Fault + + + + + + JSON Not Found Fault + + + + + The following is a list of possible fault types along with their associated error + codes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fault Types
Fault ElementAssociated Error CodeExpected in All Requests
idmFault500, 400 ✓
serviceUnavailable503 ✓
badRequest400 ✓
unauthorized401 ✓
overLimit413 +
userDisabled403 +
forbidden403 +
itemNotFound404 +
tenantConflict409 +
+ From an XML schema perspective, all API faults are extensions of the base fault type + idmFault. When working with a system that binds XML to actual classes (such + as JAXB), one should be capable of using idmFault as a “catch-all” if + there's no interest in distinguishing between individual fault types. +
+
+ + Service Developer Operations +
+ Overview + The operations described in this chapter allow service developers to get and validate + access tokens, manage users, and manage tenants. +
+
+ Token Operations +
+ Authenticate + + &URI_REFHEAD; + + + &POST; + /token + Authenticate to generate a token. + + + + &CODES;200, 203 + &ERROR_CODES; unauthorized (401), userDisabled + (403), badRequest (400), idmFault + (500), serviceUnavailable(503) + + TenantID is optional and may be used to specify that a + token should be returned that has access for resources + that particular tenant. + + + XML Auth Request + + + + + + JSON Auth Request + + + + + + XML Auth Response + + + + + + JSON Auth Response + + + + +
+
+ Validate Token + + &LONG_URI_REFHEAD; + + + &GET; + /token/tokenId?belongsTo=tenantId + Check that a token is valid and that it belongs to a particular user + and return the permissions relevant to a particular client. + + + + &CODES;200, 203 + &ERROR_CODES; unauthorized (401), forbidden + (403), userDisabled(403), + badRequest (400), itemNotFound (404), + idmFault(500), + serviceUnavailable(503) + &NO_REQUEST; + + Valid tokens will exist in the + /token/tokenId path and invalid + tokens will not. In other words, a user should expect an + itemNotFound (404) fault for an + invalid token. + + + XML Validate Token Response + + + + + + JSON Validate Token Response + + + + +
+
+ Revoke Token + + &LONG_URI_REFHEAD; + + + &DELETE; + /token/tokenId + Revoke an existing token. + + + + &CODES;204 + &ERROR_CODES; unauthorized (401), forbidden + (403), userDisabled(403), + badRequest (400), itemNotFound (404), + idmFault(500), + serviceUnavailable(503) + &NO_REQUEST; +
+
+
+ Tenant Operations +
+ Create a Tenant + + &LONG_URI_REFHEAD; + + + &POST; + /tenants + Create a tenant + + + + &CODES;201 + &ERROR_CODES; unauthorized (401), + forbidden(403), + badRequest (400), idmFault (500), + serviceUnavailable(503) + + XML Tenant Create Request + + + + + + JSON Tenant Create Request + + + + + + XML Tenant Create Response + + + + + + JSON Tenant Create Response + + + + +
+
+ Get Tenants + + &LONG_URI_REFHEAD; + + + &GET; + /tenants + Get a list of tenants. + + + + &CODES;200, 203 + &ERROR_CODES; unauthorized (401), + forbidden(403), overLimit(413), + badRequest (400), idmFault (500), + serviceUnavailable(503) + + The operation returns a list of tenants. The list may be + filtered to return only those tenants which the caller has + access to. + + &NO_REQUEST; + + XML Tenants Response + + + + + + JSON Tenants Response + + + + +
+
+ Get a Tenant + + &LONG_URI_REFHEAD; + + + &GET; + /tenants/tenantId + Get a tenant. + + + + &CODES;200, 203 + &ERROR_CODES; unauthorized (401), + forbidden(403), itemNotFound(404), + badRequest (400), idmFault (500), + serviceUnavailable(503) + &NO_REQUEST; + + XML Tenant Response + + + + + + JSON Tenant Response + + + + +
+
+ Update a Tenant + + &LONG_URI_REFHEAD; + + + &PUT; + /tenants/tenantId + Update a tenant.. + + + + &CODES;200 + &ERROR_CODES; unauthorized (401), + forbidden(403), itemNotFound(404), + badRequest (400), idmFault (500), + serviceUnavailable(503) + + XML Tenant Update Request + + + + + + JSON Tenant Update Request + + + + + + XML Tenant Update Response + + + + + + JSON Tenant Update Response + + + + +
+
+ Delete a Tenant + + &LONG_URI_REFHEAD; + + + &DELETE; + /tenants/tenantId + Delete a Tenant. + + + + &CODES;204 + &ERROR_CODES; unauthorized (401), badRequest + (400), forbidden (403), itemNotFound + (404), idmFault (500), + serviceUnavailable(503) + &NO_REQUEST; +
+
+
+
diff --git a/docs/guide/src/docbkx/img/Check_mark_23x20_02.svg b/docs/guide/src/docbkx/img/Check_mark_23x20_02.svg new file mode 100644 index 00000000..3051a2f9 --- /dev/null +++ b/docs/guide/src/docbkx/img/Check_mark_23x20_02.svg @@ -0,0 +1,60 @@ + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/auth.json b/docs/guide/src/docbkx/samples/auth.json new file mode 100644 index 00000000..fa56c131 --- /dev/null +++ b/docs/guide/src/docbkx/samples/auth.json @@ -0,0 +1,19 @@ +{ + "auth" : { + "token": { + "id": "ab48a9efdfedb23ty3494", + "expires": "2010-11-01T03:32:15-05:00" + }, + "user" : { + "groups": { + "group": [ + { + "tenantId" : "1234", + "id": "Admin" + } + ]}, + "username": "jqsmith", + "tenantId": "1234" + } + } +} diff --git a/docs/guide/src/docbkx/samples/auth.xml b/docs/guide/src/docbkx/samples/auth.xml new file mode 100644 index 00000000..df8d69d0 --- /dev/null +++ b/docs/guide/src/docbkx/samples/auth.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/auth_credentials.json b/docs/guide/src/docbkx/samples/auth_credentials.json new file mode 100644 index 00000000..67b06304 --- /dev/null +++ b/docs/guide/src/docbkx/samples/auth_credentials.json @@ -0,0 +1,7 @@ +{ + "passwordCredentials" : { + "username" : "test_user", + "password" : "a86850deb2742ec3cb41518e26aa2d89", + "tenantId" : "77654" + } +} diff --git a/docs/guide/src/docbkx/samples/auth_credentials.xml b/docs/guide/src/docbkx/samples/auth_credentials.xml new file mode 100644 index 00000000..fbdf5633 --- /dev/null +++ b/docs/guide/src/docbkx/samples/auth_credentials.xml @@ -0,0 +1,5 @@ + + diff --git a/docs/guide/src/docbkx/samples/choices.json b/docs/guide/src/docbkx/samples/choices.json new file mode 100644 index 00000000..6b0b2607 --- /dev/null +++ b/docs/guide/src/docbkx/samples/choices.json @@ -0,0 +1,50 @@ +{ + "choices" : { + "values" : [ + { + "id" : "v1.0", + "status" : "DEPRECATED", + "links": [ + { + "rel" : "self", + "href" : "http://idm.api.openstack.org/v1.0/tenants/12" + } + ], + "media-types": { + "values" : [ + { + "base" : "application/xml", + "type" : "application/vnd.openstack.idm-v1.0+xml" + }, + { + "base" : "application/json", + "type" : "application/vnd.openstack.idm-v1.0+json" + } + ] + } + }, + { + "id" : "v1.1", + "status" : "CURRENT", + "links": [ + { + "rel" : "self", + "href" : "http://idm.api.openstack.org/v1.1/tenants/12" + } + ], + "media-types": { + "values" : [ + { + "base" : "application/xml", + "type" : "application/vnd.openstack.idm-v1.1+xml" + }, + { + "base" : "application/json", + "type" : "application/vnd.openstack.idm-v1.1+json" + } + ] + } + } + ] + } +} diff --git a/docs/guide/src/docbkx/samples/choices.xml b/docs/guide/src/docbkx/samples/choices.xml new file mode 100644 index 00000000..a9a91ece --- /dev/null +++ b/docs/guide/src/docbkx/samples/choices.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/ext-getuser.json b/docs/guide/src/docbkx/samples/ext-getuser.json new file mode 100644 index 00000000..03f74dda --- /dev/null +++ b/docs/guide/src/docbkx/samples/ext-getuser.json @@ -0,0 +1,21 @@ +{"user": + { + "groups": { + "values": [ + { + "tenantId" : "1234", + "id": "Admin" + } + ]}, + "id": "jqsmith", + "tenantId": "1234", + "email": "john.smith@example.org", + "enabled": true, + "RS-META:metadata" : { + "values" : { + "MetaKey1" : "MetaValue1", + "MetaKey2" : "MetaValue2" + } + }, + } +} diff --git a/docs/guide/src/docbkx/samples/ext-getuser.xml b/docs/guide/src/docbkx/samples/ext-getuser.xml new file mode 100644 index 00000000..07c185b1 --- /dev/null +++ b/docs/guide/src/docbkx/samples/ext-getuser.xml @@ -0,0 +1,13 @@ + + + + + + + MetaValue1 + MetaValue2 + + diff --git a/docs/guide/src/docbkx/samples/extension.json b/docs/guide/src/docbkx/samples/extension.json new file mode 100644 index 00000000..1d7e8bb3 --- /dev/null +++ b/docs/guide/src/docbkx/samples/extension.json @@ -0,0 +1,21 @@ +{ + "extension" : { + "name" : "User Metadata Extension", + "namespace" : "http://docs.rackspacecloud.com/idm/api/ext/meta/v1.0", + "alias" : "RS-META", + "updated" : "2011-01-12T11:22:33-06:00", + "description" : "Allows associating arbritrary metadata with a user.", + "links" : [ + { + "rel" : "describedby", + "type" : "application/pdf", + "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-meta-20111201.pdf" + }, + { + "rel" : "describedby", + "type" : "application/vnd.sun.wadl+xml", + "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-cbs.wadl" + } + ] + } +} diff --git a/docs/guide/src/docbkx/samples/extension.xml b/docs/guide/src/docbkx/samples/extension.xml new file mode 100644 index 00000000..8d932f49 --- /dev/null +++ b/docs/guide/src/docbkx/samples/extension.xml @@ -0,0 +1,23 @@ + + + + + + Allows associating arbritrary metadata with a user. + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/extensions.json b/docs/guide/src/docbkx/samples/extensions.json new file mode 100644 index 00000000..11064a90 --- /dev/null +++ b/docs/guide/src/docbkx/samples/extensions.json @@ -0,0 +1,44 @@ +{ + "extensions" : { + "values" : [ + { + "name" : "Reset Password Extension", + "namespace" : "http://docs.rackspacecloud.com/idm/api/ext/rpe/v1.0", + "alias" : "RS-RPE", + "updated" : "2011-01-22T13:25:27-06:00", + "description" : "Adds the capability to reset a user's password. The user is emailed when the password has been reset.", + "links" : [ + { + "rel" : "describedby", + "type" : "application/pdf", + "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-rpe-20111111.pdf" + }, + { + "rel" : "describedby", + "type" : "application/vnd.sun.wadl+xml", + "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-rpe.wadl" + } + ] + }, + { + "name" : "User Metadata Extension", + "namespace" : "http://docs.rackspacecloud.com/idm/api/ext/meta/v1.0", + "alias" : "RS-META", + "updated" : "2011-01-12T11:22:33-06:00", + "description" : "Allows associating arbritrary metadata with a user.", + "links" : [ + { + "rel" : "describedby", + "type" : "application/pdf", + "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-meta-20111201.pdf" + }, + { + "rel" : "describedby", + "type" : "application/vnd.sun.wadl+xml", + "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-meta.wadl" + } + ] + } + ] + } +} diff --git a/docs/guide/src/docbkx/samples/extensions.xml b/docs/guide/src/docbkx/samples/extensions.xml new file mode 100644 index 00000000..ddd7e173 --- /dev/null +++ b/docs/guide/src/docbkx/samples/extensions.xml @@ -0,0 +1,39 @@ + + + + + + + Adds the capability to reset a user's password. The user is + emailed when the password has been reset. + + + + + + + + Allows associating arbritrary metadata with a user. + + + + + + diff --git a/docs/guide/src/docbkx/samples/getuser-1.json b/docs/guide/src/docbkx/samples/getuser-1.json new file mode 100644 index 00000000..544d4600 --- /dev/null +++ b/docs/guide/src/docbkx/samples/getuser-1.json @@ -0,0 +1,29 @@ +{"user": + { + "groups": { + "values": [ + { + "tenantId" : "1234", + "id": "Admin" + }, + { + "tenantId" : "1234", + "id" : "DBUser" + }, + { + "id" : "Super" + } + ], + "links" : [ + { + "rel" : "next", + "href" : "http://idm.api.openstack.org/v1.0/1234/tenants/1234/users/jqsmith/groups?marker=Super" + } + ] + }, + "id": "jqsmith", + "tenantId": "1234", + "email": "john.smith@example.org", + "enabled": true + } +} diff --git a/docs/guide/src/docbkx/samples/getuser-1.xml b/docs/guide/src/docbkx/samples/getuser-1.xml new file mode 100644 index 00000000..2b513072 --- /dev/null +++ b/docs/guide/src/docbkx/samples/getuser-1.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/idm_fault.json b/docs/guide/src/docbkx/samples/idm_fault.json new file mode 100644 index 00000000..84e3908e --- /dev/null +++ b/docs/guide/src/docbkx/samples/idm_fault.json @@ -0,0 +1,7 @@ +{"idmFault": + { + "message": "Fault", + "details": "Error Details...", + "code": 500 + } +} \ No newline at end of file diff --git a/docs/guide/src/docbkx/samples/idm_fault.xml b/docs/guide/src/docbkx/samples/idm_fault.xml new file mode 100644 index 00000000..e0f695f2 --- /dev/null +++ b/docs/guide/src/docbkx/samples/idm_fault.xml @@ -0,0 +1,6 @@ + + + Fault +
Error Details...
+
diff --git a/docs/guide/src/docbkx/samples/item_not_found.json b/docs/guide/src/docbkx/samples/item_not_found.json new file mode 100644 index 00000000..dda88a59 --- /dev/null +++ b/docs/guide/src/docbkx/samples/item_not_found.json @@ -0,0 +1,7 @@ +{"itemNotFound": + { + "message": "Item not found.", + "details": "Error Details...", + "code": 404 + } +} \ No newline at end of file diff --git a/docs/guide/src/docbkx/samples/item_not_found.xml b/docs/guide/src/docbkx/samples/item_not_found.xml new file mode 100644 index 00000000..f967b76a --- /dev/null +++ b/docs/guide/src/docbkx/samples/item_not_found.xml @@ -0,0 +1,6 @@ + + + Item not found. +
Error Details...
+
diff --git a/docs/guide/src/docbkx/samples/samplerequestheader.json b/docs/guide/src/docbkx/samples/samplerequestheader.json new file mode 100644 index 00000000..a4647076 --- /dev/null +++ b/docs/guide/src/docbkx/samples/samplerequestheader.json @@ -0,0 +1,4 @@ +POST /v1.0/token HTTP/1.1 +Host: idm.api.rackspace.com +Content-Type: application/json +Accept: application/xml \ No newline at end of file diff --git a/docs/guide/src/docbkx/samples/sampleresponseheader.json b/docs/guide/src/docbkx/samples/sampleresponseheader.json new file mode 100644 index 00000000..0b08f684 --- /dev/null +++ b/docs/guide/src/docbkx/samples/sampleresponseheader.json @@ -0,0 +1,5 @@ +HTTP/1.1 200 OKAY +Date: Mon, 12 Nov 2010 15:55:01 GMT +Server: Apache +Content-Length: +Content-Type: application/xml; charset=UTF-8 \ No newline at end of file diff --git a/docs/guide/src/docbkx/samples/tenant.json b/docs/guide/src/docbkx/samples/tenant.json new file mode 100644 index 00000000..7ff7ce32 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenant.json @@ -0,0 +1,7 @@ +{"tenant": + { + "id": "1234", + "description": "A description ...", + "enabled": true + } +} diff --git a/docs/guide/src/docbkx/samples/tenant.xml b/docs/guide/src/docbkx/samples/tenant.xml new file mode 100644 index 00000000..ea6a63dc --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenant.xml @@ -0,0 +1,5 @@ + + + A description... + diff --git a/docs/guide/src/docbkx/samples/tenantlock.json b/docs/guide/src/docbkx/samples/tenantlock.json new file mode 100644 index 00000000..584c21a4 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenantlock.json @@ -0,0 +1,5 @@ +{"tenant": + { + "description": "A NEW description..." + } +} \ No newline at end of file diff --git a/docs/guide/src/docbkx/samples/tenantlock.xml b/docs/guide/src/docbkx/samples/tenantlock.xml new file mode 100644 index 00000000..9d7081d4 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenantlock.xml @@ -0,0 +1,4 @@ + + + A NEW description... + diff --git a/docs/guide/src/docbkx/samples/tenants-1.json b/docs/guide/src/docbkx/samples/tenants-1.json new file mode 100644 index 00000000..6f45f1c8 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants-1.json @@ -0,0 +1,16 @@ +{ +"tenants": { + "values" : [ + { + "id": "1234", + "description": "A description ...", + "enabled": true + } + ], + "links" : [ + { + "rel" : "next", + "href" : "http://idm.api.openstack.org/v1.0/1234/tenants?limit=1&marker=1234" + } + ] +} diff --git a/docs/guide/src/docbkx/samples/tenants-1.xml b/docs/guide/src/docbkx/samples/tenants-1.xml new file mode 100644 index 00000000..67101816 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants-1.xml @@ -0,0 +1,10 @@ + + + + A description... + + diff --git a/docs/guide/src/docbkx/samples/tenants-2.json b/docs/guide/src/docbkx/samples/tenants-2.json new file mode 100644 index 00000000..7cb3ca6b --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants-2.json @@ -0,0 +1,20 @@ +{ +"tenants": { + "values" : [ + { + "id": "3645", + "description": "A description ...", + "enabled": true + } + ], + "links" : [ + { + "rel" : "next", + "href" : "http://idm.api.openstack.org/v1.0/1234/tenants?limit=1&marker=3645" + }, + { + "rel" : "previous", + "href" : "http://idm.api.openstack.org/v1.0/1234/tenants?limit=1" + } + ] +} diff --git a/docs/guide/src/docbkx/samples/tenants-2.xml b/docs/guide/src/docbkx/samples/tenants-2.xml new file mode 100644 index 00000000..7be4f537 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants-2.xml @@ -0,0 +1,13 @@ + + + + A description... + + + diff --git a/docs/guide/src/docbkx/samples/tenants-3.json b/docs/guide/src/docbkx/samples/tenants-3.json new file mode 100644 index 00000000..febcf225 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants-3.json @@ -0,0 +1,16 @@ +{ +"tenants": { + "values" : [ + { + "id": "9999", + "description": "A description ...", + "enabled": true + } + ], + "links" : [ + { + "rel" : "previous", + "href" : "http://idm.api.openstack.org/v1.0/1234/tenants?limit=1&marker=1234" + } + ] +} diff --git a/docs/guide/src/docbkx/samples/tenants-3.xml b/docs/guide/src/docbkx/samples/tenants-3.xml new file mode 100644 index 00000000..5e5b49fa --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants-3.xml @@ -0,0 +1,10 @@ + + + + A description... + + + diff --git a/docs/guide/src/docbkx/samples/tenants.json b/docs/guide/src/docbkx/samples/tenants.json new file mode 100644 index 00000000..7fb848f7 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants.json @@ -0,0 +1,15 @@ +{"tenants": { + "values" : [ + { + "id": "1234", + "description": "A description ...", + "enabled": true + }, + { + "id": "3456", + "description": "A description ...", + "enabled": true + } + ] +} +} diff --git a/docs/guide/src/docbkx/samples/tenants.xml b/docs/guide/src/docbkx/samples/tenants.xml new file mode 100644 index 00000000..9b503ce2 --- /dev/null +++ b/docs/guide/src/docbkx/samples/tenants.xml @@ -0,0 +1,9 @@ + + + + A description... + + + A description... + + diff --git a/docs/guide/src/docbkx/samples/updatedtenant.json b/docs/guide/src/docbkx/samples/updatedtenant.json new file mode 100644 index 00000000..05df6a3a --- /dev/null +++ b/docs/guide/src/docbkx/samples/updatedtenant.json @@ -0,0 +1,7 @@ +{"tenant": + { + "id": "1234", + "description": "A NEW description...", + "enabled": true + } +} diff --git a/docs/guide/src/docbkx/samples/updatedtenant.xml b/docs/guide/src/docbkx/samples/updatedtenant.xml new file mode 100644 index 00000000..8bcce9bf --- /dev/null +++ b/docs/guide/src/docbkx/samples/updatedtenant.xml @@ -0,0 +1,5 @@ + + + A NEW description... + diff --git a/docs/guide/src/docbkx/samples/validatetoken.json b/docs/guide/src/docbkx/samples/validatetoken.json new file mode 100644 index 00000000..c4721873 --- /dev/null +++ b/docs/guide/src/docbkx/samples/validatetoken.json @@ -0,0 +1,19 @@ +{ + "auth" : { + "token": { + "id": "ab48a9efdfedb23ty3494", + "expires": "2010-11-01T03:32:15-05:00" + }, + "user" : { + "groups": { + "group": [ + { + "tenantId" : "1234", + "name": "Admin" + } + ]}, + "username": "jqsmith", + "tenantId": "1234", + } + } +} diff --git a/docs/guide/src/docbkx/samples/validatetoken.xml b/docs/guide/src/docbkx/samples/validatetoken.xml new file mode 100644 index 00000000..b091c7af --- /dev/null +++ b/docs/guide/src/docbkx/samples/validatetoken.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/version-atom.xml b/docs/guide/src/docbkx/samples/version-atom.xml new file mode 100644 index 00000000..8cf3dc88 --- /dev/null +++ b/docs/guide/src/docbkx/samples/version-atom.xml @@ -0,0 +1,19 @@ + + + About This Version + 2011-01-21T11:33:21-06:00 + http://idm.api.openstack.org/v1.0/ + Rackspacehttp://www.rackspace.com/ + + + http://idm.api.openstack.org/v1.0/ + Version v1.0 + 2011-01-21T11:33:21-06:00 + + + + Version v1.0 CURRENT (2011-01-21T11:33:21-06:00) + + diff --git a/docs/guide/src/docbkx/samples/version.json b/docs/guide/src/docbkx/samples/version.json new file mode 100644 index 00000000..74bae5bd --- /dev/null +++ b/docs/guide/src/docbkx/samples/version.json @@ -0,0 +1,33 @@ +{ + "version" : { + "id" : "v1.0", + "status" : "CURRENT", + "updated" : "2011-01-21T11:33:21-06:00", + "links": [ + { + "rel" : "self", + "href" : "http://idm.api.openstack.org/v1.0/" + }, + { + "rel" : "describedby", + "type" : "application/pdf", + "href" : "http://docs.rackspacecloud.com/idm/api/v1.0/idm-devguide-20110125.pdf" + }, + { + "rel" : "describedby", + "type" : "application/vnd.sun.wadl+xml", + "href" : "http://docs.rackspacecloud.com/idm/api/v1.0/application.wadl" + } + ], + "media-types": [ + { + "base" : "application/xml", + "type" : "application/vnd.openstack.idm-v1.0+xml" + }, + { + "base" : "application/json", + "type" : "application/vnd.openstack.idm-v1.0+json" + } + ] + } +} diff --git a/docs/guide/src/docbkx/samples/version.xml b/docs/guide/src/docbkx/samples/version.xml new file mode 100644 index 00000000..4f499322 --- /dev/null +++ b/docs/guide/src/docbkx/samples/version.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + diff --git a/docs/guide/src/docbkx/samples/versions-atom.xml b/docs/guide/src/docbkx/samples/versions-atom.xml new file mode 100644 index 00000000..e75cf416 --- /dev/null +++ b/docs/guide/src/docbkx/samples/versions-atom.xml @@ -0,0 +1,22 @@ + + + Available API Versions + 2010-12-12T18:30:02.25Z + http://idm.api.openstack.org/ + Rackspacehttp://www.rackspace.com/ + + + http://idm.api.openstack.org/v1.1/ + Version v1.1 + 2010-12-12T18:30:02.25Z + + Version v1.1 CURRENT (2010-12-12T18:30:02.25Z) + + + http://idm.api.openstack.org/v1.0/ + Version v1.0 + 2009-10-09T11:30:00Z + + Version v1.0 DEPRECATED (2009-10-09T11:30:00Z) + + diff --git a/docs/guide/src/docbkx/samples/versions.json b/docs/guide/src/docbkx/samples/versions.json new file mode 100644 index 00000000..330a26e9 --- /dev/null +++ b/docs/guide/src/docbkx/samples/versions.json @@ -0,0 +1,28 @@ +{ + "versions" : { + "values" : [ + { + "id" : "v1.0", + "status" : "DEPRECATED", + "updated" : "2009-10-09T11:30:00Z", + "links": [ + { + "rel" : "self", + "href" : "http://idm.api.openstack.org/v1.0/" + } + ] + }, + { + "id" : "v1.1", + "status" : "CURRENT", + "updated" : "2010-12-12T18:30:02.25Z", + "links": [ + { + "rel" : "self", + "href" : "http://idm.api.openstack.org/v1.1/" + } + ] + } + ] + } +} diff --git a/docs/guide/src/docbkx/samples/versions.xml b/docs/guide/src/docbkx/samples/versions.xml new file mode 100644 index 00000000..7c3b1535 --- /dev/null +++ b/docs/guide/src/docbkx/samples/versions.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/docs/guide/src/docbkx/xsd/api-common.xsd b/docs/guide/src/docbkx/xsd/api-common.xsd new file mode 100644 index 00000000..5e8ebeda --- /dev/null +++ b/docs/guide/src/docbkx/xsd/api-common.xsd @@ -0,0 +1,56 @@ + + + + + + + + + + Open Stack Common API Schema Types 1.0 + + + + + +

+ This is the main index XML Schema document + for Common API Schema Types Version 1.0. +

+
+
+ + + +

+ Types related to extensions. +

+
+
+
+ + + +

+ Types related to API version details. +

+
+
+
+
diff --git a/docs/guide/src/docbkx/xsd/api.xsd b/docs/guide/src/docbkx/xsd/api.xsd new file mode 100644 index 00000000..eaa11c17 --- /dev/null +++ b/docs/guide/src/docbkx/xsd/api.xsd @@ -0,0 +1,14 @@ + + + + + + + diff --git a/docs/guide/src/docbkx/xsd/atom/atom.xsd b/docs/guide/src/docbkx/xsd/atom/atom.xsd new file mode 100644 index 00000000..a619efaa --- /dev/null +++ b/docs/guide/src/docbkx/xsd/atom/atom.xsd @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + See section 3.4 of the ATOM RFC RFC4287 + + + + + + + TODO + + + + + + + + TODO + + + + + + + + TODO + + + + + + + + TODO + + + + + + + + TODO + + + + + + + + diff --git a/docs/guide/src/docbkx/xsd/atom/xml.xsd b/docs/guide/src/docbkx/xsd/atom/xml.xsd new file mode 100644 index 00000000..aea7d0db --- /dev/null +++ b/docs/guide/src/docbkx/xsd/atom/xml.xsd @@ -0,0 +1,287 @@ + + + + + + +
+

About the XML namespace

+ +
+

+ This schema document describes the XML namespace, in a form + suitable for import by other schema documents. +

+

+ See + http://www.w3.org/XML/1998/namespace.html and + + http://www.w3.org/TR/REC-xml for information + about this namespace. +

+

+ Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. +

+

+ See further below in this document for more information about how to refer to this schema document from your own + XSD schema documents and about the + namespace-versioning policy governing this schema document. +

+
+
+
+
+ + + + +
+ +

lang (as an attribute name)

+

+ denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.

+ +
+
+

Notes

+

+ Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. +

+

+ See BCP 47 at + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + and the IANA language subtag registry at + + http://www.iana.org/assignments/language-subtag-registry + for further information. +

+

+ The union allows for the 'un-declaration' of xml:lang with + the empty string. +

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

space (as an attribute name)

+

+ denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.

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

base (as an attribute name)

+

+ denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.

+ +

+ See http://www.w3.org/TR/xmlbase/ + for information about this attribute. +

+
+
+
+
+ + + + +
+ +

id (as an attribute name)

+

+ denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.

+ +

+ See http://www.w3.org/TR/xml-id/ + for information about this attribute. +

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

Father (in any context at all)

+ +
+

+ denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: +

+
+

+ In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". +

+
+
+
+
+
+ + + +
+

About this schema document

+ +
+

+ This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow xml:base, + xml:lang, xml:space or + xml:id attributes on elements they define. +

+

+ To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: +

+
+          <schema . . .>
+           . . .
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     
+

+ or +

+
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     
+

+ Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. +

+
+          <type . . .>
+           . . .
+           <attributeGroup ref="xml:specialAttrs"/>
+     
+

+ will define a type which will schema-validate an instance element + with any of those attributes. +

+
+
+
+
+ + + +
+

Versioning policy for this schema document

+
+

+ In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + + http://www.w3.org/2009/01/xml.xsd. +

+

+ At the date of issue it can also be found at + + http://www.w3.org/2001/xml.xsd. +

+

+ The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + http://www.w3.org/2001/xml.xsd + + will change accordingly; the version at + + http://www.w3.org/2009/01/xml.xsd + + will not change. +

+

+ Previous dated (and unchanging) versions of this schema + document are at: +

+ +
+
+
+
+ +
+ diff --git a/docs/guide/src/docbkx/xsd/extensions.xsd b/docs/guide/src/docbkx/xsd/extensions.xsd new file mode 100644 index 00000000..a942f0a1 --- /dev/null +++ b/docs/guide/src/docbkx/xsd/extensions.xsd @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ There should be at least one atom link + with a describedby relation. +

+
+
+
+
+ + + + + + + +
diff --git a/docs/guide/src/docbkx/xsd/fault.xsd b/docs/guide/src/docbkx/xsd/fault.xsd new file mode 100644 index 00000000..8701b9f7 --- /dev/null +++ b/docs/guide/src/docbkx/xsd/fault.xsd @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + +

+ A human readable message that is appropriate for display + to the end user. +

+
+
+
+ + + +

+ The optional <details> element may contain useful + information for tracking down errors (e.g a stack + trace). This information may or may not be appropriate + for display to an end user. +

+
+
+
+ +
+ + + +

+ The HTTP status code associated with the current fault. +

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

+ An optional dateTime denoting when an operation should + be retried. +

+
+
+
+
+
+
+ +
diff --git a/docs/guide/src/docbkx/xsd/tenant.xsd b/docs/guide/src/docbkx/xsd/tenant.xsd new file mode 100644 index 00000000..2e4854fb --- /dev/null +++ b/docs/guide/src/docbkx/xsd/tenant.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/guide/src/docbkx/xsd/token.xsd b/docs/guide/src/docbkx/xsd/token.xsd new file mode 100644 index 00000000..80bcb029 --- /dev/null +++ b/docs/guide/src/docbkx/xsd/token.xsd @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/guide/src/docbkx/xsd/version.xsd b/docs/guide/src/docbkx/xsd/version.xsd new file mode 100644 index 00000000..6b2403bd --- /dev/null +++ b/docs/guide/src/docbkx/xsd/version.xsd @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + The VersionStatus type describes a service's operational status. + + + + + + + + + + + + + + + + + A version choice list outlines a collection of service version choices. + + + + + + + + + + + + + + In version lists, every single version must + contain at least one self link. + + + + + + + + + + + + + + When used as a root element, a version choice + must contain at least one describedby link. + + + + + + + + + + + + + A version choice contains relevant information about an available service + that a user can then use to target a specific version of the service. Note + that both the descriptive media types and the atom link references are + not manditory and are offered as message enrichment elements rather + than message requirements. + + + + + + + + + + + + + + + The ID of a version choice represents the service version's unique + identifier. This ID is guaranteed to be unique only among the + service version choices outlined in the VersionChoiceList. + + + + + + + + + + A version choice's status describes the current operational state of + the given service version. The operational status is captured in a + simple type enumeration called VersionStatus. + + + + + + + + + + A version choice's updated attribute describes + the time when the version was updated. The + time should be updated anytime + anything in the + version has changed: documentation, + extensions, bug fixes. + + + + + + + + + + + + A MediaTypeList outlines a collection of valid media types for a given + service version. + + + + + + + + + + + + + + + + A MediaType describes what content types the service version understands. + + + + + + + + + + + The base of a given media type describes the simple MIME type + that then a more complicated media type can be derived from. These + types are basic and provide no namespace or version specific + data are are only provided as a convenience. Because of this the + base attribute is declared as optional. + + + + + + + + + + The type attribute of a MediaType describes the MIME specific + identifier of the media type in question. This identifier should include + a vendor namespace ( + See RFC 2048) + as well as a version suffix. + + + + + + + -- cgit