in lib/application-stack.ts [16:50]
constructor(app: App, id: string, props: ApplicationStackProps) {
super(app, id, props);
this.lambdaCode = lambda.Code.fromCfnParameters();
const func = new lambda.Function(this, 'Lambda', {
functionName: 'HelloLambda',
code: this.lambdaCode,
handler: 'index.handler',
runtime: lambda.Runtime.NODEJS_12_X,
environment: {
STAGE_NAME: props.stageName
}
});
new apigateway.LambdaRestApi(this, 'HelloLambdaRestApi', {
handler: func,
endpointExportName: 'HelloLambdaRestApiEmdpoint',
deployOptions: {
stageName: props.stageName
}
});
const version = func.addVersion(new Date().toISOString());
const alias = new lambda.Alias(this, 'LambdaAlias', {
aliasName: props.stageName,
version,
});
new codedeploy.LambdaDeploymentGroup(this, 'DeploymentGroup', {
alias,
deploymentConfig: codedeploy.LambdaDeploymentConfig.ALL_AT_ONCE,
});
}