keystone.trust.backends.sql module

keystone.trust.backends.sql module

class keystone.trust.backends.sql.Trust[source]

Bases: keystone.trust.backends.base.TrustDriverBase

consume_use(trust_id)[source]

Consume one use of a trust.

One use of a trust is consumed when the trust was created with a limitation on its uses, provided there are still uses available.

Raises:
create_trust(trust_id, trust, roles)[source]

Create a new trust.

Returns:a new trust
delete_trust(trust_id)[source]
delete_trusts_for_project(project_id)[source]

Delete all trusts for a project.

Parameters:project_id – ID of a project to filter trusts by.
flush_expired_and_soft_deleted_trusts(project_id=None, trustor_user_id=None, trustee_user_id=None, date=None)[source]

Flush expired and non-expired soft deleted trusts from the backend.

Parameters:
  • project_id – ID of a project to filter trusts by.
  • trustor_user_id – ID of a trustor_user_id to filter trusts by.
  • trustee_user_id – ID of a trustee_user_id to filter trusts by.
  • date (datetime) – date to filter trusts by.
get_trust(trust_id, deleted=False)[source]

Get a trust by the trust id.

Parameters:
  • trust_id (string) – the trust identifier
  • deleted (bool) – return the trust even if it is deleted, expired, or has no consumptions left
list_trusts()[source]
list_trusts_for_trustee(trustee_user_id)[source]
list_trusts_for_trustor(trustor_user_id)[source]
class keystone.trust.backends.sql.TrustModel(*args, **kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.ModelDictMixinWithExtras

attributes = ['id', 'trustor_user_id', 'trustee_user_id', 'project_id', 'impersonation', 'expires_at', 'remaining_uses', 'deleted_at']
deleted_at
expires_at
expires_at_int
extra
id
impersonation
project_id
remaining_uses
trustee_user_id
trustor_user_id
class keystone.trust.backends.sql.TrustRole(*args, **kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base

attributes = ['trust_id', 'role_id']
role_id
trust_id
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.