{
"openapi": "3.0.3",
"info": {
"title": "DSH Tenant Resource Management REST API",
"description": "Resource management API for DSH\nUpdated from original version (added authorization parameters and operation ids)",
"version": "1.9.0"
},
"servers": [
{
"url": "/resources/v0"
}
],
"paths": {
"/allocation/{tenant}/application/configuration": {
"get": {
"tags": [
"application"
],
"summary": "Returns the configuration of every application created by a given tenant.",
"operationId": "get_application_configuration_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "Returns a json object where the key is the name of an application, and the value is it's respective configuration.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Application"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/application/{appid}/configuration": {
"get": {
"tags": [
"application"
],
"summary": "Returns the configuration of a certain application, specified by the tenant name and application name.",
"operationId": "get_application_configuration_by_tenant_by_appid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "Returns the service definition of a given application identifier and tenant",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Application"
},
"examples": {
"application": {
"$ref": "#/components/examples/application"
}
}
}
}
}
}
},
"put": {
"tags": [
"application"
],
"summary": "creates an application allocation, or update it's configuration",
"operationId": "put_application_configuration_by_tenant_by_appid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "a JSON containing the configuration of the application you want to deploy",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Application"
},
"examples": {
"application": {
"$ref": "#/components/examples/application"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
},
"500": {
"description": "create/update request was not accepted"
}
}
},
"delete": {
"tags": [
"application"
],
"summary": "deletes an application by a specified application id",
"operationId": "delete_application_configuration_by_tenant_by_appid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/application/actual": {
"get": {
"tags": [
"application"
],
"summary": "returns a list containing the configuration of every deployed application of a given tenant",
"operationId": "get_application_actual_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"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.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Application"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/application/{appid}/actual": {
"get": {
"tags": [
"application"
],
"summary": "returns the configuration of a deployed application allocation for a given app id and tenant",
"operationId": "get_application_actual_by_tenant_by_appid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"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.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Application"
},
"examples": {
"objectExample": {
"$ref": "#/components/examples/application"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/application/{appid}/status": {
"get": {
"tags": [
"application"
],
"summary": "returns a status description of an application allocation",
"operationId": "get_application_status_by_tenant_by_appid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/appcatalogapp/configuration": {
"get": {
"tags": [
"app catalog"
],
"summary": "returns a list containing all App Catalog App allocations and their respective configurations of a given tenant",
"operationId": "get_appcatalogapp_configuration_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"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",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/AppCatalogApp"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/appcatalogapp/actual": {
"get": {
"tags": [
"app catalog"
],
"summary": "returns a list containing all App Catalog App allocations and their respective configurations of a given tenant, as they are actually deployed",
"operationId": "get_appcatalogapp_actual_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"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",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/AppCatalogApp"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/appcatalogapp/{appcatalogappid}/configuration": {
"get": {
"tags": [
"app catalog"
],
"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",
"operationId": "get_appcatalogapp_configuration_by_tenant_by_appcatalogappid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of an appcatalogapp allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppCatalogApp"
}
}
}
}
}
}
},
"/allocation/{tenant}/appcatalogapp/{appcatalogappid}/actual": {
"get": {
"tags": [
"app catalog"
],
"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",
"operationId": "get_appcatalogapp_actual_by_tenant_by_appcatalogappid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"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.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppCatalogApp"
}
}
}
}
}
}
},
"/appcatalog/{tenant}/appcatalogapp/{appcatalogappid}/configuration": {
"get": {
"tags": [
"app catalog app configuration"
],
"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.",
"operationId": "get_appcatalog_appcatalogapp_configuration_by_tenant_by_appcatalogappid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "A JSON Object containing the wanted configuration of an App Catalog App",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppCatalogAppConfiguration"
},
"examples": {
"appcatalogapp": {
"$ref": "#/components/examples/appcatalogappconfiguration"
}
}
}
}
}
}
},
"put": {
"tags": [
"app catalog app configuration"
],
"summary": "creates a new App Catalog App, or update its configuration",
"operationId": "put_appcatalog_appcatalogapp_configuration_by_tenant_by_appcatalogappid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "JSON object containing required parameters for AppCatalogApp manifest. This is comparable to the configuration object on a regular Application service.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppCatalogAppConfiguration"
},
"examples": {
"appcatalogapp": {
"$ref": "#/components/examples/appcatalogappconfiguration"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
},
"500": {
"description": "create/update request was not accepted"
}
}
},
"delete": {
"tags": [
"app catalog app configuration"
],
"summary": "deletes an App Catalog App",
"operationId": "delete_appcatalog_appcatalogapp_configuration_by_tenant_by_appcatalogappid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "the delete request has been accepted"
}
}
}
},
"/appcatalog/{tenant}/appcatalogapp/{appcatalogappid}/status": {
"get": {
"tags": [
"app catalog app configuration"
],
"summary": "gets status description of an App Catalog App",
"operationId": "get_appcatalog_appcatalogapp_status_by_tenant_by_appcatalogappid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/appcatalog/{tenant}/manifest": {
"get": {
"tags": [
"app catalog manifest"
],
"summary": "returns a list of AppCatalog manifests for a given tenant",
"operationId": "get_appcatalog_manifest_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "lists AppCatalog manifests",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AppCatalogManifest"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/bucketwatch": {
"get": {
"tags": [
"bucket watch"
],
"summary": "lists all bucketwatches of a tenant",
"operationId": "get_bucketwatch_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketwatch": {
"get": {
"tags": [
"bucket watch"
],
"summary": "shows overall status of a bucketwatch allocation",
"operationId": "get_bucket_bucketwatch_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the overall status of a specific bucketwatch allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketWatchStatus"
},
"examples": {
"bucketWatchStatus": {
"$ref": "#/components/examples/bucketWatchStatus"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketwatch/configuration": {
"get": {
"tags": [
"bucket watch"
],
"summary": "gets configuration of a bucketwatch allocation",
"operationId": "get_bucket_bucketwatch_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketWatch"
}
}
}
}
}
},
"put": {
"tags": [
"bucket watch"
],
"summary": "creates bucketwatch configuration.",
"operationId": "put_bucket_bucketwatch_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"bucket watch"
],
"summary": "deletes a bucketwatch",
"operationId": "delete_bucket_bucketwatch_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketwatch/actual": {
"get": {
"tags": [
"bucket watch"
],
"summary": "gets actual configuration of a bucketwatch allocation",
"operationId": "get_bucket_bucketwatch_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration of a bucketwatch allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketWatch"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketwatch/status": {
"get": {
"tags": [
"bucket watch"
],
"summary": "gets status description of a bucketwatch allocation",
"operationId": "get_bucket_bucketwatch_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket": {
"get": {
"tags": [
"bucket"
],
"summary": "lists all bucket names of a tenant",
"operationId": "get_bucket_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}": {
"get": {
"tags": [
"bucket"
],
"summary": "shows overall status of a bucket allocation",
"operationId": "get_bucket_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the overall status of a specific bucket allocation along with the bucket's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketStatus"
},
"examples": {
"bucketStatus": {
"$ref": "#/components/examples/bucketStatus"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/configuration": {
"get": {
"tags": [
"bucket"
],
"summary": "gets configuration of a bucket allocation",
"operationId": "get_bucket_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Bucket"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/bucket"
}
}
}
}
}
}
},
"put": {
"tags": [
"bucket"
],
"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.",
"operationId": "put_bucket_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON representation of the resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Bucket"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/bucket"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"bucket"
],
"summary": "deletes a bucket",
"operationId": "delete_bucket_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/actual": {
"get": {
"tags": [
"bucket"
],
"summary": "gets actual configuration of a bucket allocation",
"operationId": "get_bucket_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration of a bucket allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Bucket"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/bucket"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/status": {
"get": {
"tags": [
"bucket"
],
"summary": "gets status description of a bucket allocation",
"operationId": "get_bucket_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucketaccess": {
"get": {
"tags": [
"bucket access"
],
"summary": "lists all bucketaccesses of a tenant",
"operationId": "get_bucketaccess_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketaccess": {
"get": {
"tags": [
"bucket access"
],
"summary": "shows bucketaccesses about a specific bucket",
"operationId": "get_bucket_bucketaccess_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketaccess/{name}": {
"get": {
"tags": [
"bucket access"
],
"summary": "shows overall status of a third party bucket",
"operationId": "get_bucket_bucketaccess_by_tenant_by_id_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the overall status of a specific bucketaccess allocation along with the its configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketAccessStatus"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketaccess/{name}/configuration": {
"get": {
"tags": [
"bucket access"
],
"summary": "gets configuration of a bucketaccess allocation",
"operationId": "get_bucket_bucketaccess_configuration_by_tenant_by_id_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketAccessConfiguration"
}
}
}
}
}
},
"put": {
"tags": [
"bucket access"
],
"summary": "creates bucketaccess configuration.",
"operationId": "put_bucket_bucketaccess_configuration_by_tenant_by_id_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the wanted config of the (new) bucketaccess allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketAccessConfiguration"
},
"examples": {
"request": {
"$ref": "#/components/examples/bucketaccesswanted"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"bucket access"
],
"summary": "deletes a bucketaccess",
"operationId": "delete_bucket_bucketaccess_configuration_by_tenant_by_id_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketaccess/{name}/actual": {
"get": {
"tags": [
"bucket access"
],
"summary": "gets actual configuration of a bucketaccess allocation",
"operationId": "get_bucket_bucketaccess_actual_by_tenant_by_id_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration of a bucketaccess allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BucketAccess"
},
"examples": {
"bucketaccess": {
"$ref": "#/components/examples/bucketaccessactual"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
}
]
},
"/allocation/{tenant}/bucket/{id}/bucketaccess/{name}/status": {
"get": {
"tags": [
"bucket access"
],
"summary": "gets status description of a bucketaccess allocation",
"operationId": "get_bucket_bucketaccess_status_by_tenant_by_id_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
}
]
},
"/allocation/{tenant}/certificate": {
"get": {
"tags": [
"certificate"
],
"summary": "returns a list of all certificate names that are allocated to a tenant",
"operationId": "get_certificate_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/certificate/{id}": {
"get": {
"tags": [
"certificate"
],
"summary": "returns the status of a specific certificate allocation by id",
"operationId": "get_certificate_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the overall status of a specific certificate allocation along with the certificate's configuration and its actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CertificateStatus"
},
"examples": {
"certificateStatus": {
"$ref": "#/components/examples/certificateStatus"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/certificate/{id}/configuration": {
"get": {
"tags": [
"certificate"
],
"summary": "returns the configuration of a certificate allocation",
"operationId": "get_certificate_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of a certain certificate",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Certificate"
},
"examples": {
"certificate": {
"$ref": "#/components/examples/certificate"
}
}
}
}
}
}
},
"put": {
"tags": [
"certificate"
],
"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.",
"operationId": "put_certificate_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON object containing the configuration of a certificate. certChainSecret and keySecret must be known to the platform.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Certificate"
},
"examples": {
"certificate": {
"$ref": "#/components/examples/certificate"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"certificate"
],
"summary": "deletes a certificate by id",
"operationId": "delete_certificate_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/certificate/{id}/actual": {
"get": {
"tags": [
"certificate"
],
"summary": "returns the actual configuration of a certificate allocation. This may not represent the wanted configuration.",
"operationId": "get_certificate_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of a certificate allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Certificate"
},
"examples": {
"certificate": {
"$ref": "#/components/examples/certificate"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/certificate/{id}/status": {
"get": {
"tags": [
"certificate"
],
"summary": "returns a brief status description of a certificate allocation",
"operationId": "get_certificate_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/database": {
"get": {
"tags": [
"database"
],
"summary": "(beta release) lists ids of all databases of a tenant",
"operationId": "get_database_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/database/{id}": {
"get": {
"tags": [
"database"
],
"summary": "(beta release) gets overall status of a database allocation",
"operationId": "get_database_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the overall status of a specific database allocation along with the database's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatabaseStatus"
},
"examples": {
"databaseStatus": {
"$ref": "#/components/examples/databaseStatus"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/database/{id}/configuration": {
"get": {
"tags": [
"database"
],
"summary": "(beta release) gets configuration for a database allocation",
"operationId": "get_database_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns the configuration for this database allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Database"
},
"examples": {
"database": {
"$ref": "#/components/examples/database"
}
}
}
}
}
}
},
"put": {
"tags": [
"database"
],
"summary": "(beta release) creates a database configuration. It is impossible to update an existing database.",
"operationId": "put_database_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON representation of the resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Database"
},
"examples": {
"database": {
"$ref": "#/components/examples/database"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create request has been accepted"
}
}
},
"delete": {
"tags": [
"database"
],
"summary": "(beta release) deletes a database",
"operationId": "delete_database_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/database/{id}/actual": {
"get": {
"tags": [
"database"
],
"summary": "(beta release) gets actual state for a database allocation",
"operationId": "get_database_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration of a database allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Database"
},
"examples": {
"database": {
"$ref": "#/components/examples/database"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/database/{id}/status": {
"get": {
"tags": [
"database"
],
"summary": "(beta release) gets status description of a database allocation",
"operationId": "get_database_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/datacatalog/asset/{kind}": {
"get": {
"tags": [
"data catalog"
],
"summary": "lists all data catalog assets of a tenant for the given kind",
"operationId": "get_datacatalog_asset_by_tenant_by_kind",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
}
]
},
"/allocation/{tenant}/datacatalog/asset/{kind}/{name}": {
"get": {
"tags": [
"data catalog"
],
"summary": "shows overall status of a datacatalog asset allocation",
"operationId": "get_datacatalog_asset_by_tenant_by_kind_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "data catalog asset name",
"required": true,
"schema": {
"type": "string"
},
"example": "my-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the overall status of a specific data catalog asset allocation along with the asset's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCatalogAssetStatus"
},
"examples": {
"dataCatalogAssetStatus": {
"$ref": "#/components/examples/dataCatalogAssetStatus"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "data catalog asset name",
"required": true,
"schema": {
"type": "string"
},
"example": "my-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/datacatalog/asset/{kind}/{name}/configuration": {
"get": {
"tags": [
"data catalog"
],
"summary": "gets configuration of a data catalog asset allocation",
"operationId": "get_datacatalog_asset_configuration_by_tenant_by_kind_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "data catalog asset name",
"required": true,
"schema": {
"type": "string"
},
"example": "my-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCatalogAsset"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/dataCatalogAssetBucket"
},
"writablestream": {
"$ref": "#/components/examples/dataCatalogAssetWritableStream"
}
}
}
}
}
}
},
"put": {
"tags": [
"data catalog"
],
"summary": "creates dataCatalogAsset configuration.",
"operationId": "put_datacatalog_asset_configuration_by_tenant_by_kind_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "data catalog asset name",
"required": true,
"schema": {
"type": "string"
},
"example": "my-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON representation of the resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCatalogAsset"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/dataCatalogAssetBucket"
},
"writablestream": {
"$ref": "#/components/examples/dataCatalogAssetWritableStream"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"data catalog"
],
"summary": "deletes a dataCatalogAsset",
"operationId": "delete_datacatalog_asset_configuration_by_tenant_by_kind_by_name",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "data catalog asset name",
"required": true,
"schema": {
"type": "string"
},
"example": "my-bucket",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "data catalog asset kind",
"required": true,
"schema": {
"type": "string",
"enum": [
"bucket",
"writablestream"
]
},
"style": "simple"
},
{
"in": "path",
"name": "name",
"description": "data catalog asset name",
"required": true,
"schema": {
"type": "string"
},
"example": "my-bucket",
"style": "simple"
}
]
},
"/allocation/{tenant}/flinkcluster": {
"get": {
"tags": [
"flink cluster"
],
"summary": "returns the overall status of a Flink Cluster",
"operationId": "get_flinkcluster_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing a Flink Cluster's overall status, actual state and its configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlinkClusterStatus"
},
"examples": {
"flinkClusterStatus": {
"$ref": "#/components/examples/flinkClusterStatus"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/flinkcluster/configuration": {
"get": {
"tags": [
"flink cluster"
],
"summary": "returns the configuration of a Flink Cluster",
"operationId": "get_flinkcluster_configuration_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of a Flink Cluster",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlinkCluster"
},
"examples": {
"flinkCluster": {
"$ref": "#/components/examples/flinkCluster"
}
}
}
}
}
}
},
"put": {
"tags": [
"flink cluster"
],
"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.",
"operationId": "put_flinkcluster_configuration_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "a JSON object containing the desired configuration of the Flink Cluster. Zone must be known to the platform.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlinkCluster"
},
"examples": {
"flinkCluster": {
"$ref": "#/components/examples/flinkCluster"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"flink cluster"
],
"summary": "deletes a Flink Cluster. Since only one cluster can be created per tenant, only the tenants' name needs to be specified.",
"operationId": "delete_flinkcluster_configuration_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/flinkcluster/actual": {
"get": {
"tags": [
"flink cluster"
],
"summary": "returns the actual configuration of a Flink Cluster.",
"operationId": "get_flinkcluster_actual_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of a Flink Cluster as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlinkCluster"
},
"examples": {
"flinkCluster": {
"$ref": "#/components/examples/flinkCluster"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/flinkcluster/status": {
"get": {
"tags": [
"flink cluster"
],
"summary": "returns a brief status description of a Flink Cluster",
"operationId": "get_flinkcluster_status_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/kafkaproxy": {
"get": {
"tags": [
"kafka proxy"
],
"summary": "returns a list of all kafka proxies of a tenant",
"operationId": "get_kafkaproxy_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/kafkaproxy/{id}/configuration": {
"get": {
"tags": [
"kafka proxy"
],
"summary": "Returns the configuration of a certain kafka Proxy, specified by the tenant name and kafka Proxy name.",
"operationId": "get_kafkaproxy_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka proxy id",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "Returns the service definition of a given kafka proxy",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KafkaProxy"
},
"examples": {
"kafkaProxy": {
"$ref": "#/components/examples/kafkaProxy"
}
}
}
}
}
}
},
"put": {
"tags": [
"kafka proxy"
],
"summary": "update the value of the kafka proxy",
"operationId": "put_kafkaproxy_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka proxy id",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the kafka proxy configuration options",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KafkaProxy"
},
"examples": {
"kafkaProxy": {
"$ref": "#/components/examples/kafkaProxy"
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "the secret value is updated"
}
}
},
"delete": {
"tags": [
"kafka proxy"
],
"summary": "deletes a kafka proxy",
"operationId": "delete_kafkaproxy_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka proxy id",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/kafkaproxy/{id}/actual": {
"get": {
"tags": [
"kafka proxy"
],
"summary": "Returns the actual deployment state of a kafka proxy, specified by the tenant name and kafka proxy name.",
"operationId": "get_kafkaproxy_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka proxy id",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration of a kafka proxy allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KafkaProxy"
},
"examples": {
"kafkaProxy": {
"$ref": "#/components/examples/kafkaProxy"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/kafkaproxy/{id}/status": {
"get": {
"tags": [
"kafka proxy"
],
"summary": "returns a status description of a kafkaproxy allocation",
"operationId": "get_kafkaproxy_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka proxy id",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/aclgroup": {
"get": {
"tags": [
"kafka acl group"
],
"summary": "list tenant Kafka ACL groups",
"operationId": "get_aclgroup_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/aclgroup/{id}/configuration": {
"get": {
"tags": [
"kafka acl group"
],
"summary": "return the configuration of the Kafka ACl group",
"operationId": "get_aclgroup_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka ACL group id",
"required": true,
"schema": {
"type": "string",
"pattern": "[a-z][a-z0-9-]{1,15}"
},
"example": "kafka-acl-group-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "Returns the Kafka ACL group definition",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KafkaAclGroup"
}
}
}
}
}
},
"put": {
"tags": [
"kafka acl group"
],
"summary": "creates a new or updates an existing Kafka ACL group",
"operationId": "put_aclgroup_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka ACL group id",
"required": true,
"schema": {
"type": "string",
"pattern": "[a-z][a-z0-9-]{1,15}"
},
"example": "kafka-acl-group-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the Kafka ACL group definition",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KafkaAclGroup"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create request has been accepted"
}
}
},
"delete": {
"tags": [
"kafka acl group"
],
"summary": "deletes a Kafka ACL group",
"operationId": "delete_aclgroup_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "Kafka ACL group id",
"required": true,
"schema": {
"type": "string",
"pattern": "[a-z][a-z0-9-]{1,15}"
},
"example": "kafka-acl-group-id",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/robot/{tenant}/generate-secret": {
"post": {
"tags": [
"robot"
],
"summary": "generate new client secret for a tenant",
"operationId": "post_robot_generate-secret_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "triggers the generation of a new Client Secret for the tenant’s robot account. __This automatically invalidates the existing client secret __, and returns a new client secret in the response body!",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClientSecret"
},
"example": {
"value": "7c75t59f-8b8b-4ec4-abn5-1dae68f38d4b"
}
}
}
}
}
}
},
"/allocation/{tenant}/secret": {
"get": {
"tags": [
"secret"
],
"summary": "returns a list of all secret names of a tenant",
"operationId": "get_secret_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"post": {
"tags": [
"secret"
],
"summary": "create a new secret",
"operationId": "post_secret_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "a JSON object containing the name and the secret value",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Secret"
},
"examples": {
"secret": {
"$ref": "#/components/examples/secret"
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "the secret value is updated"
}
}
}
},
"/allocation/{tenant}/secret/{id}/configuration": {
"get": {
"tags": [
"secret"
],
"summary": "returns the configuration of a secret allocation",
"operationId": "get_secret_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of this secret allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
}
}
},
"delete": {
"tags": [
"secret"
],
"summary": "deletes a secret",
"operationId": "delete_secret_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/secret/{id}/actual": {
"get": {
"tags": [
"secret"
],
"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.",
"operationId": "get_secret_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "The response body will be empty, but a 200 response indicates that the secret is created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
}
}
}
},
"/allocation/{tenant}/secret/{id}/status": {
"get": {
"tags": [
"secret"
],
"summary": "returns a brief status description of a secret allocation",
"operationId": "get_secret_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/secret/{id}": {
"get": {
"tags": [
"secret"
],
"summary": "returns the value of a secret",
"operationId": "get_secret_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the secret value as a string",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
},
"put": {
"tags": [
"secret"
],
"summary": "update the value of a secret",
"operationId": "put_secret_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the secret value as a string",
"content": {
"text/plain": {
"schema": {
"type": "string"
},
"example": "my new secret value"
}
},
"required": true
},
"responses": {
"200": {
"description": "the secret value is updated"
}
}
}
},
"/allocation/{tenant}/task": {
"get": {
"tags": [
"application"
],
"summary": "return a list containing the ids of all applications with derived tasks",
"operationId": "get_task_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/task/{appid}": {
"get": {
"tags": [
"application"
],
"summary": "return a list containing the ids of an application's derived tasks",
"operationId": "get_task_by_tenant_by_appid",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/task/{appid}/{id}": {
"get": {
"tags": [
"application"
],
"summary": "returns overall status of a task",
"operationId": "get_task_by_tenant_by_appid_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "task name",
"required": true,
"schema": {
"type": "string"
},
"example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the overall status of a specific task allocation along with the task's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStatus"
},
"examples": {
"taskStatus": {
"$ref": "#/components/examples/taskStatus"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/task/{appid}/{id}/actual": {
"get": {
"tags": [
"application"
],
"summary": "returns the actual state of a specific task",
"operationId": "get_task_actual_by_tenant_by_appid_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "task name",
"required": true,
"schema": {
"type": "string"
},
"example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the actual state of a specific task. This may differ from the task's configured state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Task"
},
"examples": {
"task": {
"$ref": "#/components/examples/task"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/task/{appid}/{id}/status": {
"get": {
"tags": [
"application"
],
"summary": "returns a brief status description of a task",
"operationId": "get_task_status_by_tenant_by_appid_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "task name",
"required": true,
"schema": {
"type": "string"
},
"example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/bucket/fromthirdparty": {
"get": {
"tags": [
"third party bucket"
],
"summary": "lists only bucket names of a tenant that originated from a third party bucket",
"operationId": "get_bucket_fromthirdparty_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
}
]
},
"/allocation/{tenant}/thirdpartybucketconcession": {
"get": {
"tags": [
"third party bucket"
],
"summary": "list summaries of third party buckets, registered using credentials shared to you by a third party",
"operationId": "get_thirdpartybucketconcession_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
},
"post": {
"tags": [
"third party bucket"
],
"summary": "register a new bucket concession for which credentials were shared to you by a third party",
"operationId": "post_thirdpartybucketconcession_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the secret value",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyBucketConcessionRegistration"
},
"examples": {
"registration": {
"$ref": "#/components/examples/thirdpartybucketRegistration"
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "the third party bucket has been registered, and should soon be listable together with the resulting bucket."
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
}
]
},
"/allocation/{tenant}/thirdpartybucketconcession/{id}": {
"get": {
"tags": [
"third party bucket"
],
"summary": "shows overall status of a third party bucket",
"operationId": "get_thirdpartybucketconcession_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "the overall status of a specific third party bucket along with the concession's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyBucketConcessionStatus"
},
"examples": {
"bucketStatus": {
"$ref": "#/components/examples/thirdpartybucketConcessionStatus"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
}
]
},
"/allocation/{tenant}/thirdpartybucketconcession/{id}/configuration": {
"get": {
"tags": [
"third party bucket"
],
"summary": "gets configuration of a third party bucket (received bucket access) allocation",
"operationId": "get_thirdpartybucketconcession_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyBucketConcession"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/thirdpartybucketConcession"
}
}
}
}
}
}
},
"delete": {
"tags": [
"third party bucket"
],
"summary": "unregisters a third party bucket. This will also remove the virtual bucket.",
"operationId": "delete_thirdpartybucketconcession_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
}
]
},
"/allocation/{tenant}/thirdpartybucketconcession/{id}/actual": {
"get": {
"tags": [
"third party bucket"
],
"summary": "gets actual configuration of a third party bucket (received bucket access) allocation",
"operationId": "get_thirdpartybucketconcession_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyBucketConcession"
},
"examples": {
"bucket": {
"$ref": "#/components/examples/thirdpartybucketConcession"
}
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
}
]
},
"/allocation/{tenant}/thirdpartybucketconcession/{id}/status": {
"get": {
"tags": [
"third party bucket"
],
"summary": "gets status description of third party bucket (received bucket access) allocation",
"operationId": "get_thirdpartybucketconcession_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
},
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "your name of choice for the third party bucket",
"required": true,
"schema": {
"type": "string"
},
"example": "bucket-shared-with-me",
"style": "simple"
}
]
},
"/allocation/{tenant}/topic": {
"get": {
"tags": [
"topic"
],
"summary": "returns a list of topics of a tenant",
"operationId": "get_topic_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/topic/{id}": {
"get": {
"tags": [
"topic"
],
"summary": "returns the overall status of a topic allocation",
"operationId": "get_topic_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the overall status of a specific topic allocation along with the topic's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TopicStatus"
},
"examples": {
"topicStatus": {
"$ref": "#/components/examples/topicStatus"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/topic/{id}/configuration": {
"get": {
"tags": [
"topic"
],
"summary": "returns the configuration of a topic allocation",
"operationId": "get_topic_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of a topic allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Topic"
},
"examples": {
"topic": {
"$ref": "#/components/examples/topic"
}
}
}
}
}
}
},
"put": {
"tags": [
"topic"
],
"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.",
"operationId": "put_topic_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON object containing the configuration of the desired topic",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Topic"
},
"examples": {
"topic": {
"$ref": "#/components/examples/topic"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
}
}
},
"delete": {
"tags": [
"topic"
],
"summary": "deletes a topic",
"operationId": "delete_topic_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/topic/{id}/actual": {
"get": {
"tags": [
"topic"
],
"summary": "returns actual configuration of a topic allocation",
"operationId": "get_topic_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration of a topic allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Topic"
},
"examples": {
"topic": {
"$ref": "#/components/examples/topic"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/topic/{id}/status": {
"get": {
"tags": [
"topic"
],
"summary": "returns a brief status description of a topic allocation",
"operationId": "get_topic_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/allocation/{tenant}/volume": {
"get": {
"tags": [
"volume"
],
"summary": "returns a list containing the ids of all volumes of a given tenant",
"operationId": "get_volume_by_tenant",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/allocation/{tenant}/volume/{id}": {
"get": {
"tags": [
"volume"
],
"summary": "returns the overall status of a volume allocation",
"operationId": "get_volume_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the overall status of a specific volume allocation along with the volume's configured and actual state",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VolumeStatus"
},
"examples": {
"volumeStatus": {
"$ref": "#/components/examples/volumeStatus"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/volume/{id}/configuration": {
"get": {
"tags": [
"volume"
],
"summary": "returns the configuration for a volume allocation",
"operationId": "get_volume_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the configuration for a volume allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Volume"
},
"examples": {
"volume": {
"$ref": "#/components/examples/volume"
}
}
}
}
}
}
},
"put": {
"tags": [
"volume"
],
"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.",
"operationId": "put_volume_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON object containing the desired configuration of a volume allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Volume"
},
"examples": {
"volume": {
"$ref": "#/components/examples/volume"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create request has been accepted"
}
}
},
"delete": {
"tags": [
"volume"
],
"summary": "deletes a volume",
"operationId": "delete_volume_configuration_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/allocation/{tenant}/volume/{id}/actual": {
"get": {
"tags": [
"volume"
],
"summary": "returns the actual state for a volume allocation",
"operationId": "get_volume_actual_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSOn object containing the configuration of a volume allocation as it is actually deployed. This may differ from the wanted configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Volume"
},
"examples": {
"volume": {
"$ref": "#/components/examples/volume"
}
}
}
}
}
}
}
},
"/allocation/{tenant}/volume/{id}/status": {
"get": {
"tags": [
"volume"
],
"summary": "returns a brief status description of a volume allocation",
"operationId": "get_volume_status_by_tenant_by_id",
"parameters": [
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/manage/{manager}/tenant": {
"get": {
"tags": [
"managed tenant"
],
"summary": "returns a list of tenants managed by the `manager` tenant",
"operationId": "get_manage_tenant_by_manager",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "returns a list of ids representing child resources of the requested resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChildList"
}
}
}
}
}
}
},
"/manage/{manager}/tenant/{tenant}/configuration": {
"get": {
"tags": [
"managed tenant"
],
"summary": "returns the configuration of tenant as managed by the manager",
"operationId": "get_manage_tenant_configuration_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"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.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedTenant"
},
"examples": {
"managedTenant": {
"$ref": "#/components/examples/managedTenant"
}
}
}
}
}
}
},
"put": {
"tags": [
"managed tenant"
],
"summary": "creates and/or updates a managed tenant for managing tenant or update its configuration",
"operationId": "put_manage_tenant_configuration_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON object containing the configuration of the managed tenant",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedTenant"
},
"examples": {
"managedTenant": {
"$ref": "#/components/examples/managedTenant"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
},
"400": {
"description": "The provided input was rejected"
}
}
},
"delete": {
"tags": [
"managed tenant"
],
"summary": "deletes a managed tenant for the managing tenant",
"operationId": "delete_manage_tenant_configuration_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "delete request has been accepted"
}
}
}
},
"/manage/{manager}/tenant/{tenant}/actual": {
"get": {
"tags": [
"managed tenant"
],
"summary": "returns the actual state for a managed tenant allocation",
"operationId": "get_manage_tenant_actual_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSOn object containing the configuration of a managed tenant allocation as it is actually deployed. This may differ from the wanted configuration.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedTenant"
},
"examples": {
"managedTenant": {
"$ref": "#/components/examples/managedTenant"
}
}
}
}
}
}
}
},
"/manage/{manager}/tenant/{tenant}/status": {
"get": {
"tags": [
"managed tenant"
],
"summary": "returns a brief status description of a managed tenant allocation",
"operationId": "get_manage_tenant_status_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "status of the allocation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationStatus"
},
"example": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
}
}
}
}
}
},
"/manage/{manager}/tenant/{tenant}/limit": {
"get": {
"tags": [
"managed tenant limits"
],
"summary": "get all limits of a managed tenant",
"operationId": "get_manage_tenant_limit_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON list with all limits of the managed tenant",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LimitValue"
}
},
"examples": {
"allLimits": {
"$ref": "#/components/examples/managedTenantLimitListAll"
}
}
}
}
}
}
},
"patch": {
"tags": [
"managed tenant limits"
],
"summary": "update multiple limits of a managed tenant",
"operationId": "patch_manage_tenant_limit_by_manager_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "a JSON list with multiple limits of the managed tenant",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LimitValue"
}
},
"examples": {
"someLimits": {
"$ref": "#/components/examples/managedTenantLimitListSome"
},
"allLimits": {
"$ref": "#/components/examples/managedTenantLimitListAll"
}
}
}
},
"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"
}
}
}
},
"/manage/{manager}/tenant/{tenant}/limit/{kind}": {
"get": {
"tags": [
"managed tenant limits"
],
"summary": "get a specific managed tenant limit set by the managing tenant",
"operationId": "get_manage_tenant_limit_by_manager_by_tenant_by_kind",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "Limit request type",
"required": true,
"schema": {
"type": "string",
"enum": [
"cpu",
"mem",
"certificatecount",
"secretcount",
"topiccount",
"partitioncount",
"consumerrate",
"producerrate",
"requestrate"
]
},
"example": "cpu",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a JSON object containing the specified limit kind value of a managed tenant",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LimitValue"
},
"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"
}
}
}
}
}
}
},
"put": {
"tags": [
"managed tenant limits"
],
"summary": "create and/or update the configured limits for a managed tenant",
"operationId": "put_manage_tenant_limit_by_manager_by_tenant_by_kind",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "kind",
"description": "Limit request type",
"required": true,
"schema": {
"type": "string",
"enum": [
"cpu",
"mem",
"certificatecount",
"secretcount",
"topiccount",
"partitioncount",
"consumerrate",
"producerrate",
"requestrate"
]
},
"example": "cpu",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"description": "the JSON object containing the limit configuration of the managed tenant",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LimitValue"
},
"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"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "create/update request has been accepted"
},
"400": {
"description": "the provided input was rejected"
}
}
}
},
"/manage/{manager}/stream/internal": {
"get": {
"tags": [
"managed streams"
],
"summary": "get a list of internal streams managed by the managing tenant",
"operationId": "get_manage_stream_internal_by_manager",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a list of stream id's",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedStreamId"
}
}
}
}
}
}
}
},
"/manage/{manager}/stream/public": {
"get": {
"tags": [
"managed streams"
],
"summary": "get a list of public streams managed by the managing tenant",
"operationId": "get_manage_stream_public_by_manager",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "a list of stream id's",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedStreamId"
}
}
}
}
}
}
}
},
"/manage/{manager}/stream/public/{streamId}/configuration": {
"get": {
"tags": [
"managed streams"
],
"summary": "Get the configuration for a public managed stream",
"operationId": "get_manage_stream_public_configuration_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "managed stream configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicManagedStream"
},
"examples": {
"publicManagedStreamWithDefaultKafkaPartitioner": {
"$ref": "#/components/examples/publicManagedStreamWithDefaultKafkaPartitioner"
},
"publicManagedStreamWithTopicLevelPartitioner": {
"$ref": "#/components/examples/publicManagedStreamWithTopicLevelPartitioner"
}
}
}
}
},
"404": {
"description": "managed stream not found"
}
}
},
"post": {
"tags": [
"managed streams"
],
"summary": "Create a public managed stream",
"operationId": "post_manage_stream_public_configuration_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicManagedStream"
},
"examples": {
"publicManagedStreamWithDefaultKafkaPartitioner": {
"$ref": "#/components/examples/publicManagedStreamWithDefaultKafkaPartitioner"
},
"publicManagedStreamWithTopicLevelPartitioner": {
"$ref": "#/components/examples/publicManagedStreamWithTopicLevelPartitioner"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Configuration was accepted, stream is being created"
},
"400": {
"description": "Configuration was rejected"
}
}
},
"delete": {
"tags": [
"managed streams"
],
"summary": "Delete a public managed stream",
"operationId": "delete_manage_stream_public_configuration_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Delete request was accepted"
}
}
}
},
"/manage/{manager}/stream/internal/{streamId}/configuration": {
"get": {
"tags": [
"managed streams"
],
"summary": "Get the configuration for an internal managed stream",
"operationId": "get_manage_stream_internal_configuration_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "managed stream configuration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedStream"
},
"examples": {
"managedInternalStream": {
"$ref": "#/components/examples/managedStream"
}
}
}
}
},
"404": {
"description": "managed stream not found"
}
}
},
"post": {
"tags": [
"managed streams"
],
"summary": "Create an internal managed stream",
"operationId": "post_manage_stream_internal_configuration_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedStream"
},
"examples": {
"managedInternalStream": {
"$ref": "#/components/examples/managedStream"
}
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Configuration was accepted, stream is being created"
},
"400": {
"description": "Configuration was rejected"
}
}
},
"delete": {
"tags": [
"managed streams"
],
"summary": "Delete an internal managed stream",
"operationId": "delete_manage_stream_internal_configuration_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Delete request was accepted"
}
}
}
},
"/manage/{manager}/stream/internal/{streamId}/access/write": {
"get": {
"tags": [
"managed streams access"
],
"summary": "get a list of all tenants that have write access to the internal stream",
"operationId": "get_manage_stream_internal_access_write_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "A list of all names of tenants that have write access to the stream",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"example": "sometenant",
"description": "Tenant name",
"type": "string"
}
}
}
}
}
}
}
},
"/manage/{manager}/stream/internal/{streamId}/access/write/{tenant}": {
"put": {
"tags": [
"managed streams access"
],
"summary": "Grant the tenant write access to the internal stream",
"operationId": "put_manage_stream_internal_access_write_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Write access to the stream is granted to the tenant"
}
}
},
"delete": {
"tags": [
"managed streams access"
],
"summary": "Revoke write access for the tenant on the internal stream",
"operationId": "delete_manage_stream_internal_access_write_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Write access to the stream has been revoked for the tenant"
}
}
},
"head": {
"tags": [
"managed streams access"
],
"summary": "Check whether the tenant has write access to the internal stream",
"operationId": "head_manage_stream_internal_access_write_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "The tenant has write access to the stream"
},
"404": {
"description": "The tenant does not have write access to the stream"
}
}
}
},
"/manage/{manager}/stream/internal/{streamId}/access/read": {
"get": {
"tags": [
"managed streams access"
],
"summary": "get a list of all tenants that have read access to the internal stream",
"operationId": "get_manage_stream_internal_access_read_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "A list of all names of tenants that have read access to the stream",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"example": "sometenant",
"description": "Tenant name",
"type": "string"
}
}
}
}
}
}
}
},
"/manage/{manager}/stream/internal/{streamId}/access/read/{tenant}": {
"put": {
"tags": [
"managed streams access"
],
"summary": "Grant the tenant write access to the internal stream",
"operationId": "put_manage_stream_internal_access_read_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Read access to the stream is granted to the tenant"
}
}
},
"delete": {
"tags": [
"managed streams access"
],
"summary": "Revoke read access for the tenant on the internal stream",
"operationId": "delete_manage_stream_internal_access_read_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Read access to the stream has been revoked for the tenant"
}
}
},
"head": {
"tags": [
"managed streams access"
],
"summary": "Check whether the tenant has read access to the internal stream",
"operationId": "head_manage_stream_internal_access_read_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "The tenant has read access to the stream"
},
"404": {
"description": "The tenant does not have read access to the stream"
}
}
}
},
"/manage/{manager}/stream/public/{streamId}/access/write": {
"get": {
"tags": [
"managed streams access"
],
"summary": "get a list of all tenants that have write access to the public stream",
"operationId": "get_manage_stream_public_access_write_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "A list of all names of tenants that have write access to the stream",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"example": "sometenant",
"description": "Tenant name",
"type": "string"
}
}
}
}
}
}
}
},
"/manage/{manager}/stream/public/{streamId}/access/write/{tenant}": {
"put": {
"tags": [
"managed streams access"
],
"summary": "Grant the tenant write access to the public stream",
"operationId": "put_manage_stream_public_access_write_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Write access to the stream is granted to the tenant"
}
}
},
"delete": {
"tags": [
"managed streams access"
],
"summary": "Revoke write access for the tenant on the public stream",
"operationId": "delete_manage_stream_public_access_write_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Write access to the stream has been revoked for the tenant"
}
}
},
"head": {
"tags": [
"managed streams access"
],
"summary": "Check whether the tenant has write access to the public stream",
"operationId": "head_manage_stream_public_access_write_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "The tenant has write access to the stream"
},
"404": {
"description": "The tenant does not have write access to the stream"
}
}
}
},
"/manage/{manager}/stream/public/{streamId}/access/read": {
"get": {
"tags": [
"managed streams access"
],
"summary": "get a list of all tenants that have read access to the public stream",
"operationId": "get_manage_stream_public_access_read_by_manager_by_streamid",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"description": "A list of all names of tenants that have read access to the public stream",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"example": "sometenant",
"description": "Tenant name",
"type": "string"
}
}
}
}
}
}
}
},
"/manage/{manager}/stream/public/{streamId}/access/read/{tenant}": {
"put": {
"tags": [
"managed streams access"
],
"summary": "Grant the tenant write access to the stream",
"operationId": "put_manage_stream_public_access_read_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Read access to the stream is granted to the tenant"
}
}
},
"delete": {
"tags": [
"managed streams access"
],
"summary": "Revoke read access for the tenant on the public stream",
"operationId": "delete_manage_stream_public_access_read_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"202": {
"description": "Read access to the stream has been revoked for the tenant"
}
}
},
"head": {
"tags": [
"managed streams access"
],
"summary": "Check whether the tenant has read access to the public stream",
"operationId": "head_manage_stream_public_access_read_by_manager_by_streamid_by_tenant",
"parameters": [
{
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
{
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
{
"in": "header",
"name": "Authorization",
"description": "Authorization header (bearer token)",
"required": true,
"deprecated": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "The tenant has read access to the stream"
},
"404": {
"description": "The tenant does not have read access to the public stream"
}
}
}
}
},
"components": {
"schemas": {
"ActualCertificate": {
"description": "information on a certificate which is provisioned on the platform",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Certificate"
},
{
"$ref": "#/components/schemas/ActualCertificate_allOf"
}
]
},
"AllocationStatus": {
"example": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
},
"type": "object",
"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": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Notification"
}
}
},
"required": [
"notifications",
"provisioned"
]
},
"Application": {
"example": {
"cpus": 0.8008281904610115,
"env": {
"key": "env"
},
"exposedPorts": {
"key": {
"auth": "auth",
"mode": "mode",
"paths": [
{
"prefix": "prefix"
},
{
"prefix": "prefix"
}
],
"serviceGroup": "serviceGroup",
"tls": "auto",
"vhost": "vhost",
"whitelist": "whitelist"
}
},
"healthCheck": {
"path": "/",
"port": 0,
"protocol": "http"
},
"image": "image",
"instances": 0,
"mem": 0,
"metrics": {
"path": "/metrics",
"port": 0
},
"needsToken": true,
"readableStreams": [
"readableStreams",
"readableStreams"
],
"secrets": [
{
"injections": [
{
"key": "injections"
},
{
"key": "injections"
}
],
"name": "name"
},
{
"injections": [
{
"key": "injections"
},
{
"key": "injections"
}
],
"name": "name"
}
],
"singleInstance": false,
"spreadGroup": "spreadGroup",
"topics": [
"topics",
"topics"
],
"user": "user",
"volumes": {
"key": {
"name": "name"
}
},
"writableStreams": [
"writableStreams",
"writableStreams"
]
},
"type": "object",
"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",
"type": "integer",
"minimum": 0
},
"env": {
"description": "Environment variables",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"exposedPorts": {
"description": "Exposes ports of your application outside the platform",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PortMapping"
}
},
"healthCheck": {
"$ref": "#/components/schemas/HealthCheck"
},
"image": {
"description": "The container image to launch",
"type": "string",
"format": "docker_repo/tag:version"
},
"instances": {
"description": "Number of instances that need to be spun up for this app",
"default": 1,
"type": "integer",
"minimum": 0
},
"needsToken": {
"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",
"default": true,
"type": "boolean"
},
"singleInstance": {
"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.",
"default": false,
"type": "boolean"
},
"user": {
"description": "The userid:groupid combination used to start the application container.",
"type": "string",
"format": "userid:groupid"
},
"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": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ApplicationSecret"
}
},
"topics": {
"description": "names of scratch topics to which the application needs access.",
"type": "array",
"items": {
"type": "string"
}
},
"readableStreams": {
"description": "names of streams to which the application needs read access.",
"type": "array",
"items": {
"type": "string"
}
},
"writableStreams": {
"description": "names of streams to which the application needs write access.",
"type": "array",
"items": {
"type": "string"
}
},
"volumes": {
"description": "The volumes to be mounted in the container. The dictionary key is the mount point.",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Application_volumes"
}
}
},
"required": [
"cpus",
"image",
"mem",
"user"
]
},
"ApplicationSecret": {
"example": {
"injections": [
{
"key": "injections"
},
{
"key": "injections"
}
],
"name": "name"
},
"description": "a secret to be injected as an environment variable in the application",
"type": "object",
"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",
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"required": [
"injections",
"name"
]
},
"AppCatalogApp": {
"example": {
"configuration": "configuration",
"manifestUrn": "manifestUrn",
"name": "name",
"resources": {
"key": ""
}
},
"type": "object",
"properties": {
"name": {
"type": "string"
},
"configuration": {
"type": "string"
},
"manifestUrn": {
"type": "string"
},
"resources": {
"description": "child resources",
"type": "object",
"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"
}
]
}
}
},
"required": [
"manifestUrn",
"name",
"resources"
]
},
"AppCatalogAppConfiguration": {
"example": {
"configuration": {
"key": "configuration"
},
"manifestUrn": "manifestUrn",
"name": "name",
"stopped": true
},
"type": "object",
"properties": {
"name": {
"type": "string"
},
"manifestUrn": {
"type": "string"
},
"stopped": {
"type": "boolean"
},
"configuration": {
"description": "configuration parameters to be used in AppCatalog manifest",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"configuration",
"manifestUrn",
"name",
"stopped"
]
},
"AppCatalogManifest": {
"example": {
"draft": true,
"lastModified": 0.8008281904610115,
"payload": "payload"
},
"type": "object",
"properties": {
"lastModified": {
"description": "creation timestamp of the secret",
"type": "number"
},
"payload": {
"type": "string"
},
"draft": {
"type": "boolean"
}
},
"required": [
"draft",
"lastModified",
"payload"
]
},
"Bucket": {
"example": {
"encrypted": true,
"versioned": true
},
"type": "object",
"properties": {
"versioned": {
"type": "boolean"
},
"encrypted": {
"type": "boolean"
}
},
"required": [
"encrypted",
"versioned"
]
},
"BucketStatus": {
"example": {
"actual": {
"encrypted": true,
"versioned": true
},
"configuration": {
"encrypted": true,
"versioned": true
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/Bucket"
},
"actual": {
"$ref": "#/components/schemas/Bucket"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"BucketWatch": {
"example": {
"bucket": "bucket"
},
"type": "object",
"properties": {
"bucket": {
"type": "string"
}
},
"required": [
"bucket"
]
},
"Certificate": {
"example": {
"certChainSecret": "certChainSecret",
"keySecret": "keySecret",
"passphraseSecret": "passphraseSecret"
},
"description": "information on a certificate which is wanted on the platform but may not yet be provisioned",
"type": "object",
"properties": {
"keySecret": {
"type": "string"
},
"certChainSecret": {
"type": "string"
},
"passphraseSecret": {
"type": "string"
}
},
"required": [
"certChainSecret",
"keySecret"
]
},
"CertificateStatus": {
"example": {
"actual": null,
"configuration": {
"certChainSecret": "certChainSecret",
"keySecret": "keySecret",
"passphraseSecret": "passphraseSecret"
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/Certificate"
},
"actual": {
"$ref": "#/components/schemas/ActualCertificate"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"ClientSecret": {
"example": {
"createdDate": 0.8008281904610115,
"value": "value"
},
"type": "object",
"properties": {
"value": {
"description": "the secret value",
"type": "string"
},
"createdDate": {
"description": "creation timestamp of the secret",
"type": "number"
}
},
"required": [
"value"
]
},
"Database": {
"example": {
"cpus": 1.0,
"extensions": [
"postgis",
"postgres_fdw",
"uuid-ossp"
],
"instances": 3,
"mem": 3072,
"snapshotInterval": 3600,
"version": "2.11.1.0-8",
"volumeSize": 10
},
"type": "object",
"properties": {
"instances": {
"example": 3,
"type": "integer",
"minimum": 3
},
"cpus": {
"example": 1.0,
"type": "number",
"minimum": 0.5
},
"mem": {
"example": 3072,
"type": "integer",
"minimum": 2048
},
"volumeSize": {
"example": 10,
"type": "integer",
"minimum": 10
},
"extensions": {
"example": [
"postgis",
"postgres_fdw",
"uuid-ossp"
],
"type": "array",
"items": {
"type": "string"
}
},
"version": {
"example": "2.11.1.0-8",
"type": "string"
},
"snapshotInterval": {
"example": 3600,
"type": "integer",
"minimum": 3600
}
},
"required": [
"cpus",
"instances",
"mem",
"volumeSize"
]
},
"DatabaseStatus": {
"example": {
"actual": {
"cpus": 1.0,
"extensions": [
"postgis",
"postgres_fdw",
"uuid-ossp"
],
"instances": 3,
"mem": 3072,
"snapshotInterval": 3600,
"version": "2.11.1.0-8",
"volumeSize": 10
},
"configuration": {
"cpus": 1.0,
"extensions": [
"postgis",
"postgres_fdw",
"uuid-ossp"
],
"instances": 3,
"mem": 3072,
"snapshotInterval": 3600,
"version": "2.11.1.0-8",
"volumeSize": 10
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/Database"
},
"actual": {
"$ref": "#/components/schemas/Database"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"KafkaProxyStatus": {
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/KafkaProxy"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"Empty": {
"type": "object",
"additionalProperties": false
},
"FlinkCluster": {
"example": {
"jobManager": {
"cpus": 0.3,
"mem": 1024
},
"taskManager": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"version": "version",
"zone": "zone"
},
"type": "object",
"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"
]
},
"FlinkJobManager": {
"example": {
"cpus": 0.3,
"mem": 1024
},
"type": "object",
"properties": {
"cpus": {
"example": 0.3,
"description": "CPU quota for the Flink job manager (minimum 0.3 = 30% of 1 CPU)",
"type": "number",
"minimum": 0.3
},
"mem": {
"example": 1024,
"description": "Memory (MB) for this Flink job manager (minimum 1024 = 1 GB)",
"type": "integer",
"minimum": 1024
}
},
"required": [
"cpus",
"mem"
]
},
"FlinkClusterStatus": {
"example": {
"actual": {
"jobManager": {
"cpus": 0.3,
"mem": 1024
},
"taskManager": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"version": "version",
"zone": "zone"
},
"configuration": {
"jobManager": {
"cpus": 0.3,
"mem": 1024
},
"taskManager": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"version": "version",
"zone": "zone"
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/FlinkCluster"
},
"actual": {
"$ref": "#/components/schemas/FlinkCluster"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"FlinkTaskManager": {
"example": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"type": "object",
"properties": {
"instances": {
"example": 2,
"description": "Number of Flink task managers (minimum 1)",
"type": "integer",
"minimum": 1
},
"cpus": {
"example": 0.3,
"description": "CPU quota for each Flink task manager (minimum 0.3 = 30% of 1 CPU)",
"type": "number",
"minimum": 0.3
},
"mem": {
"example": 3072,
"description": "Memory (MB) for each Flink task manager (minimum 1024 = 1 GB)",
"type": "integer",
"minimum": 1024
}
},
"required": [
"cpus",
"instances",
"mem"
]
},
"HealthCheck": {
"example": {
"path": "/",
"port": 0,
"protocol": "http"
},
"type": "object",
"properties": {
"port": {
"description": "The TCP port for the health check\n",
"default": 7070,
"type": "integer",
"minimum": 0
},
"path": {
"description": "The HTTP path for the health check\n",
"default": "/",
"type": "string"
},
"protocol": {
"description": "The protocol for for the health check (http or https)\n",
"type": "string",
"enum": [
"http",
"https"
]
}
}
},
"KafkaAclGroup": {
"example": {
"readableStreams": [
{
"kind": "topic",
"name": "readable-topic-1"
},
{
"kind": "public",
"name": "readable-topic-2"
}
],
"writableStreams": [
{
"kind": "topic",
"name": "writeable-topic-1"
},
{
"kind": "internal",
"name": "writeable-topic-2"
}
]
},
"description": "information about a Kafka ACL group",
"type": "object",
"properties": {
"readableStreams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KafkaAclGroupTopic"
}
},
"writableStreams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KafkaAclGroupTopic"
}
}
}
},
"KafkaAclGroupTopic": {
"description": "Kafka ACL group topic definition",
"type": "object",
"properties": {
"name": {
"description": "topic name",
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"topic",
"internal",
"public"
]
}
},
"required": [
"kind",
"name"
]
},
"KafkaProxy": {
"example": {
"certificate": "certificate",
"cpus": 0.3,
"enableKafkaAclGroups": true,
"instances": 2,
"mem": 3072,
"name": "name",
"schemaStore": true,
"schemaStoreCpus": 0.1,
"schemaStoreMem": 256,
"secretNameCaChain": "secretNameCaChain",
"validations": [
{
"commonName": "commonName",
"country": "country",
"locality": "locality",
"organization": "organization",
"organizationalUnit": "organizationalUnit",
"province": "province",
"subjectType": "subjectType"
},
{
"commonName": "commonName",
"country": "country",
"locality": "locality",
"organization": "organization",
"organizationalUnit": "organizationalUnit",
"province": "province",
"subjectType": "subjectType"
}
],
"zone": "private"
},
"type": "object",
"properties": {
"name": {
"description": "Name of the new Kafka Proxy",
"type": "string"
},
"zone": {
"description": "Available networks on this platform",
"type": "string",
"enum": [
"private",
"public"
]
},
"cpus": {
"example": 0.3,
"description": "CPU quota for each Kafka Proxy (minimum 0.3 = 30% of 1 CPU)",
"type": "number",
"minimum": 0.3
},
"mem": {
"example": 3072,
"description": "Memory (MB) for each Kafka Proxy (minimum 1024 = 1 GB)",
"type": "integer",
"minimum": 1024
},
"instances": {
"example": 2,
"description": "Number of instances",
"type": "integer",
"minimum": 1
},
"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": {
"example": 0.1,
"description": "CPU quota for Schema Store (minimum 0.3 = 30% of 1 CPU)",
"type": "number",
"minimum": 0.1
},
"schemaStoreMem": {
"example": 256,
"description": "Memory (MB) for Schema Store (minimum 256MB)",
"type": "integer",
"minimum": 256
},
"validations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Validations"
}
},
"enableKafkaAclGroups": {
"description": "Set to True to enable the ACL groups (Advanced feature: without the correct acl groups in place this will result in a non-functioning proxy instance)\n",
"type": "boolean"
}
},
"required": [
"certificate",
"cpus",
"instances",
"mem",
"secretNameCaChain",
"zone"
]
},
"KafkaProxyValidation": {
"description": "client certificate validations, only non empty values taken in account, no values means no validation",
"type": "object",
"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",
"type": "string",
"enum": [
"EXACT",
"PATTERN"
]
}
},
"required": [
"subjectType"
]
},
"LimitValue": {
"discriminator": {
"propertyName": "name",
"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",
"kafkaAclGroupCount": "#/components/schemas/LimitValueKafkaAclGroupCount"
}
},
"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"
},
{
"$ref": "#/components/schemas/LimitValueKafkaAclGroupCount"
}
]
},
"BaseLimitValue": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"cpu",
"mem",
"certificateCount",
"secretCount",
"topicCount",
"partitionCount",
"consumerRate",
"producerRate",
"requestRate"
]
}
},
"required": [
"name"
]
},
"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"
}
]
},
"LimitValueKafkaAclGroupCount": {
"allOf": [
{
"$ref": "#/components/schemas/BaseLimitValue"
},
{
"$ref": "#/components/schemas/LimitValueKafkaAclGroupCount_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"
}
]
},
"ManagedStream": {
"description": "An internal stream. A stream that can be shared between different tenants, but is not accessible over the MQTT protocol adapter.\n",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Topic"
},
{
"type": "object"
}
]
},
"PublicManagedStream": {
"description": "A public stream. A stream that can be shared between different tenants, and is accessible over the MQTT protocol adapter.\n",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/ManagedStream"
},
{
"$ref": "#/components/schemas/PublicManagedStream_allOf"
}
]
},
"PublicManagedStreamContract": {
"description": "The stream contract for a public stream.",
"type": "object",
"properties": {
"canBeRetained": {
"description": "Whether MQTT records can have the \"retained\" flag.",
"type": "boolean"
},
"partitioner": {
"description": "The partitioner used to partition messages across different kafka partitions.",
"discriminator": {
"propertyName": "kind",
"mapping": {
"topicLevel": "#/components/schemas/PublicManagedStreamTopicLevelPartitioner",
"kafkaDefault": "#/components/schemas/PublicManagedStreamKafkaDefaultPartitioner"
}
},
"oneOf": [
{
"$ref": "#/components/schemas/PublicManagedStreamTopicLevelPartitioner"
},
{
"$ref": "#/components/schemas/PublicManagedStreamKafkaDefaultPartitioner"
}
]
}
},
"required": [
"canBeRetained",
"partitioner"
]
},
"PublicManagedStreamTopicLevelPartitioner": {
"type": "object",
"properties": {
"topicLevel": {
"example": 2,
"type": "integer"
},
"kind": {
"example": "topicLevel",
"type": "string",
"enum": [
"topicLevel"
]
}
},
"required": [
"kind",
"topicLevel"
]
},
"PublicManagedStreamKafkaDefaultPartitioner": {
"type": "object",
"properties": {
"kind": {
"example": "kafkaDefault",
"type": "string",
"enum": [
"kafkaDefault"
]
}
},
"required": [
"kind"
]
},
"ManagedStreamId": {
"description": "The id of a managed stream consists of a managing prefix set specifically as a limit for each managing tenant, and name of the stream. The managing prefix and the name are separated by `---` (three hyphens).\nFor an stream called `maerts` for a tenant with an assigned managing prefix `tnanet` the full name would be `tnanet---maerts`. The public or internal type of the particular stream is set by using the corresponding `/public/` or `/internal/` methods in the managed streams API.\n",
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,38}[a-z]---[a-z][a-z0-9-]{1,98}[a-z0-9]$"
},
"ManagedTenant": {
"example": {
"manager": "manager",
"name": "name",
"services": [
{
"enabled": true,
"name": "vpn"
},
{
"enabled": true,
"name": "vpn"
}
]
},
"type": "object",
"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": {
"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",
"default": [
{
"enabled": true,
"name": "monitoring"
},
{
"enabled": false,
"name": "vpn"
},
{
"enabled": false,
"name": "tracing"
}
],
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedTenant_services"
}
}
},
"required": [
"manager",
"name"
]
},
"Metrics": {
"example": {
"path": "/metrics",
"port": 0
},
"description": "metrics endpoint which will be scraped by the platform.",
"type": "object",
"properties": {
"port": {
"description": "The TCP port for the metrics endpoint\n",
"default": 7070,
"type": "integer",
"minimum": 0
},
"path": {
"description": "The HTTP path for the metrics endpoint\n",
"default": "/metrics",
"type": "string"
}
}
},
"Notification": {
"example": {
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
"type": "object",
"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": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"message",
"remove"
]
},
"PortMapping": {
"example": {
"auth": "auth",
"mode": "mode",
"paths": [
{
"prefix": "prefix"
},
{
"prefix": "prefix"
}
],
"serviceGroup": "serviceGroup",
"tls": "auto",
"vhost": "vhost",
"whitelist": "whitelist"
},
"type": "object",
"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/<endpoint>`. 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 `<endpoint>` 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 `<vhost>: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",
"type": "array",
"items": {
"$ref": "#/components/schemas/PathSpec"
}
},
"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.",
"type": "string",
"enum": [
"auto",
"none"
]
},
"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"
}
}
},
"PathSpec": {
"example": {
"prefix": "prefix"
},
"type": "object",
"properties": {
"prefix": {
"description": "The path prefix (starting with `/`, ending without `/`) that will be matched for routing to this service.",
"type": "string"
}
},
"required": [
"prefix"
]
},
"Secret": {
"example": {
"name": "name",
"value": "value"
},
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"name",
"value"
]
},
"Task": {
"example": {
"healthy": true,
"host": "10.0.2.36",
"lastUpdate": 1638980430,
"stagedAt": "2017-12-07T10:53:46.643Z",
"startedAt": "2017-12-07T10:55:41.765Z",
"state": "RUNNING",
"stoppedAt": "2017-12-07T10:58:41.765Z"
},
"type": "object",
"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",
"type": "string",
"format": "ipv4"
},
"logs": {
"description": "Optional link to the latest log dump for this task",
"type": "string",
"format": "url"
},
"stagedAt": {
"description": "Staging time of the task",
"type": "string",
"format": "date-time"
},
"startedAt": {
"description": "Start time of the task",
"type": "string",
"format": "date-time"
},
"stoppedAt": {
"description": "Stopped time of the task",
"type": "string",
"format": "date-time"
},
"lastUpdate": {
"description": "Timestamp of the last time the task was updated",
"type": "integer",
"format": "int64"
},
"state": {
"description": "The state the task is in",
"type": "string",
"enum": [
"DROPPED",
"ERROR",
"FAILED",
"FINISHED",
"GONE",
"GONE_BY_OPERATOR",
"KILLED",
"KILLING",
"LOST",
"RUNNING",
"STAGING",
"STARTING",
"UNKNOWN",
"UNREACHABLE"
]
}
},
"required": [
"host",
"stagedAt",
"startedAt",
"state"
]
},
"TaskStatus": {
"example": {
"actual": {
"healthy": true,
"host": "10.0.2.36",
"lastUpdate": 1638980430,
"stagedAt": "2017-12-07T10:53:46.643Z",
"startedAt": "2017-12-07T10:55:41.765Z",
"state": "RUNNING",
"stoppedAt": "2017-12-07T10:58:41.765Z"
},
"configuration": {
"healthy": true,
"host": "10.0.2.36",
"lastUpdate": 1638980430,
"stagedAt": "2017-12-07T10:53:46.643Z",
"startedAt": "2017-12-07T10:55:41.765Z",
"state": "RUNNING",
"stoppedAt": "2017-12-07T10:58:41.765Z"
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/Task"
},
"actual": {
"$ref": "#/components/schemas/Task"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"Topic": {
"example": {
"kafkaProperties": {
"key": "kafkaProperties"
},
"partitions": 0,
"replicationFactor": 6
},
"type": "object",
"properties": {
"partitions": {
"type": "integer"
},
"replicationFactor": {
"type": "integer"
},
"kafkaProperties": {
"description": "Additional Kafka properties to be set on the topic. The properties are key-value pairs.\nThe key is the property name and the value is the property value. The following properties are allowed:\n - `cleanup.policy`: `delete|compact`\n - `compression.type`: `uncompressed|zstd|lz4|snappy|gzip|producer`\n - `delete.retention.ms`: min 0\n - `max.message.bytes`: min `1024`, max `1048576` (1024x1024)\n - `message.timestamp.type`: `CreateTime|LogAppendTime`\n - `retention.bytes` min 0\n - `retention.ms` min `3600000` (1 hour), max: `3,1536E+10` (365 days)\n - `segment.bytes`: min `52428800` (1024x1024x50)\n",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"partitions",
"replicationFactor"
]
},
"KafkaProperties": {
"description": "Additional Kafka properties to be set on the topic. The properties are key-value pairs.\nThe key is the property name and the value is the property value. The following properties are allowed:\n - `cleanup.policy`: `delete|compact`\n - `compression.type`: `uncompressed|zstd|lz4|snappy|gzip|producer`\n - `delete.retention.ms`: min 0\n - `max.message.bytes`: min `1024`, max `1048576` (1024x1024)\n - `message.timestamp.type`: `CreateTime|LogAppendTime`\n - `retention.bytes` min 0\n - `retention.ms` min `3600000` (1 hour), max: `3,1536E+10` (365 days)\n - `segment.bytes`: min `52428800` (1024x1024x50)\n",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"TopicStatus": {
"example": {
"actual": {
"kafkaProperties": {
"key": "kafkaProperties"
},
"partitions": 0,
"replicationFactor": 6
},
"configuration": {
"kafkaProperties": {
"key": "kafkaProperties"
},
"partitions": 0,
"replicationFactor": 6
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/Topic"
},
"actual": {
"$ref": "#/components/schemas/Topic"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"Validations": {
"example": {
"commonName": "commonName",
"country": "country",
"locality": "locality",
"organization": "organization",
"organizationalUnit": "organizationalUnit",
"province": "province",
"subjectType": "subjectType"
},
"type": "object",
"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"
}
}
},
"Vhost": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"Volume": {
"example": {
"sizeGiB": 0
},
"type": "object",
"properties": {
"sizeGiB": {
"type": "integer"
}
},
"required": [
"sizeGiB"
]
},
"VolumeStatus": {
"example": {
"actual": {
"sizeGiB": 0
},
"configuration": {
"sizeGiB": 0
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/Volume"
},
"actual": {
"$ref": "#/components/schemas/Volume"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"Zone": {
"description": "available networks on this platform",
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"internal",
"public"
]
}
},
"required": [
"network"
]
},
"ChildList": {
"type": "array",
"items": {
"type": "string"
}
},
"BucketWatchStatus": {
"example": {
"actual": {
"bucket": "bucket"
},
"configuration": {
"bucket": "bucket"
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/BucketWatch"
},
"actual": {
"$ref": "#/components/schemas/BucketWatch"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"AllocationStatus_1": {
"$ref": "#/components/schemas/AllocationStatus"
},
"BucketAccessStatus": {
"example": {
"actual": {
"bucket": "bucket",
"credentialidentifierref": "credentialidentifierref",
"credentialsecretref": "credentialsecretref",
"name": "name",
"readable": true,
"writable": true
},
"configuration": {
"bucket": "bucket",
"name": "name",
"readable": true,
"writable": true
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/BucketAccessConfiguration"
},
"actual": {
"$ref": "#/components/schemas/BucketAccess"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"BucketAccessConfiguration": {
"example": {
"bucket": "bucket",
"name": "name",
"readable": true,
"writable": true
},
"type": "object",
"properties": {
"name": {
"type": "string"
},
"bucket": {
"type": "string"
},
"readable": {
"type": "boolean"
},
"writable": {
"type": "boolean"
}
},
"required": [
"bucket",
"name",
"readable",
"writable"
]
},
"BucketAccess": {
"example": {
"bucket": "bucket",
"credentialidentifierref": "credentialidentifierref",
"credentialsecretref": "credentialsecretref",
"name": "name",
"readable": true,
"writable": true
},
"type": "object",
"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"
]
},
"DataCatalogAssetStatus": {
"example": {
"actual": {
"kind": "kind",
"name": "name"
},
"configuration": {
"kind": "kind",
"name": "name"
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/DataCatalogAsset"
},
"actual": {
"$ref": "#/components/schemas/DataCatalogAsset"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"DataCatalogAsset": {
"example": {
"kind": "kind",
"name": "name"
},
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"kind",
"name"
]
},
"ThirdPartyBucketConcessionRegistration": {
"example": {
"credentialidentifierplaintext": "credentialidentifierplaintext",
"credentialsecretplaintext": "credentialsecretplaintext",
"name": "name",
"shareidentifier": "shareidentifier"
},
"type": "object",
"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"
]
},
"ThirdPartyBucketConcessionStatus": {
"example": {
"actual": {
"credentialidentifierref": "credentialidentifierref",
"credentialsecretref": "credentialsecretref",
"name": "name",
"readable": true,
"shareidentifier": "shareidentifier",
"writable": true
},
"configuration": {
"name": "name",
"shareidentifier": "shareidentifier"
},
"status": {
"derivedFrom": "derivedFrom",
"notifications": [
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
},
{
"args": {
"key": "args"
},
"message": "message",
"remove": true
}
],
"provisioned": true
}
},
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/ThirdPartyBucketConcessionConfiguration"
},
"actual": {
"$ref": "#/components/schemas/ThirdPartyBucketConcession"
},
"status": {
"$ref": "#/components/schemas/AllocationStatus"
}
},
"required": [
"status"
]
},
"ThirdPartyBucketConcessionConfiguration": {
"example": {
"name": "name",
"shareidentifier": "shareidentifier"
},
"type": "object",
"properties": {
"name": {
"description": "your name for this bucket owned by a third party",
"type": "string"
},
"shareidentifier": {
"type": "string"
}
},
"required": [
"name",
"shareidentifier"
]
},
"ThirdPartyBucketConcession": {
"example": {
"credentialidentifierref": "credentialidentifierref",
"credentialsecretref": "credentialsecretref",
"name": "name",
"readable": true,
"shareidentifier": "shareidentifier",
"writable": true
},
"type": "object",
"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"
]
},
"ActualCertificate_allOf": {
"type": "object",
"properties": {
"serialNumber": {
"type": "string"
},
"notBefore": {
"type": "string",
"format": "date-time"
},
"notAfter": {
"type": "string",
"format": "date-time"
},
"distinguishedName": {
"type": "string"
},
"dnsNames": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"distinguishedName",
"dnsNames",
"notAfter",
"notBefore",
"serialNumber"
]
},
"Application_volumes": {
"example": {
"name": "name"
},
"type": "object",
"properties": {
"name": {
"description": "the full name of the volume that needs to be mounted in the container.",
"type": "string"
}
},
"required": [
"name"
]
},
"LimitValueCpu_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The number of CPUs to provision for the managed tenant (factions of a vCPU core, 1.0 equals 1 vCPU)",
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01,
"maximum": 16.0
}
},
"required": [
"value"
]
},
"LimitValueMem_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The amount of memory available for the managed tenant (MiB)",
"type": "integer",
"minimum": 1,
"maximum": 131072
}
},
"required": [
"value"
]
},
"LimitValueCertificateCount_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The number of certificates available for the managed tenant",
"type": "integer",
"minimum": 1,
"maximum": 40
}
},
"required": [
"value"
]
},
"LimitValueSecretCount_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The number of secrets available for the managed tenant",
"type": "integer",
"minimum": 1,
"maximum": 40
}
},
"required": [
"value"
]
},
"LimitValueTopicCount_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The number of topics available for the managed tenant",
"type": "integer",
"minimum": 1,
"maximum": 40
}
},
"required": [
"value"
]
},
"LimitValuePartitionCount_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The number of partitions available for the managed tenant",
"type": "integer",
"minimum": 1,
"maximum": 40
}
},
"required": [
"value"
]
},
"LimitValueKafkaAclGroupCount_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The number of Kafka ACL groups available for the managed tenant",
"type": "integer",
"minimum": 0,
"maximum": 50
}
},
"required": [
"value"
]
},
"LimitValueConsumerRate_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The maximum allowed consumer rate (bytes/sec)",
"type": "integer",
"minimum": 1048576,
"maximum": 1250000000
}
},
"required": [
"value"
]
},
"LimitValueProducerRate_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The maximum allowed producer rate (bytes/sec)",
"type": "integer",
"minimum": 1048576,
"maximum": 1250000000
}
},
"required": [
"value"
]
},
"LimitValueRequestRate_allOf": {
"type": "object",
"properties": {
"value": {
"description": "The maximum allowed request rate (%)",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"value"
]
},
"PublicManagedStream_allOf": {
"type": "object",
"properties": {
"contract": {
"$ref": "#/components/schemas/PublicManagedStreamContract"
}
},
"required": [
"contract"
]
},
"ManagedTenant_services": {
"example": {
"enabled": true,
"name": "vpn"
},
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"vpn",
"tracing",
"monitoring"
]
},
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled",
"name"
]
}
},
"parameters": {
"AppID": {
"in": "path",
"name": "appid",
"description": "application name",
"required": true,
"schema": {
"type": "string"
},
"example": "simpleweb-test",
"explode": false,
"style": "simple"
},
"AppCatalogAppID": {
"in": "path",
"name": "appcatalogappid",
"description": "appcatalogapp name",
"required": true,
"schema": {
"type": "string"
},
"example": "eavesdropper",
"explode": false,
"style": "simple"
},
"BucketId": {
"in": "path",
"name": "id",
"description": "bucket name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket",
"style": "simple"
},
"BucketAccessName": {
"in": "path",
"name": "name",
"description": "bucket access name",
"required": true,
"schema": {
"type": "string"
},
"example": "twitter-app-bucket-readonly",
"style": "simple"
},
"CertificateId": {
"in": "path",
"name": "id",
"description": "certificate name",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-certificate",
"explode": false,
"style": "simple"
},
"DatabaseId": {
"in": "path",
"name": "id",
"description": "database name",
"required": true,
"schema": {
"type": "string"
},
"example": "db1",
"explode": false,
"style": "simple"
},
"KafkaProxyId": {
"in": "path",
"name": "id",
"description": "Kafka proxy id",
"required": true,
"schema": {
"type": "string"
},
"example": "kafka-proxy-id",
"explode": false,
"style": "simple"
},
"KafkaACLGroupId": {
"in": "path",
"name": "id",
"description": "Kafka ACL group id",
"required": true,
"schema": {
"type": "string",
"pattern": "[a-z][a-z0-9-]{1,15}"
},
"example": "kafka-acl-group-id",
"explode": false,
"style": "simple"
},
"LimitKind": {
"in": "path",
"name": "kind",
"description": "Limit request type",
"required": true,
"schema": {
"type": "string",
"enum": [
"cpu",
"mem",
"certificatecount",
"secretcount",
"topiccount",
"partitioncount",
"consumerrate",
"producerrate",
"requestrate"
]
},
"example": "cpu",
"explode": false,
"style": "simple"
},
"Manager": {
"in": "path",
"name": "manager",
"description": "Name of the tenant that is acting as manager for this request",
"required": true,
"schema": {
"type": "string"
},
"example": "manager-tenant",
"explode": false,
"style": "simple"
},
"ManagedStreamId": {
"in": "path",
"name": "streamId",
"description": "id of the managed stream, including the type prefix",
"required": true,
"schema": {
"$ref": "#/components/schemas/ManagedStreamId"
},
"examples": {
"awesomedata": {
"summary": "public stream called `awesomedata` for tenant `tnanet`",
"value": "tnanet---awesomedata"
}
},
"explode": false,
"style": "simple"
},
"SecretId": {
"in": "path",
"name": "id",
"description": "secret name",
"required": true,
"schema": {
"type": "string"
},
"example": "proximity-certificate-key",
"explode": false,
"style": "simple"
},
"TaskId": {
"in": "path",
"name": "id",
"description": "task name",
"required": true,
"schema": {
"type": "string"
},
"example": "dbfa9cdc-b9dc-11eb-9cb4-70b3d5800002",
"explode": false,
"style": "simple"
},
"Tenant": {
"in": "path",
"name": "tenant",
"description": "tenant name",
"required": true,
"schema": {
"type": "string"
},
"example": "tenant-a",
"explode": false,
"style": "simple"
},
"TopicId": {
"in": "path",
"name": "id",
"description": "topic name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-input",
"explode": false,
"style": "simple"
},
"VolumeId": {
"in": "path",
"name": "id",
"description": "volume name",
"required": true,
"schema": {
"type": "string"
},
"example": "flinkjob-store",
"explode": false,
"style": "simple"
}
},
"examples": {
"application": {
"description": "an example application",
"value": {
"cpus": 0.1,
"env": {
"MY_VARIABLE": "{ concat('I am running on ', variables('DSH_ENVIRONMENT'), ' blank ') }"
},
"image": "registry.cp.kpn-dsh.com/dshdemo/simpleweb:1.0.0",
"instances": 1,
"mem": 256,
"metrics": {
"path": "/metrics",
"port": 7070
},
"name": "simpleweb-test",
"needsToken": true,
"readableStreams": [
"stream.airpollution",
"stream.weather"
],
"secrets": [
{
"injections": [
{
"env": "SATELLITE_API_KEY"
}
],
"name": "satellite-api-key"
}
],
"singleInstance": true,
"topics": [
"duptest"
],
"user": "1673:1673",
"writableStreams": [
"stream.metrics"
]
}
},
"appcatalogappconfiguration": {
"description": "an example appcatalogappconfiguration",
"value": {
"configuration": {
"@gid": "1674",
"@uid": "1674",
"LOG_LEVEL": "warn",
"LOG_LEVEL_MONITOR": "warn",
"LOG_LEVEL_SERVICE": "warn"
},
"manifestUrn": "appcatalog/manifest/klarrio/whoami/0.0.1",
"name": "whoami",
"stopped": false
}
},
"allocationStatus": {
"description": "an example application",
"value": {
"derivedFrom": "optional URN of optional parent allocation",
"notifications": [],
"provisioned": true
}
},
"certificate": {
"description": "an example certificate",
"value": {
"certChainSecret": "ctest-deployment-certificate",
"keySecret": "ctest-deployment-key"
}
},
"certificateStatus": {
"description": "an example CertificateStatus",
"value": {
"actual": {
"certChainSecret": "ctest-deployment-certificate",
"keySecret": "ctest-deployment-key"
},
"configuration": {
"certChainSecret": "ctest-deployment-certificate",
"keySecret": "ctest-deployment-key"
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"database": {
"description": "an example database",
"value": {
"cpus": 1.0,
"extensions": [],
"instances": 3,
"mem": 2048,
"snapshotInterval": 0,
"version": "",
"volumeSize": 10
}
},
"databaseStatus": {
"description": "an example databaseStatus",
"value": {
"actual": {
"cpus": 1.0,
"extensions": [],
"instances": 3,
"mem": 2048,
"snapshotInterval": 0,
"version": "",
"volumeSize": 10
},
"configuration": {
"cpus": 1.0,
"extensions": [],
"instances": 3,
"mem": 2048,
"snapshotInterval": 0,
"version": "",
"volumeSize": 10
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"flinkCluster": {
"description": "an example flinkCluster",
"value": {
"jobManager": {
"cpus": 0.3,
"mem": 1024
},
"taskManager": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"version": "1.12",
"zone": "public"
}
},
"flinkClusterStatus": {
"description": "an example FlinkClusterStatus",
"value": {
"actual": {
"jobManager": {
"cpus": 0.3,
"mem": 1024
},
"taskManager": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"version": "1.12",
"zone": "public"
},
"configuration": {
"jobManager": {
"cpus": 0.3,
"mem": 1024
},
"taskManager": {
"cpus": 0.3,
"instances": 2,
"mem": 3072
},
"version": "1.12",
"zone": "public"
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"managedStream": {
"description": "a internal managed stream",
"value": {
"partitions": 6,
"replicationFactor": 3
}
},
"publicManagedStreamWithDefaultKafkaPartitioner": {
"description": "a public managed stream with a default kafka partitioner",
"value": {
"contract": {
"canBeRetained": true,
"partitioner": {
"kind": "kafkaDefault"
}
},
"partitions": 6,
"replicationFactor": 3
}
},
"publicManagedStreamWithTopicLevelPartitioner": {
"description": "a public managed stream with a topic level partitioner",
"value": {
"contract": {
"canBeRetained": true,
"partitioner": {
"kind": "topicLevel",
"topicLevel": 2
}
},
"partitions": 6,
"replicationFactor": 3
}
},
"managedTenant": {
"description": "an example managed tenant",
"value": {
"manager": "managing-tenant",
"name": "a-tenant",
"services": [
{
"enabled": false,
"name": "vpn"
},
{
"enabled": true,
"name": "monitoring"
},
{
"enabled": true,
"name": "tracing"
}
]
}
},
"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": {
"certificate": "test-certificate",
"cpus": 1.0,
"enableKafkaAclGroups": false,
"instances": 1,
"mem": 1024,
"name": "test-proxy",
"schemaStore": true,
"schemaStoreCpus": 0.1,
"schemaStoreMem": 256,
"secretNameCaChain": "test-proxy-ca-chain",
"validations": [
{
"commonName": "tenant-common-name",
"country": "NL",
"locality": "Rotterdam",
"organization": "KPN",
"organizationalUnit": "DSH",
"province": "Zuid-Holland",
"subjectType": "EXACT"
}
],
"zone": "public"
}
},
"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",
"lastUpdate": 1639161445,
"stagedAt": "2017-12-07T10:53:46.643Z",
"startedAt": "2017-12-07T10:55:41.765Z",
"state": "RUNNING",
"stoppedAt": "2017-12-07T10:58:41.765Z"
}
},
"taskStatus": {
"description": "an example taskStatus",
"value": {
"actual": {
"healthy": true,
"host": "10.0.2.36",
"lastUpdate": 1639161445,
"stagedAt": "2017-12-07T10:53:46.643Z",
"startedAt": "2017-12-07T10:55:41.765Z",
"state": "RUNNING",
"stoppedAt": "2017-12-07T10:58:41.765Z"
},
"configuration": {
"healthy": true,
"host": "10.0.2.36",
"lastUpdate": 1639161445,
"stagedAt": "2017-12-07T10:53:46.643Z",
"startedAt": "2017-12-07T10:55:41.765Z",
"state": "RUNNING",
"stoppedAt": "2017-12-07T10:58:41.765Z"
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"topic": {
"description": "an example topic",
"value": {
"partitions": 2,
"replicationFactor": 1
}
},
"topicStatus": {
"description": "an example topicStatus",
"value": {
"actual": {
"partitions": 2,
"replicationFactor": 1
},
"configuration": {
"partitions": 2,
"replicationFactor": 1
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"volume": {
"description": "an example volume",
"value": {
"sizeGiB": 1
}
},
"volumeStatus": {
"description": "an example volumeStatus",
"value": {
"actual": {
"sizeGiB": 1
},
"configuration": {
"sizeGiB": 1
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"bucketWatchStatus": {
"description": "an example BucketWatchStatus",
"value": {
"actual": {
"bucket": "twitter-app-bucket"
},
"configuration": {
"bucket": "twitter-app-bucket"
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"bucketStatus": {
"description": "an example BucketStatus",
"value": {
"actual": {
"encrypted": true,
"versioned": false
},
"configuration": {
"encrypted": true,
"versioned": false
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"bucket": {
"description": "an example bucket",
"value": {
"encrypted": true,
"versioned": false
}
},
"bucketaccesswanted": {
"description": "an example BucketAccess allocation request",
"value": {
"bucket": "baz",
"name": "baz-shared",
"readable": true,
"writable": true
}
},
"bucketaccessactual": {
"description": "a example BucketAccess as actually deployed",
"value": {
"bucket": "baz",
"credentialidentifierref": "bucketaccess_baz-shared_identifier",
"credentialsecretref": "bucketaccess_baz-shared_secret",
"name": "baz-shared",
"readable": true,
"writable": true
}
},
"dataCatalogAssetStatus": {
"description": "an example DataCatalogAssetStatus",
"value": {
"actual": {
"encrypted": true,
"versioned": false
},
"configuration": {
"encrypted": true,
"versioned": false
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"dataCatalogAssetBucket": {
"description": "an example data catalog asset for a bucket",
"value": {
"kind": "bucket",
"name": "my-bucket"
}
},
"dataCatalogAssetWritableStream": {
"description": "an example data catalog asset for a public writablestream",
"value": {
"kind": "writablestream",
"name": "stream.my-stream"
}
},
"thirdpartybucketRegistration": {
"description": "an example thirdpartybucketregistration",
"value": {
"credentialidentifierplaintext": "AIKAsomething",
"credentialsecretplaintext": "longseeminglyrandomsecretvalue",
"name": "bucket-imported-from-foo",
"shareidentifier": "allocation/foo/bucketaccess/baz-shared"
}
},
"thirdpartybucketConcessionStatus": {
"description": "an example ThirdPartyBucketConcessionStatus",
"value": {
"actual": {
"credentialidentifierref": "receivedbucketaccess_bucket-imported-from-foo_identifier",
"credentialsecretref": "receivedbucketaccess_bucket-imported-from-foo_secret",
"name": "bucket-imported-from-foo",
"readable": true,
"shareidentifier": "allocation/foo/bucketaccess/baz-shared",
"writable": true
},
"configuration": {
"credentialidentifierref": "receivedbucketaccess_bucket-imported-from-foo_identifier",
"credentialsecretref": "receivedbucketaccess_bucket-imported-from-foo_secret",
"name": "bucket-imported-from-foo",
"shareidentifier": "allocation/foo/bucketaccess/baz-shared"
},
"status": {
"notifications": [],
"provisioned": true
}
}
},
"thirdpartybucketConcession": {
"description": "an example ThirdPartyBucketConcession",
"value": {
"credentialidentifierref": "receivedbucketaccess_bucket-imported-from-foo_identifier",
"credentialsecretref": "receivedbucketaccess_bucket-imported-from-foo_secret",
"name": "bucket-imported-from-foo",
"readable": true,
"shareidentifier": "allocation/foo/bucketaccess/baz-shared",
"writable": true
}
}
},
"securitySchemes": {
"tokenAuth": {
"type": "http",
"scheme": "bearer"
}
}
},
"security": [
{
"tokenAuth": []
}
],
"tags": [
{
"name": "application",
"description": "Manage applications."
},
{
"name": "app catalog",
"description": "Manage pre-packaged, easily configured apps that you can select from the App Catalog."
},
{
"name": "app catalog app configuration",
"description": "Configure apps you start from the App Catalog."
},
{
"name": "app catalog manifest",
"description": "Query what's in the App Catalog."
},
{
"name": "bucket",
"description": "Manage object store resources."
},
{
"name": "bucket watch",
"description": "Manage object store change events."
},
{
"name": "bucket access",
"description": "Manage the sharing of object stores with other tenants and with the outside world."
},
{
"name": "third party bucket",
"description": "Manage access to the object stores of other tenants."
},
{
"name": "certificate",
"description": "Manage certificate resources."
},
{
"name": "database",
"description": "Managed a scalable, PostgreSQL compatible, relational database."
},
{
"name": "data catalog",
"description": "Manage opt-in for data catalog assets."
},
{
"name": "flink cluster",
"description": "Manage a Flink cluster."
},
{
"name": "kafka proxy",
"description": "Manage Kafka proxies."
},
{
"name": "kafka acl group",
"description": "Manage Kafka ACL groups"
},
{
"name": "managed tenant",
"description": "Manage other tenants."
},
{
"name": "managed tenant limits",
"description": "Manage the limits of other tenants."
},
{
"name": "managed streams",
"description": "Manage public and internal streams."
},
{
"name": "managed streams access",
"description": "Manage access to streams."
},
{
"name": "robot",
"description": "Request and renew Tenant API tokens."
},
{
"name": "secret",
"description": "Manage secrets."
},
{
"name": "topic",
"description": "Manage Kafka topics."
},
{
"name": "volume",
"description": "Manage volumes."
}
]
}