title: How to set "Use Lambda Proxy integration" in swagger for API-Gateway?
body: <p>How to set <code>Use Lambda Proxy integration</code> in swagger for API-Gateway?</p>
  
  <p>My current swagger is bellow but I would really like to setup the proxy integration. I would let me simplify a lot of things, not to mention I could remove the <code>requestTemplates</code> and <code>responses</code> blocks from the swagger definition.</p>
  
  <p>I am attempting to setup the new Lambda Proxy mode from <a href="https://aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/" rel="noreferrer">this blog</a> post.</p>
  
  <p>Current swagger:</p>
  
  <pre><code>  '/document':
      options:
        summary: CORS support
        description: |
          Enable CORS by returning correct headers
        consumes:
          - application/json
        produces:
          - application/json
        tags:
          - CORS
        x-amazon-apigateway-integration:
          type: mock
          requestTemplates:
            application/json: |
              {
                "statusCode" : 200
              }
          responses:
            "default":
              statusCode: "200"
              responseParameters:
                method.response.header.Access-Control-Allow-Headers : "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'"
                method.response.header.Access-Control-Allow-Methods : "'*'"
                method.response.header.Access-Control-Allow-Origin : "'*'"
              responseTemplates:
                application/json: |
                  {}
        responses:
          200:
            description: Default response for CORS method
            headers:
              Access-Control-Allow-Headers:
                type: "string"
              Access-Control-Allow-Methods:
                type: "string"
              Access-Control-Allow-Origin:
                type: "string"
      x-amazon-apigateway-any-method:
        produces:
        - "application/json"
        responses:
          200:
            description: "200 response"
            schema:
              $ref: "#/definitions/Empty"
        x-swagger-router-controller: main
        x-lambda-function: ../../swiki/build/document
        x-amazon-apigateway-integration:
          type: aws
          httpMethod: POST
          uri: arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/@@LambdaFunctionDocument/invocations
          credentials: @@APIGatewayExecutionRole
          passthroughBehavior: "when_no_templates"
          requestTemplates:
            application/json: |
              #set($allParams = $input.params())
              {
                "bodyJson" : $input.json('$'),
                "format": "html",
                "params" : {
              #foreach($type in $allParams.keySet())
                #set($params = $allParams.get($type))
                  "$type" : {
                #foreach($paramName in $params.keySet())
                    "$paramName" : "$util.escapeJavaScript($params.get($paramName))"
                  #if($foreach.hasNext),#end
                #end
                  }
                #if($foreach.hasNext),#end
              #end
                },
                "stageVariables" : {
              #foreach($key in $stageVariables.keySet())
                  "$key" : "$util.escapeJavaScript($stageVariables.get($key))"
                #if($foreach.hasNext),#end
              #end
                },
                "context" : {
                  "accountId" : "$context.identity.accountId",
                  "apiId" : "$context.apiId",
                  "apiKey" : "$context.identity.apiKey",
                  "authorizerPrincipalId" : "$context.authorizer.principalId",
                  "caller" : "$context.identity.caller",
                  "cognitoAuthenticationProvider" : "$context.identity.cognitoAuthenticationProvider",
                  "cognitoAuthenticationType" : "$context.identity.cognitoAuthenticationType",
                  "cognitoIdentityId" : "$context.identity.cognitoIdentityId",
                  "cognitoIdentityPoolId" : "$context.identity.cognitoIdentityPoolId",
                  "httpMethod" : "$context.httpMethod",
                  "stage" : "$context.stage",
                  "sourceIp" : "$context.identity.sourceIp",
                  "user" : "$context.identity.user",
                  "userAgent" : "$context.identity.userAgent",
                  "userArn" : "$context.identity.userArn",
                  "requestId" : "$context.requestId",
                  "resourceId" : "$context.resourceId",
                  "resourcePath" : "$context.resourcePath"
                }
              }
          responses:
            default:
              statusCode: "200"
  </code></pre>