openapi: 3.0.1
info:
  title: Qualys Clouds Service
  description: Qualys Clouds Service
  version: v0.0.1
servers:
  - url: 'https://api-dev.pearsoncloudmanagement.com/{basePath}'
    variables:
      basePath:
        default: qualys_vulnerabilities
  - url: 'https://api.pearsoncloudmanagement.com/{basePath}'
    variables:
      basePath:
        default: qualys_vulnerabilities
paths:
  /historicvpd:
    post:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      security:
        - QualysETLCloudsUserPool:
            - users/*
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${QualysExecutorLambdaApi.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /currentvpd:
    post:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      security:
        - QualysETLCloudsUserPool:
            - users/*
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${QualysExecutorLambdaApi.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /healthcheck:
    get:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${QualysExecutorLambdaApi.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /authtoken:
    post:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${AuthToken.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /currentvuln:
    post:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      security:
        - QualysETLCloudsUserPool:
            - users/*
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${QualysExecutorLambdaApi.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /historicvuln:
    post:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      security:
        - QualysETLCloudsUserPool:
            - users/*
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${QualysExecutorLambdaApi.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /findquery:
    get:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      security:
        - QualysETLCloudsUserPool:
            - users/*
      x-amazon-apigateway-integration:
        type: aws_proxy
        httpMethod: POST
        uri:
          'Fn::Sub': 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${QualysFinderLambdaApi.Arn}/invocations'
        passthroughBehavior: when_no_match
    options:
      responses:
        '204':
          description: 204 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Vary:
              schema:
                type: string
            Access-Control-Max-Age:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        type: mock
        responses:
          default:
            statusCode: '204'
            responseParameters:
              method.response.header.Access-Control-Max-Age: '''600'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
              method.response.header.Vary: '''Origin'''
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
  /:
    get:
      summary: API landing page
      operationId: APILandingPage
      responses:
        '200':
          description: Default 200 response for CORS method
          headers:
            Content-Type:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
        '404':
          description: API landing page not found
          headers:
            Content-Type:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content: {}
      x-amazon-apigateway-integration:
        responses:
          default:
            statusCode: '200'
            responseParameters:
              method.response.header.Content-Type: '''text/html'''
              method.response.header.Access-Control-Allow-Headers: '''Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token,Api-Auth-Token'''
              method.response.header.Access-Control-Allow-Methods: '''DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'''
              method.response.header.Access-Control-Allow-Origin: '''http://localhost:3000'''
            responseTemplates:
              text/html: |
                <!DOCTYPE html> <html lang="en">
                  <head>
                    <meta charset="utf-8"> <!-- Important: rapi-doc uses utf8 charecters -->
                    <script type="module" src="https://unpkg.com/rapidoc/dist/rapidoc-min.js"></script>
                  </head>
                  <body>
                    <!-- Swagger build propagates info.version. Change the version in openapi.yaml, not here. v0.0.0 is a placeholder. -->
                    <rapi-doc spec-url = "https://downloads.pearsoncloudmanagement.com/qualys_vulnerabilities/$context.stage/api/openapi_bundled_vv0.0.1.yaml"> </rapi-doc>
                  </body>
                </html>
        requestTemplates:
          application/json: '{ statusCode: 200 }'
        passthroughBehavior: when_no_match
        type: mock
components:
  securitySchemes:
    QualysETLCloudsUserPool:
      type: apiKey
      name: Authorization
      in: header
      x-amazon-apigateway-authtype: cognito_user_pools
      x-amazon-apigateway-authorizer:
        type: cognito_user_pools
        providerARNs:
          - 'Fn::Sub': '${QualysUserPool.Arn}'
