Serverless Plugin Conditional Functions
This plugin allows you to add a custom condition to each function in your serverless.yml
, to toggle the deployment of your functions.
Effectively, it allows a simple feature-flag per function.
For example, if you want to deploy a function for testing only, but don't want it in production, or vice-versa.
The attribute supports simple true/false
usage or more complex (see below) conditions.
Installation
npm i serverless-plugin-conditional-functions --save-dev
Example
service: MyCustomService
provider:
name: aws
runtime: java8
stage: ${opt:stage,'test'}
region: ${opt:region,'us-east-1'}
plugins:
- serverless-plugin-conditional-functions
functions:
func1:
enabled: '"${self:provider.stage}" == "prod"'
handler: com.example.functions.Func1Handler
events:
- http:
path: func1
method: GET
integration: lambda
func2:
enabled: '"${self:provider.stage}" != "prod"'
handler: com.example.functions.Func2Handler
events:
- http:
path: func2
method: GET
integration: lambda
func3:
enabled: 'false'
handler: com.example.functions.Func3Handler
events:
- http:
path: func3
method: GET
integration: lambda