diff options
Diffstat (limited to 'docs/swagger.yaml')
-rw-r--r-- | docs/swagger.yaml | 428 |
1 files changed, 428 insertions, 0 deletions
diff --git a/docs/swagger.yaml b/docs/swagger.yaml new file mode 100644 index 0000000..9b3de2a --- /dev/null +++ b/docs/swagger.yaml @@ -0,0 +1,428 @@ +swagger: '2.0' +info: + description: API reference for Distributed Key Value store. + version: 1.0.0 + title: API reference for Distributed Key Value store + contact: + email: shashank.kumar.shankar@intel.com + url: 'https://wiki.onap.org/pages/viewpage.action?pageId=16010913' + license: + name: Apache 2.0 + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' +basePath: /v1 +schemes: + - http +paths: + /register: + post: + tags: + - Domain + summary: Endpoint to Register new domain + description: '' + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: Register new domain. + required: true + schema: + $ref: '#/definitions/RegisterDomainPOSTRequest' + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/RegisterDomainPOSTResponse' + '/register/{token}': + get: + tags: + - Domain + summary: Check if domain is registered. + description: Check if domain is registered identified by token. + produces: + - application/json + parameters: + - name: token + in: path + description: Token used to query + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/RegisterDomainGETResponse' + delete: + tags: + - Domain + summary: Delete registered domain. + description: Deletes a registered domain identified by token. + produces: + - application/json + parameters: + - name: token + in: path + description: Token used to delete + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/RegisterDomainDELETEResponse' + '/register/{token}/subdomain': + post: + tags: + - Subdomain + summary: Endpoint to Register new subdomain + description: '' + consumes: + - application/json + produces: + - application/json + parameters: + - name: token + in: path + description: Token used to identify domain. + required: true + type: string + - in: body + name: body + description: Register new subdomain. + required: true + schema: + $ref: '#/definitions/RegisterSubdomainPOSTRequest' + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/RegisterSubdomainPOSTResponse' + '/register/{token}/subdomain/{subdomain}': + delete: + tags: + - Subdomain + summary: Delete registered subdomain. + description: Deletes a registered subdomain identified by token and subdomain. + produces: + - application/json + parameters: + - name: token + in: path + description: Token used to delete + required: true + type: string + - name: subdomain + in: path + description: Subdomain used to delete + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/RegisterSubDomainDELETEResponse' + /config: + post: + tags: + - Config + summary: Endpoint to upload configuration. + description: Endpoint to upload configuration. + consumes: + - multipart/form-data + produces: + - application/json + parameters: + - name: configFile + in: formData + description: Config file to be uploaded. + required: true + type: file + - name: token + in: formData + description: Token to identify domain to upload config file to. + required: true + type: string + - name: subdomain + in: formData + description: Subdomain to identify subdomain to upload config file to. + required: false + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConfigUploadResponse' + '/config/{token}/{filename}': + get: + tags: + - Config + summary: Get config file. + description: Get config file identified by token and filename. + produces: + - file + parameters: + - name: token + in: path + description: Token used to get config file. + required: true + type: string + - name: filename + in: path + description: Filename used to get config file. + required: true + type: string + responses: + '200': + description: successful operation + delete: + tags: + - Config + summary: Delete config file. + description: Deletes a config file identified by token and filename. + produces: + - application/json + parameters: + - name: token + in: path + description: Token used to delete + required: true + type: string + - name: filename + in: path + description: Filename used to delete + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConfigDomainDELETEResponse' + '/config/{token}/{subdomain}/{filename}': + get: + tags: + - Config + summary: Get config file from subdomain. + description: 'Get config file identified by token, filename and subdomain.' + produces: + - file + parameters: + - name: token + in: path + description: Token used to get config file. + required: true + type: string + - name: subdomain + in: path + description: Subdomain used to get config file. + required: true + type: string + - name: filename + in: path + description: Filename used to get config file. + required: true + type: string + responses: + '200': + description: successful operation + delete: + tags: + - Config + summary: Delete config file from subdomain. + description: 'Deletes a config file identified by token, filename and subdomain.' + produces: + - application/json + parameters: + - name: token + in: path + description: Token used to delete config file. + required: true + type: string + - name: subdomain + in: path + description: Subdomain used to delete config file. + required: true + type: string + - name: filename + in: path + description: Filename used to delete config file. + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConfigSubDomainDELETEResponse' + /config/load: + post: + tags: + - Config + summary: Load config into Consul. + description: Load config into Consul upon hitting the endpoint. + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: Load configuration from file system to be added into Consul + required: true + schema: + $ref: '#/definitions/ConfigLoadPOSTRequest' + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConfigLoadPOSTResponse' + /config/load-default: + get: + tags: + - Config + summary: Load default config into Consul. + description: Load default config into Consul upon hitting the endpoint. + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConfigDefaultGETResponse' + /getconfigs: + get: + tags: + - Consul operation + summary: Get all keys present in Consul. + description: Returns a list of keys present in Consul. + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConsulGETAllResponse' + '/getconfig/{key}': + get: + tags: + - Consul operation + summary: Get value for specific key present in Consul. + description: Returns a key and value present in Consul. + produces: + - application/json + parameters: + - name: key + in: path + description: Key used to query Consul. + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConsulGETResponse' + '/deleteconfig/{key}': + delete: + tags: + - Consul operation + summary: Delete value for specific key present in Consul. + description: Deletes a specific key. + produces: + - application/json + parameters: + - name: key + in: path + description: Key used to delete + required: true + type: string + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/ConsulDELETEResponse' +definitions: + RegisterDomainPOSTRequest: + type: object + properties: + domain: + type: string + RegisterDomainPOSTResponse: + type: object + properties: + response: + type: string + RegisterDomainGETResponse: + type: object + properties: + response: + type: string + RegisterDomainDELETEResponse: + type: object + properties: + response: + type: string + RegisterSubdomainPOSTRequest: + type: object + properties: + subdomain: + type: string + RegisterSubdomainPOSTResponse: + type: object + properties: + response: + type: string + RegisterSubDomainDELETEResponse: + type: object + properties: + response: + type: string + ConfigUploadResponse: + type: object + properties: + response: + type: string + ConfigDomainDELETEResponse: + type: object + properties: + response: + type: string + ConfigSubDomainDELETEResponse: + type: object + properties: + response: + type: string + ConfigLoadPOSTRequest: + type: object + properties: + token: + type: string + filename: + type: string + subdomain: + type: string + ConfigLoadPOSTResponse: + type: object + properties: + response: + type: string + ConfigDefaultGETResponse: + type: object + properties: + response: + type: string + ConsulGETAllResponse: + type: object + properties: + response: + items: + type: string + ConsulGETResponse: + type: object + properties: + response: + type: string + ConsulDELETEResponse: + type: object + properties: + response: + type: string |