swagger: '2.0'
info:
  version: 0.0.1
  title: Edge X Apid Gateway Deploy
  contact:
    name: Apigee, Inc.
    url: http://www.apigee.com/
    email: sales@apigee.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
basePath: /deployments
schemes:
  - http
consumes:
  - application/json
produces:
  - application/json
paths:
  /current:
    get:
      description: Retrieve current deployment system and bundles to install.
      parameters:
        - name: If-None-Match
          in: header
          type: string
          description: "If request If-None-Match header matches the ETag of current bundle list AND if the request does NOT have a 'block' query param > 0, the server returns a 304 Not Modified response indicating that the client already has the most recent bundle list."
        - name: block
          in: query
          type: integer
          description: 'If greater than zero AND if request ETag header not empty AND if there is no new bundle list available, then block for up to the specified number of seconds until a new bundle list becomes available. If no new bundle list becomes available, then return an empty array.'
      responses:
        '200':
          headers:
            ETag:
              description: "Hash of bundle list. Client should reuse ETag value in If-None-Match header of the next GET request"
              type: string
          description: The system and bundles to install.
          examples:
            application/json: {
              "deploymentId": "abc123",
              "system" : {
                "bundleId": "system-bundle-rev-3",
                "url": "file:///apid/bundles/system-bundle-rev-3.zip"
              },
              "bundles": [
                {
                  "bundleId": "system-bundle-rev-3",
                  "authCode": "@#$nike#$#$stage&#$(^#",
                  "url": "file:///apid/bundles/system-bundle-release-1-1233.zip"
                },{
                  "bundleId": "bundleA-rev-9",
                  "authCode": "@#$nike#$#$prod&#$(^#",
                  "url": "file:///apid/bundles/bundleA-rev-9-26372.zip"
                },{
                  "bundleId": "bundleB-rev-1",
                  "authCode": "@#$nike#$#$test&#$(^#",
                  "url": "file:///somewhere/bundles/bundleB-rev-1-72351.zip"
                }
              ]
            }
          schema:
            $ref: '#/definitions/DeploymentResponse'

  /{deploymentId}:
    post:
      description: Save results of deployment
      parameters:
        - name: deploymentId
          in: path
          required: true
          type: string
          description: deployment ID
        - name: _
          in: body
          required: true
          description: |
            Example: <pre>
            {
              "status": "SUCCESS|FAIL",
              #Optional
              "error": {
                "errorCode": 5,
                "reason": "Failed to restart NGINX"
                "bundleErrors": [
                  {
                      "bundleId": "system-bundle-rev-3",
                      "errorCode": 5,
                      "reason": "Invalid template parameter"
                  },
                  {
                      "bundleId": "system-bundle-rev-9",
                      "errorCode": 1,
                      "reason": "Missing Virtual Host"
                  }
                ]
              }
            }
            </pre>
          schema:
            $ref: '#/definitions/DeploymentResult'
      responses:
        '200':
          description: OK
        default:
          description: |
            <pre>
            4xx:
              {
                errorCode: "INVALID_REQUEST_PARAMS"
                reason: "Something wrong!"
              }

            5xx:
              {
                errorCode: "SERVER_SUCKS"
                reason: "Server took too long"
              }</pre>
          schema:
            $ref: '#/definitions/ErrorResponse'

definitions:

  ErrorResponse:
    required:
      - errorCode
      - reason
    properties:
      errorCode:
        type: number
      reason:
        type: string

  DeploymentResponse:
    type: object
    required:
      - deploymentId
      - system
      - bundles
    properties:
      deploymentId:
        type: string
      system:
        type: array
        items:
          $ref: '#/definitions/SystemBundle'
      bundles:
        type: array
        items:
          $ref: '#/definitions/UserBundle'

  SystemBundle:
    type: object
    required:
      - bundleId
      - url
    properties:
      bundleId:
        type: string
      url:
        type: string
  UserBundle:
    allOf:
      - $ref: '#/definitions/SystemBundle'
    required:
      - authCode
    properties:
      authCode:
        type: string

  DeploymentResult:
    type: object
    required:
      - status
    properties:
      status:
        type: string
        enum:
          - "SUCCESS"
          - "FAIL"
      error:
        $ref: '#/definitions/DeploymentResultError'
    description: Status of SUCCESS or FAIL plus error
    example: {
      "status": "SUCCESS"
    }


  DeploymentResultError:
    type: object
    required:
      - errorCode
      - reason
    properties:
      errorCode:
        type: number
      reason:
        type: string
      bundleErrors:
        type: array
        items:
          $ref: '#/definitions/DeploymentBundleError'
    example: {
      "error": {
        "errorCode": 5,
        "reason": "Failed to restart NGINX",
        "bundleErrors": [
          {
              "bundleId": "system-bundle-rev-3",
              "errorCode": 5,
              "reason": "Invalid template parameter"
          },
          {
              "bundleId": "system-bundle-rev-9",
              "errorCode": 1,
              "reason": "Missing Virtual Host"
          }
        ]
      }
    }

  DeploymentBundleError:
    type: object
    required:
      - bundleId
      - errorCode
      - reason
    properties:
      bundleId:
        type: string
      errorCode:
        type: number
      reason:
        type: string
