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 7fc0c7c6c51ec..9ba369b80b724 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,7 +1,8 @@ { - "version": "39.0.0", + "version": "44.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "IntegTestDefaultTestDeployAssertE3E7D2A4 Template", "source": { "path": "IntegTestDefaultTestDeployAssertE3E7D2A4.template.json", "packaging": "file" 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 44cae81eacf5e..c22c6d97eada7 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,8 @@ { - "version": "39.0.0", + "version": "44.0.0", "files": { - "786301e30e97f6b21391ce0e58f76a891f53cb3535dba60feb818e6561142a17": { + "458a60da11b106f94252378c8db9c78392dcfc2a87bc6afbdab66eca2eba5957": { + "displayName": "Stack1 Template", "source": { "path": "Stack1.template.json", "packaging": "file" @@ -9,7 +10,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "786301e30e97f6b21391ce0e58f76a891f53cb3535dba60feb818e6561142a17.json", + "objectKey": "458a60da11b106f94252378c8db9c78392dcfc2a87bc6afbdab66eca2eba5957.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 f969e88aa9e96..c3793c0f16004 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 @@ -79,7 +79,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-nodejs-arm64-ver-1-30-1:1" + ":901920570463:layer:aws-otel-nodejs-arm64-ver-1-30-2:1" ] ] } @@ -176,7 +176,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-python-amd64-ver-1-29-0:1" + ":901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2" ] ] } @@ -273,7 +273,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4" + ":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6" ] ] } @@ -370,7 +370,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:4" + ":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:6" ] ] } @@ -467,7 +467,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-collector-amd64-ver-0-115-0:2" + ":901920570463:layer:aws-otel-collector-amd64-ver-0-117-0:1" ] ] } 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 b7374877c4187..2ab662ad6958a 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,8 @@ { - "version": "39.0.0", + "version": "44.0.0", "files": { - "a25d4d16a3c2cb56b193e4f8e0eb3ee6e51c90238e2b55e91dbee83c0625a30d": { + "f74eb4d755744e94863801c06192aba5eabe647fe67f4449a37b67d1d2b45b07": { + "displayName": "Stack2 Template", "source": { "path": "Stack2.template.json", "packaging": "file" @@ -9,7 +10,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "a25d4d16a3c2cb56b193e4f8e0eb3ee6e51c90238e2b55e91dbee83c0625a30d.json", + "objectKey": "f74eb4d755744e94863801c06192aba5eabe647fe67f4449a37b67d1d2b45b07.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 ebd1caccd6896..42cab4d2da37c 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 @@ -79,7 +79,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-nodejs-amd64-ver-1-30-1:1" + ":901920570463:layer:aws-otel-nodejs-amd64-ver-1-30-2:1" ] ] } @@ -176,7 +176,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-python-amd64-ver-1-29-0:1" + ":901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2" ] ] } @@ -273,7 +273,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4" + ":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6" ] ] } @@ -370,7 +370,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:4" + ":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:6" ] ] } @@ -467,7 +467,7 @@ { "Ref": "AWS::Region" }, - ":901920570463:layer:aws-otel-collector-amd64-ver-0-115-0:2" + ":901920570463:layer:aws-otel-collector-amd64-ver-0-117-0:1" ] ] } 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 91e1a8b9901d5..b3a26d44a5f73 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":"39.0.0"} \ No newline at end of file +{"version":"44.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 85597b029d331..2c4add310d8c0 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": "39.0.0", + "version": "44.0.0", "testCases": { "IntegTest/DefaultTest": { "stacks": [ @@ -9,5 +9,6 @@ "assertionStack": "IntegTest/DefaultTest/DeployAssert", "assertionStackName": "IntegTestDefaultTestDeployAssertE3E7D2A4" } - } + }, + "minimumCliVersion": "2.1017.1" } \ No newline at end of file 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 b288dfdcbbe31..a1bd5cac0d44c 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": "39.0.0", + "version": "44.0.0", "artifacts": { "Stack1.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,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}/786301e30e97f6b21391ce0e58f76a891f53cb3535dba60feb818e6561142a17.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/458a60da11b106f94252378c8db9c78392dcfc2a87bc6afbdab66eca2eba5957.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -671,51 +671,6 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } - ], - "MyFunc1inlinePolicyAddedToExecutionRole050337A59": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc1inlinePolicyAddedToExecutionRole050337A59", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc2inlinePolicyAddedToExecutionRole0947C2F15": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc2inlinePolicyAddedToExecutionRole0947C2F15", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc3inlinePolicyAddedToExecutionRole07587DBB8": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc3inlinePolicyAddedToExecutionRole07587DBB8", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc4inlinePolicyAddedToExecutionRole092E86F7D": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc4inlinePolicyAddedToExecutionRole092E86F7D", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc5inlinePolicyAddedToExecutionRole0431C1882": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc5inlinePolicyAddedToExecutionRole0431C1882", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } ] }, "displayName": "Stack1" @@ -737,7 +692,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}/a25d4d16a3c2cb56b193e4f8e0eb3ee6e51c90238e2b55e91dbee83c0625a30d.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f74eb4d755744e94863801c06192aba5eabe647fe67f4449a37b67d1d2b45b07.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -1390,51 +1345,6 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } - ], - "MyFunc1inlinePolicyAddedToExecutionRole050337A59": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc1inlinePolicyAddedToExecutionRole050337A59", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc2inlinePolicyAddedToExecutionRole0947C2F15": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc2inlinePolicyAddedToExecutionRole0947C2F15", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc3inlinePolicyAddedToExecutionRole07587DBB8": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc3inlinePolicyAddedToExecutionRole07587DBB8", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc4inlinePolicyAddedToExecutionRole092E86F7D": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc4inlinePolicyAddedToExecutionRole092E86F7D", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } - ], - "MyFunc5inlinePolicyAddedToExecutionRole0431C1882": [ - { - "type": "aws:cdk:logicalId", - "data": "MyFunc5inlinePolicyAddedToExecutionRole0431C1882", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } ] }, "displayName": "Stack2" @@ -1493,5 +1403,6 @@ "file": "tree.json" } } - } + }, + "minimumCliVersion": "2.1017.1" } \ No newline at end of file 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 4d948c7401f90..7dec5d3f8d029 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 @@ -1,2485 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "Stack1": { - "id": "Stack1", - "path": "Stack1", - "children": { - "MyFunc1": { - "id": "MyFunc1", - "path": "Stack1/MyFunc1", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack1/MyFunc1/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack1/MyFunc1/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc1/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack1/MyFunc1/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc1/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc1ServiceRoleDefaultPolicy3C5E9573", - "roles": [ - { - "Ref": "MyFunc1ServiceRoleF96C5B5C" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc1/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "architectures": [ - "arm64" - ], - "code": { - "zipFile": "exports.handler = function handler(event, _context, callback) {\n console.log(JSON.stringify(event, undefined, 2));\n return callback();\n}" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-nodejs-arm64-ver-1-30-1:1" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc1ServiceRoleF96C5B5C", - "Arn" - ] - }, - "runtime": "nodejs18.x", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "architecture": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-handler" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc2": { - "id": "MyFunc2", - "path": "Stack1/MyFunc2", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack1/MyFunc2/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack1/MyFunc2/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc2/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack1/MyFunc2/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc2/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc2ServiceRoleDefaultPolicyEF3319F6", - "roles": [ - { - "Ref": "MyFunc2ServiceRole68E50443" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc2/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-python-amd64-ver-1-29-0:1" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc2ServiceRole68E50443", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc3": { - "id": "MyFunc3", - "path": "Stack1/MyFunc3", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack1/MyFunc3/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack1/MyFunc3/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc3/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack1/MyFunc3/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc3/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc3ServiceRoleDefaultPolicy449C4CBA", - "roles": [ - { - "Ref": "MyFunc3ServiceRoleA69795ED" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc3/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc3ServiceRoleA69795ED", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc4": { - "id": "MyFunc4", - "path": "Stack1/MyFunc4", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack1/MyFunc4/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack1/MyFunc4/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc4/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack1/MyFunc4/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc4/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc4ServiceRoleDefaultPolicy68C57CB2", - "roles": [ - { - "Ref": "MyFunc4ServiceRole93C4DEFF" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc4/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:4" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc4ServiceRole93C4DEFF", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc5": { - "id": "MyFunc5", - "path": "Stack1/MyFunc5", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack1/MyFunc5/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack1/MyFunc5/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc5/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack1/MyFunc5/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc5/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc5ServiceRoleDefaultPolicy96ABEA66", - "roles": [ - { - "Ref": "MyFunc5ServiceRoleFE4CE92B" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack1/MyFunc5/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-collector-amd64-ver-0-115-0:2" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc5ServiceRoleFE4CE92B", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "Stack1/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "Stack1/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "Stack2": { - "id": "Stack2", - "path": "Stack2", - "children": { - "MyFunc1": { - "id": "MyFunc1", - "path": "Stack2/MyFunc1", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack2/MyFunc1/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack2/MyFunc1/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc1/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack2/MyFunc1/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc1/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc1ServiceRoleDefaultPolicy3C5E9573", - "roles": [ - { - "Ref": "MyFunc1ServiceRoleF96C5B5C" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc1/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "architectures": [ - "x86_64" - ], - "code": { - "zipFile": "exports.handler = function handler(event, _context, callback) {\n console.log(JSON.stringify(event, undefined, 2));\n return callback();\n}" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-handler" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-nodejs-amd64-ver-1-30-1:1" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc1ServiceRoleF96C5B5C", - "Arn" - ] - }, - "runtime": "nodejs18.x", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "architecture": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-handler" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc2": { - "id": "MyFunc2", - "path": "Stack2/MyFunc2", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack2/MyFunc2/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack2/MyFunc2/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc2/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack2/MyFunc2/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc2/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc2ServiceRoleDefaultPolicyEF3319F6", - "roles": [ - { - "Ref": "MyFunc2ServiceRole68E50443" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc2/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-python-amd64-ver-1-29-0:1" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc2ServiceRole68E50443", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc3": { - "id": "MyFunc3", - "path": "Stack2/MyFunc3", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack2/MyFunc3/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack2/MyFunc3/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc3/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack2/MyFunc3/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc3/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc3ServiceRoleDefaultPolicy449C4CBA", - "roles": [ - { - "Ref": "MyFunc3ServiceRoleA69795ED" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc3/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc3ServiceRoleA69795ED", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc4": { - "id": "MyFunc4", - "path": "Stack2/MyFunc4", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack2/MyFunc4/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack2/MyFunc4/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc4/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack2/MyFunc4/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc4/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc4ServiceRoleDefaultPolicy68C57CB2", - "roles": [ - { - "Ref": "MyFunc4ServiceRole93C4DEFF" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc4/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:4" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc4ServiceRole93C4DEFF", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "MyFunc5": { - "id": "MyFunc5", - "path": "Stack2/MyFunc5", - "children": { - "ServiceRole": { - "id": "ServiceRole", - "path": "Stack2/MyFunc5/ServiceRole", - "children": { - "ImportServiceRole": { - "id": "ImportServiceRole", - "path": "Stack2/MyFunc5/ServiceRole/ImportServiceRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0", - "metadata": [ - "*" - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc5/ServiceRole/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - }, - "managedPolicyArns": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ] - ] - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "Stack2/MyFunc5/ServiceRole/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc5/ServiceRole/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "xray:PutTelemetryRecords", - "xray:PutTraceSegments" - ], - "Effect": "Allow", - "Resource": "*" - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyFunc5ServiceRoleDefaultPolicy96ABEA66", - "roles": [ - { - "Ref": "MyFunc5ServiceRoleFE4CE92B" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0", - "metadata": [ - "*", - { - "attachToRole": [ - "*" - ] - }, - { - "attachToRole": [ - "*" - ] - }, - { - "addStatements": [ - {} - ] - } - ] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0", - "metadata": [ - { - "assumedBy": { - "principalAccount": "*", - "assumeRoleAction": "*" - }, - "managedPolicies": [ - { - "managedPolicyArn": "*" - } - ] - }, - { - "addToPrincipalPolicy": [ - {} - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - }, - { - "attachInlinePolicy": [ - "*" - ] - } - ] - } - }, - "Resource": { - "id": "Resource", - "path": "Stack2/MyFunc5/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::Lambda::Function", - "aws:cdk:cloudformation:props": { - "code": { - "zipFile": "def handler(event, context): pass" - }, - "environment": { - "variables": { - "AWS_LAMBDA_EXEC_WRAPPER": "/opt/otel-instrument" - } - }, - "handler": "index.handler", - "layers": [ - { - "Fn::Join": [ - "", - [ - "arn:aws:lambda:", - { - "Ref": "AWS::Region" - }, - ":901920570463:layer:aws-otel-collector-amd64-ver-0-115-0:2" - ] - ] - } - ], - "role": { - "Fn::GetAtt": [ - "MyFunc5ServiceRoleFE4CE92B", - "Arn" - ] - }, - "runtime": "python3.9", - "tracingConfig": { - "mode": "Active" - } - } - }, - "constructInfo": { - "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", - "metadata": [] - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "0.0.0", - "metadata": [ - { - "runtime": "*", - "handler": "*", - "code": "*", - "adotInstrumentation": { - "layerVersion": "*", - "execWrapper": "/opt/otel-instrument" - } - }, - { - "addLayers": [ - "*" - ] - }, - { - "addEnvironment": [ - "*", - "*" - ] - } - ] - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "Stack2/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "Stack2/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "IntegTest": { - "id": "IntegTest", - "path": "IntegTest", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "IntegTest/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "IntegTest/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.4.2" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "IntegTest/DefaultTest/DeployAssert", - "children": { - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "IntegTest/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "IntegTest/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.4.2" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"Stack1":{"id":"Stack1","path":"Stack1","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyFunc1":{"id":"MyFunc1","path":"Stack1/MyFunc1","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","architecture":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-handler"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack1/MyFunc1/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack1/MyFunc1/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack1/MyFunc1/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack1/MyFunc1/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack1/MyFunc1/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc1ServiceRoleDefaultPolicy3C5E9573","roles":[{"Ref":"MyFunc1ServiceRoleF96C5B5C"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack1/MyFunc1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"architectures":["arm64"],"code":{"zipFile":"exports.handler = function handler(event, _context, callback) {\n console.log(JSON.stringify(event, undefined, 2));\n return callback();\n}"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-handler"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-nodejs-arm64-ver-1-30-2:1"]]}],"role":{"Fn::GetAtt":["MyFunc1ServiceRoleF96C5B5C","Arn"]},"runtime":"nodejs18.x","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack1/MyFunc1/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc2":{"id":"MyFunc2","path":"Stack1/MyFunc2","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack1/MyFunc2/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack1/MyFunc2/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack1/MyFunc2/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack1/MyFunc2/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack1/MyFunc2/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc2ServiceRoleDefaultPolicyEF3319F6","roles":[{"Ref":"MyFunc2ServiceRole68E50443"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack1/MyFunc2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2"]]}],"role":{"Fn::GetAtt":["MyFunc2ServiceRole68E50443","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack1/MyFunc2/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc3":{"id":"MyFunc3","path":"Stack1/MyFunc3","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack1/MyFunc3/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack1/MyFunc3/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack1/MyFunc3/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack1/MyFunc3/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack1/MyFunc3/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc3ServiceRoleDefaultPolicy449C4CBA","roles":[{"Ref":"MyFunc3ServiceRoleA69795ED"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack1/MyFunc3/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6"]]}],"role":{"Fn::GetAtt":["MyFunc3ServiceRoleA69795ED","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack1/MyFunc3/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc4":{"id":"MyFunc4","path":"Stack1/MyFunc4","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack1/MyFunc4/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack1/MyFunc4/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack1/MyFunc4/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack1/MyFunc4/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack1/MyFunc4/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc4ServiceRoleDefaultPolicy68C57CB2","roles":[{"Ref":"MyFunc4ServiceRole93C4DEFF"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack1/MyFunc4/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:6"]]}],"role":{"Fn::GetAtt":["MyFunc4ServiceRole93C4DEFF","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack1/MyFunc4/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc5":{"id":"MyFunc5","path":"Stack1/MyFunc5","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack1/MyFunc5/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack1/MyFunc5/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack1/MyFunc5/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack1/MyFunc5/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack1/MyFunc5/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc5ServiceRoleDefaultPolicy96ABEA66","roles":[{"Ref":"MyFunc5ServiceRoleFE4CE92B"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack1/MyFunc5/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-collector-amd64-ver-0-117-0:1"]]}],"role":{"Fn::GetAtt":["MyFunc5ServiceRoleFE4CE92B","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack1/MyFunc5/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"Stack1/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"Stack1/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"Stack2":{"id":"Stack2","path":"Stack2","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyFunc1":{"id":"MyFunc1","path":"Stack2/MyFunc1","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","architecture":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-handler"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack2/MyFunc1/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack2/MyFunc1/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack2/MyFunc1/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack2/MyFunc1/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack2/MyFunc1/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc1ServiceRoleDefaultPolicy3C5E9573","roles":[{"Ref":"MyFunc1ServiceRoleF96C5B5C"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack2/MyFunc1/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"architectures":["x86_64"],"code":{"zipFile":"exports.handler = function handler(event, _context, callback) {\n console.log(JSON.stringify(event, undefined, 2));\n return callback();\n}"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-handler"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-nodejs-amd64-ver-1-30-2:1"]]}],"role":{"Fn::GetAtt":["MyFunc1ServiceRoleF96C5B5C","Arn"]},"runtime":"nodejs18.x","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack2/MyFunc1/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc2":{"id":"MyFunc2","path":"Stack2/MyFunc2","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack2/MyFunc2/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack2/MyFunc2/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack2/MyFunc2/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack2/MyFunc2/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack2/MyFunc2/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc2ServiceRoleDefaultPolicyEF3319F6","roles":[{"Ref":"MyFunc2ServiceRole68E50443"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack2/MyFunc2/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2"]]}],"role":{"Fn::GetAtt":["MyFunc2ServiceRole68E50443","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack2/MyFunc2/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc3":{"id":"MyFunc3","path":"Stack2/MyFunc3","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack2/MyFunc3/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack2/MyFunc3/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack2/MyFunc3/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack2/MyFunc3/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack2/MyFunc3/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc3ServiceRoleDefaultPolicy449C4CBA","roles":[{"Ref":"MyFunc3ServiceRoleA69795ED"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack2/MyFunc3/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6"]]}],"role":{"Fn::GetAtt":["MyFunc3ServiceRoleA69795ED","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack2/MyFunc3/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc4":{"id":"MyFunc4","path":"Stack2/MyFunc4","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack2/MyFunc4/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack2/MyFunc4/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack2/MyFunc4/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack2/MyFunc4/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack2/MyFunc4/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc4ServiceRoleDefaultPolicy68C57CB2","roles":[{"Ref":"MyFunc4ServiceRole93C4DEFF"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack2/MyFunc4/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0:6"]]}],"role":{"Fn::GetAtt":["MyFunc4ServiceRole93C4DEFF","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack2/MyFunc4/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"MyFunc5":{"id":"MyFunc5","path":"Stack2/MyFunc5","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"0.0.0","metadata":[{"runtime":"*","handler":"*","code":"*","adotInstrumentation":{"layerVersion":"*","execWrapper":"/opt/otel-instrument"}},{"addLayers":["*"]},{"addEnvironment":["*","*"]}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"Stack2/MyFunc5/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"Stack2/MyFunc5/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"Stack2/MyFunc5/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"Stack2/MyFunc5/ServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"Stack2/MyFunc5/ServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"MyFunc5ServiceRoleDefaultPolicy96ABEA66","roles":[{"Ref":"MyFunc5ServiceRoleFE4CE92B"}]}}}}}}},"Resource":{"id":"Resource","path":"Stack2/MyFunc5/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"def handler(event, context): pass"},"environment":{"variables":{"AWS_LAMBDA_EXEC_WRAPPER":"/opt/otel-instrument"}},"handler":"index.handler","layers":[{"Fn::Join":["",["arn:aws:lambda:",{"Ref":"AWS::Region"},":901920570463:layer:aws-otel-collector-amd64-ver-0-117-0:1"]]}],"role":{"Fn::GetAtt":["MyFunc5ServiceRoleFE4CE92B","Arn"]},"runtime":"python3.9","tracingConfig":{"mode":"Active"}}}},"AdotLayer":{"id":"AdotLayer","path":"Stack2/MyFunc5/AdotLayer","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"Stack2/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"Stack2/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"IntegTest":{"id":"IntegTest","path":"IntegTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"IntegTest/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"},"children":{"Default":{"id":"Default","path":"IntegTest/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"IntegTest/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"IntegTest/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"IntegTest/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}}}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file 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 f5697d7f713cc..8145791b5caaf 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/adot-layers.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/adot-layers.ts @@ -215,6 +215,11 @@ abstract class AdotLambdaLayerVersion { * The collection of versions of the ADOT Lambda Layer for Java SDK */ export class AdotLambdaLayerJavaSdkVersion extends AdotLambdaLayerVersion { + /** + * Version 1.32.0 + */ + public static readonly V1_32_0_2 = new AdotLambdaLayerJavaSdkVersion('1.32.0-2'); + /** * Version 1.32.0 */ @@ -249,7 +254,7 @@ export class AdotLambdaLayerJavaSdkVersion extends AdotLambdaLayerVersion { * The latest layer version available in this CDK version. New versions could * introduce incompatible changes. Make sure to test them before deploying to production. */ - public static readonly LATEST = this.V1_32_0_1; + public static readonly LATEST = this.V1_32_0_2; private constructor(protected readonly layerVersion: string) { super(AdotLambdaLayerType.JAVA_SDK, layerVersion); @@ -260,6 +265,11 @@ export class AdotLambdaLayerJavaSdkVersion extends AdotLambdaLayerVersion { * The collection of versions of the ADOT Lambda Layer for Java auto-instrumentation */ export class AdotLambdaLayerJavaAutoInstrumentationVersion extends AdotLambdaLayerVersion { + /** + * Version 1.32.0 + */ + public static readonly V1_32_0_2 = new AdotLambdaLayerJavaAutoInstrumentationVersion('1.32.0-2'); + /** * Version 1.32.0 */ @@ -294,7 +304,7 @@ export class AdotLambdaLayerJavaAutoInstrumentationVersion extends AdotLambdaLay * The latest layer version available in this CDK version. New versions could * introduce incompatible changes. Make sure to test them before deploying to production. */ - public static readonly LATEST = this.V1_32_0_1; + public static readonly LATEST = this.V1_32_0_2; private constructor(protected readonly layerVersion: string) { super(AdotLambdaLayerType.JAVA_AUTO_INSTRUMENTATION, layerVersion); @@ -305,6 +315,11 @@ export class AdotLambdaLayerJavaAutoInstrumentationVersion extends AdotLambdaLay * The collection of versions of the ADOT Lambda Layer for Python SDK */ export class AdotLambdaLayerPythonSdkVersion extends AdotLambdaLayerVersion { + /** + * Version 1.32.0 + */ + public static readonly V1_32_0 = new AdotLambdaLayerPythonSdkVersion('1.32.0'); + /** * Version 1.29.0 */ @@ -374,7 +389,7 @@ export class AdotLambdaLayerPythonSdkVersion extends AdotLambdaLayerVersion { * The latest layer version available in this CDK version. New versions could * introduce incompatible changes. Make sure to test them before deploying to production. */ - public static readonly LATEST = this.V1_29_0; + public static readonly LATEST = this.V1_32_0; private constructor(protected readonly layerVersion: string) { super(AdotLambdaLayerType.PYTHON_SDK, layerVersion); @@ -385,6 +400,11 @@ export class AdotLambdaLayerPythonSdkVersion extends AdotLambdaLayerVersion { * The collection of versions of the ADOT Lambda Layer for JavaScript SDK */ export class AdotLambdaLayerJavaScriptSdkVersion extends AdotLambdaLayerVersion { + /** + * Version 1.30.0 + */ + public static readonly V1_30_0_1 = new AdotLambdaLayerJavaScriptSdkVersion('1.30.0-1'); + /** * Version 1.30.0 */ @@ -419,7 +439,7 @@ export class AdotLambdaLayerJavaScriptSdkVersion extends AdotLambdaLayerVersion * The latest layer version available in this CDK version. New versions could * introduce incompatible changes. Make sure to test them before deploying to production. */ - public static readonly LATEST = this.V1_30_0; + public static readonly LATEST = this.V1_30_0_1; private constructor(protected readonly layerVersion: string) { super(AdotLambdaLayerType.JAVASCRIPT_SDK, layerVersion); @@ -430,6 +450,11 @@ export class AdotLambdaLayerJavaScriptSdkVersion extends AdotLambdaLayerVersion * The collection of versions of the ADOT Lambda Layer for generic purpose */ export class AdotLambdaLayerGenericVersion extends AdotLambdaLayerVersion { + /** + * Version 0.117.0 + */ + public static readonly V0_117_0 = new AdotLambdaLayerGenericVersion('0.117.0'); + /** * Version 0.115.0 */ @@ -474,7 +499,7 @@ export class AdotLambdaLayerGenericVersion extends AdotLambdaLayerVersion { * The latest layer version available in this CDK version. New versions could * introduce incompatible changes. Make sure to test them before deploying to production. */ - public static readonly LATEST = this.V0_115_0; + public static readonly LATEST = this.V0_117_0; private constructor(protected readonly layerVersion: string) { super(AdotLambdaLayerType.GENERIC, layerVersion); diff --git a/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts b/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts index 141b95d5ac427..6ce6ed1861aaf 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/adot.test.ts @@ -19,10 +19,10 @@ describe('ADOT Lambda Layer', () => { }); test('is added properly when the region information is available at synthesis time', () => { - const layerArn = lambda.AdotLambdaLayerJavaSdkVersion.V1_32_0_1.layerArn(fn.stack, fn.architecture); + const layerArn = lambda.AdotLambdaLayerJavaSdkVersion.V1_32_0_2.layerArn(fn.stack, fn.architecture); expect(layerArn).toEqual( - 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4', + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6', ); }); @@ -30,7 +30,7 @@ describe('ADOT Lambda Layer', () => { const layerArn = lambda.AdotLambdaLayerJavaSdkVersion.LATEST.layerArn(fn.stack, fn.architecture); expect(layerArn).toEqual( - 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4', + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6', ); }); }); @@ -50,10 +50,10 @@ describe('ADOT Lambda Layer', () => { }); test('is added properly when the region information is available at synthesis time', () => { - const layerArn = lambda.AdotLambdaLayerPythonSdkVersion.V1_29_0.layerArn(fn.stack, fn.architecture); + const layerArn = lambda.AdotLambdaLayerPythonSdkVersion.V1_32_0.layerArn(fn.stack, fn.architecture); expect(layerArn).toEqual( - 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-29-0:1', + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2', ); }); @@ -61,7 +61,7 @@ describe('ADOT Lambda Layer', () => { const layerArn = lambda.AdotLambdaLayerPythonSdkVersion.LATEST.layerArn(fn.stack, fn.architecture); expect(layerArn).toEqual( - 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-29-0:1', + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2', ); }); }); @@ -111,7 +111,7 @@ describe('ADOT Lambda Layer', () => { { Ref: 'AWS::Region', }, - ':901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-32-0:4', + ':901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-32-0:6', ], ], }, 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 614134a2a6e54..83255f6b2be09 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts @@ -4023,14 +4023,14 @@ describe('function', () => { handler: 'index.handler', runtime: lambda.Runtime.NODEJS_LATEST, adotInstrumentation: { - layerVersion: lambda.AdotLayerVersion.fromJavaSdkLayerVersion(AdotLambdaLayerJavaSdkVersion.V1_32_0_1), + layerVersion: lambda.AdotLayerVersion.fromJavaSdkLayerVersion(AdotLambdaLayerJavaSdkVersion.V1_32_0_2), execWrapper: lambda.AdotLambdaExecWrapper.REGULAR_HANDLER, }, }); // THEN Template.fromStack(stack).hasResourceProperties('AWS::Lambda::Function', { - Layers: ['arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:4'], + Layers: ['arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-32-0:6'], Environment: { Variables: { AWS_LAMBDA_EXEC_WRAPPER: '/opt/otel-handler', @@ -4052,14 +4052,14 @@ describe('function', () => { handler: 'index.handler', runtime: lambda.Runtime.PYTHON_3_9, adotInstrumentation: { - layerVersion: lambda.AdotLayerVersion.fromPythonSdkLayerVersion(lambda.AdotLambdaLayerPythonSdkVersion.V1_29_0), + layerVersion: lambda.AdotLayerVersion.fromPythonSdkLayerVersion(lambda.AdotLambdaLayerPythonSdkVersion.V1_32_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-29-0:1'], + Layers: ['arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-32-0:2'], Environment: { Variables: { AWS_LAMBDA_EXEC_WRAPPER: '/opt/otel-instrument', @@ -4076,7 +4076,7 @@ describe('function', () => { handler: 'index.handler', runtime: lambda.Runtime.PYTHON_3_10, adotInstrumentation: { - layerVersion: lambda.AdotLayerVersion.fromPythonSdkLayerVersion(lambda.AdotLambdaLayerPythonSdkVersion.V1_29_0), + layerVersion: lambda.AdotLayerVersion.fromPythonSdkLayerVersion(lambda.AdotLambdaLayerPythonSdkVersion.V1_32_0), execWrapper: lambda.AdotLambdaExecWrapper.REGULAR_HANDLER, }, })).toThrow(/Python Adot Lambda layer requires AdotLambdaExecWrapper.INSTRUMENT_HANDLER/); @@ -4095,7 +4095,7 @@ describe('function', () => { new lambda.DockerImageFunction(stack, 'MyLambda', { code: lambda.DockerImageCode.fromImageAsset(dockerLambdaHandlerPath), adotInstrumentation: { - layerVersion: lambda.AdotLayerVersion.fromJavaSdkLayerVersion(AdotLambdaLayerJavaSdkVersion.V1_32_0_1), + layerVersion: lambda.AdotLayerVersion.fromJavaSdkLayerVersion(AdotLambdaLayerJavaSdkVersion.V1_32_0_2), execWrapper: lambda.AdotLambdaExecWrapper.REGULAR_HANDLER, }, }), diff --git a/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts b/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts index 4a98f109f11c3..e87625913970c 100644 --- a/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts +++ b/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts @@ -1,3 +1,4 @@ +import { generateAdotArnMap } from './generate-static-data'; /* eslint-disable @cdklabs/no-literal-partition */ /** * The hosted zone Id if using an alias record in Route53. @@ -2372,6 +2373,7 @@ const ADOT_LAMBDA_LAYER_JAVA_AUTO_INSTRUMENTATION_ARNS: { }, }; const ADOT_LAMBDA_LAYER_JAVASCRIPT_SDK_ARNS: { [version: string]: { [arch: string]: { [region: string]: string } } } = { + '1.30.0': { x86_64: { 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-30-1:1', @@ -4131,3 +4133,54 @@ export const ADOT_LAMBDA_LAYER_ARNS: { [key: string]: any } = { PYTHON_SDK: ADOT_LAMBDA_LAYER_PYTHON_SDK_ARNS, GENERIC: ADOT_LAMBDA_LAYER_GENERIC_ARNS, }; + +const regions = [ + 'ap-northeast-1', + 'ap-northeast-2', + 'ap-south-1', + 'ap-southeast-1', + 'ap-southeast-2', + 'ca-central-1', + 'eu-central-1', + 'eu-north-1', + 'eu-west-1', + 'eu-west-2', + 'eu-west-3', + 'sa-east-1', + 'us-east-1', + 'us-east-2', + 'us-west-1', + 'us-west-2', +]; + +// This is in format [version, adotVersion, layerVersion] +// version - version identifier for fact tables +// adotVersion - layer name with adot version +// layerVersion - layer version of the lambda layer +const JavaSDKVersions: [string, string, string][] = [ + ['1.32.0-2', '1-32-0', '6'], +]; + +const JavaInstrumentationVersions: [string, string, string][] = [ + ['1.32.0-2', '1-32-0', '6'], +]; + +const JavaScriptVersions: [string, string, string][] = [ + ['1.30.0-1', '1-30-2', '1'], +]; + +const PythonVersions: [string, string, string][] = [ + ['1.32.0', '1-32-0', '2'], +]; + +const GenericVersions: [string, string, string][] = [ + ['0.117.0', '0-117-0', '1'], +]; + +export const ADOT_LAMBDA_LAYER_NEW_ARNS: { [key: string]: any } = { + JAVA_SDK: generateAdotArnMap('aws-otel-java-wrapper', JavaSDKVersions, regions), + JAVA_AUTO_INSTRUMENTATION: generateAdotArnMap('aws-otel-java-agent', JavaInstrumentationVersions, regions), + JAVASCRIPT_SDK: generateAdotArnMap('aws-otel-nodejs', JavaScriptVersions, regions), + PYTHON_SDK: generateAdotArnMap('aws-otel-python', PythonVersions, regions), + GENERIC: generateAdotArnMap('aws-otel-collector', GenericVersions, regions), +}; diff --git a/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts b/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts index 3c15b72879515..c5f56d948715a 100644 --- a/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts +++ b/packages/aws-cdk-lib/region-info/build-tools/generate-static-data.ts @@ -10,6 +10,7 @@ import { ROUTE_53_BUCKET_WEBSITE_ZONE_IDS, EBS_ENV_ENDPOINT_HOSTED_ZONE_IDS, ADOT_LAMBDA_LAYER_ARNS, + ADOT_LAMBDA_LAYER_NEW_ARNS, PARAMS_AND_SECRETS_LAMBDA_LAYER_ARNS, APPCONFIG_LAMBDA_LAYER_ARNS, PARTITION_SAML_SIGN_ON_URL, @@ -120,6 +121,18 @@ export async function main(): Promise { } } + for (const type in ADOT_LAMBDA_LAYER_NEW_ARNS) { + for (const version in ADOT_LAMBDA_LAYER_NEW_ARNS[type]) { + for (const arch in ADOT_LAMBDA_LAYER_NEW_ARNS[type][version]) { + registerFact( + region, + ['adotLambdaLayer', type, version, arch], + ADOT_LAMBDA_LAYER_NEW_ARNS[type][version][arch][region], + ); + } + } + } + for (const version in PARAMS_AND_SECRETS_LAMBDA_LAYER_ARNS) { for (const arch in PARAMS_AND_SECRETS_LAMBDA_LAYER_ARNS[version]) { registerFact(region, ['paramsAndSecretsLambdaLayer', version, arch], PARAMS_AND_SECRETS_LAMBDA_LAYER_ARNS[version][arch][region]); @@ -187,6 +200,34 @@ function before(region: string, ruleOrRegion: string | symbol) { return regionIx === -1 ? false : regionIx < ruleIx; } +export function generateAdotArn (region: string, arch: string, layerName: string, adotVersion: string, layerVersion: string): string { + const archPrefix = arch === 'x86_64' ? 'amd64' : 'arm64'; + const fullLayerName = `${layerName}-${archPrefix}-ver-${adotVersion}`; + // eslint-disable-next-line @cdklabs/no-literal-partition + const layer = `arn:aws:lambda:${region}:901920570463:layer:${fullLayerName}:${layerVersion}`; + return layer; +} + +export function generateAdotArnMap(layerName: string, versions: [string, string, string][], regions: string[]): { [key: string]: any } { + const result: { [key: string]: any } = {}; + + versions.forEach(([version, adotVersion, layerVersion]) => { + result[version] = { + x86_64: {}, + arm64: {}, + }; + + ['x86_64', 'arm64'].forEach(arch => { + regions.forEach(region => { + result[version][arch][region] = generateAdotArn(region, arch, layerName, adotVersion, layerVersion); + }, + ); + }); + }); + + return result; +} + main().catch(e => { // eslint-disable-next-line no-console console.error(e); diff --git a/packages/aws-cdk-lib/region-info/test/generate-static-data.test.ts b/packages/aws-cdk-lib/region-info/test/generate-static-data.test.ts new file mode 100644 index 0000000000000..223a575996dff --- /dev/null +++ b/packages/aws-cdk-lib/region-info/test/generate-static-data.test.ts @@ -0,0 +1,74 @@ +import { generateAdotArn, generateAdotArnMap } from '../build-tools/generate-static-data'; + +describe('generateAdotArn', () => { + it('should generate correct ARN for x86_64 architecture', () => { + const result = generateAdotArn( + 'us-west-2', + 'x86_64', + 'aws-otel-collector', + '0-84-0', + '1', + ); + expect(result).toBe( + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-84-0:1', + ); + }); + + it('should generate correct ARN for arm64 architecture', () => { + const result = generateAdotArn( + 'us-east-1', + 'arm64', + 'aws-otel-collector', + '0-82-0', + '1', + ); + expect(result).toBe( + 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-82-0:1', + ); + }); +}); + +describe('generateAdotArnMap', () => { + const testVersions: [string, string, string][] = [ + ['0.84.0', '0-84-0', '1'], + ['0.84.0-2', '0-84-0', '2'], + ['0.82.0', '0-82-0', '2'], + ]; + const testRegions = ['us-west-2', 'us-east-1']; + const layerName = 'aws-otel-collector'; + + it('should generate correct structure', () => { + const result = generateAdotArnMap(layerName, testVersions, testRegions); + + // Check top level structure + expect(Object.keys(result)).toEqual(['0.84.0', '0.84.0-2', '0.82.0']); + expect(Object.keys(result['0.84.0'])).toEqual(['x86_64', 'arm64']); + expect(Object.keys(result['0.84.0'].x86_64)).toEqual(['us-west-2', 'us-east-1']); + }); + + it('should generate correct ARNs for all combinations', () => { + const result = generateAdotArnMap(layerName, testVersions, testRegions); + + // Check specific ARN values + expect(result['0.84.0'].x86_64['us-west-2']).toBe( + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-84-0:1', + ); + expect(result['0.84.0-2'].x86_64['us-west-2']).toBe( + 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-84-0:2', + ); + expect(result['0.82.0'].arm64['us-east-1']).toBe( + 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-82-0:2', + ); + }); + + it('should handle empty regions array', () => { + const result = generateAdotArnMap(layerName, testVersions, []); + expect(result['0.84.0'].x86_64).toEqual({}); + expect(result['0.84.0'].arm64).toEqual({}); + }); + + it('should handle empty versions array', () => { + const result = generateAdotArnMap(layerName, [], testRegions); + expect(Object.keys(result)).toHaveLength(0); + }); +});