| # Copyright 2017 Google Inc. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| 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: |
| /: |
| 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 deployment, 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 block > 0 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 deployment becomes available, then return 304 Not Modified if If-None-Match is specified.' |
| responses: |
| '200': |
| headers: |
| ETag: |
| description: "Client should reuse ETag value in If-None-Match header of the next GET request." |
| type: string |
| description: The deployment system and bundles to install. |
| examples: |
| application/json: [ |
| { |
| "id": "1234567890", |
| "displayName": "abc123", |
| "created":"1481917061", |
| "updated":"1481917061", |
| "createdBy":"mdobs", |
| "updatedBy":"mdobs", |
| "scopeId": "ABCDEF", |
| "uri": "file:///tmp/F1ERRO/0c9853d1ad9b7ec9f7d16ed16ada1be4/archive/369a01f320f926cd8ffac5dfda83b1d8a2129ab3.zip", |
| "configurationJson": { |
| "PropA": "scope1bundle1propA", |
| "PropSCOPE_LEVEL": "aaa", |
| "PropCLUSTER_LEVEL": "xxx" |
| } |
| }, |
| { |
| "id": "1234567891", |
| "displayName": "abc123_2", |
| "created":"1481917061", |
| "updated":"1481917061", |
| "createdBy":"mdobs", |
| "updatedBy":"mdobs", |
| "scopeId": "ABCDEF", |
| "uri": "file:///tmp/F1ERRO/0c9853d1ad9b7ec9f7d16ed16ada1be4/archive/369a01f320f926cd8ffac5dfda83b1d8a2129ab3.zip", |
| "configurationJson": { |
| "PropA": "scope1bundle2propA", |
| "PropSCOPE_LEVEL": "aaa", |
| "PropCLUSTER_LEVEL": "xxx" |
| } |
| }, |
| { |
| "id": "1234567892", |
| "displayName": "abc1234", |
| "created":"1481917061", |
| "updated":"1481917061", |
| "createdBy":"mdobs", |
| "updatedBy":"mdobs", |
| "scopeId": "ABCDEF", |
| "uri": "file:///tmp/F1ERRO/0c9853d1ad9b7ec9f7d16ed16ada1be4/archive/369a01f320f926cd8ffac5dfda83b1d8a2129ab3.zip", |
| "configurationJson": { |
| "PropA": "scope1bundlepropA", |
| "PropSCOPE_LEVEL": "aaa", |
| "PropCLUSTER_LEVEL": "xxx" |
| } |
| }, |
| { |
| "id": "1234567893", |
| "displayName": "abc123", |
| "created":"1481917061", |
| "updated":"1481917061", |
| "createdBy":"mdobs", |
| "updatedBy":"mdobs", |
| "scopeId": "EFGHIJK", |
| "uri": "file:///tmp/F1ERRO/0c9853d1ad9b7ec9f7d16ed16ada1be4/archive/369a01f320f926cd8ffac5dfda83b1d8a2129ab3.zip", |
| "configurationJson": { |
| "PropA": "scope2bundle1propA", |
| "PropSCOPE_LEVEL": "bbb", |
| "PropCLUSTER_LEVEL": "xxx" |
| } |
| }, |
| { |
| "id": "1234567894", |
| "displayName": "abc123_2", |
| "created":"1481917061", |
| "updated":"1481917061", |
| "createdBy":"fierrom", |
| "updatedBy":"fierrom", |
| "scopeId": "EFGHIJK", |
| "uri": "file:///tmp/F1ERRO/0c9853d1ad9b7ec9f7d16ed16ada1be4/archive/369a01f320f926cd8ffac5dfda83b1d8a2129ab3.zip", |
| "configurationJson": { |
| "PropA": "scope2bundle2propA", |
| "PropSCOPE_LEVEL": "bbb", |
| "PropCLUSTER_LEVEL": "xxx" |
| } |
| } |
| ] |
| schema: |
| $ref: '#/definitions/DeploymentResponse' |
| '304': |
| description: Deployment not modified. |
| put: |
| description: Save results of deployment |
| parameters: |
| - name: _ |
| in: body |
| required: true |
| description: Success or failure response |
| schema: |
| $ref: '#/definitions/DeploymentResult' |
| responses: |
| '200': |
| description: OK |
| default: |
| description: Error response |
| schema: |
| $ref: '#/definitions/ErrorResponse' |
| |
| definitions: |
| |
| ErrorResponse: |
| required: |
| - errorCode |
| - reason |
| properties: |
| errorCode: |
| type: number |
| reason: |
| type: string |
| example: { |
| "errorCode": 601, |
| "reason": "Something's wrong" |
| } |
| |
| DeploymentResponse: |
| type: array |
| items: |
| $ref: '#/definitions/DeploymentBundle' |
| |
| DeploymentBundle: |
| type: object |
| required: |
| - id |
| - scopeId |
| - createdBy |
| - created |
| - updatedBy |
| - updated |
| - displayName |
| - uri |
| - configurationJson |
| properties: |
| id: |
| type: string |
| scopeId: |
| type: string |
| createdBy: |
| type: string |
| created: |
| type: number |
| updatedBy: |
| type: string |
| updated: |
| type: number |
| displayName: |
| type: string |
| uri: |
| type: string |
| configurationJson: |
| type: object |
| |
| DeploymentResult: |
| type: array |
| items: |
| $ref: '#/definitions/DeploymentBundleResult' |
| example: [ |
| { |
| "id": "1234567890", |
| "status": "SUCCESS" |
| }, |
| { |
| "id": "1234567890", |
| "status": "SUCCESS" |
| }, |
| { |
| "id": "1234567890", |
| "status": "SUCCESS" |
| } |
| ] |
| |
| DeploymentBundleResult: |
| type: object |
| required: |
| - id |
| - status |
| properties: |
| id: |
| type: string |
| message: |
| type: string |
| errorCode: |
| type: number |
| status: |
| type: string |
| enum: |
| - "SUCCESS" |
| - "FAIL" |
| description: Status of SUCCESS or FAIL plus error |
| example: { |
| "id": 1234567890, |
| "status": "SUCCESS" |
| } |