~ubuntu-branches/ubuntu/oneiric/keystone/oneiric

« back to all changes in this revision

Viewing changes to keystone/content/service/xsd/token.xsd

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-08-23 10:18:22 UTC
  • Revision ID: james.westby@ubuntu.com-20110823101822-enve6zceb3lqhuvj
Tags: upstream-1.0~d4~20110823.1078
Import upstream version 1.0~d4~20110823.1078

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
 
3
 
 
4
<!-- (C) 2011 OpenStack LLC., All Rights Reserved -->
 
5
 
 
6
<schema
 
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"
 
16
>
 
17
    <include schemaLocation="roles.xsd"/>
 
18
    
 
19
    <!-- Import ATOM specific schema definitions -->
 
20
    <import vc:minVersion="1.1" namespace="http://www.w3.org/2005/Atom"
 
21
        schemaLocation="atom/atom.xsd" />
 
22
    
 
23
    <!-- Elements -->
 
24
    <element name="access" type="identity:AuthenticateResponse"/>
 
25
    
 
26
    <!-- Complex Types -->
 
27
    <complexType name="Token">
 
28
        <annotation>
 
29
            <xsd:documentation xml:lang="EN" xmlns="http://www.w3.org/1999/xhtml">
 
30
                <p>
 
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.
 
35
                </p>
 
36
                <p>
 
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.
 
41
                </p>
 
42
            </xsd:documentation>
 
43
            <xsd:appinfo>
 
44
                <xsdxt:samples>
 
45
                    <xsdxt:sample>
 
46
                        <xsdxt:code type="application/xml" href="../samples/token.xml" />
 
47
                    </xsdxt:sample>
 
48
                    <xsdxt:sample>
 
49
                        <xsdxt:code type="application/json" href="../samples/token.json" />
 
50
                    </xsdxt:sample>
 
51
                </xsdxt:samples>
 
52
            </xsd:appinfo>
 
53
        </annotation>
 
54
        <sequence>
 
55
            <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
 
56
        </sequence>
 
57
        <attribute name="expires" type="xsd:dateTime" use="required"/>
 
58
        <attribute name="id" type="xsd:string" use="required"/>
 
59
        <anyAttribute namespace="##other" processContents="lax"/>
 
60
    </complexType>
 
61
 
 
62
    <complexType name="AuthenticateResponse">
 
63
        <sequence>
 
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" />
 
68
        </sequence>
 
69
        <anyAttribute namespace="##other" processContents="lax"/>
 
70
    </complexType>
 
71
 
 
72
    <complexType name="UserForAuthenticateResponse">
 
73
        <sequence>
 
74
            <element name="roles" type="identity:RoleList" />
 
75
            <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
 
76
        </sequence>
 
77
        <attribute name="id" type="xsd:string"/>
 
78
        <attribute name="username" type="xsd:string"/>
 
79
        <anyAttribute namespace="##other" processContents="lax"/>
 
80
    </complexType>
 
81
    <complexType name="ServiceCatalog">
 
82
        <annotation>
 
83
            <xsd:documentation xml:lang="EN" xmlns="http://www.w3.org/1999/xhtml">
 
84
                <p>
 
85
                  The service catalog lists the services you have access to
 
86
                </p>
 
87
                <div class="design">
 
88
                    <p>
 
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).
 
95
                  </p>
 
96
                </div>
 
97
            </xsd:documentation>
 
98
            <xsd:appinfo>
 
99
              <xsdxt:samples>
 
100
                <xsdxt:sample>
 
101
                  <xsdxt:code type="application/xml" href="../samples/services.xml" />
 
102
                </xsdxt:sample>
 
103
                <xsdxt:sample>
 
104
                  <xsdxt:code type="application/json" href="../samples/services.json" />
 
105
                </xsdxt:sample>
 
106
              </xsdxt:samples>
 
107
            </xsd:appinfo>
 
108
        </annotation>
 
109
        <sequence>
 
110
            <element name="service" type="identity:Service" minOccurs="1" maxOccurs="unbounded">
 
111
                <annotation>
 
112
                    <xsd:documentation
 
113
                            xml:lang="EN"
 
114
                            xmlns="http://www.w3.org/1999/xhtml">
 
115
                        <p>
 
116
                            A list of services.
 
117
                        </p>
 
118
                    </xsd:documentation>
 
119
                </annotation>
 
120
            </element>
 
121
            <element vc:minVersion="1.1" ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
 
122
            <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
 
123
        </sequence>
 
124
        <anyAttribute namespace="##other" processContents="lax"/>
 
125
    </complexType>
 
126
    <complexType name="Service">
 
127
        <sequence>
 
128
            <element name="endpoint" type="identity:EndpointForService" minOccurs="1" maxOccurs="unbounded">
 
129
                <annotation>
 
130
                    <xsd:documentation
 
131
                            xml:lang="EN"
 
132
                            xmlns="http://www.w3.org/1999/xhtml">
 
133
                        <p>
 
134
                            A list of endpoints.
 
135
                        </p>
 
136
                    </xsd:documentation>
 
137
                </annotation>
 
138
            </element>
 
139
            <element vc:minVersion="1.1" ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
 
140
            <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
 
141
        </sequence>
 
142
        <attribute name="type" type="identity:ExtensibleServiceType" use="required">
 
143
          <annotation>
 
144
                <xsd:documentation
 
145
                        xml:lang="EN"
 
146
                        xmlns="http://www.w3.org/1999/xhtml">
 
147
                    <p>
 
148
                        The OpenStack-registered type (e.g. 'compute', 'object-store', etc).
 
149
                    </p>
 
150
                </xsd:documentation>
 
151
            </annotation>
 
152
        </attribute>
 
153
        <attribute name="name" type="xsd:string" use="optional">
 
154
            <annotation>
 
155
                <xsd:documentation
 
156
                        xml:lang="EN"
 
157
                        xmlns="http://www.w3.org/1999/xhtml">
 
158
                    <p>
 
159
                        The commercial service name (e.g. 'My Nova Cloud Servers').
 
160
                    </p>
 
161
                </xsd:documentation>
 
162
            </annotation>
 
163
        </attribute>
 
164
        <anyAttribute namespace="##other" processContents="lax"/>
 
165
    </complexType>
 
166
    <complexType name="EndpointForService">
 
167
        <attribute name="region" type="xsd:string" use="optional">
 
168
            <annotation>
 
169
                <xsd:documentation
 
170
                        xml:lang="EN"
 
171
                        xmlns="http://www.w3.org/1999/xhtml">
 
172
                    <p>
 
173
                        The name of the region where the endpoint
 
174
                        lives. Example: airport codes; LHR (UK),
 
175
                        STL (Saint Louis)
 
176
                    </p>
 
177
                </xsd:documentation>
 
178
            </annotation>
 
179
        </attribute>
 
180
        <attribute name="publicURL" type="xsd:anyURI" use="required">
 
181
            <annotation>
 
182
                <xsd:documentation
 
183
                        xml:lang="EN"
 
184
                        xmlns="http://www.w3.org/1999/xhtml">
 
185
                    <p>
 
186
                        The publically accessible service URL.
 
187
                    </p>
 
188
                </xsd:documentation>
 
189
            </annotation>
 
190
        </attribute>
 
191
        <attribute name="internalURL" type="xsd:anyURI" use="optional">
 
192
            <annotation>
 
193
                <xsd:documentation
 
194
                        xml:lang="EN"
 
195
                        xmlns="http://www.w3.org/1999/xhtml">
 
196
                    <p>
 
197
                        A service URL, accessible only locally within that
 
198
                        cloud (generally over a high bandwidth, low latency,
 
199
                        free of charge link).
 
200
                    </p>
 
201
                </xsd:documentation>
 
202
            </annotation>
 
203
        </attribute>
 
204
        <attribute name="adminURL" type="xsd:anyURI" use="optional">
 
205
            <annotation>
 
206
                <xsd:documentation
 
207
                        xml:lang="EN"
 
208
                        xmlns="http://www.w3.org/1999/xhtml">
 
209
                    <p>
 
210
                        An Admin URL (used for administration using privileged
 
211
                        calls). This may expose
 
212
                        additional functionality not found in the public and
 
213
                        internal URL.
 
214
                    </p>
 
215
                </xsd:documentation>
 
216
            </annotation>
 
217
        </attribute>
 
218
        <anyAttribute namespace="##other" processContents="lax"/>
 
219
    </complexType>
 
220
    
 
221
    <!-- Simple Types -->
 
222
    <simpleType name="ExtensibleServiceType">
 
223
        <annotation>
 
224
            <xsd:documentation
 
225
                xml:lang="EN"
 
226
                xmlns="http://www.w3.org/1999/xhtml">
 
227
                <p>
 
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.
 
233
                </p>
 
234
            </xsd:documentation>
 
235
        </annotation>
 
236
        <union memberTypes="identity:ServiceType identity:ExtendedService"/>
 
237
    </simpleType>
 
238
    
 
239
    <simpleType name="ServiceType">
 
240
        <restriction base="xsd:string">
 
241
            <enumeration value="compute">
 
242
                <annotation>
 
243
                    <xsd:documentation
 
244
                        xml:lang="EN"
 
245
                        xmlns="http://www.w3.org/1999/xhtml">
 
246
                        <p>
 
247
                            The type for an OpenStack Compute API 1.1 compatible service.
 
248
                        </p>
 
249
                    </xsd:documentation>
 
250
                </annotation>
 
251
            </enumeration>
 
252
            <enumeration value="object-store">
 
253
                <annotation>
 
254
                    <xsd:documentation
 
255
                        xml:lang="EN"
 
256
                        xmlns="http://www.w3.org/1999/xhtml">
 
257
                        <p>
 
258
                            The type for a Swift-compatible service.
 
259
                        </p>
 
260
                    </xsd:documentation>
 
261
                </annotation>
 
262
            </enumeration>
 
263
            <enumeration value="image-service">
 
264
                <annotation>
 
265
                    <xsd:documentation
 
266
                        xml:lang="EN"
 
267
                        xmlns="http://www.w3.org/1999/xhtml">
 
268
                        <p>
 
269
                            The type for a Glance-compatible service
 
270
                        </p>
 
271
                    </xsd:documentation>
 
272
                </annotation>
 
273
            </enumeration>
 
274
            <enumeration value="identity">
 
275
                <annotation>
 
276
                    <xsd:documentation
 
277
                        xml:lang="EN"
 
278
                        xmlns="http://www.w3.org/1999/xhtml">
 
279
                        <p>
 
280
                            The type for a Keystone-compatible service.
 
281
                        </p>
 
282
                    </xsd:documentation>
 
283
                </annotation>
 
284
            </enumeration>
 
285
        </restriction>
 
286
    </simpleType>
 
287
    
 
288
    <simpleType name="ExtendedService">
 
289
        <annotation>
 
290
            <xsd:documentation
 
291
                xml:lang="EN"
 
292
                xmlns="http://www.w3.org/1999/xhtml">
 
293
                <p>
 
294
                    A non-core service type which must contain an extension prefix.
 
295
                </p>
 
296
            </xsd:documentation>
 
297
        </annotation>
 
298
        <restriction base="xsd:string">
 
299
            <pattern value="\w+-\w+:\w+"/>
 
300
        </restriction>
 
301
    </simpleType>
 
302
    
 
303
</schema>
 
304