Updating API Document 31/31131/1
authorKiran <kiran.k.kamineni@intel.com>
Fri, 9 Feb 2018 22:54:12 +0000 (14:54 -0800)
committerKiran <kiran.k.kamineni@intel.com>
Fri, 9 Feb 2018 22:54:22 +0000 (14:54 -0800)
API Document was old
Updated with latest

Issue-ID: AAF-121
Change-Id: Ifea35d2aad6e7d52fe73d02984e6d11b6cd89831
Signed-off-by: Kiran <kiran.k.kamineni@intel.com>
sms-service/doc/api_swagger.yaml

index c1fb634..5e0b792 100644 (file)
-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'