diff options
Diffstat (limited to 'docs/api_swagger.yaml')
-rw-r--r-- | docs/api_swagger.yaml | 288 |
1 files changed, 288 insertions, 0 deletions
diff --git a/docs/api_swagger.yaml b/docs/api_swagger.yaml new file mode 100644 index 0000000..61cd091 --- /dev/null +++ b/docs/api_swagger.yaml @@ -0,0 +1,288 @@ +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: system + description: Operations related to quorum client which are not useful to clients + - name: login + description: Operations related to username password based authentication + - name: domain + description: Operations related to Secret Domains + - name: secret + description: Operations related to Secrets +schemes: + - https +paths: + /login: + post: + tags: + - login + summary: Login with username and password + description: Operations related to logging in via username and Password + consumes: + - application/json + produces: + - application/json + parameters: + - name: body + in: body + required: true + schema: + $ref: '#/definitions/Credential' + responses: + '200': + description: Successful Login returns a token + schema: + type: object + properties: + token: + type: string + ttl: + type: integer + description: ttl of returned token in seconds + '404': + description: Invalid Username or Password + /status: + get: + tags: + - system + description: Gets current backend status. This API is used only by quorum clients + summary: Get backend status + produces: + - application/json + responses: + '200': + description: Successful operation + schema: + type: object + properties: + sealstatus: + type: string + description: seal status of backend + '404': + description: Invalid Path or Path not found + /unseal: + post: + tags: + - system + description: Sends unseal shard to unseal if backend is sealed + summary: Unseal backend + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + required: true + schema: + type: object + properties: + unsealshard: + type: string + description: >- + Unseal shard that will be used along with other shards to + unseal backend + responses: + '201': + description: Submitted unseal key + '404': + description: Invalid Path or Path not found + /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' |