From e0081f73f8eb78eec0a1dc8393589b677e2b8b1c Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Wed, 28 Aug 2024 11:35:32 -0400 Subject: [PATCH] Update Swagger spec for 0.9.99 --- docs/manuals/swagger.json | 156 +++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) diff --git a/docs/manuals/swagger.json b/docs/manuals/swagger.json index 9c72b76..58b450b 100644 --- a/docs/manuals/swagger.json +++ b/docs/manuals/swagger.json @@ -5271,7 +5271,42 @@ }, "summary": "Set the cluster maintenance mode", "tags": [ - "node" + "root" + ] + } + }, + "/api/v1/status/primary_node": { + "get": { + "description": "", + "responses": { + "200": { + "description": "OK", + "schema": { + "properties": { + "primary_node": { + "description": "The name of the current primary node", + "type": "string" + } + }, + "type": "object" + } + }, + "204": { + "description": "No content", + "schema": { + "properties": { + "primary_node": { + "description": "An empty response; there is not currently a primary node, try again later", + "type": "string" + } + }, + "type": "object" + } + } + }, + "summary": "Return the name of the current primary node.", + "tags": [ + "root" ] } }, @@ -6814,6 +6849,54 @@ ] } }, + "/api/v1/vm/autobackup": { + "post": { + "description": "", + "parameters": [ + { + "description": "If set and true, triggers a full autobackup regardless of schedule", + "in": "query", + "name": "force_full", + "required": false, + "type": "boolean" + }, + { + "description": "A list of email addresses to send failure and report emails to", + "in": "query", + "items": { + "example": "user@domain.tld", + "type": "string" + }, + "name": "email_recipients", + "type": "array" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "properties": { + "task_id": { + "description": "Task ID for the provisioner Celery worker", + "type": "string" + } + }, + "type": "object" + } + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Message" + } + } + }, + "summary": "Trigger a cluster autobackup job", + "tags": [ + "provisioner" + ] + } + }, "/api/v1/vm/{vm}": { "delete": { "description": "", @@ -7580,11 +7663,25 @@ "description": "", "parameters": [ { - "description": "The name of the snapshot to roll back to", + "description": "The name of the snapshot to export (must exist)", "in": "query", "name": "snapshot_name", "required": true, "type": "string" + }, + { + "description": "The absolute file path to export the snapshot to on the active primary coordinator", + "in": "query", + "name": "export_path", + "required": true, + "type": "string (path)" + }, + { + "description": "A snapshot name to generate an incremental diff from", + "in": "query", + "name": "incremental_parent", + "required": false, + "type": "boolean" } ], "responses": { @@ -7607,7 +7704,60 @@ } } }, - "summary": "Roll back to a snapshot of a VM's disks and configuration", + "summary": "Export a snapshot of a VM's disks and configuration to files", + "tags": [ + "vm" + ] + } + }, + "/api/v1/vm/{vm}/snapshot/import": { + "post": { + "description": "", + "parameters": [ + { + "description": "The name of the snapshot to roll back to", + "in": "query", + "name": "snapshot_name", + "required": true, + "type": "string" + }, + { + "description": "The absolute file path to import the snapshot from on the active primary coordinator", + "in": "query", + "name": "import_path", + "required": true, + "type": "string (path)" + }, + { + "default": true, + "description": "Whether or not to retain the (parent, if incremental) volume snapshot after restore", + "in": "query", + "name": "retain_snapshot", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Message" + } + }, + "400": { + "description": "Execution error", + "schema": { + "$ref": "#/definitions/Message" + } + }, + "404": { + "description": "Not found", + "schema": { + "$ref": "#/definitions/Message" + } + } + }, + "summary": "Import a snapshot of a VM's disks and configuration from files", "tags": [ "vm" ]