keystone.resource.config_backends.sql module

class keystone.resource.config_backends.sql.ConfigRegister(*args, **kwargs)[source]

Bases: sqlalchemy.orm.decl_api.Base, keystone.common.sql.core.ModelDictMixin

domain_id
type
class keystone.resource.config_backends.sql.DomainConfig[source]

Bases: keystone.resource.config_backends.base.DomainConfigDriverBase

choose_table(sensitive)[source]
create_config_options(domain_id, option_list)[source]

Create config options for a domain.

Any existing config options will first be deleted.

Parameters
  • domain_id – the domain for this option

  • option_list – a list of dicts, each one specifying an option

Option schema:

type: dict
properties:
    group:
        type: string
    option:
        type: string
    value:
        type: depends on the option
    sensitive:
        type: boolean
required: [group, option, value, sensitive]
additionalProperties: false
delete_config_options(domain_id, group=None, option=None)[source]

Delete config options for a domain.

Allows deletion of all options for a domain, all options in a group or a specific option. The driver is silent if there are no options to delete.

Parameters
  • domain_id – the domain for this option

  • group – optional group option name

  • option – optional option name. If group is None, then this parameter is ignored

The option is uniquely defined by domain_id, group and option, irrespective of whether it is sensitive ot not.

get_config_option(domain_id, group, option, sensitive=False)[source]

Get the config option for a domain.

Parameters
  • domain_id – the domain for this option

  • group – the group name

  • option – the option name

  • sensitive – whether the option is sensitive

Returns

dict containing group, option and value

Raises

keystone.exception.DomainConfigNotFound – the option doesn’t exist.

list_config_options(domain_id, group=None, option=None, sensitive=False)[source]

Get a config options for a domain.

Parameters
  • domain_id – the domain for this option

  • group – optional group option name

  • option – optional option name. If group is None, then this parameter is ignored

  • sensitive – whether the option is sensitive

Returns

list of dicts containing group, option and value

obtain_registration(domain_id, type)[source]

Try and register this domain to use the type specified.

Parameters
  • domain_id – the domain required

  • type – type of registration

Returns

True if the domain was registered, False otherwise. Failing to register means that someone already has it (which could even be the domain being requested).

read_registration(type)[source]

Get the domain ID of who is registered to use this type.

Parameters

type – type of registration

Returns

domain_id of who is registered.

Raises

keystone.exception.ConfigRegistrationNotFound – If nobody is registered.

release_registration(domain_id, type=None)[source]

Silently delete anything registered for the domain specified.

update_config_options(domain_id, option_list)[source]

Update config options for a domain.

Parameters
  • domain_id – the domain for this option

  • option_list – a list of dicts, each one specifying an option

class keystone.resource.config_backends.sql.SensitiveConfig(*args, **kwargs)[source]

Bases: sqlalchemy.orm.decl_api.Base, keystone.common.sql.core.ModelDictMixin

domain_id
group
option
to_dict()[source]

Return the model’s attributes as a dictionary.

value
class keystone.resource.config_backends.sql.WhiteListedConfig(*args, **kwargs)[source]

Bases: sqlalchemy.orm.decl_api.Base, keystone.common.sql.core.ModelDictMixin

domain_id
group
option
to_dict()[source]

Return the model’s attributes as a dictionary.

value