Files
inecs 6033967e6a Initial commit: stateful OpenStack API laboratory simulator.
Ship Keystone auth, multi-service handlers (Yoga→Dalmatian), Compose/Helm
packaging, API contract packs, and pytest/Pulumi coverage labs.
2026-07-18 04:26:48 +03:00

1066 lines
28 KiB
JSON

{
"default_microversion": null,
"max_microversion": null,
"operations": [
{
"collection_key": null,
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_v3_root",
"path": "/v3",
"requires_auth": true,
"requires_project": false,
"resource_type": "version",
"service": "keystone",
"status_code": 200
},
{
"collection_key": null,
"introduced_in": "yoga",
"kind": "custom",
"method": "POST",
"operation_id": "keystone_auth_tokens",
"path": "/v3/auth/tokens",
"requires_auth": false,
"requires_project": false,
"resource_type": "token",
"service": "keystone",
"status_code": 201
},
{
"collection_key": null,
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_validate_token",
"path": "/v3/auth/tokens",
"requires_auth": true,
"requires_project": false,
"resource_type": "token",
"service": "keystone",
"status_code": 200
},
{
"collection_key": null,
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_catalog",
"path": "/v3/auth/catalog",
"requires_auth": true,
"requires_project": false,
"resource_type": "catalog",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "domains",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "domain_list",
"path": "/v3/domains",
"requires_auth": true,
"requires_project": true,
"resource_type": "domain",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "domains",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "domain",
"kind": "collection",
"method": "POST",
"operation_id": "domain_create",
"path": "/v3/domains",
"requires_auth": true,
"requires_project": true,
"resource_type": "domain",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "domains",
"introduced_in": "yoga",
"item_key": "domain",
"kind": "item",
"method": "GET",
"operation_id": "domain_show",
"path": "/v3/domains/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "domain",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "domains",
"introduced_in": "yoga",
"item_key": "domain",
"kind": "item",
"method": "PUT",
"operation_id": "domain_update",
"path": "/v3/domains/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "domain",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "domains",
"introduced_in": "yoga",
"item_key": "domain",
"kind": "item",
"method": "PATCH",
"operation_id": "domain_patch",
"path": "/v3/domains/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "domain",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "domains",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "domain_delete",
"path": "/v3/domains/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "domain",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "projects",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "project_list",
"path": "/v3/projects",
"requires_auth": true,
"requires_project": true,
"resource_type": "project",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "projects",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "project",
"kind": "collection",
"method": "POST",
"operation_id": "project_create",
"path": "/v3/projects",
"requires_auth": true,
"requires_project": true,
"resource_type": "project",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "projects",
"introduced_in": "yoga",
"item_key": "project",
"kind": "item",
"method": "GET",
"operation_id": "project_show",
"path": "/v3/projects/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "project",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "projects",
"introduced_in": "yoga",
"item_key": "project",
"kind": "item",
"method": "PUT",
"operation_id": "project_update",
"path": "/v3/projects/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "project",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "projects",
"introduced_in": "yoga",
"item_key": "project",
"kind": "item",
"method": "PATCH",
"operation_id": "project_patch",
"path": "/v3/projects/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "project",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "projects",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "project_delete",
"path": "/v3/projects/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "project",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "users",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "user_list",
"path": "/v3/users",
"requires_auth": true,
"requires_project": true,
"resource_type": "user",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "users",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "user",
"kind": "collection",
"method": "POST",
"operation_id": "user_create",
"path": "/v3/users",
"requires_auth": true,
"requires_project": true,
"resource_type": "user",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "users",
"introduced_in": "yoga",
"item_key": "user",
"kind": "item",
"method": "GET",
"operation_id": "user_show",
"path": "/v3/users/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "user",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "users",
"introduced_in": "yoga",
"item_key": "user",
"kind": "item",
"method": "PUT",
"operation_id": "user_update",
"path": "/v3/users/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "user",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "users",
"introduced_in": "yoga",
"item_key": "user",
"kind": "item",
"method": "PATCH",
"operation_id": "user_patch",
"path": "/v3/users/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "user",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "users",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "user_delete",
"path": "/v3/users/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "user",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "groups",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "group_list",
"path": "/v3/groups",
"requires_auth": true,
"requires_project": true,
"resource_type": "group",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "groups",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "group",
"kind": "collection",
"method": "POST",
"operation_id": "group_create",
"path": "/v3/groups",
"requires_auth": true,
"requires_project": true,
"resource_type": "group",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "groups",
"introduced_in": "yoga",
"item_key": "group",
"kind": "item",
"method": "GET",
"operation_id": "group_show",
"path": "/v3/groups/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "group",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "groups",
"introduced_in": "yoga",
"item_key": "group",
"kind": "item",
"method": "PUT",
"operation_id": "group_update",
"path": "/v3/groups/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "group",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "groups",
"introduced_in": "yoga",
"item_key": "group",
"kind": "item",
"method": "PATCH",
"operation_id": "group_patch",
"path": "/v3/groups/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "group",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "groups",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "group_delete",
"path": "/v3/groups/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "group",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "role_list",
"path": "/v3/roles",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "roles",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "role",
"kind": "collection",
"method": "POST",
"operation_id": "role_create",
"path": "/v3/roles",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"item_key": "role",
"kind": "item",
"method": "GET",
"operation_id": "role_show",
"path": "/v3/roles/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"item_key": "role",
"kind": "item",
"method": "PUT",
"operation_id": "role_update",
"path": "/v3/roles/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"item_key": "role",
"kind": "item",
"method": "PATCH",
"operation_id": "role_patch",
"path": "/v3/roles/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "role_delete",
"path": "/v3/roles/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "regions",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "region_list",
"path": "/v3/regions",
"requires_auth": true,
"requires_project": true,
"resource_type": "region",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "regions",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "region",
"kind": "collection",
"method": "POST",
"operation_id": "region_create",
"path": "/v3/regions",
"requires_auth": true,
"requires_project": true,
"resource_type": "region",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "regions",
"introduced_in": "yoga",
"item_key": "region",
"kind": "item",
"method": "GET",
"operation_id": "region_show",
"path": "/v3/regions/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "region",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "regions",
"introduced_in": "yoga",
"item_key": "region",
"kind": "item",
"method": "PUT",
"operation_id": "region_update",
"path": "/v3/regions/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "region",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "regions",
"introduced_in": "yoga",
"item_key": "region",
"kind": "item",
"method": "PATCH",
"operation_id": "region_patch",
"path": "/v3/regions/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "region",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "regions",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "region_delete",
"path": "/v3/regions/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "region",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "services",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "service_list",
"path": "/v3/services",
"requires_auth": true,
"requires_project": true,
"resource_type": "service",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "services",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "service",
"kind": "collection",
"method": "POST",
"operation_id": "service_create",
"path": "/v3/services",
"requires_auth": true,
"requires_project": true,
"resource_type": "service",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "services",
"introduced_in": "yoga",
"item_key": "service",
"kind": "item",
"method": "GET",
"operation_id": "service_show",
"path": "/v3/services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "service",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "services",
"introduced_in": "yoga",
"item_key": "service",
"kind": "item",
"method": "PUT",
"operation_id": "service_update",
"path": "/v3/services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "service",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "services",
"introduced_in": "yoga",
"item_key": "service",
"kind": "item",
"method": "PATCH",
"operation_id": "service_patch",
"path": "/v3/services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "service",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "services",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "service_delete",
"path": "/v3/services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "service",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "endpoints",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "endpoint_list",
"path": "/v3/endpoints",
"requires_auth": true,
"requires_project": true,
"resource_type": "endpoint",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "endpoints",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "endpoint",
"kind": "collection",
"method": "POST",
"operation_id": "endpoint_create",
"path": "/v3/endpoints",
"requires_auth": true,
"requires_project": true,
"resource_type": "endpoint",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "endpoints",
"introduced_in": "yoga",
"item_key": "endpoint",
"kind": "item",
"method": "GET",
"operation_id": "endpoint_show",
"path": "/v3/endpoints/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "endpoint",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "endpoints",
"introduced_in": "yoga",
"item_key": "endpoint",
"kind": "item",
"method": "PUT",
"operation_id": "endpoint_update",
"path": "/v3/endpoints/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "endpoint",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "endpoints",
"introduced_in": "yoga",
"item_key": "endpoint",
"kind": "item",
"method": "PATCH",
"operation_id": "endpoint_patch",
"path": "/v3/endpoints/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "endpoint",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "endpoints",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "endpoint_delete",
"path": "/v3/endpoints/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "endpoint",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "credentials",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "credential_list",
"path": "/v3/credentials",
"requires_auth": true,
"requires_project": true,
"resource_type": "credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "credentials",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "credential",
"kind": "collection",
"method": "POST",
"operation_id": "credential_create",
"path": "/v3/credentials",
"requires_auth": true,
"requires_project": true,
"resource_type": "credential",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "credentials",
"introduced_in": "yoga",
"item_key": "credential",
"kind": "item",
"method": "GET",
"operation_id": "credential_show",
"path": "/v3/credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "credentials",
"introduced_in": "yoga",
"item_key": "credential",
"kind": "item",
"method": "PUT",
"operation_id": "credential_update",
"path": "/v3/credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "credentials",
"introduced_in": "yoga",
"item_key": "credential",
"kind": "item",
"method": "PATCH",
"operation_id": "credential_patch",
"path": "/v3/credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "credentials",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "credential_delete",
"path": "/v3/credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "credential",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "policies",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "policy_list",
"path": "/v3/policies",
"requires_auth": true,
"requires_project": true,
"resource_type": "policy",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "policies",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "policy",
"kind": "collection",
"method": "POST",
"operation_id": "policy_create",
"path": "/v3/policies",
"requires_auth": true,
"requires_project": true,
"resource_type": "policy",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "policies",
"introduced_in": "yoga",
"item_key": "policy",
"kind": "item",
"method": "GET",
"operation_id": "policy_show",
"path": "/v3/policies/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "policy",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "policies",
"introduced_in": "yoga",
"item_key": "policy",
"kind": "item",
"method": "PUT",
"operation_id": "policy_update",
"path": "/v3/policies/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "policy",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "policies",
"introduced_in": "yoga",
"item_key": "policy",
"kind": "item",
"method": "PATCH",
"operation_id": "policy_patch",
"path": "/v3/policies/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "policy",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "policies",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "policy_delete",
"path": "/v3/policies/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "policy",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "application_credentials",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"operation_id": "application_credential_list",
"path": "/v3/users/{user_id}/application_credentials",
"requires_auth": true,
"requires_project": true,
"resource_type": "application_credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "application_credentials",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "application_credential",
"kind": "collection",
"method": "POST",
"operation_id": "application_credential_create",
"path": "/v3/users/{user_id}/application_credentials",
"requires_auth": true,
"requires_project": true,
"resource_type": "application_credential",
"service": "keystone",
"status_code": 201
},
{
"collection_key": "application_credentials",
"introduced_in": "yoga",
"item_key": "application_credential",
"kind": "item",
"method": "GET",
"operation_id": "application_credential_show",
"path": "/v3/users/{user_id}/application_credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "application_credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "application_credentials",
"introduced_in": "yoga",
"item_key": "application_credential",
"kind": "item",
"method": "PUT",
"operation_id": "application_credential_update",
"path": "/v3/users/{user_id}/application_credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "application_credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "application_credentials",
"introduced_in": "yoga",
"item_key": "application_credential",
"kind": "item",
"method": "PATCH",
"operation_id": "application_credential_patch",
"path": "/v3/users/{user_id}/application_credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "application_credential",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "application_credentials",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"operation_id": "application_credential_delete",
"path": "/v3/users/{user_id}/application_credentials/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "application_credential",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "role_assignments",
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_role_assignments",
"path": "/v3/role_assignments",
"requires_auth": true,
"requires_project": true,
"resource_type": "role_assignment",
"service": "keystone",
"status_code": 200
},
{
"collection_key": null,
"introduced_in": "yoga",
"kind": "custom",
"method": "PUT",
"operation_id": "keystone_grant_project_role",
"path": "/v3/projects/{project_id}/users/{user_id}/roles/{role_id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "role_assignment",
"service": "keystone",
"status_code": 204
},
{
"introduced_in": "yoga",
"kind": "custom",
"method": "DELETE",
"operation_id": "keystone_revoke_project_role",
"path": "/v3/projects/{project_id}/users/{user_id}/roles/{role_id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "role_assignment",
"service": "keystone",
"status_code": 204
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_list_project_user_roles",
"path": "/v3/projects/{project_id}/users/{user_id}/roles",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "roles",
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_inherit_roles",
"path": "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles",
"requires_auth": true,
"requires_project": true,
"resource_type": "role",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "limits",
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_limits",
"path": "/v3/limits",
"requires_auth": true,
"requires_project": true,
"resource_type": "limit",
"service": "keystone",
"status_code": 200
},
{
"collection_key": "registered_limits",
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"operation_id": "keystone_registered_limits",
"path": "/v3/registered_limits",
"requires_auth": true,
"requires_project": true,
"resource_type": "registered_limit",
"service": "keystone",
"status_code": 200
}
],
"port": 5000,
"service": "keystone",
"type": "identity",
"version_path": "/v3/"
}