keystone.resource.config_backends.base module

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

Bases: object

Interface description for a Domain Config driver.

abstract 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
abstract 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.

abstract 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.

abstract 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

abstract 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).

abstract 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.

abstract 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

abstract 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