{ "openapi": "3.0.1", "info": { "title": "XpanseAPI", "description": "RESTful Services to interact with Xpanse runtime.", "version": "1.0.18-SNAPSHOT" }, "servers": [ { "url": "http://localhost:8080", "description": "Generated server url" } ], "security": [ { "OAuth2Flow": [] } ], "tags": [ { "name": "CloudServiceProvider", "description": "APIs for cloud service provider to manage service templates." }, { "name": "Webhook", "description": "Webhook APIs" }, { "name": "AuthManagement", "description": "APIs for user authentication and authorization." }, { "name": "ServiceOrders", "description": "APIs to manage orders of services" }, { "name": "CredentialsConfiguration", "description": "APIs Viewing Cloud Credentials Configuration" }, { "name": "CloudResources", "description": "API to view cloud resources by type" }, { "name": "Service", "description": "APIs to manage the services" }, { "name": "ServiceCatalog", "description": "APIs to query the services which are available for the user to order." }, { "name": "UserPoliciesManagement", "description": "APIs for managing user's infra policies." }, { "name": "Migration", "description": "APIs to manage the service migration." }, { "name": "Admin", "description": "APIs for administrating Xpanse" }, { "name": "Workflow", "description": "APIs to manage the Workflow" }, { "name": "ServiceStatusManagement", "description": "APIs to manage status of the service instances" }, { "name": "ServicePrices", "description": "API to manage prices of the flavors of the service." }, { "name": "ISVCloudCredentialsManagement", "description": "APIs for managing isv's cloud provider credentials" }, { "name": "ServicePoliciesManagement", "description": "APIs for managing service's infra policies." }, { "name": "ServiceVendor", "description": "APIs to manage service templates." }, { "name": "UserCloudCredentialsManagement", "description": "APIs for managing user's cloud provider credentials" }, { "name": "Monitor", "description": "APIs for getting metrics of deployed services." } ], "paths": { "/xpanse/workflow/task/{id}": { "put": { "tags": ["Workflow"], "description": "Manage failed task orders.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "manageFailedOrder", "parameters": [ { "name": "id", "in": "path", "description": "ID of the workflow task that needs to be handled", "required": true, "schema": { "type": "string" } }, { "name": "retryOrder", "in": "query", "description": "Controls if the order must be retried again or simply closed.", "required": true, "schema": { "type": "boolean" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/workflow/complete/task/{id}": { "put": { "tags": ["Workflow"], "description": "Complete tasks by task ID and set global process variables .\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "completeTask", "parameters": [ { "name": "id", "in": "path", "description": "ID of the workflow task that needs to be handled", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "object" } } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/user/credentials": { "get": { "tags": ["UserCloudCredentialsManagement"], "description": "List all cloud provider credentials added by the user for a cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getUserCloudCredentials", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": false, "schema": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AbstractCredentialInfo" } } } } } } }, "put": { "tags": ["UserCloudCredentialsManagement"], "description": "Update user's credential for connecting to the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "updateUserCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "post": { "tags": ["UserCloudCredentialsManagement"], "description": "Add user's credential for connecting to the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "addUserCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "delete": { "tags": ["UserCloudCredentialsManagement"], "description": "Delete user's credential for connecting to the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deleteUserCloudCredential", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": true, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": true, "schema": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } }, { "name": "name", "in": "query", "description": "The name of of credential.", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/stop/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to stop the service instance.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "stopService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/start/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to start the service instance.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "startService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/restart/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to restart the service instance.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "restartService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/modify/{serviceId}": { "put": { "tags": ["Service"], "description": "Create an order task to modify the deployed service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "modify", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the 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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "default": { "description": "Id of the order task to modify the deployed service.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/deploy/retry/{serviceId}": { "put": { "tags": ["Service"], "description": "Create an order to redeploy the failed service using service id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "redeployFailedDeployment", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "default": { "description": "Id of the order task to redeploy the filed service.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/changelock/{serviceId}": { "put": { "tags": ["Service"], "description": "Change the lock config of the service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "changeServiceLockConfig", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceLockConfig" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/{id}": { "get": { "tags": ["ServiceVendor"], "description": "Get service template using id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "details", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } }, "put": { "tags": ["ServiceVendor"], "description": "Update service template using id and ocl model.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "update", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ocl" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } }, "delete": { "tags": ["ServiceVendor"], "description": "Delete unregistered service template using id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "deleteServiceTemplate", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/unregister/{id}": { "put": { "tags": ["ServiceVendor"], "description": "Unregister service template using id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "unregister", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service_templates/review/{id}": { "put": { "tags": ["CloudServiceProvider"], "description": "Review service template registration.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E", "operationId": "reviewRegistration", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewRegistrationRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/re-register/{id}": { "put": { "tags": ["ServiceVendor"], "description": "Re-register the unregistered service template using id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "reRegisterServiceTemplate", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service_templates/file/{id}": { "put": { "tags": ["ServiceVendor"], "description": "Update service template using id and URL of Ocl file.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "fetchUpdate", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } }, { "name": "oclLocation", "in": "query", "description": "URL of Ocl file", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service/policies/{id}": { "get": { "tags": ["ServicePoliciesManagement"], "description": "Get details of policy belongs to the registered service template.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "getServicePolicyDetails", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } }, "put": { "tags": ["ServicePoliciesManagement"], "description": "Update the policy belongs to the registered service template.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "updateServicePolicy", "parameters": [ { "name": "id", "in": "path", "description": "ID of the policy to be updated", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicyUpdateRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } }, "delete": { "tags": ["ServicePoliciesManagement"], "description": "Delete the policy belongs to the registered service template.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "deleteServicePolicy", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/policies/{id}": { "get": { "tags": ["UserPoliciesManagement"], "description": "Get the details of the policy created by the user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getPolicyDetails", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } }, "put": { "tags": ["UserPoliciesManagement"], "description": "Update the policy created by the user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "updateUserPolicy", "parameters": [ { "name": "id", "in": "path", "description": "ID of the policy to be updated", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicyUpdateRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } }, "delete": { "tags": ["UserPoliciesManagement"], "description": "Delete the policy created by the user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deleteUserPolicy", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/isv/credentials": { "get": { "tags": ["ISVCloudCredentialsManagement"], "description": "Users in the ISV role get all cloud provider credentials added by the user for a cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E", "operationId": "getIsvCloudCredentials", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": false, "schema": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AbstractCredentialInfo" } } } } } } }, "put": { "tags": ["ISVCloudCredentialsManagement"], "description": "Update the user credentials used for ISV to connect to the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E", "operationId": "updateIsvCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "post": { "tags": ["ISVCloudCredentialsManagement"], "description": "Add the user credentials for the ISV role used to connect to the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E", "operationId": "addIsvCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "delete": { "tags": ["ISVCloudCredentialsManagement"], "description": "Delete the credentials of the user in the USER role to connect to the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E", "operationId": "deleteIsvCloudCredential", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": true, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": true, "schema": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } }, { "name": "name", "in": "query", "description": "The name of of credential.", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services": { "get": { "tags": ["Service"], "description": "List all deployed services belongs to the user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listDeployedServices", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "serviceName", "in": "query", "description": "name of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceVersion", "in": "query", "description": "version of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceState", "in": "query", "description": "deployment state of the service", "required": false, "schema": { "type": "string", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } }, "post": { "tags": ["Service"], "description": "Create an order task to deploy new service using approved service template.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deploy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "default": { "description": "Id of the order task to deploy the new service.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/migration": { "post": { "tags": ["Migration"], "description": "Create a job to migrate the deployed service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "migrate", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MigrateRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/service_templates": { "get": { "tags": ["ServiceVendor"], "description": "List service templates with query params.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "listServiceTemplates", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "serviceName", "in": "query", "description": "name of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceVersion", "in": "query", "description": "version of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceHostingType", "in": "query", "description": "who hosts ths cloud resources", "required": false, "schema": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] } }, { "name": "serviceRegistrationState", "in": "query", "description": "state of registration", "required": false, "schema": { "type": "string", "enum": ["unregistered", "approval pending", "approved", "rejected"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "post": { "tags": ["ServiceVendor"], "description": "Register new service template using ocl model.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "register", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ocl" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service_templates/file": { "post": { "tags": ["ServiceVendor"], "description": "Register new service template using URL of Ocl file.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "fetch", "parameters": [ { "name": "oclLocation", "in": "query", "description": "URL of Ocl file", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service/policies": { "get": { "tags": ["ServicePoliciesManagement"], "description": "List the policies belongs to the service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "listServicePolicies", "parameters": [ { "name": "serviceTemplateId", "in": "query", "description": "The id of registered service template which the policy belongs to.", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServicePolicy" } } } } } } }, "post": { "tags": ["ServicePoliciesManagement"], "description": "Add policy for the registered service template.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E", "operationId": "addServicePolicy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicyCreateRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } } }, "/xpanse/policies": { "get": { "tags": ["UserPoliciesManagement"], "description": "List the policies defined by the user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listUserPolicies", "parameters": [ { "name": "cspName", "in": "query", "description": "Name of csp which the policy belongs to.", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "enabled", "in": "query", "description": "Is the policy enabled.", "required": false, "schema": { "type": "boolean" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserPolicy" } } } } } } }, "post": { "tags": ["UserPoliciesManagement"], "description": "Add policy created by the user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "addUserPolicy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicyCreateRequest" } } }, "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } } }, "/webhook/tofu-maker/rollback/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after openTofu executes the command line to rollback service deployment.", "operationId": "rollbackCallback", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/tofu-maker/purge/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after openTofu executes the command line to purge service.", "operationId": "purgeCallback", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/tofu-maker/modify/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after openTofu executes the command line.", "operationId": "modifyCallback", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/tofu-maker/destroy/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after openTofu executes the command line.", "operationId": "destroyCallback", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/tofu-maker/deploy/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after openTofu executes the command line.", "operationId": "deployCallback", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/terraform-boot/rollback/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after terraform executes the command line to rollback service deployment.", "operationId": "rollbackCallback_1", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/terraform-boot/purge/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after terraform executes the command line to purge service.", "operationId": "purgeCallback_1", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/terraform-boot/modify/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after terraform executes the command line.", "operationId": "modifyCallback_1", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/terraform-boot/destroy/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after terraform executes the command line to destroy service.", "operationId": "destroyCallback_1", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/webhook/terraform-boot/deploy/{serviceId}": { "post": { "tags": ["Webhook"], "description": "Process the execution result after terraform executes the command line.", "operationId": "deployCallback_1", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service instance", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/workflow/tasks": { "get": { "tags": ["Workflow"], "description": "Query all tasks of the given user\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "queryTasks", "parameters": [ { "name": "status", "in": "query", "description": "the status of task", "required": false, "schema": { "type": "string", "enum": ["done", "failed"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WorkFlowTask" } } } } } } } }, "/xpanse/services/{serviceId}/tasks": { "get": { "tags": ["ServiceStatusManagement"], "description": "List state management tasks of the service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listServiceStateManagementTasks", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service", "required": true, "schema": { "type": "string" } }, { "name": "taskType", "in": "query", "description": "type of the management task", "required": false, "schema": { "type": "string", "enum": ["start", "stop", "restart"] } }, { "name": "taskStatus", "in": "query", "description": "status of the task", "required": false, "schema": { "type": "string", "enum": ["created", "in progress", "successful", "failed"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" } } } } } } }, "delete": { "tags": ["ServiceStatusManagement"], "description": "Delete all state management tasks of the service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deleteManagementTasksByServiceId", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/{serviceId}/orders": { "get": { "tags": ["ServiceOrders"], "description": "List service orders of the service\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listServiceOrders", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } }, { "name": "taskType", "in": "query", "description": "Task type of the service order.", "required": false, "schema": { "type": "string", "enum": ["deploy", "redeploy", "modify", "destroy", "purge"] } }, { "name": "taskStatus", "in": "query", "description": "Task status of the service order", "required": false, "schema": { "type": "string", "enum": ["created", "in progress", "successful", "failed"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceOrderDetails" } } } } } } }, "delete": { "tags": ["ServiceOrders"], "description": "Delete all service orders of the service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deleteOrdersByServiceId", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/{serviceId}/deployment/status": { "get": { "tags": ["Service"], "description": "Long-polling method to get the latest service deployment or service update status.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getLatestServiceDeploymentStatus", "parameters": [ { "name": "serviceId", "in": "path", "description": "ID of the service", "required": true, "schema": { "type": "string" } }, { "name": "lastKnownServiceDeploymentState", "in": "query", "description": "Last known service status to client. When provided, the service will wait for a configured period time until to see if there is a change to the last known state.", "required": false, "schema": { "type": "string", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeploymentStatusUpdate" } } } } } } }, "/xpanse/services/tasks/{taskId}": { "get": { "tags": ["ServiceStatusManagement"], "description": "Get state management task details by the task id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getManagementTaskDetailsByTaskId", "parameters": [ { "name": "taskId", "in": "path", "description": "id of the task", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" } } } } } }, "delete": { "tags": ["ServiceStatusManagement"], "description": "Delete service state management task by the task id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deleteManagementTaskByTaskId", "parameters": [ { "name": "taskId", "in": "path", "description": "id of the task", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/orders/{orderId}": { "get": { "tags": ["ServiceOrders"], "description": "Get details of the service order by the order id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getOrderDetailsByOrderId", "parameters": [ { "name": "orderId", "in": "path", "description": "Id of the service order", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrderDetails" } } } } } }, "delete": { "tags": ["ServiceOrders"], "description": "Delete the service order by the order id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "deleteOrderByOrderId", "parameters": [ { "name": "orderId", "in": "path", "description": "Id of the service order", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/orders/{orderId}/status": { "get": { "tags": ["ServiceOrders"], "description": "Long-polling method to get the latest or updated task status of the service order.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getLatestServiceOrderStatus", "parameters": [ { "name": "orderId", "in": "path", "description": "Id of the service order", "required": true, "schema": { "type": "string" } }, { "name": "lastKnownServiceDeploymentState", "in": "query", "description": "Last known service order task status to client. When provided, the service will wait for a configured period time until to see if there is a change to the last known state.", "required": false, "schema": { "type": "string", "enum": ["created", "in progress", "successful", "failed"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrderStatusUpdate" } } } } } } }, "/xpanse/services/migrations": { "get": { "tags": ["Migration"], "description": "List all services migration by a user.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listServiceMigrations", "parameters": [ { "name": "migrationId", "in": "query", "description": "Id of the service migrate", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "newServiceId", "in": "query", "description": "Id of the new service", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "oldServiceId", "in": "query", "description": "Id of the old service", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "migrationStatus", "in": "query", "description": "Status of the service migrate", "required": false, "schema": { "type": "string", "enum": [ "MigrationStarted", "MigrationCompleted", "MigrationFailed", "DataExportStarted", "DataExportFailed", "DataExportCompleted", "DeployStarted", "DeployFailed", "DeployCompleted", "DataImportStarted", "DataImportFailed", "DataImportCompleted", "DestroyStarted", "DestroyFailed", "DestroyCompleted" ] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceMigrationDetails" } } } } } } } }, "/xpanse/services/migration/{migrationId}": { "get": { "tags": ["Migration"], "description": "Get migration records based on migration id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getMigrationOrderDetailsById", "parameters": [ { "name": "migrationId", "in": "path", "description": "Migration ID", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceMigrationDetails" } } } } } } }, "/xpanse/services/isv": { "get": { "tags": ["Service"], "description": "List all deployed services by a user.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E", "operationId": "listDeployedServicesOfIsv", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "serviceName", "in": "query", "description": "name of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceVersion", "in": "query", "description": "version of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceState", "in": "query", "description": "deployment state of the service", "required": false, "schema": { "type": "string", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/isv/details/vendor_hosted/{serviceId}": { "get": { "tags": ["Service"], "description": "Get the details of the deployed service by service id.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E", "operationId": "getServiceDetailsByIdForIsv", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of deployed service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedServiceDetails" } } } } } } }, "/xpanse/services/details": { "get": { "tags": ["Service"], "description": "List details of deployed services using parameters.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listDeployedServicesDetails", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "serviceName", "in": "query", "description": "name of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceVersion", "in": "query", "description": "version of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceState", "in": "query", "description": "deployment state of the service", "required": false, "schema": { "type": "string", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/details/vendor_hosted/{serviceId}": { "get": { "tags": ["Service"], "description": "Get deployed service details by serviceId.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getVendorHostedServiceDetailsById", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VendorHostedDeployedServiceDetails" } } } } } } }, "/xpanse/services/details/self_hosted/{serviceId}": { "get": { "tags": ["Service"], "description": "Get details of the deployed service by id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getSelfHostedServiceDetailsById", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedServiceDetails" } } } } } } }, "/xpanse/pricing/{templateId}/{region}/{billingMode}/{flavorName}": { "get": { "tags": ["ServicePrices"], "description": "Get the price of one specific flavor of the service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getServicePriceByFlavor", "parameters": [ { "name": "templateId", "in": "path", "description": "id of the service template", "required": true, "schema": { "type": "string" } }, { "name": "region", "in": "path", "description": "region name of the service", "required": true, "schema": { "type": "string" } }, { "name": "billingMode", "in": "path", "description": "mode of billing", "required": true, "schema": { "type": "string", "enum": ["Fixed", "Pay per Use"] } }, { "name": "flavorName", "in": "path", "description": "flavor name of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlavorPriceResult" } } } } } } }, "/xpanse/pricing/service/{templateId}/{region}/{billingMode}": { "get": { "tags": ["ServicePrices"], "description": "Get the prices of all flavors of the service\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getPricesByService", "parameters": [ { "name": "templateId", "in": "path", "description": "id of the service template", "required": true, "schema": { "type": "string" } }, { "name": "region", "in": "path", "description": "region name of the service", "required": true, "schema": { "type": "string" } }, { "name": "billingMode", "in": "path", "description": "mode of billing", "required": true, "schema": { "type": "string", "enum": ["Fixed", "Pay per Use"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FlavorPriceResult" } } } } } } } }, "/xpanse/metrics": { "get": { "tags": ["Monitor"], "description": "Get metrics of a deployed service or a resource.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getMetrics", "parameters": [ { "name": "serviceId", "in": "query", "description": "Id of the deployed service", "required": true, "schema": { "type": "string" } }, { "name": "resourceId", "in": "query", "description": "Id of resource in the deployed service", "required": false, "schema": { "type": "string" } }, { "name": "monitorResourceType", "in": "query", "description": "Types of the monitor resource.", "required": false, "schema": { "type": "string", "enum": ["cpu", "mem", "vm_network_incoming", "vm_network_outgoing"] } }, { "name": "from", "in": "query", "description": "Start UNIX timestamp in milliseconds. If no value filled,the default value is the UNIX timestamp in milliseconds of the five minutes ago.", "required": false, "schema": { "minimum": 0, "type": "integer", "format": "int64" } }, { "name": "to", "in": "query", "description": "End UNIX timestamp in milliseconds. If no value filled,the default value is the UNIX timestamp in milliseconds of the current time.", "required": false, "schema": { "minimum": 0, "type": "integer", "format": "int64" } }, { "name": "granularity", "in": "query", "description": "Return metrics collected in provided time interval. This depends on how the source systems have generated/collected metrics.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "onlyLastKnownMetric", "in": "query", "description": "Returns only the last known metric. When this parameter is set then all other query parameters are ignored.", "required": false, "schema": { "type": "boolean", "default": false } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Metric" } } } } } } } }, "/xpanse/health": { "get": { "tags": ["Admin"], "description": "Check health of API service and backend systems.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "healthCheck", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemStatus" } } } } } } }, "/xpanse/csps/active": { "get": { "tags": ["Admin"], "description": "List cloud service providers with active plugin.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getActiveCsps", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } } } } } } } }, "/xpanse/csp/service_templates": { "get": { "tags": ["CloudServiceProvider"], "description": "List managed service templates with query params.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E", "operationId": "listManagedServiceTemplates", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] } }, { "name": "serviceName", "in": "query", "description": "name of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceVersion", "in": "query", "description": "version of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceHostingType", "in": "query", "description": "who hosts ths cloud resources", "required": false, "schema": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] } }, { "name": "serviceRegistrationState", "in": "query", "description": "state of registration", "required": false, "schema": { "type": "string", "enum": ["unregistered", "approval pending", "approved", "rejected"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } } }, "/xpanse/csp/service_templates/{id}": { "get": { "tags": ["CloudServiceProvider"], "description": "view service template by id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E", "operationId": "getRegistrationDetails", "parameters": [ { "name": "id", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/csp/resources/{deployResourceKind}": { "get": { "tags": ["CloudResources"], "description": "List existing cloud resource names with kind\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getExistingResourceNamesWithKind", "parameters": [ { "name": "csp", "in": "query", "description": "name of the cloud service provider", "required": true, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "region", "in": "query", "description": "name of he region", "required": true, "schema": { "type": "string" } }, { "name": "deployResourceKind", "in": "path", "description": "kind of the CloudResource", "required": true, "schema": { "type": "string", "enum": [ "vm", "container", "publicIP", "vpc", "volume", "unknown", "security_group", "security_group_rule", "keypair", "subnet" ] } }, { "name": "serviceId", "in": "query", "description": "id of the deployed service", "required": false, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/xpanse/csp/region/azs": { "get": { "tags": ["Service"], "description": "Get availability zones with csp and region.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getAvailabilityZones", "parameters": [ { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": true, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "regionName", "in": "query", "description": "name of the region", "required": true, "schema": { "type": "string" } }, { "name": "serviceId", "in": "query", "description": "serviceId of the deployed service", "required": false, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/xpanse/credentials/openapi/{csp}/{type}": { "get": { "tags": ["CredentialsConfiguration"], "description": "Returns the OpenAPI document for adding a credential.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getCredentialOpenApi", "parameters": [ { "name": "csp", "in": "path", "description": "The cloud service provider.", "required": true, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "type", "in": "path", "description": "The type of credential.", "required": true, "schema": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Link" } } } } } } }, "/xpanse/credentials/capabilities": { "get": { "tags": ["CredentialsConfiguration"], "description": "List the credential capabilities defined by the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getCredentialCapabilities", "parameters": [ { "name": "cspName", "in": "query", "description": "name of the cloud service provider.", "required": true, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": false, "schema": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } }, { "name": "name", "in": "query", "description": "The name of credential.", "required": false, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AbstractCredentialInfo" } } } } } } } }, "/xpanse/credential_types": { "get": { "tags": ["CredentialsConfiguration"], "description": "List the credential types supported by the cloud service provider.\u003Cbr\u003ERequired role:\u003Cb\u003E isv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getCredentialTypes", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] } } } } } } } }, "/xpanse/catalog/services": { "get": { "tags": ["ServiceCatalog"], "description": "List of all approved services which are available for user to order.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "listOrderableServices", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] } }, { "name": "serviceName", "in": "query", "description": "name of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceVersion", "in": "query", "description": "version of the service", "required": false, "schema": { "type": "string" } }, { "name": "serviceHostingType", "in": "query", "description": "who hosts ths cloud resources", "required": false, "schema": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserOrderableServiceVo" } } }, "application/hal+json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserOrderableServiceVo" } } } } } } } }, "/xpanse/catalog/services/{id}": { "get": { "tags": ["ServiceCatalog"], "description": "Get deployable service by id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "getOrderableServiceDetails", "parameters": [ { "name": "id", "in": "path", "description": "The id of orderable service.", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserOrderableServiceVo" } } } } } } }, "/xpanse/catalog/services/{id}/openapi": { "get": { "tags": ["ServiceCatalog"], "description": "Get the API document of the orderable service.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "openApi", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Link" } } } } } } }, "/auth/token": { "get": { "tags": ["AuthManagement"], "description": "Get token info by authorization code.", "operationId": "getAccessToken", "parameters": [ { "name": "code", "in": "query", "description": "The authorization code.", "required": true, "schema": { "type": "string" } }, { "name": "state", "in": "query", "description": "Opaque value used to maintain state.", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenResponse" } } } } } } }, "/auth/authorize": { "get": { "tags": ["AuthManagement"], "description": "Get and redirect authorization url for user to authenticate.", "operationId": "authorize", "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/services/{serviceId}": { "delete": { "tags": ["Service"], "description": "Create an order task to destroy the deployed service using id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "destroy", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "default": { "description": "Id of the order task to destroy the deployed service.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/purge/{serviceId}": { "delete": { "tags": ["Service"], "description": "Create an order task to purge the deployed service using service id.\u003Cbr\u003ERequired role:\u003Cb\u003E admin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E", "operationId": "purge", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string" } } ], "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "default": { "description": "Id of the order task to purge the destroyed service.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } } }, "components": { "schemas": { "Response": { "required": ["details", "resultType", "success"], "type": "object", "properties": { "resultType": { "type": "string", "description": "The result code of response.", "enum": [ "Success", "Runtime Error", "Parameters Invalid", "Terraform Script Invalid", "Unprocessable Entity", "Response Not Valid", "Failure while connecting to backend", "Credential Capability Not Found", "Credentials Not Found", "Credential Variables Not Complete", "Flavor Invalid", "Terraform Execution Failed", "Plugin Not Found", "Deployer Not Found", "No Credential Definition Available", "Invalid Service State", "Resource Invalid For Monitoring", "Unhandled Exception", "Service Template Already Registered", "Icon Processing Failed", "Service Template Not Registered", "Service Template Not Approved", "Service Template Already Reviewed", "Invalid Service Version", "Invalid Service Flavors", "Service Deployment Not Found", "Resource Not Found", "Deployment Variable Invalid", "Deployment Failed", "Service Template Update Not Allowed", "Service Template Still In Use", "Unauthorized", "Access Denied", "Sensitive Field Encryption Or Decryption Failed Exception", "Unsupported Enum Value", "Terraform Boot Request Failed", "Tofu Maker Request Failed", "Metrics Data Not Ready", "Variable Validation Failed", "Variable Schema Definition Invalid", "Policy Not Found", "Duplicate Policy", "Policy Validation Failed", "Policy Evaluation Failed", "Current Login User No Found", "Service Details No Accessible", "Migrating activiti Task Not Found", "Service Migration Failed Exception", "Service Migration Not Found", "Service Locked", "Eula Not Accepted", "Service Flavor Downgrade Not Allowed", "Billing Mode Not Supported", "Service State Management Task Not Found", "Service Order Not Found", "Service Price Calculation Failed", "Invalid Git Repo Details", "File Locked" ] }, "details": { "type": "array", "description": "Details of the errors occurred", "items": { "type": "string", "description": "Details of the errors occurred" } }, "success": { "type": "boolean", "description": "Describes if the request is successful" } } }, "CreateCredential": { "required": ["csp", "name", "timeToLive", "type", "variables"], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the credential" }, "csp": { "type": "string", "description": "The cloud service provider of the credential.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "description": { "type": "string", "description": "The description of the credential" }, "type": { "type": "string", "description": "The type of the credential", "enum": ["variables", "http_authentication", "api_key", "oauth2"] }, "variables": { "type": "array", "description": "The variables list of the credential. The list elements must be unique.", "items": { "$ref": "#/components/schemas/CredentialVariable" } }, "timeToLive": { "type": "integer", "description": "The time in seconds to live of the credential", "format": "int32", "default": 3600 } } }, "CredentialVariable": { "required": ["description", "isSensitive", "name", "value"], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the CredentialVariable,this field is provided by the plugin of cloud service provider." }, "description": { "type": "string", "description": "The description of the CredentialVariable,this field is provided by the plugin of cloud service provider." }, "isMandatory": { "type": "boolean", "description": "If the variable is mandatory. If is optional then the credential completeness check will ignore this variable. It is upto the plugin to decide what needs to be done if this optional credential variable is present.", "default": true }, "isSensitive": { "type": "boolean", "description": "Defines if the particular variable contains sensitive data. For example the value is false for username and true for password variables respectively." }, "value": { "type": "string", "description": "The value of the CredentialVariable, this field is filled by the user." } }, "description": "The variables list of the credential. The list elements must be unique." }, "ModifyRequest": { "type": "object", "properties": { "customerServiceName": { "type": "string", "description": "Customer's name for the service. Used only for customer's reference. If not provided, the existing customerServiceName from the service will be reused." }, "flavor": { "type": "string", "description": "The flavor of the Service." }, "serviceRequestProperties": { "type": "object", "additionalProperties": true, "description": "The properties for the requested service" } } }, "ServiceOrder": { "required": ["orderId", "serviceId"], "type": "object", "properties": { "orderId": { "type": "string", "description": "The id of the service order.", "format": "uuid" }, "serviceId": { "type": "string", "description": "The id of the deployed service.", "format": "uuid" } } }, "ServiceLockConfig": { "type": "object", "properties": { "modifyLocked": { "type": "boolean" }, "destroyLocked": { "type": "boolean" } } }, "AutoFill": { "required": ["deployResourceKind", "isAllowCreate"], "type": "object", "properties": { "deployResourceKind": { "type": "string", "description": "Type of the cloud resource to be reused.", "enum": [ "vm", "container", "publicIP", "vpc", "volume", "unknown", "security_group", "security_group_rule", "keypair", "subnet" ] }, "isAllowCreate": { "type": "boolean", "description": " defines if the required cloud resource can be newly created or should the existing resources must only be used." } }, "description": "Service config parameter autofill" }, "AvailabilityZoneConfig": { "required": ["displayName", "mandatory", "varName"], "type": "object", "properties": { "displayName": { "type": "string", "description": "The display name of availability zone." }, "varName": { "type": "string", "description": "The variable name of availability zone." }, "mandatory": { "type": "boolean", "description": "Indicates if the variable is mandatory." }, "description": { "type": "string", "description": "The description of availability zone." } }, "description": "The list of availability zone configuration of the service.The list elements must be unique." }, "Billing": { "required": ["billingModes"], "type": "object", "properties": { "billingModes": { "type": "array", "description": "Supported billing modes by the managed service. The list elements must be unique.", "items": { "type": "string", "description": "Supported billing modes by the managed service. The list elements must be unique.", "enum": ["Fixed", "Pay per Use"] } }, "defaultBillingMode": { "type": "string", "description": " This is used only for display purposes. When provided, this billingMode will be selected in the frontends by default.", "enum": ["Fixed", "Pay per Use"] } }, "description": "The billing policy of the managed service" }, "CloudServiceProvider": { "required": ["name", "regions"], "type": "object", "properties": { "name": { "type": "string", "description": "The Cloud Service Provider.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "regions": { "type": "array", "description": "The regions of the Cloud Service Provider. The list elements must be unique.", "items": { "$ref": "#/components/schemas/Region" } } }, "description": "The cloud service provider of the managed service" }, "DeployVariable": { "required": ["dataType", "description", "kind", "mandatory", "modificationImpact", "name"], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the deploy variable" }, "kind": { "$ref": "#/components/schemas/DeployVariableKind" }, "dataType": { "type": "string", "description": "The type of the deploy variable", "enum": ["string", "number", "boolean"] }, "example": { "type": "string", "description": "The example value of the deploy variable" }, "description": { "type": "string", "description": "The description of the deploy variable" }, "value": { "type": "string", "description": "The value of the deploy variable. Value can be provided for default variables" }, "mandatory": { "type": "boolean", "description": "Indicates if the variable is mandatory" }, "valueSchema": { "type": "object", "additionalProperties": true, "description": "valueSchema of the variable. The key be any keyword that is part of the JSON schema definition which can be found here https://json-schema.org/draft/2020-12/schema" }, "sensitiveScope": { "type": "string", "description": "Sensitive scope of variable storage", "enum": ["none", "once", "always"] }, "autoFill": { "$ref": "#/components/schemas/AutoFill" }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact" } }, "description": "The variables for the deployment, which will be passed to the deployer.The list elements must be unique." }, "DeployVariableKind": { "type": "string", "description": "- `fix_env`: Values for variable of this type are defined by the managed service provider \nin the OCL template. Runtime will inject it to deployer as environment variables. \nThis variable is not visible to the end user.\n- `fix_variable`: Values for variable of this type are defined by the managed service \nprovider in the OCL template. Runtime will inject it to deployer as usual variables. \nThis variable is not visible to the end user.\n- `env`: Value for a variable of this type can be provided by end user. \nIf marked as mandatory then end user must provide value to this variable. \nIf marked as optional and if end user does not provide it, \nthen the fallback value to this variable is read by runtime (it can read from other sources,\n e.g., OS env variables). This variable is injected as an environment \n variable to the deployer.\n- `variable`: Value for a variable of this type can be provided by end user. \nIf marked as mandatory then end user must provide value to this variable. \nIf marked as optional and if end user does not provide it, \nthen the fallback value to this variable is read by runtime (it can read from other sources,\n e.g., OS env variables). This variable is injected as a regular variable to the deployer.\n- `env_env`: Value to this variable is read by runtime \n(it can read from other sources, e.g., OS env variables) \nand injected as an environment variable to the deployer. \nEnd user cannot see or change this variable.\n- `env_variable`: Value to this variable is read by runtime \n(it can read from other sources, e.g., OS env variables) \nand injected as a regular variable to the deployer. \nEnd user cannot see or change this variable.", "enum": ["fix_env", "fix_variable", "env", "variable", "env_env", "env_variable"] }, "Deployment": { "required": ["kind", "variables"], "type": "object", "properties": { "kind": { "type": "string", "description": "The type of the Deployer which will handle the service deployment", "enum": ["terraform", "opentofu"] }, "variables": { "type": "array", "description": "The variables for the deployment, which will be passed to the deployer.The list elements must be unique.", "items": { "$ref": "#/components/schemas/DeployVariable" } }, "credentialType": { "type": "string", "description": "The credential type to do the deployment", "enum": ["variables", "http_authentication", "api_key", "oauth2"] }, "serviceAvailabilityConfigs": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "The list of availability zone configuration of the service.The list elements must be unique.", "items": { "$ref": "#/components/schemas/AvailabilityZoneConfig" } }, "deployer": { "type": "string", "description": "The real deployer, something like terraform scripts. Either deployer or deployFromGitRepo must be provided." }, "scriptsRepo": { "$ref": "#/components/schemas/ScriptsRepo" } }, "description": "The deployment of the managed service" }, "FlavorsWithPrice": { "required": ["isDowngradeAllowed", "modificationImpact", "serviceFlavors"], "type": "object", "properties": { "serviceFlavors": { "type": "array", "description": "The flavors of the managed service. The list elements must be unique.", "items": { "$ref": "#/components/schemas/ServiceFlavorWithPrice" } }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact" }, "isDowngradeAllowed": { "type": "boolean", "description": "Whether the downgrading is allowed, default value: true." }, "downgradeAllowed": { "type": "boolean" } }, "description": "The flavors of the managed service" }, "ModificationImpact": { "type": "object", "properties": { "isDataLost": { "type": "boolean", "description": "Is data lost when service configuration is modified." }, "isServiceInterrupted": { "type": "boolean", "description": "Is service availability interrupted when the configuration is interrupted." } }, "description": "Service config parameter modificationImpact" }, "Ocl": { "required": [ "billing", "category", "cloudServiceProvider", "deployment", "description", "flavors", "icon", "name", "namespace", "serviceHostingType", "serviceProviderContactDetails", "serviceVersion", "version" ], "type": "object", "properties": { "category": { "type": "string", "description": "The catalog of the service", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "version": { "type": "string", "description": "The version of the Ocl" }, "name": { "type": "string", "description": "The name of the managed service" }, "serviceVersion": { "type": "string", "description": "The version of the managed service" }, "description": { "type": "string", "description": "The description of the managed service" }, "namespace": { "type": "string", "description": "The namespace of the managed service" }, "icon": { "type": "string", "description": "The icon of the managed service" }, "cloudServiceProvider": { "$ref": "#/components/schemas/CloudServiceProvider" }, "deployment": { "$ref": "#/components/schemas/Deployment" }, "flavors": { "$ref": "#/components/schemas/FlavorsWithPrice" }, "billing": { "$ref": "#/components/schemas/Billing" }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "serviceProviderContactDetails": { "$ref": "#/components/schemas/ServiceProviderContactDetails" }, "eula": { "type": "string", "description": "End user license agreement content of the service." }, "configurationParameters": { "type": "array", "description": "The collection of service configuration parameters.", "items": { "$ref": "#/components/schemas/ServiceConfigurationParameter" } } } }, "Price": { "required": ["cost", "currency"], "type": "object", "properties": { "cost": { "type": "number", "description": "The value of the cost." }, "currency": { "type": "string", "description": "The currency of the cost.", "enum": ["USD", "EUR", "CNY"] }, "period": { "type": "string", "description": "The period of the cost.", "enum": ["yearly", "monthly", "daily", "hourly", "oneTime"] } }, "description": "The listed price of the flavor of the manged service." }, "RatingMode": { "required": ["isPriceOnlyForManagementLayer"], "type": "object", "properties": { "fixedPrice": { "$ref": "#/components/schemas/Price" }, "resourceUsage": { "$ref": "#/components/schemas/ResourceUsage" }, "isPriceOnlyForManagementLayer": { "type": "boolean", "description": "Whether the price is only for management layer. Consumption of the workload resources will be billed additionally.." } }, "description": "The pricing of the flavor" }, "Region": { "required": ["area", "name"], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the Region" }, "area": { "type": "string", "description": "The area which the region belongs to, such as Asia, Europe, Africa" } }, "description": "The regions of the Cloud Service Provider. The list elements must be unique." }, "Resource": { "required": ["count", "deployResourceKind"], "type": "object", "properties": { "count": { "type": "integer", "description": "The count of the same resource.", "format": "int32" }, "deployResourceKind": { "type": "string", "description": "The kind of the same resource.", "enum": [ "vm", "container", "publicIP", "vpc", "volume", "unknown", "security_group", "security_group_rule", "keypair", "subnet" ] }, "properties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the same resource." }, "description": "The properties of the same resource." } }, "description": "The resources of the flavor of the manged service." }, "ResourceUsage": { "required": ["resources"], "type": "object", "properties": { "resources": { "type": "array", "description": "The resources of the flavor of the manged service.", "items": { "$ref": "#/components/schemas/Resource" } }, "licensePrice": { "$ref": "#/components/schemas/Price" }, "markUpPrice": { "$ref": "#/components/schemas/Price" } }, "description": "The resource usage of the flavor in the managed service." }, "ScriptsRepo": { "required": ["branch", "repoUrl"], "type": "object", "properties": { "repoUrl": { "type": "string", "description": "URL of the repo" }, "branch": { "type": "string", "description": "Branch to be checked out. Can be branch or a Tag" }, "scriptsPath": { "type": "string", "description": "Directory in the repo where scripts are present. If not provided, the root directory of the repo is considered" } }, "description": "Deployment scripts hosted on a GIT repo. Either deployer or deployFromGitRepo must be provided." }, "ServiceConfigurationParameter": { "required": [ "dataType", "description", "initialValue", "kind", "mandatory", "modificationImpact", "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the service config parameter" }, "kind": { "$ref": "#/components/schemas/DeployVariableKind" }, "dataType": { "type": "string", "description": "The type of the service config parameter", "enum": ["string", "number", "boolean"] }, "example": { "type": "string", "description": "The example value of the service config parameter" }, "description": { "type": "string", "description": "The description of the service config parameter" }, "value": { "type": "string", "description": "The value of the service config parameter. Value can be provided for initial value" }, "initialValue": { "type": "string", "description": "The init value of the service config parameter" }, "mandatory": { "type": "boolean", "description": "Indicates if the service config parameter is mandatory" }, "valueSchema": { "type": "object", "additionalProperties": true, "description": "valueSchema of the service config parameter. The key be any keyword that is part of the JSON schema definition which can be found here https://json-schema.org/draft/2020-12/schema" }, "sensitiveScope": { "type": "string", "description": "Sensitive scope of service config parameter storage", "enum": ["none", "once", "always"] }, "autoFill": { "$ref": "#/components/schemas/AutoFill" }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact" } }, "description": "The collection of service configuration parameters." }, "ServiceFlavorWithPrice": { "required": ["name", "pricing", "priority", "properties"], "type": "object", "properties": { "name": { "type": "string", "description": "The flavor name" }, "properties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the flavor" }, "description": "The properties of the flavor" }, "priority": { "minimum": 1, "type": "integer", "description": "The priority of the flavor. The larger value means lower priority.", "format": "int32" }, "features": { "type": "array", "description": "Important features and differentiators of the flavor.", "items": { "type": "string", "description": "Important features and differentiators of the flavor." } }, "pricing": { "$ref": "#/components/schemas/RatingMode" } }, "description": "The flavors of the managed service. The list elements must be unique." }, "ServiceProviderContactDetails": { "type": "object", "properties": { "emails": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "List of the email details of the service provider. The list elements must be unique.", "items": { "type": "string", "description": "List of the email details of the service provider. The list elements must be unique." } }, "phones": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "List of the phone details of the service provider. The list elements must be unique.", "items": { "type": "string", "description": "List of the phone details of the service provider. The list elements must be unique." } }, "chats": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "List of the chat details of the service provider. The list elements must be unique.", "items": { "type": "string", "description": "List of the chat details of the service provider. The list elements must be unique." } }, "websites": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "List of the website details of the service provider. The list elements must be unique.", "items": { "type": "string", "description": "List of the website details of the service provider. The list elements must be unique." } } }, "description": "The contact details of the service provider." }, "Link": { "type": "object", "properties": { "rel": { "type": "string" }, "href": { "type": "string" }, "hreflang": { "type": "string" }, "media": { "type": "string" }, "title": { "type": "string" }, "type": { "type": "string" }, "deprecation": { "type": "string" }, "profile": { "type": "string" }, "name": { "type": "string" } } }, "ServiceTemplateDetailVo": { "required": [ "billing", "category", "createTime", "csp", "deployment", "description", "flavors", "icon", "lastModifiedTime", "name", "namespace", "regions", "serviceHostingType", "serviceProviderContactDetails", "serviceRegistrationState", "serviceTemplateId", "variables", "version" ], "type": "object", "properties": { "serviceTemplateId": { "type": "string", "description": "ID of the registered service.", "format": "uuid" }, "name": { "type": "string", "description": "Name of the registered service." }, "version": { "type": "string", "description": "Version of the registered service." }, "csp": { "type": "string", "description": "Csp of the registered service.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "category": { "type": "string", "description": "Category of the registered service.", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "namespace": { "type": "string", "description": "Namespace of the user who registered service template." }, "regions": { "type": "array", "description": "The regions of the Cloud Service Provider.", "items": { "$ref": "#/components/schemas/Region" } }, "description": { "type": "string", "description": "The description of the registered service." }, "icon": { "type": "string", "description": "The icon of the registered service." }, "deployment": { "$ref": "#/components/schemas/Deployment" }, "variables": { "type": "array", "description": "The variables for the deployment, which will be passed to the deployer.", "items": { "$ref": "#/components/schemas/DeployVariable" } }, "flavors": { "$ref": "#/components/schemas/FlavorsWithPrice" }, "billing": { "$ref": "#/components/schemas/Billing" }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "createTime": { "type": "string", "description": "createTime of the registered service.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Last updateTime of the registered service.", "format": "date-time" }, "serviceRegistrationState": { "type": "string", "description": "State of registered service template.", "enum": ["unregistered", "approval pending", "approved", "rejected"] }, "reviewComment": { "type": "string", "description": "Comment of reviewed service template." }, "serviceProviderContactDetails": { "$ref": "#/components/schemas/ServiceProviderContactDetails" }, "eula": { "type": "string", "description": "End user license agreement content of the service." }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/Link" } } } }, "ReviewRegistrationRequest": { "required": ["reviewResult"], "type": "object", "properties": { "reviewResult": { "type": "string", "description": "The result of review registration.", "enum": ["approved", "rejected"] }, "reviewComment": { "type": "string", "description": "The comment of review registration." } } }, "ServicePolicyUpdateRequest": { "type": "object", "properties": { "flavorNameList": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "The flavor name list which the policy belongs to. If the list is empty, then the policy will be executed for during service deployment of all flavors.", "items": { "type": "string", "description": "The flavor name list which the policy belongs to. If the list is empty, then the policy will be executed for during service deployment of all flavors." } }, "policy": { "type": "string", "description": "The policy." }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } } }, "ServicePolicy": { "required": [ "createTime", "enabled", "lastModifiedTime", "policy", "servicePolicyId", "serviceTemplateId" ], "type": "object", "properties": { "servicePolicyId": { "type": "string", "description": "The id of the policy.", "format": "uuid" }, "policy": { "type": "string", "description": "The valid policy belongs to the service." }, "serviceTemplateId": { "type": "string", "description": "The id of registered service template which the policy belongs to.", "format": "uuid" }, "flavorNameList": { "type": "array", "description": "The flavor name list which the policy belongs to. If the list is empty, then the policy will be executed for during service deployment of all flavors.", "items": { "type": "string", "description": "The flavor name list which the policy belongs to. If the list is empty, then the policy will be executed for during service deployment of all flavors." } }, "enabled": { "type": "boolean", "description": "Is the policy enabled." }, "createTime": { "type": "string", "description": "Time of the policy created.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Time of the policy updated.", "format": "date-time" } } }, "UserPolicyUpdateRequest": { "type": "object", "properties": { "csp": { "type": "string", "description": "The csp which the policy belongs to.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "policy": { "type": "string", "description": "The policy." }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } } }, "UserPolicy": { "required": ["createTime", "csp", "enabled", "lastModifiedTime", "policy", "userPolicyId"], "type": "object", "properties": { "userPolicyId": { "type": "string", "description": "The id of the policy.", "format": "uuid" }, "policy": { "type": "string", "description": "The valid policy created by the user." }, "csp": { "type": "string", "description": "The csp which the policy belongs to.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "enabled": { "type": "boolean", "description": "Is the policy enabled." }, "createTime": { "type": "string", "description": "Time of the policy created.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Time of the policy updated.", "format": "date-time" } } }, "DeployRequest": { "required": [ "billingMode", "category", "csp", "flavor", "region", "serviceHostingType", "serviceName", "version" ], "type": "object", "properties": { "category": { "type": "string", "description": "The category of the service", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "serviceName": { "type": "string", "description": "The name of the service ordered." }, "customerServiceName": { "type": "string", "description": "Customer's name for the service. Used only for customer's reference.If not provided, this value will be auto-generated" }, "version": { "type": "string", "description": "The version of service" }, "region": { "$ref": "#/components/schemas/Region" }, "csp": { "type": "string", "description": "The csp of the Service.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "flavor": { "type": "string", "description": "The flavor of the Service." }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "serviceRequestProperties": { "type": "object", "additionalProperties": true, "description": "The properties for the requested service" }, "availabilityZones": { "type": "object", "additionalProperties": { "type": "string", "description": "The availability zones to deploy the service instance." }, "description": "The availability zones to deploy the service instance." }, "billingMode": { "type": "string", "description": "The billing mode of the managed service.", "enum": ["Fixed", "Pay per Use"] }, "eulaAccepted": { "type": "boolean" } } }, "MigrateRequest": { "required": [ "billingMode", "category", "csp", "flavor", "originalServiceId", "region", "serviceHostingType", "serviceName", "version" ], "type": "object", "properties": { "category": { "type": "string", "description": "The category of the service", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "serviceName": { "type": "string", "description": "The name of the service ordered." }, "customerServiceName": { "type": "string", "description": "Customer's name for the service. Used only for customer's reference.If not provided, this value will be auto-generated" }, "version": { "type": "string", "description": "The version of service" }, "region": { "$ref": "#/components/schemas/Region" }, "csp": { "type": "string", "description": "The csp of the Service.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "flavor": { "type": "string", "description": "The flavor of the Service." }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "serviceRequestProperties": { "type": "object", "additionalProperties": true, "description": "The properties for the requested service" }, "availabilityZones": { "type": "object", "additionalProperties": { "type": "string", "description": "The availability zones to deploy the service instance." }, "description": "The availability zones to deploy the service instance." }, "billingMode": { "type": "string", "description": "The billing mode of the managed service.", "enum": ["Fixed", "Pay per Use"] }, "originalServiceId": { "type": "string", "description": "The id of the service to migrate", "format": "uuid" }, "eulaAccepted": { "type": "boolean" } } }, "ServicePolicyCreateRequest": { "required": ["enabled", "policy", "serviceTemplateId"], "type": "object", "properties": { "serviceTemplateId": { "type": "string", "description": "The id of registered service template which the policy belongs to.", "format": "uuid" }, "flavorNameList": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "The flavor name list which the policy belongs to. If the list is empty, then the policy will be executed for during service deployment of all flavors.", "items": { "type": "string", "description": "The flavor name list which the policy belongs to. If the list is empty, then the policy will be executed for during service deployment of all flavors." } }, "policy": { "type": "string", "description": "The policy." }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } } }, "UserPolicyCreateRequest": { "required": ["csp", "enabled", "policy"], "type": "object", "properties": { "csp": { "type": "string", "description": "The csp which the policy belongs to.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "policy": { "type": "string", "description": "The policy." }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } } }, "OpenTofuResult": { "type": "object", "properties": { "requestId": { "type": "string", "format": "uuid" }, "commandStdOutput": { "type": "string" }, "commandStdError": { "type": "string" }, "terraformState": { "type": "string" }, "importantFileContentMap": { "type": "object", "additionalProperties": { "type": "string" } }, "commandSuccessful": { "type": "boolean" } } }, "TerraformResult": { "type": "object", "properties": { "requestId": { "type": "string", "format": "uuid" }, "commandStdOutput": { "type": "string" }, "commandStdError": { "type": "string" }, "terraformState": { "type": "string" }, "importantFileContentMap": { "type": "object", "additionalProperties": { "type": "string" } }, "commandSuccessful": { "type": "boolean" } } }, "WorkFlowTask": { "required": [ "businessKey", "createTime", "executionId", "processDefinitionId", "processDefinitionName", "processInstanceId", "status", "taskId", "taskName" ], "type": "object", "properties": { "processInstanceId": { "type": "string", "description": "The id of the ProcessInstance" }, "processInstanceName": { "type": "string", "description": "The name of the ProcessInstance" }, "processDefinitionId": { "type": "string", "description": "The id of the ProcessDefinition" }, "processDefinitionName": { "type": "string", "description": "The name of the ProcessDefinition" }, "executionId": { "type": "string", "description": "The execution id of the ProcessInstance" }, "taskId": { "type": "string", "description": "The id of the task" }, "taskName": { "type": "string", "description": "The name of the task" }, "businessKey": { "type": "string", "description": "The businessKey of the Process" }, "status": { "type": "string", "description": "The status of the Task", "enum": ["done", "failed"] }, "createTime": { "type": "string", "description": "The create time of the task", "format": "date-time" } } }, "AbstractCredentialInfo": { "required": ["csp", "description", "name", "type"], "type": "object", "allOf": [ { "$ref": "#/components/schemas/CredentialVariables" }, { "type": "object", "properties": { "csp": { "type": "string", "description": "The cloud service provider of the credential.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "type": { "type": "string", "description": "The type of the credential, this field is provided by the plugin of cloud service provider.", "enum": ["variables", "http_authentication", "api_key", "oauth2"] }, "name": { "type": "string", "description": "The name of the credential, this field is provided by the plugin of cloud service provider. The value of this field must be unique between credentials with the same csp and type." }, "description": { "type": "string", "description": "The description of the credential,this field is provided by the plugin of cloud service provider." }, "userId": { "type": "string", "description": "The id of user who created the credential." } } } ] }, "CredentialVariables": { "required": ["csp", "description", "name", "type", "variables"], "type": "object", "properties": { "csp": { "type": "string", "description": "The cloud service provider of the credential.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "type": { "type": "string", "description": "The type of the credential, this field is provided by the plugin of cloud service provider.", "enum": ["variables", "http_authentication", "api_key", "oauth2"] }, "name": { "type": "string", "description": "The name of the credential, this field is provided by the plugin of cloud service provider. The value of this field must be unique between credentials with the same csp and type." }, "description": { "type": "string", "description": "The description of the credential,this field is provided by the plugin of cloud service provider." }, "userId": { "type": "string", "description": "The id of user who created the credential." }, "variables": { "maxItems": 2147483647, "minItems": 1, "type": "array", "description": "The variables list of the credential.", "items": { "$ref": "#/components/schemas/CredentialVariable" } } } }, "DeployResource": { "required": ["kind", "name", "properties", "resourceId"], "type": "object", "properties": { "resourceId": { "type": "string", "description": "The id of the deployed resource." }, "name": { "type": "string", "description": "The name of the deployed resource." }, "kind": { "type": "string", "description": "The kind of the deployed resource.", "enum": [ "vm", "container", "publicIP", "vpc", "volume", "unknown", "security_group", "security_group_rule", "keypair", "subnet" ] }, "properties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed resource." }, "description": "The properties of the deployed resource." } }, "description": "The deployed resources of the service before this service order." }, "DeployedService": { "required": [ "category", "createTime", "csp", "lastModifiedTime", "name", "serviceDeploymentState", "serviceHostingType", "serviceId", "serviceState", "version" ], "type": "object", "properties": { "serviceId": { "type": "string", "description": "The ID of the service", "format": "uuid" }, "category": { "type": "string", "description": "The catalog of the service", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "name": { "type": "string", "description": "The name of the service" }, "customerServiceName": { "type": "string", "description": "Customer's name for the service. Used only for customer's reference.If not provided, this value will be auto-generated" }, "version": { "type": "string", "description": "The version of the service" }, "csp": { "type": "string", "description": "The provider of the service", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "flavor": { "type": "string", "description": "The flavor of the service" }, "serviceTemplateId": { "type": "string", "description": "The id of the Service Template", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who deployed the service." }, "serviceDeploymentState": { "type": "string", "description": "The deployment state of the service", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] }, "serviceState": { "type": "string", "description": "The run state of the service", "enum": ["not running", "running", "starting", "stopping", "stopped", "restarting"] }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "createTime": { "type": "string", "description": "Time of register service.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Time of update service.", "format": "date-time" }, "lastStartedAt": { "type": "string", "description": "Time of start service.", "format": "date-time" }, "lastStoppedAt": { "type": "string", "description": "Time of stop service.", "format": "date-time" }, "lockConfig": { "$ref": "#/components/schemas/ServiceLockConfig" }, "latestRunningManagementTask": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" }, "latestModificationAudit": { "$ref": "#/components/schemas/ServiceOrderDetails" } } }, "ServiceOrderDetails": { "required": ["orderId", "serviceId", "taskStatus", "taskType"], "type": "object", "properties": { "orderId": { "type": "string", "description": "The id of the service order.", "format": "uuid" }, "serviceId": { "type": "string", "description": "The id of the deployed service.", "format": "uuid" }, "taskType": { "type": "string", "description": "The task type of the service order.", "enum": ["deploy", "redeploy", "modify", "destroy", "purge"] }, "taskStatus": { "type": "string", "description": "The task status of the service order.", "enum": ["created", "in progress", "successful", "failed"] }, "errorMsg": { "type": "string", "description": "The error message if the service order task failed." }, "userId": { "type": "string", "description": "The id of the user who created the service order." }, "startedTime": { "type": "string", "description": "The started time of the service order.", "format": "date-time" }, "completedTime": { "type": "string", "description": "The completed time of the service order.", "format": "date-time" }, "previousDeployRequest": { "$ref": "#/components/schemas/DeployRequest" }, "newDeployRequest": { "$ref": "#/components/schemas/DeployRequest" }, "previousDeployedResources": { "type": "array", "description": "The deployed resources of the service before this service order.", "items": { "$ref": "#/components/schemas/DeployResource" } }, "previousDeployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed service before this service order." }, "description": "The properties of the deployed service before this service order." }, "previousDeployedResultProperties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed result before this service order." }, "description": "The properties of the deployed result before this service order." } }, "description": "The latest service management audit details." }, "ServiceStateManagementTaskDetails": { "required": ["serviceId", "taskId", "taskStatus", "taskType"], "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the service state management task.", "format": "uuid" }, "serviceId": { "type": "string", "description": "The id of the deployed service.", "format": "uuid" }, "taskType": { "type": "string", "description": "The type of the service state management task.", "enum": ["start", "stop", "restart"] }, "taskStatus": { "type": "string", "description": "The status of the service state management task.", "enum": ["created", "in progress", "successful", "failed"] }, "errorMsg": { "type": "string", "description": "The error message of the failed management task." }, "startedTime": { "type": "string", "description": "The started time of the task.", "format": "date-time" }, "completedTime": { "type": "string", "description": "The completed time of the task.", "format": "date-time" } }, "description": "The latest running service management task details." }, "DeploymentStatusUpdate": { "required": ["isOrderCompleted", "serviceDeploymentState"], "type": "object", "properties": { "serviceDeploymentState": { "type": "string", "description": "Current state of the deployment request.", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] }, "isOrderCompleted": { "type": "boolean", "description": "Describes if the deployment request is now completed" } } }, "ServiceOrderStatusUpdate": { "required": ["isOrderCompleted", "taskStatus"], "type": "object", "properties": { "taskStatus": { "type": "string", "description": "Current task status of the service order.", "enum": ["created", "in progress", "successful", "failed"] }, "isOrderCompleted": { "type": "boolean", "description": "Describes if the service order is now completed." }, "errorMsg": { "type": "string", "description": "The error message if the service order failed." } } }, "ServiceMigrationDetails": { "required": [ "createTime", "lastModifiedTime", "migrationId", "migrationStatus", "newServiceId", "oldServiceId" ], "type": "object", "properties": { "migrationId": { "type": "string", "description": "The ID of the service migration", "format": "uuid" }, "oldServiceId": { "type": "string", "description": "The ID of the old service", "format": "uuid" }, "newServiceId": { "type": "string", "description": "The ID of the new service", "format": "uuid" }, "migrationStatus": { "type": "string", "description": "The status of the service migration", "enum": [ "MigrationStarted", "MigrationCompleted", "MigrationFailed", "DataExportStarted", "DataExportFailed", "DataExportCompleted", "DeployStarted", "DeployFailed", "DeployCompleted", "DataImportStarted", "DataImportFailed", "DataImportCompleted", "DestroyStarted", "DestroyFailed", "DestroyCompleted" ] }, "createTime": { "type": "string", "description": "Time of service migration.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Time of update service migration.", "format": "date-time" } } }, "DeployedServiceDetails": { "required": [ "category", "createTime", "csp", "deployRequest", "lastModifiedTime", "name", "serviceDeploymentState", "serviceHostingType", "serviceId", "serviceState", "version" ], "type": "object", "properties": { "serviceId": { "type": "string", "description": "The ID of the service", "format": "uuid" }, "category": { "type": "string", "description": "The catalog of the service", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "name": { "type": "string", "description": "The name of the service" }, "customerServiceName": { "type": "string", "description": "Customer's name for the service. Used only for customer's reference.If not provided, this value will be auto-generated" }, "version": { "type": "string", "description": "The version of the service" }, "csp": { "type": "string", "description": "The provider of the service", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "flavor": { "type": "string", "description": "The flavor of the service" }, "serviceTemplateId": { "type": "string", "description": "The id of the Service Template", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who deployed the service." }, "serviceDeploymentState": { "type": "string", "description": "The deployment state of the service", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] }, "serviceState": { "type": "string", "description": "The run state of the service", "enum": ["not running", "running", "starting", "stopping", "stopped", "restarting"] }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "createTime": { "type": "string", "description": "Time of register service.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Time of update service.", "format": "date-time" }, "lastStartedAt": { "type": "string", "description": "Time of start service.", "format": "date-time" }, "lastStoppedAt": { "type": "string", "description": "Time of stop service.", "format": "date-time" }, "lockConfig": { "$ref": "#/components/schemas/ServiceLockConfig" }, "latestRunningManagementTask": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" }, "latestModificationAudit": { "$ref": "#/components/schemas/ServiceOrderDetails" }, "deployRequest": { "$ref": "#/components/schemas/DeployRequest" }, "deployResources": { "type": "array", "description": "The resource list of the deployed service.", "items": { "$ref": "#/components/schemas/DeployResource" } }, "deployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed service." }, "description": "The properties of the deployed service." }, "resultMessage": { "type": "string", "description": "The result message of the deployed service." } } }, "VendorHostedDeployedServiceDetails": { "required": [ "category", "createTime", "csp", "deployRequest", "lastModifiedTime", "name", "serviceDeploymentState", "serviceHostingType", "serviceId", "serviceState", "version" ], "type": "object", "properties": { "serviceId": { "type": "string", "description": "The ID of the service", "format": "uuid" }, "category": { "type": "string", "description": "The catalog of the service", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "name": { "type": "string", "description": "The name of the service" }, "customerServiceName": { "type": "string", "description": "Customer's name for the service. Used only for customer's reference.If not provided, this value will be auto-generated" }, "version": { "type": "string", "description": "The version of the service" }, "csp": { "type": "string", "description": "The provider of the service", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "flavor": { "type": "string", "description": "The flavor of the service" }, "serviceTemplateId": { "type": "string", "description": "The id of the Service Template", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who deployed the service." }, "serviceDeploymentState": { "type": "string", "description": "The deployment state of the service", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful" ] }, "serviceState": { "type": "string", "description": "The run state of the service", "enum": ["not running", "running", "starting", "stopping", "stopped", "restarting"] }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "createTime": { "type": "string", "description": "Time of register service.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "Time of update service.", "format": "date-time" }, "lastStartedAt": { "type": "string", "description": "Time of start service.", "format": "date-time" }, "lastStoppedAt": { "type": "string", "description": "Time of stop service.", "format": "date-time" }, "lockConfig": { "$ref": "#/components/schemas/ServiceLockConfig" }, "latestRunningManagementTask": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" }, "latestModificationAudit": { "$ref": "#/components/schemas/ServiceOrderDetails" }, "deployRequest": { "$ref": "#/components/schemas/DeployRequest" }, "deployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed service." }, "description": "The properties of the deployed service." } } }, "FlavorPriceResult": { "required": ["billingMode", "flavorName"], "type": "object", "properties": { "flavorName": { "type": "string", "description": "The name of the flavor." }, "billingMode": { "type": "string", "description": "The billing mode of the price.", "enum": ["Fixed", "Pay per Use"] }, "recurringPrice": { "$ref": "#/components/schemas/Price" }, "oneTimePaymentPrice": { "$ref": "#/components/schemas/Price" }, "errorMessage": { "type": "string", "description": "Error reason when price calculation fails." }, "successful": { "type": "boolean" } } }, "Metric": { "required": ["monitorResourceType", "name", "type", "unit"], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the metric." }, "description": { "type": "string", "description": "The description of the metric." }, "type": { "type": "string", "description": "The type of the metric.", "enum": ["counter", "gauge", "histogram", "summary"] }, "monitorResourceType": { "type": "string", "description": "The resource type of the metric.", "enum": ["cpu", "mem", "vm_network_incoming", "vm_network_outgoing"] }, "unit": { "type": "string", "description": "The unit of the metric.", "enum": ["mb", "kb", "percentage", "bit/s", "Byte/s"] }, "labels": { "type": "object", "additionalProperties": { "type": "string", "description": "The labels of the metric." }, "description": "The labels of the metric." }, "metrics": { "type": "array", "description": "The list of the metric items.", "items": { "$ref": "#/components/schemas/MetricItem" } } } }, "MetricItem": { "required": ["timeStamp", "type", "value"], "type": "object", "properties": { "labels": { "type": "object", "additionalProperties": { "type": "string", "description": "The labels for the MetricItem." }, "description": "The labels for the MetricItem." }, "type": { "type": "string", "description": "Type of the MetricItem.", "enum": ["value", "count", "sum"] }, "timeStamp": { "type": "integer", "description": "Timestamp of the recorded metric.", "format": "int64" }, "value": { "type": "number", "description": "value of the MetricItem." } }, "description": "The list of the metric items." }, "BackendSystemStatus": { "required": ["backendSystemType", "healthStatus", "name"], "type": "object", "properties": { "backendSystemType": { "type": "string", "description": "The type of backend system.", "enum": [ "Identity Provider", "Database", "Terraform Boot", "Tofu Maker", "Policy Man", "OpenTelemetry Collector" ] }, "name": { "type": "string", "description": "The name of backend system." }, "healthStatus": { "type": "string", "description": "The health status of backend system.", "enum": ["OK", "NOK"] }, "endpoint": { "type": "string", "description": "The endpoint of backend system. This filed is shown when the user have role 'admin' otherwise it is null." }, "details": { "type": "string", "description": "The details why health is not ok.This filed is shown when the user have role 'admin' otherwise it is null." } }, "description": "The health status of backend systems. This list contains status of identity provider and status of database.The status of identity provider will return when authorization is enabled." }, "SystemStatus": { "required": ["backendSystemStatuses", "healthStatus"], "type": "object", "properties": { "healthStatus": { "type": "string", "description": "The health status of Xpanse api service.", "enum": ["OK", "NOK"] }, "backendSystemStatuses": { "type": "array", "description": "The health status of backend systems. This list contains status of identity provider and status of database.The status of identity provider will return when authorization is enabled.", "items": { "$ref": "#/components/schemas/BackendSystemStatus" } } } }, "ServiceFlavor": { "required": ["name", "priority", "properties"], "type": "object", "properties": { "name": { "type": "string", "description": "The flavor name" }, "properties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the flavor" }, "description": "The properties of the flavor" }, "priority": { "minimum": 1, "type": "integer", "description": "The priority of the flavor. The larger value means lower priority.", "format": "int32" }, "features": { "type": "array", "description": "Important features and differentiators of the flavor.", "items": { "type": "string", "description": "Important features and differentiators of the flavor." } } }, "description": "The flavors of the orderable service." }, "UserOrderableServiceVo": { "required": [ "billing", "category", "csp", "description", "flavors", "icon", "name", "regions", "serviceHostingType", "serviceProviderContactDetails", "serviceTemplateId", "variables", "version" ], "type": "object", "properties": { "serviceTemplateId": { "type": "string", "description": "The id of the orderable service.", "format": "uuid" }, "category": { "type": "string", "description": "The category of the orderable service.", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "name": { "type": "string", "description": "The name of the orderable service." }, "version": { "type": "string", "description": "The version of the orderable service." }, "csp": { "type": "string", "description": "The Cloud Service Provider of the orderable service.", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "regions": { "type": "array", "description": "The regions of the Cloud Service Provider.", "items": { "$ref": "#/components/schemas/Region" } }, "description": { "type": "string", "description": "The description of the orderable service." }, "icon": { "type": "string", "description": "The icon of the orderable service." }, "variables": { "type": "array", "description": "The variables for the deployment, which will be passed to the deployer.", "items": { "$ref": "#/components/schemas/DeployVariable" } }, "flavors": { "type": "array", "description": "The flavors of the orderable service.", "items": { "$ref": "#/components/schemas/ServiceFlavor" } }, "billing": { "$ref": "#/components/schemas/Billing" }, "serviceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "serviceProviderContactDetails": { "$ref": "#/components/schemas/ServiceProviderContactDetails" }, "serviceAvailabilityConfigs": { "type": "array", "description": "The list of availability zone configuration of the service.", "items": { "$ref": "#/components/schemas/AvailabilityZoneConfig" } }, "eula": { "type": "string", "description": "End user license agreement content of the service." }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/Link" } } } }, "TokenResponse": { "required": ["access_token", "expires_in", "id_token", "token_type"], "type": "object", "properties": { "access_token": { "type": "string", "description": "An access_token as a JWT or opaque token." }, "token_type": { "type": "string", "description": "Type of the access_token." }, "expires_in": { "type": "string", "description": "Number of second until the expiration of the access_token" }, "id_token": { "type": "string", "description": "An id_token of the authorized service user" }, "scopes": { "type": "string", "description": "Scopes of the access_token." } } } }, "securitySchemes": { "OAuth2Flow": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://iam.xpanse.site/oauth/v2/authorize", "tokenUrl": "https://iam.xpanse.site/oauth/v2/token", "scopes": { "urn:zitadel:iam:org:project:roles": "mandatory must be selected.", "openid": "mandatory must be selected.", "profile": "mandatory must be selected.", "urn:zitadel:iam:user:metadata": "mandatory must be selected." } } } } } } }