summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran <kiran.k.kamineni@intel.com>2018-02-09 14:54:12 -0800
committerKiran <kiran.k.kamineni@intel.com>2018-02-09 14:54:22 -0800
commitf11a02780f2210e9e734879afb1d45c89b8ed814 (patch)
tree3ba8c73ff074956a28cf7adaac835a89b3c92bab
parent662ef00510ee19f71c6aac7f0f09c6cbe6189c6e (diff)
Updating API Document
API Document was old Updated with latest Issue-ID: AAF-121 Change-Id: Ifea35d2aad6e7d52fe73d02984e6d11b6cd89831 Signed-off-by: Kiran <kiran.k.kamineni@intel.com>
-rw-r--r--sms-service/doc/api_swagger.yaml703
1 files changed, 182 insertions, 521 deletions
diff --git a/sms-service/doc/api_swagger.yaml b/sms-service/doc/api_swagger.yaml
index c1fb634..5e0b792 100644
--- a/sms-service/doc/api_swagger.yaml
+++ b/sms-service/doc/api_swagger.yaml
@@ -1,524 +1,242 @@
-swagger: "2.0"
+swagger: '2.0'
info:
- description: "This is a service that provides secret management facilities"
- version: "1.0.0"
- title: "Secret Management Service"
+ 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"
+ 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/"
+ name: Apache 2.0
+ url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
+host: 'aaf.onap.org:8000'
+basePath: /v1/sms/
tags:
-- name: "domain"
- description: "Operations related to Secret Domains"
- externalDocs:
- description: "Find out more"
- url: "http://swagger.io"
-- name: "secret"
- description: "Operations related to Secrets"
+ - 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"
+ - https
paths:
- /domain:
+ /login:
post:
tags:
- - "domain"
- summary: "Add a new domain"
- description: ""
- operationId: "addDomain"
+ - 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:
- - in: "body"
- name: "body"
- required: true
- schema:
- $ref: "#/definitions/Domain"
- responses:
- 405:
- description: "Invalid input"
- 200:
- description: "Successful Creation"
- schema:
- $ref: "#/definitions/Domain"
- /domain/{domain_name}:
- get:
- tags:
- - "domain"
- summary: "Gets domain by name"
- description: "Multiple status values can be provided with comma separated strings"
- operationId: "findPetsByStatus"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - name: "status"
- in: "query"
- description: "Status values that need to be considered for filter"
- required: true
- type: "array"
- items:
- type: "string"
- enum:
- - "available"
- - "pending"
- - "sold"
- default: "available"
- collectionFormat: "multi"
- responses:
- 200:
- description: "successful operation"
- schema:
- type: "array"
- items:
- $ref: "#/definitions/Pet"
- 400:
- description: "Invalid status value"
- security:
- - petstore_auth:
- - "write:pets"
- - "read:pets"
- /pet/findByTags:
- get:
- tags:
- - "pet"
- summary: "Finds Pets by tags"
- description: "Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing."
- operationId: "findPetsByTags"
+ - application/json
produces:
- - "application/xml"
- - "application/json"
+ - application/json
parameters:
- - name: "tags"
- in: "query"
- description: "Tags to filter by"
- required: true
- type: "array"
- items:
- type: "string"
- collectionFormat: "multi"
- responses:
- 200:
- description: "successful operation"
+ - name: body
+ in: body
+ required: true
schema:
- type: "array"
- items:
- $ref: "#/definitions/Pet"
- 400:
- description: "Invalid tag value"
- security:
- - petstore_auth:
- - "write:pets"
- - "read:pets"
- deprecated: true
- /{domainName}/{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"
+ $ref: '#/definitions/Credential'
responses:
- 200:
- description: "successful operation"
+ '200':
+ description: "Successful Login"
schema:
- $ref: "#/definitions/Secret"
- 404:
- description: "Invalid Path or Path not found"
- security:
- - api_key: []
- delete:
- tags:
- - "secret"
- summary: "Deletes a Secret"
- description: ""
- operationId: "deleteSecret"
- produces:
- - "application/json"
- parameters:
- - name: "token"
- in: "header"
- required: true
- type: "string"
- - name: "secretName"
- in: "path"
- description: "Name of Secret to Delete"
- required: true
- type: "string"
- - name: "domainName"
- in: "path"
- description: "Path to the SecretDomain which contains the Secret"
- type: "string"
- responses:
- 204:
- description: "Successful Deletion"
- 404:
- description: "Invalid Path or Path not found"
- /pet/{petId}/uploadImage:
+ type: "string"
+ '404':
+ description: "Invalid Username or Password"
+ /domain:
post:
tags:
- - "pet"
- summary: "uploads an image"
- description: ""
- operationId: "uploadFile"
+ - domain
+ summary: Add a new domain
+ description: ''
+ operationId: addDomain
consumes:
- - "multipart/form-data"
+ - application/json
produces:
- - "application/json"
+ - application/json
parameters:
- - name: "petId"
- in: "path"
- description: "ID of pet to update"
- required: true
- type: "integer"
- format: "int64"
- - name: "additionalMetadata"
- in: "formData"
- description: "Additional data to pass to server"
- required: false
- type: "string"
- - name: "file"
- in: "formData"
- description: "file to upload"
- required: false
- type: "file"
- responses:
- 200:
- description: "successful operation"
- schema:
- $ref: "#/definitions/ApiResponse"
- security:
- - petstore_auth:
- - "write:pets"
- - "read:pets"
- /store/inventory:
- get:
- tags:
- - "store"
- summary: "Returns pet inventories by status"
- description: "Returns a map of status codes to quantities"
- operationId: "getInventory"
- produces:
- - "application/json"
- parameters: []
- responses:
- 200:
- description: "successful operation"
+ - in: body
+ name: body
+ required: true
schema:
- type: "object"
- additionalProperties:
- type: "integer"
- format: "int32"
- security:
- - api_key: []
- /store/order:
- post:
- tags:
- - "store"
- summary: "Place an order for a pet"
- description: ""
- operationId: "placeOrder"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - in: "body"
- name: "body"
- description: "order placed for purchasing the pet"
- required: true
- schema:
- $ref: "#/definitions/Order"
+ $ref: '#/definitions/Domain'
responses:
- 200:
- description: "successful operation"
+ '200':
+ description: Successful Creation
schema:
- $ref: "#/definitions/Order"
- 400:
- description: "Invalid Order"
- /store/order/{orderId}:
+ $ref: '#/definitions/Domain'
+ '405':
+ description: Invalid input
+ '/domain/{domainName}':
get:
tags:
- - "store"
- summary: "Find purchase order by ID"
- description: "For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions"
- operationId: "getOrderById"
+ - domain
+ description: Gets domain information by name
+ operationId: getDomainByName
produces:
- - "application/xml"
- - "application/json"
+ - application/json
parameters:
- - name: "orderId"
- in: "path"
- description: "ID of pet that needs to be fetched"
- required: true
- type: "integer"
- maximum: 10.0
- minimum: 1.0
- format: "int64"
+ - name: domainName
+ in: path
+ description: Name of the domain
+ required: true
+ type: string
responses:
- 200:
- description: "successful operation"
+ '200':
+ description: successful operation
schema:
- $ref: "#/definitions/Order"
- 400:
- description: "Invalid ID supplied"
- 404:
- description: "Order not found"
+ $ref: '#/definitions/Domain'
+ '404':
+ description: Invalid Path or Path not found
delete:
tags:
- - "store"
- summary: "Delete purchase order by ID"
- description: "For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors"
- operationId: "deleteOrder"
+ - domain
+ description: Deletes a domain with provided name
+ operationId: deleteDomainByName
produces:
- - "application/xml"
- - "application/json"
+ - application/json
parameters:
- - name: "orderId"
- in: "path"
- description: "ID of the order that needs to be deleted"
- required: true
- type: "integer"
- minimum: 1.0
- format: "int64"
+ - name: domainName
+ in: path
+ description: Name of the domain
+ required: true
+ type: string
responses:
- 400:
- description: "Invalid ID supplied"
- 404:
- description: "Order not found"
- /user:
+ '204':
+ description: Successful Deletion
+ '404':
+ description: Invalid Path or Path not found
+ '/domain/{domainName}/secret':
post:
tags:
- - "user"
- summary: "Create user"
- description: "This can only be done by the logged in user."
- operationId: "createUser"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - in: "body"
- name: "body"
- description: "Created user object"
- required: true
- schema:
- $ref: "#/definitions/User"
- responses:
- default:
- description: "successful operation"
- /user/createWithArray:
- post:
- tags:
- - "user"
- summary: "Creates list of users with given input array"
- description: ""
- operationId: "createUsersWithArrayInput"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - in: "body"
- name: "body"
- description: "List of user object"
- required: true
- schema:
- type: "array"
- items:
- $ref: "#/definitions/User"
- responses:
- default:
- description: "successful operation"
- /user/createWithList:
- post:
- tags:
- - "user"
- summary: "Creates list of users with given input array"
- description: ""
- operationId: "createUsersWithListInput"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - in: "body"
- name: "body"
- description: "List of user object"
- required: true
- schema:
- type: "array"
- items:
- $ref: "#/definitions/User"
+ - 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:
- default:
- description: "successful operation"
- /user/login:
+ '200':
+ description: Successful Creation
+ schema:
+ $ref: '#/definitions/Secret'
+ '404':
+ description: Invalid Path or Path not found
get:
tags:
- - "user"
- summary: "Logs user into the system"
- description: ""
- operationId: "loginUser"
+ - secret
+ description: Gets all secrets in this domain
+ operationId: getAllSecretsInDomain
produces:
- - "application/xml"
- - "application/json"
+ - application/json
parameters:
- - name: "username"
- in: "query"
- description: "The user name for login"
- required: true
- type: "string"
- - name: "password"
- in: "query"
- description: "The password for login in clear text"
- required: true
- type: "string"
+ - name: domainName
+ in: path
+ description: Name of the domain in which to look at
+ required: true
+ type: string
responses:
- 200:
- description: "successful operation"
+ '200':
+ description: successful operation
schema:
- type: "string"
- headers:
- X-Rate-Limit:
- type: "integer"
- format: "int32"
- description: "calls per hour allowed by the user"
- X-Expires-After:
- type: "string"
- format: "date-time"
- description: "date in UTC when token expires"
- 400:
- description: "Invalid username/password supplied"
- /user/logout:
- get:
- tags:
- - "user"
- summary: "Logs out current logged in user session"
- description: ""
- operationId: "logoutUser"
- produces:
- - "application/xml"
- - "application/json"
- parameters: []
- responses:
- default:
- description: "successful operation"
- /user/{username}:
+ type: "array"
+ items:
+ $ref: '#/definitions/Secret'
+ '404':
+ description: Invalid Path or Path not found
+ '/domain/{domainName}/secret/{secretName}':
get:
tags:
- - "user"
- summary: "Get user by user name"
- description: ""
- operationId: "getUserByName"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - name: "username"
- in: "path"
- description: "The name that needs to be fetched. Use user1 for testing. "
- required: true
- type: "string"
- responses:
- 200:
- description: "successful operation"
+ - 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/User"
- 400:
- description: "Invalid username supplied"
- 404:
- description: "User not found"
- put:
- tags:
- - "user"
- summary: "Updated user"
- description: "This can only be done by the logged in user."
- operationId: "updateUser"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - name: "username"
- in: "path"
- description: "name that need to be updated"
- required: true
- type: "string"
- - in: "body"
- name: "body"
- description: "Updated user object"
- required: true
- schema:
- $ref: "#/definitions/User"
- responses:
- 400:
- description: "Invalid user supplied"
- 404:
- description: "User not found"
+ $ref: '#/definitions/Secret'
+ '404':
+ description: Invalid Path or Path not found
delete:
tags:
- - "user"
- summary: "Delete user"
- description: "This can only be done by the logged in user."
- operationId: "deleteUser"
- produces:
- - "application/xml"
- - "application/json"
- parameters:
- - name: "username"
- in: "path"
- description: "The name that needs to be deleted"
- required: true
- type: "string"
- responses:
- 400:
- description: "Invalid username supplied"
- 404:
- description: "User not found"
-securityDefinitions:
- petstore_auth:
- type: "oauth2"
- authorizationUrl: "http://petstore.swagger.io/oauth/dialog"
- flow: "implicit"
- scopes:
- write:pets: "modify pets in your account"
- read:pets: "read your pets"
- api_key:
- type: "apiKey"
- name: "api_key"
- in: "header"
+ - 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"
+ type: object
properties:
uuid:
- type: "string"
- description: "Optional value provided by user. If user does not provide, server will auto generate"
+ 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"
+ 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"
+ description: Name of the secret
value:
type: "array"
- description: "Array of key value pairs that constitute the secret"
+ description: Array of key value pairs that constitute the secret
items:
type: "object"
properties:
@@ -526,63 +244,6 @@ definitions:
type: "string"
value:
type: "string"
- Tag:
- type: "object"
- properties:
- id:
- type: "integer"
- format: "int64"
- name:
- type: "string"
- xml:
- name: "Tag"
- Pet:
- type: "object"
- required:
- - "name"
- - "photoUrls"
- properties:
- id:
- type: "integer"
- format: "int64"
- category:
- $ref: "#/definitions/Category"
- name:
- type: "string"
- example: "doggie"
- photoUrls:
- type: "array"
- xml:
- name: "photoUrl"
- wrapped: true
- items:
- type: "string"
- tags:
- type: "array"
- xml:
- name: "tag"
- wrapped: true
- items:
- $ref: "#/definitions/Tag"
- status:
- type: "string"
- description: "pet status in the store"
- enum:
- - "available"
- - "pending"
- - "sold"
- xml:
- name: "Pet"
- ApiResponse:
- type: "object"
- properties:
- code:
- type: "integer"
- format: "int32"
- type:
- type: "string"
- message:
- type: "string"
externalDocs:
- description: "Find out more about Swagger"
- url: "http://swagger.io" \ No newline at end of file
+ description: Find out more about Swagger
+ url: 'http://swagger.io'