diff --git a/README.md b/README.md
index 82dbaf58e..ba12bb3ee 100644
--- a/README.md
+++ b/README.md
@@ -156,6 +156,7 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
-->
| Plugin | Author |
| :----- | :----: |
+| **[Fullstack Serverless](https://github.com/MadSkills-io/fullstack-serverless)**
A Serverless plugin to create an AWS CloudFront distribution that serves static web content from S3 and routes API traffic to API Gateway. | [MadSkills-io](http://github.com/MadSkills-io) |
| **[Go Serverless](https://github.com/thepauleh/goserverless)**
GoFormation for Serverless. Create serverless configs with Go Structs. | [thepauleh](http://github.com/thepauleh) |
| **[Raml Serverless](https://github.com/andrewcurioso/raml-serverless)**
Serverless plugin to work with RAML API spec documents | [andrewcurioso](http://github.com/andrewcurioso) |
| **[Serverless Alexa Plugin](https://github.com/rajington/serverless-alexa-plugin)**
Serverless plugin to support Alexa Lambda events | [rajington](http://github.com/rajington) |
@@ -174,6 +175,8 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Aws Documentation](https://github.com/9cookies/serverless-aws-documentation)**
Serverless plugin to add documentation and models to the serverless generated API Gateway | [9cookies](http://github.com/9cookies) |
| **[Serverless Aws Nested Stacks](https://github.com/concon121/serverless-plugin-nested-stacks)**
Yet another AWS nested stack plugin! | [concon121](http://github.com/concon121) |
| **[Serverless Aws Resource Names](https://github.com/concon121/serverless-plugin-aws-resource-names)**
Serverless plugin to alter the default naming conventions for sls resources via a simple mapping file. | [concon121](http://github.com/concon121) |
+| **[Serverless Basic Authentication](https://github.com/svdgraaf/serverless-basic-authentication)**
Serverless Plugin for adding Basic Authentication to your api | [svdgraaf](http://github.com/svdgraaf) |
+| **[Serverless Build Client](https://github.com/tgfischer/serverless-build-client)**
Build your static website with environment variables defined in serverless.yml | [tgfischer](http://github.com/tgfischer) |
| **[Serverless Build Plugin](https://github.com/nfour/serverless-build-plugin)**
A Node.js focused build plugin for serverless. | [nfour](http://github.com/nfour) |
| **[Serverless Cf Vars](https://gitlab.com/kabo/serverless-cf-vars)**
Enables use of AWS pseudo functions and Fn::Sub string substitution | [kabo](http://github.com/kabo) |
| **[Serverless Cljs Plugin](https://github.com/nervous-systems/serverless-cljs-plugin)**
Enables Clojurescript as an implementation language for Lambda handlers | [nervous-systems](http://github.com/nervous-systems) |
@@ -182,16 +185,21 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Cloudformation Resource Counter](https://github.com/drexler/serverless-cloudformation-resource-counter)**
A plugin to count the resources generated in the AWS CloudFormation stack after deployment. | [drexler](http://github.com/drexler) |
| **[Serverless Cloudformation Sub Variables](https://github.com/santiagocardenas/serverless-cloudformation-sub-variables)**
Serverless framework plugin for easily supporting AWS CloudFormation Sub function variables | [santiagocardenas](http://github.com/santiagocardenas) |
| **[Serverless Coffeescript](https://github.com/duanefields/serverless-coffeescript)**
A Serverless plugin to compile your CoffeeScript into JavaScript at deployment | [duanefields](http://github.com/duanefields) |
+| **[Serverless Cognito Add Custom Attributes](https://github.com/GetWala/serverless-cognito-add-custom-attributes)**
Serverless Plugin for adding custom attributes to an existing CloudFormation-managed CognitoUserPool and CognitoUserPoolClient without losing all your users | [GetWala](http://github.com/GetWala) |
| **[Serverless Command Line Event Args](https://github.com/horike37/serverless-command-line-event-args)**
This module is Serverless Framework plugin. Event JSON passes to your Lambda function in commandline. | [horike37](http://github.com/horike37) |
-| **[Serverless Content Encoding](https://github.com/xeno-dohai/serverless-content-encoding)**
Enable Content Encoding in AWS API Gateway during deployment | [xeno-dohai](http://github.com/xeno-dohai) |
+| **[Serverless Content Encoding](https://github.com/dong-dohai/serverless-content-encoding)**
Enable Content Encoding in AWS API Gateway during deployment | [dong-dohai](http://github.com/dong-dohai) |
+| **[Serverless Create Global Dynamodb Table](https://github.com/rrahul963/serverless-create-global-dynamodb-table)**
Serverless plugin to create dynamodb global tables | [rrahul963](http://github.com/rrahul963) |
| **[Serverless Crypt](https://github.com/marcy-terui/serverless-crypt)**
Securing the secrets on Serverless Framework by AWS KMS encryption. | [marcy-terui](http://github.com/marcy-terui) |
| **[Serverless Custom Packaging Plugin](https://github.com/hypoport/serverless-custom-packaging-plugin)**
Plugin to package your sourcecode using a custom target path inside the zip. | [hypoport](http://github.com/hypoport) |
+| **[Serverless Dependson Plugin](https://github.com/bwinant/serverless-dependson-plugin)**
Serverless plugin that automatically generates DependsOn references for AWS Lambdas to prevent AWS RequestLimitExceeded errors. | [bwinant](http://github.com/bwinant) |
+| **[Serverless Ding](https://github.com/sidgonuts/serverless-ding)**
Serverless plugin to audibly alert user after deployment | [sidgonuts](http://github.com/sidgonuts) |
| **[Serverless Dir Config Plugin](https://github.com/economysizegeek/serverless-dir-config-plugin)**
EXPERIMENTAL - Serverless plugin to load function and resource definitions from a directory. | [economysizegeek](http://github.com/economysizegeek) |
| **[Serverless Domain Manager](https://github.com/amplify-education/serverless-domain-manager)**
Serverless plugin for managing custom domains with API Gateways. | [amplify-education](http://github.com/amplify-education) |
| **[Serverless Dotenv](https://github.com/Jimdo/serverless-dotenv)**
Fetch environment variables and write it to a .env file | [Jimdo](http://github.com/Jimdo) |
| **[Serverless Dotnet](https://github.com/fruffin/serverless-dotnet)**
A serverless plugin to run 'dotnet' commands as part of the deploy process | [fruffin](http://github.com/fruffin) |
| **[Serverless Dynalite](https://github.com/sdd/serverless-dynalite)**
Run dynalite locally (no JVM, all JS) to simulate DynamoDB. Watch serverless.yml for table config updates. | [sdd](http://github.com/sdd) |
| **[Serverless Dynamodb Autoscaling](https://github.com/sbstjn/serverless-dynamodb-autoscaling)**
Configure Amazon DynamoDB's native Auto Scaling for your table capacities. | [sbstjn](http://github.com/sbstjn) |
+| **[Serverless Dynamodb Fixtures](https://github.com/chechu/serverless-dynamodb-fixtures)**
Serverless Dynamodb Fixtures - Allows to load data on DynamoDB tables | [chechu](http://github.com/chechu) |
| **[Serverless Dynamodb Local](https://github.com/99xt/serverless-dynamodb-local)**
Serverless Dynamodb Local Plugin - Allows to run dynamodb locally for serverless | [99xt](http://github.com/99xt) |
| **[Serverless Dynamodb Ttl](https://github.com/Jimdo/serverless-dynamodb-ttl)**
Configure DynamoDB TTL in serverless.yml (until CloudFormation supports this). | [Jimdo](http://github.com/Jimdo) |
| **[Serverless Enable Api Logs](https://github.com/paulSambolin/serverless-enable-api-logs)**
Enables Coudwatch logging for API Gateway events | [paulSambolin](http://github.com/paulSambolin) |
@@ -200,12 +208,14 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Event Constant Inputs](https://github.com/dittto/serverless-event-constant-inputs)**
Allows you to add constant inputs to events in Serverless 1.0. For more info see [constant values in Cloudwatch](https://aws.amazon.com/blogs/compute/simply-serverless-use-constant-values-in-cloudwatch-event-triggered-lambda-functions/) | [dittto](http://github.com/dittto) |
| **[Serverless Export Env](https://github.com/arabold/serverless-export-env)**
Export environment variables into a .env file with automatic AWS CloudFormation reference resolution. | [arabold](http://github.com/arabold) |
| **[Serverless Express](https://github.com/mikestaub/serverless-express)**
Making express app development compatible with serverless framework. | [mikestaub](http://github.com/mikestaub) |
+| **[Serverless Finch](https://github.com/fernando-mc/serverless-finch)**
A Serverless plugin to deploy static website assets to AWS S3. | [fernando-mc](http://github.com/fernando-mc) |
| **[Serverless Functions Base Path](https://github.com/kevinrambaud/serverless-functions-base-path)**
Easily define a base path where your serverless functions are located. | [kevinrambaud](http://github.com/kevinrambaud) |
| **[Serverless Go Build](https://github.com/sean9keenan/serverless-go-build)**
Build go source files (or public functions) using yml definition file | [sean9keenan](http://github.com/sean9keenan) |
| **[Serverless Gulp](https://github.com/rhythminme/serverless-gulp)**
A thin task wrapper around @goserverless that allows you to automate build, test and deploy tasks using gulp | [rhythminme](http://github.com/rhythminme) |
| **[Serverless Haskell](https://github.com/seek-oss/serverless-haskell)**
Deploying Haskell applications to AWS Lambda with Serverless | [seek-oss](http://github.com/seek-oss) |
| **[Serverless Hooks Plugin](https://github.com/uswitch/serverless-hooks-plugin)**
Run arbitrary commands on any lifecycle event in serverless | [uswitch](http://github.com/uswitch) |
| **[Serverless Iam Roles Per Function](https://github.com/functionalone/serverless-iam-roles-per-function)**
Serverless Plugin for easily defining IAM roles per function via the use of iamRoleStatements at the function level. | [functionalone](http://github.com/functionalone) |
+| **[Serverless Ignore](https://github.com/nya1/serverless-ignore)**
Serverless plugin to ignore files (.slsignore) | [nya1](http://github.com/nya1) |
| **[Serverless Iot Local](https://github.com/tradle/serverless-iot-local)**
AWS Iot events with serverless-offline | [tradle](http://github.com/tradle) |
| **[Serverless Jest Plugin](https://github.com/SC5/serverless-jest-plugin)**
A Serverless Plugin for the Serverless Framework which adds support for test-driven development using Jest | [SC5](http://github.com/SC5) |
| **[Serverless Kms Secrets](https://github.com/SC5/serverless-kms-secrets)**
Allows to easily encrypt and decrypt secrets using KMS from the serverless CLI | [SC5](http://github.com/SC5) |
@@ -226,7 +236,6 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Package Common](https://github.com/onlicar/serverless-package-common)**
Deploy microservice Python Serverless services with common code | [onlicar](http://github.com/onlicar) |
| **[Serverless Package Python Functions](https://github.com/ubaniabalogun/serverless-package-python-functions)**
Packaging Python Lambda functions with only the dependencies/requirements they need. | [ubaniabalogun](http://github.com/ubaniabalogun) |
| **[Serverless Parameters](https://github.com/svdgraaf/serverless-parameters)**
Add parameters to the generated cloudformation templates | [svdgraaf](http://github.com/svdgraaf) |
-| **[Serverless Plugin Api Docs](https://github.com/8select/serverless-plugin-api-docs)**
Serverless plugin to automatically create a lambda function which returns Swagger-UI HTML API Documentation Page based on the given swagger spec JSON file. | [8select](http://github.com/8select) |
| **[Serverless Plugin Aws Alerts](https://github.com/ACloudGuru/serverless-plugin-aws-alerts)**
A Serverless plugin to easily add CloudWatch alarms to functions | [ACloudGuru](http://github.com/ACloudGuru) |
| **[Serverless Plugin Aws Resolvers](https://github.com/DopplerLabs/serverless-plugin-aws-resolvers)**
Resolves variables from ESS, RDS, or Kinesis for serverless services | [DopplerLabs](http://github.com/DopplerLabs) |
| **[Serverless Plugin Bespoken](https://github.com/bespoken/serverless-plugin-bespoken)**
Creates a local server and a proxy so you don't have to deploy anytime you want to test your code | [bespoken](http://github.com/bespoken) |
@@ -237,16 +246,20 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Plugin Cfauthorizer](https://github.com/SC5/serverless-plugin-cfauthorizer)**
This plugin allows you to define your own API Gateway Authorizers as the Serverless CloudFormation resources and apply them to HTTP endpoints. | [SC5](http://github.com/SC5) |
| **[Serverless Plugin Chrome](https://github.com/adieuadieu/serverless-chrome/tree/master/packages/serverless-plugin)**
Plugin which bundles and ensures that Headless Chrome/Chromium is running when your AWS Lambda function handler is invoked. | [adieuadieu](http://github.com/adieuadieu) |
| **[Serverless Plugin Cloudwatch Sumologic](https://github.com/ACloudGuru/serverless-plugin-cloudwatch-sumologic)**
Plugin which auto-subscribes a log delivery lambda function to lambda log groups created by serverless | [ACloudGuru](http://github.com/ACloudGuru) |
+| **[Serverless Plugin Colocate](https://github.com/aronim/serverless-plugin-colocate)**
Serverless Plugin to keep your configuration next to your code. | [aronim](http://github.com/aronim) |
| **[Serverless Plugin Common Excludes](https://github.com/dougmoscrop/serverless-plugin-common-excludes)**
Adds commonly excluded files to package.excludes | [dougmoscrop](http://github.com/dougmoscrop) |
| **[Serverless Plugin Custom Domain](https://github.com/dougmoscrop/serverless-plugin-custom-domain)**
Reliably sets a BasePathMapping to an API Gateway Custom Domain | [dougmoscrop](http://github.com/dougmoscrop) |
| **[Serverless Plugin Deploy Environment](https://github.com/DopplerLabs/serverless-plugin-deploy-environment)**
Plugin to manage deployment environment across stages | [DopplerLabs](http://github.com/DopplerLabs) |
| **[Serverless Plugin Diff](https://github.com/nicka/serverless-plugin-diff)**
Compares your local AWS CloudFormation templates against deployed ones. | [nicka](http://github.com/nicka) |
| **[Serverless Plugin Dynamodb Autoscaling](https://github.com/medikoo/serverless-plugin-dynamodb-autoscaling)**
Auto generate auto scaling configuration for configured DynamoDB tables | [medikoo](http://github.com/medikoo) |
| **[Serverless Plugin Elastic Beanstalk](https://github.com/rawphp/serverless-plugin-elastic-beanstalk)**
A serverless plugin to deploy applications to AWS ElasticBeanstalk. | [rawphp](http://github.com/rawphp) |
+| **[Serverless Plugin Embedded Env In Code](https://github.com/zaru/serverless-plugin-embedded-env-in-code)**
Replace environment variables with static strings before deployment. It’s for Lambda@Edge. | [zaru](http://github.com/zaru) |
| **[Serverless Plugin Encode Env Var Objects](https://github.com/yonomi/serverless-plugin-encode-env-var-objects)**
Serverless plugin to encode any environment variable objects. | [yonomi](http://github.com/yonomi) |
| **[Serverless Plugin External Sns Events](https://github.com/silvermine/serverless-plugin-external-sns-events)**
Add ability for functions to use existing or external SNS topics as an event source | [silvermine](http://github.com/silvermine) |
+| **[Serverless Plugin Fastdeploy](https://github.com/aronim/serverless-plugin-fastdeploy)**
Serverless Plugin to perform fast deployments for large service packages. | [aronim](http://github.com/aronim) |
| **[Serverless Plugin Git Variables](https://github.com/jacob-meacham/serverless-plugin-git-variables)**
A Serverless plugin to expose git variables (branch name, HEAD description, full commit hash) to your serverless services | [jacob-meacham](http://github.com/jacob-meacham) |
| **[Serverless Plugin Graphiql](https://github.com/bencooling/serverless-plugin-graphiql)**
A Serverless plugin to run a local http server for graphiql and your graphql handler | [bencooling](http://github.com/bencooling) |
+| **[Serverless Plugin Ifelse](https://github.com/anantab/serverless-plugin-ifelse)**
A Serverless Plugin to write If Else conditions in serverless YAML file | [anantab](http://github.com/anantab) |
| **[Serverless Plugin Include Dependencies](https://github.com/dougmoscrop/serverless-plugin-include-dependencies)**
This is a Serverless plugin that should make your deployed functions smaller. | [dougmoscrop](http://github.com/dougmoscrop) |
| **[Serverless Plugin Inject Dependencies](https://github.com/loanmarket/serverless-plugin-inject-dependencies)**
Painlessly deploy serverless projects with only the required dependencies. | [loanmarket](http://github.com/loanmarket) |
| **[Serverless Plugin Iopipe](https://github.com/iopipe/serverless-plugin-iopipe)**
See inside your Lambda functions with high fidelity metrics and monitoring. | [iopipe](http://github.com/iopipe) |
@@ -255,13 +268,14 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Plugin Metric](https://github.com/alex20465/serverless-plugin-metric)**
Creates dynamically AWS metric-filter resources with custom patterns | [alex20465](http://github.com/alex20465) |
| **[Serverless Plugin Multiple Responses](https://github.com/silvermine/serverless-plugin-multiple-responses)**
Enable multiple content-types for Response template | [silvermine](http://github.com/silvermine) |
| **[Serverless Plugin Node Shim](https://github.com/jzimmek/serverless-plugin-node-shim)**
Serverless plugin to run your functions in nodejs version (8 LTS, 9+) on aws lambda | [jzimmek](http://github.com/jzimmek) |
+| **[Serverless Plugin Offline Dynamodb Stream](https://github.com/orchestrated-io/serverless-plugin-offline-dynamodb-stream)**
Serverless Plugin for emulating dynamodb stream triggering lambda functions offline | [orchestrated-io](http://github.com/orchestrated-io) |
| **[Serverless Plugin Offline Kinesis Events](https://github.com/DopplerLabs/serverless-plugin-offline-kinesis-events)**
Plugin that works with serverless-offline to allow offline testing of serverless functions that are triggered by Kinesis events. | [DopplerLabs](http://github.com/DopplerLabs) |
-| **[Serverless Plugin Offline Kinesis](https://github.com/godu/serverless/tree/master/packages/serverless-offline-kinesis)**
ServerlessOffline's plugin which listens Kinesis stream and invokes locally your handlers | [godu](http://github.com/godu) |
-| **[Serverless Plugin Offline DynamoDBStreams](https://github.com/godu/serverless/tree/master/packages/serverless-offline-dynamodb-streams)**
ServerlessOffline's plugin which listens DynamoDBStreams stream and invokes locally your handlers | [godu](http://github.com/godu) |
| **[Serverless Plugin Optimize](https://github.com/FidelLimited/serverless-plugin-optimize)**
Bundle with Browserify, transpile with Babel to ES5 and minify with Uglify your Serverless functions. | [FidelLimited](http://github.com/FidelLimited) |
| **[Serverless Plugin Package Dotenv File](https://github.com/ACloudGuru/serverless-plugin-package-dotenv-file)**
A Serverless plugin to copy a .env file into the serverless package | [ACloudGuru](http://github.com/ACloudGuru) |
+| **[Serverless Plugin Parent](https://github.com/aronim/serverless-plugin-parent)**
Serverless Plugin that allows you to keep common configuration in a parent serverless.yml | [aronim](http://github.com/aronim) |
| **[Serverless Plugin Provider Groups](https://github.com/loanmarket/serverless-plugin-provider-groups)**
A plugin to allow management of grouped settings within large serverless projects. | [loanmarket](http://github.com/loanmarket) |
| **[Serverless Plugin Reducer](https://github.com/medikoo/serverless-plugin-reducer)**
Reduce Node.js lambda package so it contains only lambda dependencies | [medikoo](http://github.com/medikoo) |
+| **[Serverless Plugin Registry](https://github.com/aronim/serverless-plugin-registry)**
Serverless plugin to register function names with AWS SSM Parameter Store. | [aronim](http://github.com/aronim) |
| **[Serverless Plugin Scripts](https://github.com/mvila/serverless-plugin-scripts)**
Add scripting capabilities to the Serverless Framework | [mvila](http://github.com/mvila) |
| **[Serverless Plugin Select](https://github.com/FidelLimited/serverless-plugin-select)**
Select which functions are to be deployed based on region and stage. | [FidelLimited](http://github.com/FidelLimited) |
| **[Serverless Plugin Simulate](https://github.com/gertjvr/serverless-plugin-simulate)**
Simulate AWS Lambda and API Gateway locally using Docker | [gertjvr](http://github.com/gertjvr) |
@@ -280,11 +294,13 @@ This table is generated from https://github.com/serverless/plugins/blob/master/p
| **[Serverless Plugin Write Env Vars](https://github.com/silvermine/serverless-plugin-write-env-vars)**
Write environment variables out to a file that is compatible with dotenv | [silvermine](http://github.com/silvermine) |
| **[Serverless Prune Plugin](https://github.com/claygregory/serverless-prune-plugin)**
Deletes old versions of functions from AWS, preserving recent and aliased versions | [claygregory](http://github.com/claygregory) |
| **[Serverless Pseudo Parameters](https://github.com/svdgraaf/serverless-pseudo-parameters)**
Use ${AWS::AccountId} and other cloudformation pseudo parameters in your serverless.yml values | [svdgraaf](http://github.com/svdgraaf) |
+| **[Serverless Puresec Cli](https://github.com/puresec/serverless-puresec-cli)**
Serverless Plugin for magically creating IAM roles that are least privileged per function. | [puresec](http://github.com/puresec) |
| **[Serverless Python Individually](https://github.com/cfchou/serverless-python-individually)**
A serverless framework plugin to install multiple lambda functions written in python | [cfchou](http://github.com/cfchou) |
| **[Serverless Python Requirements](https://github.com/UnitedIncome/serverless-python-requirements)**
Serverless plugin to bundle Python packages | [UnitedIncome](http://github.com/UnitedIncome) |
| **[Serverless Reqvalidator Plugin](https://github.com/RafPe/serverless-reqvalidator-plugin)**
Serverless plugin to add request validator to API Gateway methods | [RafPe](http://github.com/RafPe) |
| **[Serverless Resources Env](https://github.com/rurri/serverless-resources-env)**
After Deploy, this plugin fetches cloudformation resource identifiers and sets them on AWS lambdas, and creates local .-env file | [rurri](http://github.com/rurri) |
| **[Serverless Run Function Plugin](https://github.com/lithin/serverless-run-function-plugin)**
Run serverless function locally | [lithin](http://github.com/lithin) |
+| **[Serverless Rust](https://github.com/softprops/serverless-rust)**
Deploy Rustlang applications to AWS Lambda | [softprops](http://github.com/softprops) |
| **[Serverless S 3 Encryption](https://github.com/tradle/serverless-s3-encryption)**
Set or remove the encryption settings on your s3 buckets | [tradle](http://github.com/tradle) |
| **[Serverless S 3 Remover](https://github.com/sinofseven/serverless-s3-remover)**
A serverless plugin to make s3 buckets empty before deleting cloudformation stack when ```sls remove``` | [sinofseven](http://github.com/sinofseven) |
| **[Serverless S 3 Sync](https://github.com/k1LoW/serverless-s3-sync)**
A plugin to sync local directories and S3 prefixes for Serverless Framework, | [k1LoW](http://github.com/k1LoW) |
@@ -319,8 +335,9 @@ This table is generated from https://github.com/serverless/examples/blob/master/
-->
| Project Name | Author |
| :----------- | :----: |
+| **[AWS Demo Java Spring Cloud Function Serverless](https://github.com/mbsambangi/aws-java-spring-cloud-function-demo)**
If Java is your choice of programming language-Spring Cloud Function,Serverless Framework makes a great technology stack. It boosts developer productivity by decoupling from Vendor specific FaaS API, and deployment activities. | [mbsambangi](http://github.com/mbsambangi) |
| **[Serverless Architecture Boilerplate](https://github.com/msfidelis/serverless-architecture-boilerplate)**
Boilerplate to organize and deploy big projects using Serverless and CloudFormation on AWS | [msfidelis](http://github.com/msfidelis) |
-| **[Babelbot](https://github.com/abiglobalhealth/babelbot)**
Lambda + API Gateway: Zero-to-chatbot in <10 lines of JS. Built-in integrations for Messenger, Telegram, Kik, Line, Twilio, Skype, and Wechat. Or roll your own! | [abiglobalhealth](http://github.com/abiglobalhealth) |
+| **[Bablebot](https://github.com/abiglobalhealth/babelbot)**
Lambda + API Gateway: Zero-to-chatbot in <10 lines of JS. Built-in integrations for Messenger, Telegram, Kik, Line, Twilio, Skype, and Wechat. Or roll your own! | [abiglobalhealth](http://github.com/abiglobalhealth) |
| **[Jwt Authorizr](https://github.com/serverlessbuch/jwtAuthorizr)**
Custom JWT Authorizer Lambda function for Amazon API Gateway with Bearer JWT | [serverlessbuch](http://github.com/serverlessbuch) |
| **[Slack Signup Serverless](https://github.com/dzimine/slack-signup-serverless)**
Serverless signup to Slack and more. Lambda with Python, StepFunctions, and Web front end. Python boilerplate included. | [dzimine](http://github.com/dzimine) |
| **[Serverless Graphql Api](https://github.com/boazdejong/serverless-graphql-api)**
Serverless GraphQL API using Lambda and DynamoDB | [boazdejong](http://github.com/boazdejong) |
@@ -392,8 +409,10 @@ This table is generated from https://github.com/serverless/examples/blob/master/
| **[Serverless Kakao Bot](https://github.com/JisuPark/serverless-kakao-bot)**
Easy development for Kakaotalk Bot with Serverless | [JisuPark](http://github.com/JisuPark) |
| **[Serverless Q A Example](https://github.com/jacksoncharles/serverless-qa-template-api)**
Inspired by the AWS example forum. A multitenancy Q&A template for surveys, forums and more | [jacksoncharles](http://github.com/jacksoncharles) |
| **[Personal Access Tokens Cron Check](https://github.com/madtrick/cfpat-audit)**
Audit for leaked PAT in your Contentful organization. How to use serverless as cronjobs to keep your Personal Access Tokens secure | [madtrick](http://github.com/madtrick) |
-| **[Slack Lunch Club](https://github.com/mikestaub/slack-lunch-club)**
Weekly lunch matches with your slack teams. PWA built with Serverless, React, GraphQL, ArangoDB, and AWS | [mikestaub](http://github.com/mikestaub) |
-| **[Slack GitHub stats bot](https://github.com/threadheap/github-stats-bot)**
Slack bot that returns contributions stats for selected repository. Build with Typescript, React, PhantomJS and Nivo | [pavelvlasov](https://github.com/pavelvlasov) |
+| **[Serverless Sns Api](https://github.com/eddielisc/serverless-sns-api)**
Build a SNS service on AWS, support backend API for SNS by device, by group and by user | [eddielisc](http://github.com/eddielisc) |
+| **[Daily Instance Backups With AMI Rotation](https://github.com/AndrewFarley/AWSAutomatedDailyInstanceAMISnapshots)**
A simple Python application which scans through your entire AWS account for tagged instances, makes daily AMIs of them, and rotates their backups automatically | [AndrewFarley](http://github.com/AndrewFarley) |
+| **[Serverless Instagram Crawler](https://github.com/kimcoder/serverless-instagram-crawler)**
Instagram hashtag Crawler with Lambda & DynamoDB. | [kimcoder](http://github.com/kimcoder) |
+| **[Serving Binary Files](https://github.com/thomastoye/serverless-binary-files-xlsx)**
Small example showing how to serve binary files using Serverless on AWS with the serverless-apigw-binary plugin, using generated Excel files as an example | [thomastoye](http://github.com/thomastoye) |
## Contributing
diff --git a/docs/providers/aws/guide/services.md b/docs/providers/aws/guide/services.md
index 57e2975e9..c5736050b 100644
--- a/docs/providers/aws/guide/services.md
+++ b/docs/providers/aws/guide/services.md
@@ -64,6 +64,7 @@ Here are the available runtimes for AWS Lambda:
* aws-csharp
* aws-fsharp
* aws-go
+* aws-go-dep
Check out the [create command docs](../cli-reference/create) for all the details and options.
diff --git a/lib/plugins/create/templates/aws-go-dep/Makefile b/lib/plugins/create/templates/aws-go-dep/Makefile
index 46a24c449..4e281fb7d 100644
--- a/lib/plugins/create/templates/aws-go-dep/Makefile
+++ b/lib/plugins/create/templates/aws-go-dep/Makefile
@@ -1,4 +1,12 @@
build:
- dep ensure
+ dep ensure -v
env GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go
- env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go
\ No newline at end of file
+ env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go
+
+.PHONY: clean
+clean:
+ rm -rf ./bin ./vendor Gopkg.lock
+
+.PHONY: deploy
+deploy: clean build
+ sls deploy --verbose
diff --git a/lib/plugins/create/templates/aws-go-dep/hello/main.go b/lib/plugins/create/templates/aws-go-dep/hello/main.go
index e75c5af04..2a4d5526f 100644
--- a/lib/plugins/create/templates/aws-go-dep/hello/main.go
+++ b/lib/plugins/create/templates/aws-go-dep/hello/main.go
@@ -1,17 +1,43 @@
package main
import (
+ "bytes"
+ "context"
+ "encoding/json"
+
+ "github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
-type Response struct {
- Message string `json:"message"`
-}
+// Response is of type APIGatewayProxyResponse since we're leveraging the
+// AWS Lambda Proxy Request functionality (default behavior)
+//
+// https://serverless.com/framework/docs/providers/aws/events/apigateway/#lambda-proxy-integration
+type Response events.APIGatewayProxyResponse
-func Handler() (Response, error) {
- return Response{
- Message: "Go Serverless v1.0! Your function executed successfully!",
- }, nil
+// Handler is our lambda handler invoked by the `lambda.Start` function call
+func Handler(ctx context.Context) (Response, error) {
+ var buf bytes.Buffer
+
+ body, err := json.Marshal(map[string]interface{}{
+ "message": "Go Serverless v1.0! Your function executed successfully!",
+ })
+ if err != nil {
+ return Response{StatusCode: 404}, err
+ }
+ json.HTMLEscape(&buf, body)
+
+ resp := Response{
+ StatusCode: 200,
+ IsBase64Encoded: false,
+ Body: buf.String(),
+ Headers: map[string]string{
+ "Content-Type": "application/json",
+ "X-MyCompany-Func-Reply": "hello-handler",
+ },
+ }
+
+ return resp, nil
}
func main() {
diff --git a/lib/plugins/create/templates/aws-go-dep/serverless.yml b/lib/plugins/create/templates/aws-go-dep/serverless.yml
index 768194143..78a9ae602 100644
--- a/lib/plugins/create/templates/aws-go-dep/serverless.yml
+++ b/lib/plugins/create/templates/aws-go-dep/serverless.yml
@@ -16,6 +16,7 @@ service: aws-go-dep # NOTE: update this with your service name
# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
# frameworkVersion: "=X.X.X"
+frameworkVersion: ">=1.28.0 <2.0.0"
provider:
name: aws
@@ -54,8 +55,16 @@ package:
functions:
hello:
handler: bin/hello
+ events:
+ - http:
+ path: hello
+ method: get
world:
handler: bin/world
+ events:
+ - http:
+ path: world
+ method: get
# The following are a few example events you can configure
# NOTE: Please make sure to change your handler code to work with those events
diff --git a/lib/plugins/create/templates/aws-go-dep/world/main.go b/lib/plugins/create/templates/aws-go-dep/world/main.go
index bf46aa6fb..b49d1c4a1 100644
--- a/lib/plugins/create/templates/aws-go-dep/world/main.go
+++ b/lib/plugins/create/templates/aws-go-dep/world/main.go
@@ -1,17 +1,43 @@
package main
import (
+ "bytes"
+ "context"
+ "encoding/json"
+
+ "github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
-type Response struct {
- Message string `json:"message"`
-}
+// Response is of type APIGatewayProxyResponse since we're leveraging the
+// AWS Lambda Proxy Request functionality (default behavior)
+//
+// https://serverless.com/framework/docs/providers/aws/events/apigateway/#lambda-proxy-integration
+type Response events.APIGatewayProxyResponse
-func Handler() (Response, error) {
- return Response{
- Message: "Okay so your other function also executed successfully!",
- }, nil
+// Handler is our lambda handler invoked by the `lambda.Start` function call
+func Handler(ctx context.Context) (Response, error) {
+ var buf bytes.Buffer
+
+ body, err := json.Marshal(map[string]interface{}{
+ "message": "Okay so your other function also executed successfully!",
+ })
+ if err != nil {
+ return Response{StatusCode: 404}, err
+ }
+ json.HTMLEscape(&buf, body)
+
+ resp := Response{
+ StatusCode: 200,
+ IsBase64Encoded: false,
+ Body: buf.String(),
+ Headers: map[string]string{
+ "Content-Type": "application/json",
+ "X-MyCompany-Func-Reply": "world-handler",
+ },
+ }
+
+ return resp, nil
}
func main() {
diff --git a/lib/plugins/create/templates/aws-go/Makefile b/lib/plugins/create/templates/aws-go/Makefile
index 3b697426e..4e281fb7d 100644
--- a/lib/plugins/create/templates/aws-go/Makefile
+++ b/lib/plugins/create/templates/aws-go/Makefile
@@ -1,4 +1,12 @@
build:
- go get github.com/aws/aws-lambda-go/lambda
+ dep ensure -v
env GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go
- env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go
\ No newline at end of file
+ env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go
+
+.PHONY: clean
+clean:
+ rm -rf ./bin ./vendor Gopkg.lock
+
+.PHONY: deploy
+deploy: clean build
+ sls deploy --verbose
diff --git a/lib/plugins/create/templates/aws-go/hello/main.go b/lib/plugins/create/templates/aws-go/hello/main.go
index e75c5af04..2a4d5526f 100644
--- a/lib/plugins/create/templates/aws-go/hello/main.go
+++ b/lib/plugins/create/templates/aws-go/hello/main.go
@@ -1,17 +1,43 @@
package main
import (
+ "bytes"
+ "context"
+ "encoding/json"
+
+ "github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
-type Response struct {
- Message string `json:"message"`
-}
+// Response is of type APIGatewayProxyResponse since we're leveraging the
+// AWS Lambda Proxy Request functionality (default behavior)
+//
+// https://serverless.com/framework/docs/providers/aws/events/apigateway/#lambda-proxy-integration
+type Response events.APIGatewayProxyResponse
-func Handler() (Response, error) {
- return Response{
- Message: "Go Serverless v1.0! Your function executed successfully!",
- }, nil
+// Handler is our lambda handler invoked by the `lambda.Start` function call
+func Handler(ctx context.Context) (Response, error) {
+ var buf bytes.Buffer
+
+ body, err := json.Marshal(map[string]interface{}{
+ "message": "Go Serverless v1.0! Your function executed successfully!",
+ })
+ if err != nil {
+ return Response{StatusCode: 404}, err
+ }
+ json.HTMLEscape(&buf, body)
+
+ resp := Response{
+ StatusCode: 200,
+ IsBase64Encoded: false,
+ Body: buf.String(),
+ Headers: map[string]string{
+ "Content-Type": "application/json",
+ "X-MyCompany-Func-Reply": "hello-handler",
+ },
+ }
+
+ return resp, nil
}
func main() {
diff --git a/lib/plugins/create/templates/aws-go/serverless.yml b/lib/plugins/create/templates/aws-go/serverless.yml
index 47fd73787..9f15448c9 100644
--- a/lib/plugins/create/templates/aws-go/serverless.yml
+++ b/lib/plugins/create/templates/aws-go/serverless.yml
@@ -16,6 +16,7 @@ service: aws-go # NOTE: update this with your service name
# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
# frameworkVersion: "=X.X.X"
+frameworkVersion: ">=1.28.0 <2.0.0"
provider:
name: aws
@@ -54,8 +55,16 @@ package:
functions:
hello:
handler: bin/hello
+ events:
+ - http:
+ path: hello
+ method: get
world:
handler: bin/world
+ events:
+ - http:
+ path: world
+ method: get
# The following are a few example events you can configure
# NOTE: Please make sure to change your handler code to work with those events
diff --git a/lib/plugins/create/templates/aws-go/world/main.go b/lib/plugins/create/templates/aws-go/world/main.go
index bf46aa6fb..b49d1c4a1 100644
--- a/lib/plugins/create/templates/aws-go/world/main.go
+++ b/lib/plugins/create/templates/aws-go/world/main.go
@@ -1,17 +1,43 @@
package main
import (
+ "bytes"
+ "context"
+ "encoding/json"
+
+ "github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
-type Response struct {
- Message string `json:"message"`
-}
+// Response is of type APIGatewayProxyResponse since we're leveraging the
+// AWS Lambda Proxy Request functionality (default behavior)
+//
+// https://serverless.com/framework/docs/providers/aws/events/apigateway/#lambda-proxy-integration
+type Response events.APIGatewayProxyResponse
-func Handler() (Response, error) {
- return Response{
- Message: "Okay so your other function also executed successfully!",
- }, nil
+// Handler is our lambda handler invoked by the `lambda.Start` function call
+func Handler(ctx context.Context) (Response, error) {
+ var buf bytes.Buffer
+
+ body, err := json.Marshal(map[string]interface{}{
+ "message": "Okay so your other function also executed successfully!",
+ })
+ if err != nil {
+ return Response{StatusCode: 404}, err
+ }
+ json.HTMLEscape(&buf, body)
+
+ resp := Response{
+ StatusCode: 200,
+ IsBase64Encoded: false,
+ Body: buf.String(),
+ Headers: map[string]string{
+ "Content-Type": "application/json",
+ "X-MyCompany-Func-Reply": "world-handler",
+ },
+ }
+
+ return resp, nil
}
func main() {