From 613b7debdbeb2cec73e85d807160e9431799eb09 Mon Sep 17 00:00:00 2001 From: Amir Szekely Date: Thu, 22 Feb 2024 11:49:44 -0500 Subject: [PATCH] feat: Set compatible runtime and architecture of layers (#130) This should help avoid accidental uses of the layer with the wrong Lambda. It will also make the layer easier to spot in the UI. --- src/base.ts | 31 +- .../Turbo-Layer-Test.assets.json | 4 +- .../Turbo-Layer-Test.template.json | 460 ++++++++++++++---- 3 files changed, 389 insertions(+), 106 deletions(-) diff --git a/src/base.ts b/src/base.ts index e595836..dfb647c 100644 --- a/src/base.ts +++ b/src/base.ts @@ -130,14 +130,15 @@ export class BaseDependencyPackager extends Construct implements iam.IGrantable, private readonly provider: lambda.Function; private readonly targetDirectory: string; private readonly type: DependencyPackagerType; + private readonly runtime: lambda.Runtime; private readonly architecture: lambda.Architecture; constructor(scope: Construct, id: string, readonly internalProps: InternalBaseDependencyPackagerProps) { super(scope, id); - const runtime = internalProps.props?.runtime ?? internalProps.defaultRuntime; - if (runtime.family != internalProps.runtimeFamily) { - throw new Error(`PythonDependencyPackager requires python runtime, got ${runtime.family}`); + this.runtime = internalProps.props?.runtime ?? internalProps.defaultRuntime; + if (this.runtime.family != internalProps.runtimeFamily) { + throw new Error(`PythonDependencyPackager requires python runtime, got ${this.runtime.family}`); } this.packagesBucket = new s3.Bucket(this, 'Bucket', { @@ -163,7 +164,7 @@ export class BaseDependencyPackager extends Construct implements iam.IGrantable, ); this.project = new codebuild.Project(this, 'Packager', { - description: `Lambda dependency packager for ${runtime} in ${Stack.of(this).stackName}`, + description: `Lambda dependency packager for ${this.runtime} in ${Stack.of(this).stackName}`, vpc: internalProps.props?.vpc, subnetSelection: internalProps.props?.subnetSelection, environment: { @@ -192,7 +193,7 @@ export class BaseDependencyPackager extends Construct implements iam.IGrantable, this.grantPrincipal = this.project.grantPrincipal; this.provider = new PackageCodebuildFunction(this, 'Package Handler', { - description: `Turbo layer packager for ${runtime} using CodeBuild`, + description: `Turbo layer packager for ${this.runtime} using CodeBuild`, initialPolicy: [ new iam.PolicyStatement({ actions: ['codebuild:StartBuild'], @@ -206,8 +207,8 @@ export class BaseDependencyPackager extends Construct implements iam.IGrantable, this.packagesBucket.grantDelete(this.provider); } else if (this.type == DependencyPackagerType.LAMBDA) { const lambdaProps = { - description: `Turbo layer packager for ${runtime}`, - runtime: runtime, + description: `Turbo layer packager for ${this.runtime}`, + runtime: this.runtime, timeout: Duration.minutes(15), memorySize: 1024, ephemeralStorageSize: Size.gibibytes(10), @@ -218,19 +219,19 @@ export class BaseDependencyPackager extends Construct implements iam.IGrantable, // TODO for CodeArtifact login -- layers: [new lambda_layer_awscli.AwsCliLayer(this, 'AWS CLI Layer')], }; - if (runtime.family == lambda.RuntimeFamily.PYTHON) { + if (this.runtime.family == lambda.RuntimeFamily.PYTHON) { this.provider = new PackagePythonFunction(this, 'Packager', lambdaProps); - } else if (runtime.family == lambda.RuntimeFamily.NODEJS) { + } else if (this.runtime.family == lambda.RuntimeFamily.NODEJS) { this.provider = new PackageNodejsFunction(this, 'Packager', lambdaProps); // we can't set the runtime from here, so we have to manually override it. // projen puts `...props` before its own `runtime` setting and so its default `runtime` always wins. // https://github.com/projen/projen/blob/564341a55309e06939c86248bc76cabc590fd835/src/awscdk/lambda-function.ts#L253-L256 const func = this.provider.node.defaultChild as lambda.CfnFunction; - func.runtime = runtime.name; - } else if (runtime.family == lambda.RuntimeFamily.RUBY) { + func.runtime = this.runtime.name; + } else if (this.runtime.family == lambda.RuntimeFamily.RUBY) { this.provider = new PackageRubyFunction(this, 'Packager', lambdaProps); } else { - throw new Error(`Runtime doesn't support Lambda packager: ${runtime}`); + throw new Error(`Runtime doesn't support Lambda packager: ${this.runtime}`); } this.connections = internalProps.props?.vpc ? this.provider.connections : new ec2.Connections(); this.grantPrincipal = this.provider.grantPrincipal; @@ -270,6 +271,8 @@ export class BaseDependencyPackager extends Construct implements iam.IGrantable, codeBuildRuntimeInstallCommands: this.internalProps.codeBuildRuntimeInstallCommands, commands: commands, targetDirectory: this.targetDirectory, + runtime: this.runtime, + architecture: this.architecture, }).layer; } @@ -306,6 +309,8 @@ interface LambdaDependencyLayerProps { readonly preinstallCommands: string[]; readonly commands: string[]; readonly targetDirectory: string; + readonly runtime: lambda.Runtime; + readonly architecture: lambda.Architecture; } class LambdaDependencyLayer extends Construct { @@ -353,6 +358,8 @@ class LambdaDependencyLayer extends Construct { this.layer = new lambda.LayerVersion(this, 'Layer', { description: `Automatically generated by turbo layers for ${asset}`, code: lambda.Code.fromBucket(props.packagesBucket, cr.ref), + compatibleRuntimes: [props.runtime], + compatibleArchitectures: [props.architecture], }); } } \ No newline at end of file diff --git a/test/default.integ.snapshot/Turbo-Layer-Test.assets.json b/test/default.integ.snapshot/Turbo-Layer-Test.assets.json index c8b8741..887d418 100644 --- a/test/default.integ.snapshot/Turbo-Layer-Test.assets.json +++ b/test/default.integ.snapshot/Turbo-Layer-Test.assets.json @@ -235,7 +235,7 @@ } } }, - "7c43bb9edc548982711188852801fa895f32e6b62602fad42b583535e3ca78df": { + "8b844d42061b7dd7e46eb3b329d857158ab25ebb42fba2f7e08c7c0e539b618c": { "source": { "path": "Turbo-Layer-Test.template.json", "packaging": "file" @@ -243,7 +243,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "7c43bb9edc548982711188852801fa895f32e6b62602fad42b583535e3ca78df.json", + "objectKey": "8b844d42061b7dd7e46eb3b329d857158ab25ebb42fba2f7e08c7c0e539b618c.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/test/default.integ.snapshot/Turbo-Layer-Test.template.json b/test/default.integ.snapshot/Turbo-Layer-Test.template.json index af95283..f0ba0fc 100644 --- a/test/default.integ.snapshot/Turbo-Layer-Test.template.json +++ b/test/default.integ.snapshot/Turbo-Layer-Test.template.json @@ -620,6 +620,12 @@ "Ref": "Python39CodeBuildx64PackagerinlineLayerPackagerA5CE79BF" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild x64/Packager/inline/Dependencies Definition" } }, @@ -678,6 +684,12 @@ "Ref": "Python39CodeBuildx64PackagerreqtxtLayerPackager1D694C79" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild x64/Packager/req.txt/Dependencies Definition" } }, @@ -737,6 +749,12 @@ "Ref": "Python39CodeBuildx64PackagerpipenvLayerPackagerBB9315FE" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild x64/Packager/pipenv/Dependencies Definition" } }, @@ -797,6 +815,12 @@ "Ref": "Python39CodeBuildx64PackagerpoetryLayerPackagerA81F3B6F" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild x64/Packager/poetry/Dependencies Definition" } }, @@ -893,7 +917,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildx64InlineCurrentVersion8E229689b6c273a2645b8132bf4cb3ecdca84688" + "Ref": "Python39CodeBuildx64InlineCurrentVersion8E229689b5dc059a77246a12a7f1771a4ef85856" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -901,7 +925,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildx64InlineCurrentVersion8E229689b6c273a2645b8132bf4cb3ecdca84688": { + "Python39CodeBuildx64InlineCurrentVersion8E229689b5dc059a77246a12a7f1771a4ef85856": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -1002,7 +1026,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildx64RequirementstxtCurrentVersion0CD6A9FE8d6ca871b66dbe1ad3f9183344fd4e89" + "Ref": "Python39CodeBuildx64RequirementstxtCurrentVersion0CD6A9FEf1de6fef4ff189ca14e181f224059ef4" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -1010,7 +1034,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildx64RequirementstxtCurrentVersion0CD6A9FE8d6ca871b66dbe1ad3f9183344fd4e89": { + "Python39CodeBuildx64RequirementstxtCurrentVersion0CD6A9FEf1de6fef4ff189ca14e181f224059ef4": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -1111,7 +1135,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildx64PipenvCurrentVersion04B1F3D853afc114172819087e224301688f1f87" + "Ref": "Python39CodeBuildx64PipenvCurrentVersion04B1F3D8865b9dee33dd7040736a5af39fd39b2f" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -1119,7 +1143,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildx64PipenvCurrentVersion04B1F3D853afc114172819087e224301688f1f87": { + "Python39CodeBuildx64PipenvCurrentVersion04B1F3D8865b9dee33dd7040736a5af39fd39b2f": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -1220,7 +1244,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildx64PoetryCurrentVersion16CA06AA938980b9c7da3cb0408cb49b11e8eb7c" + "Ref": "Python39CodeBuildx64PoetryCurrentVersion16CA06AA3b9cf16ee08ca1eb331db213f34a86a3" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -1228,7 +1252,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildx64PoetryCurrentVersion16CA06AA938980b9c7da3cb0408cb49b11e8eb7c": { + "Python39CodeBuildx64PoetryCurrentVersion16CA06AA3b9cf16ee08ca1eb331db213f34a86a3": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -2824,6 +2848,12 @@ "Ref": "Python39Lambdax64PackagerinlineLayerPackagerCAFB1F5F" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda x64/Packager/inline/Dependencies Definition" } }, @@ -2876,6 +2906,12 @@ "Ref": "Python39Lambdax64PackagerreqtxtLayerPackager129C29F2" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda x64/Packager/req.txt/Dependencies Definition" } }, @@ -2929,6 +2965,12 @@ "Ref": "Python39Lambdax64PackagerpipenvLayerPackagerE033C82C" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda x64/Packager/pipenv/Dependencies Definition" } }, @@ -2983,6 +3025,12 @@ "Ref": "Python39Lambdax64PackagerpoetryLayerPackager882E0F46" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda x64/Packager/poetry/Dependencies Definition" } }, @@ -3079,7 +3127,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdax64InlineCurrentVersion46749F9506daad0a7306cd0939aa488224746abb" + "Ref": "Python39Lambdax64InlineCurrentVersion46749F9544d7b63ef1af7b5bbe284d20c8730e9b" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -3087,7 +3135,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdax64InlineCurrentVersion46749F9506daad0a7306cd0939aa488224746abb": { + "Python39Lambdax64InlineCurrentVersion46749F9544d7b63ef1af7b5bbe284d20c8730e9b": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -3188,7 +3236,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdax64RequirementstxtCurrentVersionC6393FABa61c349429c72664ce0ae2b2c72a33d5" + "Ref": "Python39Lambdax64RequirementstxtCurrentVersionC6393FAB9f519aaddb0553a565a56dc4b8e2e004" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -3196,7 +3244,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdax64RequirementstxtCurrentVersionC6393FABa61c349429c72664ce0ae2b2c72a33d5": { + "Python39Lambdax64RequirementstxtCurrentVersionC6393FAB9f519aaddb0553a565a56dc4b8e2e004": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -3297,7 +3345,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdax64PipenvCurrentVersion7A03D4DF12e614adc426de3093110c4b4e2643a9" + "Ref": "Python39Lambdax64PipenvCurrentVersion7A03D4DFb28856b344a58e0a56e05e96204f9223" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -3305,7 +3353,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdax64PipenvCurrentVersion7A03D4DF12e614adc426de3093110c4b4e2643a9": { + "Python39Lambdax64PipenvCurrentVersion7A03D4DFb28856b344a58e0a56e05e96204f9223": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -3406,7 +3454,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdax64PoetryCurrentVersionA55B8995b04624fcddea94bb350e930625399061" + "Ref": "Python39Lambdax64PoetryCurrentVersionA55B89953d0877ff1fed2fd95bef8c29e17e0e2f" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -3414,7 +3462,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdax64PoetryCurrentVersionA55B8995b04624fcddea94bb350e930625399061": { + "Python39Lambdax64PoetryCurrentVersionA55B89953d0877ff1fed2fd95bef8c29e17e0e2f": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -4042,6 +4090,12 @@ "Ref": "Python39CodeBuildarm64PackagerinlineLayerPackagerB5CE670D" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild arm64/Packager/inline/Dependencies Definition" } }, @@ -4100,6 +4154,12 @@ "Ref": "Python39CodeBuildarm64PackagerreqtxtLayerPackagerAFB714F5" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild arm64/Packager/req.txt/Dependencies Definition" } }, @@ -4159,6 +4219,12 @@ "Ref": "Python39CodeBuildarm64PackagerpipenvLayerPackager24ADF96B" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild arm64/Packager/pipenv/Dependencies Definition" } }, @@ -4219,6 +4285,12 @@ "Ref": "Python39CodeBuildarm64PackagerpoetryLayerPackager12C68C85" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 CodeBuild arm64/Packager/poetry/Dependencies Definition" } }, @@ -4315,7 +4387,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildarm64InlineCurrentVersion1C2763DD16431404d31c051f23ef0c260c95372e" + "Ref": "Python39CodeBuildarm64InlineCurrentVersion1C2763DD5177cb95b72c01f8b25ed0c92401340c" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -4323,7 +4395,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildarm64InlineCurrentVersion1C2763DD16431404d31c051f23ef0c260c95372e": { + "Python39CodeBuildarm64InlineCurrentVersion1C2763DD5177cb95b72c01f8b25ed0c92401340c": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -4424,7 +4496,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildarm64RequirementstxtCurrentVersion2699FAC11a21b23e86b2451dc0022cf32648596b" + "Ref": "Python39CodeBuildarm64RequirementstxtCurrentVersion2699FAC1c83d7db207be4cbcc56ceecf8abbdd1a" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -4432,7 +4504,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildarm64RequirementstxtCurrentVersion2699FAC11a21b23e86b2451dc0022cf32648596b": { + "Python39CodeBuildarm64RequirementstxtCurrentVersion2699FAC1c83d7db207be4cbcc56ceecf8abbdd1a": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -4533,7 +4605,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildarm64PipenvCurrentVersion7C5C3DE5dbd6d481be901564ba2c37b44ac7c2ea" + "Ref": "Python39CodeBuildarm64PipenvCurrentVersion7C5C3DE5dc5cf203060d2bfa743e859d939fe8cf" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -4541,7 +4613,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildarm64PipenvCurrentVersion7C5C3DE5dbd6d481be901564ba2c37b44ac7c2ea": { + "Python39CodeBuildarm64PipenvCurrentVersion7C5C3DE5dc5cf203060d2bfa743e859d939fe8cf": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -4642,7 +4714,7 @@ ] }, "HandlerArn": { - "Ref": "Python39CodeBuildarm64PoetryCurrentVersionF00D3CBF0cc11af9697d243bd866f6ef5666e2ee" + "Ref": "Python39CodeBuildarm64PoetryCurrentVersionF00D3CBF45e9580704141cb12385db20f2a7972c" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -4650,7 +4722,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39CodeBuildarm64PoetryCurrentVersionF00D3CBF0cc11af9697d243bd866f6ef5666e2ee": { + "Python39CodeBuildarm64PoetryCurrentVersionF00D3CBF45e9580704141cb12385db20f2a7972c": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -5034,6 +5106,12 @@ "Ref": "Python39Lambdaarm64PackagerinlineLayerPackagerA8AA9A12" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda arm64/Packager/inline/Dependencies Definition" } }, @@ -5086,6 +5164,12 @@ "Ref": "Python39Lambdaarm64PackagerreqtxtLayerPackager9A543933" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda arm64/Packager/req.txt/Dependencies Definition" } }, @@ -5139,6 +5223,12 @@ "Ref": "Python39Lambdaarm64PackagerpipenvLayerPackagerC384231B" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda arm64/Packager/pipenv/Dependencies Definition" } }, @@ -5193,6 +5283,12 @@ "Ref": "Python39Lambdaarm64PackagerpoetryLayerPackager41CF3643" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "python3.9" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Python 3.9 Lambda arm64/Packager/poetry/Dependencies Definition" } }, @@ -5289,7 +5385,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdaarm64InlineCurrentVersion648F3EAD3208f9ee4051d10437aa67002a779e92" + "Ref": "Python39Lambdaarm64InlineCurrentVersion648F3EAD5552cf995e79d58448202e886dcc3305" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -5297,7 +5393,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdaarm64InlineCurrentVersion648F3EAD3208f9ee4051d10437aa67002a779e92": { + "Python39Lambdaarm64InlineCurrentVersion648F3EAD5552cf995e79d58448202e886dcc3305": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -5398,7 +5494,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdaarm64RequirementstxtCurrentVersionDFC586E4a3a851609d00ee657bd7ad1b07316691" + "Ref": "Python39Lambdaarm64RequirementstxtCurrentVersionDFC586E455661f1bda4d1d43729d2e729e4cb602" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -5406,7 +5502,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdaarm64RequirementstxtCurrentVersionDFC586E4a3a851609d00ee657bd7ad1b07316691": { + "Python39Lambdaarm64RequirementstxtCurrentVersionDFC586E455661f1bda4d1d43729d2e729e4cb602": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -5507,7 +5603,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdaarm64PipenvCurrentVersion33F35411175afb1e36ea6bec96b7bbe80c1bb7cb" + "Ref": "Python39Lambdaarm64PipenvCurrentVersion33F3541184ed4beef0e2c65119a1b76b65834218" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -5515,7 +5611,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdaarm64PipenvCurrentVersion33F35411175afb1e36ea6bec96b7bbe80c1bb7cb": { + "Python39Lambdaarm64PipenvCurrentVersion33F3541184ed4beef0e2c65119a1b76b65834218": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -5616,7 +5712,7 @@ ] }, "HandlerArn": { - "Ref": "Python39Lambdaarm64PoetryCurrentVersion3F8E973De22515b8a6351d487aa61e90d1778dba" + "Ref": "Python39Lambdaarm64PoetryCurrentVersion3F8E973D61cd87e86aa3cbbae41b0161b075414d" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -5624,7 +5720,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Python39Lambdaarm64PoetryCurrentVersion3F8E973De22515b8a6351d487aa61e90d1778dba": { + "Python39Lambdaarm64PoetryCurrentVersion3F8E973D61cd87e86aa3cbbae41b0161b075414d": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -6259,6 +6355,12 @@ "Ref": "Nodejs16CodeBuildx64PackagernpminlineLayerPackager25D258D0" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 CodeBuild x64/Packager/npm inline/Dependencies Definition" } }, @@ -6324,6 +6426,12 @@ "Ref": "Nodejs16CodeBuildx64PackagernpmLayerPackager44D440F3" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 CodeBuild x64/Packager/npm/Dependencies Definition" } }, @@ -6390,6 +6498,12 @@ "Ref": "Nodejs16CodeBuildx64PackageryarnLayerPackager68AE3CFC" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 CodeBuild x64/Packager/yarn/Dependencies Definition" } }, @@ -6486,7 +6600,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16CodeBuildx64NPMInlineTestCurrentVersion9029D80B72643b87cd4a0a33a1c91cd8aa2d6f78" + "Ref": "Nodejs16CodeBuildx64NPMInlineTestCurrentVersion9029D80B47f44f90586531f0e14da62ced4f9722" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -6494,7 +6608,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16CodeBuildx64NPMInlineTestCurrentVersion9029D80B72643b87cd4a0a33a1c91cd8aa2d6f78": { + "Nodejs16CodeBuildx64NPMInlineTestCurrentVersion9029D80B47f44f90586531f0e14da62ced4f9722": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -6595,7 +6709,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16CodeBuildx64NPMTestCurrentVersion427F4D5D0a5d91efb46c688d61a68a7158e94079" + "Ref": "Nodejs16CodeBuildx64NPMTestCurrentVersion427F4D5D8304c5cdf2afe047b3e5f0117ccfc89e" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -6603,7 +6717,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16CodeBuildx64NPMTestCurrentVersion427F4D5D0a5d91efb46c688d61a68a7158e94079": { + "Nodejs16CodeBuildx64NPMTestCurrentVersion427F4D5D8304c5cdf2afe047b3e5f0117ccfc89e": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -6704,7 +6818,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16CodeBuildx64YarnTestCurrentVersion368F691927c660547403d63e408cee239d51fe07" + "Ref": "Nodejs16CodeBuildx64YarnTestCurrentVersion368F69192e10da616600bf644248d625f3b401ca" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -6712,7 +6826,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16CodeBuildx64YarnTestCurrentVersion368F691927c660547403d63e408cee239d51fe07": { + "Nodejs16CodeBuildx64YarnTestCurrentVersion368F69192e10da616600bf644248d625f3b401ca": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -7100,6 +7214,12 @@ "Ref": "Nodejs16Lambdax64PackagernpminlineLayerPackagerD8DD4AAC" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 Lambda x64/Packager/npm inline/Dependencies Definition" } }, @@ -7151,6 +7271,12 @@ "Ref": "Nodejs16Lambdax64PackagernpmLayerPackagerBBCED81A" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 Lambda x64/Packager/npm/Dependencies Definition" } }, @@ -7203,6 +7329,12 @@ "Ref": "Nodejs16Lambdax64PackageryarnLayerPackagerD756C5FA" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 Lambda x64/Packager/yarn/Dependencies Definition" } }, @@ -7299,7 +7431,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16Lambdax64NPMInlineTestCurrentVersion81D00AE8214b8dc7dfb54666a4172219085e376f" + "Ref": "Nodejs16Lambdax64NPMInlineTestCurrentVersion81D00AE80c0e88ab941abd72915eb45f19bba892" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -7307,7 +7439,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16Lambdax64NPMInlineTestCurrentVersion81D00AE8214b8dc7dfb54666a4172219085e376f": { + "Nodejs16Lambdax64NPMInlineTestCurrentVersion81D00AE80c0e88ab941abd72915eb45f19bba892": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -7408,7 +7540,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16Lambdax64NPMTestCurrentVersion5AA14CDDfa7f5f6940099d0b3906e72266b52b6b" + "Ref": "Nodejs16Lambdax64NPMTestCurrentVersion5AA14CDDddd91c99079ae255fa4c02de2caf949a" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -7416,7 +7548,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16Lambdax64NPMTestCurrentVersion5AA14CDDfa7f5f6940099d0b3906e72266b52b6b": { + "Nodejs16Lambdax64NPMTestCurrentVersion5AA14CDDddd91c99079ae255fa4c02de2caf949a": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -7517,7 +7649,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16Lambdax64YarnTestCurrentVersion06653CDFf07d02a35d9c67577b368344d06954e6" + "Ref": "Nodejs16Lambdax64YarnTestCurrentVersion06653CDF52d67720ab3b91d9532bf07143f704bd" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -7525,7 +7657,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16Lambdax64YarnTestCurrentVersion06653CDFf07d02a35d9c67577b368344d06954e6": { + "Nodejs16Lambdax64YarnTestCurrentVersion06653CDF52d67720ab3b91d9532bf07143f704bd": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -8160,6 +8292,12 @@ "Ref": "Nodejs18CodeBuildx64PackagernpminlineLayerPackager79881939" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 CodeBuild x64/Packager/npm inline/Dependencies Definition" } }, @@ -8225,6 +8363,12 @@ "Ref": "Nodejs18CodeBuildx64PackagernpmLayerPackagerE0D2463D" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 CodeBuild x64/Packager/npm/Dependencies Definition" } }, @@ -8291,6 +8435,12 @@ "Ref": "Nodejs18CodeBuildx64PackageryarnLayerPackager8743448C" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 CodeBuild x64/Packager/yarn/Dependencies Definition" } }, @@ -8387,7 +8537,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18CodeBuildx64NPMInlineTestCurrentVersionE48C67B30c963553a3626b5b4d1395eadadbb397" + "Ref": "Nodejs18CodeBuildx64NPMInlineTestCurrentVersionE48C67B3fe72071906908cfcf87bed5d277649a0" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -8395,7 +8545,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18CodeBuildx64NPMInlineTestCurrentVersionE48C67B30c963553a3626b5b4d1395eadadbb397": { + "Nodejs18CodeBuildx64NPMInlineTestCurrentVersionE48C67B3fe72071906908cfcf87bed5d277649a0": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -8496,7 +8646,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18CodeBuildx64NPMTestCurrentVersion29B98C8D4efcd658efee985453a6c6518becf5a3" + "Ref": "Nodejs18CodeBuildx64NPMTestCurrentVersion29B98C8Da92e48096048d097f746cb760b01c17f" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -8504,7 +8654,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18CodeBuildx64NPMTestCurrentVersion29B98C8D4efcd658efee985453a6c6518becf5a3": { + "Nodejs18CodeBuildx64NPMTestCurrentVersion29B98C8Da92e48096048d097f746cb760b01c17f": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -8605,7 +8755,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18CodeBuildx64YarnTestCurrentVersion3F1CDDA96202f5f1abb09f05e151df2e09e608b8" + "Ref": "Nodejs18CodeBuildx64YarnTestCurrentVersion3F1CDDA9447e126b7ace865c2dda479749223dcb" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -8613,7 +8763,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18CodeBuildx64YarnTestCurrentVersion3F1CDDA96202f5f1abb09f05e151df2e09e608b8": { + "Nodejs18CodeBuildx64YarnTestCurrentVersion3F1CDDA9447e126b7ace865c2dda479749223dcb": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -9001,6 +9151,12 @@ "Ref": "Nodejs18Lambdax64PackagernpminlineLayerPackager032EDFE8" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 Lambda x64/Packager/npm inline/Dependencies Definition" } }, @@ -9052,6 +9208,12 @@ "Ref": "Nodejs18Lambdax64PackagernpmLayerPackager85C43DA4" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 Lambda x64/Packager/npm/Dependencies Definition" } }, @@ -9104,6 +9266,12 @@ "Ref": "Nodejs18Lambdax64PackageryarnLayerPackagerEBE61A61" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 Lambda x64/Packager/yarn/Dependencies Definition" } }, @@ -9200,7 +9368,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18Lambdax64NPMInlineTestCurrentVersion469B51C154d1b96c4f0455e1e232c38ad125c1be" + "Ref": "Nodejs18Lambdax64NPMInlineTestCurrentVersion469B51C1e0c57744106efc85e26ca0025f77d297" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -9208,7 +9376,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18Lambdax64NPMInlineTestCurrentVersion469B51C154d1b96c4f0455e1e232c38ad125c1be": { + "Nodejs18Lambdax64NPMInlineTestCurrentVersion469B51C1e0c57744106efc85e26ca0025f77d297": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -9309,7 +9477,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18Lambdax64NPMTestCurrentVersionA0FD6CC65ae7c018202823327812b3acbd71bf6d" + "Ref": "Nodejs18Lambdax64NPMTestCurrentVersionA0FD6CC6f7c6619784c248f41880161c6dbe76a9" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -9317,7 +9485,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18Lambdax64NPMTestCurrentVersionA0FD6CC65ae7c018202823327812b3acbd71bf6d": { + "Nodejs18Lambdax64NPMTestCurrentVersionA0FD6CC6f7c6619784c248f41880161c6dbe76a9": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -9418,7 +9586,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18Lambdax64YarnTestCurrentVersionD8099DA476daa5c73be678a82efdd3e48092bf68" + "Ref": "Nodejs18Lambdax64YarnTestCurrentVersionD8099DA489f7e8a122eb6fd45bce5d078d9869bb" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -9426,7 +9594,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18Lambdax64YarnTestCurrentVersionD8099DA476daa5c73be678a82efdd3e48092bf68": { + "Nodejs18Lambdax64YarnTestCurrentVersionD8099DA489f7e8a122eb6fd45bce5d078d9869bb": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -10061,6 +10229,12 @@ "Ref": "Nodejs16CodeBuildarm64PackagernpminlineLayerPackagerCE1C72B6" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 CodeBuild arm64/Packager/npm inline/Dependencies Definition" } }, @@ -10126,6 +10300,12 @@ "Ref": "Nodejs16CodeBuildarm64PackagernpmLayerPackagerCF48D67A" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 CodeBuild arm64/Packager/npm/Dependencies Definition" } }, @@ -10192,6 +10372,12 @@ "Ref": "Nodejs16CodeBuildarm64PackageryarnLayerPackager4A15BD81" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 CodeBuild arm64/Packager/yarn/Dependencies Definition" } }, @@ -10288,7 +10474,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16CodeBuildarm64NPMInlineTestCurrentVersionAE985E84839fa65619da669ca03615fbfc0dde0e" + "Ref": "Nodejs16CodeBuildarm64NPMInlineTestCurrentVersionAE985E84a1a695bcd89610295fd400aa4dbedafd" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -10296,7 +10482,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16CodeBuildarm64NPMInlineTestCurrentVersionAE985E84839fa65619da669ca03615fbfc0dde0e": { + "Nodejs16CodeBuildarm64NPMInlineTestCurrentVersionAE985E84a1a695bcd89610295fd400aa4dbedafd": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -10397,7 +10583,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16CodeBuildarm64NPMTestCurrentVersionA26494FEd43d7e0b269000b639ef5ce45cf07cda" + "Ref": "Nodejs16CodeBuildarm64NPMTestCurrentVersionA26494FE1efee28e821e7a346b384c992870f942" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -10405,7 +10591,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16CodeBuildarm64NPMTestCurrentVersionA26494FEd43d7e0b269000b639ef5ce45cf07cda": { + "Nodejs16CodeBuildarm64NPMTestCurrentVersionA26494FE1efee28e821e7a346b384c992870f942": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -10506,7 +10692,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16CodeBuildarm64YarnTestCurrentVersionC56736CEef4092d498d51dbc267d981ba6ad5876" + "Ref": "Nodejs16CodeBuildarm64YarnTestCurrentVersionC56736CE5e56952add67f99ad32803359d0b3a8c" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -10514,7 +10700,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16CodeBuildarm64YarnTestCurrentVersionC56736CEef4092d498d51dbc267d981ba6ad5876": { + "Nodejs16CodeBuildarm64YarnTestCurrentVersionC56736CE5e56952add67f99ad32803359d0b3a8c": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -10902,6 +11088,12 @@ "Ref": "Nodejs16Lambdaarm64PackagernpminlineLayerPackagerF64C8EA7" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 Lambda arm64/Packager/npm inline/Dependencies Definition" } }, @@ -10953,6 +11145,12 @@ "Ref": "Nodejs16Lambdaarm64PackagernpmLayerPackagerAB96D666" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 Lambda arm64/Packager/npm/Dependencies Definition" } }, @@ -11005,6 +11203,12 @@ "Ref": "Nodejs16Lambdaarm64PackageryarnLayerPackagerA902D8D9" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs16.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 16 Lambda arm64/Packager/yarn/Dependencies Definition" } }, @@ -11101,7 +11305,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16Lambdaarm64NPMInlineTestCurrentVersionD368614287612b433730d85ae88f83ce7f059143" + "Ref": "Nodejs16Lambdaarm64NPMInlineTestCurrentVersionD36861424b5facfede32279ff662cf512e36fd5d" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -11109,7 +11313,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16Lambdaarm64NPMInlineTestCurrentVersionD368614287612b433730d85ae88f83ce7f059143": { + "Nodejs16Lambdaarm64NPMInlineTestCurrentVersionD36861424b5facfede32279ff662cf512e36fd5d": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -11210,7 +11414,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16Lambdaarm64NPMTestCurrentVersion7AE1864608a34a5a4491009a0e73f4b0162d89ee" + "Ref": "Nodejs16Lambdaarm64NPMTestCurrentVersion7AE18646f2f2cde42426b06a77c82378c74b9e52" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -11218,7 +11422,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16Lambdaarm64NPMTestCurrentVersion7AE1864608a34a5a4491009a0e73f4b0162d89ee": { + "Nodejs16Lambdaarm64NPMTestCurrentVersion7AE18646f2f2cde42426b06a77c82378c74b9e52": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -11319,7 +11523,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs16Lambdaarm64YarnTestCurrentVersion2B2F94F8ca6c9c8d4f15b0a79cbbbc228635b984" + "Ref": "Nodejs16Lambdaarm64YarnTestCurrentVersion2B2F94F8f135fc7093939ff1d91b76f4755d3cfd" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -11327,7 +11531,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs16Lambdaarm64YarnTestCurrentVersion2B2F94F8ca6c9c8d4f15b0a79cbbbc228635b984": { + "Nodejs16Lambdaarm64YarnTestCurrentVersion2B2F94F8f135fc7093939ff1d91b76f4755d3cfd": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -11962,6 +12166,12 @@ "Ref": "Nodejs18CodeBuildarm64PackagernpminlineLayerPackager8408BCE7" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 CodeBuild arm64/Packager/npm inline/Dependencies Definition" } }, @@ -12027,6 +12237,12 @@ "Ref": "Nodejs18CodeBuildarm64PackagernpmLayerPackager5BF5D639" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 CodeBuild arm64/Packager/npm/Dependencies Definition" } }, @@ -12093,6 +12309,12 @@ "Ref": "Nodejs18CodeBuildarm64PackageryarnLayerPackagerB1FF9973" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 CodeBuild arm64/Packager/yarn/Dependencies Definition" } }, @@ -12189,7 +12411,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18CodeBuildarm64NPMInlineTestCurrentVersion317216DDa1e1330a9d1635f8db9dbe24fc9d5eb3" + "Ref": "Nodejs18CodeBuildarm64NPMInlineTestCurrentVersion317216DD15256deeab952d46a3cfde564deede90" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -12197,7 +12419,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18CodeBuildarm64NPMInlineTestCurrentVersion317216DDa1e1330a9d1635f8db9dbe24fc9d5eb3": { + "Nodejs18CodeBuildarm64NPMInlineTestCurrentVersion317216DD15256deeab952d46a3cfde564deede90": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -12298,7 +12520,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18CodeBuildarm64NPMTestCurrentVersion603DCAC28e3946b172d845b42b9dc48233c319c6" + "Ref": "Nodejs18CodeBuildarm64NPMTestCurrentVersion603DCAC2a253ede8688f96f6cfbe9df52729d38e" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -12306,7 +12528,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18CodeBuildarm64NPMTestCurrentVersion603DCAC28e3946b172d845b42b9dc48233c319c6": { + "Nodejs18CodeBuildarm64NPMTestCurrentVersion603DCAC2a253ede8688f96f6cfbe9df52729d38e": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -12407,7 +12629,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18CodeBuildarm64YarnTestCurrentVersionE90345218b5419a229ab673cdad555340fc9ec4e" + "Ref": "Nodejs18CodeBuildarm64YarnTestCurrentVersionE90345219b1773cca3762c19c684a7a7d1492aa5" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -12415,7 +12637,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18CodeBuildarm64YarnTestCurrentVersionE90345218b5419a229ab673cdad555340fc9ec4e": { + "Nodejs18CodeBuildarm64YarnTestCurrentVersionE90345219b1773cca3762c19c684a7a7d1492aa5": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -12803,6 +13025,12 @@ "Ref": "Nodejs18Lambdaarm64PackagernpminlineLayerPackager912B4ED0" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 Lambda arm64/Packager/npm inline/Dependencies Definition" } }, @@ -12854,6 +13082,12 @@ "Ref": "Nodejs18Lambdaarm64PackagernpmLayerPackager7FB86C3A" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 Lambda arm64/Packager/npm/Dependencies Definition" } }, @@ -12906,6 +13140,12 @@ "Ref": "Nodejs18Lambdaarm64PackageryarnLayerPackager5302E1A7" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "nodejs18.x" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Node.js 18 Lambda arm64/Packager/yarn/Dependencies Definition" } }, @@ -13002,7 +13242,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18Lambdaarm64NPMInlineTestCurrentVersionE21A47E1d75b1b5def047cc181761ef5982eef63" + "Ref": "Nodejs18Lambdaarm64NPMInlineTestCurrentVersionE21A47E1bd9bb56d11f43754bf0b042341bfb739" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -13010,7 +13250,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18Lambdaarm64NPMInlineTestCurrentVersionE21A47E1d75b1b5def047cc181761ef5982eef63": { + "Nodejs18Lambdaarm64NPMInlineTestCurrentVersionE21A47E1bd9bb56d11f43754bf0b042341bfb739": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -13111,7 +13351,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18Lambdaarm64NPMTestCurrentVersionE3B1E4E0551fca6de59ac43fa03db24ed563169d" + "Ref": "Nodejs18Lambdaarm64NPMTestCurrentVersionE3B1E4E055fecc9aa45386c83e970e9617cfcd07" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -13119,7 +13359,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18Lambdaarm64NPMTestCurrentVersionE3B1E4E0551fca6de59ac43fa03db24ed563169d": { + "Nodejs18Lambdaarm64NPMTestCurrentVersionE3B1E4E055fecc9aa45386c83e970e9617cfcd07": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -13220,7 +13460,7 @@ ] }, "HandlerArn": { - "Ref": "Nodejs18Lambdaarm64YarnTestCurrentVersionAFC6484Fcabbde757582c0042eec7f004502384c" + "Ref": "Nodejs18Lambdaarm64YarnTestCurrentVersionAFC6484Fdf6fb83af47214ec73e97478e456bf15" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -13228,7 +13468,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Nodejs18Lambdaarm64YarnTestCurrentVersionAFC6484Fcabbde757582c0042eec7f004502384c": { + "Nodejs18Lambdaarm64YarnTestCurrentVersionAFC6484Fdf6fb83af47214ec73e97478e456bf15": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -13869,6 +14109,12 @@ "Ref": "Ruby27CodeBuildx64PackagerbundlerLayerPackager966CE1DB" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "ruby2.7" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Ruby 2.7 CodeBuild x64/Packager/bundler/Dependencies Definition" } }, @@ -13968,7 +14214,7 @@ ] }, "HandlerArn": { - "Ref": "Ruby27CodeBuildx64BundlerTestCurrentVersionD337466C630102c86fd462e78ea30d31eb911499" + "Ref": "Ruby27CodeBuildx64BundlerTestCurrentVersionD337466Cee2d5187017e4dba606fc7ed4a994ba9" }, "InvocationType": "RequestResponse", "Timeout": "300000" @@ -13976,7 +14222,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Ruby27CodeBuildx64BundlerTestCurrentVersionD337466C630102c86fd462e78ea30d31eb911499": { + "Ruby27CodeBuildx64BundlerTestCurrentVersionD337466Cee2d5187017e4dba606fc7ed4a994ba9": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -14365,6 +14611,12 @@ "Ref": "Ruby27Lambdax64PackagerbundlerLayerPackager9AC96FC6" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "ruby2.7" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Ruby 2.7 Lambda x64/Packager/bundler/Dependencies Definition" } }, @@ -14464,7 +14716,7 @@ ] }, "HandlerArn": { - "Ref": "Ruby27Lambdax64BundlerTestCurrentVersion0F605336252e3d2944d85e377e3f90555708a8e7" + "Ref": "Ruby27Lambdax64BundlerTestCurrentVersion0F6053363e902848edc6b413c43cd2cc48c01592" }, "InvocationType": "RequestResponse", "Timeout": "300000" @@ -14472,7 +14724,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Ruby27Lambdax64BundlerTestCurrentVersion0F605336252e3d2944d85e377e3f90555708a8e7": { + "Ruby27Lambdax64BundlerTestCurrentVersion0F6053363e902848edc6b413c43cd2cc48c01592": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -15113,6 +15365,12 @@ "Ref": "Ruby27CodeBuildarm64PackagerbundlerLayerPackager72B4A729" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "ruby2.7" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Ruby 2.7 CodeBuild arm64/Packager/bundler/Dependencies Definition" } }, @@ -15212,7 +15470,7 @@ ] }, "HandlerArn": { - "Ref": "Ruby27CodeBuildarm64BundlerTestCurrentVersion50E2425263c8d5b410310167c19e6fc085a3255f" + "Ref": "Ruby27CodeBuildarm64BundlerTestCurrentVersion50E24252cc05989d851ad9b65937c99657f3f3a8" }, "InvocationType": "RequestResponse", "Timeout": "300000" @@ -15220,7 +15478,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Ruby27CodeBuildarm64BundlerTestCurrentVersion50E2425263c8d5b410310167c19e6fc085a3255f": { + "Ruby27CodeBuildarm64BundlerTestCurrentVersion50E24252cc05989d851ad9b65937c99657f3f3a8": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -15609,6 +15867,12 @@ "Ref": "Ruby27Lambdaarm64PackagerbundlerLayerPackager2190C89F" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "ruby2.7" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Ruby 2.7 Lambda arm64/Packager/bundler/Dependencies Definition" } }, @@ -15708,7 +15972,7 @@ ] }, "HandlerArn": { - "Ref": "Ruby27Lambdaarm64BundlerTestCurrentVersion99C55D74cbc0f6204346f27d5fe7f1b6d71c70e3" + "Ref": "Ruby27Lambdaarm64BundlerTestCurrentVersion99C55D74e83b83bc0b69ff645aa740988adc470f" }, "InvocationType": "RequestResponse", "Timeout": "300000" @@ -15716,7 +15980,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Ruby27Lambdaarm64BundlerTestCurrentVersion99C55D74cbc0f6204346f27d5fe7f1b6d71c70e3": { + "Ruby27Lambdaarm64BundlerTestCurrentVersion99C55D74e83b83bc0b69ff645aa740988adc470f": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -16351,6 +16615,12 @@ "Ref": "Java11CodeBuildx64PackagermavenLayerPackager40C7661E" } }, + "CompatibleArchitectures": [ + "x86_64" + ], + "CompatibleRuntimes": [ + "java11" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Java 11 CodeBuild x64/Packager/maven/Dependencies Definition" } }, @@ -16451,7 +16721,7 @@ ] }, "HandlerArn": { - "Ref": "Java11CodeBuildx64MavenTestCurrentVersion2D8E6EAC9f1052db89ec910d9cc245a7f86241cb" + "Ref": "Java11CodeBuildx64MavenTestCurrentVersion2D8E6EAC2f80e2cf98d9704bcbdc4153ac3f9d73" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -16459,7 +16729,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Java11CodeBuildx64MavenTestCurrentVersion2D8E6EAC9f1052db89ec910d9cc245a7f86241cb": { + "Java11CodeBuildx64MavenTestCurrentVersion2D8E6EAC2f80e2cf98d9704bcbdc4153ac3f9d73": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": { @@ -17094,6 +17364,12 @@ "Ref": "Java11CodeBuildarm64PackagermavenLayerPackager12E8477E" } }, + "CompatibleArchitectures": [ + "arm64" + ], + "CompatibleRuntimes": [ + "java11" + ], "Description": "Automatically generated by turbo layers for Turbo-Layer-Test/Java 11 CodeBuild arm64/Packager/maven/Dependencies Definition" } }, @@ -17194,7 +17470,7 @@ ] }, "HandlerArn": { - "Ref": "Java11CodeBuildarm64MavenTestCurrentVersion1B60F2852fa3126537515f921596b63eb55e51ed" + "Ref": "Java11CodeBuildarm64MavenTestCurrentVersion1B60F285ace0847c8e3d02148c9a733d5ad387ea" }, "InvocationType": "RequestResponse", "Timeout": "60000" @@ -17202,7 +17478,7 @@ "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "Java11CodeBuildarm64MavenTestCurrentVersion1B60F2852fa3126537515f921596b63eb55e51ed": { + "Java11CodeBuildarm64MavenTestCurrentVersion1B60F285ace0847c8e3d02148c9a733d5ad387ea": { "Type": "AWS::Lambda::Version", "Properties": { "FunctionName": {