# yaml-language-server: $schema=../../../cdk.schema.json Parameters: BucketName: Type: String Stage: Type: String Default: 'Gamma' Conditions: IsProd: !Equals - !Ref Stage - Prod Resources: MyLambda: Type: aws-cdk-lib.aws_lambda.Function Properties: runtime: NODEJS_16_X handler: index.handler memorySize: 10240 code: aws-cdk-lib.aws_lambda.Code.fromBucket: - Ref: 'MyBucket' - 'handler.zip' initialPolicy: - aws-cdk-lib.aws_iam.PolicyStatement.fromJson: - Effect: Allow Action: - s3:GetObject* - s3:PutObject* Resource: - !Ref MyBucket - !Join ['', [!GetAtt MyBucket.Arn, '/*']] MyBucket: Type: aws-cdk-lib.aws_s3.Bucket Properties: bucketName: !Join - '-' - - !Ref 'AWS::Region' - !Ref BucketName - !If - IsProd - !Ref 'AWS::NoValue' - !Ref Stage