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.
This commit is contained in:
2026-07-18 04:26:48 +03:00
commit 6033967e6a
509 changed files with 464404 additions and 0 deletions
+595
View File
@@ -0,0 +1,595 @@
{
"default_microversion": "2.0",
"max_microversion": "2.70",
"operations": [
{
"collection_key": null,
"introduced_in": "yoga",
"kind": "custom",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "manila_versions",
"path": "/v2",
"requires_auth": true,
"requires_project": false,
"resource_type": "version",
"service": "manila",
"status_code": 200
},
{
"collection_key": "shares",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_list",
"path": "/v2/shares",
"requires_auth": true,
"requires_project": true,
"resource_type": "share",
"service": "manila",
"status_code": 200
},
{
"collection_key": "shares",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "share",
"kind": "collection",
"method": "POST",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_create",
"path": "/v2/shares",
"requires_auth": true,
"requires_project": true,
"resource_type": "share",
"service": "manila",
"status_code": 201
},
{
"collection_key": "shares",
"introduced_in": "yoga",
"item_key": "share",
"kind": "item",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_show",
"path": "/v2/shares/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share",
"service": "manila",
"status_code": 200
},
{
"collection_key": "shares",
"introduced_in": "yoga",
"item_key": "share",
"kind": "item",
"method": "PUT",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_update",
"path": "/v2/shares/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share",
"service": "manila",
"status_code": 200
},
{
"collection_key": "shares",
"introduced_in": "yoga",
"item_key": "share",
"kind": "item",
"method": "PATCH",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_patch",
"path": "/v2/shares/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share",
"service": "manila",
"status_code": 200
},
{
"collection_key": "shares",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_delete",
"path": "/v2/shares/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share",
"service": "manila",
"status_code": 204
},
{
"collection_key": "snapshots",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_snapshot_list",
"path": "/v2/snapshots",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_snapshot",
"service": "manila",
"status_code": 200
},
{
"collection_key": "snapshots",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "snapshot",
"kind": "collection",
"method": "POST",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_snapshot_create",
"path": "/v2/snapshots",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_snapshot",
"service": "manila",
"status_code": 201
},
{
"collection_key": "snapshots",
"introduced_in": "yoga",
"item_key": "snapshot",
"kind": "item",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_snapshot_show",
"path": "/v2/snapshots/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_snapshot",
"service": "manila",
"status_code": 200
},
{
"collection_key": "snapshots",
"introduced_in": "yoga",
"item_key": "snapshot",
"kind": "item",
"method": "PUT",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_snapshot_update",
"path": "/v2/snapshots/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_snapshot",
"service": "manila",
"status_code": 200
},
{
"collection_key": "snapshots",
"introduced_in": "yoga",
"item_key": "snapshot",
"kind": "item",
"method": "PATCH",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_snapshot_patch",
"path": "/v2/snapshots/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_snapshot",
"service": "manila",
"status_code": 200
},
{
"collection_key": "snapshots",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_snapshot_delete",
"path": "/v2/snapshots/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_snapshot",
"service": "manila",
"status_code": 204
},
{
"collection_key": "share_networks",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_network_list",
"path": "/v2/share-networks",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_network",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_networks",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "share_network",
"kind": "collection",
"method": "POST",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_network_create",
"path": "/v2/share-networks",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_network",
"service": "manila",
"status_code": 201
},
{
"collection_key": "share_networks",
"introduced_in": "yoga",
"item_key": "share_network",
"kind": "item",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_network_show",
"path": "/v2/share-networks/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_network",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_networks",
"introduced_in": "yoga",
"item_key": "share_network",
"kind": "item",
"method": "PUT",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_network_update",
"path": "/v2/share-networks/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_network",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_networks",
"introduced_in": "yoga",
"item_key": "share_network",
"kind": "item",
"method": "PATCH",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_network_patch",
"path": "/v2/share-networks/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_network",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_networks",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_network_delete",
"path": "/v2/share-networks/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_network",
"service": "manila",
"status_code": 204
},
{
"collection_key": "share_types",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_type_list",
"path": "/v2/types",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_type",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_types",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "share_type",
"kind": "collection",
"method": "POST",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_type_create",
"path": "/v2/types",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_type",
"service": "manila",
"status_code": 201
},
{
"collection_key": "share_types",
"introduced_in": "yoga",
"item_key": "share_type",
"kind": "item",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_type_show",
"path": "/v2/types/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_type",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_types",
"introduced_in": "yoga",
"item_key": "share_type",
"kind": "item",
"method": "PUT",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_type_update",
"path": "/v2/types/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_type",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_types",
"introduced_in": "yoga",
"item_key": "share_type",
"kind": "item",
"method": "PATCH",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_type_patch",
"path": "/v2/types/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_type",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_types",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_type_delete",
"path": "/v2/types/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_type",
"service": "manila",
"status_code": 204
},
{
"collection_key": "share_servers",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_server_list",
"path": "/v2/share-servers",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_server",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_servers",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "share_server",
"kind": "collection",
"method": "POST",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_server_create",
"path": "/v2/share-servers",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_server",
"service": "manila",
"status_code": 201
},
{
"collection_key": "share_servers",
"introduced_in": "yoga",
"item_key": "share_server",
"kind": "item",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_server_show",
"path": "/v2/share-servers/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_server",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_servers",
"introduced_in": "yoga",
"item_key": "share_server",
"kind": "item",
"method": "PUT",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_server_update",
"path": "/v2/share-servers/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_server",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_servers",
"introduced_in": "yoga",
"item_key": "share_server",
"kind": "item",
"method": "PATCH",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_server_patch",
"path": "/v2/share-servers/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_server",
"service": "manila",
"status_code": 200
},
{
"collection_key": "share_servers",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "share_server_delete",
"path": "/v2/share-servers/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "share_server",
"service": "manila",
"status_code": 204
},
{
"collection_key": "security_services",
"introduced_in": "yoga",
"kind": "collection",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "security_service_list",
"path": "/v2/security-services",
"requires_auth": true,
"requires_project": true,
"resource_type": "security_service",
"service": "manila",
"status_code": 200
},
{
"collection_key": "security_services",
"create_status": 201,
"introduced_in": "yoga",
"item_key": "security_service",
"kind": "collection",
"method": "POST",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "security_service_create",
"path": "/v2/security-services",
"requires_auth": true,
"requires_project": true,
"resource_type": "security_service",
"service": "manila",
"status_code": 201
},
{
"collection_key": "security_services",
"introduced_in": "yoga",
"item_key": "security_service",
"kind": "item",
"method": "GET",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "security_service_show",
"path": "/v2/security-services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "security_service",
"service": "manila",
"status_code": 200
},
{
"collection_key": "security_services",
"introduced_in": "yoga",
"item_key": "security_service",
"kind": "item",
"method": "PUT",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "security_service_update",
"path": "/v2/security-services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "security_service",
"service": "manila",
"status_code": 200
},
{
"collection_key": "security_services",
"introduced_in": "yoga",
"item_key": "security_service",
"kind": "item",
"method": "PATCH",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "security_service_patch",
"path": "/v2/security-services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "security_service",
"service": "manila",
"status_code": 200
},
{
"collection_key": "security_services",
"introduced_in": "yoga",
"kind": "item",
"method": "DELETE",
"microversion_max": "2.70",
"microversion_min": "2.0",
"operation_id": "security_service_delete",
"path": "/v2/security-services/{id}",
"requires_auth": true,
"requires_project": true,
"resource_type": "security_service",
"service": "manila",
"status_code": 204
}
],
"port": 8786,
"service": "manila",
"type": "sharev2",
"version_path": "/v2/"
}