0.1.1 • Published 6 years ago
@iesde/serverless-aws-resource-names v0.1.1
serverless-plugin-aws-resource-names
Serverless plugin to enable custom AWS resource names
Usage
Install the plugin to your project:
npm install serverless-aws-resource-names --saveAdd the plugin and its configuration to your serverless project:
plugins:
  - serverless-aws-resource-names
custom:
  serverless-aws-resource-names:
    source: mapping.jsonCreate the mapping.json file in your project and modify the names to your hearts desire!
{
    "template": {
        "compiled": "cloudformation-template-update-stack.json",
        "core": "cloudformation-template-create-stack.json"
    },
    "stack": "$service-$stage",
    "role": {
        "Fn::Join": [
            "-", [
                "$service",
                "$stage",
                "$region",
                "lambdaRole"
            ]
        ]
    },
    "policy": {
        "Fn::Join": [
            "-", [
                "$stage",
                "$service",
                "lambda"
            ]
        ]
    },
    "apiGateway": "$stage-$service",
    "lambda": "$service-$stage-$lambda",
    "logGroup": "/aws/lambda/$service-$stage-$lambda"
}Mapping Variable Reference
- $service - Refers to the service attribute in your serverless.yml
 - $stage - Refers to the stage which you deploy to via serverless e.g. sls deploy -s dev
 - $region - Refers to the AWS region that you are deploying to. This is configured in your serverless.yml under the provider.region attribute or by your AWS CLI configuration.
 - $lambda - Refers to the name of your lambda function, defined in your serverless.yml under the functions attribute.
 - $rand - Globally replaces all instances with a random UUID.
 
Custom Variables
You can define custom variables in your serverless.yml file:
plugins:
  - serverless-aws-resource-names
custom:
  serverless-aws-resource-names:
    source: mapping.json
    variables:
      functionSuffix: funcAnd then use these custom variables in your mapping.json file:
{
    "lambda": "$service-$stage-$lambda-$functionSuffix",
}Here we've defined a custom variable functionSuffix and assigned it the value 'func'.
This will append the string 'func' to all of your Lambda function names.