keystone.resource.config_backends package

Submodules

keystone.resource.config_backends.base module

class keystone.resource.config_backends.base.DomainConfigDriverV8[source]

Bases: object

Interface description for a Domain Config driver.

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=False, 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]

Release registration if it is held by the domain specified.

If the specified domain is registered for this domain then free it, if it is not then do nothing - no exception is raised.

Parameters:
  • domain_id – the domain in question
  • type – type of registration, if None then all registrations for this domain will be freed
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

keystone.resource.config_backends.sql module

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

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

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

Bases: keystone.resource.config_backends.base.DomainConfigDriverV8

choose_table(sensitive)[source]
create_config_options(domain_id, option_list)[source]
delete_config_options(domain_id, group=None, option=None)[source]
get_config_option(domain_id, group, option, sensitive=False)[source]
list_config_options(domain_id, group=None, option=None, sensitive=False)[source]
obtain_registration(domain_id, type)[source]
read_registration(type)[source]
release_registration(domain_id, type=None)[source]

Silently delete anything registered for the domain specified.

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

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

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

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

domain_id
group
option
to_dict()[source]
value

Module contents