keystone.catalog.backends.base.
CatalogDriverBase
[source]¶Bases: keystone.common.provider_api.ProviderAPIMixin
, object
Interface description for the Catalog driver.
add_endpoint_group_to_project
(endpoint_group_id, project_id)[source]¶Add an endpoint group to project association.
endpoint_group_id (string) – identity of endpoint to associate
project_id (string) – identity of project to associate
keystone.exception.Conflict – If the endpoint group was already added to the project.
None.
add_endpoint_to_project
(endpoint_id, project_id)[source]¶Create an endpoint to project association.
endpoint_id (string) – identity of endpoint to associate
project_id (string) – identity of the project to be associated with
keystone.exception.Conflict: If the endpoint was already added to project.
None.
check_endpoint_in_project
(endpoint_id, project_id)[source]¶Check if an endpoint is associated with a project.
endpoint_id (string) – identity of endpoint to check
project_id (string) – identity of the project associated with
keystone.exception.NotFound – If the endpoint was not found in the project.
None.
create_endpoint
(endpoint_id, endpoint_ref)[source]¶Create a new endpoint for a service.
keystone.exception.Conflict – If a duplicate endpoint exists.
keystone.exception.ServiceNotFound – If the service doesn’t exist.
create_endpoint_group
(endpoint_group)[source]¶Create an endpoint group.
endpoint_group (dictionary) – endpoint group to create
keystone.exception.Conflict: If a duplicate endpoint group already exists.
an endpoint group representation.
create_region
(region_ref)[source]¶Create a new region.
keystone.exception.Conflict – If the region already exists.
keystone.exception.RegionNotFound – If the parent region is invalid.
create_service
(service_id, service_ref)[source]¶Create a new service.
keystone.exception.Conflict – If a duplicate service exists.
delete_association_by_endpoint
(endpoint_id)[source]¶Remove all the endpoints to project association with endpoint.
endpoint_id (string) – identity of endpoint to check
None
delete_association_by_project
(project_id)[source]¶Remove all the endpoints to project association with project.
project_id (string) – identity of the project to check
None
delete_endpoint
(endpoint_id)[source]¶Delete an endpoint for a service.
keystone.exception.EndpointNotFound – If the endpoint doesn’t exist.
delete_endpoint_group
(endpoint_group_id)[source]¶Delete an endpoint group.
endpoint_group_id (string) – identity of endpoint group to delete
keystone.exception.NotFound – If the endpoint group was not found.
None.
delete_endpoint_group_association_by_project
(project_id)[source]¶Remove endpoint group to project associations.
project_id (string) – identity of the project to check
None
delete_region
(region_id)[source]¶Delete an existing region.
keystone.exception.RegionNotFound – If the region doesn’t exist.
delete_service
(service_id)[source]¶Delete an existing service.
keystone.exception.ServiceNotFound – If the service doesn’t exist.
get_catalog
(user_id, project_id)[source]¶Retrieve and format the current service catalog.
Example:
{ 'RegionOne':
{'compute': {
'adminURL': u'http://host:8774/v1.1/project_id',
'internalURL': u'http://host:8774/v1.1/project_id',
'name': 'Compute Service',
'publicURL': u'http://host:8774/v1.1/project_id'},
'ec2': {
'adminURL': 'http://host:8773/services/Admin',
'internalURL': 'http://host:8773/services/Cloud',
'name': 'EC2 Service',
'publicURL': 'http://host:8773/services/Cloud'}}
A nested dict representing the service catalog or an empty dict.
keystone.exception.NotFound – If the endpoint doesn’t exist.
get_endpoint
(endpoint_id)[source]¶Get endpoint by id.
endpoint_ref dict
keystone.exception.EndpointNotFound – If the endpoint doesn’t exist.
get_endpoint_group
(endpoint_group_id)[source]¶Get an endpoint group.
endpoint_group_id (string) – identity of endpoint group to retrieve
keystone.exception.NotFound – If the endpoint group was not found.
an endpoint group representation.
get_endpoint_group_in_project
(endpoint_group_id, project_id)[source]¶Get endpoint group to project association.
endpoint_group_id (string) – identity of endpoint group to retrieve
project_id (string) – identity of project to associate
keystone.exception.NotFound – If the endpoint group to the project association was not found.
a project endpoint group representation.
get_region
(region_id)[source]¶Get region by id.
region_ref dict
keystone.exception.RegionNotFound – If the region doesn’t exist.
get_service
(service_id)[source]¶Get service by id.
service_ref dict
keystone.exception.ServiceNotFound – If the service doesn’t exist.
get_v3_catalog
(user_id, project_id)[source]¶Retrieve and format the current V3 service 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"
}]
A list representing the service catalog or an empty list
keystone.exception.NotFound – If the endpoint doesn’t exist.
list_endpoint_groups_for_project
(project_id)[source]¶List all endpoint group to project associations for a project.
project_id (string) – identity of project to associate
None.
list_endpoints
(hints)[source]¶List all endpoints.
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.
list of endpoint_refs or an empty list.
list_endpoints_for_project
(project_id)[source]¶List all endpoints associated with a project.
project_id (string) – identity of the project to check
a list of identity endpoint ids or an empty list.
list_projects_associated_with_endpoint_group
(endpoint_group_id)[source]¶List all projects associated with endpoint group.
endpoint_group_id (string) – identity of endpoint to associate
None.
list_projects_for_endpoint
(endpoint_id)[source]¶List all projects associated with an endpoint.
endpoint_id (string) – identity of endpoint to check
a list of projects or an empty list.
list_regions
(hints)[source]¶List all regions.
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.
list of region_refs or an empty list.
list_services
(hints)[source]¶List all services.
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.
list of service_refs or an empty list.
remove_endpoint_from_project
(endpoint_id, project_id)[source]¶Remove an endpoint to project association.
endpoint_id (string) – identity of endpoint to remove
project_id (string) – identity of the project associated with
keystone.exception.NotFound – If the endpoint was not found in the project.
None.
remove_endpoint_group_from_project
(endpoint_group_id, project_id)[source]¶Remove an endpoint to project association.
endpoint_group_id (string) – identity of endpoint to associate
project_id (string) – identity of project to associate
keystone.exception.NotFound – If endpoint group project association was not found.
None.
update_endpoint
(endpoint_id, endpoint_ref)[source]¶Get endpoint by id.
endpoint_ref dict
keystone.exception.EndpointNotFound – If the endpoint doesn’t exist.
keystone.exception.ServiceNotFound – If the service doesn’t exist.
update_endpoint_group
(endpoint_group_id, endpoint_group)[source]¶Update an endpoint group.
endpoint_group_id (string) – identity of endpoint group to retrieve
endpoint_group (dictionary) – A full or partial endpoint_group
keystone.exception.NotFound – If the endpoint group was not found.
an endpoint group representation.
update_region
(region_id, region_ref)[source]¶Update region by id.
region_ref dict
keystone.exception.RegionNotFound – If the region doesn’t exist.
update_service
(service_id, service_ref)[source]¶Update service by id.
service_ref dict
keystone.exception.ServiceNotFound – If the service doesn’t exist.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.