From 7ee0598b085e0e7d04dd2ca5d8b5df92c3070571 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sat, 19 Oct 2024 11:48:52 -0400 Subject: [PATCH] Update swagger spec --- docs/manuals/swagger.json | 1295 ++++++++++++++++++++++++++++++++++--- 1 file changed, 1200 insertions(+), 95 deletions(-) diff --git a/docs/manuals/swagger.json b/docs/manuals/swagger.json index c124354..9d00162 100644 --- a/docs/manuals/swagger.json +++ b/docs/manuals/swagger.json @@ -53,7 +53,7 @@ }, "maintenance": { "description": "Whether the cluster is in maintenance mode or not (string boolean)", - "example": true, + "example": "true", "type": "string" }, "networks": { @@ -144,7 +144,7 @@ }, "utilization": { "description": "The disk utilization percentage (average) of the cluster", - "type": "float" + "type": "number" } }, "type": "object" @@ -173,7 +173,7 @@ }, "utilization": { "description": "The memory utilization percentage (average) of the cluster", - "type": "float" + "type": "number" } }, "type": "object" @@ -186,7 +186,7 @@ }, "load": { "description": "The current 5-minute CPU load (all nodes summed)", - "type": "float" + "type": "number" }, "provisioned": { "description": "The total number of vCPUs provisioned to all domains (regardless of state)", @@ -198,7 +198,7 @@ }, "utilization": { "description": "The CPU utilization percentage (average) of the cluster", - "type": "float" + "type": "number" } }, "type": "object" @@ -372,23 +372,6 @@ }, "type": "object" }, - "VMTags": { - "properties": { - "name": { - "description": "The name of the VM", - "type": "string" - }, - "tags": { - "description": "The tag(s) of the VM", - "items": { - "id": "VMTag", - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, "acl": { "properties": { "description": { @@ -438,12 +421,12 @@ "acknowledged_at": { "description": "The time the fault was acknowledged, or empty if not acknowledged", "example": "2023-12-01 17:50:00.000000", - "type": "date" + "type": "string" }, "first_reported": { "description": "The first time the fault was reported", "example": "2023-12-01 16:47:59.849742", - "type": "date" + "type": "string" }, "health_delta": { "description": "The health delta (amount it reduces cluster health from 100%) of the fault", @@ -458,7 +441,7 @@ "last_reported": { "description": "The last time the fault was reported", "example": "2023-12-01 17:39:45.188398", - "type": "date" + "type": "string" }, "message": { "description": "The textual description of the fault", @@ -687,7 +670,7 @@ "type": "object" }, "kernel": { - "desription": "The running kernel version from uname", + "description": "The running kernel version from uname", "type": "string" }, "load": { @@ -764,7 +747,7 @@ }, "id": { "description": "The Ceph ID of the OSD", - "type": "string (containing integer)" + "type": "string" }, "stats": { "properties": { @@ -773,8 +756,8 @@ "type": "string" }, "in": { - "description": "Whether OSD is in \"in\" state", - "type": "boolean integer" + "description": "Whether OSD is in \"in\" state, as boolean integer", + "type": "integer" }, "kb": { "description": "Size of the OSD in KB", @@ -809,8 +792,8 @@ "type": "string" }, "up": { - "description": "Whether OSD is in \"up\" state", - "type": "boolean integer" + "description": "Whether OSD is in \"up\" state, as boolean integer", + "type": "integer" }, "used": { "description": "The used space on the OSD in human-readable format", @@ -858,7 +841,6 @@ }, "volumes": { "items": { - "id": "ova_volume", "properties": { "disk_id": { "description": "Disk identifier", @@ -883,7 +865,7 @@ }, "type": "object" }, - "type": "list" + "type": "array" } }, "type": "object" @@ -1063,7 +1045,7 @@ "description": "The PHY name of a VF of this PF", "type": "string" }, - "type": "list" + "type": "array" } }, "type": "object" @@ -1071,7 +1053,6 @@ "sriov_vf": { "properties": { "config": { - "id": "sriov_vf_config", "properties": { "link_state": { "description": "The current SR-IOV VF link state (either enabled, disabled, or auto)", @@ -1125,7 +1106,6 @@ "type": "string" }, "usage": { - "id": "sriov_vf_usage", "properties": { "domain": { "description": "The UUID of the domain the SR-IOV VF is currently used by", @@ -1208,7 +1188,7 @@ }, "id": { "description": "The database ID of the test result", - "type": "string (containing integer)" + "type": "string" }, "job": { "description": "The job name (an ISO date) of the test result", @@ -1298,7 +1278,7 @@ "type": "string" }, "console": { - "descritpion": "The serial console type of the VM", + "description": "The serial console type of the VM", "type": "string" }, "controllers": { @@ -1538,7 +1518,6 @@ "snapshots": { "description": "The snapshot(s) of the VM", "items": { - "id": "VMSnapshot", "properties": { "age": { "description": "Human-readable age of the snapshot in the largest viable unit (seconds, minutes, hours, days)", @@ -1556,7 +1535,7 @@ "type": "array" }, "timestamp": { - "descrpition": "Unix timestamp of the snapshot", + "description": "Unix timestamp of the snapshot", "type": "string" }, "xml_diff_lines": { @@ -1578,7 +1557,6 @@ "tags": { "description": "The tag(s) of the VM", "items": { - "id": "VMTag", "properties": { "name": { "description": "The name of the tag", @@ -1863,6 +1841,15 @@ "/api/v1/faults/{fault_id}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "fault_id", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -1884,6 +1871,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "fault_id", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -1902,6 +1898,15 @@ }, "put": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "fault_id", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -1931,7 +1936,7 @@ "in": "query", "name": "overwrite", "required": false, - "type": "bool" + "type": "boolean" }, { "description": "A confirmation string to ensure that the API consumer really means it", @@ -2237,6 +2242,15 @@ "/api/v1/network/{vni}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2264,6 +2278,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2286,6 +2309,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "The description of the network", "in": "query", @@ -2387,6 +2417,13 @@ "put": { "description": "Note: A network's type cannot be changed; the network must be removed and recreated as the new type", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "The description of the network", "in": "query", @@ -2484,6 +2521,13 @@ "get": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "A description search limit; fuzzy by default, use ^/$ to force exact matches", "in": "query", @@ -2530,6 +2574,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "A whitespace-free description/name for the ACL", "in": "query", @@ -2585,6 +2636,22 @@ "/api/v1/network/{vni}/acl/{description}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "description", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2606,6 +2673,22 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "description", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2634,6 +2717,20 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "description", + "required": true, + "type": "string" + }, { "description": "The direction of the ACL; defaults to \"in\" if unspecified", "enum": [ @@ -2683,6 +2780,13 @@ "get": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "A MAC address search limit; fuzzy by default, use ^/$ to force exact matches", "in": "query", @@ -2730,6 +2834,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "A MAC address for the lease", "in": "query", @@ -2781,6 +2892,22 @@ "/api/v1/network/{vni}/lease/{mac}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "mac", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2802,6 +2929,22 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "mac", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2833,6 +2976,20 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "mac", + "required": true, + "type": "string" + }, { "description": "A MAC address for the lease", "in": "query", @@ -2934,6 +3091,15 @@ "/api/v1/node/{node}": { "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2957,6 +3123,15 @@ "/api/v1/node/{node}/coordinator-state": { "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -2979,6 +3154,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + }, { "description": "The new coordinator state of the node", "enum": [ @@ -3014,6 +3196,15 @@ "/api/v1/node/{node}/daemon-state": { "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3037,6 +3228,15 @@ "/api/v1/node/{node}/domain-state": { "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3059,6 +3259,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + }, { "description": "The new domain state of the node", "enum": [ @@ -3101,6 +3308,13 @@ "get": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "node", + "required": true, + "type": "string" + }, { "description": "The number of lines to retrieve", "in": "query", @@ -3207,7 +3421,7 @@ "items": { "$ref": "#/definitions/ova" }, - "type": "list" + "type": "array" } } }, @@ -3264,6 +3478,15 @@ "/api/v1/provisioner/ova/{ova}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "ova", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3285,6 +3508,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "ova", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3307,6 +3539,13 @@ "post": { "description": "
The API client is responsible for determining and setting the ova_size value, as this value cannot be determined dynamically before the upload proceeds.", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "ova", + "required": true, + "type": "string" + }, { "description": "Storage pool name", "in": "query", @@ -3361,7 +3600,7 @@ "items": { "$ref": "#/definitions/profile" }, - "type": "list" + "type": "array" } } }, @@ -3463,6 +3702,15 @@ "/api/v1/provisioner/profile/{profile}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "profile", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3484,6 +3732,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "profile", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3506,6 +3763,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "profile", + "required": true, + "type": "string" + }, { "description": "Profile type", "enum": [ @@ -3588,6 +3852,13 @@ "put": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "profile", + "required": true, + "type": "string" + }, { "description": "Script name", "in": "query", @@ -3669,7 +3940,7 @@ "items": { "$ref": "#/definitions/script" }, - "type": "list" + "type": "array" } } }, @@ -3719,6 +3990,15 @@ "/api/v1/provisioner/script/{script}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "script", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3740,6 +4020,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "script", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3762,6 +4051,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "script", + "required": true, + "type": "string" + }, { "description": "Raw Python script document", "in": "query", @@ -3792,6 +4088,13 @@ "put": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "script", + "required": true, + "type": "string" + }, { "description": "Raw Python script document", "in": "query", @@ -3865,7 +4168,7 @@ "items": { "$ref": "#/definitions/network-template" }, - "type": "list" + "type": "array" } } }, @@ -3915,6 +4218,15 @@ "/api/v1/provisioner/template/network/{template}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3936,6 +4248,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3958,6 +4279,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, { "description": "MAC address template", "in": "query", @@ -3989,6 +4317,15 @@ "/api/v1/provisioner/template/network/{template}/net": { "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -3996,7 +4333,7 @@ "items": { "$ref": "#/definitions/network-template-net" }, - "type": "list" + "type": "array" } }, "404": { @@ -4014,6 +4351,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, { "description": "PVC network VNI", "in": "query", @@ -4052,6 +4396,22 @@ "/api/v1/provisioner/template/network/{template}/net/{vni}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4073,6 +4433,22 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4095,6 +4471,20 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "vni", + "required": true, + "type": "string" + }, { "description": "Bypass checks to permit duplicate VNIs for niche usecases", "in": "query", @@ -4142,7 +4532,7 @@ "items": { "$ref": "#/definitions/storage-template" }, - "type": "list" + "type": "array" } } }, @@ -4185,6 +4575,15 @@ "/api/v1/provisioner/template/storage/{template}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4206,6 +4605,15 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4227,6 +4635,15 @@ }, "post": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4250,6 +4667,15 @@ "/api/v1/provisioner/template/storage/{template}/disk": { "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4257,7 +4683,7 @@ "items": { "$ref": "#/definitions/storage-template-disk" }, - "type": "list" + "type": "array" } }, "404": { @@ -4275,6 +4701,13 @@ "post": { "description": "", "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, { "description": "Disk identifier in \"sdX\"/\"vdX\" format (e.g. \"sda\", \"vdb\", etc.)", "in": "query", @@ -4348,6 +4781,22 @@ "/api/v1/provisioner/template/storage/{template}/disk/{disk_id}": { "delete": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "disk_id", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4369,6 +4818,22 @@ }, "get": { "description": "", + "parameters": [ + { + "description": "Path parameter", + "in": "path", + "name": "template", + "required": true, + "type": "string" + }, + { + "description": "Path parameter", + "in": "path", + "name": "disk_id", + "required": true, + "type": "string" + } + ], "responses": { "200": { "description": "OK", @@ -4391,6 +4856,20 @@ "post": { "description": "Alternative to \"POST /provisioner/template/storage/