I create CloudFormation template for my AWS Lambda function and I need to specify different values of environment variables for different lambda aliases. My template looks like:

AWSTemplateFormatVersion: "2010-09-09" Transform: "AWS::Serverless-2016-10-31" Description: Lambda function configuration Resources: EndpointLambda: Type: "AWS::Lambda::Function" Properties: FunctionName: "endpoint-lambda" Handler: "com.test.aws.RequestHandler::handleRequest" Runtime: java8 Code: S3Bucket: "lambda-functions" S3Key: "test-endpoint-lambda-0.0.1.jar" Description: Test Lambda function MemorySize: 256 Timeout: 60 Environment: Variables: ES_HOST: test-es-host-url ES_ON: true ES_PORT: 443 ES_PROTOCOL: https REDIS_URL: test-redis-host-url QaLambdaAlias: Type: "AWS::Lambda::Alias" Properties: FunctionName: !Ref EndpointLambda FunctionVersion: 1 Name: "QA" Description: "QA alias" ProdLambdaAlias: Type: "AWS::Lambda::Alias" Properties: FunctionName: !Ref EndpointLambda FunctionVersion: 1 Name: "Prod" Description: "Production alias"

As you see, I have two aliases - QA and Prod and bunch of environment variables. I specified variables with common values in lambda function declaration. But I need to declare for QA alias env. variable's values related to QA, and for Prod alias - values for Prod environment. Any ideas how can I do that?