summaryrefslogtreecommitdiffstats
path: root/docs/swagger.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/swagger.yaml')
-rw-r--r--docs/swagger.yaml428
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