1.1.0 • Published 5 years ago
serverless-plugin-swagger-api v1.1.0
Serverless plugin Swagger API
Create severless function events from swagger
definition.
Install
npm i -D serverless-plugin-swagger-api
Usage:
serverless.yml
Add Swagge file to custom.swaggerApi.swagger
custom:
swaggerApi:
swagger: ${file(swagger.yml)}
functions:
ExampleLambda:
handler: src/example.js
swagger.yml
Add x-attr-serverless
to your swagger path definition
swagger: "2.0"
schemes:
- "https"
info:
description: "Serverless Plugin Swagger API test yml"
version: "1.0.0"
title: "Serverless Plugin Swagger API"
paths:
/hello:
get:
produces:
- "application/json"
responses:
200:
description: "200 response"
schema:
$ref: "#/definitions/Empty"
x-attr-serverless:
functionName: ExampleLambda # LambdaFunction in serverless.yml
cors: true # Turn on CORS for this endpoint, but don't forget to return the right header in your response
private: true # Requires clients to add API keys values in the `x-api-key` header of their request
authorizer: # An AWS API Gateway custom authorizer function
name: authorizerFunc # The name of the authorizer function (must be in this service)
arn: xxx:xxx:Lambda-Name # Can be used instead of name to reference a function outside of service
resultTtlInSeconds: 0
identitySource: method.request.header.Authorization
identityValidationExpression: someRegex
type: token # token or request. Determines input to the authorier function, called with the auth token or the entire request event. Defaults to token
definitions:
Empty:
type: "object"
title: "Empty Schema"
Contributing
PR's are welcome! :)