Serverless Select Resource Plugin
Select which resources are to be deployed based on region and stage. Only tested with AWS.
This plugin was originally forked from serverless-plugin-select. Difference between them is serverless-plugin-select
is for filtering functions and this plugin is for filtering AWS resources while deploying.
Note: Requires Serverless v1.12.x or higher.
Setup
Install via npm in the root of your Serverless service:
npm install serverless-plugin-select-resource --save-dev
- Add the plugin to the
plugins
array in your Serverlessserverless.yml
, you should place it at the top of the list:
plugins: - serverless-plugin-select-resource - ...
-
Add
regions
orstages
in your resources to select for deployment -
Run deploy command
sls deploy --stage [STAGE NAME] --region [REGION NAME]
-
Resources will be deployed based on your selection
-
All done!
Function
-
How it works? When deployment region or stage don't match resources regions or stages, that function will be deleted from deployment.
-
regions - Resource accepted deployment regions.
resources: Resources: AwesomeQueueInSingleRegion: Type: AWS::SQS::Queue Properties: QueueName: awesome-queue-in-single-region regions: - 'eu-central-1' - ...
- stages - Resource accepted deployment stages.
resources: Resources: AwesomeQueueInSingleStage: Type: AWS::SQS::Queue Properties: QueueName: awesome-queue-in-single-stage stages: - dev - prod
Contribute
Help us making this plugin better and future proof.
- Clone the code
- Install the dependencies with
npm install
- Create a feature branch
git checkout -b new_feature
- Lint with standard
npm run lint
License
This software is released under the MIT license. See the license file for more details.