{ "openapi": "3.0.1", "info": { "title": "XpanseAPI", "description": "RESTful Services to interact with Xpanse runtime.", "version": "1.0.17-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": "AuthManagement", "description": "APIs for user authentication and authorization." }, { "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 service instances" }, { "name": "ServiceCatalog", "description": "APIs to query the services which are available for the user to order." }, { "name": "ServiceModification", "description": "APIs to manage modifications of the service instances" }, { "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/workflow/complete/task/{id}": { "put": { "tags": ["Workflow"], "description": "Complete tasks by task ID and set global process variables .
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/user/credentials": { "get": { "tags": ["UserCloudCredentialsManagement"], "description": "List all cloud provider credentials added by the user for a cloud service provider.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "post": { "tags": ["UserCloudCredentialsManagement"], "description": "Add user's credential for connecting to the cloud service provider.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "delete": { "tags": ["UserCloudCredentialsManagement"], "description": "Delete user's credential for connecting to the cloud service provider.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/stop/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to stop the service instance.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/start/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to start the service instance.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/restart/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to restart the service instance.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/modify/{serviceId}": { "put": { "tags": ["ServiceModification"], "description": "Start a modification to modify the deployed service instance.
Required role: admin or user", "operationId": "modify", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of deployed 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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/deploy/retry/{id}": { "put": { "tags": ["Service"], "description": "Start a task to redeploy the failed deployment using id.
Required role: admin or user", "operationId": "redeployFailedDeployment", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } } } } }, "/xpanse/services/changelock/{id}": { "put": { "tags": ["Service"], "description": "Change the lock config of the service.
Required role: admin or user", "operationId": "changeServiceLockConfig", "parameters": [ { "name": "id", "in": "path", "description": "The 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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/{id}": { "get": { "tags": ["ServiceVendor"], "description": "Get service template using id.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } }, "put": { "tags": ["ServiceVendor"], "description": "Update service template using id and ocl model.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } }, "delete": { "tags": ["ServiceVendor"], "description": "Delete unregistered service template using id.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/unregister/{id}": { "put": { "tags": ["ServiceVendor"], "description": "Unregister service template using id.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service_templates/review/{id}": { "put": { "tags": ["CloudServiceProvider"], "description": "Review service template registration.
Required role: admin or csp", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/re-register/{id}": { "put": { "tags": ["ServiceVendor"], "description": "Re-register the unregistered service template using id.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } }, "put": { "tags": ["ServicePoliciesManagement"], "description": "Update the policy belongs to the registered service template.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } }, "delete": { "tags": ["ServicePoliciesManagement"], "description": "Delete the policy belongs to the registered service template.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/policies/{id}": { "get": { "tags": ["UserPoliciesManagement"], "description": "Get the details of the policy created by the user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } }, "put": { "tags": ["UserPoliciesManagement"], "description": "Update the policy created by the user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } }, "delete": { "tags": ["UserPoliciesManagement"], "description": "Delete the policy created by the user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "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.
Required role: isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } }, "post": { "tags": ["ISVCloudCredentialsManagement"], "description": "Add the user credentials for the ISV role used to connect to the cloud service provider.
Required role: isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "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.
Required role: isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services": { "get": { "tags": ["Service"], "description": "List all deployed services by a user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } }, "post": { "tags": ["Service"], "description": "Start a task to deploy service using registered service template.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/services/migration": { "post": { "tags": ["Migration"], "description": "Create a job to migrate the deployed service.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "type": "string", "format": "uuid" } } } } } } }, "/xpanse/service_templates": { "get": { "tags": ["ServiceVendor"], "description": "List service templates with query params.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "post": { "tags": ["ServiceVendor"], "description": "Register new service template using ocl model.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/service/policies": { "get": { "tags": ["ServicePoliciesManagement"], "description": "List the policies belongs to the service.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServicePolicy" } } } } } } }, "post": { "tags": ["ServicePoliciesManagement"], "description": "Add policy for the registered service template.
Required role: admin or isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } } }, "/xpanse/policies": { "get": { "tags": ["UserPoliciesManagement"], "description": "List the policies defined by the user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserPolicy" } } } } } } }, "post": { "tags": ["UserPoliciesManagement"], "description": "Add policy created by the user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } } }, "/xpanse/workflow/tasks": { "get": { "tags": ["Workflow"], "description": "Query all tasks of the given user
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" } } } } } } }, "delete": { "tags": ["ServiceStatusManagement"], "description": "Delete all state management tasks of the service.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/{serviceId}/modifications": { "get": { "tags": ["ServiceModification"], "description": "List modification audits of the service instance
Required role: admin or user", "operationId": "listServiceModificationAudits", "parameters": [ { "name": "serviceId", "in": "path", "description": "id of the service", "required": true, "schema": { "type": "string" } }, { "name": "taskStatus", "in": "query", "description": "status of the modification", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceModificationAuditDetails" } } } } } } }, "delete": { "tags": ["ServiceModification"], "description": "Delete all state management modifications of the service.
Required role: admin or user", "operationId": "deleteAuditsByServiceId", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/tasks/{taskId}": { "get": { "tags": ["ServiceStatusManagement"], "description": "Get state management task details by the task id.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceStateManagementTaskDetails" } } } } } }, "delete": { "tags": ["ServiceStatusManagement"], "description": "Delete service state management task by the task id.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/modifications/{modificationId}": { "get": { "tags": ["ServiceModification"], "description": "Get modification audit details by the modification id.
Required role: admin or user", "operationId": "getAuditDetailsByModificationId", "parameters": [ { "name": "modificationId", "in": "path", "description": "id of the modification audit", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceModificationAuditDetails" } } } } } }, "delete": { "tags": ["ServiceModification"], "description": "Delete service modification audit by the modification id.
Required role: admin or user", "operationId": "deleteAuditByModificationId", "parameters": [ { "name": "modificationId", "in": "path", "description": "id of the modification audit", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/migrations": { "get": { "tags": ["Migration"], "description": "List all services migration by a user.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceMigrationDetails" } } } } } } }, "/xpanse/services/isv": { "get": { "tags": ["Service"], "description": "List all deployed services by a user.
Required role: isv", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/isv/details/vendor_hosted/{id}": { "get": { "tags": ["Service"], "description": "Get deployed service details by id.
Required role: isv", "operationId": "getServiceDetailsByIdForIsv", "parameters": [ { "name": "id", "in": "path", "description": "Task id of deployed service", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedServiceDetails" } } } } } } }, "/xpanse/services/details": { "get": { "tags": ["Service"], "description": "List all deployed services details.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/details/vendor_hosted/{id}": { "get": { "tags": ["Service"], "description": "Get deployed service details by id.
Required role: admin or user", "operationId": "getVendorHostedServiceDetailsById", "parameters": [ { "name": "id", "in": "path", "description": "Task id of deployed service", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VendorHostedDeployedServiceDetails" } } } } } } }, "/xpanse/services/details/self_hosted/{id}": { "get": { "tags": ["Service"], "description": "Get deployed service details by id.
Required role: admin or user", "operationId": "getSelfHostedServiceDetailsById", "parameters": [ { "name": "id", "in": "path", "description": "Task id of deployed service", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedServiceDetails" } } } } } } }, "/xpanse/service/deployment/status": { "get": { "tags": ["Status Updates"], "description": "Long-polling method to get the latest service deployment or service update status.", "operationId": "getLatestServiceDeploymentStatus", "parameters": [ { "name": "id", "in": "query", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeploymentStatusUpdate" } } } } } } }, "/xpanse/pricing/{templateId}/{region}/{billingMode}/{flavorName}": { "get": { "tags": ["ServicePrices"], "description": "Get the price of one specific flavor of the service.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or csp or isv or user", "operationId": "healthCheck", "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemStatus" } } } } } } }, "/xpanse/csps/active": { "get": { "tags": ["Admin"], "description": "List cloud service providers with active plugin.
Required role: admin or csp or isv or user", "operationId": "getActiveCsps", "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or csp", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or csp", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/csp/resources/{deployResourceKind}": { "get": { "tags": ["CloudResources"], "description": "List existing cloud resource names with kind
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/xpanse/csp/region/azs": { "get": { "tags": ["Service"], "description": "Get availability zones with csp and region.
Required role: admin or csp or isv or user", "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": "id of the deployed service", "required": false, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: isv or admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: isv or admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: isv or admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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.
Required role: admin or isv or user", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK", "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" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "200": { "description": "OK" } } } }, "/xpanse/services/{id}": { "delete": { "tags": ["Service"], "description": "Start a task to destroy the deployed service using id.
Required role: admin or user", "operationId": "destroy", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } } } } }, "/xpanse/services/purge/{id}": { "delete": { "tags": ["Service"], "description": "Start a task to purge the deployed service using id.
Required role: admin or user", "operationId": "purge", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Response" } } } } } } } }, "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", "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 Modification Audit Not Found", "Service Price Calculation Failed", "Invalid Git Repo Details" ] }, "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" } } }, "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": "Variable 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": "Impact on service when flavor is changed." }, "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." } } }, "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." }, "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." } } }, "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 resource list of the service before this modification." }, "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/ServiceModificationAuditDetails" } } }, "ServiceModificationAuditDetails": { "required": [ "newDeployRequest", "previousDeployRequest", "serviceId", "serviceModificationRequestId", "taskStatus" ], "type": "object", "properties": { "serviceModificationRequestId": { "type": "string", "description": "The id of the service modification request.", "format": "uuid" }, "serviceId": { "type": "string", "description": "The id of the deployed service.", "format": "uuid" }, "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" }, "previousDeployRequest": { "$ref": "#/components/schemas/DeployRequest" }, "newDeployRequest": { "$ref": "#/components/schemas/DeployRequest" }, "previousDeployedResources": { "type": "array", "description": "The deployed resource list of the service before this modification.", "items": { "$ref": "#/components/schemas/DeployResource" } }, "previousDeployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed service before this modification." }, "description": "The properties of the deployed service before this modification." }, "previousDeployedResultProperties": { "type": "object", "additionalProperties": { "type": "string", "description": "The properties of the deployed result before this modification." }, "description": "The properties of the deployed result before this modification." } }, "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." }, "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/ServiceModificationAuditDetails" }, "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/ServiceModificationAuditDetails" }, "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." } } }, "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" } } }, "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." } } } } } } }