Keystone/SimpleEndpoints

Endpoint management can (and should) be made simpler across all interactions with keystone: REST API, CLI, and the persistence layer.

location id (PK) uid (string) 'uk' parent_location_id (FK, nullable) name (string) 'UK' desc (string, nullable) 'United Kingdom'

endpoint id (PK) uid (string) service_id (FK) location_id (FK) type (string) 'admin', 'internal', or 'public' url (string) 'https://api.openstack.org/tenants/%tenant_id%/' is_global (bool) (detected *automatically* based on url)

tenant_endpoints tenant_id (FK) endpoint_id (FK)

$ ./manage add_location --name="{location_name}" CREATED Location: {location_uid}

$ ./manage add_service --name="{service_name}" --type="{service_type}" CREATED Service: {service_uid}

$ ./manage add_endpoint --service="{service_uid}" --location="{location_uid}" --type="{endpoint_type}" url="{endpoint_url}" CREATED Endpoint: {endpoint_uid}

$ ./manage grant_tenant_endpoint --tenant="{tenant_uid}" --endpoint="{endpoint_uid}"

GET /tokens/{token_id}/endpoints