serverless-plugin-conditional-functions
Version:
Allow to enable/disable each function with an expression
55 lines (47 loc) • 2.06 kB
Markdown
[](https://www.npmjs.com/package/serverless-plugin-conditional-functions)
[](https://travis-ci.org/go-dima/serverless-plugin-conditional-functions)
[](https://www.npmjs.com/package/serverless-plugin-conditional-functions)
[](https://nodei.co/npm/serverless-plugin-conditional-functions/)
# 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
```