Create lambda alias and retain it forever.
When using AWS CDK to create lambda with version and alias, it will retain the latest alias only. See the sample code as blow:
const fn = new lambda.DockerImageFunction(stackTest, 'TestLambda', {
code: lambda.DockerImageCode.fromImageAsset(
path.join(__dirname, '../lambda'),
),
currentVersionOptions: {
removalPolicy: RemovalPolicy.RETAIN,
},
});
fn.currentVersion.addAlias('v1.0.0');
In general, the lambda code will be iterated continuously and the alias will be changed probably ever time, such as v1.0.1
, v1.0.2
, v1.0.3
etc...
AWS CDK don't support to retain old alias now and it support to retain old version only.
npm install cdk-lambda-alias-retention
or
npm install cdk-lambda-alias-retention@latest
or
npm install cdk-lambda-alias-retention@^2.0.0
npm install cdk-lambda-alias-retention@cdkv1
or
npm install cdk-lambda-alias-retention@^1.0.0
new LambdaAliasRetention(stackTest, 'TestLambdaAliasRetention', {
fn,
lambdaAlias: 'v1',
});
Complete sample code is in src/integ.default.ts
It can use context or environemnt variable for lambdaAlias.