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:
@@ -0,0 +1,438 @@
|
||||
{
|
||||
"default_microversion": null,
|
||||
"max_microversion": null,
|
||||
"operations": [
|
||||
{
|
||||
"collection_key": null,
|
||||
"introduced_in": "yoga",
|
||||
"kind": "custom",
|
||||
"method": "GET",
|
||||
"operation_id": "trove_versions",
|
||||
"path": "/v1.0",
|
||||
"requires_auth": true,
|
||||
"requires_project": false,
|
||||
"resource_type": "version",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "instances",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "instance_list",
|
||||
"path": "/v1.0/instances",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "instance",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "instances",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "instance",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "instance_create",
|
||||
"path": "/v1.0/instances",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "instance",
|
||||
"service": "trove",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "instances",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "instance",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "instance_show",
|
||||
"path": "/v1.0/instances/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "instance",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "instances",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "instance",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "instance_update",
|
||||
"path": "/v1.0/instances/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "instance",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "instances",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "instance",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "instance_patch",
|
||||
"path": "/v1.0/instances/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "instance",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "instances",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "instance_delete",
|
||||
"path": "/v1.0/instances/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "instance",
|
||||
"service": "trove",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "datastores",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "datastore_list",
|
||||
"path": "/v1.0/datastores",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "datastore",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "datastores",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "datastore",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "datastore_create",
|
||||
"path": "/v1.0/datastores",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "datastore",
|
||||
"service": "trove",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "datastores",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "datastore",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "datastore_show",
|
||||
"path": "/v1.0/datastores/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "datastore",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "datastores",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "datastore",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "datastore_update",
|
||||
"path": "/v1.0/datastores/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "datastore",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "datastores",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "datastore",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "datastore_patch",
|
||||
"path": "/v1.0/datastores/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "datastore",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "datastores",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "datastore_delete",
|
||||
"path": "/v1.0/datastores/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "datastore",
|
||||
"service": "trove",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "backups",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "backup_list",
|
||||
"path": "/v1.0/backups",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "backup",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "backups",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "backup",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "backup_create",
|
||||
"path": "/v1.0/backups",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "backup",
|
||||
"service": "trove",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "backups",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "backup",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "backup_show",
|
||||
"path": "/v1.0/backups/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "backup",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "backups",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "backup",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "backup_update",
|
||||
"path": "/v1.0/backups/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "backup",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "backups",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "backup",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "backup_patch",
|
||||
"path": "/v1.0/backups/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "backup",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "backups",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "backup_delete",
|
||||
"path": "/v1.0/backups/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "backup",
|
||||
"service": "trove",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "configurations",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "configuration_list",
|
||||
"path": "/v1.0/configurations",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "configuration",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "configurations",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "configuration",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "configuration_create",
|
||||
"path": "/v1.0/configurations",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "configuration",
|
||||
"service": "trove",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "configurations",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "configuration",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "configuration_show",
|
||||
"path": "/v1.0/configurations/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "configuration",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "configurations",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "configuration",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "configuration_update",
|
||||
"path": "/v1.0/configurations/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "configuration",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "configurations",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "configuration",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "configuration_patch",
|
||||
"path": "/v1.0/configurations/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "configuration",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "configurations",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "configuration_delete",
|
||||
"path": "/v1.0/configurations/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "configuration",
|
||||
"service": "trove",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "clusters",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "cluster_list",
|
||||
"path": "/v1.0/clusters",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "cluster",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "clusters",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "cluster",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "cluster_create",
|
||||
"path": "/v1.0/clusters",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "cluster",
|
||||
"service": "trove",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "clusters",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "cluster",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "cluster_show",
|
||||
"path": "/v1.0/clusters/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "cluster",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "clusters",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "cluster",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "cluster_update",
|
||||
"path": "/v1.0/clusters/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "cluster",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "clusters",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "cluster",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "cluster_patch",
|
||||
"path": "/v1.0/clusters/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "cluster",
|
||||
"service": "trove",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "clusters",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "cluster_delete",
|
||||
"path": "/v1.0/clusters/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "cluster",
|
||||
"service": "trove",
|
||||
"status_code": 204
|
||||
}
|
||||
],
|
||||
"port": 8779,
|
||||
"service": "trove",
|
||||
"type": "database",
|
||||
"version_path": "/v1.0/"
|
||||
}
|
||||
Reference in New Issue
Block a user