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