| { |
| "swagger": "2.0", |
| "info": { |
| "version": "3.0.3", |
| "title": "deployment-handler API", |
| "license": { |
| "name": "Apache 2.0", |
| "url": "http://www.apache.org/licenses/LICENSE-2.0.html" |
| }, |
| "description": "High-level API for deploying/undeploying composed DCAE services using Cloudify Manager.\n" |
| }, |
| "tags": [ |
| { |
| "name": "info", |
| "description": "version and links" |
| }, |
| { |
| "name": "dcae-deployments", |
| "description": "operations on dcae-deployments" |
| }, |
| { |
| "name": "policy", |
| "description": "policy update API consumed by policy-handler and debug API to find policies on components" |
| } |
| ], |
| "paths": { |
| "/": { |
| "get": { |
| "tags": [ |
| "info" |
| ], |
| "description": "Returns version information and links to API operations", |
| "produces": [ |
| "application/json" |
| ], |
| "responses": { |
| "200": { |
| "description": "Success", |
| "schema": { |
| "title": "DispatcherInfo", |
| "type": "object", |
| "properties": { |
| "apiVersion": { |
| "type": "string", |
| "description": "version of API supported by this server\n" |
| }, |
| "serverVersion": { |
| "type": "string", |
| "description": "version of software running on this server\n" |
| }, |
| "links": { |
| "type": "object", |
| "description": "Links to API resources\n", |
| "properties": { |
| "info": { |
| "type": "string", |
| "description": "path for the server information endpoint\n" |
| }, |
| "events": { |
| "type": "string", |
| "description": "path for the events endpoint\n" |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| }, |
| "/dcae-deployments": { |
| "get": { |
| "tags": [ |
| "dcae-deployments" |
| ], |
| "description": "List service deployments known to the orchestrator, optionally restricted to a single service type\n", |
| "parameters": [ |
| { |
| "name": "serviceTypeId", |
| "description": "Service type identifier for the type whose deployments are to be listed\n", |
| "type": "string", |
| "in": "query", |
| "required": false |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "Success. (Note that if no matching deployments are found, the request is still a success; the\ndeployments array is empty in that case.)\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEDeploymentsListResponse" |
| } |
| }, |
| "500": { |
| "description": "Problem on the server side. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "502": { |
| "description": "Error reported to the dispatcher by a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "504": { |
| "description": "Error communicating with a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| } |
| } |
| } |
| }, |
| "/dcae-deployments/{deploymentId}": { |
| "put": { |
| "tags": [ |
| "dcae-deployments" |
| ], |
| "description": "Request deployment of a DCAE service\n", |
| "consumes": [ |
| "application/json" |
| ], |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "deploymentId", |
| "description": "Unique deployment identifier assigned by the API client.\n", |
| "in": "path", |
| "type": "string", |
| "required": true |
| }, |
| { |
| "name": "body", |
| "in": "body", |
| "schema": { |
| "$ref": "#/definitions/DCAEDeploymentRequest" |
| }, |
| "required": true |
| } |
| ], |
| "responses": { |
| "202": { |
| "description": "Success: The content that was posted is valid, the dispatcher has\n found the needed blueprint, created an instance of the topology in the orchestrator,\n and started an installation workflow.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEDeploymentResponse" |
| } |
| }, |
| "400": { |
| "description": "Bad request: See the message in the response for details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "409": { |
| "description": "A service with the specified deployment Id already exists. Using PUT to update the service is not a supported operation.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "415": { |
| "description": "Bad request: The Content-Type header does not indicate that the content is\n'application/json'\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "500": { |
| "description": "Problem on the server side. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "502": { |
| "description": "Error reported to the dispatcher by a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "504": { |
| "description": "Error communicating with a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| } |
| } |
| }, |
| "delete": { |
| "tags": [ |
| "dcae-deployments" |
| ], |
| "description": "Uninstall the DCAE service and remove all associated data from the orchestrator.\n", |
| "parameters": [ |
| { |
| "name": "deploymentId", |
| "description": "Deployment identifier for the service to be uninstalled.\n", |
| "in": "path", |
| "type": "string", |
| "required": true |
| } |
| ], |
| "responses": { |
| "202": { |
| "description": "Success: The dispatcher has initiated the uninstall operation.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEDeploymentResponse" |
| } |
| }, |
| "400": { |
| "description": "Bad request: See the message in the response for details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "500": { |
| "description": "Problem on the server side. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "502": { |
| "description": "Error reported to the dispatcher by a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "504": { |
| "description": "Error communicating with a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| } |
| } |
| } |
| }, |
| "/dcae-deployments/{deploymentId}/operation/{operationId}": { |
| "get": { |
| "tags": [ |
| "dcae-deployments" |
| ], |
| "description": "Get status of a deployment operation\n", |
| "parameters": [ |
| { |
| "name": "deploymentId", |
| "in": "path", |
| "type": "string", |
| "required": true |
| }, |
| { |
| "name": "operationId", |
| "in": "path", |
| "type": "string", |
| "required": true |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "Status information retrieved successfully", |
| "schema": { |
| "$ref": "#/definitions/DCAEOperationStatusResponse" |
| } |
| }, |
| "404": { |
| "description": "The operation information does not exist (possibly because the service has been uninstalled and deleted).", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "500": { |
| "description": "Problem on the server side. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "502": { |
| "description": "Error reported to the dispatcher by a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| }, |
| "504": { |
| "description": "Error communicating with a downstream system. See the message\nin the response for more details.\n", |
| "schema": { |
| "$ref": "#/definitions/DCAEErrorResponse" |
| } |
| } |
| } |
| } |
| }, |
| "/policy": { |
| "post": { |
| "tags": [ |
| "policy" |
| ], |
| "description": "policy update API consumed by policy-handler", |
| "consumes": [ |
| "application/json" |
| ], |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "body", |
| "in": "body", |
| "schema": { |
| "$ref": "#/definitions/DCAEPolicyRequest" |
| }, |
| "required": true |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "deployment-handler always responds with ok to /policy before processing the request" |
| } |
| } |
| } |
| }, |
| "/policy/components": { |
| "get": { |
| "tags": [ |
| "policy" |
| ], |
| "description": "debug API to find policies on components", |
| "produces": [ |
| "application/json" |
| ], |
| "responses": { |
| "200": { |
| "description": "deployment-handler found components with or without policies in cloudify" |
| } |
| } |
| } |
| } |
| }, |
| "definitions": { |
| "DCAEDeploymentRequest": { |
| "description": "Request for deploying a DCAE service.\n", |
| "type": "object", |
| "required": [ |
| "serviceTypeId" |
| ], |
| "properties": { |
| "serviceTypeId": { |
| "description": "The service type identifier (a unique ID assigned by DCAE inventory) for the service to be deployed.\n", |
| "type": "string" |
| }, |
| "inputs": { |
| "description": "Object containing inputs needed by the service blueprint to create an instance of the service.\nContent of the object depends on the service being deployed.\n", |
| "type": "object" |
| } |
| } |
| }, |
| "DCAEDeploymentResponse": { |
| "description": "Response body for a PUT or DELETE to /dcae-deployments/{deploymentId}\n", |
| "type": "object", |
| "required": [ |
| "requestId", |
| "links" |
| ], |
| "properties": { |
| "requestId": { |
| "type": "string", |
| "description": "Unique identifier for the request\n" |
| }, |
| "links": { |
| "description": "Links that the API client can access.\n", |
| "type": "object", |
| "properties": { |
| "self": { |
| "type": "string", |
| "description": "Link used to retrieve information about the service being deployed\n" |
| }, |
| "status": { |
| "type": "string", |
| "description": "Link used to retrieve information about the status of the installation workflow" |
| } |
| } |
| } |
| } |
| }, |
| "DCAEOperationStatusResponse": { |
| "description": "Response body for a request for status of an installation or uninstallation operation.\n", |
| "type": "object", |
| "required": [ |
| "requestId", |
| "operationType", |
| "status" |
| ], |
| "properties": { |
| "requestId": { |
| "type": "string", |
| "description": "A unique identifier assigned to the request. Useful for tracing a request through logs.\n" |
| }, |
| "operationType": { |
| "description": "Type of operation being reported on. (\"install\" or \"uninstall\")\n", |
| "type": "string" |
| }, |
| "status": { |
| "description": "Status of the installation or uninstallation operation. Possible values are \"processing\",\n\"succeeded\", and \"failed\"\n", |
| "type": "string" |
| }, |
| "error": { |
| "description": "If status is \"failed\", this field will be present and contain additional information about the reason the operation failed.\n", |
| "type": "string" |
| }, |
| "links": { |
| "description": "If the operation succeeded, links that the client can follow to take further action. Note that a successful \"uninstall\" operation removes the DCAE service instance completely, so there are no possible further actions, and no links.\n", |
| "type": "object", |
| "properties": { |
| "self": { |
| "type": "string", |
| "description": "Link used to retrieve information about the service.\n" |
| }, |
| "uninstall": { |
| "type": "string", |
| "description": "Link used to trigger an \"uninstall\" operation for the service. (Use the DELETE method.)" |
| } |
| } |
| } |
| } |
| }, |
| "DCAEErrorResponse": { |
| "description": "Object reporting an error.\n", |
| "type": "object", |
| "required": [ |
| "status" |
| ], |
| "properties": { |
| "status": { |
| "description": "HTTP status code for the response", |
| "type": "integer" |
| }, |
| "message": { |
| "description": "Human-readable description of the reason for the error", |
| "type": "string" |
| } |
| } |
| }, |
| "DCAEDeploymentsListResponse": { |
| "description": "Object providing a list of deployments\n", |
| "type": "object", |
| "required": [ |
| "requestId", |
| "deployments" |
| ], |
| "properties": { |
| "requestId": { |
| "type": "string", |
| "description": "Unique identifier for the request\n" |
| }, |
| "deployments": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "properties": { |
| "href": { |
| "type": "string", |
| "description": "URL for the service deployment\n" |
| } |
| } |
| } |
| } |
| } |
| }, |
| "DCAEPolicyBody": { |
| "description": "policy_body - the whole object received from policy-engine", |
| "type": "object", |
| "required": [ |
| "policyName", |
| "policyVersion", |
| "config" |
| ], |
| "properties": { |
| "policyName": { |
| "description": "unique policy name that contains the version and extension", |
| "type": "string" |
| }, |
| "policyVersion": { |
| "description": "stringified int that is autoincremented by policy-engine", |
| "type": "string" |
| }, |
| "config": { |
| "description": "the policy-config - the config data provided by policy owner", |
| "type": "object" |
| } |
| } |
| }, |
| "DCAEPolicy": { |
| "description": "policy object", |
| "type": "object", |
| "required": [ |
| "policy_id", |
| "policy_body" |
| ], |
| "properties": { |
| "policy_id": { |
| "description": "unique identifier of policy regardless of its version", |
| "type": "string" |
| }, |
| "policy_body": { |
| "$ref": "#/definitions/DCAEPolicyBody" |
| } |
| } |
| }, |
| "DCAEPolicyRequest": { |
| "description": "request to update policies on DCAE components.", |
| "type": "object", |
| "required": [ |
| "catch_up", |
| "latest_policies", |
| "removed_policies" |
| ], |
| "properties": { |
| "catch_up": { |
| "description": "flag to indicate whether the request contains all the policies in PDP or not", |
| "type": "boolean", |
| "default": false |
| }, |
| "latest_policies": { |
| "description": "dictionary of (policy_id -> DCAEPolicy object).\nIn example: replace additionalProp1,2,3 with policy_id1,2,3 values\n", |
| "type": "object", |
| "default": {}, |
| "additionalProperties": { |
| "$ref": "#/definitions/DCAEPolicy" |
| } |
| }, |
| "removed_policies": { |
| "description": "whether policy was removed from policy-engine.\ndictionary of (policy_id -> true).\nIn example: replace additionalProp1,2,3 with policy_id1,2,3 values\n", |
| "type": "object", |
| "default": {}, |
| "additionalProperties": { |
| "type": "boolean" |
| } |
| }, |
| "errored_policies": { |
| "description": "whether policy-engine returned an error on the policy.\ndictionary of (policy_id -> true).\nIn example: replace additionalProp1,2,3 with policy_id1,2,3 values\n", |
| "type": "object", |
| "default": {}, |
| "additionalProperties": { |
| "type": "boolean" |
| } |
| }, |
| "errored_scopes": { |
| "description": "on cartchup - list of policy scope_prefix values on wchich the policy-engine experienced an error other than not-found data.\n", |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "scope_prefixes": { |
| "description": "on catchup - list of all scope_prefixes used by the policy-handler to retrieve the policies from policy-engine.\n", |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| } |
| } |
| } |
| } |
| } |