# keystone.resource.config_backends.base module

class keystone.resource.config_backends.base.DomainConfigDriverBase

  Bases: `object`

  Interface description for a Domain Config driver.

  abstractmethod create_config_options(domain_id, option_list)

    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

  abstractmethod delete_config_options(domain_id, group=None, option=None)

    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.

  abstractmethod get_config_option(domain_id, group, option, sensitive=False)

    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.

  abstractmethod list_config_options(domain_id, group=None, option=False, sensitive=False)

    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

  abstractmethod obtain_registration(domain_id, type)

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

  abstractmethod read_registration(type)

    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.

  abstractmethod release_registration(domain_id, type=None)

    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

  abstractmethod update_config_options(domain_id, option_list)

    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

this page last updated: 2026-06-11 21:50:20

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

found an error? report a bug