endpoint_filter Package

endpoint_filter Package

controllers Module

class keystone.contrib.endpoint_filter.controllers.EndpointFilterV3Controller[source]

Bases: keystone.contrib.endpoint_filter.controllers._ControllerBase

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

Establishes an association between an endpoint and a project.

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

Verifies endpoint is currently associated with given project.

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

List all endpoints currently associated with a given project.

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

Return a list of projects associated with the endpoint.

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

Remove the endpoint from the association with given project.

class keystone.contrib.endpoint_filter.controllers.EndpointGroupV3Controller[source]

Bases: keystone.contrib.endpoint_filter.controllers._ControllerBase

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(context, *args, **kwargs)[source]

Creates an Endpoint Group with the associated filters.

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

Delete endpoint_group.

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

Retrieve the endpoint group associated with the id if exists.

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

List all endpoint groups.

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

List all endpoint groups associated with a given project.

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

List all the endpoints filtered by a specific endpoint group.

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

List all projects associated with endpoint group.

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

Update fixed values and/or extend the filters.

class keystone.contrib.endpoint_filter.controllers.ProjectEndpointGroupV3Controller[source]

Bases: keystone.contrib.endpoint_filter.controllers._ControllerBase

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

Creates an association between an endpoint group and project.

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

Retrieve the endpoint group associated with the id if exists.

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

Remove the endpoint group from associated project.

core Module

Main entry point into the Endpoint Filter service.

class keystone.contrib.endpoint_filter.core.Driver[source]

Bases: object

Interface description for an Endpoint Filter driver.

add_endpoint_group_to_project(endpoint_group_id, project_id)[source]

Adds an endpoint group to project association.

Parameters:
  • endpoint_group_id (string) – identity of endpoint to associate
  • project_id (string) – identity of project to associate
Raises :

keystone.exception.Conflict,

Returns:

None.

add_endpoint_to_project(endpoint_id, project_id)[source]

Create an endpoint to project association.

Parameters:
  • endpoint_id (string) – identity of endpoint to associate
  • project_id (string) – identity of the project to be associated with
Raises :

keystone.exception.Conflict,

Returns:

None.

check_endpoint_in_project(endpoint_id, project_id)[source]

Checks if an endpoint is associated with a project.

Parameters:
  • endpoint_id (string) – identity of endpoint to check
  • project_id (string) – identity of the project associated with
Raises :

exception.NotFound

Returns:

None.

create_endpoint_group(endpoint_group)[source]

Create an endpoint group.

Parameters:endpoint_group (dictionary) – endpoint group to create
Raises :keystone.exception.Conflict,
Returns:an endpoint group representation.
delete_association_by_endpoint(endpoint_id)[source]

Removes all the endpoints to project association with endpoint.

Parameters:endpoint_id (string) – identity of endpoint to check
Returns:None
delete_association_by_project(project_id)[source]

Removes all the endpoints to project association with project.

Parameters:project_id (string) – identity of the project to check
Returns:None
delete_endpoint_group(endpoint_group_id)[source]

Delete an endpoint group.

Parameters:endpoint_group_id (string) – identity of endpoint group to delete
Raises :exception.NotFound
Returns:None.
delete_endpoint_group_association_by_project(project_id)[source]

Remove endpoint group to project associations.

Parameters:project_id (string) – identity of the project to check
Returns:None
get_endpoint_group(endpoint_group_id)[source]

Get an endpoint group.

Parameters:endpoint_group_id (string) – identity of endpoint group to retrieve
Raises :exception.NotFound
Returns:an endpoint group representation.
get_endpoint_group_in_project(endpoint_group_id, project_id)[source]

Get endpoint group to project association.

Parameters:
  • endpoint_group_id (string) – identity of endpoint group to retrieve
  • project_id (string) – identity of project to associate
Raises :

exception.NotFound

Returns:

a project endpoint group representation.

list_endpoint_groups()[source]

List all endpoint groups.

Raises :exception.NotFound
Returns:None.
list_endpoint_groups_for_project(project_id)[source]

List all endpoint group to project associations for a project.

Parameters:project_id (string) – identity of project to associate
Raises :exception.NotFound
Returns:None.
list_endpoints_for_project(project_id)[source]

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_projects_associated_with_endpoint_group(endpoint_group_id)[source]

List all projects associated with endpoint group.

Parameters:endpoint_group_id (string) – identity of endpoint to associate
Raises :exception.NotFound
Returns:None.
list_projects_for_endpoint(endpoint_id)[source]

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.
remove_endpoint_from_project(endpoint_id, project_id)[source]

Removes an endpoint to project association.

Parameters:
  • endpoint_id (string) – identity of endpoint to remove
  • project_id (string) – identity of the project associated with
Raises :

exception.NotFound

Returns:

None.

remove_endpoint_group_from_project(endpoint_group_id, project_id)[source]

Remove an endpoint to project association.

Parameters:
  • endpoint_group_id (string) – identity of endpoint to associate
  • project_id (string) – identity of project to associate
Raises :

exception.NotFound

Returns:

None.

update_endpoint_group(endpoint_group_id, endpoint_group)[source]

Update an endpoint group.

Parameters:
  • endpoint_group_id (string) – identity of endpoint group to retrieve
  • endpoint_group (dictionary) – A full or partial endpoint_group
Raises :

exception.NotFound

Returns:

an endpoint group representation.

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

Bases: keystone.common.manager.Manager

Default pivot point for the Endpoint Filter backend.

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

driver_namespace = 'keystone.endpoint_filter'

routers Module

class keystone.contrib.endpoint_filter.routers.EndpointFilterExtension(application, mapper=None)[source]

Bases: keystone.common.wsgi.V3ExtensionRouter

API Endpoints for the Endpoint Filter extension.

The API 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}'
add_routes(mapper)[source]

schema Module

Table Of Contents

This Page