keystone.catalog.backends.templated.
Catalog
(templates=None)[source]¶Bases: keystone.catalog.backends.base.CatalogDriverBase
A backend that generates endpoints for the Catalog based on templates.
It is usually configured via config entries that look like:
catalog.$REGION.$SERVICE.$key = $value
and is stored in a similar looking hierarchy. Where a value can contain values to be interpolated by standard python string interpolation that look like (the % is replaced by a $):
When expanding the template it will pass in a dict made up of the conf instance plus a few additional key-values, notably project_id and user_id.
It does not care what the keys and values are but it is worth noting that keystone_compat will expect certain keys to be there so that it can munge them into the output format keystone expects. These keys are:
- name - the name of the service, most likely repeated for all services of
- the same type, across regions.
adminURL - the url of the admin endpoint
publicURL - the url of the public endpoint
internalURL - the url of the internal endpoint
get_catalog
(user_id, project_id)[source]¶Retrieve and format the V2 service catalog.
Parameters: |
|
---|---|
Returns: | A nested dict representing the service catalog or an empty dict. |
get_v3_catalog
(user_id, project_id)[source]¶Retrieve and format the current V3 service catalog.
This implementation builds the V3 catalog from the V2 catalog.
Parameters: |
|
---|---|
Returns: | A list representing the service catalog or an empty list |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.