The keystone.catalog.core Module

Main entry point into the Catalog service.

class keystone.catalog.core.Driver

Bases: object

Interface description for an Catalog driver.

create_endpoint(endpoint_id, endpoint_ref)

Creates a new endpoint for a service.

Raises :keystone.exception.Conflict, keystone.exception.ServiceNotFound
create_service(service_id, service_ref)

Creates a new service.

Raises :keystone.exception.Conflict
delete_endpoint(endpoint_id)

Deletes an endpoint for a service.

Raises :keystone.exception.EndpointNotFound
delete_service(service_id)

Deletes an existing service.

Raises :keystone.exception.ServiceNotFound
get_catalog(user_id, tenant_id, metadata=None)

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
get_endpoint(endpoint_id)

Get endpoint by id.

Returns:endpoint_ref dict
Raises :keystone.exception.EndpointNotFound
get_service(service_id)

Get service by id.

Returns:service_ref dict
Raises :keystone.exception.ServiceNotFound
get_v3_catalog(user_id, tenant_id, metadata=None)

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"
}]
Returns:A list representing the service catalog or an empty list
Raises :keystone.exception.NotFound
list_endpoints()

List all endpoints.

Returns:list of endpoint_refs or an empty list.
list_services()

List all services.

Returns:list of service_refs or an empty list.
update_endpoint(endpoint_id, endpoint_ref)

Get endpoint by id.

Returns:endpoint_ref dict
Raises :keystone.exception.EndpointNotFound keystone.exception.ServiceNotFound
update_service(service_id)

Update service by id.

Returns:service_ref dict
Raises :keystone.exception.ServiceNotFound
class keystone.catalog.core.Manager(*args, **kwargs)

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.

create_endpoint(context, endpoint_id, endpoint_ref)
delete_endpoint(context, endpoint_id)
delete_service(context, service_id)
get_catalog(context, user_id, tenant_id, metadata=None)
get_endpoint(context, endpoint_id)
get_service(context, service_id)
keystone.catalog.core.format_url(url, data)

Helper Method for all Backend Catalog’s to Deal with URLS

Previous topic

The keystone.catalog.controllers Module

Next topic

The keystone.catalog.routers Module

This Page