UI Cloud Platform Deployment Type Registry v1.2.0
This schema defines the REST API for the Deployment Type registry, which stores deployment type definitions. Deployment Types are used to describe deployments which are managed by the Deployment Management.
Contact: Cloud Operations
Operations
Tag: deploymentTypeRegistry
get-deploymentTypes
Operation Id: get-deploymentTypes
Action: GET /deployment-types
Summary: Retrieve list of existing deployment types
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
byType | query | array[string] | false | 'Filter deployment types by deployment type identifier' |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [DeploymentType] | false | none | none |
» id | DeploymentTypeId | true | none | The unique identifier of a deployment type |
» displayName | string | false | none | none |
» dependsOn | DeploymentTypeDependencyList | false | none | none |
»» operator | DeploymentTypeDependencyListOperator | false | none | The operator to use while checking if a deployment has all required, dependencies specified. - allOf -> all specified dependencies must be included (specified) in a deployment - anyOf -> at least one of the dependencies must be included (specified) in a deployment - oneOf -> exactly one of the dependencies must be included (specified) in a deployment |
»» items | [DeploymentTypeId] | true | none | [The unique identifier of a deployment type] |
» disabled | boolean | false | none | none |
» isConnector | boolean | false | none | Does this type connect at least two other deployment types. |
» isContainer | boolean | false | none | Does this type act as a container in which other types can be deployed. |
» parameters | [DeploymentTypeParameter] | false | none | Parameters for a deployment type. At least one parameter with isIdentifier=true must be specified, which must be of type string. |
»» type | string | true | none | none |
»» name | string | true | none | none |
»» readonly | boolean | false | none | A readonly parameter can only be set while creating a new deployment. |
»» required | boolean | false | none | none |
»» allowedValues | [any] | false | none | none |
»» isIdentifier | boolean | false | none | none |
»» default | any | false | none | none |
Enumerated Values
Property | Value |
---|---|
operator | anyOf |
operator | allOf |
operator | oneOf |
Example responses
200 Response
[
{
"id": "workspace.v1",
"displayName": "Cloud Workspace",
"isContainer": true,
"parameters": [
{
"type": "string",
"name": "name",
"isIdentifier": true
}
]
},
{
"id": "environment.v1",
"displayName": "Cloud Workspace Environment",
"dependsOn": {
"items": [
"workspace.v1"
]
},
"isContainer": true,
"parameters": [
{
"type": "string",
"name": "name",
"isIdentifier": true
}
]
}
]
400 Response
{
"type": "/some/uri-reference",
"title": "some title for the error situation",
"status": 100,
"detail": "some description for the error situation",
"instance": "/some/uri-reference#specific-occurrence-context",
"cause": {
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": null,
"message": null,
"target": null,
"details": null,
"innererror": null
}
],
"innererror": {
"code": "string",
"innererror": {}
}
}
],
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": null,
"innererror": null
}
}
}
}
}
Note
This operation does not require authentication
Code samples
# You can also use wget
curl -X GET http://localhost:3000/deployment-types \
-H 'Accept: application/json'
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('http://localhost:3000/deployment-types', headers = headers)
print(r.json())
create-deploymentType
Operation Id: create-deploymentType
Action: POST /deployment-types
Summary: Create a new deployment type
Body parameter
{
"id": "string",
"displayName": "string",
"dependsOn": {
"operator": "anyOf",
"items": [
"string"
]
},
"disabled": false,
"isConnector": false,
"isContainer": false,
"parameters": [
{
"type": "string",
"name": "string",
"readonly": false,
"required": false,
"allowedValues": [
null
],
"isIdentifier": false,
"default": null
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | DeploymentType | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Inline |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | DeploymentTypeId | true | none | The unique identifier of a deployment type |
Example responses
201 Response
Note
This operation does not require authentication
Code samples
POST http://localhost:3000/deployment-types HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: application/json
# You can also use wget
curl -X POST http://localhost:3000/deployment-types \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('http://localhost:3000/deployment-types', headers = headers)
print(r.json())
get-deploymentType
Operation Id: get-deploymentType
Action: GET /deployment-types/{id}
Summary: Retrieve existing deployment type
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | DeploymentTypeId | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DeploymentType |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
404 | Not Found | The specified resource was not found | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Note
This operation does not require authentication
Code samples
GET http://localhost:3000/deployment-types/{id} HTTP/1.1
Host: localhost:3000
Accept: application/json
# You can also use wget
curl -X GET http://localhost:3000/deployment-types/{id} \
-H 'Accept: application/json'
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('http://localhost:3000/deployment-types/{id}', headers = headers)
print(r.json())
update-deploymentType
Operation Id: update-deploymentType
Action: PATCH /deployment-types/{id}
Summary: Update deployment type
Body parameter
{
"id": "string",
"displayName": "string",
"dependsOn": {
"operator": "anyOf",
"items": [
"string"
]
},
"disabled": false,
"isConnector": false,
"isContainer": false,
"parameters": [
{
"type": "string",
"name": "string",
"readonly": false,
"required": false,
"allowedValues": [
null
],
"isIdentifier": false,
"default": null
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | DeploymentTypeId | true | none |
body | body | DeploymentType | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DeploymentType |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
404 | Not Found | The specified resource was not found | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Note
This operation does not require authentication
Code samples
PATCH http://localhost:3000/deployment-types/{id} HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: application/json
# You can also use wget
curl -X PATCH http://localhost:3000/deployment-types/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('http://localhost:3000/deployment-types/{id}', headers = headers)
print(r.json())
delete-deploymentType
Operation Id: delete-deploymentType
Action: DELETE /deployment-types/{id}
Summary: Delete deployment type
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | DeploymentTypeId | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
404 | Not Found | The specified resource was not found | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Note
This operation does not require authentication
Code samples
DELETE http://localhost:3000/deployment-types/{id} HTTP/1.1
Host: localhost:3000
Accept: application/problem+json
# You can also use wget
curl -X DELETE http://localhost:3000/deployment-types/{id} \
-H 'Accept: application/problem+json'
import requests
headers = {
'Accept': 'application/problem+json'
}
r = requests.delete('http://localhost:3000/deployment-types/{id}', headers = headers)
print(r.json())
get-deploymentTypeHandlers
Operation Id: get-deploymentTypeHandlers
Action: GET /deployment-type-handlers
Summary: Retrieve list of existing deployment type handlers
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
byType | query | array[string] | false | Filter deployment type handlers by deployment type identifier |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [DeploymentTypeHandler] | false | none | none |
» deploymentTypeId | DeploymentTypeId | true | none | The unique identifier of a deployment type |
» handlerType | DeploymentTypeHandlerType | true | none | none |
» parameters | [DeploymentTypeHandlerParameter] | false | none | none |
»» name | string | true | none | none |
»» value | any | true | none | none |
Example responses
200 Response
[
{
"deploymentTypeId": "workspace.v1",
"handlerType": "webhook",
"parameters": [
{
"name": "p1",
"value": [
1,
2,
3
]
},
{
"name": "obj",
"value": {
"name": "Name",
"item": "v1",
"url": "http://localhost"
}
}
]
},
{
"deploymentTypeId": "environment.v1",
"handlerType": "container",
"parameters": [
{
"name": "image",
"value": "environment.handler:v1"
},
{
"name": "obj",
"value": {
"name": "Name",
"item": "v1",
"url": "http://localhost"
}
}
]
}
]
400 Response
{
"type": "/some/uri-reference",
"title": "some title for the error situation",
"status": 100,
"detail": "some description for the error situation",
"instance": "/some/uri-reference#specific-occurrence-context",
"cause": {
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": null,
"message": null,
"target": null,
"details": null,
"innererror": null
}
],
"innererror": {
"code": "string",
"innererror": {}
}
}
],
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": null,
"innererror": null
}
}
}
}
}
Note
This operation does not require authentication
Code samples
GET http://localhost:3000/deployment-type-handlers HTTP/1.1
Host: localhost:3000
Accept: application/json
# You can also use wget
curl -X GET http://localhost:3000/deployment-type-handlers \
-H 'Accept: application/json'
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('http://localhost:3000/deployment-type-handlers', headers = headers)
print(r.json())
create-deploymentTypeHandler
Operation Id: create-deploymentTypeHandler
Action: POST /deployment-type-handlers
Summary: Create a handler for a deployment type
Body parameter
{
"deploymentTypeId": "string",
"handlerType": "string",
"parameters": [
{
"name": "string",
"value": null
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | DeploymentTypeHandler | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Inline |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | DeploymentTypeId | true | none | The unique identifier of a deployment type |
Example responses
201 Response
Note
This operation does not require authentication
Code samples
POST http://localhost:3000/deployment-type-handlers HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: application/json
# You can also use wget
curl -X POST http://localhost:3000/deployment-type-handlers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('http://localhost:3000/deployment-type-handlers', headers = headers)
print(r.json())
get-deploymentTypeHandler
Operation Id: get-deploymentTypeHandler
Action: GET /deployment-type-handlers/{deploymentType}
Summary: Retrieve existing deployment type handler
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
deploymentType | path | DeploymentTypeId | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DeploymentTypeHandler |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
404 | Not Found | The specified resource was not found | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Note
This operation does not require authentication
Code samples
GET http://localhost:3000/deployment-type-handlers/{deploymentType} HTTP/1.1
Host: localhost:3000
Accept: application/json
# You can also use wget
curl -X GET http://localhost:3000/deployment-type-handlers/{deploymentType} \
-H 'Accept: application/json'
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('http://localhost:3000/deployment-type-handlers/{deploymentType}', headers = headers)
print(r.json())
update-deploymentTypeHandler
Operation Id: update-deploymentTypeHandler
Action: PATCH /deployment-type-handlers/{deploymentType}
Summary: Update deployment type handler
Body parameter
{
"deploymentTypeId": "string",
"handlerType": "string",
"parameters": [
{
"name": "string",
"value": null
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
deploymentType | path | DeploymentTypeId | true | none |
body | body | DeploymentTypeHandler | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DeploymentTypeHandler |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
404 | Not Found | The specified resource was not found | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Note
This operation does not require authentication
Code samples
PATCH http://localhost:3000/deployment-type-handlers/{deploymentType} HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: application/json
# You can also use wget
curl -X PATCH http://localhost:3000/deployment-type-handlers/{deploymentType} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('http://localhost:3000/deployment-type-handlers/{deploymentType}', headers = headers)
print(r.json())
delete-deploymentTypeHandler
Operation Id: delete-deploymentTypeHandler
Action: DELETE /deployment-type-handlers/{deploymentType}
Summary: Delete deployment type handler
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
deploymentType | path | DeploymentTypeId | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | Problem |
401 | Unauthorized | Unauthorized | Problem |
404 | Not Found | The specified resource was not found | Problem |
422 | Unprocessable Entity | Unprocessable Entity | Problem |
500 | Internal Server Error | Internal Server Error | Problem |
Note
This operation does not require authentication
Code samples
DELETE http://localhost:3000/deployment-type-handlers/{deploymentType} HTTP/1.1
Host: localhost:3000
Accept: application/problem+json
# You can also use wget
curl -X DELETE http://localhost:3000/deployment-type-handlers/{deploymentType} \
-H 'Accept: application/problem+json'
import requests
headers = {
'Accept': 'application/problem+json'
}
r = requests.delete('http://localhost:3000/deployment-type-handlers/{deploymentType}', headers = headers)
print(r.json())
Schemas
InnerError
{
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": null,
"innererror": null
}
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
innererror | InnerError | false | none | none |
Error
{
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": "string",
"message": "string",
"target": "string",
"details": [
{}
],
"innererror": {
"code": null,
"innererror": null
}
}
],
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {}
}
}
}
],
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": null,
"innererror": null
}
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
message | string | false | none | none |
target | string | false | none | none |
details | [Error] | false | none | none |
innererror | InnerError | false | none | none |
Problem
{
"type": "/some/uri-reference",
"title": "some title for the error situation",
"status": 100,
"detail": "some description for the error situation",
"instance": "/some/uri-reference#specific-occurrence-context",
"cause": {
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": "string",
"message": "string",
"target": "string",
"details": [
{
"code": null,
"message": null,
"target": null,
"details": null,
"innererror": null
}
],
"innererror": {
"code": "string",
"innererror": {}
}
}
],
"innererror": {
"code": "string",
"innererror": {
"code": "string",
"innererror": {
"code": null,
"innererror": null
}
}
}
}
}
https://datatracker.ietf.org/doc/html/rfc7807
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string(uri) | true | none | A URI reference that uniquely identifies the problem type only in the context of the provided API. Opposed to the specification in RFC-7807, it is neither recommended to be dereferenceable and point to a human-readable documentation nor globally unique for the problem type. |
title | string | false | none | A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized. |
status | integer(int32) | false | none | The HTTP status code generated by the origin server for this occurrence of the problem. |
detail | string | false | none | A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized. |
instance | string(uri-reference) | false | none | A URI reference that identifies the specific occurrence of the problem, e.g. by adding a fragment identifier or sub-path to the problem type. May be used to locate the root of this problem in the source code. |
cause | Error | false | none | none |
DeploymentTypeId
The unique identifier of a deployment type
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | The unique identifier of a deployment type |
DeploymentTypeParameter
{
"type": "string",
"name": "string",
"readonly": false,
"required": false,
"allowedValues": [
null
],
"isIdentifier": false,
"default": null
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | true | none | none |
name | string | true | none | none |
readonly | boolean | false | none | A readonly parameter can only be set while creating a new deployment. |
required | boolean | false | none | none |
allowedValues | [any] | false | none | none |
isIdentifier | boolean | false | none | none |
default | any | false | none | none |
DeploymentTypeDependencyListOperator
The operator to use while checking if a deployment has all required, dependencies specified.
- allOf -> all specified dependencies must be included (specified) in a deployment
- anyOf -> at least one of the dependencies must be included (specified) in a deployment
- oneOf -> exactly one of the dependencies must be included (specified) in a deployment
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | The operator to use while checking if a deployment has all required, dependencies specified. - allOf -> all specified dependencies must be included (specified) in a deployment - anyOf -> at least one of the dependencies must be included (specified) in a deployment - oneOf -> exactly one of the dependencies must be included (specified) in a deployment |
Enumerated Values
Property | Value |
---|---|
anonymous | anyOf |
anonymous | allOf |
anonymous | oneOf |
DeploymentTypeDependencyList
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
operator | DeploymentTypeDependencyListOperator | false | none | The operator to use while checking if a deployment has all required, dependencies specified. - allOf -> all specified dependencies must be included (specified) in a deployment - anyOf -> at least one of the dependencies must be included (specified) in a deployment - oneOf -> exactly one of the dependencies must be included (specified) in a deployment |
items | [DeploymentTypeId] | true | none | [The unique identifier of a deployment type] |
DeploymentType
{
"id": "string",
"displayName": "string",
"dependsOn": {
"operator": "anyOf",
"items": [
"string"
]
},
"disabled": false,
"isConnector": false,
"isContainer": false,
"parameters": [
{
"type": "string",
"name": "string",
"readonly": false,
"required": false,
"allowedValues": [
null
],
"isIdentifier": false,
"default": null
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | DeploymentTypeId | true | none | The unique identifier of a deployment type |
displayName | string | false | none | none |
dependsOn | DeploymentTypeDependencyList | false | none | none |
disabled | boolean | false | none | none |
isConnector | boolean | false | none | Does this type connect at least two other deployment types. |
isContainer | boolean | false | none | Does this type act as a container in which other types can be deployed. |
parameters | [DeploymentTypeParameter] | false | none | Parameters for a deployment type. At least one parameter with isIdentifier=true must be specified, which must be of type string. |
DeploymentTypeHandlerType
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
DeploymentTypeHandlerParameter
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | none |
value | any | true | none | none |
DeploymentTypeHandler
{
"deploymentTypeId": "string",
"handlerType": "string",
"parameters": [
{
"name": "string",
"value": null
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
deploymentTypeId | DeploymentTypeId | true | none | The unique identifier of a deployment type |
handlerType | DeploymentTypeHandlerType | true | none | none |
parameters | [DeploymentTypeHandlerParameter] | false | none | none |