summaryrefslogtreecommitdiffstats
path: root/docs/swagger.json
diff options
context:
space:
mode:
Diffstat (limited to 'docs/swagger.json')
-rw-r--r--docs/swagger.json653
1 files changed, 653 insertions, 0 deletions
diff --git a/docs/swagger.json b/docs/swagger.json
new file mode 100644
index 0000000..2a7e656
--- /dev/null
+++ b/docs/swagger.json
@@ -0,0 +1,653 @@
+{
+ "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"
+ }
+ }
+ }
+ }
+} \ No newline at end of file