serverless-plugin-swagger-api
v1.1.0
Published
Define your API Endpoints in OpenAPI format (swagger) and create APIGW integration automatically
Downloads
208
Maintainers
Readme
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! :)