1
<?xml version="1.0" encoding="UTF-8"?>
2
<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
4
<!-- (C) 2011 OpenStack LLC., All Rights Reserved -->
7
elementFormDefault="qualified"
8
attributeFormDefault="unqualified"
9
xmlns="http://www.w3.org/2001/XMLSchema"
10
xmlns:identity="http://docs.openstack.org/identity/api/v2.0"
11
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
12
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
13
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
14
xmlns:atom="http://www.w3.org/2005/Atom"
15
targetNamespace="http://docs.openstack.org/identity/api/v2.0"
17
<include schemaLocation="roles.xsd"/>
19
<!-- Import ATOM specific schema definitions -->
20
<import vc:minVersion="1.1" namespace="http://www.w3.org/2005/Atom"
21
schemaLocation="atom/atom.xsd" />
24
<element name="access" type="identity:AuthenticateResponse"/>
26
<!-- Complex Types -->
27
<complexType name="Token">
29
<xsd:documentation xml:lang="EN" xmlns="http://www.w3.org/1999/xhtml">
31
A token is an arbitrary bit of text that is used to access
32
resources. Each token has a scope which describes which
33
resources are accessible with it. A token may be
34
revoked at anytime and is valid for a finite duration.
37
While Keystone supports token-based authentication in this release,
38
the intention is for it to support additional protocols in the
39
future. The desire is for it to be an integration service, and not
40
a full-fledged identity store and management solution.
46
<xsdxt:code type="application/xml" href="../samples/token.xml" />
49
<xsdxt:code type="application/json" href="../samples/token.json" />
55
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
57
<attribute name="expires" type="xsd:dateTime" use="required"/>
58
<attribute name="id" type="xsd:string" use="required"/>
59
<anyAttribute namespace="##other" processContents="lax"/>
62
<complexType name="AuthenticateResponse">
64
<element name="token" type="identity:Token"/>
65
<element name="user" type="identity:UserForAuthenticateResponse"/>
66
<element name="serviceCatalog" type="identity:ServiceCatalog"/>
67
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
69
<anyAttribute namespace="##other" processContents="lax"/>
72
<complexType name="UserForAuthenticateResponse">
74
<element name="roles" type="identity:RoleList" />
75
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
77
<attribute name="id" type="xsd:string"/>
78
<attribute name="username" type="xsd:string"/>
79
<anyAttribute namespace="##other" processContents="lax"/>
81
<complexType name="ServiceCatalog">
83
<xsd:documentation xml:lang="EN" xmlns="http://www.w3.org/1999/xhtml">
85
The service catalog lists the services you have access to
89
We optimized for future flexibility around the hierarchy. So we
90
left the design as a flat list of endpoints with attributes and the
91
consumer can categorize as they need.
92
This results in potential duplication (such as with the version/@list)
93
but we acceopt that normalization cost in order to not force an
94
artificial hierarchy (suchas on region, which can be optional).
101
<xsdxt:code type="application/xml" href="../samples/services.xml" />
104
<xsdxt:code type="application/json" href="../samples/services.json" />
110
<element name="service" type="identity:Service" minOccurs="1" maxOccurs="unbounded">
114
xmlns="http://www.w3.org/1999/xhtml">
121
<element vc:minVersion="1.1" ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
122
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
124
<anyAttribute namespace="##other" processContents="lax"/>
126
<complexType name="Service">
128
<element name="endpoint" type="identity:EndpointForService" minOccurs="1" maxOccurs="unbounded">
132
xmlns="http://www.w3.org/1999/xhtml">
139
<element vc:minVersion="1.1" ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
140
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
142
<attribute name="type" type="identity:ExtensibleServiceType" use="required">
146
xmlns="http://www.w3.org/1999/xhtml">
148
The OpenStack-registered type (e.g. 'compute', 'object-store', etc).
153
<attribute name="name" type="xsd:string" use="optional">
157
xmlns="http://www.w3.org/1999/xhtml">
159
The commercial service name (e.g. 'My Nova Cloud Servers').
164
<anyAttribute namespace="##other" processContents="lax"/>
166
<complexType name="EndpointForService">
167
<attribute name="region" type="xsd:string" use="optional">
171
xmlns="http://www.w3.org/1999/xhtml">
173
The name of the region where the endpoint
174
lives. Example: airport codes; LHR (UK),
180
<attribute name="publicURL" type="xsd:anyURI" use="required">
184
xmlns="http://www.w3.org/1999/xhtml">
186
The publically accessible service URL.
191
<attribute name="internalURL" type="xsd:anyURI" use="optional">
195
xmlns="http://www.w3.org/1999/xhtml">
197
A service URL, accessible only locally within that
198
cloud (generally over a high bandwidth, low latency,
199
free of charge link).
204
<attribute name="adminURL" type="xsd:anyURI" use="optional">
208
xmlns="http://www.w3.org/1999/xhtml">
210
An Admin URL (used for administration using privileged
211
calls). This may expose
212
additional functionality not found in the public and
218
<anyAttribute namespace="##other" processContents="lax"/>
221
<!-- Simple Types -->
222
<simpleType name="ExtensibleServiceType">
226
xmlns="http://www.w3.org/1999/xhtml">
228
An extensible service type allows all of the
229
strings defined in <a href="#type_ServiceType"
230
title="See definition of
231
ServiceType">ServiceType</a> or an
232
alias prefixed status.
236
<union memberTypes="identity:ServiceType identity:ExtendedService"/>
239
<simpleType name="ServiceType">
240
<restriction base="xsd:string">
241
<enumeration value="compute">
245
xmlns="http://www.w3.org/1999/xhtml">
247
The type for an OpenStack Compute API 1.1 compatible service.
252
<enumeration value="object-store">
256
xmlns="http://www.w3.org/1999/xhtml">
258
The type for a Swift-compatible service.
263
<enumeration value="image-service">
267
xmlns="http://www.w3.org/1999/xhtml">
269
The type for a Glance-compatible service
274
<enumeration value="identity">
278
xmlns="http://www.w3.org/1999/xhtml">
280
The type for a Keystone-compatible service.
288
<simpleType name="ExtendedService">
292
xmlns="http://www.w3.org/1999/xhtml">
294
A non-core service type which must contain an extension prefix.
298
<restriction base="xsd:string">
299
<pattern value="\w+-\w+:\w+"/>