{ "openapi": "3.1.0", "info": { "title": "XpanseAPI", "description": "RESTful Services to interact with Xpanse runtime.", "version": "1.0.27-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": "AgentApis", "description": "APIs for agent to poll pending service change requests." }, { "name": "ServiceOrders", "description": "APIs to manage orders of services" }, { "name": "CredentialsConfiguration", "description": "APIs Viewing Cloud Credentials Configuration" }, { "name": "CloudResources", "description": "API to view cloud resources by type" }, { "name": "ServiceObjects", "description": "APIs for managing service's objects." }, { "name": "Service", "description": "APIs to manage the services" }, { "name": "ServiceCatalog", "description": "APIs to query the services which are available for the user to order." }, { "name": "UserPoliciesManagement", "description": "APIs for managing user's infra policies." }, { "name": "Admin", "description": "APIs for administrating Xpanse" }, { "name": "Workflow", "description": "APIs to manage the Workflow" }, { "name": "ServicePrices", "description": "API to manage prices of the flavors of the service." }, { "name": "ServiceStatusManagement", "description": "APIs to manage status of the service instances" }, { "name": "ISVCloudCredentialsManagement", "description": "APIs for managing isv's cloud provider credentials" }, { "name": "ServiceActions", "description": "APIs for Service Actions." }, { "name": "ServicePoliciesManagement", "description": "APIs for managing service's infra policies." }, { "name": "ServiceChangeDetails", "description": "APIs for Service Change Details." }, { "name": "ServicePorting", "description": "APIs to manage the service porting." }, { "name": "ServiceVendor", "description": "APIs to manage service templates." }, { "name": "UserCloudCredentialsManagement", "description": "APIs for managing user's cloud provider credentials" }, { "name": "ServiceConfiguration", "description": "APIs for managing service's configuration." }, { "name": "Monitor", "description": "APIs for getting metrics of deployed services." } ], "paths": { "/xpanse/workflow/task/{taskId}": { "put": { "tags": ["Workflow"], "description": "Manage failed task orders.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "manageFailedOrder", "parameters": [ { "name": "taskId", "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": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK" } } } }, "/xpanse/workflow/complete/task/{taskId}": { "put": { "tags": ["Workflow"], "description": "Complete tasks by task ID and set global process variables .\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "completeTask", "parameters": [ { "name": "taskId", "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": {} } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK" } } } }, "/xpanse/user/credentials": { "get": { "tags": ["UserCloudCredentialsManagement"], "description": "List all cloud provider credentials added by the user for a cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getUserCloudCredentials", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": false, "schema": { "$ref": "#/components/schemas/CredentialType" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AbstractCredentialInfo" } } } } } } }, "put": { "tags": ["UserCloudCredentialsManagement"], "description": "Update user's credential for connecting to the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "updateUserCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } }, "post": { "tags": ["UserCloudCredentialsManagement"], "description": "Add user's credential for connecting to the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "addUserCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } }, "delete": { "tags": ["UserCloudCredentialsManagement"], "description": "Delete user's credential for connecting to the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteUserCloudCredential", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "siteName", "in": "query", "description": "The site of the provider.", "required": true, "schema": { "type": "string" } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": true, "schema": { "$ref": "#/components/schemas/CredentialType" } }, { "name": "name", "in": "query", "description": "The name of credential.", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/stop/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to stop the service instance.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "stopService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/start/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to start the service instance.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "startService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/restart/{serviceId}": { "put": { "tags": ["ServiceStatusManagement"], "description": "Start a task to restart the service instance.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "restartService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/recreate/{serviceId}": { "put": { "tags": ["Service"], "description": "Create a job to recreate the deployed service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "recreateService", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/object/{serviceId}/{objectId}": { "put": { "tags": ["ServiceObjects"], "description": "Create an order to update service object using object id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "updateServiceObject", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "objectId", "in": "path", "description": "The id of the service object.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceObjectRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } }, "delete": { "tags": ["ServiceObjects"], "description": "Create an order to update service object using object id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteServiceObject", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "objectId", "in": "path", "description": "The id of the service object.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/modify/{serviceId}": { "put": { "tags": ["Service"], "description": "Create an order task to modify the deployed service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "modify", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModifyRequest" } } }, "required": true }, "responses": { "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "502": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "408": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/deploy/retry/{serviceId}": { "put": { "tags": ["Service"], "description": "Create an order to redeploy the failed service using service id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "redeployFailedDeployment", "parameters": [ { "name": "serviceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "502": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "408": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/config/{serviceId}": { "put": { "tags": ["ServiceConfiguration"], "description": "Update the service's configuration to the registered service template.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "changeServiceConfiguration", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceConfigurationUpdate" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/changelock/{serviceId}": { "put": { "tags": ["Service"], "description": "Change the lock config of the service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "changeServiceLockConfig", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceLockConfig" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/action/{serviceId}": { "put": { "tags": ["ServiceActions"], "description": "Create Service Actions.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "createServiceAction", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceActionRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/service_templates/{serviceTemplateId}": { "get": { "tags": ["ServiceVendor"], "description": "Get service template using id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getServiceTemplateDetailsById", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } }, "put": { "tags": ["ServiceVendor"], "description": "Updates an existing service template using Ocl model. When the request is approved, the updated service template will be published to catalog.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "update", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "isUnpublishUntilApproved", "in": "query", "description": "If true, the old service template is also removed from catalog until the updated one is reviewed and approved.", "required": true, "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ocl" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestInfo" } } } } } }, "delete": { "tags": ["ServiceVendor"], "description": "Delete service template not in catalog using id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteServiceTemplate", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/unpublish/{serviceTemplateId}": { "put": { "tags": ["ServiceVendor"], "description": "Remove the service template from catalog.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "unpublish", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestInfo" } } } } } } }, "/xpanse/service_templates/requests/cancel/{requestId}": { "put": { "tags": ["ServiceVendor"], "description": "Cancel service template request using request id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "cancelServiceTemplateRequestByRequestId", "parameters": [ { "name": "requestId", "in": "path", "description": "id of service template request", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/service_templates/republish/{serviceTemplateId}": { "put": { "tags": ["ServiceVendor"], "description": "Publishes the same service template to catalog again.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "republish", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestInfo" } } } } } } }, "/xpanse/service_templates/file/{serviceTemplateId}": { "put": { "tags": ["ServiceVendor"], "description": "Updates an existing service template using URL of Ocl file. When the request is approved, the updated service template will be published to catalog.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "fetchUpdate", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "isUnpublishUntilApproved", "in": "query", "description": "If true, the old service template is also removed from catalog until the updated one is reviewed and approved.", "required": true, "schema": { "type": "boolean" } }, { "name": "oclLocation", "in": "query", "description": "URL of Ocl file", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestInfo" } } } } } } }, "/xpanse/service/policies/{servicePolicyId}": { "get": { "tags": ["ServicePoliciesManagement"], "description": "Get details of policy belongs to the registered service template.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getServicePolicyDetails", "parameters": [ { "name": "servicePolicyId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } }, "put": { "tags": ["ServicePoliciesManagement"], "description": "Update the policy belongs to the registered service template.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "updateServicePolicy", "parameters": [ { "name": "servicePolicyId", "in": "path", "description": "ID of the policy to be updated", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicyUpdateRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } }, "delete": { "tags": ["ServicePoliciesManagement"], "description": "Delete the policy belongs to the registered service template.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteServicePolicy", "parameters": [ { "name": "servicePolicyId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/policies/{userPolicyId}": { "get": { "tags": ["UserPoliciesManagement"], "description": "Get the details of the policy created by the user.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getPolicyDetails", "parameters": [ { "name": "userPolicyId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } }, "put": { "tags": ["UserPoliciesManagement"], "description": "Update the policy created by the user.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "updateUserPolicy", "parameters": [ { "name": "userPolicyId", "in": "path", "description": "id of the policy created by user to be updated", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicyUpdateRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicy" } } } } } }, "delete": { "tags": ["UserPoliciesManagement"], "description": "Delete the policy created by the user.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteUserPolicy", "parameters": [ { "name": "userPolicyId", "in": "path", "description": "id of the policy created by user to be updated", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/isv/credentials": { "get": { "tags": ["ISVCloudCredentialsManagement"], "description": "Users in the ISV role get all cloud provider credentials added by the user for a cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getIsvCloudCredentials", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": false, "schema": { "$ref": "#/components/schemas/CredentialType" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AbstractCredentialInfo" } } } } } } }, "put": { "tags": ["ISVCloudCredentialsManagement"], "description": "Update the user credentials used for ISV to connect to the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "updateIsvCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } }, "post": { "tags": ["ISVCloudCredentialsManagement"], "description": "Add the user credentials for the ISV role used to connect to the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "addIsvCloudCredential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredential" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } }, "delete": { "tags": ["ISVCloudCredentialsManagement"], "description": "Delete the credentials of the user in the USER role to connect to the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteIsvCloudCredential", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "siteName", "in": "query", "description": "The site of the provider.", "required": true, "schema": { "type": "string" } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": true, "schema": { "$ref": "#/components/schemas/CredentialType" } }, { "name": "name", "in": "query", "description": "The name of credential.", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/csp/service_templates/requests/review/{requestId}": { "put": { "tags": ["CloudServiceProvider"], "description": "Submit review result for a service template request.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E \u003C/br\u003E", "operationId": "reviewServiceTemplateRequest", "parameters": [ { "name": "requestId", "in": "path", "description": "id of service template request", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewServiceTemplateRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/agent/xpanse/update/status/{changeId}": { "put": { "tags": ["AgentApis"], "description": "Update service change result for agents.", "operationId": "updateServiceChangeResult", "parameters": [ { "name": "changeId", "in": "path", "description": "id of the update request.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceChangeResult" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services": { "get": { "tags": ["Service"], "description": "List all deployed services belongs to the user.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllDeployedServices", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "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": { "$ref": "#/components/schemas/ServiceDeploymentState" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } }, "post": { "tags": ["Service"], "description": "Create an order task to deploy new service using approved service template.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "deploy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployRequest" } } }, "required": true }, "responses": { "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "502": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "408": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/porting": { "post": { "tags": ["ServicePorting"], "description": "Create a job to port the deployed service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "port", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePortingRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/object/{serviceId}/{objectType}": { "post": { "tags": ["ServiceObjects"], "description": "Create an order to create object for the service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "createServiceObject", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "objectType", "in": "path", "description": "The action type to the service object.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceObjectRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/service_templates": { "get": { "tags": ["ServiceVendor"], "description": "List service templates with query params.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllServiceTemplatesByIsv", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "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": { "$ref": "#/components/schemas/ServiceHostingType" } }, { "name": "serviceTemplateRegistrationState", "in": "query", "description": "state of service template registration", "required": false, "schema": { "$ref": "#/components/schemas/ServiceTemplateRegistrationState" } }, { "name": "isAvailableInCatalog", "in": "query", "description": "is available in catalog", "required": false, "schema": { "type": "boolean" } }, { "name": "isReviewInProgress", "in": "query", "description": "is any request in review progress", "required": false, "schema": { "type": "boolean" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "post": { "tags": ["ServiceVendor"], "description": "Submits a new service template using Ocl model. When the request is approved, the service template will be published to catalog.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "register", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ocl" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestInfo" } } } } } } }, "/xpanse/service_templates/file": { "post": { "tags": ["ServiceVendor"], "description": "Submits a new service template using URL of Ocl file. When the request is approved, the service template will be published to catalog.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "fetch", "parameters": [ { "name": "oclLocation", "in": "query", "description": "URL of Ocl file", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestInfo" } } } } } } }, "/xpanse/service/policies": { "get": { "tags": ["ServicePoliciesManagement"], "description": "List the policies belongs to the service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllServicePolicies", "parameters": [ { "name": "serviceTemplateId", "in": "query", "description": "The id of service template which the policy belongs to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServicePolicy" } } } } } } }, "post": { "tags": ["ServicePoliciesManagement"], "description": "Add policy for the registered service template.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "addServicePolicy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicyCreateRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePolicy" } } } } } } }, "/xpanse/policies": { "get": { "tags": ["UserPoliciesManagement"], "description": "List the policies defined by the user.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllUserPolicies", "parameters": [ { "name": "cspName", "in": "query", "description": "Name of csp which the policy belongs to.", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "enabled", "in": "query", "description": "Is the policy enabled.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserPolicy" } } } } } } }, "post": { "tags": ["UserPoliciesManagement"], "description": "Add policy created by the user.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "addUserPolicy", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPolicyCreateRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "queryTasks", "parameters": [ { "name": "status", "in": "query", "description": "the status of task", "required": false, "schema": { "$ref": "#/components/schemas/WorkFlowTaskStatus" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WorkFlowTask" } } } } } } } }, "/xpanse/stack/health": { "get": { "tags": ["Admin"], "description": "Check health of API service and backend systems.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E \u003C/br\u003E", "operationId": "stackHealthStatus", "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StackStatus" } } } } } } }, "/xpanse/services/{serviceId}/service_template": { "get": { "tags": ["Service"], "description": "Get service template details by service id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getOrderableServiceDetailsByServiceId", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of deployed service.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserOrderableServiceVo" } } } } } } }, "/xpanse/services/{serviceId}/resources/compute": { "get": { "tags": ["Service"], "description": "List compute resources of the service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getComputeResourceInventoryOfService", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployResource" } } } } } } } }, "/xpanse/services/{serviceId}/orders": { "get": { "tags": ["ServiceOrders"], "description": "List service orders of the service\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllOrdersByServiceId", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskType", "in": "query", "description": "Task type of the service order.", "required": false, "schema": { "$ref": "#/components/schemas/ServiceOrderType" } }, { "name": "orderStatus", "in": "query", "description": "Task status of the service order", "required": false, "schema": { "$ref": "#/components/schemas/OrderStatus" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceOrderDetails" } } } } } } }, "delete": { "tags": ["ServiceOrders"], "description": "Delete all service orders of the service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteOrdersByServiceId", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/{serviceId}/deployment/status": { "get": { "tags": ["Service"], "description": "Long-polling method to get the latest service deployment or service update status.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getLatestServiceDeploymentStatus", "parameters": [ { "name": "serviceId", "in": "path", "description": "ID of the service", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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": { "$ref": "#/components/schemas/ServiceDeploymentState" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeploymentStatusUpdate" } } } } } } }, "/xpanse/services/orders/{orderId}": { "get": { "tags": ["ServiceOrders"], "description": "Get details of the service order by the order id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getOrderDetailsByOrderId", "parameters": [ { "name": "orderId", "in": "path", "description": "Id of the service order", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrderDetails" } } } } } }, "delete": { "tags": ["ServiceOrders"], "description": "Delete the service order by the order id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "deleteOrderByOrderId", "parameters": [ { "name": "orderId", "in": "path", "description": "Id of the service order", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "No Content" } } } }, "/xpanse/services/orders/{orderId}/status": { "get": { "tags": ["ServiceOrders"], "description": "Long-polling method to get the latest or updated task status of the service order.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getLatestServiceOrderStatus", "parameters": [ { "name": "orderId", "in": "path", "description": "Id of the service order", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "lastKnownServiceDeploymentState", "in": "query", "description": "Last known service order task status to client. When provided, the service will wait for a configured period time until to see if there is a change to the last known state.", "required": false, "schema": { "$ref": "#/components/schemas/OrderStatus" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrderStatusUpdate" } } } } } } }, "/xpanse/services/objects/{serviceId}": { "get": { "tags": ["ServiceObjects"], "description": "Get all objects of the service grouped by type.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getObjectsByServiceId", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceObjectDetails" } } } } } } } } }, "/xpanse/services/isv": { "get": { "tags": ["Service"], "description": "List services of an ISV deployed by users. \u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllDeployedServicesByIsv", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "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": { "$ref": "#/components/schemas/ServiceDeploymentState" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/isv/details/vendor_hosted/{serviceId}": { "get": { "tags": ["Service"], "description": "Get the details of the deployed service by service id.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getServiceDetailsByIdForIsv", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedServiceDetails" } } } } } } }, "/xpanse/services/details": { "get": { "tags": ["Service"], "description": "List details of deployed services using parameters.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllDeployedServicesWithDetails", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "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": { "$ref": "#/components/schemas/ServiceDeploymentState" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/details/vendor_hosted/{serviceId}": { "get": { "tags": ["Service"], "description": "Get deployed service details by serviceId.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getVendorHostedServiceDetailsById", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VendorHostedDeployedServiceDetails" } } } } } } }, "/xpanse/services/details/self_hosted/{serviceId}": { "get": { "tags": ["Service"], "description": "Get details of the deployed service by id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getSelfHostedServiceDetailsById", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedServiceDetails" } } } } } } }, "/xpanse/services/csp": { "get": { "tags": ["Service"], "description": "List of services deployed on a cloud provider.\u003Cbr\u003E Required role: \u003Cb\u003Ecsp\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllDeployedServicesByCsp", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "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": { "$ref": "#/components/schemas/ServiceDeploymentState" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedService" } } } } } } } }, "/xpanse/services/change/requests": { "get": { "tags": ["ServiceChangeDetails"], "description": "List service's change details Request.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getServiceChangeRequestDetails", "parameters": [ { "name": "serviceId", "in": "query", "description": "Id of the deployed service", "required": true, "schema": { "type": "string" } }, { "name": "orderId", "in": "query", "description": "id of the service order", "required": false, "schema": { "type": "string" } }, { "name": "resourceName", "in": "query", "description": "name of the service resource", "required": false, "schema": { "type": "string" } }, { "name": "configManager", "in": "query", "description": "Manager of the service configuration parameter.", "required": false, "schema": { "type": "string" } }, { "name": "status", "in": "query", "description": "Status of the service configuration", "required": false, "schema": { "$ref": "#/components/schemas/ServiceChangeStatus" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceChangeOrderDetails" } } } } } } } }, "/xpanse/service_templates/{serviceTemplateId}/requests": { "get": { "tags": ["ServiceVendor"], "description": "Get service template requests using id of service template. The returned requests is sorted in descending order according to the requested time.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getServiceTemplateRequestHistoryForIsv", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "requestType", "in": "query", "description": "type of service template request", "required": false, "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestType" } }, { "name": "requestStatus", "in": "query", "description": "status of service template request", "required": false, "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestStatus" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateRequestHistory" } } } } } } } }, "/xpanse/service_templates/requests/{requestId}": { "get": { "tags": ["ServiceVendor"], "description": "Get requested service template request using request id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E \u003C/br\u003E", "operationId": "getRequestedServiceTemplateByRequestId", "parameters": [ { "name": "requestId", "in": "path", "description": "id of service template request", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ocl" } } } } } } }, "/xpanse/service/current/config/{serviceId}": { "get": { "tags": ["ServiceConfiguration"], "description": "Query the service's current configuration by id of the deployed service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getCurrentConfigurationOfService", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceConfigurationDetails" } } } } } } }, "/xpanse/pricing/{serviceTemplateId}/{regionName}/{siteName}/{billingMode}/{flavorName}": { "get": { "tags": ["ServicePrices"], "description": "Get the price of one specific flavor of the service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getServicePriceByFlavor", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of the service template", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "regionName", "in": "path", "description": "region name of the service", "required": true, "schema": { "type": "string" } }, { "name": "siteName", "in": "path", "description": "site name of the region belongs to", "required": true, "schema": { "type": "string" } }, { "name": "billingMode", "in": "path", "description": "mode of billing", "required": true, "schema": { "$ref": "#/components/schemas/BillingMode" } }, { "name": "flavorName", "in": "path", "description": "flavor name of the service", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FlavorPriceResult" } } } } } } }, "/xpanse/pricing/service/{serviceTemplateId}/{regionName}/{siteName}/{billingMode}": { "get": { "tags": ["ServicePrices"], "description": "Get the prices of all flavors of the service\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getPricesByService", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of the service template", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "regionName", "in": "path", "description": "region name of the service", "required": true, "schema": { "type": "string" } }, { "name": "siteName", "in": "path", "description": "site name of the region belongs to", "required": true, "schema": { "type": "string" } }, { "name": "billingMode", "in": "path", "description": "mode of billing", "required": true, "schema": { "$ref": "#/components/schemas/BillingMode" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FlavorPriceResult" } } } } } } } }, "/xpanse/metrics": { "get": { "tags": ["Monitor"], "description": "Get metrics of a deployed service or a resource.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getMetrics", "parameters": [ { "name": "serviceId", "in": "query", "description": "Id of the deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "resourceId", "in": "query", "description": "Id of resource in the deployed service", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "monitorResourceType", "in": "query", "description": "Types of the monitor resource.", "required": false, "schema": { "$ref": "#/components/schemas/MonitorResourceType" } }, { "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": { "type": "integer", "format": "int64", "minimum": 0 } }, { "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": { "type": "integer", "format": "int64", "minimum": 0 } }, { "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": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Metric" } } } } } } } }, "/xpanse/health": { "get": { "tags": ["Admin"], "description": "Check only health status of API service and backend systems.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "healthCheck", "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemStatus" } } } } } } }, "/xpanse/csps/{cspName}/sites": { "get": { "tags": ["CredentialsConfiguration"], "description": "List the sites of the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getSitesOfCsp", "parameters": [ { "name": "cspName", "in": "path", "description": "The cloud service provider", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/xpanse/csps/active": { "get": { "tags": ["Admin"], "description": "List cloud service providers with active plugin.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getActiveCsps", "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Csp" } } } } } } } }, "/xpanse/csp/service_templates": { "get": { "tags": ["CloudServiceProvider"], "description": "List managed service templates with query params.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E \u003C/br\u003E", "operationId": "getAllServiceTemplates", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "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": { "$ref": "#/components/schemas/ServiceHostingType" } }, { "name": "serviceTemplateRegistrationState", "in": "query", "description": "state of service template registration", "required": false, "schema": { "$ref": "#/components/schemas/ServiceTemplateRegistrationState" } }, { "name": "isAvailableInCatalog", "in": "query", "description": "is available in catalog", "required": false, "schema": { "type": "boolean" } }, { "name": "isReviewInProgress", "in": "query", "description": "is any request in review progress", "required": false, "schema": { "type": "boolean" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } } }, "/xpanse/csp/service_templates/{serviceTemplateId}": { "get": { "tags": ["CloudServiceProvider"], "description": "view service template by id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E \u003C/br\u003E", "operationId": "getServiceTemplateDetails", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceTemplateDetailVo" } } } } } } }, "/xpanse/csp/service_templates/{serviceTemplateId}/requests": { "get": { "tags": ["CloudServiceProvider"], "description": "Get service template requests using id of service template. The returned requests is sorted in descending order according to the requested time.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E \u003C/br\u003E", "operationId": "getServiceTemplateRequestHistoryForCsp", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "id of service template", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "requestType", "in": "query", "description": "type of service template request", "required": false, "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestType" } }, { "name": "requestStatus", "in": "query", "description": "status of service template request", "required": false, "schema": { "$ref": "#/components/schemas/ServiceTemplateRequestStatus" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateRequestHistory" } } } } } } } }, "/xpanse/csp/service_templates/requests/pending": { "get": { "tags": ["CloudServiceProvider"], "description": "Get service template requests pending to review.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E \u003C/br\u003E", "operationId": "getPendingServiceReviewRequests", "parameters": [ { "name": "serviceTemplateId", "in": "query", "description": "id of service template", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceTemplateRequestToReview" } } } } } } } }, "/xpanse/csp/resources/{deployResourceKind}": { "get": { "tags": ["CloudResources"], "description": "List existing cloud resource names with kind\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getExistingResourceNamesWithKind", "parameters": [ { "name": "csp", "in": "query", "description": "name of the cloud service provider", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "siteName", "in": "query", "description": "the site of the service belongs to", "required": true, "schema": { "type": "string" } }, { "name": "regionName", "in": "query", "description": "name of the region", "required": true, "schema": { "type": "string" } }, { "name": "deployResourceKind", "in": "path", "description": "kind of the CloudResource", "required": true, "schema": { "$ref": "#/components/schemas/DeployResourceKind" } }, { "name": "serviceId", "in": "query", "description": "id of the deployed service", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/xpanse/csp/region/azs": { "get": { "tags": ["Service"], "description": "Get availability zones with csp and region.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Ecsp\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getAvailabilityZones", "parameters": [ { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "siteName", "in": "query", "description": "site of the region belongs to", "required": true, "schema": { "type": "string" } }, { "name": "regionName", "in": "query", "description": "name of the region", "required": true, "schema": { "type": "string" } }, { "name": "serviceTemplateId", "in": "query", "description": "Id of the serviceTemplate", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "serviceId", "in": "query", "description": "Id of the deployed service", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/xpanse/credentials/openapi/{csp}/{type}": { "get": { "tags": ["CredentialsConfiguration"], "description": "Returns the OpenAPI document for adding a credential.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getCredentialOpenApi", "parameters": [ { "name": "csp", "in": "path", "description": "The cloud service provider.", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "type", "in": "path", "description": "The type of credential.", "required": true, "schema": { "$ref": "#/components/schemas/CredentialType" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Link" } } } } } } }, "/xpanse/credentials/capabilities": { "get": { "tags": ["CredentialsConfiguration"], "description": "List the credential capabilities defined by the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getCredentialCapabilities", "parameters": [ { "name": "cspName", "in": "query", "description": "name of the cloud service provider.", "required": true, "schema": { "$ref": "#/components/schemas/Csp" } }, { "name": "type", "in": "query", "description": "The type of credential.", "required": false, "schema": { "$ref": "#/components/schemas/CredentialType" } }, { "name": "name", "in": "query", "description": "The name of credential.", "required": false, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AbstractCredentialInfo" } } } } } } } }, "/xpanse/credential_types": { "get": { "tags": ["CredentialsConfiguration"], "description": "List the credential types supported by the cloud service provider.\u003Cbr\u003E Required role: \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getCredentialTypes", "parameters": [ { "name": "cspName", "in": "query", "description": "The cloud service provider.", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CredentialType" } } } } } } } }, "/xpanse/catalog/services": { "get": { "tags": ["ServiceCatalog"], "description": "List of all approved services which are available for user to order.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getOrderableServices", "parameters": [ { "name": "categoryName", "in": "query", "description": "category of the service", "required": false, "schema": { "$ref": "#/components/schemas/Category" } }, { "name": "cspName", "in": "query", "description": "name of the cloud service provider", "required": false, "schema": { "$ref": "#/components/schemas/Csp" } }, { "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": { "$ref": "#/components/schemas/ServiceHostingType" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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/{serviceTemplateId}": { "get": { "tags": ["ServiceCatalog"], "description": "Get deployable service by id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "getOrderableServiceDetailsById", "parameters": [ { "name": "serviceTemplateId", "in": "path", "description": "The id of orderable service.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserOrderableServiceVo" } } } } } } }, "/xpanse/catalog/services/{serviceTemplateId}/openapi": { "get": { "tags": ["ServiceCatalog"], "description": "Get the API document of the orderable service.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Eisv\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "openApi", "parameters": [ { "name": "serviceTemplateId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "OK" } } } }, "/agent/xpanse/poll/{serviceId}/{resourceName}": { "get": { "tags": ["AgentApis"], "description": "Get pending service change request for agents to poll.", "operationId": "getPendingServiceChangeRequest", "parameters": [ { "name": "serviceId", "in": "path", "description": "The id of the deployed service", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "resourceName", "in": "path", "description": "The name of the resource of deployed service", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "408": { "description": "Request Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "204": { "description": "no pending service change update requests" }, "200": { "description": "pending service change update request details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceChangeRequest" } } } } } } }, "/xpanse/services/{serviceId}": { "delete": { "tags": ["Service"], "description": "Create an order task to destroy the deployed service using id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "destroy", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "502": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "408": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } }, "/xpanse/services/purge/{serviceId}": { "delete": { "tags": ["Service"], "description": "Create an order task to purge the deployed service using service id.\u003Cbr\u003E Required role: \u003Cb\u003Eadmin\u003C/b\u003E or \u003Cb\u003Euser\u003C/b\u003E \u003C/br\u003E", "operationId": "purge", "parameters": [ { "name": "serviceId", "in": "path", "description": "Id of the service", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "403": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "502": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "408": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderFailedErrorResponse" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOrder" } } } } } } } }, "components": { "schemas": { "ErrorResponse": { "type": "object", "properties": { "errorType": { "$ref": "#/components/schemas/ErrorType", "description": "The result code of response." }, "details": { "type": "array", "description": "Details of the errors occurred", "items": { "type": "string" }, "minItems": 1 } }, "required": ["details", "errorType"] }, "ErrorType": { "type": "string", "enum": [ "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", "Invalid Service Deployment State", "Resource Invalid For Monitoring", "Unhandled Exception", "Icon Processing Failed", "Service Template Not Registered", "Service Template Unavailable", "Service Template Request Not Allowed", "Service Template Request Not Found", "Review Service Template Request Not Allowed", "Invalid Service Version", "Invalid Service Flavors", "Mandatory Value Missing", "Invalid Billing Config", "Unavailable Service Regions", "Service Deployment Not Found", "Resource Not Found", "Deployment Variable Invalid", "Unauthorized", "Access Denied", "Sensitive Field Encryption Or Decryption Failed Exception", "Unsupported Enum Value", "Terra 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", "Service Porting Activiti Task Not Found", "Service Porting Failed Exception", "Service Porting Not Found", "Service Locked", "Eula Not Accepted", "Service Flavor Downgrade Not Allowed", "Billing Mode Not Supported", "Service State Management Task Not Found", "Service Order Not Found", "Service Price Calculation Failed", "Invalid Git Repo Details", "File Locked", "Service Configuration Invalid", "Service Configuration Update Request Not Found", "Service Configuration Not Found", "Invalid Deployer Tool", "Deployment Scripts Creation Failed", "Async Start Service Error", "Async Stop Service Error", "Async Restart Service Error", "Deployment Failed Exception", "Destroy Failed Exception", "Service Action Invalid", "Service Change Request Failed", "Service Configuration Change Order Already Exists", "Service Action Change Order Already Exists", "Invalid Service Object Request", "Service Object Not Found", "Service Object Change Order Already Exists" ] }, "CreateCredential": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the credential", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The cloud service provider of the credential." }, "site": { "type": "string", "description": "The site to which the credentials belong to.", "minLength": 1 }, "description": { "type": "string", "description": "The description of the credential" }, "type": { "$ref": "#/components/schemas/CredentialType", "description": "The type of the credential" }, "variables": { "type": "array", "description": "The variables list of the credential. The list elements must be unique.", "items": { "$ref": "#/components/schemas/CredentialVariable" }, "minItems": 1 }, "timeToLive": { "type": "integer", "format": "int32", "default": 3600, "description": "The time in seconds to live of the credential" } }, "required": ["csp", "name", "site", "timeToLive", "type", "variables"] }, "CredentialType": { "type": "string", "enum": ["variables", "http_authentication", "api_key", "oauth2"] }, "CredentialVariable": { "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", "default": true, "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." }, "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.", "minLength": 1 } }, "required": ["description", "isSensitive", "name", "value"] }, "Csp": { "type": "string", "enum": [ "HuaweiCloud", "FlexibleEngine", "OpenstackTestlab", "PlusServer", "RegioCloud", "AlibabaCloud", "aws", "azure", "GoogleCloudPlatform" ] }, "ServiceOrder": { "type": "object", "properties": { "orderId": { "type": "string", "format": "uuid", "description": "The id of the service order." }, "serviceId": { "type": "string", "format": "uuid", "description": "The id of the deployed service." } }, "required": ["orderId", "serviceId"] }, "ServiceObjectRequest": { "type": "object", "properties": { "objectIdentifier": { "type": "string", "description": "The name of service object identifier.", "maxLength": 2147483647, "minLength": 1 }, "linkedObjects": { "type": "array", "description": "The collection of dependent object IDs.", "items": { "type": "string", "format": "uuid" } }, "serviceObjectParameters": { "type": "object", "additionalProperties": {}, "description": "The collection of service object parameter." } }, "required": ["objectIdentifier", "serviceObjectParameters"] }, "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" } } }, "OrderFailedErrorResponse": { "type": "object", "properties": { "errorType": { "$ref": "#/components/schemas/ErrorType", "description": "The result code of response." }, "details": { "type": "array", "description": "Details of the errors occurred", "items": { "type": "string" }, "minItems": 1 }, "serviceId": { "type": "string", "description": "The service id associated with the request." }, "orderId": { "type": "string", "description": "The order id associated with the request." } }, "required": ["details", "errorType"] }, "ServiceConfigurationUpdate": { "type": "object", "properties": { "configuration": { "type": "object", "additionalProperties": true, "description": "The service configuration to be modified" } }, "required": ["configuration"] }, "ServiceLockConfig": { "type": "object", "properties": { "modifyLocked": { "type": "boolean" }, "destroyLocked": { "type": "boolean" } } }, "ServiceActionRequest": { "type": "object", "properties": { "actionName": { "type": "string", "description": "The name service action.", "maxLength": 2147483647, "minLength": 1 }, "actionParameters": { "type": "object", "additionalProperties": true, "description": "The service actions parameter to be modified" } }, "required": ["actionName", "actionParameters"] }, "AnsibleScriptConfig": { "type": "object", "properties": { "playbookName": { "type": "string", "description": "name of the ansible playbook. Should be the fully qualified file name (including the directory path) in the repo.", "examples": ["playbook-name.yml"], "minLength": 1 }, "virtualEnv": { "type": "string", "description": "Path where the virtualenv must be created.", "examples": ["/tmp/virtualEnv"], "minLength": 1 }, "pythonVersion": { "type": "string", "description": "Version of the python. This version of python must be available in node which is acting as the configManager.", "examples": ["3.10"], "minLength": 1 }, "isPrepareAnsibleEnvironment": { "type": "boolean", "description": "The agent will prepare the virtual environment if this true.Otherwise it is assumed that the environment is already prepared as part of the resource creation or the VM base image build." }, "repoUrl": { "type": "string", "description": "Url of the script repo.", "minLength": 1 }, "branch": { "type": "string", "description": "Branch of the git repo.", "minLength": 1 }, "requirementsFile": { "type": "string", "description": "the python module requirements file in GIT repo. Should be the fully qualified file name (including the directory path). ", "examples": ["modules/requirements.txt"], "minLength": 1 }, "galaxyFile": { "type": "string", "description": "Full path of the roles and collections requirements file in GIT repo.", "minLength": 1 }, "ansibleInventoryRequired": { "type": "boolean", "description": "Defines if the complete service inventory is necessary for running the ansible job." } }, "required": [ "branch", "galaxyFile", "isPrepareAnsibleEnvironment", "playbookName", "pythonVersion", "repoUrl", "requirementsFile", "virtualEnv" ] }, "AutoFill": { "type": "object", "properties": { "deployResourceKind": { "$ref": "#/components/schemas/DeployResourceKind", "description": "Type of the cloud resource to be reused." }, "isAllowCreate": { "type": "boolean", "description": " defines if the required cloud resource can be newly created or should the existing resources must only be used." } }, "required": ["deployResourceKind", "isAllowCreate"] }, "AvailabilityZoneConfig": { "type": "object", "properties": { "displayName": { "type": "string", "description": "The display name of availability zone.", "minLength": 1 }, "varName": { "type": "string", "description": "The variable name of availability zone.", "minLength": 1 }, "mandatory": { "type": "boolean", "description": "Indicates if the variable is mandatory." }, "description": { "type": "string", "description": "The description of availability zone." } }, "required": ["displayName", "mandatory", "varName"] }, "Billing": { "type": "object", "properties": { "billingModes": { "type": "array", "description": "Supported billing modes by the managed service. The list elements must be unique.", "items": { "$ref": "#/components/schemas/BillingMode" }, "minItems": 1 }, "defaultBillingMode": { "$ref": "#/components/schemas/BillingMode", "description": " This is used only for display purposes. When provided, this billingMode will be selected in the frontends by default." } }, "required": ["billingModes"] }, "BillingMode": { "type": "string", "enum": ["Fixed", "Pay per Use"] }, "Category": { "type": "string", "enum": [ "ai", "compute", "container", "storage", "network", "database", "mediaService", "security", "middleware", "others" ] }, "CloudServiceProvider": { "type": "object", "properties": { "name": { "$ref": "#/components/schemas/Csp", "description": "The Cloud Service Provider." }, "regions": { "type": "array", "description": "The regions of the Cloud Service Provider. The list elements must be unique.", "items": { "$ref": "#/components/schemas/Region" }, "minItems": 1 } }, "required": ["name", "regions"] }, "ConfigurationManagerTool": { "type": "string", "enum": ["ansible"] }, "Currency": { "type": "string", "enum": ["USD", "EUR", "CNY"] }, "DeployResourceKind": { "type": "string", "enum": [ "vm", "rds", "container", "publicIP", "vpc", "volume", "unknown", "security_group", "security_group_rule", "keypair", "subnet" ] }, "DeployerKind": { "type": "string", "enum": ["terraform", "opentofu", "helm"] }, "DeployerTool": { "type": "object", "properties": { "kind": { "$ref": "#/components/schemas/DeployerKind", "description": "The type of the deployer which will handle the service deployment." }, "version": { "type": "string", "description": "The version of the deployer which will handle the service deployment.", "minLength": 1, "pattern": "^(=|\u003E=|\u003C=)\\s*[vV]?\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$" } }, "required": ["kind", "version"] }, "Deployment": { "type": "object", "properties": { "deployerTool": { "$ref": "#/components/schemas/DeployerTool", "description": "The deployer tool which will handle the service deployment." }, "credentialType": { "$ref": "#/components/schemas/CredentialType", "description": "The credential type to do the deployment" }, "serviceAvailabilityConfig": { "type": "array", "description": "The list of availability zone configuration of the service.The list elements must be unique.", "items": { "$ref": "#/components/schemas/AvailabilityZoneConfig" }, "maxItems": 2147483647, "minItems": 1 }, "terraformDeployment": { "$ref": "#/components/schemas/TerraformDeployment", "description": "Deployment information for terraform based deployments. This is mandatory if the deployer kind is Terraform or OpenTofu" }, "helmDeployment": { "$ref": "#/components/schemas/HelmDeployment", "description": "Deployment information for Helm based deployments. This is mandatory if the deployer kind is Helm" } }, "required": ["deployerTool"] }, "FlavorsWithPrice": { "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", "description": "Impact on service when flavor is changed." }, "isDowngradeAllowed": { "type": "boolean", "description": "Whether the downgrading is allowed, default value: true." }, "downgradeAllowed": { "type": "boolean" } }, "required": ["isDowngradeAllowed", "modificationImpact", "serviceFlavors"] }, "HelmCoordinates": { "type": "object", "properties": { "repository": { "type": "string", "description": "The repository of helm chart.", "minLength": 1 }, "version": { "type": "string", "description": "The version of the helm chart.", "minLength": 1 } }, "required": ["repository", "version"] }, "HelmDeployment": { "type": "object", "properties": { "inputVariables": { "type": "array", "description": "The input variables for the helm deployment, which will be passed to the deployer.The list elements must be unique. All input variables are put together to build a JSON 'object' with each variable as a property of this object.", "items": { "$ref": "#/components/schemas/InputVariable" }, "minItems": 1 }, "helmOutputVariables": { "type": "array", "description": "The output variables for the helm deployment, which will be generated by the helm deployer. The list elements must be unique.", "items": { "$ref": "#/components/schemas/HelmOutputVariable" }, "minItems": 1 }, "kubernetesCluster": { "$ref": "#/components/schemas/KubernetesCluster", "description": "The kubernetes cluster for the helm deployment." }, "helmCoordinates": { "$ref": "#/components/schemas/HelmCoordinates", "description": "The helm coordinates for the helm deployment." } }, "required": ["helmCoordinates", "helmOutputVariables", "inputVariables", "kubernetesCluster"] }, "HelmOutputVariable": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the output variable", "minLength": 1 }, "dataType": { "$ref": "#/components/schemas/VariableDataType", "description": "The type of the output variable" }, "description": { "type": "string", "description": "The description of the output variable" }, "sensitiveScope": { "$ref": "#/components/schemas/SensitiveScope", "description": "Sensitive scope of variable storage" }, "resourceType": { "type": "string", "description": "The type of kubernetes resource" } }, "required": ["dataType", "name"] }, "InputVariable": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the deploy variable", "minLength": 1 }, "kind": { "$ref": "#/components/schemas/VariableKind", "description": "The kind of the deploy variable" }, "dataType": { "$ref": "#/components/schemas/VariableDataType", "description": "The type of the deploy variable" }, "example": { "type": "string", "description": "The example value of the deploy variable" }, "description": { "type": "string", "description": "The description of the deploy variable", "minLength": 1 }, "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/meta/validation. Only the type field is taken from dataType parameter directly." }, "sensitiveScope": { "$ref": "#/components/schemas/SensitiveScope", "description": "Sensitive scope of variable storage" }, "autoFill": { "$ref": "#/components/schemas/AutoFill", "description": "Variable autofill. Defines if the variable must be one of the existing resources of a specific type." }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact", "description": "Variable modificationImpact" } }, "required": ["dataType", "description", "kind", "mandatory", "modificationImpact", "name"] }, "KubernetesCluster": { "type": "object", "properties": { "version": { "type": "string", "description": "The version of the kubernetes.", "minLength": 1 }, "type": { "$ref": "#/components/schemas/KubernetesClusterType", "description": "The type of the kubernetes cluster." } }, "required": ["type", "version"] }, "KubernetesClusterType": { "type": "string", "enum": ["dedicated", "shared"] }, "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." } } }, "ObjectActionType": { "type": "string", "enum": ["create", "update", "delete"] }, "ObjectIdentifier": { "type": "object", "properties": { "name": { "type": "string", "description": "the name of service object identifier." }, "valueSchema": { "type": "string", "description": "the value schema of service object identifier." } }, "required": ["name", "valueSchema"] }, "ObjectManage": { "type": "object", "properties": { "objectActionType": { "$ref": "#/components/schemas/ObjectActionType", "description": "the type of service object action." }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact", "description": "the modificationImpact of service object manage." }, "objectHandlerScript": { "$ref": "#/components/schemas/ServiceChangeScript", "description": "the handler script of service object manage." }, "objectParameters": { "type": "array", "description": "The service object parameters of service .The list elements must be unique. All parameters are put together to build a JSON 'object' with each parameter as a property of this object.", "items": { "$ref": "#/components/schemas/ObjectParameter" }, "maxItems": 2147483647, "minItems": 1 } }, "required": ["modificationImpact", "objectActionType", "objectHandlerScript"] }, "ObjectParameter": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the service object parameter", "minLength": 1 }, "dataType": { "$ref": "#/components/schemas/VariableDataType", "description": "The type of the service object parameter" }, "description": { "type": "string", "description": "The description of the service object parameter", "minLength": 1 }, "example": { "description": "The example value of the service object parameter" }, "valueSchema": { "type": "object", "additionalProperties": {}, "description": "valueSchema of the service config parameter. The key be any keyword that is part of the JSON schema definition which can be found here https://json-schema.org/draft/2020-12/schema" }, "sensitiveScope": { "$ref": "#/components/schemas/SensitiveScope", "description": "Sensitive scope of service config parameter storage" }, "isMandatory": { "type": "boolean", "description": "idicates whether the object parameter is mandatory." }, "linkedObjectType": { "type": "string", "description": "the type of the linkedObject." } }, "required": ["dataType", "description", "name"] }, "Ocl": { "type": "object", "properties": { "category": { "$ref": "#/components/schemas/Category", "description": "The catalog of the service" }, "version": { "type": "string", "description": "The version of the Ocl", "minLength": 1 }, "name": { "type": "string", "description": "The name of the managed service", "minLength": 1 }, "shortCode": { "type": "string", "description": "Short code of the service. This will be used in other configurations.", "minLength": 1 }, "serviceVersion": { "type": "string", "description": "The version of the managed service", "minLength": 1 }, "description": { "type": "string", "description": "The description of the managed service", "minLength": 1 }, "serviceVendor": { "type": "string", "description": "The serviceVendor of the managed service", "minLength": 1 }, "icon": { "type": "string", "description": "The icon of the managed service", "minLength": 1 }, "cloudServiceProvider": { "$ref": "#/components/schemas/CloudServiceProvider", "description": "The cloud service provider of the managed service" }, "deployment": { "$ref": "#/components/schemas/Deployment", "description": "The deployment of the managed service" }, "flavors": { "$ref": "#/components/schemas/FlavorsWithPrice", "description": "The flavors of the managed service" }, "billing": { "$ref": "#/components/schemas/Billing", "description": "The billing policy of the managed service" }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "serviceProviderContactDetails": { "$ref": "#/components/schemas/ServiceProviderContactDetails", "description": "The contact details of the service provider." }, "eula": { "type": "string", "description": "End user license agreement content of the service." }, "serviceConfigurationManage": { "$ref": "#/components/schemas/ServiceChangeManage", "description": "manage service configuration." }, "serviceActions": { "type": "array", "description": "manage service action.", "items": { "$ref": "#/components/schemas/ServiceAction" } }, "serviceObjects": { "type": "array", "description": "manage service object.", "items": { "$ref": "#/components/schemas/ServiceObject" } } }, "required": [ "billing", "category", "cloudServiceProvider", "deployment", "description", "flavors", "icon", "name", "serviceHostingType", "serviceProviderContactDetails", "serviceVendor", "serviceVersion", "shortCode", "version" ] }, "OutputVariable": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the output variable", "minLength": 1 }, "dataType": { "$ref": "#/components/schemas/VariableDataType", "description": "The type of the output variable" }, "description": { "type": "string", "description": "The description of the output variable" }, "sensitiveScope": { "$ref": "#/components/schemas/SensitiveScope", "description": "Sensitive scope of variable storage" } }, "required": ["dataType", "name"] }, "Price": { "type": "object", "properties": { "cost": { "type": "number", "description": "The value of the cost." }, "currency": { "$ref": "#/components/schemas/Currency", "description": "The currency of the cost." }, "period": { "$ref": "#/components/schemas/PricingPeriod", "description": "The period of the cost." } }, "required": ["cost", "currency"] }, "PriceWithRegion": { "type": "object", "properties": { "regionName": { "type": "string", "description": "The defined region name. If the special name 'any' provided, this price for all unknown regions.", "minLength": 1 }, "siteName": { "type": "string", "description": "The defined site name. If the special name 'default' provided, this price for all sites.", "minLength": 1 }, "price": { "$ref": "#/components/schemas/Price", "description": "The price for the defined region and the defined site." } }, "required": ["price", "regionName", "siteName"] }, "PricingPeriod": { "type": "string", "enum": ["yearly", "monthly", "daily", "hourly", "oneTime"] }, "RatingMode": { "type": "object", "properties": { "fixedPrices": { "type": "array", "description": "The fixed prices of the flavor in the managed service for regions. The fixed price of the region includes all prices and shown to the customer.", "items": { "$ref": "#/components/schemas/PriceWithRegion" } }, "resourceUsage": { "$ref": "#/components/schemas/ResourceUsage", "description": "The resource usage of the flavor in the managed service." }, "isPriceOnlyForManagementLayer": { "type": "boolean", "description": "Whether the price is only for management layer. Consumption of the workload resources will be billed additionally.." } }, "required": ["isPriceOnlyForManagementLayer"] }, "Region": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the region", "minLength": 1 }, "site": { "type": "string", "description": "The site with the region belongs to, such as default, Chinese Mainland, International, ", "minLength": 1 }, "area": { "type": "string", "description": "The area which the region belongs to, such as Asia, Europe, Africa", "minLength": 1 } }, "required": ["area", "name", "site"] }, "Resource": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32", "description": "The count of the same resource." }, "deployResourceKind": { "$ref": "#/components/schemas/DeployResourceKind", "description": "The kind of the same resource." }, "properties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the same resource." } }, "required": ["count", "deployResourceKind"] }, "ResourceUsage": { "type": "object", "properties": { "resources": { "type": "array", "description": "The resources of the flavor of the manged service.", "items": { "$ref": "#/components/schemas/Resource" }, "minItems": 1 }, "licensePrices": { "type": "array", "description": "The license prices of the flavor of the manged service.", "items": { "$ref": "#/components/schemas/PriceWithRegion" } }, "markUpPrices": { "type": "array", "description": "The listed price list of the flavor of the manged service.", "items": { "$ref": "#/components/schemas/PriceWithRegion" } } }, "required": ["resources"] }, "ScriptsRepo": { "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" } }, "required": ["branch", "repoUrl"] }, "SensitiveScope": { "type": "string", "enum": ["none", "once", "always"] }, "ServiceAction": { "type": "object", "properties": { "name": { "type": "string", "description": "the name of service action." }, "type": { "$ref": "#/components/schemas/ConfigurationManagerTool", "description": "the tool used to manage the service action." }, "actionManageScripts": { "type": "array", "description": "The collection of the action manage script.", "items": { "$ref": "#/components/schemas/ServiceChangeScript" }, "maxItems": 2147483647, "minItems": 1 }, "actionParameters": { "type": "array", "description": "The configuration parameters of service .The list elements must be unique. All parameters are put together to build a JSON 'object' with each parameter as a property of this object.", "items": { "$ref": "#/components/schemas/ServiceChangeParameter" }, "maxItems": 2147483647, "minItems": 1 } }, "required": ["name", "type"] }, "ServiceChangeManage": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ConfigurationManagerTool", "description": "the tool used to manage the service configuration." }, "agentVersion": { "type": "string", "description": "the version of the agent that will be used by service resources." }, "configManageScripts": { "type": "array", "description": "The collection of the configuration manage script.", "items": { "$ref": "#/components/schemas/ServiceChangeScript" }, "maxItems": 2147483647, "minItems": 1 }, "configurationParameters": { "type": "array", "description": "The collection of service configuration parameters.", "items": { "$ref": "#/components/schemas/ServiceChangeParameter" }, "maxItems": 2147483647, "minItems": 1 } }, "required": ["agentVersion", "type"] }, "ServiceChangeParameter": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the service config parameter", "minLength": 1 }, "kind": { "$ref": "#/components/schemas/VariableKind", "description": "The kind of the service config parameter" }, "dataType": { "$ref": "#/components/schemas/VariableDataType", "description": "The type of the service config parameter" }, "example": { "type": "string", "description": "The example value of the service config parameter" }, "description": { "type": "string", "description": "The description of the service config parameter", "minLength": 1 }, "value": { "type": "string", "description": "The value of the service config parameter. Value can be provided for initial value" }, "initialValue": { "description": "The init value of the service config parameter" }, "valueSchema": { "type": "object", "additionalProperties": true, "description": "valueSchema of the variable. The key can be any keyword that is part of the JSON schema definition which can be found here https://json-schema.org/draft/2020-12/meta/validation. Only the type field is taken from dataType parameter directly." }, "sensitiveScope": { "$ref": "#/components/schemas/SensitiveScope", "description": "Sensitive scope of service config parameter storage" }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact", "description": "Service config parameter modificationImpact" }, "isReadOnly": { "type": "boolean", "description": "Whether the service configuration parameters are read-only" }, "managedBy": { "type": "string", "description": "Service component which manages this configuration parameter.", "minLength": 1 } }, "required": [ "dataType", "description", "initialValue", "isReadOnly", "kind", "managedBy", "modificationImpact", "name" ] }, "ServiceChangeScript": { "type": "object", "properties": { "changeHandler": { "type": "string", "description": "should be the name of the resource available in the deployer script.", "minLength": 1 }, "runOnlyOnce": { "type": "boolean", "description": "Means should the configuration update run on each node of the specific component or just one." }, "ansibleScriptConfig": { "$ref": "#/components/schemas/AnsibleScriptConfig", "description": "Ansible script configuration details." } }, "required": ["ansibleScriptConfig", "changeHandler", "runOnlyOnce"] }, "ServiceFlavorWithPrice": { "type": "object", "properties": { "name": { "type": "string", "description": "The flavor name", "minLength": 1 }, "properties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the flavor", "minProperties": 1 }, "priority": { "type": "integer", "format": "int32", "description": "The priority of the flavor. The larger value means lower priority.", "minimum": 1 }, "features": { "type": "array", "description": "Important features and differentiators of the flavor.", "items": { "type": "string" } }, "pricing": { "$ref": "#/components/schemas/RatingMode", "description": "The pricing of the flavor" } }, "required": ["name", "pricing", "priority", "properties"] }, "ServiceHostingType": { "type": "string", "description": "Defines which cloud service account is used for deploying cloud resources.", "enum": ["self", "service-vendor"] }, "ServiceObject": { "type": "object", "properties": { "type": { "type": "string", "description": "the type of service object." }, "objectIdentifier": { "$ref": "#/components/schemas/ObjectIdentifier", "description": "the identifier of service object." }, "handlerType": { "$ref": "#/components/schemas/ConfigurationManagerTool", "description": "the tool used to manage the service object." }, "objectsManage": { "type": "array", "description": "The collection of the service object manage.", "items": { "$ref": "#/components/schemas/ObjectManage" }, "maxItems": 2147483647, "minItems": 1 } }, "required": ["handlerType", "objectIdentifier", "type"] }, "ServiceProviderContactDetails": { "type": "object", "properties": { "emails": { "type": "array", "description": "List of the email details of the service provider. The list elements must be unique.", "items": { "type": "string" }, "maxItems": 2147483647, "minItems": 1 }, "phones": { "type": "array", "description": "List of the phone details of the service provider. The list elements must be unique.", "items": { "type": "string" }, "maxItems": 2147483647, "minItems": 1 }, "chats": { "type": "array", "description": "List of the chat details of the service provider. The list elements must be unique.", "items": { "type": "string" }, "maxItems": 2147483647, "minItems": 1 }, "websites": { "type": "array", "description": "List of the website details of the service provider. The list elements must be unique.", "items": { "type": "string" }, "maxItems": 2147483647, "minItems": 1 } } }, "TerraformDeployment": { "type": "object", "properties": { "scriptFiles": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Deployment scripts stored in a Map. file name as the key and content as the value. Either scriptFiles or scriptsRepo must be provided." }, "scriptsRepo": { "$ref": "#/components/schemas/ScriptsRepo", "description": "Deployment scripts hosted on a GIT repo. Either scriptFiles or scriptsRepo must be provided." }, "inputVariables": { "type": "array", "description": "The input variables for the deployment, which will be passed to the deployer.The list elements must be unique. All input variables are put together to build a JSON 'object' with each variable as a property of this object.", "items": { "$ref": "#/components/schemas/InputVariable" }, "minItems": 1 }, "outputVariables": { "type": "array", "description": "The output variables for the deployment, which will be generated by the deployer. The list elements must be unique.", "items": { "$ref": "#/components/schemas/OutputVariable" }, "minItems": 1 } }, "required": ["inputVariables", "outputVariables"] }, "VariableDataType": { "type": "string", "enum": ["string", "number", "boolean", "array"] }, "VariableKind": { "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"] }, "ServiceTemplateRequestInfo": { "type": "object", "properties": { "serviceTemplateId": { "type": "string", "format": "uuid", "description": "ID of the service template." }, "requestId": { "type": "string", "format": "uuid", "description": "ID of the request history of the service template." }, "requestSubmittedForReview": { "type": "boolean" } }, "required": ["requestId", "serviceTemplateId"] }, "ServicePolicyUpdateRequest": { "type": "object", "properties": { "flavorNames": { "type": "array", "description": "The flavor names to which the policy belongs. If the list is empty, then the policy will be executed for during service deployment of all flavors.", "items": { "type": "string" } }, "policy": { "type": "string", "description": "The policy." }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } } }, "ServicePolicy": { "type": "object", "properties": { "servicePolicyId": { "type": "string", "format": "uuid", "description": "The id of the policy." }, "policy": { "type": "string", "description": "The valid policy belongs to the service.", "minLength": 1 }, "serviceTemplateId": { "type": "string", "format": "uuid", "description": "The id of registered service template which the policy belongs to." }, "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" } }, "enabled": { "type": "boolean", "description": "Is the policy enabled." }, "createdTime": { "type": "string", "format": "date-time", "description": "Time of the policy created." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Time of the policy updated." } }, "required": [ "createdTime", "enabled", "lastModifiedTime", "policy", "servicePolicyId", "serviceTemplateId" ] }, "UserPolicyUpdateRequest": { "type": "object", "properties": { "csp": { "$ref": "#/components/schemas/Csp", "description": "The csp which the policy belongs to." }, "policy": { "type": "string", "description": "The policy." }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } } }, "UserPolicy": { "type": "object", "properties": { "userPolicyId": { "type": "string", "format": "uuid", "description": "The id of the policy." }, "policy": { "type": "string", "description": "The valid policy created by the user.", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The csp which the policy belongs to." }, "enabled": { "type": "boolean", "description": "Is the policy enabled." }, "createdTime": { "type": "string", "format": "date-time", "description": "Time of the policy created." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Time of the policy updated." } }, "required": ["createdTime", "csp", "enabled", "lastModifiedTime", "policy", "userPolicyId"] }, "ReviewServiceTemplateRequest": { "type": "object", "properties": { "reviewResult": { "$ref": "#/components/schemas/ServiceReviewResult", "description": "The result of review registration." }, "reviewComment": { "type": "string", "description": "The comment of review registration.", "minLength": 1 } }, "required": ["reviewComment", "reviewResult"] }, "ServiceReviewResult": { "type": "string", "enum": ["approved", "rejected"] }, "AnsibleTaskResult": { "type": "object", "properties": { "name": { "type": "string", "description": "name of the Ansible task" }, "isSuccessful": { "type": "boolean", "description": "Depicts if the task is successful" }, "message": { "type": "string", "description": "Data from the task. Will be returned both for successful and failure cases." } }, "required": ["isSuccessful", "name"] }, "ServiceChangeResult": { "type": "object", "description": "result of the service change request.", "properties": { "isSuccessful": { "type": "boolean", "description": "describes if the change is successfully executed." }, "error": { "type": "string", "description": "error description if the task failed." }, "tasks": { "type": "array", "description": "describes result of each Ansible task executed by the agent.", "items": { "$ref": "#/components/schemas/AnsibleTaskResult" } } }, "required": ["isSuccessful"] }, "DeployRequest": { "type": "object", "properties": { "category": { "$ref": "#/components/schemas/Category", "description": "The category of the service" }, "serviceName": { "type": "string", "description": "The name of the service ordered.", "minLength": 1 }, "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", "minLength": 1 }, "region": { "$ref": "#/components/schemas/Region", "description": "The region of the provider." }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The csp of the Service." }, "flavor": { "type": "string", "description": "The flavor of the Service.", "minLength": 1 }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "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." }, "billingMode": { "$ref": "#/components/schemas/BillingMode", "description": "The billing mode of the managed service." }, "eulaAccepted": { "type": "boolean" } }, "required": [ "billingMode", "category", "csp", "flavor", "region", "serviceHostingType", "serviceName", "version" ] }, "ServicePortingRequest": { "type": "object", "properties": { "category": { "$ref": "#/components/schemas/Category", "description": "The category of the service" }, "serviceName": { "type": "string", "description": "The name of the service ordered.", "minLength": 1 }, "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", "minLength": 1 }, "region": { "$ref": "#/components/schemas/Region", "description": "The region of the provider." }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The csp of the Service." }, "flavor": { "type": "string", "description": "The flavor of the Service.", "minLength": 1 }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "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." }, "billingMode": { "$ref": "#/components/schemas/BillingMode", "description": "The billing mode of the managed service." }, "originalServiceId": { "type": "string", "format": "uuid", "description": "The id of the service to port" }, "eulaAccepted": { "type": "boolean" } }, "required": [ "billingMode", "category", "csp", "flavor", "originalServiceId", "region", "serviceHostingType", "serviceName", "version" ] }, "ServicePolicyCreateRequest": { "type": "object", "properties": { "serviceTemplateId": { "type": "string", "format": "uuid", "description": "The id of registered service template which the policy belongs to." }, "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" } }, "policy": { "type": "string", "description": "The policy.", "minLength": 1 }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } }, "required": ["enabled", "policy", "serviceTemplateId"] }, "UserPolicyCreateRequest": { "type": "object", "properties": { "csp": { "$ref": "#/components/schemas/Csp", "description": "The csp which the policy belongs to." }, "policy": { "type": "string", "description": "The policy.", "minLength": 1 }, "enabled": { "type": "boolean", "description": "Is the policy enabled. true:enabled;false:disabled." } }, "required": ["csp", "enabled", "policy"] }, "WorkFlowTaskStatus": { "type": "string", "enum": ["done", "failed"] }, "WorkFlowTask": { "type": "object", "properties": { "processInstanceId": { "type": "string", "description": "The id of the ProcessInstance", "minLength": 1 }, "processInstanceName": { "type": "string", "description": "The name of the ProcessInstance" }, "processDefinitionId": { "type": "string", "description": "The id of the ProcessDefinition", "minLength": 1 }, "processDefinitionName": { "type": "string", "description": "The name of the ProcessDefinition", "minLength": 1 }, "executionId": { "type": "string", "description": "The execution id of the ProcessInstance", "minLength": 1 }, "taskId": { "type": "string", "description": "The id of the task", "minLength": 1 }, "taskName": { "type": "string", "description": "The name of the task", "minLength": 1 }, "businessKey": { "type": "string", "description": "The businessKey of the Process" }, "taskStatus": { "$ref": "#/components/schemas/WorkFlowTaskStatus", "description": "The status of the Task" }, "createdTime": { "type": "string", "format": "date-time", "description": "The create time of the task" } }, "required": [ "createdTime", "executionId", "processDefinitionId", "processDefinitionName", "processInstanceId", "taskId", "taskName", "taskStatus" ] }, "AbstractCredentialInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/CredentialVariables" }, { "type": "object", "properties": { "csp": { "$ref": "#/components/schemas/Csp", "description": "The cloud service provider of the credential." }, "site": { "type": "string", "description": "The site which the credentials belong to.", "minLength": 1 }, "type": { "$ref": "#/components/schemas/CredentialType", "description": "The type of the credential, this field is provided by the plugin of cloud service provider." }, "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.", "minLength": 1 }, "description": { "type": "string", "description": "The description of the credential,this field is provided by the plugin of cloud service provider.", "minLength": 1 }, "userId": { "type": "string", "description": "The id of user who created the credential." } } } ], "required": ["csp", "description", "name", "site", "type"] }, "CredentialVariables": { "type": "object", "properties": { "csp": { "$ref": "#/components/schemas/Csp", "description": "The cloud service provider of the credential." }, "site": { "type": "string", "description": "The site which the credentials belong to.", "minLength": 1 }, "type": { "$ref": "#/components/schemas/CredentialType", "description": "The type of the credential, this field is provided by the plugin of cloud service provider." }, "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.", "minLength": 1 }, "description": { "type": "string", "description": "The description of the credential,this field is provided by the plugin of cloud service provider.", "minLength": 1 }, "userId": { "type": "string", "description": "The id of user who created the credential." }, "variables": { "type": "array", "description": "The variables list of the credential.", "items": { "$ref": "#/components/schemas/CredentialVariable" }, "maxItems": 2147483647, "minItems": 1 } }, "required": ["csp", "description", "name", "site", "type", "variables"] }, "BackendSystemStatus": { "type": "object", "properties": { "backendSystemType": { "$ref": "#/components/schemas/BackendSystemType", "description": "The type of backend system." }, "name": { "type": "string", "description": "The name of backend system." }, "healthStatus": { "$ref": "#/components/schemas/HealthStatus", "description": "The health status of backend system." }, "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." } }, "required": ["backendSystemType", "healthStatus", "name"] }, "BackendSystemType": { "type": "string", "enum": [ "Identity Provider", "Database", "Terra Boot", "Tofu Maker", "Policy Man", "Cache Provider", "OpenTelemetry Collector" ] }, "HealthStatus": { "type": "string", "enum": ["OK", "NOK"] }, "StackStatus": { "type": "object", "properties": { "healthStatus": { "$ref": "#/components/schemas/HealthStatus", "description": "The health status of Xpanse service." }, "backendSystemStatuses": { "type": "array", "description": "The health status of the entire xpanse stack. This contains all components that are connected to xpanse.", "items": { "$ref": "#/components/schemas/BackendSystemStatus" } } }, "required": ["backendSystemStatuses", "healthStatus"] }, "ServiceDeploymentState": { "type": "string", "enum": [ "deploying", "deployment successful", "deployment failed", "destroying", "destroy successful", "destroy failed", "manual cleanup required", "rollback failed", "modifying", "modification failed", "modification successful", "rolling back" ] }, "DeployedService": { "type": "object", "properties": { "serviceId": { "type": "string", "format": "uuid", "description": "The ID of the service" }, "category": { "$ref": "#/components/schemas/Category", "description": "The catalog of the service" }, "name": { "type": "string", "description": "The name of the service", "minLength": 1 }, "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", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The provider of the service" }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "region": { "$ref": "#/components/schemas/Region", "description": "The region of the service." }, "availabilityZones": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The availability zones of the service" }, "flavor": { "type": "string", "description": "The flavor of the service", "minLength": 1 }, "billingMode": { "$ref": "#/components/schemas/BillingMode", "description": "The billing mode of the managed service." }, "inputProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The input properties to deploy the service." }, "deployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the deployed service." }, "serviceTemplateId": { "type": "string", "format": "uuid", "description": "The id of the Service Template" }, "userId": { "type": "string", "description": "The id of the user who deployed the service." }, "serviceDeploymentState": { "$ref": "#/components/schemas/ServiceDeploymentState", "description": "The deployment state of the service" }, "serviceState": { "$ref": "#/components/schemas/ServiceState", "description": "The run state of the service" }, "createdTime": { "type": "string", "format": "date-time", "description": "Time of register service." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Time of update service." }, "lastStartedAt": { "type": "string", "format": "date-time", "description": "Time of start service." }, "lastStoppedAt": { "type": "string", "format": "date-time", "description": "Time of stop service." }, "lockConfig": { "$ref": "#/components/schemas/ServiceLockConfig", "description": "The locks whether the service can be modified or destroyed." }, "serviceConfigurationDetails": { "$ref": "#/components/schemas/ServiceConfigurationDetails", "description": "Details of the service configuration." } }, "required": [ "billingMode", "category", "createdTime", "csp", "flavor", "lastModifiedTime", "name", "region", "serviceDeploymentState", "serviceHostingType", "serviceId", "serviceState", "serviceTemplateId", "version" ] }, "ServiceConfigurationDetails": { "type": "object", "properties": { "configuration": { "type": "object", "additionalProperties": true, "description": "Defines the current configuration of the service." }, "createdTime": { "type": "string", "format": "date-time", "description": "Timestamp when the configuration was first created." }, "updatedTime": { "type": "string", "format": "date-time", "description": "Timestamp when the configuration was last updated." } } }, "ServiceState": { "type": "string", "enum": ["not running", "running", "starting", "stopping", "stopped", "restarting", "unknown"] }, "EndUserFlavors": { "type": "object", "properties": { "name": { "type": "string", "description": "The flavor name", "minLength": 1 }, "properties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the flavor", "minProperties": 1 }, "priority": { "type": "integer", "format": "int32", "description": "The priority of the flavor. The larger value means lower priority.", "minimum": 1 }, "features": { "type": "array", "description": "Important features and differentiators of the flavor.", "items": { "type": "string" } }, "serviceFlavors": { "type": "array", "description": "The flavors of the orderable service.", "items": { "$ref": "#/components/schemas/ServiceFlavor" } }, "modificationImpact": { "$ref": "#/components/schemas/ModificationImpact", "description": "Impact on service when flavor is changed." }, "isDowngradeAllowed": { "type": "boolean", "description": "Whether the downgrading is allowed, default value: true." }, "downgradeAllowed": { "type": "boolean" } }, "required": [ "isDowngradeAllowed", "modificationImpact", "name", "priority", "properties", "serviceFlavors" ] }, "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" } } }, "ServiceFlavor": { "type": "object", "properties": { "name": { "type": "string", "description": "The flavor name", "minLength": 1 }, "properties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the flavor", "minProperties": 1 }, "priority": { "type": "integer", "format": "int32", "description": "The priority of the flavor. The larger value means lower priority.", "minimum": 1 }, "features": { "type": "array", "description": "Important features and differentiators of the flavor.", "items": { "type": "string" } } }, "required": ["name", "priority", "properties"] }, "UserOrderableServiceVo": { "type": "object", "properties": { "serviceTemplateId": { "type": "string", "format": "uuid", "description": "The id of the orderable service." }, "category": { "$ref": "#/components/schemas/Category", "description": "The category of the orderable service." }, "name": { "type": "string", "description": "The name of the orderable service.", "minLength": 1 }, "shortCode": { "type": "string", "description": "Short code of the service.", "minLength": 1 }, "version": { "type": "string", "description": "The version of the orderable service.", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The Cloud Service Provider of the orderable service." }, "regions": { "type": "array", "description": "The regions of the Cloud Service Provider.", "items": { "$ref": "#/components/schemas/Region" }, "minItems": 1 }, "serviceVendor": { "type": "string", "description": "The serviceVendor of the orderable service.", "minLength": 1 }, "description": { "type": "string", "description": "The description of the orderable service.", "minLength": 1 }, "icon": { "type": "string", "description": "The icon of the orderable service.", "minLength": 1 }, "inputVariables": { "type": "array", "description": "The input variables for the deployment, which will be passed to the deployer.", "items": { "$ref": "#/components/schemas/InputVariable" } }, "outputVariables": { "type": "array", "description": "The output variables for the deployment, which will be generated by the deployer.", "items": { "$ref": "#/components/schemas/OutputVariable" } }, "flavors": { "$ref": "#/components/schemas/EndUserFlavors", "description": "The flavors of the orderable service." }, "billing": { "$ref": "#/components/schemas/Billing", "description": "The billing policy of the orderable service." }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "serviceProviderContactDetails": { "$ref": "#/components/schemas/ServiceProviderContactDetails", "description": "The contact details of the service provider." }, "serviceAvailabilityConfig": { "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." }, "configurationParameters": { "type": "array", "description": "The collection of service configuration parameters.", "items": { "$ref": "#/components/schemas/ServiceChangeParameter" } }, "serviceActions": { "type": "array", "description": "manage service action.", "items": { "$ref": "#/components/schemas/ServiceAction" } }, "serviceObjects": { "type": "array", "description": "manage service object.", "items": { "$ref": "#/components/schemas/ServiceObject" } }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/Link" } } }, "required": [ "billing", "category", "csp", "description", "flavors", "icon", "inputVariables", "name", "outputVariables", "regions", "serviceHostingType", "serviceProviderContactDetails", "serviceTemplateId", "serviceVendor", "shortCode", "version" ] }, "DeployResource": { "type": "object", "properties": { "groupType": { "type": "string", "description": "The type of the resource as defined by the deployer used to deploy the service. Example, in case of terraform this will be the type of the resource defined by the terraform provider.", "minLength": 1 }, "groupName": { "type": "string", "description": "The group to which the resource belongs to. A service can have multiple types of resources. This defines the type of resource. The name of resource group is controlled in the service template.", "minLength": 1 }, "resourceId": { "type": "string", "description": "The id of the deployed resource.", "minLength": 1 }, "resourceName": { "type": "string", "description": "The name of the deployed resource.", "minLength": 1 }, "resourceKind": { "$ref": "#/components/schemas/DeployResourceKind", "description": "The kind of the deployed resource." }, "properties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the deployed resource." } }, "required": ["groupName", "groupType", "properties", "resourceId", "resourceKind", "resourceName"] }, "ServiceOrderType": { "type": "string", "enum": [ "deploy", "retry", "rollback", "modify", "destroy", "port", "recreate", "lockChange", "configChange", "serviceAction", "purge", "serviceStart", "serviceStop", "serviceRestart", "objectCreate", "objectModify", "objectDelete" ] }, "OrderStatus": { "type": "string", "enum": ["created", "in-progress", "successful", "failed"] }, "ServiceOrderDetails": { "type": "object", "properties": { "orderId": { "type": "string", "format": "uuid", "description": "The id of the service order." }, "serviceId": { "type": "string", "format": "uuid", "description": "The id of the deployed service." }, "taskType": { "$ref": "#/components/schemas/ServiceOrderType", "description": "The task type of the service order." }, "orderStatus": { "$ref": "#/components/schemas/OrderStatus", "description": "The task status of the service order." }, "originalServiceId": { "type": "string", "format": "uuid", "description": "The id of the original service." }, "parentOrderId": { "type": "string", "format": "uuid", "description": "The id of the parent service order." }, "workflowId": { "type": "string", "description": "The id of the workflow." }, "errorResponse": { "$ref": "#/components/schemas/ErrorResponse", "description": "The error response if the service order task failed." }, "userId": { "type": "string", "description": "The id of the user who created the service order." }, "startedTime": { "type": "string", "format": "date-time", "description": "The started time of the service order." }, "completedTime": { "type": "string", "format": "date-time", "description": "The completed time of the service order." }, "requestBody": { "type": "object", "additionalProperties": true, "description": "The requests of the service order." }, "resultProperties": { "type": "object", "additionalProperties": true, "description": "The result properties of the service order." } }, "required": ["orderId", "orderStatus", "serviceId", "startedTime", "taskType"] }, "DeploymentStatusUpdate": { "type": "object", "properties": { "serviceDeploymentState": { "$ref": "#/components/schemas/ServiceDeploymentState", "description": "Current state of the deployment request." }, "isOrderCompleted": { "type": "boolean", "description": "Describes if the deployment request is now completed" } }, "required": ["isOrderCompleted", "serviceDeploymentState"] }, "ServiceOrderStatusUpdate": { "type": "object", "properties": { "orderStatus": { "$ref": "#/components/schemas/OrderStatus", "description": "Current task status of the service order." }, "isOrderCompleted": { "type": "boolean", "description": "Describes if the service order is now completed." }, "error": { "$ref": "#/components/schemas/ErrorResponse", "description": "The error message if the service order failed." } }, "required": ["isOrderCompleted", "orderStatus"] }, "ServiceObjectDetails": { "type": "object", "properties": { "objectId": { "type": "string", "format": "uuid", "description": "The id of the service object." }, "serviceId": { "type": "string", "format": "uuid", "description": "The id of the service deployment." }, "objectType": { "type": "string", "description": "The type of service object.", "minLength": 1 }, "objectIdentifierName": { "type": "string", "description": "The name of service object identifier.", "minLength": 1 }, "dependentObjectIds": { "type": "array", "description": "The collection of dependent object IDs.", "items": { "type": "string", "format": "uuid" }, "uniqueItems": true }, "parameters": { "type": "object", "additionalProperties": {}, "description": "The collection of service object parameter." }, "objectOrderHistory": { "type": "array", "description": "The collection of ids of the service orders result in the object.", "items": { "$ref": "#/components/schemas/ServiceOrderDetails" } } }, "required": [ "objectId", "objectIdentifierName", "objectOrderHistory", "objectType", "parameters", "serviceId" ] }, "DeployedServiceDetails": { "type": "object", "properties": { "serviceId": { "type": "string", "format": "uuid", "description": "The ID of the service" }, "category": { "$ref": "#/components/schemas/Category", "description": "The catalog of the service" }, "name": { "type": "string", "description": "The name of the service", "minLength": 1 }, "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", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The provider of the service" }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "region": { "$ref": "#/components/schemas/Region", "description": "The region of the service." }, "availabilityZones": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The availability zones of the service" }, "flavor": { "type": "string", "description": "The flavor of the service", "minLength": 1 }, "billingMode": { "$ref": "#/components/schemas/BillingMode", "description": "The billing mode of the managed service." }, "inputProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The input properties to deploy the service." }, "deployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the deployed service." }, "serviceTemplateId": { "type": "string", "format": "uuid", "description": "The id of the Service Template" }, "userId": { "type": "string", "description": "The id of the user who deployed the service." }, "serviceDeploymentState": { "$ref": "#/components/schemas/ServiceDeploymentState", "description": "The deployment state of the service" }, "serviceState": { "$ref": "#/components/schemas/ServiceState", "description": "The run state of the service" }, "createdTime": { "type": "string", "format": "date-time", "description": "Time of register service." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Time of update service." }, "lastStartedAt": { "type": "string", "format": "date-time", "description": "Time of start service." }, "lastStoppedAt": { "type": "string", "format": "date-time", "description": "Time of stop service." }, "lockConfig": { "$ref": "#/components/schemas/ServiceLockConfig", "description": "The locks whether the service can be modified or destroyed." }, "serviceConfigurationDetails": { "$ref": "#/components/schemas/ServiceConfigurationDetails", "description": "Details of the service configuration." }, "deployResources": { "type": "array", "description": "The resource list of the deployed service.", "items": { "$ref": "#/components/schemas/DeployResource" } } }, "required": [ "billingMode", "category", "createdTime", "csp", "flavor", "lastModifiedTime", "name", "region", "serviceDeploymentState", "serviceHostingType", "serviceId", "serviceState", "serviceTemplateId", "version" ] }, "VendorHostedDeployedServiceDetails": { "type": "object", "properties": { "serviceId": { "type": "string", "format": "uuid", "description": "The ID of the service" }, "category": { "$ref": "#/components/schemas/Category", "description": "The catalog of the service" }, "name": { "type": "string", "description": "The name of the service", "minLength": 1 }, "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", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "The provider of the service" }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "region": { "$ref": "#/components/schemas/Region", "description": "The region of the service." }, "availabilityZones": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The availability zones of the service" }, "flavor": { "type": "string", "description": "The flavor of the service", "minLength": 1 }, "billingMode": { "$ref": "#/components/schemas/BillingMode", "description": "The billing mode of the managed service." }, "inputProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The input properties to deploy the service." }, "deployedServiceProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The properties of the deployed service." }, "serviceTemplateId": { "type": "string", "format": "uuid", "description": "The id of the Service Template" }, "userId": { "type": "string", "description": "The id of the user who deployed the service." }, "serviceDeploymentState": { "$ref": "#/components/schemas/ServiceDeploymentState", "description": "The deployment state of the service" }, "serviceState": { "$ref": "#/components/schemas/ServiceState", "description": "The run state of the service" }, "createdTime": { "type": "string", "format": "date-time", "description": "Time of register service." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Time of update service." }, "lastStartedAt": { "type": "string", "format": "date-time", "description": "Time of start service." }, "lastStoppedAt": { "type": "string", "format": "date-time", "description": "Time of stop service." }, "lockConfig": { "$ref": "#/components/schemas/ServiceLockConfig", "description": "The locks whether the service can be modified or destroyed." }, "serviceConfigurationDetails": { "$ref": "#/components/schemas/ServiceConfigurationDetails", "description": "Details of the service configuration." } }, "required": [ "billingMode", "category", "createdTime", "csp", "flavor", "lastModifiedTime", "name", "region", "serviceDeploymentState", "serviceHostingType", "serviceId", "serviceState", "serviceTemplateId", "version" ] }, "ServiceChangeStatus": { "type": "string", "enum": ["pending", "processing", "successful", "error"] }, "ServiceChangeOrderDetails": { "type": "object", "properties": { "orderId": { "type": "string", "format": "uuid", "description": "The id of the order." }, "orderStatus": { "$ref": "#/components/schemas/OrderStatus", "description": "Order status of service update request." }, "serviceChangeRequestProperties": { "type": "object", "additionalProperties": true, "description": "service change request properties." }, "serviceChangeRequests": { "type": "array", "description": "Collection of service change details requests generated for the specific change order.", "items": { "$ref": "#/components/schemas/ServiceChangeRequestDetails" } } }, "required": ["orderId", "orderStatus", "serviceChangeRequestProperties", "serviceChangeRequests"] }, "ServiceChangeRequestDetails": { "type": "object", "properties": { "changeId": { "type": "string", "format": "uuid", "description": "ID of the change request created as part of the change order." }, "resourceName": { "type": "string", "description": "name of the resource on which the change request is executed. Null means any one of the resources that is part of the service and is of type configManager can execute it and until now none of the resource have picked up this request." }, "changeHandler": { "type": "string", "description": "type of the resource in the service that must manage the change request." }, "resultMessage": { "type": "string", "description": "result of service change request" }, "properties": { "type": "object", "additionalProperties": true, "description": "parameters sent to the agent." }, "status": { "$ref": "#/components/schemas/ServiceChangeStatus", "description": "status of service change request." } }, "required": ["changeHandler", "changeId", "properties", "status"] }, "ServiceTemplateRegistrationState": { "type": "string", "enum": ["in-review", "approved", "cancelled", "rejected"] }, "ServiceTemplateDetailVo": { "type": "object", "properties": { "serviceTemplateId": { "type": "string", "format": "uuid", "description": "ID of the registered service." }, "name": { "type": "string", "description": "Name of the registered service.", "minLength": 1 }, "shortCode": { "type": "string", "description": "Short code of the service. This will be used in other configurations.", "minLength": 1 }, "version": { "type": "string", "description": "Version of the registered service.", "minLength": 1 }, "csp": { "$ref": "#/components/schemas/Csp", "description": "Csp of the registered service." }, "category": { "$ref": "#/components/schemas/Category", "description": "Category of the registered service." }, "serviceVendor": { "type": "string", "description": "ServiceVendor of the user who registered service template.", "minLength": 1 }, "regions": { "type": "array", "description": "The regions of the Cloud Service Provider.", "items": { "$ref": "#/components/schemas/Region" }, "minItems": 1 }, "description": { "type": "string", "description": "The description of the registered service.", "minLength": 1 }, "icon": { "type": "string", "description": "The icon of the registered service.", "minLength": 1 }, "deployment": { "$ref": "#/components/schemas/Deployment", "description": "The deployment of the managed service" }, "flavors": { "$ref": "#/components/schemas/FlavorsWithPrice", "description": "The flavors of the registered service." }, "billing": { "$ref": "#/components/schemas/Billing", "description": "The billing policy of the registered service." }, "serviceHostingType": { "$ref": "#/components/schemas/ServiceHostingType", "description": "Defines which cloud service account is used for deploying cloud resources." }, "createdTime": { "type": "string", "format": "date-time", "description": "createdTime of the registered service." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Last updateTime of the registered service." }, "serviceTemplateRegistrationState": { "$ref": "#/components/schemas/ServiceTemplateRegistrationState", "description": "Registration state of service template." }, "isReviewInProgress": { "type": "boolean", "description": "If any request for the service template has a review in-progress." }, "isAvailableInCatalog": { "type": "boolean", "description": "Is available in catalog." }, "serviceProviderContactDetails": { "$ref": "#/components/schemas/ServiceProviderContactDetails", "description": "The contact details of the service provider." }, "eula": { "type": "string", "description": "End user license agreement content of the service." }, "serviceConfigurationManage": { "$ref": "#/components/schemas/ServiceChangeManage", "description": "manage service configuration." }, "serviceActions": { "type": "array", "description": "manage service action.", "items": { "$ref": "#/components/schemas/ServiceAction" } }, "serviceObjects": { "type": "array", "description": "manage service object.", "items": { "$ref": "#/components/schemas/ServiceObject" } }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/Link" } } }, "required": [ "billing", "category", "createdTime", "csp", "deployment", "description", "flavors", "icon", "isAvailableInCatalog", "isReviewInProgress", "lastModifiedTime", "name", "regions", "serviceHostingType", "serviceProviderContactDetails", "serviceTemplateId", "serviceTemplateRegistrationState", "serviceVendor", "shortCode", "version" ] }, "ServiceTemplateRequestType": { "type": "string", "enum": ["register", "update", "unpublish", "republish"] }, "ServiceTemplateRequestStatus": { "type": "string", "enum": ["in-review", "accepted", "rejected", "cancelled"] }, "ServiceTemplateRequestHistory": { "type": "object", "properties": { "serviceTemplateId": { "type": "string", "format": "uuid", "description": "ID of the service template." }, "requestId": { "type": "string", "format": "uuid", "description": "ID of the request history of the service template." }, "requestType": { "$ref": "#/components/schemas/ServiceTemplateRequestType", "description": "Type of the request." }, "requestStatus": { "$ref": "#/components/schemas/ServiceTemplateRequestStatus", "description": "Status of the request." }, "reviewComment": { "type": "string", "description": "Comment of the review request." }, "blockTemplateUntilReviewed": { "type": "boolean", "description": "Status of the request." }, "createdTime": { "type": "string", "format": "date-time", "description": "Create time of the service template request." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Last update time of the service template request." }, "requestSubmittedForReview": { "type": "boolean" } }, "required": [ "createdTime", "lastModifiedTime", "requestId", "requestStatus", "requestType", "serviceTemplateId" ] }, "FlavorPriceResult": { "type": "object", "properties": { "flavorName": { "type": "string", "description": "The name of the flavor." }, "billingMode": { "$ref": "#/components/schemas/BillingMode", "description": "The billing mode of the price." }, "recurringPrice": { "$ref": "#/components/schemas/Price", "description": "The recurring price of the flavor." }, "oneTimePaymentPrice": { "$ref": "#/components/schemas/Price", "description": "The one time payment price of the flavor." }, "errorMessage": { "type": "string", "description": "Error reason when price calculation fails." }, "successful": { "type": "boolean" } }, "required": ["billingMode", "flavorName"] }, "MonitorResourceType": { "type": "string", "enum": ["cpu", "mem", "vm_network_incoming", "vm_network_outgoing"] }, "Metric": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the metric." }, "description": { "type": "string", "description": "The description of the metric." }, "type": { "$ref": "#/components/schemas/MetricType", "description": "The type of the metric." }, "monitorResourceType": { "$ref": "#/components/schemas/MonitorResourceType", "description": "The resource type of the metric." }, "unit": { "$ref": "#/components/schemas/MetricUnit", "description": "The unit of the metric." }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The labels of the metric." }, "metrics": { "type": "array", "description": "The list of the metric items.", "items": { "$ref": "#/components/schemas/MetricItem" } } }, "required": ["monitorResourceType", "name", "type", "unit"] }, "MetricItem": { "type": "object", "properties": { "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The labels for the MetricItem." }, "type": { "$ref": "#/components/schemas/MetricItemType", "description": "Type of the MetricItem." }, "timeStamp": { "type": "integer", "format": "int64", "description": "Timestamp of the recorded metric." }, "value": { "type": "number", "description": "value of the MetricItem." } }, "required": ["timeStamp", "type", "value"] }, "MetricItemType": { "type": "string", "enum": ["value", "count", "sum"] }, "MetricType": { "type": "string", "enum": ["counter", "gauge", "histogram", "summary"] }, "MetricUnit": { "type": "string", "enum": ["mb", "kb", "percentage", "bit/s", "Byte/s"] }, "SystemStatus": { "type": "object", "properties": { "healthStatus": { "$ref": "#/components/schemas/HealthStatus", "description": "The health status of Xpanse api service." } }, "required": ["healthStatus"] }, "ServiceTemplateRequestToReview": { "type": "object", "properties": { "serviceTemplateId": { "type": "string", "format": "uuid", "description": "ID of the service template." }, "requestId": { "type": "string", "format": "uuid", "description": "ID of the request history of the service template." }, "requestType": { "$ref": "#/components/schemas/ServiceTemplateRequestType", "description": "Type of the request." }, "ocl": { "$ref": "#/components/schemas/Ocl", "description": "Type of the request." }, "createdTime": { "type": "string", "format": "date-time", "description": "Create time of the service template request." }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Last update time of the service template request." }, "requestSubmittedForReview": { "type": "boolean" } }, "required": ["createdTime", "lastModifiedTime", "ocl", "requestId", "requestType", "serviceTemplateId"] }, "TokenResponse": { "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." } }, "required": ["access_token", "expires_in", "id_token", "token_type"] }, "ServiceChangeRequest": { "type": "object", "properties": { "changeId": { "type": "string", "format": "uuid", "description": "Id of the change request" }, "serviceChangeParameters": { "type": "object", "additionalProperties": true, "description": "request parameters to be used to execute the change scripts. In case of Ansible, this will be used as extra vars." }, "ansibleScriptConfig": { "$ref": "#/components/schemas/AnsibleScriptConfig", "description": "defines the ansible script information." }, "ansibleInventory": { "type": "object", "additionalProperties": true, "description": "Inventory information for Ansible script." } }, "required": ["changeId", "serviceChangeParameters"] } }, "securitySchemes": { "OAuth2Flow": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://xpanse-demo.eclipseprojects.io/oauth/v2/authorize", "tokenUrl": "https://xpanse-demo.eclipseprojects.io/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." } } } } } } }