diff options
Diffstat (limited to 'swagger.yaml')
-rw-r--r-- | swagger.yaml | 442 |
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" |