aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 1.19 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});const appscaling=require("../../aws-applicationautoscaling"),cdk=require("../../core"),cx_api_1=require("../../cx-api"),lambda=require("../lib");class TestStack extends cdk.Stack{constructor(scope,id){super(scope,id);const fn=new lambda.Function(this,"MyLambda",{code:new lambda.InlineCode("exports.handler = async () => { console.log('hello world'); };"),handler:"index.handler",runtime:lambda.Runtime.NODEJS_14_X}),version=fn.currentVersion,scalingTarget=new lambda.Alias(this,"Alias",{aliasName:"prod",version}).addAutoScaling({minCapacity:3,maxCapacity:50});scalingTarget.scaleOnUtilization({utilizationTarget:.5}),scalingTarget.scaleOnSchedule("ScaleUpInTheMorning",{schedule:appscaling.Schedule.cron({hour:"8",minute:"0"}),minCapacity:20}),scalingTarget.scaleOnSchedule("ScaleDownAtNight",{schedule:appscaling.Schedule.cron({hour:"20",minute:"0"}),maxCapacity:20}),new cdk.CfnOutput(this,"FunctionName",{value:fn.functionName})}}const app=new cdk.App,stack=new TestStack(app,"aws-lambda-autoscaling");cdk.Aspects.of(stack).add(new lambda.FunctionVersionUpgrade(cx_api_1.LAMBDA_RECOGNIZE_LAYER_VERSION)),app.synth();