Remove v2 and v2-admin API documentation
The only documentation left that describes v2.0 at all is the ec2tokens API documentation. When T rolls around, we'll remove that, too. Change-Id: I9d668d2fbac2d13bda3e569be10028dda99c5ab1
This commit is contained in:
@@ -11,8 +11,6 @@ Contents:
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
v2/index
|
||||
v2-admin/index
|
||||
v2-ext/index
|
||||
v3/index
|
||||
v3-ext/index
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
============
|
||||
Certificates
|
||||
============
|
||||
|
||||
Allows the retrieval of information for Certificate Authorities and certificates.
|
||||
|
||||
Show CA Certificate (v2)
|
||||
========================
|
||||
|
||||
.. rest_method:: GET /v2.0/certificates/ca
|
||||
|
||||
Show the available CA certificate.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 401, 500
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/admin/show-ca-certificate-v2-response.txt
|
||||
:language: text
|
||||
|
||||
Show Signing Certificate (v2)
|
||||
=============================
|
||||
|
||||
.. rest_method:: GET /v2.0/certificates/signing
|
||||
|
||||
Show the available signing certificate.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 401, 500
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/admin/show-signing-certificate-v2-response.txt
|
||||
:language: text
|
||||
@@ -1,77 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
=======
|
||||
Tenants
|
||||
=======
|
||||
|
||||
|
||||
List users on a tenant
|
||||
======================
|
||||
|
||||
.. rest_method:: GET /v2.0/tenants/{tenantId}/users
|
||||
|
||||
Lists all users for a tenant.
|
||||
|
||||
Normal response codes: 200, 203
|
||||
Error response codes: 413, 405, 404, 403, 401, 400, 503
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenantId: tenant_id_path
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- users: users
|
||||
- users_link: users_link
|
||||
- enabled: user_enabled
|
||||
- username: user_name
|
||||
- email: user_email
|
||||
- id: user_id
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/users-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
List roles for user
|
||||
===================
|
||||
|
||||
.. rest_method:: GET /v2.0/tenants/{tenantId}/users/{userId}/roles
|
||||
|
||||
Lists roles for a user on a tenant. Excludes global roles.
|
||||
|
||||
Normal response codes: 200,203
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- userId: user_id_path
|
||||
- tenantId: tenant_id_path
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- roles: roles
|
||||
- roles_links: roles_links
|
||||
- description: role_description
|
||||
- name: role_name
|
||||
- id: role_id
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/roles-list-response.json
|
||||
:language: javascript
|
||||
@@ -1,76 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
======
|
||||
Tokens
|
||||
======
|
||||
|
||||
|
||||
Authenticate for admin API
|
||||
==========================
|
||||
|
||||
.. rest_method:: POST /v2.0/tokens
|
||||
|
||||
Authenticates and generates a token.
|
||||
|
||||
A REST interface provides client authentication by using the POST
|
||||
method with ``v2.0/tokens`` as the path. Include a payload of
|
||||
credentials in the body.
|
||||
|
||||
The Identity API is a RESTful web service. It is the entry point to
|
||||
all service APIs. To access the Identity API, you must know its
|
||||
URL.
|
||||
|
||||
Each REST request against the Identity Service requires the ``X
|
||||
-Auth-Token`` header. Clients obtain this token and the URL
|
||||
endpoints for other service APIs by supplying their valid
|
||||
credentials to the authentication service.
|
||||
|
||||
If the authentication token has expired, this call returns the HTTP
|
||||
``unauthorized (401)`` response code.
|
||||
|
||||
If the token has expired, this call returns the ``itemNotFound
|
||||
(404)`` response code.
|
||||
|
||||
The Identity API treats expired tokens as no longer valid tokens.
|
||||
|
||||
The deployment determines how long expired tokens are stored.
|
||||
|
||||
To view the ``trust`` object, you need to set ``trust`` enable on
|
||||
the keystone configuration.
|
||||
|
||||
Normal response codes: 200,203
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ../v2/samples/admin/authenticate-token-request.json
|
||||
:language: javascript
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- token: token
|
||||
- access: access
|
||||
- issued_at: token_issued_at
|
||||
- expires: token_expires
|
||||
- id: token_id
|
||||
- tenant: tenant
|
||||
- description: tenant_description
|
||||
- serviceCatalog: serviceCatalog
|
||||
- type: serviceCatalog_type
|
||||
- endpoints_links: serviceCatalog_endpoints_links
|
||||
- impersonation: impersonation
|
||||
- endpoints: endpoints
|
||||
- user: user
|
||||
- roles: roles
|
||||
- metadata: metadata
|
||||
- trust: trust
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ../v2/samples/admin/authenticate-response.json
|
||||
:language: javascript
|
||||
@@ -1,29 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
========
|
||||
Versions
|
||||
========
|
||||
|
||||
|
||||
Get version details
|
||||
===================
|
||||
|
||||
.. rest_method:: GET /v2.0
|
||||
|
||||
Gets detailed information about a version of the Identity API.
|
||||
|
||||
Normal response codes: 200,203
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- location: location
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ../v2/samples/admin/version-show-response.json
|
||||
:language: javascript
|
||||
@@ -1,12 +0,0 @@
|
||||
:tocdepth: 3
|
||||
|
||||
--------------------------------------
|
||||
Identity Admin API v2.0 (DEPRECATED)
|
||||
--------------------------------------
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
.. include:: admin-tenants.inc
|
||||
.. include:: admin-tokens.inc
|
||||
.. include:: admin-versions.inc
|
||||
.. include:: admin-certificates.inc
|
||||
@@ -1,360 +0,0 @@
|
||||
# variables in header
|
||||
X-Auth-Token:
|
||||
description: |
|
||||
A valid authentication token for an
|
||||
administrative user.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# variables in path
|
||||
endpoint_id_path:
|
||||
description: |
|
||||
Endpoint ID
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
tenant_id_path:
|
||||
description: |
|
||||
The tenant ID.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
token_id_path:
|
||||
description: |
|
||||
The authentication token for which to perform the
|
||||
operation.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
user_id_path:
|
||||
description: |
|
||||
The user ID.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# variables in query
|
||||
belongsTo:
|
||||
description: |
|
||||
Project ID to check against token scope.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
tenant_name_query:
|
||||
description: |
|
||||
Filters the response by a tenant name.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in body
|
||||
access:
|
||||
description: |
|
||||
An ``access`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
email:
|
||||
description: |
|
||||
The user email.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
enabled:
|
||||
description: |
|
||||
Indicates whether the tenant is enabled or
|
||||
disabled.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
endpoint:
|
||||
description: |
|
||||
Endpoint object. Contains ``publicURL``, ``adminURL``,
|
||||
``internalURL``, ``id`` and ``region`` for the endpoint.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
endpoint_adminurl_request:
|
||||
description: |
|
||||
Admin URL
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
endpoint_id:
|
||||
description: |
|
||||
Endpoint ID
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
endpoint_internalurl_request:
|
||||
description: |
|
||||
Internal URL
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
endpoint_internalurl_response:
|
||||
description: |
|
||||
Internal URL
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
endpoint_publicurl_request:
|
||||
description: |
|
||||
Public URL
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
endpoint_publicurl_response:
|
||||
description: |
|
||||
Public URL
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
endpoint_region_request:
|
||||
description: |
|
||||
Region of the endpoint
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
endpoint_region_response:
|
||||
description: |
|
||||
Region of the endpoint
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
endpoints:
|
||||
description: |
|
||||
One or more ``endpoint`` objects. Each object
|
||||
shows the ``adminURL``, ``region``, ``internalURL``, ``id``, and
|
||||
``publicURL`` for the endpoint.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
impersonation:
|
||||
description: |
|
||||
The impersonation flag.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
location:
|
||||
format: uri
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
metadata:
|
||||
description: |
|
||||
A ``metadata`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
role_description:
|
||||
description: |
|
||||
The role description.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
role_id:
|
||||
description: |
|
||||
The role ID.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
role_name:
|
||||
description: |
|
||||
The role name.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
roles:
|
||||
description: |
|
||||
The collection of roles.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
roles_links:
|
||||
description: |
|
||||
The link to the represented role collection.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
service_id_request:
|
||||
description: |
|
||||
Service ID
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
serviceCatalog:
|
||||
description: |
|
||||
A ``serviceCatalog`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
serviceCatalog_endpoints_links:
|
||||
description: |
|
||||
Links for the endpoint.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
serviceCatalog_type:
|
||||
description: |
|
||||
The service catalog type.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenant:
|
||||
description: |
|
||||
A ``tenant`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenant_description:
|
||||
description: |
|
||||
The description of the tenant. If not set, this
|
||||
value is ``null``.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenant_enabled:
|
||||
description: |
|
||||
Indicates whether the tenant is enabled or
|
||||
disabled.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
tenant_id:
|
||||
description: |
|
||||
The tenant ID.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenant_links:
|
||||
description: |
|
||||
The link to the represented tenant collection.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
tenant_name:
|
||||
description: |
|
||||
Tenant name.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenants:
|
||||
description: |
|
||||
The collection of tenants.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
token:
|
||||
description: |
|
||||
A ``token`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
token_expires:
|
||||
description: |
|
||||
The date and time when the token expires.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss.sssZ
|
||||
|
||||
For example, ``2015-08-27T09:49:58.000000Z``.
|
||||
|
||||
A ``null`` value indicates that the token never expires.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
token_id:
|
||||
description: |
|
||||
The token ID.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
token_issued_at:
|
||||
description: |
|
||||
The date and time when the token was issued.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss.sssZ
|
||||
|
||||
For example, ``2015-08-27T09:49:58.000000Z``.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
trust:
|
||||
description: |
|
||||
A ``trust`` object.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
user:
|
||||
description: |
|
||||
A ``user`` object, which shows the ``username``,
|
||||
``roles_links``, ``id``, ``roles``, and ``name``.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
user_email:
|
||||
description: |
|
||||
The user email.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
user_enabled:
|
||||
description: |
|
||||
Indicates whether the user is enabled (``true``)
|
||||
or disabled(``false``). The default value is ``true``.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
user_id:
|
||||
description: |
|
||||
The user ID.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
user_name:
|
||||
description: |
|
||||
The user name.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
user_password:
|
||||
description: |
|
||||
The user password.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
username:
|
||||
description: |
|
||||
The username of user.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
username_request:
|
||||
description: |
|
||||
The username of user.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
users:
|
||||
description: |
|
||||
One or more ``user`` objects.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
users_link:
|
||||
description: |
|
||||
The link to the reporesented user collection.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"endpoint": {
|
||||
"adminurl": null,
|
||||
"internalurl": null,
|
||||
"publicurl": "http://host-3:8774/v1.1/$(tenant_id)s",
|
||||
"region": "RegionOne",
|
||||
"service_id": "aea0aa3723e34ee3a5ac49ce86d4cc6e"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"endpoint": {
|
||||
"adminurl": null,
|
||||
"id": "8f9531231e044e218824b0e58688d263",
|
||||
"internalurl": null,
|
||||
"publicurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"region": "RegionOne"
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"id": "8f9531231e044e218824b0e58688d262",
|
||||
"internalurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"publicurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"region": "RegionOne"
|
||||
},
|
||||
{
|
||||
"adminurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"id": "8f9531231e044e218824b0e58688d263",
|
||||
"internalurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"publicurl": "http://host-1:8774/v1.1/$(tenant_id)s",
|
||||
"region": "RegionOne"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"roles": [
|
||||
{
|
||||
"id": "123",
|
||||
"name": "compute:admin",
|
||||
"description": "Nova Administrator"
|
||||
}
|
||||
],
|
||||
"roles_links": []
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
MIIDgTCCAmmgAwIBAgIJAIr3n9+0RSC7MA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNV
|
||||
BAYTAlVTMQ4wDAYDVQQIDAVVbnNldDEOMAwGA1UEBwwFVW5zZXQxDjAMBgNVBAoM
|
||||
BVVuc2V0MRgwFgYDVQQDDA93d3cuZXhhbXBsZS5jb20wHhcNMTYxMDIwMTMwMjE4
|
||||
WhcNMjYxMDE4MTMwMjE4WjBXMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVW5zZXQx
|
||||
DjAMBgNVBAcMBVVuc2V0MQ4wDAYDVQQKDAVVbnNldDEYMBYGA1UEAwwPd3d3LmV4
|
||||
YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwoJkYpfJ
|
||||
Bvqfq0eAuqTIziiunNQdnSUX/aMS5UuI6tjzSkYnR5FCdf9UP8OrpA37gthvz3KK
|
||||
XhNLqnnV8MLzEo3+lN5IAr+TE1foXnqGs6vNvj5Jn1lViXXpIeaHxMwkJpJjPwxJ
|
||||
nFLtxL1m9hIx5anV5ZyJWV8RIaMqnzOJ7QYiX07aouRvmtT5O1LQzr2ht2l4EzPY
|
||||
YDt9UV/daSikrmroBnwgWMecaFJOC1pxSyvO2PAnw+yhX6NHgGPJmOu0TSN2IK1p
|
||||
o07ZVM3QJLLbEZFjcUK7FXNRk5ZfzjkCrJA1l0Ys3ByHTb2offffIyTYPuatQtfF
|
||||
0XvTIwMN5eIAswIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTZ4Nls
|
||||
7DRmUBcrYhYDLSsDM0BCWzAfBgNVHSMEGDAWgBTZ4Nls7DRmUBcrYhYDLSsDM0BC
|
||||
WzANBgkqhkiG9w0BAQsFAAOCAQEALil6WvVii6yNVwu0zgt2iDYqHvnnHWnSVhEJ
|
||||
eKeBFRxpuwiH+UOeygFB0/6lD2r11cD0SdgaMfLAKkKspQucJIsp3BYLwBJ25oxn
|
||||
NL2yB3HLZeEebAQzXQwnRbWUbIpcp/XPlKjybiA3unqE+X/qdQZgxJ2Xgtp7bHhN
|
||||
yzDCSOUZlHrkKNXtFNvqRtoCeMBs2+jfqx2ap64ORSnLihEi57lOcUn2DbAR45OI
|
||||
+wppD5CcUTDsE0r+XbBK3Cm3dn6pVyVcawv5qDidRB7JdsDbx6VC7gcBbdgdbLWz
|
||||
Xf4KS8N77jeGjqKJ7QY5jkHdXhY+gGbeponch4y2VqLgMI0VGQ==
|
||||
@@ -1,19 +0,0 @@
|
||||
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBXMQswCQYDVQQGEwJVUzEO
|
||||
MAwGA1UECAwFVW5zZXQxDjAMBgNVBAcMBVVuc2V0MQ4wDAYDVQQKDAVVbnNldDEY
|
||||
MBYGA1UEAwwPd3d3LmV4YW1wbGUuY29tMB4XDTE2MTAyMDEzMDIxOFoXDTI2MTAx
|
||||
ODEzMDIxOFowRzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQK
|
||||
DAVVbnNldDEYMBYGA1UEAwwPd3d3LmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B
|
||||
AQEFAAOCAQ8AMIIBCgKCAQEAua3cVYSD9KY31+wNXZv3HBS5MyzTfoY+nh4nJ2x8
|
||||
Ram6liu4gkHYRonTUriIrgDLyo+2fuXrmyFcq1+8ke4KD3n24i8pzcrt6BOGAVYP
|
||||
KdPyXU0EkZECNmH/tKjvVqMLHcq2apsZdZ5ujBtE5G4zbTjVIEzz90AbAmRVJy7S
|
||||
seluCxBKtg3IGa1WwqgU4B5pgog+VDpT8XPKFvHi1cVaX76qS6MOUxXA7kuOQUct
|
||||
JxcyITS26Mxym7wOTI+7JV5A9Ow/dUN6CrGMrfHB59Psx3os/BfoopFmIbbnHdOO
|
||||
ETOeifelkhwLWLfmmOHxWgYYX/aEyW3L/xCU5QDCz9B0wQIDAQABo00wSzAJBgNV
|
||||
HRMEAjAAMB0GA1UdDgQWBBQeoHzsYSUSfGymk6kem/lpGVJS9DAfBgNVHSMEGDAW
|
||||
gBTZ4Nls7DRmUBcrYhYDLSsDM0BCWzANBgkqhkiG9w0BAQsFAAOCAQEAfsH6AN7p
|
||||
XWBg062LUtpfDsRyXqOLYofR4Y0Mzo1rH0jaozJsnOxsj42BdP+hBGjtZB9eUwgP
|
||||
gx+MJQC4pz+Wuc/xMysDT6f0hyjZmsakXM92lsztlW7+Y7u9ATa2lDTER1Fv7X6D
|
||||
I+kN+dhphq0lrIRWZvAf3TlZpEUG38cTxLD8OsdOlq4BxSzmvKFQf4mcbu39OX7i
|
||||
0fGih0SxSa03idx9NWEOEp9IaGLo/mfL84nb4YjgV9yJj+3CkxYvqPlpiM2rHD/C
|
||||
hMgz/UB52OxbjYjbWoyStZwvlSwKWY75C9iYA04TZrhs5UWvAT+I2Y2UY/krrZ2a
|
||||
Rke2Bj7NAvXPHw==
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"tenant": {
|
||||
"id": "1234",
|
||||
"name": "ACME corp",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"tenant": {
|
||||
"id": "1234",
|
||||
"name": "ACME corp",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"tenant": {
|
||||
"name": "ACME corp",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
{
|
||||
"endpoints_links": [],
|
||||
"endpoints": [
|
||||
{
|
||||
"name": "nova",
|
||||
"adminURL": "https://nova.region-one.internal.com/v2/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://nova.region-one.internal.com/v2/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"type": "compute",
|
||||
"id": "11b41ee1b00841128b7333d4bf1a6140",
|
||||
"publicURL": "https://nova.region-one.public.com/v2/be1319401cfa4a0aa590b97cc7b64d8d"
|
||||
},
|
||||
{
|
||||
"name": "neutron",
|
||||
"adminURL": "https://neutron.region-one.internal.com/",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://neutron.region-one.internal.com/",
|
||||
"type": "network",
|
||||
"id": "cdbfa3c416d741a9b5c968f2dc628acb",
|
||||
"publicURL": "https://neutron.region-one.public.com/"
|
||||
},
|
||||
{
|
||||
"name": "cinderv2",
|
||||
"adminURL": "https://cinderv2.region-one.internal.com/v2/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://cinderv2.region-one.internal.com/v2/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"type": "cinderv2v2",
|
||||
"id": "6de282e4132747ecb48f6fd8c525c6f6",
|
||||
"publicURL": "https://cinderv2.region-one.public.com/v2/be1319401cfa4a0aa590b97cc7b64d8d"
|
||||
},
|
||||
{
|
||||
"name": "trove",
|
||||
"adminURL": "https://trove.region-one.internal.com/v1.0/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://trove.region-one.internal.com/v1.0/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"type": "database",
|
||||
"id": "4bfad53a0c684bd981d093099eb7799b",
|
||||
"publicURL": "https://trove.region-one.public.com/v1.0/be1319401cfa4a0aa590b97cc7b64d8d"
|
||||
},
|
||||
{
|
||||
"name": "s3",
|
||||
"adminURL": "https://s3.region-one.internal.com",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://s3.region-one.internal.com",
|
||||
"type": "s3",
|
||||
"id": "50fb6b43cde44bb6b0e471a682dc42dd",
|
||||
"publicURL": "https://s3.region-one.public.com"
|
||||
},
|
||||
{
|
||||
"name": "glance",
|
||||
"adminURL": "https://glance.region-one.internal.com",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://glance.region-one.internal.com",
|
||||
"type": "glance",
|
||||
"id": "838a338171164c3c8f56e6b5882267ff",
|
||||
"publicURL": "https://glance.region-one.public.com"
|
||||
},
|
||||
{
|
||||
"name": "novav3",
|
||||
"adminURL": "https://novav3.region-one.internal.com/v3",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://novav3.region-one.internal.com/v3",
|
||||
"type": "computev3",
|
||||
"id": "b437edd03d244bf4be605b9b8c8689e0",
|
||||
"publicURL": "https://novav3.region-one.public.com/v3"
|
||||
},
|
||||
{
|
||||
"name": "heat",
|
||||
"adminURL": "https://heat.region-one.internal.comv1",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://heat.region-one.internal.comv1",
|
||||
"type": "cloudformation",
|
||||
"id": "7a0f6f37344d488fa596a1325e0fcf10",
|
||||
"publicURL": "https://heat.region-one.public.comv1"
|
||||
},
|
||||
{
|
||||
"name": "cinder",
|
||||
"adminURL": "https://cinder.region-one.internal.com/v1/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://cinder.region-one.internal.com/v1/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"type": "cinderv2",
|
||||
"id": "d4f251065dce4ce3946d3c1b87e167f2",
|
||||
"publicURL": "https://cinder.region-one.public.com/v1/be1319401cfa4a0aa590b97cc7b64d8d"
|
||||
},
|
||||
{
|
||||
"name": "ec2",
|
||||
"adminURL": "https://ec2.region-one.internal.com/services/Admin",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://ec2.region-one.internal.com/services/Cloud",
|
||||
"type": "ec2",
|
||||
"id": "44c6bf28d9bd4d63bfb00d66f22439a8",
|
||||
"publicURL": "https://ec2.region-one.public.com/services/Cloud"
|
||||
},
|
||||
{
|
||||
"name": "heat",
|
||||
"adminURL": "https://heat.region-one.internal.com/v1/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://heat.region-one.internal.com/v1/be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"type": "orchestration",
|
||||
"id": "21aaace3f33c46b8aaea2b17d41ffd54",
|
||||
"publicURL": "https://heat.region-one.public.com/v1/be1319401cfa4a0aa590b97cc7b64d8d"
|
||||
},
|
||||
{
|
||||
"name": "swift",
|
||||
"adminURL": "https://swift.region-one.internal.com",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://swift.region-one.internal.com/v1/AUTH_be1319401cfa4a0aa590b97cc7b64d8d",
|
||||
"type": "object-store",
|
||||
"id": "35f7aca3be384580a3b1df43a97c2eb2",
|
||||
"publicURL": "https://swift.region-one.public.com/v1/AUTH_be1319401cfa4a0aa590b97cc7b64d8d"
|
||||
},
|
||||
{
|
||||
"name": "keystone",
|
||||
"adminURL": "https://keystone.region-one.internal.com/v2.0",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "https://keystone.region-one.internal.com/v2.0",
|
||||
"type": "identity",
|
||||
"id": "48da758fb58c47dcaf02000a4409a265",
|
||||
"publicURL": "https://keystone.region-one.public.com/v2.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"access": {
|
||||
"token": {
|
||||
"id": "ab48a9efdfedb23ty3494",
|
||||
"expires": "2010-11-01T03:32:15-05:00",
|
||||
"tenant": {
|
||||
"id": "345",
|
||||
"name": "My Project"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"id": "123",
|
||||
"name": "jqsmith",
|
||||
"roles": [
|
||||
{
|
||||
"id": "234",
|
||||
"name": "compute:admin"
|
||||
},
|
||||
{
|
||||
"id": "234",
|
||||
"name": "object-store:admin",
|
||||
"tenantId": "1"
|
||||
}
|
||||
],
|
||||
"roles_links": []
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"email": "new-user@example.com",
|
||||
"password": null,
|
||||
"enabled": true,
|
||||
"name": "new-user",
|
||||
"tenantId": "40429f980fac419bbfec372a5607c154"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"id": "3c9530e",
|
||||
"name": "admin",
|
||||
"email": "admin@example.org",
|
||||
"username": "admin",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"email": "updated_email@example.org",
|
||||
"tenantId": "1ca8e0"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"id": "a0ae37b",
|
||||
"name": "demo",
|
||||
"email": "updated_email@example.org",
|
||||
"username": "demo",
|
||||
"enabled": true,
|
||||
"tenantId": "1ca8e0"
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"id": "3c9530e",
|
||||
"name": "admin",
|
||||
"email": "admin@example.org",
|
||||
"username": "admin",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "a0ae37b",
|
||||
"name": "demo",
|
||||
"email": "demo@example.org",
|
||||
"username": "demo",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"users_links": []
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
==========
|
||||
Extensions
|
||||
==========
|
||||
|
||||
|
||||
Show extension details
|
||||
======================
|
||||
|
||||
.. rest_method:: GET /v2.0/extensions/{alias}
|
||||
|
||||
Shows details for an extension, by alias.
|
||||
|
||||
Normal response codes: 200,203
|
||||
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- alias: alias
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- x-openstack-request-id: x-openstack-request-id
|
||||
- alias: alias
|
||||
- updated: updated
|
||||
- description: api_ext_description
|
||||
- name: api_ext_name
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/extension-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
List extensions
|
||||
===============
|
||||
|
||||
.. rest_method:: GET /v2.0/extensions
|
||||
|
||||
Lists available extensions.
|
||||
|
||||
Normal response codes: 200,203
|
||||
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- x-openstack-request-id: x-openstack-request-id
|
||||
- alias: alias
|
||||
- updated: updated
|
||||
- description: api_ext_description
|
||||
- name: api_ext_name
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/extensions-list-response.json
|
||||
:language: javascript
|
||||
@@ -1,122 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
==================
|
||||
Tokens and tenants
|
||||
==================
|
||||
|
||||
|
||||
List tenants
|
||||
============
|
||||
|
||||
.. rest_method:: GET /v2.0/tenants
|
||||
|
||||
Lists tenants to which the token has access.
|
||||
|
||||
Normal response codes: 200,
|
||||
|
||||
Error response codes: 413,405,404,403,401,400,503,
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- description: tenant_description
|
||||
- tenants_links: tenants_links
|
||||
- enabled: enabled
|
||||
- tenants: tenants
|
||||
- id: tenantId_response
|
||||
- name: tenantName_response
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/tenants-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Authenticate
|
||||
============
|
||||
|
||||
.. rest_method:: POST /v2.0/tokens
|
||||
|
||||
Authenticates and generates a token.
|
||||
|
||||
The Identity API is a RESTful web service. It is the entry point to
|
||||
all service APIs. To access the Identity API, you must know its
|
||||
URL.
|
||||
|
||||
Each REST request against Identity requires the X-Auth-Token
|
||||
header. Clients obtain this token, along with the URL to other
|
||||
service APIs, by first authenticating against Identity with valid
|
||||
credentials.
|
||||
|
||||
To authenticate, you must provide either a user ID and password or
|
||||
a token.
|
||||
|
||||
If the authentication token has expired, this call returns the HTTP
|
||||
``401`` status code.
|
||||
|
||||
If the token has expired, this call returns the HTTP ``404`` status
|
||||
code.
|
||||
|
||||
The Identity API treats expired tokens as no longer valid tokens.
|
||||
|
||||
The deployment determines how long expired tokens are stored.
|
||||
|
||||
To view the ``trust`` object, you need to set ``trust`` enable on
|
||||
the keystone configuration.
|
||||
|
||||
Normal response codes: 200,
|
||||
|
||||
Error response codes:413,405,404,403,401,400,503,
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- username: username
|
||||
- passwordCredentials: passwordCredentials
|
||||
- tenantId: tenantId
|
||||
- token: token
|
||||
- tenantName: tenantName
|
||||
- password: password
|
||||
- id: id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/admin/authenticate-token-request.json
|
||||
:language: javascript
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- impersonation: impersonation
|
||||
- endpoints_links: endpoints_links
|
||||
- serviceCatalog: serviceCatalog
|
||||
- description: tenant_description
|
||||
- type: type
|
||||
- expires: expires
|
||||
- enabled: enabled
|
||||
- name: tenantName_response
|
||||
- access: access
|
||||
- trustee_user_id: trustee_user_id
|
||||
- token: token
|
||||
- user: user
|
||||
- issued_at: issued_at
|
||||
- trustor_user_id: trustor_user_id
|
||||
- endpoints: endpoints
|
||||
- trust: trust
|
||||
- id: tenantId_response
|
||||
- tenant: tenant
|
||||
- metadata: metadata
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/client/authenticate-response.json
|
||||
:language: javascript
|
||||
@@ -1,13 +0,0 @@
|
||||
:tocdepth: 3
|
||||
|
||||
--------------------------------
|
||||
Identity API v2.0 (DEPRECATED)
|
||||
--------------------------------
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
.. include:: identity-api-extensions.inc
|
||||
.. include:: identity-auth.inc
|
||||
.. include:: versions.inc
|
||||
.. include:: overview.inc
|
||||
.. include:: revocations.inc
|
||||
@@ -1,272 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
===========
|
||||
API Details
|
||||
===========
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The OpenStack Identity API is implemented using a RESTful web service
|
||||
interface. All requests to authenticate and operate against the
|
||||
OpenStack Identity API should be performed using HTTPS.
|
||||
|
||||
OpenStack Identity enables clients to obtain tokens that permit access
|
||||
to OpenStack cloud services.
|
||||
|
||||
Intended audience
|
||||
-----------------
|
||||
|
||||
This reference is for software developers who develop applications that
|
||||
use the Identity API for authentication.
|
||||
|
||||
This reference assumes that the reader is familiar with RESTful web
|
||||
services, HTTP/1.1, and JSON serialization formats.
|
||||
|
||||
Identity concepts
|
||||
-----------------
|
||||
|
||||
To use OpenStack Identity, you must be familiar with these key concepts:
|
||||
|
||||
**User**
|
||||
A digital representation of a person, system, or service that uses
|
||||
OpenStack cloud services. OpenStack Identity authentication services
|
||||
validate that an incoming request is being made by the user who
|
||||
claims to be making the call.
|
||||
|
||||
Users have a login and may be assigned tokens to access resources.
|
||||
Users may be directly assigned to a particular tenant and behave as
|
||||
if they are contained in that tenant.
|
||||
|
||||
**Token**
|
||||
An arbitrary bit of text that is used to access resources. Each
|
||||
token has a scope that describes which resources are accessible with
|
||||
it. A token may be revoked at anytime and is valid for a finite
|
||||
duration.
|
||||
|
||||
While OpenStack Identity supports token-based authentication, the
|
||||
intention is for it to support additional protocols in the future.
|
||||
The intent is for it to be an integration service foremost, and not
|
||||
aspire to be a full-fledged identity store and management solution.
|
||||
|
||||
**Credentials**
|
||||
Data that belongs to, is owned by, and generally only known by a
|
||||
user that the user can present to prove their identity.
|
||||
|
||||
Examples include:
|
||||
|
||||
- A matching username and password
|
||||
|
||||
- A matching username and API key
|
||||
|
||||
- A token that was issued to you
|
||||
|
||||
**Authentication**
|
||||
In the context of the OpenStack Identity Service, the act of confirming
|
||||
the identity of a user or the truth of a claim. OpenStack Identity
|
||||
confirms that an incoming request is being made by the user who
|
||||
claims to be making the call by validating a set of identity information
|
||||
provided by the user.
|
||||
|
||||
These claims are initially in the form of a set of credentials
|
||||
(username & password, or username and API key). After initial
|
||||
confirmation, OpenStack Identity issues the user a token, which the
|
||||
user can then provide to demonstrate that their identity has been
|
||||
authenticated when making subsequent requests.
|
||||
|
||||
**Tenant**
|
||||
A container used to group or isolate resources and/or identity
|
||||
objects. Depending on the service operator, a tenant can map to a
|
||||
customer, account, organization, or project.
|
||||
|
||||
**Service**
|
||||
An OpenStack service, such as Compute (Nova), Object Storage
|
||||
(Swift), or Image Service (Glance). A service provides one or more
|
||||
endpoints through which users can access resources and perform
|
||||
operations.
|
||||
|
||||
**Endpoint**
|
||||
A network-accessible address, usually described by a URL, where a
|
||||
service may be accessed. If using an extension for templates, you
|
||||
can create an endpoint template, which represents the templates of
|
||||
all the consumable services that are available across the regions.
|
||||
|
||||
**Role**
|
||||
A personality that a user assumes when performing a specific set of
|
||||
operations. A role includes a set of rights and privileges. A user
|
||||
assuming that role inherits those rights and privileges.
|
||||
|
||||
In OpenStack Identity, a token that is issued to a user includes the
|
||||
list of roles that user can assume. Services that are being called
|
||||
by that user determine how they interpret the set of roles a user
|
||||
has and to which operations or resources each role grants access.
|
||||
|
||||
It is up to individual services such as the Compute service and
|
||||
Image service to assign meaning to these roles. As far as the
|
||||
Identity service is concerned, a role is an arbitrary name assigned
|
||||
by the user.
|
||||
|
||||
Paginated collections
|
||||
=====================
|
||||
|
||||
To reduce load on the service, list operations return a maximum number
|
||||
of items at a time. The maximum number of items returned is determined
|
||||
by the Identity provider. To navigate the collection, you can set the
|
||||
``limit`` and ``marker`` parameters in the URI. For example,
|
||||
``?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 a ``413`` response code may be thrown. A
|
||||
marker with an invalid ID returns a ``404`` response code.
|
||||
|
||||
.. note::
|
||||
|
||||
Paginated collections will never return a ``404`` error 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 does not contain a ``previous`` link, the
|
||||
last page in the list does not contain a ``next`` link. The following
|
||||
examples illustrate three pages in a collection of tenants. The first
|
||||
page was retrieved through a **GET** to
|
||||
``http://identity.api.openstack.org/v2.0/1234/tenants?limit=1``. In
|
||||
these examples, the ``limit`` parameter sets the page size to a single
|
||||
item. Subsequent ``next`` and ``previous`` links honor the initial page
|
||||
size. Thus, a client might follow links to traverse a paginated
|
||||
collection without having to input the ``marker`` parameter.
|
||||
|
||||
**Example: Tenant collection, first page:**
|
||||
|
||||
.. code:: javascript
|
||||
|
||||
{
|
||||
"tenants": [
|
||||
{
|
||||
"id": "1234",
|
||||
"name": "ACME corp",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"tenants_links": [
|
||||
{
|
||||
"rel": "next",
|
||||
"href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
**Example: Tenant collection, second page:**
|
||||
|
||||
.. code:: javascript
|
||||
|
||||
{
|
||||
"tenants": [
|
||||
{
|
||||
"id": "3645",
|
||||
"name": "Iron Works",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"tenants_links": [
|
||||
{
|
||||
"rel": "next",
|
||||
"href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=3645"
|
||||
},
|
||||
{
|
||||
"rel": "previous",
|
||||
"href": "http://identity.api.openstack.org/v2.0/tenants?limit=1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
**Example: Tenant collection, last page:**
|
||||
|
||||
.. code:: javascript
|
||||
|
||||
{
|
||||
"tenants": [
|
||||
{
|
||||
"id": "9999",
|
||||
"name": "Bigz",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"tenants_links": [
|
||||
{
|
||||
"rel": "previous",
|
||||
"href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
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 groups are presented within a user.
|
||||
Clients must follow the ``next`` link to continue to retrieve additional groups
|
||||
belonging to a user.
|
||||
|
||||
**Example: Paginated roles in user:**
|
||||
|
||||
.. code:: javascript
|
||||
|
||||
{
|
||||
"user": {
|
||||
"OS-ROLE:roles": [
|
||||
{
|
||||
"tenantId": "1234",
|
||||
"id": "Admin"
|
||||
},
|
||||
{
|
||||
"tenantId": "1234",
|
||||
"id": "DBUser"
|
||||
}
|
||||
],
|
||||
"OS-ROLE:roles_links": [
|
||||
{
|
||||
"rel": "next",
|
||||
"href": "http://identity.api.openstack.org/v2.0/tenants/1234/users/u1000/roles?marker=Super"
|
||||
}
|
||||
],
|
||||
"id": "u1000",
|
||||
"username": "jqsmith",
|
||||
"email": "john.smith@example.org",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
Request and response formats
|
||||
============================
|
||||
|
||||
The OpenStack Identity API only supports JSON data serialization request and
|
||||
response formats.
|
||||
|
||||
Use the ``Content-Type`` request header to specify the request format.
|
||||
This header is required for operations that have a request body.
|
||||
|
||||
The syntax for the ``Content-Type`` header is:
|
||||
|
||||
.. code::
|
||||
|
||||
Content-Type: application/json
|
||||
|
||||
Use the ``Accept`` header to specify the response format:
|
||||
|
||||
.. code::
|
||||
|
||||
Accept: application/json
|
||||
|
||||
If you do not specify a response format, the ``Accept`` header will be
|
||||
set to ``application/json`` by default.
|
||||
@@ -1,257 +0,0 @@
|
||||
# variables in header
|
||||
x-openstack-request-id:
|
||||
description: |
|
||||
A unique request ID that provides tracking for
|
||||
the request. Provider must configure middleware to return a
|
||||
request ID header in a response.
|
||||
in: header
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in path
|
||||
|
||||
# variables in query
|
||||
|
||||
# variables in body
|
||||
access:
|
||||
description: |
|
||||
An ``access`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
alias:
|
||||
description: |
|
||||
The alias for the extension. For example,
|
||||
"FOXNSOX", "os- availability-zone", "os-extended-quotas", "os-
|
||||
share-unmanage" or "os-used-limits."
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
api_ext_description:
|
||||
description: |
|
||||
The extension description.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
api_ext_name:
|
||||
description: |
|
||||
The name of the extension. For example, "Fox In
|
||||
Socks."
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
enabled:
|
||||
description: |
|
||||
Indicates whether the tenant is enabled or
|
||||
disabled.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
endpoints:
|
||||
description: |
|
||||
One or more ``endpoints`` objects. Each object
|
||||
shows the ``adminURL``, ``region``, ``internalURL``, ``id``, and
|
||||
``publicURL`` for the endpoint.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
endpoints_links:
|
||||
description: |
|
||||
Links for the endpoint.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
expires:
|
||||
description: |
|
||||
The date and time when the token expires.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss.sssZ
|
||||
|
||||
For example, ``2015-08-27T09:49:58.000000Z``.
|
||||
|
||||
A ``null`` value indicates that the token never expires.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
id:
|
||||
description: |
|
||||
The token ID. This field is required in the
|
||||
``token`` object.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
impersonation:
|
||||
description: |
|
||||
The impersonation flag.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
issued_at:
|
||||
description: |
|
||||
The date and time when the token was issued.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss.sssZ
|
||||
|
||||
For example, ``2015-08-27T09:49:58.000000Z``.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
metadata:
|
||||
description: |
|
||||
A ``metadata`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
name:
|
||||
description: |
|
||||
Endpoint name.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: |
|
||||
The password of the user. Required if you include
|
||||
the ``passwordCredentials`` object. Otherwise, you must provide a
|
||||
token.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
passwordCredentials:
|
||||
description: |
|
||||
A ``passwordCredentials`` object. To
|
||||
authenticate, you must provide either a user ID and password or a
|
||||
token.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
serviceCatalog:
|
||||
description: |
|
||||
List of ``serviceCatalog`` objects.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
signed:
|
||||
description: |
|
||||
List of expired PKI tokens, signed by associated
|
||||
cryptographic message syntax (CMS).
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenant:
|
||||
description: |
|
||||
A ``tenant`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
tenant_description:
|
||||
description: |
|
||||
Description about the tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenantId:
|
||||
description: |
|
||||
The tenant ID. Both the ``tenantId`` and
|
||||
``tenantName`` attributes are optional and mutually exclusive. If
|
||||
you specify both attributes, the server returns the ``Bad Request
|
||||
(400)`` response code.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
tenantId_response:
|
||||
description: |
|
||||
The tenant ID.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenantName:
|
||||
description: |
|
||||
The tenant name. Both the ``tenantId`` and
|
||||
``tenantName`` attributes are optional and mutually exclusive. If
|
||||
you specify both attributes, the server returns the ``Bad Request
|
||||
(400)`` response code.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
tenantName_response:
|
||||
description: |
|
||||
The tenant name.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tenants:
|
||||
description: |
|
||||
One or more tenant Objects.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
tenants_links:
|
||||
description: |
|
||||
Links of the tenants.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
token:
|
||||
description: |
|
||||
A ``token`` object. Required if you do not
|
||||
provide a password credential.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
trust:
|
||||
description: |
|
||||
A ``trust`` object.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
trustee_user_id:
|
||||
description: |
|
||||
The trustee user ID.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
trustor_user_id:
|
||||
description: |
|
||||
The trustor user ID.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
type:
|
||||
description: |
|
||||
Endpoint type.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
updated:
|
||||
description: |
|
||||
The date and time stamp when the extension was
|
||||
last updated.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
user:
|
||||
description: |
|
||||
A ``user`` object, which shows the ``username``,
|
||||
``roles_links``, ``id``, ``roles``, and ``name``.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
username:
|
||||
description: |
|
||||
The user name. Required if you include the
|
||||
``passwordCredentials`` object. Otherwise, you must provide a
|
||||
token.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
=============
|
||||
Revocations
|
||||
=============
|
||||
|
||||
Allows the retrieval of revoked tokens.
|
||||
|
||||
List Revoked Tokens (v2)
|
||||
========================
|
||||
|
||||
.. rest_method:: GET /v2.0/tokens/revoked
|
||||
|
||||
List the revoked tokens.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400,401,403,404,405,413,503
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- signed: signed
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/admin/revoked-tokens-response.json
|
||||
:language: javascript
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"password": "old_secretsecret",
|
||||
"original_password": "secretsecret"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"auth": {
|
||||
"tenantName": "admin",
|
||||
"passwordCredentials": {
|
||||
"username": "admin",
|
||||
"password": "secretsecret"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,184 +0,0 @@
|
||||
{
|
||||
"access": {
|
||||
"token": {
|
||||
"issued_at": "2014-01-30T17:09:57.647795",
|
||||
"expires": "2014-01-31T17:09:57Z",
|
||||
"id": "admin_id",
|
||||
"tenant": {
|
||||
"description": null,
|
||||
"enabled": true,
|
||||
"id": "73f0aa26640f4971864919d0eb0f0880",
|
||||
"name": "admin"
|
||||
}
|
||||
},
|
||||
"serviceCatalog": [
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8774/v2/73f0aa26640f4971864919d0eb0f0880",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8774/v2/73f0aa26640f4971864919d0eb0f0880",
|
||||
"id": "2dad48f09e2a447a9bf852bcd93548ef",
|
||||
"publicURL": "http://23.253.72.207:8774/v2/73f0aa26640f4971864919d0eb0f0880"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "compute",
|
||||
"name": "nova"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:9696/",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:9696/",
|
||||
"id": "97c526db8d7a4c88bbb8d68db1bdcdb8",
|
||||
"publicURL": "http://23.253.72.207:9696/"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "network",
|
||||
"name": "neutron"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8776/v2/73f0aa26640f4971864919d0eb0f0880",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8776/v2/73f0aa26640f4971864919d0eb0f0880",
|
||||
"id": "93f86dfcbba143a39a33d0c2cd424870",
|
||||
"publicURL": "http://23.253.72.207:8776/v2/73f0aa26640f4971864919d0eb0f0880"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "volumev2",
|
||||
"name": "cinder"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8774/v3",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8774/v3",
|
||||
"id": "3eb274b12b1d47b2abc536038d87339e",
|
||||
"publicURL": "http://23.253.72.207:8774/v3"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "computev3",
|
||||
"name": "nova"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:3333",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:3333",
|
||||
"id": "957f1e54afc64d33a62099faa5e980a2",
|
||||
"publicURL": "http://23.253.72.207:3333"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "s3",
|
||||
"name": "s3"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:9292",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:9292",
|
||||
"id": "27d5749f36864c7d96bebf84a5ec9767",
|
||||
"publicURL": "http://23.253.72.207:9292"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "image",
|
||||
"name": "glance"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8776/v1/73f0aa26640f4971864919d0eb0f0880",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8776/v1/73f0aa26640f4971864919d0eb0f0880",
|
||||
"id": "37c83a2157f944f1972e74658aa0b139",
|
||||
"publicURL": "http://23.253.72.207:8776/v1/73f0aa26640f4971864919d0eb0f0880"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "volume",
|
||||
"name": "cinder"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8773/services/Admin",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8773/services/Cloud",
|
||||
"id": "289b59289d6048e2912b327e5d3240ca",
|
||||
"publicURL": "http://23.253.72.207:8773/services/Cloud"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "ec2",
|
||||
"name": "ec2"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8080",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8080/v1/AUTH_73f0aa26640f4971864919d0eb0f0880",
|
||||
"id": "16b76b5e5b7d48039a6e4cc3129545f3",
|
||||
"publicURL": "http://23.253.72.207:8080/v1/AUTH_73f0aa26640f4971864919d0eb0f0880"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "object-store",
|
||||
"name": "swift"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://example.com/identity_v2_admin",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://example.com/identity",
|
||||
"id": "26af053673df4ef3a2340c4239e21ea2",
|
||||
"publicURL": "http://example.com/identity"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "identity",
|
||||
"name": "keystone"
|
||||
}
|
||||
],
|
||||
"user": {
|
||||
"username": "admin",
|
||||
"roles_links": [],
|
||||
"id": "1f568815cb8148688e6ee9b2f7527dcc",
|
||||
"roles": [
|
||||
{
|
||||
"name": "service"
|
||||
},
|
||||
{
|
||||
"name": "admin"
|
||||
}
|
||||
],
|
||||
"name": "admin"
|
||||
},
|
||||
"metadata": {
|
||||
"is_admin": 0,
|
||||
"roles": [
|
||||
"8341d3603a1d4d5985bff09f10704d4d",
|
||||
"2e66d57df76946fdbe034bc4da6fdec0"
|
||||
]
|
||||
},
|
||||
"trust": {
|
||||
"id": "394998fa61f14736b1f0c1f322882949",
|
||||
"trustee_user_id": "269348fdd9374b8885da1418e0730af1",
|
||||
"trustor_user_id": "3ec3164f750146be97f21559ee4d9c51",
|
||||
"impersonation": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"auth": {
|
||||
"tenantName": "demo",
|
||||
"token": {
|
||||
"id": "cbc36478b0bd8e67e89469c7749d4127"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"extension": {
|
||||
"updated": "2013-07-07T12:00:0-00:00",
|
||||
"name": "OpenStack OAUTH1 API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-OAUTH1/v1.0",
|
||||
"alias": "OS-OAUTH1",
|
||||
"description": "OpenStack OAuth 1.0a Delegated Auth Mechanism."
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
{
|
||||
"extensions": {
|
||||
"values": [
|
||||
{
|
||||
"updated": "2013-07-07T12:00:0-00:00",
|
||||
"name": "OpenStack S3 API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/s3tokens/v1.0",
|
||||
"alias": "s3tokens",
|
||||
"description": "OpenStack S3 API."
|
||||
},
|
||||
{
|
||||
"updated": "2013-07-23T12:00:0-00:00",
|
||||
"name": "OpenStack Keystone Endpoint Filter API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api/blob/master/openstack-identity-api/v3/src/markdown/identity-api-v3-os-ep-filter-ext.md",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-EP-FILTER/v1.0",
|
||||
"alias": "OS-EP-FILTER",
|
||||
"description": "OpenStack Keystone Endpoint Filter API."
|
||||
},
|
||||
{
|
||||
"updated": "2014-02-24T20:51:0-00:00",
|
||||
"name": "OpenStack Revoke API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api/blob/master/openstack-identity-api/v3/src/markdown/identity-api-v3-os-revoke-ext.md",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-REVOKE/v1.0",
|
||||
"alias": "OS-REVOKE",
|
||||
"description": "OpenStack revoked token reporting mechanism."
|
||||
},
|
||||
{
|
||||
"updated": "2013-12-17T12:00:0-00:00",
|
||||
"name": "OpenStack Federation APIs",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-FEDERATION/v1.0",
|
||||
"alias": "OS-FEDERATION",
|
||||
"description": "OpenStack Identity Providers Mechanism."
|
||||
},
|
||||
{
|
||||
"updated": "2013-07-11T17:14:00-00:00",
|
||||
"name": "OpenStack Keystone Admin",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-KSADM/v1.0",
|
||||
"alias": "OS-KSADM",
|
||||
"description": "OpenStack extensions to Keystone v2.0 API enabling Administrative Operations."
|
||||
},
|
||||
{
|
||||
"updated": "2014-01-20T12:00:0-00:00",
|
||||
"name": "OpenStack Simple Certificate API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-SIMPLE-CERT/v1.0",
|
||||
"alias": "OS-SIMPLE-CERT",
|
||||
"description": "OpenStack simple certificate retrieval extension"
|
||||
},
|
||||
{
|
||||
"updated": "2013-07-07T12:00:0-00:00",
|
||||
"name": "OpenStack OAUTH1 API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-OAUTH1/v1.0",
|
||||
"alias": "OS-OAUTH1",
|
||||
"description": "OpenStack OAuth 1.0a Delegated Auth Mechanism."
|
||||
},
|
||||
{
|
||||
"updated": "2013-07-07T12:00:0-00:00",
|
||||
"name": "OpenStack EC2 API",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://github.com/openstack/identity-api",
|
||||
"type": "text/html",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"namespace": "https://docs.openstack.org/identity/api/ext/OS-EC2/v1.0",
|
||||
"alias": "OS-EC2",
|
||||
"description": "OpenStack EC2 Credentials backend."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"signed": "-----BEGIN CMS-----\nMIICRAYJKoZIhvcNAQcCoIICNTCCAjECAQExDTALBglghkgBZQMEAgEwgZMGCSqG\nSIb3DQEHAaCBhQSBgnsicmV2b2tlZCI6IFt7ImV4cGlyZXMiOiAiMjAxNi0xMC0y\nNVQyMjoxNjowMloiLCAiaWQiOiAiN2UyMTE1NDQxZTIzNGJiYzhkYmU1ZGJmNTAz\nNjkxZWQiLCAiYXVkaXRfaWQiOiAicFlUY2hOOU9SdHl6VEo1ZHdmWWthZyJ9XX0x\nggGFMIIBgQIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVVbnNldDEOMAwG\nA1UEBwwFVW5zZXQxDjAMBgNVBAoMBVVuc2V0MRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20CAQEwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIIBAGv3q67FaZrF\nN6XUDtWio/uxjwKX5GVs1yqd37Wd/vLmjjsyOiZuslzKZnrkoffeLcu74I2sJh4x\nFG8oQL99mck5Z9x8Uk8fLAInNwa/pZnqN9m7oh8+JYNiRwZVrZqO2fKEbH98JxB7\nuessJSUyHie3AUML5Zp/zhXg9Njf9sl3kTh+XIg0eBMTdamqvtimTrYMATIF+NF3\n950EOFKQU5gzG7K+7JyJPT+/uzgC/tSckHTAxnBlYqI74FHCkMSDCeJ5B7K+6yQ6\n3Eq4ugsxY5UKaYg3p/DXo4Muf7maMD+jhWL/mBqDAgPvmG50LSXLUB+/pyKXJULC\nSszEkgHpZpI=\n-----END CMS-----\n"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
GET /v2.0/tenants HTTP/1.1
|
||||
Host: identity.api.openstack.org
|
||||
Content-Type: application/json
|
||||
X-Auth-Token: fa8426a0-8eaf-4d22-8e13-7c1b16a9370c
|
||||
Accept: application/json
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"tenants": [
|
||||
{
|
||||
"id": "1234",
|
||||
"name": "ACME Corp",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "3456",
|
||||
"name": "Iron Works",
|
||||
"description": "A description ...",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"tenants_links": []
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"username": "new-user",
|
||||
"name": "new-user",
|
||||
"id": "71767c619a90479ab21626abf76aa46c",
|
||||
"enabled": true,
|
||||
"email": "new-user@example.com",
|
||||
"tenantId": "40429f980fac419bbfec372a5607c154"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"username": "nova",
|
||||
"name": "nova",
|
||||
"enabled": false,
|
||||
"email": null,
|
||||
"id": "71767c619a90479ab21626abf76aa46c"
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"username": "admin",
|
||||
"name": "admin",
|
||||
"enabled": true,
|
||||
"email": null,
|
||||
"id": "19dec86542d54bc791288b83d05c57a6"
|
||||
},
|
||||
{
|
||||
"username": "swift",
|
||||
"name": "swift",
|
||||
"enabled": true,
|
||||
"email": null,
|
||||
"id": "2109a7e134244071ac5b6ce31d8fe5b6"
|
||||
},
|
||||
{
|
||||
"username": "swiftusertest1",
|
||||
"name": "swiftusertest1",
|
||||
"enabled": true,
|
||||
"email": "test@example.com",
|
||||
"id": "3b59634090f84745bcd24bc28e564aff"
|
||||
},
|
||||
{
|
||||
"username": "alt_demo",
|
||||
"name": "alt_demo",
|
||||
"enabled": true,
|
||||
"email": "alt_demo@example.com",
|
||||
"id": "3f957317491c478daaee50992e5d2d3b"
|
||||
},
|
||||
{
|
||||
"username": "nova",
|
||||
"name": "nova",
|
||||
"enabled": true,
|
||||
"email": null,
|
||||
"id": "405ecdef1a434c70bb1e441cd295245d"
|
||||
},
|
||||
{
|
||||
"username": "swiftusertest3",
|
||||
"name": "swiftusertest3",
|
||||
"enabled": true,
|
||||
"email": "test3@example.com",
|
||||
"id": "5f58db25affc44c28d678279981c946f"
|
||||
},
|
||||
{
|
||||
"username": "swiftusertest2",
|
||||
"name": "swiftusertest2",
|
||||
"enabled": true,
|
||||
"email": "test2@example.com",
|
||||
"id": "9e4a840d8f5a45cdaa589febffcedb01"
|
||||
},
|
||||
{
|
||||
"username": "glance",
|
||||
"name": "glance",
|
||||
"enabled": true,
|
||||
"email": null,
|
||||
"id": "9f7df42d30264a0eb5f4e0d01486260d"
|
||||
},
|
||||
{
|
||||
"username": "demo",
|
||||
"name": "demo",
|
||||
"enabled": true,
|
||||
"email": "demo@example.com",
|
||||
"id": "a27a3939ad964215ad60315e8b2a3791"
|
||||
},
|
||||
{
|
||||
"username": "glance-swift",
|
||||
"name": "glance-swift",
|
||||
"enabled": true,
|
||||
"email": "glance-swift@example.com",
|
||||
"id": "bbe7ee42ffc345c18430599f74af9fa3"
|
||||
},
|
||||
{
|
||||
"username": "neutron",
|
||||
"name": "neutron",
|
||||
"enabled": true,
|
||||
"email": null,
|
||||
"id": "cf16ee300c2c412f81474ae452eda38d"
|
||||
},
|
||||
{
|
||||
"username": "cinder",
|
||||
"name": "cinder",
|
||||
"enabled": true,
|
||||
"email": null,
|
||||
"id": "f570fcf1692241978015cdb49242e383"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"version": {
|
||||
"status": "stable",
|
||||
"updated": "2014-04-17T00:00:00Z",
|
||||
"media-types": [
|
||||
{
|
||||
"base": "application/json",
|
||||
"type": "application/vnd.openstack.identity-v2.0+json"
|
||||
}
|
||||
],
|
||||
"id": "v2.0",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://example.com/identity/v2.0/",
|
||||
"rel": "self"
|
||||
},
|
||||
{
|
||||
"href": "https://docs.openstack.org/",
|
||||
"rel": "describedby",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"versions": {
|
||||
"values": [
|
||||
{
|
||||
"id": "v3.4",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://example.com/identity/v3/",
|
||||
"rel": "self"
|
||||
}
|
||||
],
|
||||
"media-types": [
|
||||
{
|
||||
"base": "application/json",
|
||||
"type": "application/vnd.openstack.identity-v3+json"
|
||||
}
|
||||
],
|
||||
"status": "stable",
|
||||
"updated": "2015-03-30T00:00:00Z"
|
||||
},
|
||||
{
|
||||
"id": "v2.0",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://example.com/identity/v2.0/",
|
||||
"rel": "self"
|
||||
},
|
||||
{
|
||||
"href": "https://docs.openstack.org/",
|
||||
"rel": "describedby",
|
||||
"type": "text/html"
|
||||
}
|
||||
],
|
||||
"media-types": [
|
||||
{
|
||||
"base": "application/json",
|
||||
"type": "application/vnd.openstack.identity-v2.0+json"
|
||||
}
|
||||
],
|
||||
"status": "stable",
|
||||
"updated": "2014-04-17T00:00:00Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"auth": {
|
||||
"tenantName": "demo",
|
||||
"passwordCredentials": {
|
||||
"username": "demo",
|
||||
"password": "secretsecret"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,184 +0,0 @@
|
||||
{
|
||||
"access": {
|
||||
"token": {
|
||||
"issued_at": "2014-01-30T15:30:58.819584",
|
||||
"expires": "2014-01-31T15:30:58Z",
|
||||
"id": "aaaaa-bbbbb-ccccc-dddd",
|
||||
"tenant": {
|
||||
"description": null,
|
||||
"enabled": true,
|
||||
"id": "fc394f2ab2df4114bde39905f800dc57",
|
||||
"name": "demo"
|
||||
}
|
||||
},
|
||||
"serviceCatalog": [
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8774/v2/fc394f2ab2df4114bde39905f800dc57",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8774/v2/fc394f2ab2df4114bde39905f800dc57",
|
||||
"id": "2dad48f09e2a447a9bf852bcd93548ef",
|
||||
"publicURL": "http://23.253.72.207:8774/v2/fc394f2ab2df4114bde39905f800dc57"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "compute",
|
||||
"name": "nova"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:9696/",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:9696/",
|
||||
"id": "97c526db8d7a4c88bbb8d68db1bdcdb8",
|
||||
"publicURL": "http://23.253.72.207:9696/"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "network",
|
||||
"name": "neutron"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8776/v2/fc394f2ab2df4114bde39905f800dc57",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8776/v2/fc394f2ab2df4114bde39905f800dc57",
|
||||
"id": "93f86dfcbba143a39a33d0c2cd424870",
|
||||
"publicURL": "http://23.253.72.207:8776/v2/fc394f2ab2df4114bde39905f800dc57"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "volumev2",
|
||||
"name": "cinder"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8774/v3",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8774/v3",
|
||||
"id": "3eb274b12b1d47b2abc536038d87339e",
|
||||
"publicURL": "http://23.253.72.207:8774/v3"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "computev3",
|
||||
"name": "nova"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:3333",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:3333",
|
||||
"id": "957f1e54afc64d33a62099faa5e980a2",
|
||||
"publicURL": "http://23.253.72.207:3333"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "s3",
|
||||
"name": "s3"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:9292",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:9292",
|
||||
"id": "27d5749f36864c7d96bebf84a5ec9767",
|
||||
"publicURL": "http://23.253.72.207:9292"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "image",
|
||||
"name": "glance"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8776/v1/fc394f2ab2df4114bde39905f800dc57",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8776/v1/fc394f2ab2df4114bde39905f800dc57",
|
||||
"id": "37c83a2157f944f1972e74658aa0b139",
|
||||
"publicURL": "http://23.253.72.207:8776/v1/fc394f2ab2df4114bde39905f800dc57"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "volume",
|
||||
"name": "cinder"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8773/services/Admin",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8773/services/Cloud",
|
||||
"id": "289b59289d6048e2912b327e5d3240ca",
|
||||
"publicURL": "http://23.253.72.207:8773/services/Cloud"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "ec2",
|
||||
"name": "ec2"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://23.253.72.207:8080",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://23.253.72.207:8080/v1/AUTH_fc394f2ab2df4114bde39905f800dc57",
|
||||
"id": "16b76b5e5b7d48039a6e4cc3129545f3",
|
||||
"publicURL": "http://23.253.72.207:8080/v1/AUTH_fc394f2ab2df4114bde39905f800dc57"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "object-store",
|
||||
"name": "swift"
|
||||
},
|
||||
{
|
||||
"endpoints": [
|
||||
{
|
||||
"adminURL": "http://example.com/identity_v2_admin",
|
||||
"region": "RegionOne",
|
||||
"internalURL": "http://example.com/identity",
|
||||
"id": "26af053673df4ef3a2340c4239e21ea2",
|
||||
"publicURL": "http://example.com/identity"
|
||||
}
|
||||
],
|
||||
"endpoints_links": [],
|
||||
"type": "identity",
|
||||
"name": "keystone"
|
||||
}
|
||||
],
|
||||
"user": {
|
||||
"username": "demo",
|
||||
"roles_links": [],
|
||||
"id": "9a6590b2ab024747bc2167c4e064d00d",
|
||||
"roles": [
|
||||
{
|
||||
"name": "Member"
|
||||
},
|
||||
{
|
||||
"name": "anotherrole"
|
||||
}
|
||||
],
|
||||
"name": "demo"
|
||||
},
|
||||
"metadata": {
|
||||
"is_admin": 0,
|
||||
"roles": [
|
||||
"7598ac3c634d4c3da4b9126a5f67ca2b",
|
||||
"f95c0ab82d6045d9805033ee1fbc80d4"
|
||||
]
|
||||
},
|
||||
"trust": {
|
||||
"id": "394998fa61f14736b1f0c1f322882949",
|
||||
"trustee_user_id": "269348fdd9374b8885da1418e0730af1",
|
||||
"trustor_user_id": "3ec3164f750146be97f21559ee4d9c51",
|
||||
"impersonation": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
============
|
||||
API versions
|
||||
============
|
||||
|
||||
|
||||
Show version details
|
||||
====================
|
||||
|
||||
.. rest_method:: GET /v2.0
|
||||
|
||||
Shows details for the Identity API v2.0.
|
||||
|
||||
Normal response codes: 200,203
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/version-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
List versions
|
||||
=============
|
||||
|
||||
.. rest_method:: GET /
|
||||
|
||||
Lists information about all Identity API versions.
|
||||
|
||||
Normal response codes: 200,300
|
||||
Error response codes: 413,405,404,403,401,400,503
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/admin/versions-list-response.json
|
||||
:language: javascript
|
||||
Reference in New Issue
Block a user