Bases: object
Interface description for the Catalog driver.
Add an endpoint group to project association.
Parameters: |
|
---|---|
Raises keystone.exception.Conflict: | |
If the endpoint group was already added to the project. |
|
Returns: | None. |
Create an endpoint to project association.
Parameters: |
|
---|---|
Raises: | keystone.exception.Conflict: If the endpoint was already added to project. |
Returns: | None. |
Check if an endpoint is associated with a project.
Parameters: |
|
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint was not found in the project. |
|
Returns: | None. |
Create a new endpoint for a service.
Raises: |
|
---|
Create an endpoint group.
Parameters: | endpoint_group (dictionary) – endpoint group to create |
---|---|
Raises: | keystone.exception.Conflict: If a duplicate endpoint group already exists. |
Returns: | an endpoint group representation. |
Create a new region.
Raises: |
|
---|
Create a new service.
Raises keystone.exception.Conflict: | |
---|---|
If a duplicate service exists. |
Remove all the endpoints to project association with endpoint.
Parameters: | endpoint_id (string) – identity of endpoint to check |
---|---|
Returns: | None |
Remove all the endpoints to project association with project.
Parameters: | project_id (string) – identity of the project to check |
---|---|
Returns: | None |
Delete an endpoint for a service.
Raises keystone.exception.EndpointNotFound: | |
---|---|
If the endpoint doesn’t exist. |
Delete an endpoint group.
Parameters: | endpoint_group_id (string) – identity of endpoint group to delete |
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint group was not found. | |
Returns: | None. |
Remove endpoint group to project associations.
Parameters: | project_id (string) – identity of the project to check |
---|---|
Returns: | None |
Delete an existing region.
Raises keystone.exception.RegionNotFound: | |
---|---|
If the region doesn’t exist. |
Delete an existing service.
Raises keystone.exception.ServiceNotFound: | |
---|---|
If the service doesn’t exist. |
Retrieve and format the current service catalog.
Example:
{ 'RegionOne':
{'compute': {
'adminURL': u'http://host:8774/v1.1/tenantid',
'internalURL': u'http://host:8774/v1.1/tenant_id',
'name': 'Compute Service',
'publicURL': u'http://host:8774/v1.1/tenantid'},
'ec2': {
'adminURL': 'http://host:8773/services/Admin',
'internalURL': 'http://host:8773/services/Cloud',
'name': 'EC2 Service',
'publicURL': 'http://host:8773/services/Cloud'}}
Returns: | A nested dict representing the service catalog or an empty dict. |
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint doesn’t exist. |
Get endpoint by id.
Returns: | endpoint_ref dict |
---|---|
Raises keystone.exception.EndpointNotFound: | |
If the endpoint doesn’t exist. |
Get an endpoint group.
Parameters: | endpoint_group_id (string) – identity of endpoint group to retrieve |
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint group was not found. | |
Returns: | an endpoint group representation. |
Get endpoint group to project association.
Parameters: |
|
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint group to the project association was not found. |
|
Returns: | a project endpoint group representation. |
Get region by id.
Returns: | region_ref dict |
---|---|
Raises keystone.exception.RegionNotFound: | |
If the region doesn’t exist. |
Get service by id.
Returns: | service_ref dict |
---|---|
Raises keystone.exception.ServiceNotFound: | |
If the service doesn’t exist. |
Retrieve and format the current V3 service catalog.
The default implementation builds the V3 catalog from the V2 catalog.
Example:
[
{
"endpoints": [
{
"interface": "public",
"id": "--endpoint-id--",
"region": "RegionOne",
"url": "http://external:8776/v1/--project-id--"
},
{
"interface": "internal",
"id": "--endpoint-id--",
"region": "RegionOne",
"url": "http://internal:8776/v1/--project-id--"
}],
"id": "--service-id--",
"type": "volume"
}]
Returns: | A list representing the service catalog or an empty list |
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint doesn’t exist. |
List all endpoint group to project associations for a project.
Parameters: | project_id (string) – identity of project to associate |
---|---|
Returns: | None. |
List all endpoints.
Parameters: | hints – contains the list of filters yet to be satisfied. Any filters satisfied here will be removed so that the caller will know if any filters remain. |
---|---|
Returns: | list of endpoint_refs or an empty list. |
List all endpoints associated with a project.
Parameters: | project_id (string) – identity of the project to check |
---|---|
Returns: | a list of identity endpoint ids or an empty list. |
List all projects associated with endpoint group.
Parameters: | endpoint_group_id (string) – identity of endpoint to associate |
---|---|
Returns: | None. |
List all projects associated with an endpoint.
Parameters: | endpoint_id (string) – identity of endpoint to check |
---|---|
Returns: | a list of projects or an empty list. |
List all regions.
Parameters: | hints – contains the list of filters yet to be satisfied. Any filters satisfied here will be removed so that the caller will know if any filters remain. |
---|---|
Returns: | list of region_refs or an empty list. |
List all services.
Parameters: | hints – contains the list of filters yet to be satisfied. Any filters satisfied here will be removed so that the caller will know if any filters remain. |
---|---|
Returns: | list of service_refs or an empty list. |
Remove an endpoint to project association.
Parameters: |
|
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint was not found in the project. |
|
Returns: | None. |
Remove an endpoint to project association.
Parameters: |
|
---|---|
Raises keystone.exception.NotFound: | |
If endpoint group project association was not found. |
|
Returns: | None. |
Get endpoint by id.
Returns: | endpoint_ref dict |
---|---|
Raises: |
|
Update an endpoint group.
Parameters: |
|
---|---|
Raises keystone.exception.NotFound: | |
If the endpoint group was not found. |
|
Returns: | an endpoint group representation. |
Update region by id.
Returns: | region_ref dict |
---|---|
Raises keystone.exception.RegionNotFound: | |
If the region doesn’t exist. |
Update service by id.
Returns: | service_ref dict |
---|---|
Raises keystone.exception.ServiceNotFound: | |
If the service doesn’t exist. |
Bases: keystone.catalog.backends.base.CatalogDriverV8
Retrieve and format the V2 service catalog.
Parameters: |
|
---|---|
Returns: | A nested dict representing the service catalog or an empty dict. |
Retrieve and format the current V3 service catalog.
Parameters: |
|
---|---|
Returns: | A list representing the service catalog or an empty list |
Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.DictBase
Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.ModelDictMixin
Endpoint Groups table.
Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.ModelDictMixin
project-endpoint relationship table.
Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.ModelDictMixin
Project to Endpoint group relationship table.
Bases: keystone.catalog.backends.base.CatalogDriverV8
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 $ due to paste attempting to interpolate on its own:
When expanding the template it will pass in a dict made up of the conf instance plus a few additional key-values, notably tenant_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
Retrieve and format the V2 service catalog.
Parameters: |
|
---|---|
Returns: | A nested dict representing the service catalog or an empty dict. |