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: MyCustomServiceprovider: name: aws runtime: java8 stage: ${opt:stage,'test'} region: ${opt:region,'us-east-1'}plugins: - serverless-plugin-conditional-functionsfunctions: 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