{ "openapi": "3.0.3", "info": { "description": "Resource management API for DSH", "title": "DSH Tenant Resource Management REST API", "version": "1.7.0" }, "servers": [ { "url": "/resources/v0" } ], "security": [ { "tokenAuth": [] } ], "tags": [ { "description": "Manage applications.", "name": "application" }, { "description": "Manage pre-packaged, easily configured apps that you can select from the App Catalog.", "name": "app catalog" }, { "description": "Configure apps you start from the App Catalog.", "name": "app catalog app configuration" }, { "description": "Query what's in the App Catalog.", "name": "app catalog manifest" }, { "description": "Manage object store resources.", "name": "bucket" }, { "description": "Manage object store change events.", "name": "bucket watch" }, { "description": "Manage the sharing of object stores with other tenants and with the outside world.", "name": "bucket access" }, { "description": "Manage access to the object stores of other tenants.", "name": "third party bucket" }, { "description": "Manage certificate resources.", "name": "certificate" }, { "description": "Managed a scalable, PostgreSQL compatible, relational database.", "name": "database" }, { "description": "Manage opt-in for data catalog assets.", "name": "data catalog" }, { "description": "Manage a Flink cluster.", "name": "flink cluster" }, { "description": "Manage Kafka proxies.", "name": "kafka proxy" }, { "description": "Manage other tenants.", "name": "managed tenant" }, { "description": "Manage the limits of other tenants.", "name": "managed tenant limits" }, { "description": "Request and renew Tenant API tokens.", "name": "robot" }, { "description": "Manage secrets.", "name": "secret" }, { "description": "Manage Kafka topics.", "name": "topic" }, { "description": "Manage volumes.", "name": "volume" } ], "paths": { "/allocation/{tenant}/application/configuration": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "$ref": "#/components/schemas/Application" }, "type": "object" } } }, "description": "Returns a json object where the key is the name of an application, and the value is it's respective configuration." } }, "summary": "Returns the configuration of every application created by a given tenant.", "tags": [ "application" ], "operationId": "applicationGetByTenantApplicationConfiguration" } }, "/allocation/{tenant}/application/{appid}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes an application by a specified application id", "tags": [ "application" ], "operationId": "applicationDeleteByTenantApplicationByAppidConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "application": { "$ref": "#/components/examples/application" } }, "schema": { "$ref": "#/components/schemas/Application" } } }, "description": "Returns the service definition of a given application identifier and tenant" } }, "summary": "Returns the configuration of a certain application, specified by the tenant name and application name.", "tags": [ "application" ], "operationId": "applicationGetByTenantApplicationByAppidConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "application": { "$ref": "#/components/examples/application" } }, "schema": { "$ref": "#/components/schemas/Application" } } }, "description": "a JSON containing the configuration of the application you want to deploy", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" }, "500": { "description": "create/update request was not accepted" } }, "summary": "creates an application allocation, or update it's configuration", "tags": [ "application" ], "operationId": "applicationPutByTenantApplicationByAppidConfiguration" } }, "/allocation/{tenant}/application/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "$ref": "#/components/schemas/Application" }, "type": "object" } } }, "description": "returns a JSON object containing the configurations of all application allocations as they are actually deployed. This may differ from the wanted configuration. If an application is stuck while deploying, it will not show up here." } }, "summary": "returns a list containing the configuration of every deployed application of a given tenant", "tags": [ "application" ], "operationId": "applicationGetByTenantApplicationActual" } }, "/allocation/{tenant}/application/{appid}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "objectExample": { "$ref": "#/components/examples/application" } }, "schema": { "$ref": "#/components/schemas/Application" } } }, "description": "returns a JSON object containing the configuration of an application allocation as it is actually deployed. This may differ from the wanted configuration. If an application is stuck while deploying, it will not show up here." } }, "summary": "returns the configuration of a deployed application allocation for a given app id and tenant", "tags": [ "application" ], "operationId": "applicationGetByTenantApplicationByAppidActual" } }, "/allocation/{tenant}/application/{appid}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a status description of an application allocation", "tags": [ "application" ], "operationId": "applicationGetByTenantApplicationByAppidStatus" } }, "/allocation/{tenant}/appcatalogapp/configuration": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "$ref": "#/components/schemas/AppCatalogApp" }, "type": "object" } } }, "description": "configuration of all App Catalog App allocations of a tenant. This may differ from the wanted configuration. This shows the complete configuration of the App Catalog App. To only view the configuration parameters of this allocation, see the `appcatalogappconfiguration` section.\n" } }, "summary": "returns a list containing all App Catalog App allocations and their respective configurations of a given tenant", "tags": [ "app catalog" ], "operationId": "app catalogGetByTenantAppcatalogappConfiguration" } }, "/allocation/{tenant}/appcatalogapp/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "$ref": "#/components/schemas/AppCatalogApp" }, "type": "object" } } }, "description": "configuration of all App Catalog App allocations as they are actually deployed. This may differ from the wanted configuration. This shows the complete configuration of the App Catalog App. To only view the configuration parameters of this allocation, see the `appcatalogappconfiguration` section.\n" } }, "summary": "returns a list containing all App Catalog App allocations and their respective configurations of a given tenant, as they are actually deployed", "tags": [ "app catalog" ], "operationId": "app catalogGetByTenantAppcatalogappActual" } }, "/allocation/{tenant}/appcatalogapp/{appcatalogappid}/configuration": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppCatalogApp" } } }, "description": "a JSON object containing the configuration of an appcatalogapp allocation" } }, "summary": "returns the configuration of an App Catalog App allocation by a specified tenant name and App Catalog App Id. To only view the configuration parameters of this allocation, see the `appcatalogappconfiguration` section.\n", "tags": [ "app catalog" ], "operationId": "app catalogGetByTenantAppcatalogappByAppcatalogappidConfiguration" } }, "/allocation/{tenant}/appcatalogapp/{appcatalogappid}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppCatalogApp" } } }, "description": "a JSON object containing the configuration of an App Catalog App allocation as it is actually deployed. This may differ from the wanted configuration. If an application is stuck while deploying, it will not show up here." } }, "summary": "returns the configuration of an App Catalog App allocation as it is actually deployed. To only view the configuration parameters of this allocation, see the `appcatalogappconfiguration` section.\n", "tags": [ "app catalog" ], "operationId": "app catalogGetByTenantAppcatalogappByAppcatalogappidActual" } }, "/appcatalog/{tenant}/appcatalogapp/{appcatalogappid}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "the delete request has been accepted" } }, "summary": "deletes an App Catalog App", "tags": [ "app catalog app configuration" ], "operationId": "app catalog app configurationDeleteAppcatalogByTenantAppcatalogappByAppcatalogappidConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "appcatalogapp": { "$ref": "#/components/examples/appcatalogappconfiguration" } }, "schema": { "$ref": "#/components/schemas/AppCatalogAppConfiguration" } } }, "description": "A JSON Object containing the wanted configuration of an App Catalog App" } }, "summary": "Returns the wanted configuration of an App Catalog App by its tenant name and AppCatalogApp Id. If an App Catalog App is stuck while deploying and not on actual, it will show up here.", "tags": [ "app catalog app configuration" ], "operationId": "app catalog app configurationGetAppcatalogByTenantAppcatalogappByAppcatalogappidConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "appcatalogapp": { "$ref": "#/components/examples/appcatalogappconfiguration" } }, "schema": { "$ref": "#/components/schemas/AppCatalogAppConfiguration" } } }, "description": "JSON object containing required parameters for AppCatalogApp manifest. This is comparable to the configuration object on a regular Application service.", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" }, "500": { "description": "create/update request was not accepted" } }, "summary": "creates a new App Catalog App, or update its configuration", "tags": [ "app catalog app configuration" ], "operationId": "app catalog app configurationPutAppcatalogByTenantAppcatalogappByAppcatalogappidConfiguration" } }, "/appcatalog/{tenant}/appcatalogapp/{appcatalogappid}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "gets status description of an App Catalog App", "tags": [ "app catalog app configuration" ], "operationId": "app catalog app configurationGetAppcatalogByTenantAppcatalogappByAppcatalogappidStatus" } }, "/appcatalog/{tenant}/manifest": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AppCatalogManifest" }, "type": "array" } } }, "description": "lists AppCatalog manifests" } }, "summary": "returns a list of AppCatalog manifests for a given tenant", "tags": [ "app catalog manifest" ], "operationId": "app catalog manifestGetAppcatalogByTenantManifest" } }, "/allocation/{tenant}/bucketwatch": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "lists all bucketwatches of a tenant", "tags": [ "bucket watch" ], "operationId": "bucket watchGetByTenantBucketwatch" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketwatch": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucketWatchStatus": { "$ref": "#/components/examples/bucketWatchStatus" } }, "schema": { "$ref": "#/components/schemas/BucketWatchStatus" } } }, "description": "the overall status of a specific bucketwatch allocation" } }, "summary": "shows overall status of a bucketwatch allocation", "tags": [ "bucket watch" ], "operationId": "bucket watchGetByTenantBucketByIdBucketwatch" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketwatch/configuration": { "delete": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a bucketwatch", "tags": [ "bucket watch" ], "operationId": "bucket watchDeleteByTenantBucketByIdBucketwatchConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketWatch" } } }, "description": "configuration" } }, "summary": "gets configuration of a bucketwatch allocation", "tags": [ "bucket watch" ], "operationId": "bucket watchGetByTenantBucketByIdBucketwatchConfiguration" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "put": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "creates bucketwatch configuration.", "tags": [ "bucket watch" ], "operationId": "bucket watchPutByTenantBucketByIdBucketwatchConfiguration" } }, "/allocation/{tenant}/bucket/{id}/bucketwatch/actual": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketWatch" } } }, "description": "configuration of a bucketwatch allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "gets actual configuration of a bucketwatch allocation", "tags": [ "bucket watch" ], "operationId": "bucket watchGetByTenantBucketByIdBucketwatchActual" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketwatch/status": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "gets status description of a bucketwatch allocation", "tags": [ "bucket watch" ], "operationId": "bucket watchGetByTenantBucketByIdBucketwatchStatus" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "lists all bucket names of a tenant", "tags": [ "bucket" ], "operationId": "bucketGetByTenantBucket" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucketStatus": { "$ref": "#/components/examples/bucketStatus" } }, "schema": { "$ref": "#/components/schemas/BucketStatus" } } }, "description": "the overall status of a specific bucket allocation along with the bucket's configured and actual state" } }, "summary": "shows overall status of a bucket allocation", "tags": [ "bucket" ], "operationId": "bucketGetByTenantBucketById" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a bucket", "tags": [ "bucket" ], "operationId": "bucketDeleteByTenantBucketByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/bucket" } }, "schema": { "$ref": "#/components/schemas/Bucket" } } }, "description": "configuration" } }, "summary": "gets configuration of a bucket allocation", "tags": [ "bucket" ], "operationId": "bucketGetByTenantBucketByIdConfiguration" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "put": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/bucket" } }, "schema": { "$ref": "#/components/schemas/Bucket" } } }, "description": "the JSON representation of the resource", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "creates bucket configuration.It is impossible to update an existing bucket. This requires a delete of the existing bucket and creation of a new one with the wanted configuration.", "tags": [ "bucket" ], "operationId": "bucketPutByTenantBucketByIdConfiguration" } }, "/allocation/{tenant}/bucket/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/bucket" } }, "schema": { "$ref": "#/components/schemas/Bucket" } } }, "description": "configuration of a bucket allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "gets actual configuration of a bucket allocation", "tags": [ "bucket" ], "operationId": "bucketGetByTenantBucketByIdActual" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "gets status description of a bucket allocation", "tags": [ "bucket" ], "operationId": "bucketGetByTenantBucketByIdStatus" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucketaccess": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "lists all bucketaccesses of a tenant", "tags": [ "bucket access" ], "operationId": "bucket accessGetByTenantBucketaccess" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketaccess": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "shows bucketaccesses about a specific bucket", "tags": [ "bucket access" ], "operationId": "bucket accessGetByTenantBucketByIdBucketaccess" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketaccess/{name}": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketAccessStatus" } } }, "description": "the overall status of a specific bucketaccess allocation along with the its configured and actual state" } }, "summary": "shows overall status of a third party bucket", "tags": [ "bucket access" ], "operationId": "bucket accessGetByTenantBucketByIdBucketaccessByName" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketaccess/{name}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a bucketaccess", "tags": [ "bucket access" ], "operationId": "bucket accessDeleteByTenantBucketByIdBucketaccessByNameConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketAccessConfiguration" } } }, "description": "configuration" } }, "summary": "gets configuration of a bucketaccess allocation", "tags": [ "bucket access" ], "operationId": "bucket accessGetByTenantBucketByIdBucketaccessByNameConfiguration" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } } ], "put": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "request": { "$ref": "#/components/examples/bucketaccesswanted" } }, "schema": { "$ref": "#/components/schemas/BucketAccessConfiguration" } } }, "description": "the wanted config of the (new) bucketaccess allocation", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "creates bucketaccess configuration.", "tags": [ "bucket access" ], "operationId": "bucket accessPutByTenantBucketByIdBucketaccessByNameConfiguration" } }, "/allocation/{tenant}/bucket/{id}/bucketaccess/{name}/actual": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucketaccess": { "$ref": "#/components/examples/bucketaccessactual" } }, "schema": { "$ref": "#/components/schemas/BucketAccess" } } }, "description": "configuration of a bucketaccess allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "gets actual configuration of a bucketaccess allocation", "tags": [ "bucket access" ], "operationId": "bucket accessGetByTenantBucketByIdBucketaccessByNameActual" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/bucket/{id}/bucketaccess/{name}/status": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "gets status description of a bucketaccess allocation", "tags": [ "bucket access" ], "operationId": "bucket accessGetByTenantBucketByIdBucketaccessByNameStatus" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/certificate": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "returns a list of all certificate names that are allocated to a tenant", "tags": [ "certificate" ], "operationId": "certificateGetByTenantCertificate" } }, "/allocation/{tenant}/certificate/{id}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "certificateStatus": { "$ref": "#/components/examples/certificateStatus" } }, "schema": { "$ref": "#/components/schemas/CertificateStatus" } } }, "description": "a JSON object containing the overall status of a specific certificate allocation along with the certificate's configuration and its actual state" } }, "summary": "returns the status of a specific certificate allocation by id", "tags": [ "certificate" ], "operationId": "certificateGetByTenantCertificateById" } }, "/allocation/{tenant}/certificate/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a certificate by id", "tags": [ "certificate" ], "operationId": "certificateDeleteByTenantCertificateByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "certificate": { "$ref": "#/components/examples/certificate" } }, "schema": { "$ref": "#/components/schemas/Certificate" } } }, "description": "a JSON object containing the configuration of a certain certificate" } }, "summary": "returns the configuration of a certificate allocation", "tags": [ "certificate" ], "operationId": "certificateGetByTenantCertificateByIdConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "certificate": { "$ref": "#/components/examples/certificate" } }, "schema": { "$ref": "#/components/schemas/Certificate" } } }, "description": "the JSON object containing the configuration of a certificate. certChainSecret and keySecret must be known to the platform.", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "create a new certificate. It is impossible to update an existing certificate. This requires a delete of the existing certificate and creation of a new one with the wanted configuration.", "tags": [ "certificate" ], "operationId": "certificatePutByTenantCertificateByIdConfiguration" } }, "/allocation/{tenant}/certificate/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "certificate": { "$ref": "#/components/examples/certificate" } }, "schema": { "$ref": "#/components/schemas/Certificate" } } }, "description": "a JSON object containing the configuration of a certificate allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "returns the actual configuration of a certificate allocation. This may not represent the wanted configuration.", "tags": [ "certificate" ], "operationId": "certificateGetByTenantCertificateByIdActual" } }, "/allocation/{tenant}/certificate/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a certificate allocation", "tags": [ "certificate" ], "operationId": "certificateGetByTenantCertificateByIdStatus" } }, "/allocation/{tenant}/database": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "(beta release) lists ids of all databases of a tenant", "tags": [ "database" ], "operationId": "databaseGetByTenantDatabase" } }, "/allocation/{tenant}/database/{id}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "databaseStatus": { "$ref": "#/components/examples/databaseStatus" } }, "schema": { "$ref": "#/components/schemas/DatabaseStatus" } } }, "description": "the overall status of a specific database allocation along with the database's configured and actual state" } }, "summary": "(beta release) gets overall status of a database allocation", "tags": [ "database" ], "operationId": "databaseGetByTenantDatabaseById" } }, "/allocation/{tenant}/database/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "(beta release) deletes a database", "tags": [ "database" ], "operationId": "databaseDeleteByTenantDatabaseByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "database": { "$ref": "#/components/examples/database" } }, "schema": { "$ref": "#/components/schemas/Database" } } }, "description": "returns the configuration for this database allocation" } }, "summary": "(beta release) gets configuration for a database allocation", "tags": [ "database" ], "operationId": "databaseGetByTenantDatabaseByIdConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "database": { "$ref": "#/components/examples/database" } }, "schema": { "$ref": "#/components/schemas/Database" } } }, "description": "the JSON representation of the resource", "required": true }, "responses": { "202": { "description": "create request has been accepted" } }, "summary": "(beta release) creates a database configuration. It is impossible to update an existing database.", "tags": [ "database" ], "operationId": "databasePutByTenantDatabaseByIdConfiguration" } }, "/allocation/{tenant}/database/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "database": { "$ref": "#/components/examples/database" } }, "schema": { "$ref": "#/components/schemas/Database" } } }, "description": "configuration of a database allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "(beta release) gets actual state for a database allocation", "tags": [ "database" ], "operationId": "databaseGetByTenantDatabaseByIdActual" } }, "/allocation/{tenant}/database/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "(beta release) gets status description of a database allocation", "tags": [ "database" ], "operationId": "databaseGetByTenantDatabaseByIdStatus" } }, "/allocation/{tenant}/datacatalog/asset/{kind}": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "lists all data catalog assets of a tenant for the given kind", "tags": [ "data catalog" ], "operationId": "data catalogGetByTenantDatacatalogAssetByKind" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } } ] }, "/allocation/{tenant}/datacatalog/asset/{kind}/{name}": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "description": "data catalog asset name", "example": "my-bucket", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "dataCatalogAssetStatus": { "$ref": "#/components/examples/dataCatalogAssetStatus" } }, "schema": { "$ref": "#/components/schemas/DataCatalogAssetStatus" } } }, "description": "the overall status of a specific data catalog asset allocation along with the asset's configured and actual state" } }, "summary": "shows overall status of a datacatalog asset allocation", "tags": [ "data catalog" ], "operationId": "data catalogGetByTenantDatacatalogAssetByKindByName" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "description": "data catalog asset name", "example": "my-bucket", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/datacatalog/asset/{kind}/{name}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "description": "data catalog asset name", "example": "my-bucket", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a dataCatalogAsset", "tags": [ "data catalog" ], "operationId": "data catalogDeleteByTenantDatacatalogAssetByKindByNameConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "description": "data catalog asset name", "example": "my-bucket", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/dataCatalogAsset" } }, "schema": { "$ref": "#/components/schemas/DataCatalogAsset" } } }, "description": "configuration" } }, "summary": "gets configuration of a data catalog asset allocation", "tags": [ "data catalog" ], "operationId": "data catalogGetByTenantDatacatalogAssetByKindByNameConfiguration" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "description": "data catalog asset name", "example": "my-bucket", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } } ], "put": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "data catalog asset kind", "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "bucket", "writablestream" ], "type": "string" } }, { "description": "data catalog asset name", "example": "my-bucket", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/dataCatalogAsset" } }, "schema": { "$ref": "#/components/schemas/DataCatalogAsset" } } }, "description": "the JSON representation of the resource", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "creates dataCatalogAsset configuration.", "tags": [ "data catalog" ], "operationId": "data catalogPutByTenantDatacatalogAssetByKindByNameConfiguration" } }, "/allocation/{tenant}/flinkcluster": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "flinkClusterStatus": { "$ref": "#/components/examples/flinkClusterStatus" } }, "schema": { "$ref": "#/components/schemas/FlinkClusterStatus" } } }, "description": "a JSON object containing a Flink Cluster's overall status, actual state and its configuration" } }, "summary": "returns the overall status of a Flink Cluster", "tags": [ "flink cluster" ], "operationId": "flink clusterGetByTenantFlinkcluster" } }, "/allocation/{tenant}/flinkcluster/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a Flink Cluster. Since only one cluster can be created per tenant, only the tenants' name needs to be specified.", "tags": [ "flink cluster" ], "operationId": "flink clusterDeleteByTenantFlinkclusterConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "flinkCluster": { "$ref": "#/components/examples/flinkCluster" } }, "schema": { "$ref": "#/components/schemas/FlinkCluster" } } }, "description": "a JSON object containing the configuration of a Flink Cluster" } }, "summary": "returns the configuration of a Flink Cluster", "tags": [ "flink cluster" ], "operationId": "flink clusterGetByTenantFlinkclusterConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "flinkCluster": { "$ref": "#/components/examples/flinkCluster" } }, "schema": { "$ref": "#/components/schemas/FlinkCluster" } } }, "description": "a JSON object containing the desired configuration of the Flink Cluster. Zone must be known to the platform.", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "create a new Flink Cluster. It is impossible to update an existing Flink Cluster. This requires a delete of the existing Flink Cluster and creation of a new one with the wanted configuration.", "tags": [ "flink cluster" ], "operationId": "flink clusterPutByTenantFlinkclusterConfiguration" } }, "/allocation/{tenant}/flinkcluster/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "flinkCluster": { "$ref": "#/components/examples/flinkCluster" } }, "schema": { "$ref": "#/components/schemas/FlinkCluster" } } }, "description": "a JSON object containing the configuration of a Flink Cluster as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "returns the actual configuration of a Flink Cluster.", "tags": [ "flink cluster" ], "operationId": "flink clusterGetByTenantFlinkclusterActual" } }, "/allocation/{tenant}/flinkcluster/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a Flink Cluster", "tags": [ "flink cluster" ], "operationId": "flink clusterGetByTenantFlinkclusterStatus" } }, "/allocation/{tenant}/kafkaproxy": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "returns a list of all kafka proxies of a tenant", "tags": [ "kafka proxy" ], "operationId": "kafka proxyGetByTenantKafkaproxy" } }, "/allocation/{tenant}/kafkaproxy/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "Kafka proxy id", "example": "kafka-proxy-id", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a kafka proxy", "tags": [ "kafka proxy" ], "operationId": "kafka proxyDeleteByTenantKafkaproxyByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "Kafka proxy id", "example": "kafka-proxy-id", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "kafkaProxy": { "$ref": "#/components/examples/kafkaProxy" } }, "schema": { "$ref": "#/components/schemas/KafkaProxy" } } }, "description": "Returns the service definition of a given kafka proxy" } }, "summary": "Returns the configuration of a certain kafka Proxy, specified by the tenant name and kafka Proxy name.", "tags": [ "kafka proxy" ], "operationId": "kafka proxyGetByTenantKafkaproxyByIdConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "Kafka proxy id", "example": "kafka-proxy-id", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "kafkaProxy": { "$ref": "#/components/examples/kafkaProxy" } }, "schema": { "$ref": "#/components/schemas/KafkaProxy" } } }, "description": "the kafka proxy configuration options", "required": true }, "responses": { "200": { "description": "the secret value is updated" } }, "summary": "update the value of the kafka proxy", "tags": [ "kafka proxy" ], "operationId": "kafka proxyPutByTenantKafkaproxyByIdConfiguration" } }, "/robot/{tenant}/generate-secret": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "value": "7c75t59f-8b8b-4ec4-abn5-1dae68f38d4b" }, "schema": { "$ref": "#/components/schemas/ClientSecret" } } }, "description": "triggers the generation of a new Client Secret for the tenant\u2019s robot account. __This automatically invalidates the existing client secret __, and returns a new client secret in the response body!" } }, "summary": "generate new client secret for a tenant", "tags": [ "robot" ], "operationId": "robotGetRobotByTenantGenerate-secret" } }, "/allocation/{tenant}/secret": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "returns a list of all secret names of a tenant", "tags": [ "secret" ], "operationId": "secretGetByTenantSecret" }, "post": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "secret": { "$ref": "#/components/examples/secret" } }, "schema": { "$ref": "#/components/schemas/Secret" } } }, "description": "a JSON object containing the name and the secret value", "required": true }, "responses": { "201": { "description": "the secret value is updated" } }, "summary": "create a new secret", "tags": [ "secret" ], "operationId": "secretPostByTenantSecret" } }, "/allocation/{tenant}/secret/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a secret", "tags": [ "secret" ], "operationId": "secretDeleteByTenantSecretByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Empty" } } }, "description": "a JSON object containing the configuration of this secret allocation" } }, "summary": "returns the configuration of a secret allocation", "tags": [ "secret" ], "operationId": "secretGetByTenantSecretByIdConfiguration" } }, "/allocation/{tenant}/secret/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Empty" } } }, "description": "The response body will be empty, but a 200 response indicates that the secret is created." } }, "summary": "returns the actual state of a secret. The response body will always be empty because we cannot share the secret value, but the response code will tell you more about its state.", "tags": [ "secret" ], "operationId": "secretGetByTenantSecretByIdActual" } }, "/allocation/{tenant}/secret/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a secret allocation", "tags": [ "secret" ], "operationId": "secretGetByTenantSecretByIdStatus" } }, "/allocation/{tenant}/secret/{id}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "text/plain": { "schema": { "type": "string" } } }, "description": "the secret value as a string" } }, "summary": "returns the value of a secret", "tags": [ "secret" ], "operationId": "secretGetByTenantSecretById" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "example": "my new secret value", "schema": { "type": "string" } } }, "description": "the secret value as a string", "required": true }, "responses": { "200": { "description": "the secret value is updated" } }, "summary": "update the value of a secret", "tags": [ "secret" ], "operationId": "secretPutByTenantSecretById" } }, "/allocation/{tenant}/task": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "return a list containing the ids of all applications with derived tasks", "tags": [ "application" ], "operationId": "applicationGetByTenantTask" } }, "/allocation/{tenant}/task/{appid}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "return a list containing the ids of an application's derived tasks", "tags": [ "application" ], "operationId": "applicationGetByTenantTaskByAppid" } }, "/allocation/{tenant}/task/{appid}/{id}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "task name", "example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "taskStatus": { "$ref": "#/components/examples/taskStatus" } }, "schema": { "$ref": "#/components/schemas/TaskStatus" } } }, "description": "a JSON object containing the overall status of a specific task allocation along with the task's configured and actual state" } }, "summary": "returns overall status of a task", "tags": [ "application" ], "operationId": "applicationGetByTenantTaskByAppidById" } }, "/allocation/{tenant}/task/{appid}/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "task name", "example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "task": { "$ref": "#/components/examples/task" } }, "schema": { "$ref": "#/components/schemas/Task" } } }, "description": "a JSON object containing the actual state of a specific task. This may differ from the task's configured state" } }, "summary": "returns the actual state of a specific task", "tags": [ "application" ], "operationId": "applicationGetByTenantTaskByAppidByIdActual" } }, "/allocation/{tenant}/task/{appid}/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "task name", "example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a task", "tags": [ "application" ], "operationId": "applicationGetByTenantTaskByAppidByIdStatus" } }, "/allocation/{tenant}/bucket/fromthirdparty": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "lists only bucket names of a tenant that originated from a third party bucket", "tags": [ "third party bucket" ], "operationId": "third party bucketGetByTenantBucketFromthirdparty" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/thirdpartybucketconcession": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "list summaries of third party buckets, registered using credentials shared to you by a third party", "tags": [ "third party bucket" ], "operationId": "third party bucketGetByTenantThirdpartybucketconcession" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } } ], "post": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "registration": { "$ref": "#/components/examples/thirdpartybucketRegistration" } }, "schema": { "$ref": "#/components/schemas/ThirdPartyBucketConcessionRegistration" } } }, "description": "the secret value", "required": true }, "responses": { "201": { "description": "the third party bucket has been registered, and should soon be listable together with the resulting bucket." } }, "summary": "register a new bucket concession for which credentials were shared to you by a third party", "tags": [ "third party bucket" ], "operationId": "third party bucketPostByTenantThirdpartybucketconcession" } }, "/allocation/{tenant}/thirdpartybucketconcession/{id}": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucketStatus": { "$ref": "#/components/examples/thirdpartybucketConcessionStatus" } }, "schema": { "$ref": "#/components/schemas/ThirdPartyBucketConcessionStatus" } } }, "description": "the overall status of a specific third party bucket along with the concession's configured and actual state" } }, "summary": "shows overall status of a third party bucket", "tags": [ "third party bucket" ], "operationId": "third party bucketGetByTenantThirdpartybucketconcessionById" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/thirdpartybucketconcession/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "unregisters a third party bucket. This will also remove the virtual bucket.", "tags": [ "third party bucket" ], "operationId": "third party bucketDeleteByTenantThirdpartybucketconcessionByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/thirdpartybucketConcession" } }, "schema": { "$ref": "#/components/schemas/ThirdPartyBucketConcession" } } }, "description": "configuration" } }, "summary": "gets configuration of a third party bucket (received bucket access) allocation", "tags": [ "third party bucket" ], "operationId": "third party bucketGetByTenantThirdpartybucketconcessionByIdConfiguration" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/thirdpartybucketconcession/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "bucket": { "$ref": "#/components/examples/thirdpartybucketConcession" } }, "schema": { "$ref": "#/components/schemas/ThirdPartyBucketConcession" } } }, "description": "configuration" } }, "summary": "gets actual configuration of a third party bucket (received bucket access) allocation", "tags": [ "third party bucket" ], "operationId": "third party bucketGetByTenantThirdpartybucketconcessionByIdActual" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/thirdpartybucketconcession/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "gets status description of third party bucket (received bucket access) allocation", "tags": [ "third party bucket" ], "operationId": "third party bucketGetByTenantThirdpartybucketconcessionByIdStatus" }, "parameters": [ { "description": "tenant name", "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" } }, { "description": "your name of choice for the third party bucket", "example": "bucket-shared-with-me", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ] }, "/allocation/{tenant}/topic": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "returns a list of topics of a tenant", "tags": [ "topic" ], "operationId": "topicGetByTenantTopic" } }, "/allocation/{tenant}/topic/{id}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "topicStatus": { "$ref": "#/components/examples/topicStatus" } }, "schema": { "$ref": "#/components/schemas/TopicStatus" } } }, "description": "a JSON object containing the overall status of a specific topic allocation along with the topic's configured and actual state" } }, "summary": "returns the overall status of a topic allocation", "tags": [ "topic" ], "operationId": "topicGetByTenantTopicById" } }, "/allocation/{tenant}/topic/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a topic", "tags": [ "topic" ], "operationId": "topicDeleteByTenantTopicByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "topic": { "$ref": "#/components/examples/topic" } }, "schema": { "$ref": "#/components/schemas/Topic" } } }, "description": "a JSON object containing the configuration of a topic allocation" } }, "summary": "returns the configuration of a topic allocation", "tags": [ "topic" ], "operationId": "topicGetByTenantTopicByIdConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "topic": { "$ref": "#/components/examples/topic" } }, "schema": { "$ref": "#/components/schemas/Topic" } } }, "description": "the JSON object containing the configuration of the desired topic", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" } }, "summary": "create a new topic. It is impossible to update an existing topic. This requires a delete of the existing topic and creation of a new one with the wanted configuration.", "tags": [ "topic" ], "operationId": "topicPutByTenantTopicByIdConfiguration" } }, "/allocation/{tenant}/topic/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "topic": { "$ref": "#/components/examples/topic" } }, "schema": { "$ref": "#/components/schemas/Topic" } } }, "description": "a JSON object containing the configuration of a topic allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "returns actual configuration of a topic allocation", "tags": [ "topic" ], "operationId": "topicGetByTenantTopicByIdActual" } }, "/allocation/{tenant}/topic/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a topic allocation", "tags": [ "topic" ], "operationId": "topicGetByTenantTopicByIdStatus" } }, "/allocation/{tenant}/volume": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "returns a list containing the ids of all volumes of a given tenant", "tags": [ "volume" ], "operationId": "volumeGetByTenantVolume" } }, "/allocation/{tenant}/volume/{id}": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "volumeStatus": { "$ref": "#/components/examples/volumeStatus" } }, "schema": { "$ref": "#/components/schemas/VolumeStatus" } } }, "description": "a JSON object containing the overall status of a specific volume allocation along with the volume's configured and actual state" } }, "summary": "returns the overall status of a volume allocation", "tags": [ "volume" ], "operationId": "volumeGetByTenantVolumeById" } }, "/allocation/{tenant}/volume/{id}/configuration": { "delete": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a volume", "tags": [ "volume" ], "operationId": "volumeDeleteByTenantVolumeByIdConfiguration" }, "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "volume": { "$ref": "#/components/examples/volume" } }, "schema": { "$ref": "#/components/schemas/Volume" } } }, "description": "a JSON object containing the configuration for a volume allocation" } }, "summary": "returns the configuration for a volume allocation", "tags": [ "volume" ], "operationId": "volumeGetByTenantVolumeByIdConfiguration" }, "put": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "volume": { "$ref": "#/components/examples/volume" } }, "schema": { "$ref": "#/components/schemas/Volume" } } }, "description": "the JSON object containing the desired configuration of a volume allocation", "required": true }, "responses": { "202": { "description": "create request has been accepted" } }, "summary": "create a new volume configuration. It is impossible to update an existing volume. This requires a delete of the existing volume and creation of a new one with the wanted configuration.", "tags": [ "volume" ], "operationId": "volumePutByTenantVolumeByIdConfiguration" } }, "/allocation/{tenant}/volume/{id}/actual": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "volume": { "$ref": "#/components/examples/volume" } }, "schema": { "$ref": "#/components/schemas/Volume" } } }, "description": "a JSOn object containing the configuration of a volume allocation as it is actually deployed. This may differ from the wanted configuration" } }, "summary": "returns the actual state for a volume allocation", "tags": [ "volume" ], "operationId": "volumeGetByTenantVolumeByIdActual" } }, "/allocation/{tenant}/volume/{id}/status": { "get": { "parameters": [ { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a volume allocation", "tags": [ "volume" ], "operationId": "volumeGetByTenantVolumeByIdStatus" } }, "/manage/{manager}/tenant": { "get": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildList" } } }, "description": "returns a list of ids representing child resources of the requested resource" } }, "summary": "returns a list of tenants managed by the `manager` tenant", "tags": [ "managed tenant" ], "operationId": "managed tenantGetManageByManagerTenant" } }, "/manage/{manager}/tenant/{tenant}/configuration": { "delete": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "202": { "description": "delete request has been accepted" } }, "summary": "deletes a managed tenant for the managing tenant", "tags": [ "managed tenant" ], "operationId": "managed tenantDeleteManageByManagerTenantByTenantConfiguration" }, "get": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "managedTenant": { "$ref": "#/components/examples/managedTenant" } }, "schema": { "$ref": "#/components/schemas/ManagedTenant" } } }, "description": "a JSON object containing the configuration of a managed tenant as it is configured on the current system. This may differ from the wanted configuration." } }, "summary": "returns the configuration of tenant as managed by the manager", "tags": [ "managed tenant" ], "operationId": "managed tenantGetManageByManagerTenantByTenantConfiguration" }, "put": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "managedTenant": { "$ref": "#/components/examples/managedTenant" } }, "schema": { "$ref": "#/components/schemas/ManagedTenant" } } }, "description": "the JSON object containing the configuration of the managed tenant", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" }, "400": { "description": "The provided input was rejected" } }, "summary": "creates and/or updates a managed tenant for managing tenant or update its configuration", "tags": [ "managed tenant" ], "operationId": "managed tenantPutManageByManagerTenantByTenantConfiguration" } }, "/manage/{manager}/tenant/{tenant}/actual": { "get": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "managedTenant": { "$ref": "#/components/examples/managedTenant" } }, "schema": { "$ref": "#/components/schemas/ManagedTenant" } } }, "description": "a JSOn object containing the configuration of a managed tenant allocation as it is actually deployed. This may differ from the wanted configuration." } }, "summary": "returns the actual state for a managed tenant allocation", "tags": [ "managed tenant" ], "operationId": "managed tenantGetManageByManagerTenantByTenantActual" } }, "/manage/{manager}/tenant/{tenant}/status": { "get": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "example": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] }, "schema": { "$ref": "#/components/schemas/AllocationStatus" } } }, "description": "status of the allocation" } }, "summary": "returns a brief status description of a managed tenant allocation", "tags": [ "managed tenant" ], "operationId": "managed tenantGetManageByManagerTenantByTenantStatus" } }, "/manage/{manager}/tenant/{tenant}/limit": { "get": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "allLimits": { "$ref": "#/components/examples/managedTenantLimitListAll" } }, "schema": { "items": { "$ref": "#/components/schemas/LimitValue" }, "type": "array" } } }, "description": "a JSON list with all limits of the managed tenant" } }, "summary": "get all limits of a managed tenant", "tags": [ "managed tenant limits" ], "operationId": "managed tenant limitsGetManageByManagerTenantByTenantLimit" }, "patch": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "someLimits": { "$ref": "#/components/examples/managedTenantLimitListSome" }, "allLimits": { "$ref": "#/components/examples/managedTenantLimitListAll" } }, "schema": { "items": { "$ref": "#/components/schemas/LimitValue" }, "type": "array" } } }, "description": "a JSON list with multiple limits of the managed tenant", "required": true }, "responses": { "202": { "description": "create/update request has been accepted for each limit" }, "400": { "description": "the provided input was rejected for one or more limits" } }, "summary": "update multiple limits of a managed tenant", "tags": [ "managed tenant limits" ], "operationId": "managed tenant limitsPatchManageByManagerTenantByTenantLimit" } }, "/manage/{manager}/tenant/{tenant}/limit/{kind}": { "get": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "Limit request type", "example": "cpu", "explode": false, "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "cpu", "mem", "certificatecount", "secretcount", "topiccount", "partitioncount", "consumerrate", "producerrate", "requestrate" ], "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "cpu": { "$ref": "#/components/examples/managedTenantLimitCpu" }, "mem": { "$ref": "#/components/examples/managedTenantLimitMem" }, "certificatecount": { "$ref": "#/components/examples/managedTenantLimitCertificateCount" }, "secretcount": { "$ref": "#/components/examples/managedTenantLimitSecretCount" }, "topiccount": { "$ref": "#/components/examples/managedTenantLimitTopicCount" }, "partitioncount": { "$ref": "#/components/examples/managedTenantLimitPartitionCount" }, "consumerrate": { "$ref": "#/components/examples/managedTenantLimitConsumerRate" }, "producerrate": { "$ref": "#/components/examples/managedTenantLimitProducerRate" }, "requestrate": { "$ref": "#/components/examples/managedTenantLimitRequestRate" } }, "schema": { "$ref": "#/components/schemas/LimitValue" } } }, "description": "a JSON object containing the specified limit kind value of a managed tenant" } }, "summary": "get a specific managed tenant limit set by the managing tenant", "tags": [ "managed tenant limits" ], "operationId": "managed tenant limitsGetManageByManagerTenantByTenantLimitByKind" }, "put": { "parameters": [ { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, { "description": "Limit request type", "example": "cpu", "explode": false, "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "cpu", "mem", "certificatecount", "secretcount", "topiccount", "partitioncount", "consumerrate", "producerrate", "requestrate" ], "type": "string" }, "style": "simple" }, { "name": "Authorization", "in": "header", "description": "Authorization header (bearer token)", "required": true, "deprecated": false, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "examples": { "cpu": { "$ref": "#/components/examples/managedTenantLimitCpu" }, "mem": { "$ref": "#/components/examples/managedTenantLimitMem" }, "certificatecount": { "$ref": "#/components/examples/managedTenantLimitCertificateCount" }, "secretcount": { "$ref": "#/components/examples/managedTenantLimitSecretCount" }, "topiccount": { "$ref": "#/components/examples/managedTenantLimitTopicCount" }, "partitioncount": { "$ref": "#/components/examples/managedTenantLimitPartitionCount" }, "consumerrate": { "$ref": "#/components/examples/managedTenantLimitConsumerRate" }, "producerrate": { "$ref": "#/components/examples/managedTenantLimitProducerRate" }, "requestrate": { "$ref": "#/components/examples/managedTenantLimitRequestRate" } }, "schema": { "$ref": "#/components/schemas/LimitValue" } } }, "description": "the JSON object containing the limit configuration of the managed tenant", "required": true }, "responses": { "202": { "description": "create/update request has been accepted" }, "400": { "description": "the provided input was rejected" } }, "summary": "create and/or update the configured limits for a managed tenant", "tags": [ "managed tenant limits" ], "operationId": "managed tenant limitsPutManageByManagerTenantByTenantLimitByKind" } } }, "components": { "examples": { "application": { "description": "an example application", "value": { "name": "simpleweb-test", "image": "registry.cp.kpn-dsh.com/dshdemo/simpleweb:1.0.0", "cpus": 0.1, "mem": 256, "env": { "MY_VARIABLE": "{ concat('I am running on ', variables('DSH_ENVIRONMENT'), ' blank ') }" }, "instances": 1, "singleInstance": true, "needsToken": true, "metrics": { "port": 7070, "path": "/metrics" }, "readableStreams": [ "stream.airpollution", "stream.weather" ], "writableStreams": [ "stream.metrics" ], "topics": [ "duptest" ], "secrets": [ { "name": "satellite-api-key", "injections": [ { "env": "SATELLITE_API_KEY" } ] } ], "user": "1673:1673" } }, "appcatalogappconfiguration": { "description": "an example appcatalogappconfiguration", "value": { "manifestUrn": "appcatalog/manifest/klarrio/whoami/0.0.1", "stopped": false, "name": "whoami", "configuration": { "@uid": "1674", "@gid": "1674", "LOG_LEVEL": "warn", "LOG_LEVEL_MONITOR": "warn", "LOG_LEVEL_SERVICE": "warn" } } }, "allocationStatus": { "description": "an example application", "value": { "derivedFrom": "optional URN of optional parent allocation", "provisioned": true, "notifications": [] } }, "certificate": { "description": "an example certificate", "value": { "certChainSecret": "ctest-deployment-certificate", "keySecret": "ctest-deployment-key" } }, "certificateStatus": { "description": "an example CertificateStatus", "value": { "configuration": { "certChainSecret": "ctest-deployment-certificate", "keySecret": "ctest-deployment-key" }, "actual": { "certChainSecret": "ctest-deployment-certificate", "keySecret": "ctest-deployment-key" }, "status": { "provisioned": true, "notifications": [] } } }, "database": { "description": "an example database", "value": { "instances": 3, "cpus": 1.0, "mem": 2048, "volumeSize": 10, "extensions": [], "version": "", "snapshotInterval": 0 } }, "databaseStatus": { "description": "an example databaseStatus", "value": { "configuration": { "instances": 3, "cpus": 1.0, "mem": 2048, "volumeSize": 10, "extensions": [], "version": "", "snapshotInterval": 0 }, "actual": { "instances": 3, "cpus": 1.0, "mem": 2048, "volumeSize": 10, "extensions": [], "version": "", "snapshotInterval": 0 }, "status": { "provisioned": true, "notifications": [] } } }, "flinkCluster": { "description": "an example flinkCluster", "value": { "jobManager": { "cpus": 0.3, "mem": 1024 }, "taskManager": { "instances": 2, "cpus": 0.3, "mem": 3072 }, "version": "1.12", "zone": "public" } }, "flinkClusterStatus": { "description": "an example FlinkClusterStatus", "value": { "configuration": { "jobManager": { "cpus": 0.3, "mem": 1024 }, "taskManager": { "instances": 2, "cpus": 0.3, "mem": 3072 }, "version": "1.12", "zone": "public" }, "actual": { "jobManager": { "cpus": 0.3, "mem": 1024 }, "taskManager": { "instances": 2, "cpus": 0.3, "mem": 3072 }, "version": "1.12", "zone": "public" }, "status": { "provisioned": true, "notifications": [] } } }, "managedTenant": { "description": "an example managed tenant", "value": { "name": "a-tenant", "manager": "managing-tenant", "services": [ { "name": "vpn", "enabled": false }, { "name": "monitoring", "enabled": true }, { "name": "tracing", "enabled": true } ] } }, "managedTenantLimitListAll": { "description": "an example of all managed tenant limits as a list", "value": [ { "name": "cpu", "value": 0.5 }, { "name": "mem", "value": 4096 }, { "name": "certificatecount", "value": 10 }, { "name": "secretcount", "value": 10 }, { "name": "topiccount", "value": 10 }, { "name": "partitioncount", "value": 10 }, { "cname": "onsumerrate", "value": 1048576 }, { "name": "producerrate", "value": 1048576 }, { "name": "requestrate", "value": 50 } ] }, "managedTenantLimitListSome": { "description": "an example of some managed tenant limits as a list", "value": [ { "name": "cpu", "value": 0.5 }, { "name": "mem", "value": 4096 } ] }, "managedTenantLimitCpu": { "description": "an example of the managed tenant limit for vCPU quota", "value": { "name": "cpu", "value": 0.5 } }, "managedTenantLimitMem": { "description": "an example of the managed tenant limit for memory (MiB)", "value": { "name": "mem", "value": 4096 } }, "managedTenantLimitCertificateCount": { "description": "an example of the managed tenant limit for certificates", "value": { "name": "certificateCount", "value": 10 } }, "managedTenantLimitSecretCount": { "description": "an example of the managed tenant limit for secrets", "value": { "name": "secretCount", "value": 10 } }, "managedTenantLimitTopicCount": { "description": "an example of the managed tenant limit for topics", "value": { "name": "topicCount", "value": 10 } }, "managedTenantLimitPartitionCount": { "description": "an example of the managed tenant limit for partitions", "value": { "name": "partitionCount", "value": 10 } }, "managedTenantLimitConsumerRate": { "description": "an example of the managed tenant limit for Kafka consumer rate (bytes/s)", "value": { "name": "consumerRate", "value": 1048576 } }, "managedTenantLimitProducerRate": { "description": "an example of the managed tenant limit for Kafka producer rate (bytes/s)", "value": { "name": "producerRate", "value": 1048576 } }, "managedTenantLimitRequestRate": { "description": "an example of the managed tenant limit for Kafka request rate (%)", "value": { "name": "requestRate", "value": 50 } }, "kafkaProxy": { "description": "an example of a Kafka proxy configuration", "value": { "name": "test-proxy", "zone": "public", "instances": 1, "cpus": 1.0, "mem": 1024, "secretNameCaChain": "test-proxy-ca-chain", "certificate": "test-certificate", "schemaStore": true, "schemaStoreCpus": 0.1, "schemaStoreMem": 256, "validations": [ { "commonName": "tenant-common-name", "country": "NL", "locality": "Rotterdam", "organization": "KPN", "organizationalUnit": "DSH", "province": "Zuid-Holland", "subjectType": "EXACT" } ] } }, "secret": { "description": "an example secret", "value": { "name": "secret-name", "value": "secret-value" } }, "task": { "description": "an example task", "value": { "healthy": true, "host": "10.0.2.36", "stagedAt": "2017-12-07T10:53:46.643Z", "startedAt": "2017-12-07T10:55:41.765Z", "stoppedAt": "2017-12-07T10:58:41.765Z", "lastUpdate": 1639161445, "state": "RUNNING" } }, "taskStatus": { "description": "an example taskStatus", "value": { "configuration": { "healthy": true, "host": "10.0.2.36", "stagedAt": "2017-12-07T10:53:46.643Z", "startedAt": "2017-12-07T10:55:41.765Z", "stoppedAt": "2017-12-07T10:58:41.765Z", "lastUpdate": 1639161445, "state": "RUNNING" }, "actual": { "healthy": true, "host": "10.0.2.36", "stagedAt": "2017-12-07T10:53:46.643Z", "startedAt": "2017-12-07T10:55:41.765Z", "stoppedAt": "2017-12-07T10:58:41.765Z", "lastUpdate": 1639161445, "state": "RUNNING" }, "status": { "provisioned": true, "notifications": [] } } }, "topic": { "description": "an example topic", "value": { "partitions": 2, "replicationFactor": 1 } }, "topicStatus": { "description": "an example topicStatus", "value": { "configuration": { "partitions": 2, "replicationFactor": 1 }, "actual": { "partitions": 2, "replicationFactor": 1 }, "status": { "provisioned": true, "notifications": [] } } }, "volume": { "description": "an example volume", "value": { "sizeGiB": 1 } }, "volumeStatus": { "description": "an example volumeStatus", "value": { "configuration": { "sizeGiB": 1 }, "actual": { "sizeGiB": 1 }, "status": { "provisioned": true, "notifications": [] } } }, "bucketWatchStatus": { "description": "an example BucketWatchStatus", "value": { "configuration": { "bucket": "twitter-app-bucket" }, "actual": { "bucket": "twitter-app-bucket" }, "status": { "provisioned": true, "notifications": [] } } }, "bucketStatus": { "description": "an example BucketStatus", "value": { "configuration": { "versioned": false, "encrypted": true }, "actual": { "versioned": false, "encrypted": true }, "status": { "provisioned": true, "notifications": [] } } }, "bucket": { "description": "an example bucket", "value": { "versioned": false, "encrypted": true } }, "bucketaccesswanted": { "description": "an example BucketAccess allocation request", "value": { "name": "baz-shared", "bucket": "baz", "readable": true, "writable": true } }, "bucketaccessactual": { "description": "a example BucketAccess as actually deployed", "value": { "name": "baz-shared", "bucket": "baz", "readable": true, "writable": true, "credentialidentifierref": "bucketaccess_baz-shared_identifier", "credentialsecretref": "bucketaccess_baz-shared_secret" } }, "dataCatalogAssetStatus": { "description": "an example DataCatalogAssetStatus", "value": { "configuration": { "versioned": false, "encrypted": true }, "actual": { "versioned": false, "encrypted": true }, "status": { "provisioned": true, "notifications": [] } } }, "dataCatalogAsset": { "description": "an example data catalog asset", "value": { "kind": "bucket", "name": "my-bucket" } }, "thirdpartybucketRegistration": { "description": "an example thirdpartybucketregistration", "value": { "name": "bucket-imported-from-foo", "shareidentifier": "allocation/foo/bucketaccess/baz-shared", "credentialidentifierplaintext": "AIKAsomething", "credentialsecretplaintext": "longseeminglyrandomsecretvalue" } }, "thirdpartybucketConcessionStatus": { "description": "an example ThirdPartyBucketConcessionStatus", "value": { "configuration": { "name": "bucket-imported-from-foo", "credentialidentifierref": "receivedbucketaccess_bucket-imported-from-foo_identifier", "credentialsecretref": "receivedbucketaccess_bucket-imported-from-foo_secret", "shareidentifier": "allocation/foo/bucketaccess/baz-shared" }, "actual": { "name": "bucket-imported-from-foo", "readable": true, "writable": true, "credentialidentifierref": "receivedbucketaccess_bucket-imported-from-foo_identifier", "credentialsecretref": "receivedbucketaccess_bucket-imported-from-foo_secret", "shareidentifier": "allocation/foo/bucketaccess/baz-shared" }, "status": { "provisioned": true, "notifications": [] } } }, "thirdpartybucketConcession": { "description": "an example ThirdPartyBucketConcession", "value": { "name": "bucket-imported-from-foo", "readable": true, "writable": true, "credentialidentifierref": "receivedbucketaccess_bucket-imported-from-foo_identifier", "credentialsecretref": "receivedbucketaccess_bucket-imported-from-foo_secret", "shareidentifier": "allocation/foo/bucketaccess/baz-shared" } } }, "parameters": { "AppID": { "description": "application name", "example": "simpleweb-test", "explode": false, "in": "path", "name": "appid", "required": true, "schema": { "type": "string" }, "style": "simple" }, "AppCatalogAppID": { "description": "appcatalogapp name", "example": "eavesdropper", "explode": false, "in": "path", "name": "appcatalogappid", "required": true, "schema": { "type": "string" }, "style": "simple" }, "BucketId": { "description": "bucket name", "example": "twitter-app-bucket", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, "BucketAccessName": { "description": "bucket access name", "example": "twitter-app-bucket-readonly", "in": "path", "name": "name", "required": true, "schema": { "type": "string" } }, "CertificateId": { "description": "certificate name", "example": "kafka-proxy-certificate", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, "DatabaseId": { "description": "database name", "example": "db1", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, "KafkaProxyId": { "description": "Kafka proxy id", "example": "kafka-proxy-id", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, "LimitKind": { "description": "Limit request type", "example": "cpu", "explode": false, "in": "path", "name": "kind", "required": true, "schema": { "enum": [ "cpu", "mem", "certificatecount", "secretcount", "topiccount", "partitioncount", "consumerrate", "producerrate", "requestrate" ], "type": "string" }, "style": "simple" }, "Manager": { "description": "Name of the tenant that is acting as manager for this request", "example": "manager-tenant", "explode": false, "in": "path", "name": "manager", "required": true, "schema": { "type": "string" }, "style": "simple" }, "SecretId": { "description": "secret name", "example": "proximity-certificate-key", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, "TaskId": { "description": "task name", "example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, "Tenant": { "description": "tenant name", "example": "tenant-a", "explode": false, "in": "path", "name": "tenant", "required": true, "schema": { "type": "string" }, "style": "simple" }, "TopicId": { "description": "topic name", "example": "flinkjob-input", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" }, "VolumeId": { "description": "volume name", "example": "flinkjob-store", "explode": false, "in": "path", "name": "id", "required": true, "schema": { "type": "string" }, "style": "simple" } }, "responses": { "200-AllocationStatus": { "$ref": "./openapi-common.yml#/components/responses/200-AllocationStatus" }, "200-ChildList": { "$ref": "./openapi-common.yml#/components/responses/200-ChildList" } }, "schemas": { "ActualCertificate": { "allOf": [ { "$ref": "#/components/schemas/Certificate" }, { "$ref": "#/components/schemas/ActualCertificate_allOf" } ], "description": "information on a certificate which is provisioned on the platform", "type": "object" }, "AllocationStatus": { "example": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] }, "properties": { "derivedFrom": { "description": "pointer to the parent allocation or limit that caused this allocation to be implicitly created\n", "type": "string" }, "provisioned": { "description": "indicates whether configuration and actual state match", "type": "boolean" }, "notifications": { "items": { "$ref": "#/components/schemas/Notification" }, "type": "array" } }, "required": [ "notifications", "provisioned" ], "type": "object" }, "Application": { "example": { "image": "image", "spreadGroup": "spreadGroup", "readableStreams": [ "readableStreams", "readableStreams" ], "cpus": 0.8008281904610115, "instances": 0, "exposedPorts": { "key": { "mode": "mode", "vhost": "vhost", "auth": "auth", "paths": [ { "prefix": "prefix" }, { "prefix": "prefix" } ], "serviceGroup": "serviceGroup", "tls": "auto", "whitelist": "whitelist" } }, "topics": [ "topics", "topics" ], "volumes": { "key": { "name": "name" } }, "env": { "key": "env" }, "secrets": [ { "injections": [ { "key": "injections" }, { "key": "injections" } ], "name": "name" }, { "injections": [ { "key": "injections" }, { "key": "injections" } ], "name": "name" } ], "mem": 0, "writableStreams": [ "writableStreams", "writableStreams" ], "healthCheck": { "path": "/", "protocol": "http", "port": 0 }, "needsToken": true, "singleInstance": false, "metrics": { "path": "/metrics", "port": 0 }, "user": "user" }, "properties": { "cpus": { "description": "How many CPUs this application needs (0.5 = 50% of 1 cpu)", "type": "number" }, "mem": { "description": "Amount of memory your application needs in MB", "minimum": 0, "type": "integer" }, "env": { "additionalProperties": { "type": "string" }, "description": "Environment variables", "type": "object" }, "exposedPorts": { "additionalProperties": { "$ref": "#/components/schemas/PortMapping" }, "description": "Exposes ports of your application outside the platform", "type": "object" }, "healthCheck": { "$ref": "#/components/schemas/HealthCheck" }, "image": { "description": "The container image to launch", "format": "docker_repo/tag:version", "type": "string" }, "instances": { "default": 1, "description": "Number of instances that need to be spun up for this app", "minimum": 0, "type": "integer" }, "needsToken": { "default": true, "description": "If true, the platform will provision a secret token in the `DSH_SECRET_TOKEN` environment variable. This token can be exchanged for a client certificate that can be used for authentication to, amongst others, the Kafka brokers.\n", "type": "boolean" }, "singleInstance": { "default": false, "description": "If true, the platform will ensure that there is always at most one instance of this application running at the same time. This impacts restart and upgrade behavior: A single-instance application will be terminated before a replacement is started, whereas an application that is not single-instance will remain running until its replacement has started and reports healthy. **Note** Applications that define volumes are always implicitly treated as single-instance, even if this flag is not set.", "type": "boolean" }, "user": { "description": "The userid:groupid combination used to start the application container.", "format": "userid:groupid", "type": "string" }, "metrics": { "$ref": "#/components/schemas/Metrics" }, "spreadGroup": { "description": "The spread group - if any - to be used to ensure instances of one or more applications are not scheduled onto the same node.", "type": "string" }, "secrets": { "items": { "$ref": "#/components/schemas/ApplicationSecret" }, "type": "array" }, "topics": { "description": "names of scratch topics to which the application needs access.", "items": { "type": "string" }, "type": "array" }, "readableStreams": { "description": "names of streams to which the application needs read access.", "items": { "type": "string" }, "type": "array" }, "writableStreams": { "description": "names of streams to which the application needs write access.", "items": { "type": "string" }, "type": "array" }, "volumes": { "additionalProperties": { "$ref": "#/components/schemas/Application_volumes" }, "description": "The volumes to be mounted in the container. The dictionary key is the mount point.", "type": "object" } }, "required": [ "cpus", "image", "mem", "user" ], "type": "object" }, "ApplicationSecret": { "description": "a secret to be injected as an environment variable in the application", "example": { "injections": [ { "key": "injections" }, { "key": "injections" } ], "name": "name" }, "properties": { "name": { "description": "the secret's name", "type": "string" }, "injections": { "description": "a list of environment variable names. The secret's value may be injected multiple times as different environment variables, so multiple environment variable names for the same secret can be provided", "items": { "additionalProperties": { "type": "string" }, "type": "object" }, "type": "array" } }, "required": [ "injections", "name" ], "type": "object" }, "AppCatalogApp": { "example": { "manifestUrn": "manifestUrn", "configuration": "configuration", "name": "name", "resources": { "key": "" } }, "properties": { "name": { "type": "string" }, "configuration": { "type": "string" }, "manifestUrn": { "type": "string" }, "resources": { "additionalProperties": { "oneOf": [ { "$ref": "#/components/schemas/Application" }, { "$ref": "#/components/schemas/Bucket" }, { "$ref": "#/components/schemas/Certificate" }, { "$ref": "#/components/schemas/Secret" }, { "$ref": "#/components/schemas/Topic" }, { "$ref": "#/components/schemas/Vhost" }, { "$ref": "#/components/schemas/Volume" } ] }, "description": "child resources", "type": "object" } }, "required": [ "manifestUrn", "name", "resources" ], "type": "object" }, "AppCatalogAppConfiguration": { "example": { "stopped": true, "manifestUrn": "manifestUrn", "configuration": { "key": "configuration" }, "name": "name" }, "properties": { "name": { "type": "string" }, "manifestUrn": { "type": "string" }, "stopped": { "type": "boolean" }, "configuration": { "additionalProperties": { "type": "string" }, "description": "configuration parameters to be used in AppCatalog manifest", "type": "object" } }, "required": [ "configuration", "manifestUrn", "name", "stopped" ], "type": "object" }, "AppCatalogManifest": { "example": { "payload": "payload", "draft": true, "lastModified": 0.8008281904610115 }, "properties": { "lastModified": { "description": "creation timestamp of the secret", "type": "number" }, "payload": { "type": "string" }, "draft": { "type": "boolean" } }, "required": [ "draft", "lastModified", "payload" ], "type": "object" }, "Bucket": { "example": { "encrypted": true, "versioned": true }, "properties": { "versioned": { "type": "boolean" }, "encrypted": { "type": "boolean" } }, "required": [ "encrypted", "versioned" ], "type": "object" }, "BucketStatus": { "example": { "actual": { "encrypted": true, "versioned": true }, "configuration": { "encrypted": true, "versioned": true }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/Bucket" }, "actual": { "$ref": "#/components/schemas/Bucket" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "BucketWatch": { "example": { "bucket": "bucket" }, "properties": { "bucket": { "type": "string" } }, "required": [ "bucket" ], "type": "object" }, "Certificate": { "description": "information on a certificate which is wanted on the platform but may not yet be provisioned", "example": { "certChainSecret": "certChainSecret", "passphraseSecret": "passphraseSecret", "keySecret": "keySecret" }, "properties": { "keySecret": { "type": "string" }, "certChainSecret": { "type": "string" }, "passphraseSecret": { "type": "string" } }, "required": [ "certChainSecret", "keySecret" ], "type": "object" }, "CertificateStatus": { "example": { "actual": null, "configuration": { "certChainSecret": "certChainSecret", "passphraseSecret": "passphraseSecret", "keySecret": "keySecret" }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/Certificate" }, "actual": { "$ref": "#/components/schemas/ActualCertificate" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "ClientSecret": { "example": { "createdDate": 0.8008281904610115, "value": "value" }, "properties": { "value": { "description": "the secret value", "type": "string" }, "createdDate": { "description": "creation timestamp of the secret", "type": "number" } }, "required": [ "value" ], "type": "object" }, "Database": { "example": { "extensions": [ "postgis", "postgres_fdw", "uuid-ossp" ], "mem": 3072, "instances": 3, "cpus": 1.0, "snapshotInterval": 3600, "version": "2.11.1.0-8", "volumeSize": 10 }, "properties": { "instances": { "example": 3, "minimum": 3, "type": "integer" }, "cpus": { "example": 1.0, "minimum": 0.5, "type": "number" }, "mem": { "example": 3072, "minimum": 2048, "type": "integer" }, "volumeSize": { "example": 10, "minimum": 10, "type": "integer" }, "extensions": { "example": [ "postgis", "postgres_fdw", "uuid-ossp" ], "items": { "type": "string" }, "type": "array" }, "version": { "example": "2.11.1.0-8", "type": "string" }, "snapshotInterval": { "example": 3600, "minimum": 3600, "type": "integer" } }, "required": [ "cpus", "instances", "mem", "volumeSize" ], "type": "object" }, "DatabaseStatus": { "example": { "actual": { "extensions": [ "postgis", "postgres_fdw", "uuid-ossp" ], "mem": 3072, "instances": 3, "cpus": 1.0, "snapshotInterval": 3600, "version": "2.11.1.0-8", "volumeSize": 10 }, "configuration": { "extensions": [ "postgis", "postgres_fdw", "uuid-ossp" ], "mem": 3072, "instances": 3, "cpus": 1.0, "snapshotInterval": 3600, "version": "2.11.1.0-8", "volumeSize": 10 }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/Database" }, "actual": { "$ref": "#/components/schemas/Database" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "KafkaProxyStatus": { "properties": { "configuration": { "$ref": "#/components/schemas/KafkaProxy" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "Empty": { "additionalProperties": false, "properties": {}, "type": "object" }, "FlinkCluster": { "example": { "zone": "zone", "jobManager": { "mem": 1024, "cpus": 0.3 }, "taskManager": { "mem": 3072, "instances": 2, "cpus": 0.3 }, "version": "version" }, "properties": { "version": { "description": "Flink version", "type": "string" }, "jobManager": { "$ref": "#/components/schemas/FlinkJobManager" }, "taskManager": { "$ref": "#/components/schemas/FlinkTaskManager" }, "zone": { "description": "Network zone this cluster needs to run in. /components/schemas/Zone contains a list of available network zones in this platform.", "type": "string" } }, "required": [ "version", "zone" ], "type": "object" }, "FlinkJobManager": { "example": { "mem": 1024, "cpus": 0.3 }, "properties": { "cpus": { "description": "CPU quota for the Flink job manager (minimum 0.3 = 30% of 1 CPU)", "example": 0.3, "minimum": 0.3, "type": "number" }, "mem": { "description": "Memory (MB) for this Flink job manager (minimum 1024 = 1 GB)", "example": 1024, "minimum": 1024, "type": "integer" } }, "required": [ "cpus", "mem" ], "type": "object" }, "FlinkClusterStatus": { "example": { "actual": { "zone": "zone", "jobManager": { "mem": 1024, "cpus": 0.3 }, "taskManager": { "mem": 3072, "instances": 2, "cpus": 0.3 }, "version": "version" }, "configuration": { "zone": "zone", "jobManager": { "mem": 1024, "cpus": 0.3 }, "taskManager": { "mem": 3072, "instances": 2, "cpus": 0.3 }, "version": "version" }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/FlinkCluster" }, "actual": { "$ref": "#/components/schemas/FlinkCluster" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "FlinkTaskManager": { "example": { "mem": 3072, "instances": 2, "cpus": 0.3 }, "properties": { "instances": { "description": "Number of Flink task managers (minimum 1)", "example": 2, "minimum": 1, "type": "integer" }, "cpus": { "description": "CPU quota for each Flink task manager (minimum 0.3 = 30% of 1 CPU)", "example": 0.3, "minimum": 0.3, "type": "number" }, "mem": { "description": "Memory (MB) for each Flink task manager (minimum 1024 = 1 GB)", "example": 3072, "minimum": 1024, "type": "integer" } }, "required": [ "cpus", "instances", "mem" ], "type": "object" }, "HealthCheck": { "example": { "path": "/", "protocol": "http", "port": 0 }, "properties": { "port": { "default": 7070, "description": "The TCP port for the health check\n", "minimum": 0, "type": "integer" }, "path": { "default": "/", "description": "The HTTP path for the health check\n", "type": "string" }, "protocol": { "description": "The protocol for for the health check (http or https)\n", "enum": [ "http", "https" ], "type": "string" } }, "type": "object" }, "KafkaProxy": { "example": { "mem": 3072, "zone": "internal", "cpus": 0.3, "instances": 2, "schemaStoreCpus": 0.1, "secretNameCaChain": "secretNameCaChain", "name": "name", "certificate": "certificate", "validations": [ { "commonName": "commonName", "country": "country", "province": "province", "organization": "organization", "locality": "locality", "subjectType": "subjectType", "organizationalUnit": "organizationalUnit" }, { "commonName": "commonName", "country": "country", "province": "province", "organization": "organization", "locality": "locality", "subjectType": "subjectType", "organizationalUnit": "organizationalUnit" } ], "schemaStore": true, "schemaStoreMem": 256 }, "properties": { "name": { "description": "Name of the new Kafka Proxy", "type": "string" }, "zone": { "description": "Available networks on this platform", "enum": [ "internal", "public" ], "type": "string" }, "cpus": { "description": "CPU quota for each Kafka Proxy (minimum 0.3 = 30% of 1 CPU)", "example": 0.3, "minimum": 0.3, "type": "number" }, "mem": { "description": "Memory (MB) for each Kafka Proxy (minimum 1024 = 1 GB)", "example": 3072, "minimum": 1024, "type": "integer" }, "instances": { "description": "Number of instances", "example": 2, "minimum": 1, "type": "integer" }, "secretNameCaChain": { "description": "Secret name containing the Ca Cert", "type": "string" }, "certificate": { "description": "Secret name with the server certificate", "type": "string" }, "schemaStore": { "description": "Set to True no enable Schema Store", "type": "boolean" }, "schemaStoreCpus": { "description": "CPU quota for Schema Store (minimum 0.3 = 30% of 1 CPU)", "example": 0.1, "minimum": 0.1, "type": "number" }, "schemaStoreMem": { "description": "Memory (MB) for Schema Store (minimum 256MB)", "example": 256, "minimum": 256, "type": "integer" }, "validations": { "items": { "$ref": "#/components/schemas/Validations" }, "type": "array" } }, "required": [ "certificate", "cpus", "instances", "mem", "secretNameCaChain", "zone" ], "type": "object" }, "KafkaProxyValidation": { "description": "client certificate validations, only non empty values taken in account, no values means no validation", "properties": { "commonName": { "type": "string" }, "country": { "type": "string" }, "locality": { "type": "string" }, "organization": { "type": "string" }, "organizationalUnit": { "type": "string" }, "province": { "type": "string" }, "subjectType": { "description": "EXACT for exact match, PATTERN for pattern match", "enum": [ "EXACT", "PATTERN" ], "type": "string" } }, "required": [ "subjectType" ], "type": "object" }, "LimitValue": { "discriminator": { "mapping": { "cpu": "#/components/schemas/LimitValueCpu", "mem": "#/components/schemas/LimitValueMem", "certificateCount": "#/components/schemas/LimitValueCertificateCount", "secretCount": "#/components/schemas/LimitValueSecretCount", "topicCount": "#/components/schemas/LimitValueTopicCount", "partitionCount": "#/components/schemas/LimitValuePartitionCount", "consumerRate": "#/components/schemas/LimitValueConsumerRate", "producerRate": "#/components/schemas/LimitValueProducerRate", "requestRate": "#/components/schemas/LimitValueRequestRate" }, "propertyName": "name" }, "oneOf": [ { "$ref": "#/components/schemas/LimitValueCpu" }, { "$ref": "#/components/schemas/LimitValueMem" }, { "$ref": "#/components/schemas/LimitValueCertificateCount" }, { "$ref": "#/components/schemas/LimitValueSecretCount" }, { "$ref": "#/components/schemas/LimitValueTopicCount" }, { "$ref": "#/components/schemas/LimitValuePartitionCount" }, { "$ref": "#/components/schemas/LimitValueConsumerRate" }, { "$ref": "#/components/schemas/LimitValueProducerRate" }, { "$ref": "#/components/schemas/LimitValueRequestRate" } ] }, "BaseLimitValue": { "properties": { "name": { "enum": [ "cpu", "mem", "certificateCount", "secretCount", "topicCount", "partitionCount", "consumerRate", "producerRate", "requestRate" ], "type": "string" } }, "required": [ "name" ], "type": "object" }, "LimitValueCpu": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueCpu_allOf" } ] }, "LimitValueMem": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueMem_allOf" } ] }, "LimitValueCertificateCount": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueCertificateCount_allOf" } ] }, "LimitValueSecretCount": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueSecretCount_allOf" } ] }, "LimitValueTopicCount": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueTopicCount_allOf" } ] }, "LimitValuePartitionCount": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValuePartitionCount_allOf" } ] }, "LimitValueConsumerRate": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueConsumerRate_allOf" } ] }, "LimitValueProducerRate": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueProducerRate_allOf" } ] }, "LimitValueRequestRate": { "allOf": [ { "$ref": "#/components/schemas/BaseLimitValue" }, { "$ref": "#/components/schemas/LimitValueRequestRate_allOf" } ] }, "ManagedTenant": { "example": { "manager": "manager", "name": "name", "services": [ { "name": "vpn", "enabled": true }, { "name": "vpn", "enabled": true } ] }, "properties": { "name": { "description": "Name of the tenant. Must be identical to the tenant name used in the path.", "type": "string" }, "manager": { "description": "Name of the tenant that is acting as manager for this tenant. \nMust be identical to the `manager` parameter in the path.\n", "type": "string" }, "services": { "default": [ { "name": "monitoring", "enabled": true }, { "name": "vpn", "enabled": false }, { "name": "tracing", "enabled": false } ], "description": "List of services that are enabled for this tenant. At this point, `monitoring` is a requirement (it's \n`enabled` value must be `true`). The default values for `tracing` and `vpn` are both `false`. The `vpn`\nservice is only available on some platforms. Requesting it on a platform that doesn't support it will \ncause the request to be rejected.\n", "items": { "$ref": "#/components/schemas/ManagedTenant_services" }, "type": "array" } }, "required": [ "manager", "name" ], "type": "object" }, "Metrics": { "description": "metrics endpoint which will be scraped by the platform.", "example": { "path": "/metrics", "port": 0 }, "properties": { "port": { "default": 7070, "description": "The TCP port for the metrics endpoint\n", "minimum": 0, "type": "integer" }, "path": { "default": "/metrics", "description": "The HTTP path for the metrics endpoint\n", "type": "string" } }, "type": "object" }, "Notification": { "example": { "args": { "key": "args" }, "message": "message", "remove": true }, "properties": { "remove": { "description": "true if the notification has to do with removal of the allocation, false if it relates to creation/update of the resource", "type": "boolean" }, "message": { "type": "string" }, "args": { "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "message", "remove" ], "type": "object" }, "PortMapping": { "example": { "mode": "mode", "vhost": "vhost", "auth": "auth", "paths": [ { "prefix": "prefix" }, { "prefix": "prefix" } ], "serviceGroup": "serviceGroup", "tls": "auto", "whitelist": "whitelist" }, "properties": { "auth": { "description": "TODO", "type": "string" }, "mode": { "description": "Routing mode. The allowed values are:\n * `http` (default if this property is omitted). HTTP routing and TLS termination are done by the platform. In this case, the `tls` and (optionally) `paths` settings should be configured as well.\n * `tcp/`. The platform only does plain TCP routing, with TLS pass-through. When set, the `tls` and `paths` settings are ignored. The application is responsible for TLS termination and certificate management. There are various possible values for `` that may appear when listing allocation configurations, but the only value that is allowed to be set in regular application allocations is `tcp/https`.\n * `tcp/https`. Any traffic arriving on `:443` will be forwarded (TLS included) to the service.\n * `tcp/kafka-proxy` is used by Kafka Proxies. This endpoint is auto-configured by the platform when allocating a Kafka Proxy application and should *not* be used when allocating regular applications.\n * `tcp/vpn-tcp` is used by a VPN application. This endpoint is auto-configured by the platform when allocating a VPN application and should *not* be used when allocating regular applications.\n", "type": "string" }, "paths": { "description": "The paths which are allowed on the associated vhost", "items": { "$ref": "#/components/schemas/PathSpec" }, "type": "array" }, "tls": { "description": "The default is 'auto', indicating that the port will only accept secured connections. Put this to 'none' if you do not want the service to have a secure endpoint.", "enum": [ "auto", "none" ], "type": "string" }, "vhost": { "description": "The host name that needs to be assigned to this port (for multiple names, separate them with commas)", "type": "string" }, "whitelist": { "description": "Put ip addresses or ip ranges that can call this service here (for multiple addresses, separate them with spaces)", "type": "string" }, "serviceGroup": { "description": "To load balance traffic between different services, use this optional field to put those services in the same service group. Choose any name consisting of all lowercase letters.", "type": "string" } }, "type": "object" }, "PathSpec": { "example": { "prefix": "prefix" }, "properties": { "prefix": { "description": "The path prefix (starting with `/`, ending without `/`) that will be matched for routing to this service.", "type": "string" } }, "required": [ "prefix" ], "type": "object" }, "Secret": { "example": { "name": "name", "value": "value" }, "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "Task": { "example": { "healthy": true, "host": "10.0.2.36", "stagedAt": "2017-12-07T10:53:46.643Z", "startedAt": "2017-12-07T10:55:41.765Z", "stoppedAt": "2017-12-07T10:58:41.765Z", "lastUpdate": 1638980430, "state": "RUNNING" }, "properties": { "healthy": { "description": "false or true depending on health checks (empty if no health checks)\n", "type": "boolean" }, "host": { "description": "The IP address of the host the task is running on (not the IP address of the task itself)\n", "format": "ipv4", "type": "string" }, "logs": { "description": "Optional link to the latest log dump for this task", "format": "url", "type": "string" }, "stagedAt": { "description": "Staging time of the task", "format": "date-time", "type": "string" }, "startedAt": { "description": "Start time of the task", "format": "date-time", "type": "string" }, "stoppedAt": { "description": "Stopped time of the task", "format": "date-time", "type": "string" }, "lastUpdate": { "description": "Timestamp of the last time the task was updated", "format": "int64", "type": "integer" }, "state": { "description": "The state the task is in", "enum": [ "DROPPED", "ERROR", "FAILED", "FINISHED", "GONE", "GONE_BY_OPERATOR", "KILLED", "KILLING", "LOST", "RUNNING", "STAGING", "STARTING", "UNKNOWN", "UNREACHABLE" ], "type": "string" } }, "required": [ "host", "stagedAt", "startedAt", "state" ], "type": "object" }, "TaskStatus": { "example": { "actual": { "healthy": true, "host": "10.0.2.36", "stagedAt": "2017-12-07T10:53:46.643Z", "startedAt": "2017-12-07T10:55:41.765Z", "stoppedAt": "2017-12-07T10:58:41.765Z", "lastUpdate": 1638980430, "state": "RUNNING" }, "configuration": { "healthy": true, "host": "10.0.2.36", "stagedAt": "2017-12-07T10:53:46.643Z", "startedAt": "2017-12-07T10:55:41.765Z", "stoppedAt": "2017-12-07T10:58:41.765Z", "lastUpdate": 1638980430, "state": "RUNNING" }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/Task" }, "actual": { "$ref": "#/components/schemas/Task" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "Topic": { "example": { "partitions": 0, "replicationFactor": 6, "kafkaProperties": { "key": "kafkaProperties" } }, "properties": { "partitions": { "type": "integer" }, "replicationFactor": { "type": "integer" }, "kafkaProperties": { "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "partitions", "replicationFactor" ], "type": "object" }, "TopicStatus": { "example": { "actual": { "partitions": 0, "replicationFactor": 6, "kafkaProperties": { "key": "kafkaProperties" } }, "configuration": { "partitions": 0, "replicationFactor": 6, "kafkaProperties": { "key": "kafkaProperties" } }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/Topic" }, "actual": { "$ref": "#/components/schemas/Topic" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "Validations": { "example": { "commonName": "commonName", "country": "country", "province": "province", "organization": "organization", "locality": "locality", "subjectType": "subjectType", "organizationalUnit": "organizationalUnit" }, "properties": { "commonName": { "description": "Certificate common name", "type": "string" }, "country": { "description": "Certificate country", "type": "string" }, "locality": { "description": "Certificate locality", "type": "string" }, "organization": { "description": "Certificate organization", "type": "string" }, "organizationalUnit": { "description": "Certificate Organizational unit", "type": "string" }, "province": { "description": "Certificate province", "type": "string" }, "subjectType": { "description": "Certificate subject Type", "type": "string" } }, "type": "object" }, "Vhost": { "properties": { "value": { "type": "string" } }, "required": [ "value" ], "type": "object" }, "Volume": { "example": { "sizeGiB": 0 }, "properties": { "sizeGiB": { "type": "integer" } }, "required": [ "sizeGiB" ], "type": "object" }, "VolumeStatus": { "example": { "actual": { "sizeGiB": 0 }, "configuration": { "sizeGiB": 0 }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/Volume" }, "actual": { "$ref": "#/components/schemas/Volume" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "Zone": { "description": "available networks on this platform", "properties": { "network": { "enum": [ "internal", "public" ], "type": "string" } }, "required": [ "network" ], "type": "object" }, "ChildList": { "items": { "type": "string" }, "type": "array" }, "BucketWatchStatus": { "example": { "actual": { "bucket": "bucket" }, "configuration": { "bucket": "bucket" }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/BucketWatch" }, "actual": { "$ref": "#/components/schemas/BucketWatch" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "AllocationStatus_1": { "$ref": "#/components/schemas/AllocationStatus" }, "BucketAccessStatus": { "example": { "actual": { "bucket": "bucket", "readable": true, "name": "name", "credentialidentifierref": "credentialidentifierref", "credentialsecretref": "credentialsecretref", "writable": true }, "configuration": { "bucket": "bucket", "readable": true, "name": "name", "writable": true }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/BucketAccessConfiguration" }, "actual": { "$ref": "#/components/schemas/BucketAccess" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "BucketAccessConfiguration": { "example": { "bucket": "bucket", "readable": true, "name": "name", "writable": true }, "properties": { "name": { "type": "string" }, "bucket": { "type": "string" }, "readable": { "type": "boolean" }, "writable": { "type": "boolean" } }, "required": [ "bucket", "name", "readable", "writable" ], "type": "object" }, "BucketAccess": { "example": { "bucket": "bucket", "readable": true, "name": "name", "credentialidentifierref": "credentialidentifierref", "credentialsecretref": "credentialsecretref", "writable": true }, "properties": { "name": { "type": "string" }, "bucket": { "type": "string" }, "readable": { "type": "boolean" }, "writable": { "type": "boolean" }, "credentialidentifierref": { "type": "string" }, "credentialsecretref": { "type": "string" } }, "required": [ "bucket", "credentialidentifierref", "credentialsecretref", "name", "readable", "writable" ], "type": "object" }, "DataCatalogAssetStatus": { "example": { "actual": { "kind": "kind", "name": "name" }, "configuration": { "kind": "kind", "name": "name" }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/DataCatalogAsset" }, "actual": { "$ref": "#/components/schemas/DataCatalogAsset" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "DataCatalogAsset": { "example": { "kind": "kind", "name": "name" }, "properties": { "kind": { "type": "string" }, "name": { "type": "string" } }, "required": [ "kind", "name" ], "type": "object" }, "ThirdPartyBucketConcessionRegistration": { "example": { "credentialidentifierplaintext": "credentialidentifierplaintext", "shareidentifier": "shareidentifier", "name": "name", "credentialsecretplaintext": "credentialsecretplaintext" }, "properties": { "name": { "description": "the name you give to the third party bucket you are registering", "type": "string" }, "shareidentifier": { "description": "provided to you by the third party", "type": "string" }, "credentialidentifierplaintext": { "description": "plaintext credential identifier provided to you by the third party", "type": "string" }, "credentialsecretplaintext": { "description": "plaintext secret value provided to you by the third party", "type": "string" } }, "required": [ "credentialidentifierplaintext", "credentialsecretplaintext", "name", "shareidentifier" ], "type": "object" }, "ThirdPartyBucketConcessionStatus": { "example": { "actual": { "readable": true, "shareidentifier": "shareidentifier", "name": "name", "credentialidentifierref": "credentialidentifierref", "credentialsecretref": "credentialsecretref", "writable": true }, "configuration": { "shareidentifier": "shareidentifier", "name": "name" }, "status": { "provisioned": true, "derivedFrom": "derivedFrom", "notifications": [ { "args": { "key": "args" }, "message": "message", "remove": true }, { "args": { "key": "args" }, "message": "message", "remove": true } ] } }, "properties": { "configuration": { "$ref": "#/components/schemas/ThirdPartyBucketConcessionConfiguration" }, "actual": { "$ref": "#/components/schemas/ThirdPartyBucketConcession" }, "status": { "$ref": "#/components/schemas/AllocationStatus" } }, "required": [ "status" ], "type": "object" }, "ThirdPartyBucketConcessionConfiguration": { "example": { "shareidentifier": "shareidentifier", "name": "name" }, "properties": { "name": { "description": "your name for this bucket owned by a third party", "type": "string" }, "shareidentifier": { "type": "string" } }, "required": [ "name", "shareidentifier" ], "type": "object" }, "ThirdPartyBucketConcession": { "example": { "readable": true, "shareidentifier": "shareidentifier", "name": "name", "credentialidentifierref": "credentialidentifierref", "credentialsecretref": "credentialsecretref", "writable": true }, "properties": { "name": { "description": "your name for this bucket owned by a third party", "type": "string" }, "readable": { "type": "boolean" }, "writable": { "type": "boolean" }, "credentialidentifierref": { "type": "string" }, "credentialsecretref": { "type": "string" }, "shareidentifier": { "type": "string" } }, "required": [ "credentialidentifierref", "credentialsecretref", "name", "readable", "shareidentifier", "writable" ], "type": "object" }, "ActualCertificate_allOf": { "properties": { "serialNumber": { "type": "string" }, "notBefore": { "format": "date-time", "type": "string" }, "notAfter": { "format": "date-time", "type": "string" }, "distinguishedName": { "type": "string" }, "dnsNames": { "items": { "type": "string" }, "type": "array" } }, "required": [ "distinguishedName", "dnsNames", "notAfter", "notBefore", "serialNumber" ], "type": "object" }, "Application_volumes": { "example": { "name": "name" }, "properties": { "name": { "description": "the full name of the volume that needs to be mounted in the container.", "type": "string" } }, "required": [ "name" ], "type": "object" }, "LimitValueCpu_allOf": { "properties": { "value": { "description": "The number of CPUs to provision for the managed tenant (factions of a vCPU core, 1.0 equals 1 vCPU)", "maximum": 16.0, "minimum": 0.01, "multipleOf": 0.01, "type": "number" } }, "required": [ "value" ], "type": "object" }, "LimitValueMem_allOf": { "properties": { "value": { "description": "The amount of memory available for the managed tenant (MiB)", "maximum": 131072, "minimum": 1, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValueCertificateCount_allOf": { "properties": { "value": { "description": "The number of certificates available for the managed tenant", "maximum": 40, "minimum": 1, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValueSecretCount_allOf": { "properties": { "value": { "description": "The number of secrets available for the managed tenant", "maximum": 40, "minimum": 1, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValueTopicCount_allOf": { "properties": { "value": { "description": "The number of topics available for the managed tenant", "maximum": 40, "minimum": 1, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValuePartitionCount_allOf": { "properties": { "value": { "description": "The number of partitions available for the managed tenant", "maximum": 40, "minimum": 1, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValueConsumerRate_allOf": { "properties": { "value": { "description": "The maximum allowed consumer rate (bytes/sec)", "maximum": 1250000000, "minimum": 1048576, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValueProducerRate_allOf": { "properties": { "value": { "description": "The maximum allowed producer rate (bytes/sec)", "maximum": 1250000000, "minimum": 1048576, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "LimitValueRequestRate_allOf": { "properties": { "value": { "description": "The maximum allowed request rate (%)", "maximum": 100, "minimum": 1, "type": "integer" } }, "required": [ "value" ], "type": "object" }, "ManagedTenant_services": { "example": { "name": "vpn", "enabled": true }, "properties": { "name": { "enum": [ "vpn", "tracing", "monitoring" ], "type": "string" }, "enabled": { "type": "boolean" } }, "required": [ "enabled", "name" ], "type": "object" } }, "securitySchemes": { "tokenAuth": { "scheme": "bearer", "type": "http" } } } }