keystone  18.0.0
About: OpenStack Keystone (Core Service: Identity) provides an authentication and authorization service for other OpenStack services. Provides a catalog of endpoints for all OpenStack services.
The "Victoria" series (maintained release).
  Fossies Dox: keystone-18.0.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

schema.py
Go to the documentation of this file.
1 # Licensed under the Apache License, Version 2.0 (the "License"); you may
2 # not use this file except in compliance with the License. You may obtain
3 # a copy of the License at
4 #
5 # http://www.apache.org/licenses/LICENSE-2.0
6 #
7 # Unless required by applicable law or agreed to in writing, software
8 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10 # License for the specific language governing permissions and limitations
11 # under the License.
12 
13 from keystone.common import validation
14 from keystone.common.validation import parameter_types
15 
16 _role_properties = {
17  'type': 'array',
18  'items': {
19  'type': 'object',
20  'properties': {
21  'id': parameter_types.id_string,
22  'name': parameter_types.name
23  },
24  'minProperties': 1,
25  'maxProperties': 1,
26  'additionalProperties': False
27  }
28 }
29 
30 _trust_properties = {
31  # NOTE(lbragstad): These are set as external_id_string because they have
32  # the ability to be read as LDAP user identifiers, which could be something
33  # other than uuid.
34  'trustor_user_id': parameter_types.external_id_string,
35  'trustee_user_id': parameter_types.external_id_string,
36  'impersonation': parameter_types.boolean,
37  'project_id': validation.nullable(parameter_types.id_string),
38  'remaining_uses': {
39  'type': ['integer', 'null'],
40  'minimum': 1
41  },
42  'expires_at': {
43  'type': ['null', 'string']
44  },
45  'allow_redelegation': {
46  'type': ['boolean', 'null']
47  },
48  'redelegation_count': {
49  'type': ['integer', 'null'],
50  'minimum': 0
51  },
52  'roles': _role_properties
53 }
54 
55 trust_create = {
56  'type': 'object',
57  'properties': _trust_properties,
58  'required': ['trustor_user_id', 'trustee_user_id', 'impersonation'],
59  'additionalProperties': True
60 }
keystone.common
Definition: __init__.py:1
keystone.common.validation
Definition: __init__.py:1