summaryrefslogtreecommitdiffstats
path: root/dispatcherAPI.yaml
diff options
context:
space:
mode:
authorLucas, John (jl1315) <jflucas@research.att.com>2017-08-23 18:58:33 +0000
committerJ. F. Lucas <jflucas@research.att.com>2017-08-23 19:05:41 +0000
commit3c1527544df835a831898edbd74a473f027bb855 (patch)
tree2e2cf0c7060b39aec4829dc866fcb2468fa16b77 /dispatcherAPI.yaml
parentbacbd4c6349f9de9c597d309a6c23eced2058a15 (diff)
deployment handler initial seed code
Change-Id: I0bfc86d17edead0114ea0012fb469014e978cd15 Issue-Id: DCAEGEN2-43 Signed-off-by: J. F. Lucas <jflucas@research.att.com>
Diffstat (limited to 'dispatcherAPI.yaml')
-rw-r--r--dispatcherAPI.yaml382
1 files changed, 382 insertions, 0 deletions
diff --git a/dispatcherAPI.yaml b/dispatcherAPI.yaml
new file mode 100644
index 0000000..5bd0d4f
--- /dev/null
+++ b/dispatcherAPI.yaml
@@ -0,0 +1,382 @@
+
+swagger: '2.0'
+
+info:
+ version: "4.0.0"
+ title: Dispatcher API
+ description: |
+ High-level API for deploying/deploying composed services using Cloudify Manager.
+
+# Paths
+paths:
+ /:
+ get:
+ description: |
+ Get API version information and links to API operations
+
+ responses:
+
+ 200:
+ description: Success
+ schema:
+ title: DispatcherInfo
+ type: object
+ properties:
+ apiVersion:
+ type: string
+ description: |
+ version of API supported by this server
+ serverVersion:
+ type: string
+ description: |
+ version of software running on this server
+ links:
+ type: object
+ description: |
+ Links to API resources
+ properties:
+ info:
+ type: string
+ description: |
+ path for the server information endpoint
+ events:
+ type: string
+ description: |
+ path for the events endpoint
+
+ /dcae-deployments:
+ get:
+ description: |
+ List service deployments known to the orchestrator, optionally restricted to a single service type
+
+ parameters:
+ - name: serviceTypeId
+ description: |
+ Service type identifier for the type whose deployments are to be listed
+ 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
+ deployments array is empty in that case.)
+ schema:
+ $ref: "#/definitions/DCAEDeploymentsListResponse"
+
+ 500:
+ description: |
+ Problem on the server side. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+ 502:
+ description: |
+ Error reported to the dispatcher by a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 504:
+ description: |
+ Error communicating with a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ /dcae-deployments/{deploymentId}:
+ put:
+ description: |
+ Request deployment of a DCAE service
+
+ consumes:
+ - application/json
+ produces:
+ - application/json
+
+ parameters:
+ - name: deploymentId
+ description: |
+ Unique deployment identifier assigned by the API client.
+ 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
+ found the needed blueprint, created an instance of the topology in the orchestrator,
+ and started an installation workflow.
+ schema:
+ $ref: "#/definitions/DCAEDeploymentResponse"
+
+ 400:
+ description: |
+ Bad request: See the message in the response for details.
+ 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.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 415:
+ description: |
+ Bad request: The Content-Type header does not indicate that the content is
+ 'application/json'
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 500:
+ description: |
+ Problem on the server side. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 502:
+ description: |
+ Error reported to the dispatcher by a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 504:
+ description: |
+ Error communicating with a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ delete:
+ description: |
+ Uninstall the DCAE service and remove all associated data from the orchestrator.
+
+ parameters:
+ - name: deploymentId
+ description: |
+ Deployment identifier for the service to be uninstalled.
+ in: path
+ type: string
+ required: true
+
+ responses:
+
+ 202:
+ description: |
+ Success: The dispatcher has initiated the uninstall operation.
+ schema:
+ $ref: "#/definitions/DCAEDeploymentResponse"
+
+ 400:
+ description: |
+ Bad request: See the message in the response for details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 500:
+ description: |
+ Problem on the server side. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 502:
+ description: |
+ Error reported to the dispatcher by a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 504:
+ description: |
+ Error communicating with a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ /dcae-deployments/{deploymentId}/operation/{operationId}:
+ get:
+ description: |
+ Get status of a deployment operation
+ 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
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 502:
+ description: |
+ Error reported to the dispatcher by a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+ 504:
+ description: |
+ Error communicating with a downstream system. See the message
+ in the response for more details.
+ schema:
+ $ref: "#/definitions/DCAEErrorResponse"
+
+
+
+
+definitions:
+
+ DCAEDeploymentRequest:
+ description: |
+ Request for deploying a DCAE service.
+ type:
+ object
+ required: [serviceTypeId]
+
+ properties:
+
+ serviceTypeId:
+ description: |
+ The service type identifier (a unique ID assigned by DCAE inventory) for the service to be deployed.
+ type: string
+
+ inputs:
+ description: |
+ Object containing inputs needed by the service blueprint to create an instance of the service.
+ Content of the object depends on the service being deployed.
+ type: object
+
+ DCAEDeploymentResponse:
+ description: |
+ Response body for a PUT or DELETE to /dcae-deployments/{deploymentId}
+ type: object
+
+ required: [requestId, links]
+
+ properties:
+ requestId:
+ type: string
+ description: |
+ Unique identifier for the request
+ links:
+ description: |
+ Links that the API client can access.
+ type: object
+ properties:
+ self:
+ type: string
+ description: |
+ Link used to retrieve information about the service being deployed
+ 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.
+ 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.
+ operationType:
+ description: |
+ Type of operation being reported on. ("install" or "uninstall")
+ type: string
+ status:
+ description: |
+ Status of the installation or uninstallation operation. Possible values are "processing",
+ "succeeded", and "failed"
+ type: string
+ error:
+ description: |
+ If status is "failed", this field will be present and contain additional information about the reason the operation failed.
+ 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.
+ type: object
+ properties:
+ self:
+ type: string
+ description: |
+ Link used to retrieve information about the service.
+ uninstall:
+ type: string
+ description:
+ Link used to trigger an "uninstall" operation for the service. (Use the DELETE method.)
+
+ DCAEErrorResponse:
+ description: |
+ Object reporting an error.
+ 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
+ type: object
+ required: [requestId, deployments]
+
+ properties:
+ requestId:
+ type: string
+ description: |
+ Unique identifier for the request
+ deployments:
+ type: array
+ items:
+ type: object
+ properties:
+ href:
+ type: string
+ description: |
+ URL for the service deployment