diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json index ab8ca0bd4a1f2..1e34ca625f5ac 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json @@ -1,5 +1,5 @@ { - "version": "22.0.0", + "version": "32.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.assets.json index a0e1449cea6ee..7c4a95ce08042 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.assets.json @@ -1,7 +1,7 @@ { - "version": "22.0.0", + "version": "32.0.0", "files": { - "47696196003068eea2528656bebb8f11e163f75e8635d774b801bbc06a0e57e2": { + "da818761c778b9099af670b7379d3db67a8f46572795cf76cc3f7442b341fb86": { "source": { "path": "Stack1.template.json", "packaging": "file" @@ -9,7 +9,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "47696196003068eea2528656bebb8f11e163f75e8635d774b801bbc06a0e57e2.json", + "objectKey": "da818761c778b9099af670b7379d3db67a8f46572795cf76cc3f7442b341fb86.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.template.json index 7c14bc7d09da1..c9b23bd17ce83 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack1.template.json @@ -166,7 +166,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", @@ -263,7 +263,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", @@ -360,7 +360,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", @@ -457,7 +457,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.assets.json index 48c0af9610b9d..6752713291eea 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.assets.json @@ -1,7 +1,7 @@ { - "version": "22.0.0", + "version": "32.0.0", "files": { - "a4926065bd63dad984b7b214cd689e14b56eeec5afba89f078cd5134f8304bd8": { + "a4d1f60a1bf3af6d4d630d5c0557444ee8d18f93483887409a89dc8f34b228d5": { "source": { "path": "Stack2.template.json", "packaging": "file" @@ -9,7 +9,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "a4926065bd63dad984b7b214cd689e14b56eeec5afba89f078cd5134f8304bd8.json", + "objectKey": "a4d1f60a1bf3af6d4d630d5c0557444ee8d18f93483887409a89dc8f34b228d5.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.template.json index d268d79b5f964..ebcf7448ac457 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/Stack2.template.json @@ -169,7 +169,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", @@ -266,7 +266,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", @@ -363,7 +363,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", @@ -460,7 +460,7 @@ }, "Environment": { "Variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "Handler": "index.handler", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/cdk.out index 145739f539580..f0b901e7c06e5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"22.0.0"} \ No newline at end of file +{"version":"32.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/integ.json index 48b2c710d1101..263e489ed7e1c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "22.0.0", + "version": "32.0.0", "testCases": { "IntegTest/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/manifest.json index 0c1767cb8ed9c..ea4102575a0a7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "22.0.0", + "version": "32.0.0", "artifacts": { "Stack1.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/47696196003068eea2528656bebb8f11e163f75e8635d774b801bbc06a0e57e2.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/da818761c778b9099af670b7379d3db67a8f46572795cf76cc3f7442b341fb86.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -140,6 +140,33 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } + ], + "MyFunc6ServiceRoleCDDBC2C6": [ + { + "type": "aws:cdk:logicalId", + "data": "MyFunc6ServiceRoleCDDBC2C6", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "MyFunc6ServiceRoleDefaultPolicyC4D4BF55": [ + { + "type": "aws:cdk:logicalId", + "data": "MyFunc6ServiceRoleDefaultPolicyC4D4BF55", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "MyFunc60D944984": [ + { + "type": "aws:cdk:logicalId", + "data": "MyFunc60D944984", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "Stack1" @@ -160,7 +187,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a4926065bd63dad984b7b214cd689e14b56eeec5afba89f078cd5134f8304bd8.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a4d1f60a1bf3af6d4d630d5c0557444ee8d18f93483887409a89dc8f34b228d5.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -277,6 +304,33 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } + ], + "MyFunc6ServiceRoleCDDBC2C6": [ + { + "type": "aws:cdk:logicalId", + "data": "MyFunc6ServiceRoleCDDBC2C6", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "MyFunc6ServiceRoleDefaultPolicyC4D4BF55": [ + { + "type": "aws:cdk:logicalId", + "data": "MyFunc6ServiceRoleDefaultPolicyC4D4BF55", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "MyFunc60D944984": [ + { + "type": "aws:cdk:logicalId", + "data": "MyFunc60D944984", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "Stack2" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/tree.json index 9f2eb419a99ba..5db219ef20619 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.js.snapshot/tree.json @@ -20,7 +20,7 @@ "id": "ImportServiceRole", "path": "Stack1/MyFunc1/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -59,7 +59,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -95,19 +95,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -153,13 +153,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack1/MyFunc1/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -167,15 +175,7 @@ "id": "Adot-lambda-layerMap", "path": "Stack1/Adot-lambda-layerMap", "constructInfo": { - "fqn": "@aws-cdk/core.CfnMapping", - "version": "0.0.0" - } - }, - "AdotLayer1": { - "id": "AdotLayer1", - "path": "Stack1/AdotLayer1", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.CfnMapping", "version": "0.0.0" } }, @@ -191,7 +191,7 @@ "id": "ImportServiceRole", "path": "Stack1/MyFunc2/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -230,7 +230,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -266,19 +266,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -299,7 +299,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -324,21 +324,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack1/MyFunc2/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer2": { - "id": "AdotLayer2", - "path": "Stack1/AdotLayer2", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -354,7 +354,7 @@ "id": "ImportServiceRole", "path": "Stack1/MyFunc3/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -393,7 +393,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -429,19 +429,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -462,7 +462,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -487,21 +487,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack1/MyFunc3/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer3": { - "id": "AdotLayer3", - "path": "Stack1/AdotLayer3", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -517,7 +517,7 @@ "id": "ImportServiceRole", "path": "Stack1/MyFunc4/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -556,7 +556,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -592,19 +592,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -625,7 +625,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -650,21 +650,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack1/MyFunc4/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer4": { - "id": "AdotLayer4", - "path": "Stack1/AdotLayer4", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -680,7 +680,7 @@ "id": "ImportServiceRole", "path": "Stack1/MyFunc5/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -719,7 +719,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -755,19 +755,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -788,7 +788,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -813,21 +813,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack1/MyFunc5/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer5": { - "id": "AdotLayer5", - "path": "Stack1/AdotLayer5", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -835,7 +835,7 @@ "id": "BootstrapVersion", "path": "Stack1/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -843,13 +843,13 @@ "id": "CheckBootstrapVersion", "path": "Stack1/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } }, @@ -869,7 +869,7 @@ "id": "ImportServiceRole", "path": "Stack2/MyFunc1/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -908,7 +908,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -944,19 +944,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -1005,21 +1005,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack2/MyFunc1/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer1": { - "id": "AdotLayer1", - "path": "Stack2/AdotLayer1", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -1035,7 +1035,7 @@ "id": "ImportServiceRole", "path": "Stack2/MyFunc2/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -1074,7 +1074,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -1110,19 +1110,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -1143,7 +1143,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -1168,21 +1168,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack2/MyFunc2/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer2": { - "id": "AdotLayer2", - "path": "Stack2/AdotLayer2", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -1198,7 +1198,7 @@ "id": "ImportServiceRole", "path": "Stack2/MyFunc3/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -1237,7 +1237,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -1273,19 +1273,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -1306,7 +1306,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -1331,21 +1331,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack2/MyFunc3/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer3": { - "id": "AdotLayer3", - "path": "Stack2/AdotLayer3", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -1361,7 +1361,7 @@ "id": "ImportServiceRole", "path": "Stack2/MyFunc4/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -1400,7 +1400,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -1436,19 +1436,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -1469,7 +1469,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -1494,21 +1494,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack2/MyFunc4/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer4": { - "id": "AdotLayer4", - "path": "Stack2/AdotLayer4", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -1524,7 +1524,7 @@ "id": "ImportServiceRole", "path": "Stack2/MyFunc5/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -1563,7 +1563,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -1599,19 +1599,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -1632,7 +1632,7 @@ }, "environment": { "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" + "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" } }, "handler": "index.handler", @@ -1657,21 +1657,21 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" + } + }, + "AdotLayer": { + "id": "AdotLayer", + "path": "Stack2/MyFunc5/AdotLayer", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-lambda.Function", - "version": "0.0.0" - } - }, - "AdotLayer5": { - "id": "AdotLayer5", - "path": "Stack2/AdotLayer5", - "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.aws_lambda.FunctionBase", "version": "0.0.0" } }, @@ -1679,7 +1679,7 @@ "id": "BootstrapVersion", "path": "Stack2/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -1687,13 +1687,13 @@ "id": "CheckBootstrapVersion", "path": "Stack2/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } }, @@ -1710,7 +1710,7 @@ "path": "IntegTest/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.168" + "version": "10.2.55" } }, "DeployAssert": { @@ -1721,7 +1721,7 @@ "id": "BootstrapVersion", "path": "IntegTest/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -1729,25 +1729,25 @@ "id": "CheckBootstrapVersion", "path": "IntegTest/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/integ-tests.IntegTestCase", + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/integ-tests.IntegTest", + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", "version": "0.0.0" } }, @@ -1756,12 +1756,12 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.168" + "version": "10.2.55" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.App", + "fqn": "aws-cdk-lib.App", "version": "0.0.0" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.ts index f5a8e1839bd8c..07c6e6f1e74f2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.lambda-adot.ts @@ -43,7 +43,7 @@ class StackUnderTest extends Stack { code: Code.fromInline('def handler(event, context): pass'), adotInstrumentation: { layerVersion: AdotLayerVersion.fromPythonSdkLayerVersion(AdotLambdaLayerPythonSdkVersion.LATEST), - execWrapper: AdotLambdaExecWrapper.REGULAR_HANDLER, + execWrapper: AdotLambdaExecWrapper.INSTRUMENT_HANDLER, }, }); @@ -53,7 +53,7 @@ class StackUnderTest extends Stack { code: Code.fromInline('def handler(event, context): pass'), adotInstrumentation: { layerVersion: AdotLayerVersion.fromJavaSdkLayerVersion(AdotLambdaLayerJavaSdkVersion.LATEST), - execWrapper: AdotLambdaExecWrapper.REGULAR_HANDLER, + execWrapper: AdotLambdaExecWrapper.INSTRUMENT_HANDLER, }, }); @@ -63,7 +63,7 @@ class StackUnderTest extends Stack { code: Code.fromInline('def handler(event, context): pass'), adotInstrumentation: { layerVersion: AdotLayerVersion.fromJavaAutoInstrumentationLayerVersion(AdotLambdaLayerJavaAutoInstrumentationVersion.LATEST), - execWrapper: AdotLambdaExecWrapper.REGULAR_HANDLER, + execWrapper: AdotLambdaExecWrapper.INSTRUMENT_HANDLER, }, }); @@ -73,7 +73,7 @@ class StackUnderTest extends Stack { code: Code.fromInline('def handler(event, context): pass'), adotInstrumentation: { layerVersion: AdotLayerVersion.fromGenericLayerVersion(AdotLambdaLayerGenericVersion.LATEST), - execWrapper: AdotLambdaExecWrapper.REGULAR_HANDLER, + execWrapper: AdotLambdaExecWrapper.INSTRUMENT_HANDLER, }, }); } diff --git a/packages/aws-cdk-lib/aws-lambda/README.md b/packages/aws-cdk-lib/aws-lambda/README.md index bf284c1e495c1..c3eaefbfe74da 100644 --- a/packages/aws-cdk-lib/aws-lambda/README.md +++ b/packages/aws-cdk-lib/aws-lambda/README.md @@ -865,6 +865,8 @@ declare const fn: lambda.Function; const layerArn = lambda.AdotLambdaLayerJavaSdkVersion.V1_19_0.layerArn(fn.stack, fn.architecture); ``` +When using the `AdotLambdaLayerPythonSdkVersion` the `AdotLambdaExecWrapper` needs to be `AdotLambdaExecWrapper.INSTRUMENT_HANDLER` as per [AWS Distro for OpenTelemetry Lambda Support For Python](https://aws-otel.github.io/docs/getting-started/lambda/lambda-python) + ## Lambda with Profiling The following code configures the lambda function with CodeGuru profiling. By default, this creates a new CodeGuru diff --git a/packages/aws-cdk-lib/aws-lambda/lib/adot-layers.ts b/packages/aws-cdk-lib/aws-lambda/lib/adot-layers.ts index 43e9adfd9a89f..0a90489c0caac 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/adot-layers.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/adot-layers.ts @@ -184,6 +184,11 @@ export enum AdotLambdaExecWrapper { * propagation for HTTP requests. */ STREAM_HANDLER = '/opt/otel-stream-handler', + + /** + * Wrapping python lambda handlers see https://aws-otel.github.io/docs/getting-started/lambda/lambda-python + */ + INSTRUMENT_HANDLER = '/opt/otel-instrument', } abstract class AdotLambdaLayerVersion { diff --git a/packages/aws-cdk-lib/aws-lambda/lib/function.ts b/packages/aws-cdk-lib/aws-lambda/lib/function.ts index 4e4826eeefd09..daef328fc8f50 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/function.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/function.ts @@ -1,5 +1,5 @@ import { Construct, IConstruct } from 'constructs'; -import { AdotInstrumentationConfig } from './adot-layers'; +import { AdotInstrumentationConfig, AdotLambdaExecWrapper } from './adot-layers'; import { AliasOptions, Alias } from './alias'; import { Architecture } from './architecture'; import { Code, CodeConfig } from './code'; @@ -16,7 +16,7 @@ import { CfnFunction } from './lambda.generated'; import { LayerVersion, ILayerVersion } from './layers'; import { LogRetentionRetryOptions } from './log-retention'; import { ParamsAndSecretsLayerVersion } from './params-and-secrets-layers'; -import { Runtime } from './runtime'; +import { Runtime, RuntimeFamily } from './runtime'; import { RuntimeManagementMode } from './runtime-management'; import { addAlias } from './util'; import * as cloudwatch from '../../aws-cloudwatch'; @@ -1157,6 +1157,12 @@ Environment variables can be marked for removal when used in Lambda@Edge by sett throw new Error('Runtime go1.x is not supported by the ADOT Lambda Go SDK'); } + // The Runtime is Python and Adot is set it requires a different EXEC_WRAPPER than the other code bases. + if (this.runtime.family === RuntimeFamily.PYTHON && + props.adotInstrumentation.execWrapper.valueOf() !== AdotLambdaExecWrapper.INSTRUMENT_HANDLER) { + throw new Error('Python Adot Lambda layer requires AdotLambdaExecWrapper.INSTRUMENT_HANDLER'); + } + this.addLayers(LayerVersion.fromLayerVersionArn(this, 'AdotLayer', props.adotInstrumentation.layerVersion._bind(this).arn)); this.addEnvironment('AWS_LAMBDA_EXEC_WRAPPER', props.adotInstrumentation.execWrapper); } diff --git a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts index bf637ac9c00ac..83d25a6c13155 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts @@ -3077,6 +3077,49 @@ describe('function', () => { }); }); + test('adds ADOT instrumentation to a ZIP Lambda function for instrumentation', () => { + // GIVEN + const app = new cdk.App(); + const stack = new cdk.Stack(app, 'Base', { + env: { account: '111111111111', region: 'us-west-2' }, + }); + + // WHEN + new lambda.Function(stack, 'MyLambda', { + code: new lambda.InlineCode('foo'), + handler: 'index.handler', + runtime: lambda.Runtime.PYTHON_3_9, + adotInstrumentation: { + layerVersion: lambda.AdotLayerVersion.fromPythonSdkLayerVersion(lambda.AdotLambdaLayerPythonSdkVersion.V1_13_0), + execWrapper: lambda.AdotLambdaExecWrapper.INSTRUMENT_HANDLER, + }, + }); + + // THEN + Template.fromStack(stack).hasResourceProperties('AWS::Lambda::Function', { + Layers: ['arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1'], + Environment: { + Variables: { + AWS_LAMBDA_EXEC_WRAPPER: '/opt/otel-instrument', + }, + }, + }); + }); + + test('Adot Instrumentation errors out when not using INSTRUMENT_HANDLER', () => { + const stack = new cdk.Stack(); + + expect(() => new lambda.Function(stack, 'Fn1', { + code: new lambda.InlineCode('foo'), + handler: 'index.handler', + runtime: lambda.Runtime.PYTHON_3_10, + adotInstrumentation: { + layerVersion: lambda.AdotLayerVersion.fromPythonSdkLayerVersion(lambda.AdotLambdaLayerPythonSdkVersion.V1_13_0), + execWrapper: lambda.AdotLambdaExecWrapper.REGULAR_HANDLER, + }, + })).toThrow(/Python Adot Lambda layer requires AdotLambdaExecWrapper.INSTRUMENT_HANDLER/); + }); + test('adds ADOT instrumentation to a container image Lambda function', () => { // GIVEN const app = new cdk.App();