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,425 @@
|
||||
{
|
||||
"default_microversion": null,
|
||||
"max_microversion": null,
|
||||
"operations": [
|
||||
{
|
||||
"collection_key": "topology",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "topology_list",
|
||||
"path": "/v1/topology",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "topology",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "topology",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "topology",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "topology_create",
|
||||
"path": "/v1/topology",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "topology",
|
||||
"service": "vitrage",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "topology",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "topology",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "topology_show",
|
||||
"path": "/v1/topology/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "topology",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "topology",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "topology",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "topology_update",
|
||||
"path": "/v1/topology/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "topology",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "topology",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "topology",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "topology_patch",
|
||||
"path": "/v1/topology/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "topology",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "topology",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "topology_delete",
|
||||
"path": "/v1/topology/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "topology",
|
||||
"service": "vitrage",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "alarms",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "alarm_list",
|
||||
"path": "/v1/alarm",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "alarm",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "alarms",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "alarm",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "alarm_create",
|
||||
"path": "/v1/alarm",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "alarm",
|
||||
"service": "vitrage",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "alarms",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "alarm",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "alarm_show",
|
||||
"path": "/v1/alarm/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "alarm",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "alarms",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "alarm",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "alarm_update",
|
||||
"path": "/v1/alarm/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "alarm",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "alarms",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "alarm",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "alarm_patch",
|
||||
"path": "/v1/alarm/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "alarm",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "alarms",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "alarm_delete",
|
||||
"path": "/v1/alarm/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "alarm",
|
||||
"service": "vitrage",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "resources",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "resource_list",
|
||||
"path": "/v1/resources",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "resource",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "resources",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "resource",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "resource_create",
|
||||
"path": "/v1/resources",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "resource",
|
||||
"service": "vitrage",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "resources",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "resource",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "resource_show",
|
||||
"path": "/v1/resources/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "resource",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "resources",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "resource",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "resource_update",
|
||||
"path": "/v1/resources/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "resource",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "resources",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "resource",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "resource_patch",
|
||||
"path": "/v1/resources/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "resource",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "resources",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "resource_delete",
|
||||
"path": "/v1/resources/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "resource",
|
||||
"service": "vitrage",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "templates",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "template_list",
|
||||
"path": "/v1/template",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "template",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "templates",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "template",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "template_create",
|
||||
"path": "/v1/template",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "template",
|
||||
"service": "vitrage",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "templates",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "template",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "template_show",
|
||||
"path": "/v1/template/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "template",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "templates",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "template",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "template_update",
|
||||
"path": "/v1/template/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "template",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "templates",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "template",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "template_patch",
|
||||
"path": "/v1/template/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "template",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "templates",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "template_delete",
|
||||
"path": "/v1/template/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "template",
|
||||
"service": "vitrage",
|
||||
"status_code": 204
|
||||
},
|
||||
{
|
||||
"collection_key": "events",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "collection",
|
||||
"method": "GET",
|
||||
"operation_id": "event_list",
|
||||
"path": "/v1/event",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "event",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "events",
|
||||
"create_status": 201,
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "event",
|
||||
"kind": "collection",
|
||||
"method": "POST",
|
||||
"operation_id": "event_create",
|
||||
"path": "/v1/event",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "event",
|
||||
"service": "vitrage",
|
||||
"status_code": 201
|
||||
},
|
||||
{
|
||||
"collection_key": "events",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "event",
|
||||
"kind": "item",
|
||||
"method": "GET",
|
||||
"operation_id": "event_show",
|
||||
"path": "/v1/event/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "event",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "events",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "event",
|
||||
"kind": "item",
|
||||
"method": "PUT",
|
||||
"operation_id": "event_update",
|
||||
"path": "/v1/event/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "event",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "events",
|
||||
"introduced_in": "yoga",
|
||||
"item_key": "event",
|
||||
"kind": "item",
|
||||
"method": "PATCH",
|
||||
"operation_id": "event_patch",
|
||||
"path": "/v1/event/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "event",
|
||||
"service": "vitrage",
|
||||
"status_code": 200
|
||||
},
|
||||
{
|
||||
"collection_key": "events",
|
||||
"introduced_in": "yoga",
|
||||
"kind": "item",
|
||||
"method": "DELETE",
|
||||
"operation_id": "event_delete",
|
||||
"path": "/v1/event/{id}",
|
||||
"requires_auth": true,
|
||||
"requires_project": true,
|
||||
"resource_type": "event",
|
||||
"service": "vitrage",
|
||||
"status_code": 204
|
||||
}
|
||||
],
|
||||
"port": 8999,
|
||||
"service": "vitrage",
|
||||
"type": "rca",
|
||||
"version_path": "/"
|
||||
}
|
||||
Reference in New Issue
Block a user