Bases: object
Interface description for an Identity driver.
The schema for users and groups is different depending on whether the driver is domain aware or not (as returned by self.is_domain_aware()).
If the driver is not domain aware:
domain_id will be not be included in the user / group passed in to create_user / create_group
the domain_id should not be returned in user / group refs. They’ll be overwritten.
The password_expires_at in the user schema is a read-only attribute, meaning that it is expected in the response, but not in the request.
User schema (if driver is domain aware):
type: object
properties:
id:
type: string
name:
type: string
domain_id:
type: string
password:
type: string
password_expires_at:
type: datetime
enabled:
type: boolean
default_project_id:
type: string
required: [id, name, domain_id, enabled]
additionalProperties: True
User schema (if driver is not domain aware):
type: object
properties:
id:
type: string
name:
type: string
password:
type: string
password_expires_at:
type: datetime
enabled:
type: boolean
default_project_id:
type: string
required: [id, name, enabled]
additionalProperties: True
# Note that domain_id is not allowed as a property
Group schema (if driver is domain aware):
type: object
properties:
id:
type: string
name:
type: string
domain_id:
type: string
description:
type: string
required: [id, name, domain_id]
additionalProperties: True
Group schema (if driver is not domain aware):
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
required: [id, name]
additionalProperties: True
# Note that domain_id is not allowed as a property
Add a user to a group.
user_id (str) – User ID.
group_id (str) – Group ID.
keystone.exception.UserNotFound – If the user doesn’t exist.
keystone.exception.GroupNotFound – If the group doesn’t exist.
Authenticate a given user and password.
user_id (str) – User ID
password (str) – Password
user. See user schema in IdentityDriverBase
.
dict
AssertionError – If user or password is invalid.
Self-service password change.
user_id (str) – User ID.
new_password (str) – New password.
keystone.exception.UserNotFound – If the user doesn’t exist.
keystone.exception.PasswordValidation – If password fails validation
Check if a user is a member of a group.
user_id (str) – User ID.
group_id (str) – Group ID.
keystone.exception.NotFound – If the user is not a member of the group.
keystone.exception.UserNotFound – If the user doesn’t exist.
keystone.exception.GroupNotFound – If the group doesn’t exist.
Create a new group.
group_id (str) – group ID. The driver can ignore this value.
group (dict) – group info. See group schema in
IdentityDriverBase
.
group, matching the group schema.
dict
keystone.exception.Conflict – If a duplicate group exists.
Create a new user.
user_id (str) – user ID. The driver can ignore this value.
user (dict) – user info. See user schema in
IdentityDriverBase
.
user, matching the user schema. The driver should not return the password.
dict
keystone.exception.Conflict – If a duplicate user exists.
Delete an existing group.
group_id (str) – Group ID.
keystone.exception.GroupNotFound – If the group doesn’t exist.
Delete an existing user.
keystone.exception.UserNotFound – If the user doesn’t exist.
Get a group by ID.
group_id (str) – group ID.
group info. See group schema in IdentityDriverBase
dict
keystone.exception.GroupNotFound – If the group doesn’t exist.
Get a group by name.
group_name (str) – group name.
domain_id (str) – domain ID.
group info. See group schema in
IdentityDriverBase
.
dict
keystone.exception.GroupNotFound – If the group doesn’t exist.
Get a user by ID.
user_id (str) – User ID.
user. See user schema in IdentityDriverBase
.
dict
keystone.exception.UserNotFound – If the user doesn’t exist.
Get a user by name.
user_ref
keystone.exception.UserNotFound – If the user doesn’t exist.
Indicate if this Driver uses SQL.
List groups in the system.
hints (keystone.common.driver_hints.Hints) – filter hints which the driver should implement if at all possible.
a list of group_refs or an empty list. See group schema in
IdentityDriverBase
.
List groups a user is in.
user_id (str) – the user in question
hints (keystone.common.driver_hints.Hints) – filter hints which the driver should implement if at all possible.
a list of group_refs or an empty list. See group schema in
IdentityDriverBase
.
keystone.exception.UserNotFound – If the user doesn’t exist.
List users in the system.
hints (keystone.common.driver_hints.Hints) – filter hints which the driver should implement if at all possible.
a list of users or an empty list. See user schema in
IdentityDriverBase
.
list of dict
List users in a group.
group_id (str) – the group in question
hints (keystone.common.driver_hints.Hints) – filter hints which the driver should implement if at all possible.
a list of users or an empty list. See user schema in
IdentityDriverBase
.
list of dict
keystone.exception.GroupNotFound – If the group doesn’t exist.
Remove a user from a group.
user_id (str) – User ID.
group_id (str) – Group ID.
keystone.exception.NotFound – If the user is not in the group.
Unset a user’s default project given a specific project ID.
project_id (str) – project ID
Update an existing group.
group_id (str) – Group ID.
group (dict) – Group modification. See group schema in
IdentityDriverBase
. Required properties cannot be
removed.
group, matching the group schema.
dict
keystone.exception.GroupNotFound – If the group doesn’t exist.
keystone.exception.Conflict – If a duplicate group exists.
Update an existing user.
user_id (str) – User ID.
user (dict) – User modification. See user schema in
IdentityDriverBase
. Properties set to None will be
removed. Required properties cannot be removed.
user. See user schema in IdentityDriverBase
.
keystone.exception.UserNotFound – If the user doesn’t exist.
keystone.exception.Conflict – If a duplicate user exists in the same domain.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.