Serverless framework plugin for applying a standard identification tag to AWS Lambda functions
npm install serverless-plugin-nametag
A Serverless framework plugin for tagging AWS Lambda functions with the logical ID of the Lambda function resource.
The following Serverless configuration will apply a Name tag to the MyFunction Lambda function
resource that evaluates to its configured FunctionName (physical ID):
``yaml
service: my-service
plugins:
- serverless-plugin-nametag
provider:
name: aws
stage: dev
region: us-east-1
runtime: python3.6
custom:
nametag:
tag: true
functions:
MyFunction:
handler: handlers.my_function
`
In the case of most normal setups, the resulting function will be tagged with Name: my-service-dev-MyFunction.
`yaml
service: my-service
plugins:
- serverless-plugin-nametag
provider:
name: aws
stage: dev
region: us-east-1
runtime: python3.6
custom:
nametag:
tag: true
tagName: FunctionName
functions:
MyFunction:
handler: handlers.my_function
SpecialFunction:
handler: handlers.special_function
tags:
Foo: bar
nametag:
tagName: Special
UntaggedFunction:
handler: handlers.untagged_function
nametag:
tag: false
`
In the case of most normal setups, the resulting functions will be tagged as-follows:
* MyFunction:FunctionName: my-service-dev-MyFunction
* SpecialFunction
* :Foo: bar
* Special: my-service-dev-SpecialFunction
* UntaggedFunction
* :
* Nothing!
The following properties can be set on a nametag object within custom and/or each function described in yourcustom
Serverless configuration. Options set in define the default behavior for each function; options setcustom
at the function level override options for that function.
| Option | Type | Default | Description |
| ------------- | ------- | -------- | ------------------------------------------------------------------ |
| custom.nametag.tag | boolean | false | Whether all function(s) should be tagged by default | custom.nametag.tagName
| | string | "Name" | The name of the tag that will be created on all functions by default |functions[].nametag.tag
| | boolean | (set by custom.nametag.tag) | Whether this function should be tagged |functions[].nametag.tagName
| | string | (set by custom.nametag.tagName) | The name of the tag that will be created on this function |
Note that the tagName option is for setting the name of the _tag_, not its value!
This plugin is executed during the Serverless framework's before:package:compileFunctions hook event.FunctionName
It copies the value that Serverless plans to use as the property for each function's resultingName` by default, but can be
CloudFormation configuration object and applies it as the value of a tag (called
customized to whatever you like) on the same function.
- Have an idea or a problem? Create an issue! It's usually best to start by doing this.
- Fork this repository and submit a pull request if you have a fix or feature you want to be considered.