| { |
| "swagger": "2.0", |
| "info": { |
| "description": "This is a service that provides secret management facilities", |
| "version": "1.0.0", |
| "title": "Secret Management Service", |
| "contact": { |
| "email": "kiran.k.kamineni@intel.com" |
| }, |
| "license": { |
| "name": "Apache 2.0", |
| "url": "http://www.apache.org/licenses/LICENSE-2.0.html" |
| } |
| }, |
| "host": "aaf.onap.org:10443", |
| "basePath": "/v1/sms/", |
| "tags": [ |
| { |
| "name": "domain", |
| "description": "Operations related to Secret Domains" |
| }, |
| { |
| "name": "secret", |
| "description": "Operations related to Secrets" |
| } |
| ], |
| "schemes": [ |
| "https" |
| ], |
| "paths": { |
| "/domain": { |
| "post": { |
| "tags": [ |
| "domain" |
| ], |
| "summary": "Add a new domain", |
| "description": "", |
| "consumes": [ |
| "application/json" |
| ], |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "in": "body", |
| "name": "body", |
| "required": true, |
| "schema": { |
| "$ref": "#/definitions/Domain" |
| } |
| } |
| ], |
| "responses": { |
| "201": { |
| "description": "Successful Creation", |
| "schema": { |
| "$ref": "#/definitions/Domain" |
| } |
| }, |
| "400": { |
| "description": "Invalid input" |
| }, |
| "500": { |
| "description": "Internal Server Error" |
| } |
| } |
| } |
| }, |
| "/domain/{domainName}": { |
| "delete": { |
| "tags": [ |
| "domain" |
| ], |
| "description": "Deletes a domain with provided name", |
| "summary": "Deletes a domain by name", |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "domainName", |
| "in": "path", |
| "description": "Name of the domain", |
| "required": true, |
| "type": "string" |
| } |
| ], |
| "responses": { |
| "204": { |
| "description": "Successful Deletion" |
| }, |
| "404": { |
| "description": "Invalid Path or Path not found" |
| } |
| } |
| } |
| }, |
| "/domain/{domainName}/secret": { |
| "post": { |
| "tags": [ |
| "secret" |
| ], |
| "summary": "Add a new secret", |
| "description": "", |
| "consumes": [ |
| "application/json" |
| ], |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "domainName", |
| "in": "path", |
| "description": "Name of the domain", |
| "required": true, |
| "type": "string" |
| }, |
| { |
| "name": "body", |
| "in": "body", |
| "required": true, |
| "schema": { |
| "$ref": "#/definitions/Secret" |
| } |
| } |
| ], |
| "responses": { |
| "201": { |
| "description": "Successful Creation" |
| }, |
| "404": { |
| "description": "Invalid Path or Path not found" |
| } |
| } |
| }, |
| "get": { |
| "tags": [ |
| "secret" |
| ], |
| "description": "Gets all secret names in this domain", |
| "summary": "List secret Names in this domain", |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "domainName", |
| "in": "path", |
| "description": "Name of the domain in which to look at", |
| "required": true, |
| "type": "string" |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "Successful operation", |
| "schema": { |
| "type": "object", |
| "properties": { |
| "secretnames": { |
| "type": "array", |
| "items": { |
| "type": "string" |
| }, |
| "description": "Array of strings referencing the secret names" |
| } |
| }, |
| "example": { |
| "secretnames": [ |
| "secretname1", |
| "secretname2", |
| "secretname3" |
| ] |
| } |
| } |
| }, |
| "404": { |
| "description": "Invalid Path or Path not found" |
| } |
| } |
| } |
| }, |
| "/domain/{domainName}/secret/{secretName}": { |
| "get": { |
| "tags": [ |
| "secret" |
| ], |
| "summary": "Find Secret by Name", |
| "description": "Returns a single secret", |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "domainName", |
| "in": "path", |
| "description": "Name of the domain in which to look at", |
| "required": true, |
| "type": "string" |
| }, |
| { |
| "name": "secretName", |
| "in": "path", |
| "description": "Name of the secret which is needed", |
| "required": true, |
| "type": "string" |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "successful operation", |
| "schema": { |
| "$ref": "#/definitions/Secret" |
| } |
| }, |
| "404": { |
| "description": "Invalid Path or Path not found" |
| } |
| } |
| }, |
| "delete": { |
| "tags": [ |
| "secret" |
| ], |
| "summary": "Deletes a Secret", |
| "description": "", |
| "produces": [ |
| "application/json" |
| ], |
| "parameters": [ |
| { |
| "name": "secretName", |
| "in": "path", |
| "description": "Name of Secret to Delete", |
| "required": true, |
| "type": "string" |
| }, |
| { |
| "name": "domainName", |
| "in": "path", |
| "required": true, |
| "description": "Path to the SecretDomain which contains the Secret", |
| "type": "string" |
| } |
| ], |
| "responses": { |
| "204": { |
| "description": "Successful Deletion" |
| }, |
| "404": { |
| "description": "Invalid Path or Path not found" |
| } |
| } |
| } |
| } |
| }, |
| "securityDefinitions": { |
| "token": { |
| "type": "apiKey", |
| "name": "token", |
| "in": "header" |
| } |
| }, |
| "definitions": { |
| "Credential": { |
| "type": "object", |
| "properties": { |
| "username": { |
| "type": "string" |
| }, |
| "password": { |
| "type": "string" |
| } |
| } |
| }, |
| "Domain": { |
| "type": "object", |
| "properties": { |
| "uuid": { |
| "type": "string", |
| "description": "Optional value provided by user. If user does not provide, server will auto generate" |
| }, |
| "name": { |
| "type": "string", |
| "description": "Name of the secret domain under which all secrets will be stored" |
| } |
| } |
| }, |
| "Secret": { |
| "type": "object", |
| "properties": { |
| "name": { |
| "type": "string", |
| "description": "Name of the secret" |
| }, |
| "values": { |
| "description": "Map of key value pairs that constitute the secret", |
| "type": "object", |
| "additionalProperties": { |
| "type": "object" |
| }, |
| "example": { |
| "name": "john", |
| "Age": 40, |
| "admin": true |
| } |
| } |
| } |
| } |
| }, |
| "externalDocs": { |
| "description": "Find out more about Swagger", |
| "url": "http://swagger.io" |
| } |
| } |