Bases: list
Encapsulate driver hints for listing entities.
Hints are modifiers that affect the return of entities from a list_<entities> operation. They are typically passed to a driver to give direction as to what filtering, pagination or list limiting actions are being requested.
It is optional for a driver to action some or all of the list hints, but any filters that it does satisfy must be marked as such by calling removing the filter from the list.
A Hint object is a list of dicts, initially of type ‘filter’ or ‘limit’, although other types may be added in the future. The list can be enumerated directly, or by using the filters() method which will guarantee to only return filters.
Iterate over all unsatisfied filters.
Each filter term consists of:
name: the name of the attribute being matched
value: the value against which it is being matched
startswith or endswith
case
type: will always be ‘filter’
Register extension with collection of admin extensions.
Extensions register the information here that will show up in the /extensions page as a way to indicate that the extension is active.
Bases: object
Base class for intermediary request layer.
The Manager layer exists to support additional logic that applies to all or some of the methods exposed by a service that are not specific to the HTTP interface.
It also provides a stable entry point to dynamic backends.
An example of a probable use case is logging all the calls.
Truncate the list returned by the wrapped function.
This is designed to wrap Manager list_{entity} methods to ensure that any list limits that are defined are passed to the driver layer. If a hints list is provided, the wrapper will insert the relevant limit into the hints so that the underlying driver call can try and honor it. If the driver does truncate the response, it will update the ‘truncated’ attribute in the ‘limit’ entry in the hints list, which enables the caller of this function to know if truncation has taken place. If, however, the driver layer is unable to perform truncation, the ‘limit’ entry is simply left in the hints list for the caller to handle.
A _get_list_limit() method is required to be present in the object class hierarchy, which returns the limit for this backend to which we will truncate.
If a hints list is not provided in the arguments of the wrapped call then any limits set in the config file are ignored. This allows internal use of such wrapped methods where the entire data set is needed as input for the calculations of some other API (e.g. get role assignments for a given project).
Base model for keystone internal services
Unless marked otherwise, all fields are strings.
Bases: keystone.common.models.Model
Domain object.
Optional keys:
description enabled (bool, default True)
Bases: keystone.common.models.Model
Endpoint object
Bases: keystone.common.models.Model
Group object.
Optional keys:
description
Bases: keystone.common.models.Model
Project object.
Bases: keystone.common.models.Model
Role object.
Bases: keystone.common.models.Model
Service object.
Optional keys:
Bases: keystone.common.models.Model
Token object.
Bases: keystone.common.models.Model
Trust object.
Bases: keystone.common.models.Model
User object.
Helper module for systemd start-up completion notification. Used for “onready” configuration parameter in keystone.conf