diff --git a/src/xpanse-api/api.json b/src/xpanse-api/api.json index c1ddae927..351566aba 100644 --- a/src/xpanse-api/api.json +++ b/src/xpanse-api/api.json @@ -73,14 +73,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -124,14 +124,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -189,14 +189,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -237,14 +237,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -275,14 +275,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -345,14 +345,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -380,14 +380,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -420,14 +420,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -460,14 +460,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -481,6 +481,56 @@ } } }, + "/xpanse/services/modify/{id}": { + "put": { + "tags": ["Service"], + "description": "Start a task to modify service using registered service template.
Required role: admin or user", + "operationId": "modify", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of modify service", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModifyRequest" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "202": { + "description": "Accepted", + "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } + } + } + } + }, "/xpanse/service_templates/{id}": { "get": { "tags": ["ServiceVendor"], @@ -508,14 +558,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -558,14 +608,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -604,14 +654,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -656,14 +706,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -706,14 +756,14 @@ "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -754,14 +804,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -799,14 +849,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -842,14 +892,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -909,14 +959,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -954,14 +1004,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -995,14 +1045,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1063,14 +1113,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1111,14 +1161,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1149,14 +1199,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1219,14 +1269,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1313,7 +1363,10 @@ "migration successful", "migration failed", "manual cleanup required", - "rollback failed" + "rollback failed", + "modifying", + "modification failed", + "modification successful" ] } } @@ -1331,14 +1384,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1377,14 +1430,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1418,14 +1471,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1529,14 +1582,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1575,14 +1628,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1623,14 +1676,14 @@ "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1644,11 +1697,105 @@ } } }, - "/webhook/tofu-maker/destroy/{task_id}": { + "/webhook/tofu-maker/rollback/{task_id}": { + "post": { + "tags": ["Webhook"], + "description": "Process the execution result after openTofu executes the command line to rollback service deployment.", + "operationId": "rollbackCallback", + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "task id", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OpenTofuResult" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "200": { "description": "OK" } + } + } + }, + "/webhook/tofu-maker/purge/{task_id}": { + "post": { + "tags": ["Webhook"], + "description": "Process the execution result after openTofu executes the command line to purge service.", + "operationId": "purgeCallback", + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "task id", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OpenTofuResult" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "200": { "description": "OK" } + } + } + }, + "/webhook/tofu-maker/modify/{task_id}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after openTofu executes the command line.", - "operationId": "destroyCallback", + "operationId": "modifyCallback", "parameters": [ { "name": "task_id", @@ -1675,14 +1822,61 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "200": { "description": "OK" } + } + } + }, + "/webhook/tofu-maker/destroy/{task_id}": { + "post": { + "tags": ["Webhook"], + "description": "Process the execution result after openTofu executes the command line.", + "operationId": "destroyCallback", + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "task id", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OpenTofuResult" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1722,14 +1916,61 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "200": { "description": "OK" } + } + } + }, + "/webhook/terraform-boot/rollback/{task_id}": { + "post": { + "tags": ["Webhook"], + "description": "Process the execution result after terraform executes the command line to rollback service deployment.", + "operationId": "rollbackCallback_1", + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "task id", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerraformResult" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1738,11 +1979,58 @@ } } }, - "/webhook/terraform-boot/destroy/{task_id}": { + "/webhook/terraform-boot/purge/{task_id}": { + "post": { + "tags": ["Webhook"], + "description": "Process the execution result after terraform executes the command line to purge service.", + "operationId": "purgeCallback_1", + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "task id", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerraformResult" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "200": { "description": "OK" } + } + } + }, + "/webhook/terraform-boot/modify/{task_id}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after terraform executes the command line.", - "operationId": "destroyCallback_1", + "operationId": "modifyCallback_1", "parameters": [ { "name": "task_id", @@ -1769,14 +2057,61 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "401": { + "description": "Unauthorized", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "502": { + "description": "Bad Gateway", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "200": { "description": "OK" } + } + } + }, + "/webhook/terraform-boot/destroy/{task_id}": { + "post": { + "tags": ["Webhook"], + "description": "Process the execution result after terraform executes the command line to destroy service.", + "operationId": "destroyCallback_1", + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "task id", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerraformResult" } } }, + "required": true + }, + "responses": { + "500": { + "description": "Internal Server Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1816,14 +2151,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1859,14 +2194,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -1949,14 +2284,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2002,14 +2337,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2101,7 +2436,10 @@ "migration successful", "migration failed", "manual cleanup required", - "rollback failed" + "rollback failed", + "modifying", + "modification failed", + "modification successful" ] } } @@ -2119,14 +2457,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2172,14 +2510,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2271,7 +2609,10 @@ "migration successful", "migration failed", "manual cleanup required", - "rollback failed" + "rollback failed", + "modifying", + "modification failed", + "modification successful" ] } } @@ -2289,14 +2630,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2342,14 +2683,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2392,14 +2733,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2432,14 +2773,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2470,14 +2811,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2505,14 +2846,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2541,14 +2882,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2629,14 +2970,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2670,14 +3011,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2707,14 +3048,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2818,14 +3159,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2871,14 +3212,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -2959,14 +3300,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3026,14 +3367,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3096,14 +3437,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3171,14 +3512,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3236,14 +3577,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3350,14 +3691,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3409,14 +3750,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3449,14 +3790,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3502,14 +3843,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3541,14 +3882,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3576,14 +3917,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3614,14 +3955,14 @@ "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, - "403": { - "description": "Forbidden", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } - }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, + "403": { + "description": "Forbidden", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } + }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } @@ -3821,7 +4162,10 @@ "migration successful", "migration failed", "manual cleanup required", - "rollback failed" + "rollback failed", + "modifying", + "modification failed", + "modification successful" ] }, "serviceState": { @@ -3860,6 +4204,17 @@ "lastStoppedAt": { "type": "string", "description": "Time of stop service.", "format": "date-time" } } }, + "ModifyRequest": { + "type": "object", + "properties": { + "flavor": { "type": "string", "description": "The flavor of the Service." }, + "serviceRequestProperties": { + "type": "object", + "additionalProperties": true, + "description": "The properties for the requested service" + } + } + }, "AutoFill": { "required": ["deployResourceKind", "isAllowCreate"], "type": "object", @@ -4518,7 +4873,6 @@ "OpenTofuResult": { "type": "object", "properties": { - "destroyScenario": { "type": "string", "enum": ["destroy", "rollback", "purge"] }, "commandStdOutput": { "type": "string" }, "commandStdError": { "type": "string" }, "terraformState": { "type": "string" }, @@ -4529,7 +4883,6 @@ "TerraformResult": { "type": "object", "properties": { - "destroyScenario": { "type": "string", "enum": ["destroy", "rollback", "purge"] }, "commandStdOutput": { "type": "string" }, "commandStdError": { "type": "string" }, "terraformState": { "type": "string" }, @@ -4785,7 +5138,10 @@ "migration successful", "migration failed", "manual cleanup required", - "rollback failed" + "rollback failed", + "modifying", + "modification failed", + "modification successful" ] }, "serviceState": { @@ -4907,7 +5263,10 @@ "migration successful", "migration failed", "manual cleanup required", - "rollback failed" + "rollback failed", + "modifying", + "modification failed", + "modification successful" ] }, "serviceState": { diff --git a/src/xpanse-api/generated/index.ts b/src/xpanse-api/generated/index.ts index bff179208..01a3e799b 100644 --- a/src/xpanse-api/generated/index.ts +++ b/src/xpanse-api/generated/index.ts @@ -34,8 +34,9 @@ export { Metric } from './models/Metric'; export { MetricItem } from './models/MetricItem'; export { MigrateRequest } from './models/MigrateRequest'; export type { ModificationImpact } from './models/ModificationImpact'; +export type { ModifyRequest } from './models/ModifyRequest'; export { Ocl } from './models/Ocl'; -export { OpenTofuResult } from './models/OpenTofuResult'; +export type { OpenTofuResult } from './models/OpenTofuResult'; export type { Region } from './models/Region'; export { Response } from './models/Response'; export { ReviewRegistrationRequest } from './models/ReviewRegistrationRequest'; @@ -48,7 +49,7 @@ export type { ServicePolicyUpdateRequest } from './models/ServicePolicyUpdateReq export type { ServiceProviderContactDetails } from './models/ServiceProviderContactDetails'; export { ServiceTemplateDetailVo } from './models/ServiceTemplateDetailVo'; export { SystemStatus } from './models/SystemStatus'; -export { TerraformResult } from './models/TerraformResult'; +export type { TerraformResult } from './models/TerraformResult'; export type { TokenResponse } from './models/TokenResponse'; export { UserOrderableServiceVo } from './models/UserOrderableServiceVo'; export { UserPolicy } from './models/UserPolicy'; @@ -73,3 +74,4 @@ export { ServiceVendorService } from './services/ServiceVendorService'; export { UserCloudCredentialsManagementService } from './services/UserCloudCredentialsManagementService'; export { UserPoliciesManagementService } from './services/UserPoliciesManagementService'; export { WebhookService } from './services/WebhookService'; +export { WorkflowService } from './services/WorkflowService'; diff --git a/src/xpanse-api/generated/models/DeployedService.ts b/src/xpanse-api/generated/models/DeployedService.ts index c5bef595a..5dc468089 100644 --- a/src/xpanse-api/generated/models/DeployedService.ts +++ b/src/xpanse-api/generated/models/DeployedService.ts @@ -113,6 +113,9 @@ export namespace DeployedService { MIGRATION_FAILED = 'migration failed', MANUAL_CLEANUP_REQUIRED = 'manual cleanup required', ROLLBACK_FAILED = 'rollback failed', + MODIFYING = 'modifying', + MODIFICATION_FAILED = 'modification failed', + MODIFICATION_SUCCESSFUL = 'modification successful', } /** * The run state of the service diff --git a/src/xpanse-api/generated/models/DeployedServiceDetails.ts b/src/xpanse-api/generated/models/DeployedServiceDetails.ts index 21ccf15c2..8f336a1b9 100644 --- a/src/xpanse-api/generated/models/DeployedServiceDetails.ts +++ b/src/xpanse-api/generated/models/DeployedServiceDetails.ts @@ -128,6 +128,9 @@ export namespace DeployedServiceDetails { MIGRATION_FAILED = 'migration failed', MANUAL_CLEANUP_REQUIRED = 'manual cleanup required', ROLLBACK_FAILED = 'rollback failed', + MODIFYING = 'modifying', + MODIFICATION_FAILED = 'modification failed', + MODIFICATION_SUCCESSFUL = 'modification successful', } /** * The run state of the service diff --git a/src/xpanse-api/generated/models/ModifyRequest.ts b/src/xpanse-api/generated/models/ModifyRequest.ts new file mode 100644 index 000000000..1104d937e --- /dev/null +++ b/src/xpanse-api/generated/models/ModifyRequest.ts @@ -0,0 +1,19 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * SPDX-FileCopyrightText: Huawei Inc. + */ + +/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type ModifyRequest = { + /** + * The flavor of the Service. + */ + flavor?: string; + /** + * The properties for the requested service + */ + serviceRequestProperties?: Record; +}; diff --git a/src/xpanse-api/generated/models/OpenTofuResult.ts b/src/xpanse-api/generated/models/OpenTofuResult.ts index 52c9d18c0..d73f1cdeb 100644 --- a/src/xpanse-api/generated/models/OpenTofuResult.ts +++ b/src/xpanse-api/generated/models/OpenTofuResult.ts @@ -8,17 +8,9 @@ /* tslint:disable */ /* eslint-disable */ export type OpenTofuResult = { - destroyScenario?: OpenTofuResult.destroyScenario; commandStdOutput?: string; commandStdError?: string; terraformState?: string; importantFileContentMap?: Record; commandSuccessful?: boolean; }; -export namespace OpenTofuResult { - export enum destroyScenario { - DESTROY = 'destroy', - ROLLBACK = 'rollback', - PURGE = 'purge', - } -} diff --git a/src/xpanse-api/generated/models/TerraformResult.ts b/src/xpanse-api/generated/models/TerraformResult.ts index ed153529a..58e1f6fcf 100644 --- a/src/xpanse-api/generated/models/TerraformResult.ts +++ b/src/xpanse-api/generated/models/TerraformResult.ts @@ -8,17 +8,9 @@ /* tslint:disable */ /* eslint-disable */ export type TerraformResult = { - destroyScenario?: TerraformResult.destroyScenario; commandStdOutput?: string; commandStdError?: string; terraformState?: string; importantFileContentMap?: Record; commandSuccessful?: boolean; }; -export namespace TerraformResult { - export enum destroyScenario { - DESTROY = 'destroy', - ROLLBACK = 'rollback', - PURGE = 'purge', - } -} diff --git a/src/xpanse-api/generated/models/UserOrderableServiceVo.ts b/src/xpanse-api/generated/models/UserOrderableServiceVo.ts index c66e4ff71..eb9b0e694 100644 --- a/src/xpanse-api/generated/models/UserOrderableServiceVo.ts +++ b/src/xpanse-api/generated/models/UserOrderableServiceVo.ts @@ -1,8 +1,3 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * SPDX-FileCopyrightText: Huawei Inc. - */ - /* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ diff --git a/src/xpanse-api/generated/models/VendorHostedDeployedServiceDetails.ts b/src/xpanse-api/generated/models/VendorHostedDeployedServiceDetails.ts index e1f385882..0fa9a9df9 100644 --- a/src/xpanse-api/generated/models/VendorHostedDeployedServiceDetails.ts +++ b/src/xpanse-api/generated/models/VendorHostedDeployedServiceDetails.ts @@ -119,6 +119,9 @@ export namespace VendorHostedDeployedServiceDetails { MIGRATION_FAILED = 'migration failed', MANUAL_CLEANUP_REQUIRED = 'manual cleanup required', ROLLBACK_FAILED = 'rollback failed', + MODIFYING = 'modifying', + MODIFICATION_FAILED = 'modification failed', + MODIFICATION_SUCCESSFUL = 'modification successful', } /** * The run state of the service diff --git a/src/xpanse-api/generated/services/ServiceService.ts b/src/xpanse-api/generated/services/ServiceService.ts index 1bc75ce43..e47a7ecf0 100644 --- a/src/xpanse-api/generated/services/ServiceService.ts +++ b/src/xpanse-api/generated/services/ServiceService.ts @@ -10,12 +10,39 @@ import type { DeployedService } from '../models/DeployedService'; import type { DeployedServiceDetails } from '../models/DeployedServiceDetails'; import type { DeployRequest } from '../models/DeployRequest'; +import type { ModifyRequest } from '../models/ModifyRequest'; import type { Response } from '../models/Response'; import type { VendorHostedDeployedServiceDetails } from '../models/VendorHostedDeployedServiceDetails'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; export class ServiceService { + /** + * Start a task to modify service using registered service template.
Required role: admin or user + * @param id The id of modify service + * @param requestBody + * @returns string Accepted + * @throws ApiError + */ + public static modify(id: string, requestBody: ModifyRequest): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/xpanse/services/modify/{id}', + path: { + id: id, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } /** * List all deployed services by a user.
Required role: admin or user * @param categoryName category of the service @@ -53,6 +80,9 @@ export class ServiceService { | 'migration failed' | 'manual cleanup required' | 'rollback failed' + | 'modifying' + | 'modification failed' + | 'modification successful' ): CancelablePromise> { return __request(OpenAPI, { method: 'GET', @@ -133,6 +163,9 @@ export class ServiceService { | 'migration failed' | 'manual cleanup required' | 'rollback failed' + | 'modifying' + | 'modification failed' + | 'modification successful' ): CancelablePromise> { return __request(OpenAPI, { method: 'GET', @@ -214,6 +247,9 @@ export class ServiceService { | 'migration failed' | 'manual cleanup required' | 'rollback failed' + | 'modifying' + | 'modification failed' + | 'modification successful' ): CancelablePromise> { return __request(OpenAPI, { method: 'GET', diff --git a/src/xpanse-api/generated/services/WebhookService.ts b/src/xpanse-api/generated/services/WebhookService.ts index 060d40e68..b48ccf8e9 100644 --- a/src/xpanse-api/generated/services/WebhookService.ts +++ b/src/xpanse-api/generated/services/WebhookService.ts @@ -13,6 +13,84 @@ import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; export class WebhookService { + /** + * Process the execution result after openTofu executes the command line to rollback service deployment. + * @param taskId task id + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public static rollbackCallback(taskId: string, requestBody: OpenTofuResult): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/webhook/tofu-maker/rollback/{task_id}', + path: { + task_id: taskId, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } + /** + * Process the execution result after openTofu executes the command line to purge service. + * @param taskId task id + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public static purgeCallback(taskId: string, requestBody: OpenTofuResult): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/webhook/tofu-maker/purge/{task_id}', + path: { + task_id: taskId, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } + /** + * Process the execution result after openTofu executes the command line. + * @param taskId task id + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public static modifyCallback(taskId: string, requestBody: OpenTofuResult): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/webhook/tofu-maker/modify/{task_id}', + path: { + task_id: taskId, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } /** * Process the execution result after openTofu executes the command line. * @param taskId task id @@ -65,6 +143,58 @@ export class WebhookService { }, }); } + /** + * Process the execution result after terraform executes the command line to rollback service deployment. + * @param taskId task id + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public static rollbackCallback1(taskId: string, requestBody: TerraformResult): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/webhook/terraform-boot/rollback/{task_id}', + path: { + task_id: taskId, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } + /** + * Process the execution result after terraform executes the command line to purge service. + * @param taskId task id + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public static purgeCallback1(taskId: string, requestBody: TerraformResult): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/webhook/terraform-boot/purge/{task_id}', + path: { + task_id: taskId, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } /** * Process the execution result after terraform executes the command line. * @param taskId task id @@ -72,6 +202,32 @@ export class WebhookService { * @returns any OK * @throws ApiError */ + public static modifyCallback1(taskId: string, requestBody: TerraformResult): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/webhook/terraform-boot/modify/{task_id}', + path: { + task_id: taskId, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 401: `Unauthorized`, + 403: `Forbidden`, + 422: `Unprocessable Entity`, + 500: `Internal Server Error`, + 502: `Bad Gateway`, + }, + }); + } + /** + * Process the execution result after terraform executes the command line to destroy service. + * @param taskId task id + * @param requestBody + * @returns any OK + * @throws ApiError + */ public static destroyCallback1(taskId: string, requestBody: TerraformResult): CancelablePromise { return __request(OpenAPI, { method: 'POST',