keystone.catalog package

Submodules

keystone.catalog.controllers module

class keystone.catalog.controllers.Endpoint(*args, **kwargs)[source]

Bases: keystone.common.controller.V2Controller

create_endpoint(*args, **kwargs)[source]

Create three v3 endpoint refs based on a legacy ref.

delete_endpoint(*args, **kwargs)[source]

Delete up to three v3 endpoint refs based on a legacy ref ID.

get_endpoints(*args, **kwargs)[source]

Merge matching v3 endpoint refs into legacy refs.

class keystone.catalog.controllers.EndpointFilterV3Controller[source]

Bases: keystone.common.controller.V3Controller

add_endpoint_to_project(request, *args, **kwargs)[source]

Establish an association between an endpoint and a project.

check_endpoint_in_project(request, *args, **kwargs)[source]

Verify endpoint is currently associated with given project.

list_endpoints_for_project(request, *args, **kwargs)[source]

List all endpoints currently associated with a given project.

list_projects_for_endpoint(request, *args, **kwargs)[source]

Return a list of projects associated with the endpoint.

remove_endpoint_from_project(request, *args, **kwargs)[source]

Remove the endpoint from the association with given project.

class keystone.catalog.controllers.EndpointGroupV3Controller[source]

Bases: keystone.common.controller.V3Controller

VALID_FILTER_KEYS = ['service_id', 'region_id', 'interface']
classmethod base_url(context, path=None)[source]

Construct a path and pass it to V3Controller.base_url method.

collection_name = 'endpoint_groups'
create_endpoint_group(request, *args, **kwargs)[source]

Create an Endpoint Group with the associated filters.

delete_endpoint_group(request, *args, **kwargs)[source]

Delete endpoint_group.

get_endpoint_group(request, *args, **kwargs)[source]

Retrieve the endpoint group associated with the id if exists.

list_endpoint_groups(request, *args, **kwargs)[source]

List all endpoint groups.

list_endpoint_groups_for_project(request, *args, **kwargs)[source]

List all endpoint groups associated with a given project.

list_endpoints_associated_with_endpoint_group(request, *args, **kwargs)[source]

List all the endpoints filtered by a specific endpoint group.

list_projects_associated_with_endpoint_group(request, *args, **kwargs)[source]

List all projects associated with endpoint group.

member_name = 'endpoint_group'
update_endpoint_group(request, *args, **kwargs)[source]

Update fixed values and/or extend the filters.

class keystone.catalog.controllers.EndpointV3[source]

Bases: keystone.common.controller.V3Controller

collection_name = 'endpoints'
create_endpoint(request, *args, **kwargs)[source]
delete_endpoint(request, *args, **kwargs)[source]
classmethod filter_endpoint(ref)[source]
get_endpoint(request, *args, **kwargs)[source]
list_endpoints(request, **kwargs)[source]
member_name = 'endpoint'
update_endpoint(request, *args, **kwargs)[source]
classmethod wrap_member(context, ref)[source]
class keystone.catalog.controllers.ProjectEndpointGroupV3Controller[source]

Bases: keystone.common.controller.V3Controller

add_endpoint_group_to_project(request, *args, **kwargs)[source]

Create an association between an endpoint group and project.

collection_name = 'project_endpoint_groups'
get_endpoint_group_in_project(request, *args, **kwargs)[source]

Retrieve the endpoint group associated with the id if exists.

member_name = 'project_endpoint_group'
remove_endpoint_group_from_project(request, *args, **kwargs)[source]

Remove the endpoint group from associated project.

class keystone.catalog.controllers.RegionV3(*args, **kwargs)[source]

Bases: keystone.common.controller.V3Controller

collection_name = 'regions'
create_region(request, *args, **kwargs)[source]
create_region_with_id(request, region_id, region)[source]

Create a region with a user-specified ID.

This method is unprotected because it depends on self.create_region to enforce policy.

delete_region(request, *args, **kwargs)[source]
get_region(request, *args, **kwargs)[source]
list_regions(request, **kwargs)[source]
member_name = 'region'
update_region(request, *args, **kwargs)[source]
class keystone.catalog.controllers.Service(*args, **kwargs)[source]

Bases: keystone.common.controller.V2Controller

create_service(*args, **kwargs)[source]
delete_service(*args, **kwargs)[source]
get_service(*args, **kwargs)[source]
get_services(*args, **kwargs)[source]
class keystone.catalog.controllers.ServiceV3[source]

Bases: keystone.common.controller.V3Controller

collection_name = 'services'
create_service(request, *args, **kwargs)[source]
delete_service(request, *args, **kwargs)[source]
get_service(request, *args, **kwargs)[source]
list_services(request, **kwargs)[source]
member_name = 'service'
update_service(request, *args, **kwargs)[source]

keystone.catalog.core module

Main entry point into the Catalog service.

class keystone.catalog.core.Manager(*args, **kwargs)[source]

Bases: keystone.common.manager.Manager

Default pivot point for the Catalog backend.

See keystone.common.manager.Manager for more details on how this dynamically calls the backend.

add_endpoint_group_to_project(*args, **kwargs)[source]
add_endpoint_to_project(*args, **kwargs)[source]
create_endpoint(*args, **kwargs)[source]
create_region(*args, **kwargs)[source]
create_service(*args, **kwargs)[source]
delete_association_by_endpoint(*args, **kwargs)[source]
delete_association_by_project(*args, **kwargs)[source]
delete_endpoint(*args, **kwargs)[source]
delete_endpoint_group_association_by_project(*args, **kwargs)[source]
delete_region(*args, **kwargs)[source]
delete_service(*args, **kwargs)[source]
driver_namespace = 'keystone.catalog'
get_catalog(*args, **kwargs)[source]
get_endpoint(*args, **kwargs)[source]
get_endpoint_groups_for_project(*args, **kwargs)[source]
get_endpoints_filtered_by_endpoint_group(*args, **kwargs)[source]
get_region(*args, **kwargs)[source]
get_service(*args, **kwargs)[source]
get_v3_catalog(*args, **kwargs)[source]
list_endpoints(*args, **kwargs)[source]
list_endpoints_for_project(*args, **kwargs)[source]

List all endpoints associated with a project.

Parameters:project_id (string) – project identifier to check
Returns:a list of endpoint ids or an empty list.
list_regions(*args, **kwargs)[source]
list_services(*args, **kwargs)[source]
remove_endpoint_from_project(*args, **kwargs)[source]
remove_endpoint_group_from_project(*args, **kwargs)[source]
update_endpoint(*args, **kwargs)[source]
update_region(*args, **kwargs)[source]
update_service(*args, **kwargs)[source]

keystone.catalog.routers module

class keystone.catalog.routers.Routers[source]

Bases: keystone.common.wsgi.RoutersBase

API for the keystone catalog.

The API Endpoint Filter looks like:

PUT /OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}
GET /OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}
HEAD /OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}
DELETE /OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}
GET /OS-EP-FILTER/endpoints/{endpoint_id}/projects
GET /OS-EP-FILTER/projects/{project_id}/endpoints
GET /OS-EP-FILTER/projects/{project_id}/endpoint_groups

GET /OS-EP-FILTER/endpoint_groups
POST /OS-EP-FILTER/endpoint_groups
GET /OS-EP-FILTER/endpoint_groups/{endpoint_group_id}
HEAD /OS-EP-FILTER/endpoint_groups/{endpoint_group_id}
PATCH /OS-EP-FILTER/endpoint_groups/{endpoint_group_id}
DELETE /OS-EP-FILTER/endpoint_groups/{endpoint_group_id}

GET /OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects
GET /OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/endpoints

PUT /OS-EP-FILTER/endpoint_groups/{endpoint_group}/projects/
    {project_id}
GET /OS-EP-FILTER/endpoint_groups/{endpoint_group}/projects/
    {project_id}
HEAD /OS-EP-FILTER/endpoint_groups/{endpoint_group}/projects/
    {project_id}
DELETE /OS-EP-FILTER/endpoint_groups/{endpoint_group}/projects/
    {project_id}
PATH_ENDPOINT_GROUPS = '/endpoint_groups/{endpoint_group_id}'
PATH_ENDPOINT_GROUP_PROJECTS = '/endpoint_groups/{endpoint_group_id}/projects/{project_id}'
PATH_PREFIX = '/OS-EP-FILTER'
PATH_PROJECT_ENDPOINT = '/projects/{project_id}/endpoints/{endpoint_id}'
append_v3_routers(mapper, routers)[source]

keystone.catalog.schema module

Module contents