Tech Adapter API
Read this page in wide view mode from here
Tech Adapter API (2.6.3)
A Tech Adapter, previously known as Specific Provisioner, is responsible to provision and unprovision resources into a target technology by leveraging a Witboost descriptor.
By implementing this Open API contract, the Tech Adapter microservice can be used by the Witboost platform to deploy, undeploy, and eventually manage the access control list of the technology components.
Once you deploy the Tech Adapter microservice, you can register it in the Witboost platform using the Builder API. The API is also used to validate the provisioning descriptors and to execute reverse provisioning operations.
A Tech Adapter is not meant to be called directly by users from their browsers, but instead it is called by the Witboost Control Plane. Therefore, the base URL of the API will depend on the network address given by the Kubernetes network e.g. http://<service k8s endpoint name>.<namespace>:<port>. Below, we are providing an example base URL, yours may differ.
Out of the box, Witboost ships with a Mock Tech Adapter which helps to craft use-cases where you just want your deployment pipeline to turn green for some or all components of a project without making any infrastructure change. Please, mind those differences when looking at the base URLs of the HTTP endpoints listed in this specification.
Validate a provisioning request (async)
Start a validation process with the input descriptor and return a token that can be used to check the status of the validation process.
You want to implement this endpoint to assess that the provided resource descriptor conforms to the expected structure and has all the necessary information to be deployed on the infrastructure.
Implementing the asynchronous endpoint rather than the synchronous one is highly recommended even if the validation operation is not time-consuming.
Request Body schema: application/jsonrequired
Details of a provisioning request to be validated
| descriptorKind required | string (DescriptorKind) Enum: "DATAPRODUCT_DESCRIPTOR" "COMPONENT_DESCRIPTOR" "DATAPRODUCT_DESCRIPTOR_WITH_RESULTS" It can change according to the descriptor kind:
|
| descriptor required | string Resource descriptor in YAML format. Its structure changes according to If a component is dependent on another one, the COMPONENT_DESCRIPTOR descriptor will be enriched with the Provisioning Info of the dependency component. This does NOT apply to validation endpoints |
| latestEnrichedDescriptor | string Filled only in case of provision/unprovision requests. System descriptor enriched with provisioning info generated during the latest (successful or failed) provisioning/unprovisioning operation for each component. If available, provisioning information is reported in the Please note that the information contained in a |
| removeData required | boolean Default: false If true, when a component is undeployed, its underlying data will also be deleted |
Responses
Request samples
- Payload
{- "descriptorKind": "DATAPRODUCT_DESCRIPTOR",
- "descriptor": "dataProductOwnerDisplayName: John Smith\nprojectOwner: user:john.smith_example.com\nprojectOwnerDisplayName: John Smith\nenvironment: production\ndomain: finance\nprojectKind: system\nkind: dataproduct\ndomainId: urn:dmb:dmn:finance\nid: urn:dmb:dp:finance:cashflow:0\ndescription: Data product representing operating cashflows\ndevGroup: teamalpha\nownerGroup: john.smith_example.com\ndataProductOwner: user:john.smith_example.com\nversion: 0.1.0\nfullyQualifiedName: Cash Flows\nname: CashFlow\ninformationSLA: daily\nmaturity: Approved\nuseCaseTemplateId: urn:dmb:utm:dataproduct-template:0.0.0\ninfrastructureTemplateId: urn:dmb:itm:dataproduct-provisioner:1\nbilling: {}\ntags: []\nspecific: {}\ncomponents:\n - kind: outputport\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-output-port\n description: Output port exposing cashflow data\n name: CashFlow OutputPort\n fullyQualifiedName: null\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:output-port-provisioner:1\n useCaseTemplateId: urn:dmb:utm:output-port-template:1.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n outputPortType: SQL\n creationDate: null\n startDate: null\n processDescription: null\n dataContract:\n schema:\n - name: id\n dataType: string\n tags: []\n - name: direction\n dataType: string\n tags: []\n - name: amount\n dataType: number\n description: monetary value of the cashflow\n tags: []\n - name: counterpartyId\n dataType: string\n description: identifier of the counterparty\n tags: []\n termsAndConditions: \"\"\n endpoint: null\n SLA:\n intervalOfChange: 2 day\n timeliness: 2 day\n upTime: 99.9%\n dataSharingAgreement:\n purpose: \"\"\n billing: \"\"\n security: \"\"\n intendedUsage: \"\"\n limitations: \"\"\n lifeCycle: \"\"\n confidentiality: \"\"\n tags: []\n sampleData:\n columns:\n - id\n - direction\n - amount\n - counterpartyId\n rows:\n - - CF-001\n - Incoming\n - 10000\n - cpty:12345\n - - CF-002\n - Outgoing\n - 5000\n - cpty:67890\n semanticLinking: []\n specific:\n format: Iceberg\n consumable: true\n shoppable: true\n - kind: workload\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-calculation\n description: Workload that calculates cashflows from input deals\n useCaseTemplateId: urn:dmb:utm:workload-template:0.0.0\n infrastructureTemplateId: urn:dmb:itm:workload-provisioner:1\n fullyQualifiedName: CashFlow Calculation\n name: CashFlow Calculation\n technology: Spark\n version: 0.0.0\n dependsOn:\n - urn:dmb:cmp:finance:cashflow:0:storage-component\n readsFrom: []\n tags: []\n specific: {}\n consumable: false\n shoppable: false\n - kind: storage\n id: urn:dmb:cmp:finance:cashflow:0:storage-component\n description: Internal storage for the data product\n name: Storage Component\n fullyQualifiedName: Internal Storage\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:storage-provisioner:0\n useCaseTemplateId: urn:dmb:utm:storage-template:0.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n storageType: Database\n tags: []\n specific:\n bucket: finance-cashflows\n consumable: false\n shoppable: false",
- "removeData": false
}Response samples
- 202
- 400
- 500
3da5d0a2-9f3b-4a11-85a3-b5ddb73da032
Get status of an async validation task
path Parameters
| token required | string Example: 3da5d0a2-9f3b-4a11-85a3-b5ddb73da032 Token obtained after a call to the async validate endpoint |
Responses
Response samples
- 200
- 400
- 500
{- "status": "COMPLETED",
- "info": {
- "publicInfo": {
- "valid": true
}
}
}Validate a provisioning request (sync)
Synchronously validate a provisioning request and return the validation result.
You want to implement this endpoint to assess that the provided resource descriptor conforms to the expected structure and has all the necessary information to be deployed on the infrastructure.
It is highly recommended to implement the asynchronous validation endpoint instead of this one.
Request Body schema: application/jsonrequired
Details of a provisioning request to be validated
| descriptorKind required | string (DescriptorKind) Enum: "DATAPRODUCT_DESCRIPTOR" "COMPONENT_DESCRIPTOR" "DATAPRODUCT_DESCRIPTOR_WITH_RESULTS" It can change according to the descriptor kind:
|
| descriptor required | string Resource descriptor in YAML format. Its structure changes according to If a component is dependent on another one, the COMPONENT_DESCRIPTOR descriptor will be enriched with the Provisioning Info of the dependency component. This does NOT apply to validation endpoints |
| latestEnrichedDescriptor | string Filled only in case of provision/unprovision requests. System descriptor enriched with provisioning info generated during the latest (successful or failed) provisioning/unprovisioning operation for each component. If available, provisioning information is reported in the Please note that the information contained in a |
| removeData required | boolean Default: false If true, when a component is undeployed, its underlying data will also be deleted |
Responses
Request samples
- Payload
{- "descriptorKind": "DATAPRODUCT_DESCRIPTOR",
- "descriptor": "dataProductOwnerDisplayName: John Smith\nprojectOwner: user:john.smith_example.com\nprojectOwnerDisplayName: John Smith\nenvironment: production\ndomain: finance\nprojectKind: system\nkind: dataproduct\ndomainId: urn:dmb:dmn:finance\nid: urn:dmb:dp:finance:cashflow:0\ndescription: Data product representing operating cashflows\ndevGroup: teamalpha\nownerGroup: john.smith_example.com\ndataProductOwner: user:john.smith_example.com\nversion: 0.1.0\nfullyQualifiedName: Cash Flows\nname: CashFlow\ninformationSLA: daily\nmaturity: Approved\nuseCaseTemplateId: urn:dmb:utm:dataproduct-template:0.0.0\ninfrastructureTemplateId: urn:dmb:itm:dataproduct-provisioner:1\nbilling: {}\ntags: []\nspecific: {}\ncomponents:\n - kind: outputport\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-output-port\n description: Output port exposing cashflow data\n name: CashFlow OutputPort\n fullyQualifiedName: null\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:output-port-provisioner:1\n useCaseTemplateId: urn:dmb:utm:output-port-template:1.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n outputPortType: SQL\n creationDate: null\n startDate: null\n processDescription: null\n dataContract:\n schema:\n - name: id\n dataType: string\n tags: []\n - name: direction\n dataType: string\n tags: []\n - name: amount\n dataType: number\n description: monetary value of the cashflow\n tags: []\n - name: counterpartyId\n dataType: string\n description: identifier of the counterparty\n tags: []\n termsAndConditions: \"\"\n endpoint: null\n SLA:\n intervalOfChange: 2 day\n timeliness: 2 day\n upTime: 99.9%\n dataSharingAgreement:\n purpose: \"\"\n billing: \"\"\n security: \"\"\n intendedUsage: \"\"\n limitations: \"\"\n lifeCycle: \"\"\n confidentiality: \"\"\n tags: []\n sampleData:\n columns:\n - id\n - direction\n - amount\n - counterpartyId\n rows:\n - - CF-001\n - Incoming\n - 10000\n - cpty:12345\n - - CF-002\n - Outgoing\n - 5000\n - cpty:67890\n semanticLinking: []\n specific:\n format: Iceberg\n consumable: true\n shoppable: true\n - kind: workload\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-calculation\n description: Workload that calculates cashflows from input deals\n useCaseTemplateId: urn:dmb:utm:workload-template:0.0.0\n infrastructureTemplateId: urn:dmb:itm:workload-provisioner:1\n fullyQualifiedName: CashFlow Calculation\n name: CashFlow Calculation\n technology: Spark\n version: 0.0.0\n dependsOn:\n - urn:dmb:cmp:finance:cashflow:0:storage-component\n readsFrom: []\n tags: []\n specific: {}\n consumable: false\n shoppable: false\n - kind: storage\n id: urn:dmb:cmp:finance:cashflow:0:storage-component\n description: Internal storage for the data product\n name: Storage Component\n fullyQualifiedName: Internal Storage\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:storage-provisioner:0\n useCaseTemplateId: urn:dmb:utm:storage-template:0.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n storageType: Database\n tags: []\n specific:\n bucket: finance-cashflows\n consumable: false\n shoppable: false",
- "removeData": false
}Response samples
- 200
- 500
{- "valid": true
}Provision a resource
Deploy a system or a single component starting from its descriptor.
The descriptor is a YAML file that describes the resource to be deployed. The structure of the descriptor changes according to the descriptorKind field.
Request Body schema: application/jsonrequired
| descriptorKind required | string (DescriptorKind) Enum: "DATAPRODUCT_DESCRIPTOR" "COMPONENT_DESCRIPTOR" "DATAPRODUCT_DESCRIPTOR_WITH_RESULTS" It can change according to the descriptor kind:
|
| descriptor required | string Resource descriptor in YAML format. Its structure changes according to If a component is dependent on another one, the COMPONENT_DESCRIPTOR descriptor will be enriched with the Provisioning Info of the dependency component. This does NOT apply to validation endpoints |
| latestEnrichedDescriptor | string Filled only in case of provision/unprovision requests. System descriptor enriched with provisioning info generated during the latest (successful or failed) provisioning/unprovisioning operation for each component. If available, provisioning information is reported in the Please note that the information contained in a |
| removeData required | boolean Default: false If true, when a component is undeployed, its underlying data will also be deleted |
Responses
Request samples
- Payload
{- "descriptorKind": "DATAPRODUCT_DESCRIPTOR",
- "descriptor": "dataProductOwnerDisplayName: John Smith\nprojectOwner: user:john.smith_example.com\nprojectOwnerDisplayName: John Smith\nenvironment: production\ndomain: finance\nprojectKind: system\nkind: dataproduct\ndomainId: urn:dmb:dmn:finance\nid: urn:dmb:dp:finance:cashflow:0\ndescription: Data product representing operating cashflows\ndevGroup: teamalpha\nownerGroup: john.smith_example.com\ndataProductOwner: user:john.smith_example.com\nversion: 0.1.0\nfullyQualifiedName: Cash Flows\nname: CashFlow\ninformationSLA: daily\nmaturity: Approved\nuseCaseTemplateId: urn:dmb:utm:dataproduct-template:0.0.0\ninfrastructureTemplateId: urn:dmb:itm:dataproduct-provisioner:1\nbilling: {}\ntags: []\nspecific: {}\ncomponents:\n - kind: outputport\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-output-port\n description: Output port exposing cashflow data\n name: CashFlow OutputPort\n fullyQualifiedName: null\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:output-port-provisioner:1\n useCaseTemplateId: urn:dmb:utm:output-port-template:1.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n outputPortType: SQL\n creationDate: null\n startDate: null\n processDescription: null\n dataContract:\n schema:\n - name: id\n dataType: string\n tags: []\n - name: direction\n dataType: string\n tags: []\n - name: amount\n dataType: number\n description: monetary value of the cashflow\n tags: []\n - name: counterpartyId\n dataType: string\n description: identifier of the counterparty\n tags: []\n termsAndConditions: \"\"\n endpoint: null\n SLA:\n intervalOfChange: 2 day\n timeliness: 2 day\n upTime: 99.9%\n dataSharingAgreement:\n purpose: \"\"\n billing: \"\"\n security: \"\"\n intendedUsage: \"\"\n limitations: \"\"\n lifeCycle: \"\"\n confidentiality: \"\"\n tags: []\n sampleData:\n columns:\n - id\n - direction\n - amount\n - counterpartyId\n rows:\n - - CF-001\n - Incoming\n - 10000\n - cpty:12345\n - - CF-002\n - Outgoing\n - 5000\n - cpty:67890\n semanticLinking: []\n specific:\n format: Iceberg\n consumable: true\n shoppable: true\n - kind: workload\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-calculation\n description: Workload that calculates cashflows from input deals\n useCaseTemplateId: urn:dmb:utm:workload-template:0.0.0\n infrastructureTemplateId: urn:dmb:itm:workload-provisioner:1\n fullyQualifiedName: CashFlow Calculation\n name: CashFlow Calculation\n technology: Spark\n version: 0.0.0\n dependsOn:\n - urn:dmb:cmp:finance:cashflow:0:storage-component\n readsFrom: []\n tags: []\n specific: {}\n consumable: false\n shoppable: false\n - kind: storage\n id: urn:dmb:cmp:finance:cashflow:0:storage-component\n description: Internal storage for the data product\n name: Storage Component\n fullyQualifiedName: Internal Storage\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:storage-provisioner:0\n useCaseTemplateId: urn:dmb:utm:storage-template:0.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n storageType: Database\n tags: []\n specific:\n bucket: finance-cashflows\n consumable: false\n shoppable: false",
- "removeData": false
}Response samples
- 200
- 202
- 400
- 500
{- "status": "COMPLETED",
- "info": {
- "publicInfo": {
- "valid": true
}
}
}Unprovision a resource
Undeploy a system or a single component starting from the latest provisioned descriptor.
The descriptor is a YAML file that describes the resource to be deployed. The structure of the descriptor changes according to the descriptorKind field.
Request Body schema: application/jsonrequired
| descriptorKind required | string (DescriptorKind) Enum: "DATAPRODUCT_DESCRIPTOR" "COMPONENT_DESCRIPTOR" "DATAPRODUCT_DESCRIPTOR_WITH_RESULTS" It can change according to the descriptor kind:
|
| descriptor required | string Resource descriptor in YAML format. Its structure changes according to If a component is dependent on another one, the COMPONENT_DESCRIPTOR descriptor will be enriched with the Provisioning Info of the dependency component. This does NOT apply to validation endpoints |
| latestEnrichedDescriptor | string Filled only in case of provision/unprovision requests. System descriptor enriched with provisioning info generated during the latest (successful or failed) provisioning/unprovisioning operation for each component. If available, provisioning information is reported in the Please note that the information contained in a |
| removeData required | boolean Default: false If true, when a component is undeployed, its underlying data will also be deleted |
Responses
Request samples
- Payload
{- "descriptorKind": "DATAPRODUCT_DESCRIPTOR",
- "descriptor": "dataProductOwnerDisplayName: John Smith\nprojectOwner: user:john.smith_example.com\nprojectOwnerDisplayName: John Smith\nenvironment: production\ndomain: finance\nprojectKind: system\nkind: dataproduct\ndomainId: urn:dmb:dmn:finance\nid: urn:dmb:dp:finance:cashflow:0\ndescription: Data product representing operating cashflows\ndevGroup: teamalpha\nownerGroup: john.smith_example.com\ndataProductOwner: user:john.smith_example.com\nversion: 0.1.0\nfullyQualifiedName: Cash Flows\nname: CashFlow\ninformationSLA: daily\nmaturity: Approved\nuseCaseTemplateId: urn:dmb:utm:dataproduct-template:0.0.0\ninfrastructureTemplateId: urn:dmb:itm:dataproduct-provisioner:1\nbilling: {}\ntags: []\nspecific: {}\ncomponents:\n - kind: outputport\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-output-port\n description: Output port exposing cashflow data\n name: CashFlow OutputPort\n fullyQualifiedName: null\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:output-port-provisioner:1\n useCaseTemplateId: urn:dmb:utm:output-port-template:1.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n outputPortType: SQL\n creationDate: null\n startDate: null\n processDescription: null\n dataContract:\n schema:\n - name: id\n dataType: string\n tags: []\n - name: direction\n dataType: string\n tags: []\n - name: amount\n dataType: number\n description: monetary value of the cashflow\n tags: []\n - name: counterpartyId\n dataType: string\n description: identifier of the counterparty\n tags: []\n termsAndConditions: \"\"\n endpoint: null\n SLA:\n intervalOfChange: 2 day\n timeliness: 2 day\n upTime: 99.9%\n dataSharingAgreement:\n purpose: \"\"\n billing: \"\"\n security: \"\"\n intendedUsage: \"\"\n limitations: \"\"\n lifeCycle: \"\"\n confidentiality: \"\"\n tags: []\n sampleData:\n columns:\n - id\n - direction\n - amount\n - counterpartyId\n rows:\n - - CF-001\n - Incoming\n - 10000\n - cpty:12345\n - - CF-002\n - Outgoing\n - 5000\n - cpty:67890\n semanticLinking: []\n specific:\n format: Iceberg\n consumable: true\n shoppable: true\n - kind: workload\n id: urn:dmb:cmp:finance:cashflow:0:cashflow-calculation\n description: Workload that calculates cashflows from input deals\n useCaseTemplateId: urn:dmb:utm:workload-template:0.0.0\n infrastructureTemplateId: urn:dmb:itm:workload-provisioner:1\n fullyQualifiedName: CashFlow Calculation\n name: CashFlow Calculation\n technology: Spark\n version: 0.0.0\n dependsOn:\n - urn:dmb:cmp:finance:cashflow:0:storage-component\n readsFrom: []\n tags: []\n specific: {}\n consumable: false\n shoppable: false\n - kind: storage\n id: urn:dmb:cmp:finance:cashflow:0:storage-component\n description: Internal storage for the data product\n name: Storage Component\n fullyQualifiedName: Internal Storage\n version: 0.0.0\n infrastructureTemplateId: urn:dmb:itm:storage-provisioner:0\n useCaseTemplateId: urn:dmb:utm:storage-template:0.0.0\n dependsOn: []\n platform: AWS\n technology: S3\n storageType: Database\n tags: []\n specific:\n bucket: finance-cashflows\n consumable: false\n shoppable: false",
- "removeData": false
}Response samples
- 200
- 202
- 400
- 500
{- "status": "COMPLETED",
- "info": {
- "publicInfo": {
- "valid": true
}
}
}Get the status of a provision/unprovision task
Get the status and the results of a provision/unprovision operation.
This endpoint is used by the Provisioning Coordinator to poll the status of a provision/unprovision task.
path Parameters
| token required | string Example: 3da5d0a2-9f3b-4a11-85a3-b5ddb73da032 Provisioning Task Token obtained after a call to the provision or unprovision endpoints |
Responses
Response samples
- 200
- 400
- 500
{- "status": "RUNNING"
}Stop provision/unprovision task
Terminate a provision/unprovision task that is still running.
The tech adapter will use a request coming at this endpoint as a signal to stop the task. The provisioning coordinator will continue to poll the status of a provision/unprovision task by using the token that was returned by the provision/unprovision endpoint and not the one returned here.
The task can be stopped only if the tech adapter supports it, otherwise a 501 error is returned.
path Parameters
| token required | string Example: 3da5d0a2-9f3b-4a11-85a3-b5ddb73da032 Provision/Unprovision Task Token obtained after a call to the provision/unprovision endpoint |
Responses
Response samples
- 200
- 202
- 400
- 500
- 501
{- "status": "TERMINATED"
}Upsert the Access Control List
Create or update the Access Control List of an infrastructural component with the provided identities.
The supplied list of identities refers to the users and groups that need to have access to the component.
This means, Witboost always supplies the full list of identities even if some of them already have access to the underlying infrastructural resource.
Request Body schema: application/jsonrequired
| refs required | Array of strings Identities (i.e. users and groups) that should be registered in the Access Control List of the target component. The format of identities follows the Witboost format. Users are prefixed with |
required | object (ProvisionInfo) Information related to the provisioning workflow of a system |
| accessControlFields | object A free-form object that can be used to store additional information about the access control list request. These values are supplied from the user when using an Access Control Request Template on the UI. |
Responses
Request samples
- Payload
{- "refs": [
- "user:alice_mydomain.com",
- "user:bob_mydomain.com",
- "group:developers_mydomain.com",
- "group:finance_mydomain.com",
- "group:peopleops_mydomain.com"
], - "provisionInfo": {
- "request": "{\"componentIdToProvision\":\"urn:dmb:dp:finance:a-system:0:component:0\",\"dataProduct\":{\"id\":\"urn:dmb:dp:finance:a-system:0\",\"components\":[{\"id\":\"urn:dmb:dp:finance:a-system:0:component:0\",\"name\":\"S3 storage\",\"description\":\"A system that does something\",\"kind\":\"storage\",\"version\":\"0.0.1\"},{\"id\":\"urn:dmb:dp:finance:a-system:0:component:1\",\"name\":\"A system that does something\",\"description\":\"A system that does something\",\"kind\":\"outputport\",\"version\":\"0.0.1\"}]}}",
- "result": "{\"status\":\"COMPLETED\",\"info\":{\"publicInfo\":{\"valid\":true}}}"
}, - "accessControlFields": {
- "additionalInfo": "This is an additional information field that was provided in the Access Control Request Template"
}
}Response samples
- 200
- 202
- 400
- 500
{- "status": "COMPLETED",
- "info": {
- "publicInfo": {
- "valid": true
}
}
}Import an existing resource
Import an existing resource from the infrastructure into Witboost.
This operation is used to reverse provision a component that is already deployed in the target environment.
The reverse provisioning operation is used to import the current state of the component into Witboost, so that it can be tracked by the platform.
Request Body schema: application/jsonrequired
| useCaseTemplateId required | string Component's use case template id |
| environment required | string Target environment |
| params | object Reverse provisioning input params |
| catalogInfo | object Content of the current |
Responses
Request samples
- Payload
{- "useCaseTemplateId": "urn:dmb:utm:aws-s3-object:0",
- "environment": "development"
}Response samples
- 200
- 202
- 400
- 500
{- "status": "COMPLETED",
- "updates": {
- "metadata.fieldA": "valueA",
- "spec.mesh.description": "A system that does something"
}, - "logs": [
- {
- "timestamp": "2021-09-30T10:00:00Z",
- "level": "INFO",
- "message": "Reverse provisioning done"
}
]
}Get status of an import task
Get the status and the results of a reverse provisioning operation.
The reverse provisioning operation is used to import the current state of the component into Witboost, so that it can be tracked by the platform.
path Parameters
| token required | string Example: 3da5d0a2-9f3b-4a11-85a3-b5ddb73da032 Reverse Provisioning Task Token obtained after a call to the import endpoint |
Responses
Response samples
- 200
- 400
- 500
{- "status": "RUNNING"
}