Created
June 12, 2021 16:03
-
-
Save mlesaout/cb01649ee309859830b8084af0db347b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openapi": "3.0.0", | |
"tags": [ | |
{ | |
"name": "Open Service Broker API Specification" | |
} | |
], | |
"info": { | |
"title": "Open Service Broker API", | |
"description": "The Open Service Broker API defines an HTTP(S) interface between Platforms and Service Brokers.", | |
"license": { | |
"name": "Apache 2.0", | |
"url": "http://www.apache.org/licenses/LICENSE-2.0.html" | |
}, | |
"contact": { | |
"name": "Open Service Broker API", | |
"url": "https://www.openservicebrokerapi.org/", | |
"email": "[email protected]" | |
}, | |
"version": "master - might contain changes that are not yet released" | |
}, | |
"servers": [ | |
{ | |
"url": "http://example.com", | |
"description": "Broker Endpoint" | |
}, | |
{ | |
"url": "http://localhost:3000", | |
"description": "OSB Checker - MockOSB" | |
} | |
], | |
"paths": { | |
"/v2/catalog": { | |
"get": { | |
"summary": "get the catalog of services that the service broker offers", | |
"tags": [ | |
"Catalog" | |
], | |
"operationId": "catalog.get", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "catalog response", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Catalog" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/v2/service_instances/{instance_id}": { | |
"put": { | |
"summary": "provision a service instance", | |
"tags": [ | |
"ServiceInstances" | |
], | |
"operationId": "serviceInstance.provision", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance to provision", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "accepts_incomplete", | |
"in": "query", | |
"description": "asynchronous operations supported", | |
"schema": { | |
"type": "boolean" | |
} | |
} | |
], | |
"requestBody": { | |
"description": "parameters for the requested service instance provision", | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceProvisionRequestBody" | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceProvisionResponse" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceProvisionResponse" | |
} | |
} | |
} | |
}, | |
"202": { | |
"description": "Accepted", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceAsyncOperation" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"409": { | |
"description": "Conflict", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"422": { | |
"description": "Unprocessable Entity", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"patch": { | |
"summary": "update a service instance", | |
"tags": [ | |
"ServiceInstances" | |
], | |
"operationId": "serviceInstance.update", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "accepts_incomplete", | |
"in": "query", | |
"description": "asynchronous operations supported", | |
"schema": { | |
"type": "boolean" | |
} | |
} | |
], | |
"requestBody": { | |
"description": "parameters for the requested service instance update", | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceUpdateRequestBody" | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Object" | |
} | |
} | |
} | |
}, | |
"202": { | |
"description": "Accepted", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceAsyncOperation" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"422": { | |
"description": "Unprocessable entity", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"delete": { | |
"summary": "deprovision a service instance", | |
"tags": [ | |
"ServiceInstances" | |
], | |
"operationId": "serviceInstance.deprovision", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "id of instance being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "service_id", | |
"in": "query", | |
"description": "id of the service associated with the instance being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "plan_id", | |
"in": "query", | |
"description": "id of the plan associated with the instance being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "accepts_incomplete", | |
"in": "query", | |
"description": "asynchronous deprovision supported", | |
"schema": { | |
"type": "boolean" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Object" | |
} | |
} | |
} | |
}, | |
"202": { | |
"description": "Accepted", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/AsyncOperation" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"410": { | |
"description": "Gone", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"422": { | |
"description": "Unprocessable Entity", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"get": { | |
"summary": "get a service instance", | |
"tags": [ | |
"ServiceInstances" | |
], | |
"operationId": "serviceInstance.get", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance to fetch", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "service_id", | |
"in": "query", | |
"description": "id of the service associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "plan_id", | |
"in": "query", | |
"description": "id of the plan associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceInstanceResource" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not Found", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/v2/service_instances/{instance_id}/last_operation": { | |
"get": { | |
"summary": "get the last requested operation state for service instance", | |
"tags": [ | |
"ServiceInstances" | |
], | |
"operationId": "serviceInstance.lastOperation.get", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance to find last operation applied to it", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "service_id", | |
"in": "query", | |
"description": "id of the service associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "plan_id", | |
"in": "query", | |
"description": "id of the plan associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "operation", | |
"in": "query", | |
"description": "a provided identifier for the operation", | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/LastOperationResource" | |
} | |
} | |
}, | |
"headers": { | |
"Retry-After": { | |
"description": "Indicates when to retry the request", | |
"required": false, | |
"schema": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not Found", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"410": { | |
"description": "Gone", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation": { | |
"get": { | |
"summary": "get the last requested operation state for service binding", | |
"tags": [ | |
"ServiceBindings" | |
], | |
"operationId": "serviceBinding.lastOperation.get", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance to find last operation applied to it", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "binding_id", | |
"in": "path", | |
"description": "binding id of service binding to find last operation applied to it", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "service_id", | |
"in": "query", | |
"description": "id of the service associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "plan_id", | |
"in": "query", | |
"description": "id of the plan associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "operation", | |
"in": "query", | |
"description": "a provided identifier for the operation", | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/LastOperationResource" | |
} | |
} | |
}, | |
"headers": { | |
"Retry-After": { | |
"description": "Indicates when to retry the request", | |
"required": false, | |
"schema": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not Found", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"410": { | |
"description": "Gone", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/v2/service_instances/{instance_id}/service_bindings/{binding_id}": { | |
"put": { | |
"summary": "generate a service binding", | |
"tags": [ | |
"ServiceBindings" | |
], | |
"operationId": "serviceBinding.binding", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance to create a binding on", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "binding_id", | |
"in": "path", | |
"description": "binding id of binding to create", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "accepts_incomplete", | |
"in": "query", | |
"description": "asynchronous operations supported", | |
"schema": { | |
"type": "boolean" | |
} | |
} | |
], | |
"requestBody": { | |
"description": "parameters for the requested service binding", | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceBindingRequest" | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceBindingResponse" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Created", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceBindingResponse" | |
} | |
} | |
} | |
}, | |
"202": { | |
"description": "Accepted", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/AsyncOperation" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"409": { | |
"description": "Conflict", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"422": { | |
"description": "Unprocessable Entity", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"delete": { | |
"summary": "deprovision a service binding", | |
"tags": [ | |
"ServiceBindings" | |
], | |
"operationId": "serviceBinding.unbinding", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "id of the instance associated with the binding being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "binding_id", | |
"in": "path", | |
"description": "id of the binding being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "service_id", | |
"in": "query", | |
"description": "id of the service associated with the instance for which a binding is being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "plan_id", | |
"in": "query", | |
"description": "id of the plan associated with the instance for which a binding is being deleted", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "accepts_incomplete", | |
"in": "query", | |
"description": "asynchronous operations supported", | |
"schema": { | |
"type": "boolean" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Object" | |
} | |
} | |
} | |
}, | |
"202": { | |
"description": "Accepted", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/AsyncOperation" | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Bad Request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Unauthorized", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"410": { | |
"description": "Gone", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
}, | |
"422": { | |
"description": "Unprocessable Entity", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"get": { | |
"summary": "get a service binding", | |
"tags": [ | |
"ServiceBindings" | |
], | |
"operationId": "serviceBinding.get", | |
"parameters": [ | |
{ | |
"$ref": "#/components/parameters/APIVersion" | |
}, | |
{ | |
"$ref": "#/components/parameters/OriginatingIdentity" | |
}, | |
{ | |
"name": "instance_id", | |
"in": "path", | |
"description": "instance id of instance associated with the binding", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "binding_id", | |
"in": "path", | |
"description": "binding id of binding to fetch", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "service_id", | |
"in": "query", | |
"description": "id of the service associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "plan_id", | |
"in": "query", | |
"description": "id of the plan associated with the instance", | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "OK", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/ServiceBindingResource" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Not Found", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/Error" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"components": { | |
"parameters": { | |
"APIVersion": { | |
"name": "X-Broker-API-Version", | |
"in": "header", | |
"description": "version number of the Service Broker API that the Platform will use", | |
"required": true, | |
"schema": { | |
"type": "string", | |
"default": "2.13" | |
} | |
}, | |
"OriginatingIdentity": { | |
"name": "X-Broker-API-Originating-Identity", | |
"in": "header", | |
"description": "identity of the user that initiated the request from the Platform", | |
"schema": { | |
"type": "string" | |
} | |
} | |
}, | |
"schemas": { | |
"Catalog": { | |
"type": "object", | |
"properties": { | |
"services": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Service" | |
} | |
} | |
} | |
}, | |
"Service": { | |
"type": "object", | |
"required": [ | |
"name", | |
"id", | |
"description", | |
"bindable", | |
"plans" | |
], | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"id": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"tags": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"requires": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"enum": [ | |
"syslog_drain", | |
"route_forwarding", | |
"volume_mount" | |
] | |
} | |
}, | |
"bindable": { | |
"type": "boolean" | |
}, | |
"metadata": { | |
"$ref": "#/components/schemas/Metadata" | |
}, | |
"dashboard_client": { | |
"$ref": "#/components/schemas/DashboardClient" | |
}, | |
"binding_rotatable": { | |
"type": "boolean" | |
}, | |
"plan_updateable": { | |
"type": "boolean" | |
}, | |
"plans": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/Plan" | |
} | |
} | |
} | |
}, | |
"DashboardClient": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"secret": { | |
"type": "string" | |
}, | |
"redirect_uri": { | |
"type": "string" | |
} | |
} | |
}, | |
"Plan": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"description" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"metadata": { | |
"$ref": "#/components/schemas/Metadata" | |
}, | |
"maintenance_info": { | |
"$ref": "#/components/schemas/MaintenanceInfo" | |
}, | |
"free": { | |
"type": "boolean", | |
"default": true | |
}, | |
"bindable": { | |
"type": "boolean" | |
}, | |
"schemas": { | |
"$ref": "#/components/schemas/Schemas" | |
} | |
} | |
}, | |
"Schemas": { | |
"type": "object", | |
"properties": { | |
"service_instance": { | |
"$ref": "#/components/schemas/ServiceInstanceSchema" | |
}, | |
"service_binding": { | |
"$ref": "#/components/schemas/ServiceBindingSchema" | |
} | |
} | |
}, | |
"ServiceInstanceSchema": { | |
"type": "object", | |
"properties": { | |
"create": { | |
"type": "object", | |
"properties": { | |
"parameters": { | |
"type": "object" | |
} | |
} | |
}, | |
"update": { | |
"type": "object", | |
"properties": { | |
"parameters": { | |
"type": "object" | |
} | |
} | |
} | |
} | |
}, | |
"ServiceBindingSchema": { | |
"type": "object", | |
"properties": { | |
"create": { | |
"type": "object", | |
"properties": { | |
"parameters": { | |
"type": "object" | |
} | |
} | |
} | |
} | |
}, | |
"ServiceInstanceResource": { | |
"type": "object", | |
"properties": { | |
"service_id": { | |
"type": "string" | |
}, | |
"plan_id": { | |
"type": "string" | |
}, | |
"dashboard_url": { | |
"type": "string" | |
}, | |
"parameters": { | |
"$ref": "#/components/schemas/Object" | |
}, | |
"maintenance_info": { | |
"$ref": "#/components/schemas/MaintenanceInfo" | |
}, | |
"metadata": { | |
"$ref": "#/components/schemas/ServiceInstanceMetadata" | |
} | |
} | |
}, | |
"ServiceInstanceProvisionRequestBody": { | |
"type": "object", | |
"required": [ | |
"service_id", | |
"plan_id", | |
"organization_guid", | |
"space_guid" | |
], | |
"properties": { | |
"service_id": { | |
"type": "string" | |
}, | |
"plan_id": { | |
"type": "string" | |
}, | |
"context": { | |
"$ref": "#/components/schemas/Context" | |
}, | |
"organization_guid": { | |
"type": "string", | |
"deprecated": true | |
}, | |
"space_guid": { | |
"type": "string", | |
"deprecated": true | |
}, | |
"parameters": { | |
"$ref": "#/components/schemas/Object" | |
} | |
} | |
}, | |
"ServiceInstanceProvisionResponse": { | |
"type": "object", | |
"properties": { | |
"dashboard_url": { | |
"type": "string" | |
}, | |
"metadata": { | |
"$ref": "#/components/schemas/ServiceInstanceMetadata" | |
} | |
} | |
}, | |
"ServiceInstanceAsyncOperation": { | |
"type": "object", | |
"properties": { | |
"dashboard_url": { | |
"type": "string" | |
}, | |
"operation": { | |
"type": "string" | |
}, | |
"metadata": { | |
"$ref": "#/components/schemas/ServiceInstanceMetadata" | |
} | |
} | |
}, | |
"ServiceInstanceMetadata": { | |
"type": "object", | |
"properties": { | |
"labels": { | |
"type": "object" | |
}, | |
"attributes": { | |
"type": "object" | |
} | |
} | |
}, | |
"ServiceInstanceUpdateRequestBody": { | |
"type": "object", | |
"required": [ | |
"service_id" | |
], | |
"properties": { | |
"context": { | |
"$ref": "#/components/schemas/Context" | |
}, | |
"service_id": { | |
"type": "string" | |
}, | |
"plan_id": { | |
"type": "string" | |
}, | |
"parameters": { | |
"$ref": "#/components/schemas/Object" | |
}, | |
"previous_values": { | |
"$ref": "#/components/schemas/ServiceInstancePreviousValues" | |
} | |
} | |
}, | |
"ServiceInstancePreviousValues": { | |
"type": "object", | |
"properties": { | |
"service_id": { | |
"type": "string", | |
"deprecated": true | |
}, | |
"plan_id": { | |
"type": "string" | |
}, | |
"organization_id": { | |
"type": "string", | |
"deprecated": true | |
}, | |
"space_id": { | |
"type": "string", | |
"deprecated": true | |
} | |
} | |
}, | |
"AsyncOperation": { | |
"type": "object", | |
"properties": { | |
"operation": { | |
"type": "string" | |
} | |
} | |
}, | |
"LastOperationResource": { | |
"type": "object", | |
"required": [ | |
"state" | |
], | |
"properties": { | |
"state": { | |
"type": "string", | |
"enum": [ | |
"in progress", | |
"succeeded", | |
"failed" | |
] | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"instance_usable": { | |
"type": "boolean" | |
}, | |
"update_repeatable": { | |
"type": "boolean" | |
} | |
} | |
}, | |
"ServiceBindingResource": { | |
"type": "object", | |
"properties": { | |
"metadata": { | |
"$ref": "#/components/schemas/ServiceBindingMetadata" | |
}, | |
"credentials": { | |
"$ref": "#/components/schemas/Object" | |
}, | |
"syslog_drain_url": { | |
"type": "string" | |
}, | |
"route_service_url": { | |
"type": "string" | |
}, | |
"volume_mounts": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/ServiceBindingVolumeMount" | |
} | |
}, | |
"endpoints": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/ServiceBindingEndpoint" | |
} | |
}, | |
"parameters": { | |
"$ref": "#/components/schemas/Object" | |
} | |
} | |
}, | |
"ServiceBindingRequest": { | |
"type": "object", | |
"required": [ | |
"service_id", | |
"plan_id" | |
], | |
"properties": { | |
"context": { | |
"$ref": "#/components/schemas/Context" | |
}, | |
"service_id": { | |
"type": "string" | |
}, | |
"plan_id": { | |
"type": "string" | |
}, | |
"app_guid": { | |
"type": "string", | |
"deprecated": true | |
}, | |
"bind_resource": { | |
"$ref": "#/components/schemas/ServiceBindingResouceObject" | |
}, | |
"parameters": { | |
"$ref": "#/components/schemas/Object" | |
}, | |
"predecessor_binding_id": { | |
"type": "string" | |
} | |
} | |
}, | |
"ServiceBindingMetadata": { | |
"type": "object", | |
"properties": { | |
"expires_at": { | |
"type": "string" | |
}, | |
"renew_before": { | |
"type": "string" | |
} | |
} | |
}, | |
"ServiceBindingResouceObject": { | |
"type": "object", | |
"properties": { | |
"app_guid": { | |
"type": "string" | |
}, | |
"route": { | |
"type": "string" | |
} | |
} | |
}, | |
"ServiceBindingResponse": { | |
"type": "object", | |
"properties": { | |
"metadata": { | |
"$ref": "#/components/schemas/ServiceBindingMetadata" | |
}, | |
"credentials": { | |
"$ref": "#/components/schemas/Object" | |
}, | |
"syslog_drain_url": { | |
"type": "string" | |
}, | |
"route_service_url": { | |
"type": "string" | |
}, | |
"volume_mounts": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/ServiceBindingVolumeMount" | |
} | |
}, | |
"endpoints": { | |
"type": "array", | |
"items": { | |
"$ref": "#/components/schemas/ServiceBindingEndpoint" | |
} | |
} | |
} | |
}, | |
"ServiceBindingEndpoint": { | |
"type": "object", | |
"required": [ | |
"host", | |
"ports" | |
], | |
"properties": { | |
"host": { | |
"type": "string" | |
}, | |
"ports": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"protocol": { | |
"type": "string", | |
"enum": [ | |
"tcp", | |
"udp", | |
"all" | |
], | |
"default": "tcp" | |
} | |
} | |
}, | |
"ServiceBindingVolumeMount": { | |
"type": "object", | |
"required": [ | |
"driver", | |
"container_dir", | |
"mode", | |
"device_type", | |
"device" | |
], | |
"properties": { | |
"driver": { | |
"type": "string" | |
}, | |
"container_dir": { | |
"type": "string" | |
}, | |
"mode": { | |
"type": "string", | |
"enum": [ | |
"r", | |
"rw" | |
] | |
}, | |
"device_type": { | |
"type": "string", | |
"enum": [ | |
"shared" | |
] | |
}, | |
"device": { | |
"$ref": "#/components/schemas/ServiceBindingVolumeMountDevice" | |
} | |
} | |
}, | |
"ServiceBindingVolumeMountDevice": { | |
"type": "object", | |
"required": [ | |
"volume_id" | |
], | |
"properties": { | |
"volume_id": { | |
"type": "string" | |
}, | |
"mount_config": { | |
"$ref": "#/components/schemas/Object" | |
} | |
} | |
}, | |
"Context": { | |
"description": "See [Context Conventions](https://github.com/openservicebrokerapi/servicebroker/blob/master/profile.md#context-object) for more details.", | |
"type": "object" | |
}, | |
"Metadata": { | |
"description": "See [Service Metadata Conventions](https://github.com/openservicebrokerapi/servicebroker/blob/master/profile.md#service-metadata) for more details.", | |
"type": "object" | |
}, | |
"MaintenanceInfo": { | |
"type": "object", | |
"required": [ | |
"version" | |
], | |
"properties": { | |
"version": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"Object": { | |
"type": "object" | |
}, | |
"Error": { | |
"description": "See [Service Broker Errors](https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors) for more details.", | |
"type": "object", | |
"properties": { | |
"error": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"instance_usable": { | |
"type": "boolean" | |
}, | |
"update_repeatable": { | |
"type": "boolean" | |
} | |
} | |
} | |
}, | |
"securitySchemes": { | |
"basicAuth": { | |
"type": "http", | |
"scheme": "basic" | |
} | |
} | |
}, | |
"security": [ | |
{ | |
"basicAuth": [] | |
} | |
], | |
"externalDocs": { | |
"description": "The offical Open Service Broker API specification", | |
"url": "https://github.com/openservicebrokerapi/servicebroker/" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment