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:8000' basePath: /v1/sms/ tags: - 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' operationId: loginUser consumes: - application/json produces: - application/json parameters: - name: body in: body required: true schema: $ref: '#/definitions/Credential' responses: '200': description: "Successful Login" schema: type: "string" '404': description: "Invalid Username or Password" /domain: post: tags: - domain summary: Add a new domain description: '' operationId: addDomain consumes: - application/json produces: - application/json parameters: - in: body name: body required: true schema: $ref: '#/definitions/Domain' responses: '200': description: Successful Creation schema: $ref: '#/definitions/Domain' '405': description: Invalid input '/domain/{domainName}': get: tags: - domain description: Gets domain information by name operationId: getDomainByName produces: - application/json parameters: - name: domainName in: path description: Name of the domain required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/Domain' '404': description: Invalid Path or Path not found delete: tags: - domain description: Deletes a domain with provided name operationId: deleteDomainByName 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: '' operationId: addSecretInDomain 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: '200': description: Successful Creation schema: $ref: '#/definitions/Secret' '404': description: Invalid Path or Path not found get: tags: - secret description: Gets all secrets in this domain operationId: getAllSecretsInDomain 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: "array" items: $ref: '#/definitions/Secret' '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 operationId: getSecretByName 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: '' operationId: deleteSecret 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 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 value: type: "array" description: Array of key value pairs that constitute the secret items: type: "object" properties: key: type: "string" value: type: "string" externalDocs: description: Find out more about Swagger url: 'http://swagger.io'