summaryrefslogtreecommitdiffstats
path: root/swagger.yaml
diff options
context:
space:
mode:
authorShashank Kumar Shankar <shashank.kumar.shankar@intel.com>2018-02-27 15:41:46 -0800
committerShashank Kumar Shankar <shashank.kumar.shankar@intel.com>2018-03-07 13:40:18 -0800
commit5031a4e20a281b7a94f8c3743b1572314c574ec4 (patch)
tree7072a5d16dc948b35b8a6a76764056c6e4bab003 /swagger.yaml
parent67dd59385cf983ef1307e3b3e410a8f773d8a5c3 (diff)
Add Docker building scripts and update swagger
This patch adds scripts to build Docker container and updates swagger API doc. Change-Id: Ifb10d483946112e38d716c9ae07995ffeb14d2d3 Issue-ID: MUSIC-41 Signed-off-by: Shashank Kumar Shankar <shashank.kumar.shankar@intel.com>
Diffstat (limited to 'swagger.yaml')
-rw-r--r--swagger.yaml442
1 files changed, 442 insertions, 0 deletions
diff --git a/swagger.yaml b/swagger.yaml
new file mode 100644
index 0000000..3cdbc4d
--- /dev/null
+++ b/swagger.yaml
@@ -0,0 +1,442 @@
+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:
+ - "application/json"
+ 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"
+ schema:
+ $ref: "#/definitions/ConfigDomainDOWNLOADResponse"
+ 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:
+ - "application/json"
+ 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"
+ schema:
+ $ref: "#/definitions/ConfigSubDomainDOWNLOADResponse"
+ 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"
+ ConfigDomainDOWNLOADResponse:
+ type: "object"
+ properties:
+ response:
+ type: "string"
+ ConfigDomainDELETEResponse:
+ type: "object"
+ properties:
+ response:
+ type: "string"
+ ConfigSubDomainDOWNLOADResponse:
+ 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"