@aws-solutions-constructs/aws-lambda-dynamodb 2.101.0 → 2.103.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +252 -4
- package/lib/index.js +1 -1
- package/package.json +6 -6
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/asset.02b51ab524e7bcf8f477de3e71e5f9a72e448301b26ba62e9e75a14f9c55a093/__entrypoint__.js +1 -0
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/cdk.out +1 -1
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/integ.json +2 -2
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.assets.json +8 -8
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.metadata.json +698 -0
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.template.json +2 -2
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddbdeployFunctionWithExistingVpcIntegDefaultTestDeployAssertEE08E38E.assets.json +1 -1
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddbdeployFunctionWithExistingVpcIntegDefaultTestDeployAssertEE08E38E.metadata.json +14 -0
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/manifest.json +37 -715
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/tree.json +1 -1
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/asset.02b51ab524e7bcf8f477de3e71e5f9a72e448301b26ba62e9e75a14f9c55a093/__entrypoint__.js +1 -0
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/cdk.out +1 -1
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/integ.json +2 -2
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.assets.json +8 -8
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.metadata.json +530 -0
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.template.json +2 -2
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddbdeployFunctionWithVpcIntegDefaultTestDeployAssert0AB8275C.assets.json +1 -1
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddbdeployFunctionWithVpcIntegDefaultTestDeployAssert0AB8275C.metadata.json +14 -0
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/manifest.json +37 -547
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/tree.json +1 -1
- package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/__entrypoint__.js +0 -1
- package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/__entrypoint__.js +0 -1
- /package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/{asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200 → asset.02b51ab524e7bcf8f477de3e71e5f9a72e448301b26ba62e9e75a14f9c55a093}/index.js +0 -0
- /package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/{asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200 → asset.02b51ab524e7bcf8f477de3e71e5f9a72e448301b26ba62e9e75a14f9c55a093}/index.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.239.0"},"children":{"lamddb-deployFunctionWithVpc":{"id":"lamddb-deployFunctionWithVpc","path":"lamddb-deployFunctionWithVpc","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.239.0"},"children":{"test-lambda-dynamodb-stack":{"id":"test-lambda-dynamodb-stack","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack","constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-dynamodb.LambdaToDynamoDB","version":"2.99.0"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.239.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"},"policies":[{"policyName":"LambdaFunctionServiceRolePolicy","policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/lambda/*"]]}}],"Version":"2012-10-17"}}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["ec2:AssignPrivateIpAddresses","ec2:CreateNetworkInterface","ec2:DeleteNetworkInterface","ec2:DescribeNetworkInterfaces","ec2:UnassignPrivateIpAddresses"],"Effect":"Allow","Resource":"*"},{"Action":["dynamodb:BatchGetItem","dynamodb:BatchWriteItem","dynamodb:ConditionCheckItem","dynamodb:DeleteItem","dynamodb:DescribeTable","dynamodb:GetItem","dynamodb:GetRecords","dynamodb:GetShardIterator","dynamodb:PutItem","dynamodb:Query","dynamodb:Scan","dynamodb:UpdateItem"],"Effect":"Allow","Resource":{"Fn::GetAtt":["testlambdadynamodbstackDynamoTable8138E93B","Arn"]}}],"Version":"2012-10-17"},"policyName":"testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4","roles":[{"Ref":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1"}]}}}}}}},"ReplaceDefaultSecurityGroup-security-group":{"id":"ReplaceDefaultSecurityGroup-security-group","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}}}},"LambdaFunction":{"id":"LambdaFunction","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async (event) => { console.log(event); return {statusCode: 200, body: \"\"}; }"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","DDB_TABLE_NAME":{"Ref":"testlambdadynamodbstackDynamoTable8138E93B"}}},"handler":"index.handler","role":{"Fn::GetAtt":["testlambdadynamodbstackLambdaFunctionServiceRole758347A1","Arn"]},"runtime":"nodejs22.x","tracingConfig":{"mode":"Active"},"vpcConfig":{"subnetIds":[{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"},{"Ref":"VpcisolatedSubnet2Subnet39217055"}],"securityGroupIds":[{"Fn::GetAtt":["testlambdadynamodbstackReplaceDefaultSecurityGroupsecuritygroup15025C82","GroupId"]}]}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.239.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":"testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85","roles":[{"Ref":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1"}]}}}}}}},"DynamoTable":{"id":"DynamoTable","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/DynamoTable","constructInfo":{"fqn":"aws-cdk-lib.aws_dynamodb.Table","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/DynamoTable/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_dynamodb.CfnTable","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::DynamoDB::Table","aws:cdk:cloudformation:props":{"attributeDefinitions":[{"attributeName":"id","attributeType":"S"}],"billingMode":"PAY_PER_REQUEST","keySchema":[{"attributeName":"id","keyType":"HASH"}],"pointInTimeRecoverySpecification":{"pointInTimeRecoveryEnabled":true},"sseSpecification":{"sseEnabled":true}}}},"ScalingRole":{"id":"ScalingRole","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/DynamoTable/ScalingRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.239.0"}}}}}},"Vpc":{"id":"Vpc","path":"lamddb-deployFunctionWithVpc/Vpc","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPC","aws:cdk:cloudformation:props":{"cidrBlock":"10.0.0.0/16","enableDnsHostnames":true,"enableDnsSupport":true,"instanceTenancy":"default","tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc"}]}}},"isolatedSubnet1":{"id":"isolatedSubnet1","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.239.0"},"children":{"Subnet":{"id":"Subnet","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.239.0"}},"RouteTable":{"id":"RouteTable","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet1RouteTableE442650B"},"subnetId":{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"}}}}}},"isolatedSubnet2":{"id":"isolatedSubnet2","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.239.0"},"children":{"Subnet":{"id":"Subnet","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.64.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.239.0"}},"RouteTable":{"id":"RouteTable","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet2RouteTable334F9764"},"subnetId":{"Ref":"VpcisolatedSubnet2Subnet39217055"}}}}}},"RestrictDefaultSecurityGroupCustomResource":{"id":"RestrictDefaultSecurityGroupCustomResource","path":"lamddb-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.239.0"},"children":{"Default":{"id":"Default","path":"lamddb-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.239.0"}}}},"FlowLog":{"id":"FlowLog","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.FlowLog","version":"2.239.0"},"children":{"IAMRole":{"id":"IAMRole","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"vpc-flow-logs.amazonaws.com"}}],"Version":"2012-10-17"},"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/FlowLog"}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogStream","logs:DescribeLogStreams","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::GetAtt":["VpcFlowLogLogGroup7B5C56B9","Arn"]}}],"Version":"2012-10-17"},"policyName":"VpcFlowLogIAMRoleDefaultPolicy406FB995","roles":[{"Ref":"VpcFlowLogIAMRole6A475D41"}]}}}}}}},"LogGroup":{"id":"LogGroup","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/LogGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/LogGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"retentionInDays":731,"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/FlowLog"}]}}}}},"FlowLog":{"id":"FlowLog","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnFlowLog","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::FlowLog","aws:cdk:cloudformation:props":{"deliverLogsPermissionArn":{"Fn::GetAtt":["VpcFlowLogIAMRole6A475D41","Arn"]},"logDestinationType":"cloud-watch-logs","logGroupName":{"Ref":"VpcFlowLogLogGroup7B5C56B9"},"resourceId":{"Ref":"Vpc8378EB38"},"resourceType":"VPC","tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/FlowLog"}],"trafficType":"ALL"}}}}},"DDB":{"id":"DDB","path":"lamddb-deployFunctionWithVpc/Vpc/DDB","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.GatewayVpcEndpoint","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/DDB/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc"}],"routeTableIds":[{"Ref":"VpcisolatedSubnet1RouteTableE442650B"},{"Ref":"VpcisolatedSubnet2RouteTable334F9764"}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".dynamodb"]]},"vpcEndpointType":"Gateway","vpcId":{"Ref":"Vpc8378EB38"}}}}}}}},"Custom::VpcRestrictDefaultSGCustomResourceProvider":{"id":"Custom::VpcRestrictDefaultSGCustomResourceProvider","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"2.239.0"},"children":{"Staging":{"id":"Staging","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.239.0"}},"Role":{"id":"Role","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.239.0"}},"Handler":{"id":"Handler","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.239.0"}}}},"Integ":{"id":"Integ","path":"lamddb-deployFunctionWithVpc/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.239.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.239.0-alpha.0"},"children":{"Default":{"id":"Default","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.5.1"}},"DeployAssert":{"id":"DeployAssert","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.239.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.239.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.239.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamddb-deployFunctionWithVpc/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.239.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamddb-deployFunctionWithVpc/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.239.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.5.1"}}}}}
|
|
1
|
+
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.259.0"},"children":{"lamddb-deployFunctionWithVpc":{"id":"lamddb-deployFunctionWithVpc","path":"lamddb-deployFunctionWithVpc","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.259.0"},"children":{"test-lambda-dynamodb-stack":{"id":"test-lambda-dynamodb-stack","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack","constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-dynamodb.LambdaToDynamoDB","version":"2.102.0"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:logicalId":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"LambdaFunctionServiceRolePolicy","policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/lambda/*"]]}}],"Version":"2012-10-17"}}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:logicalId":"testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["ec2:AssignPrivateIpAddresses","ec2:CreateNetworkInterface","ec2:DeleteNetworkInterface","ec2:DescribeNetworkInterfaces","ec2:UnassignPrivateIpAddresses"],"Effect":"Allow","Resource":"*"},{"Action":["dynamodb:BatchGetItem","dynamodb:BatchWriteItem","dynamodb:ConditionCheckItem","dynamodb:DeleteItem","dynamodb:DescribeTable","dynamodb:GetItem","dynamodb:GetRecords","dynamodb:GetShardIterator","dynamodb:PutItem","dynamodb:Query","dynamodb:Scan","dynamodb:UpdateItem"],"Effect":"Allow","Resource":{"Fn::GetAtt":["testlambdadynamodbstackDynamoTable8138E93B","Arn"]}}],"Version":"2012-10-17"},"policyName":"testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4","roles":[{"Ref":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1"}]}}}}}}},"ReplaceDefaultSecurityGroup-security-group":{"id":"ReplaceDefaultSecurityGroup-security-group","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:logicalId":"testlambdadynamodbstackReplaceDefaultSecurityGroupsecuritygroup15025C82","aws:cdk:cloudformation:props":{"groupDescription":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}}}},"LambdaFunction":{"id":"LambdaFunction","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:logicalId":"testlambdadynamodbstackLambdaFunction5DDB3E8D","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async (event) => { console.log(event); return {statusCode: 200, body: \"\"}; }"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","DDB_TABLE_NAME":{"Ref":"testlambdadynamodbstackDynamoTable8138E93B"}}},"handler":"index.handler","role":{"Fn::GetAtt":["testlambdadynamodbstackLambdaFunctionServiceRole758347A1","Arn"]},"runtime":"nodejs22.x","tracingConfig":{"mode":"Active"},"vpcConfig":{"subnetIds":[{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"},{"Ref":"VpcisolatedSubnet2Subnet39217055"}],"securityGroupIds":[{"Fn::GetAtt":["testlambdadynamodbstackReplaceDefaultSecurityGroupsecuritygroup15025C82","GroupId"]}]}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:logicalId":"testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85","roles":[{"Ref":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1"}]}}}}}}},"DynamoTable":{"id":"DynamoTable","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/DynamoTable","constructInfo":{"fqn":"aws-cdk-lib.aws_dynamodb.Table","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/DynamoTable/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_dynamodb.CfnTable","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::DynamoDB::Table","aws:cdk:cloudformation:logicalId":"testlambdadynamodbstackDynamoTable8138E93B","aws:cdk:cloudformation:props":{"attributeDefinitions":[{"attributeName":"id","attributeType":"S"}],"billingMode":"PAY_PER_REQUEST","keySchema":[{"attributeName":"id","keyType":"HASH"}],"pointInTimeRecoverySpecification":{"pointInTimeRecoveryEnabled":true},"sseSpecification":{"sseEnabled":true}}}},"ScalingRole":{"id":"ScalingRole","path":"lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/DynamoTable/ScalingRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.259.0"}}}}}},"Vpc":{"id":"Vpc","path":"lamddb-deployFunctionWithVpc/Vpc","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPC","aws:cdk:cloudformation:logicalId":"Vpc8378EB38","aws:cdk:cloudformation:props":{"cidrBlock":"10.0.0.0/16","enableDnsHostnames":true,"enableDnsSupport":true,"instanceTenancy":"default","tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc"}]}}},"isolatedSubnet1":{"id":"isolatedSubnet1","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.259.0"},"children":{"Subnet":{"id":"Subnet","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:logicalId":"VpcisolatedSubnet1SubnetE62B1B9B","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.259.0"}},"RouteTable":{"id":"RouteTable","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:logicalId":"VpcisolatedSubnet1RouteTableE442650B","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:logicalId":"VpcisolatedSubnet1RouteTableAssociationD259E31A","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet1RouteTableE442650B"},"subnetId":{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"}}}}}},"isolatedSubnet2":{"id":"isolatedSubnet2","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.259.0"},"children":{"Subnet":{"id":"Subnet","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:logicalId":"VpcisolatedSubnet2Subnet39217055","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.64.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.259.0"}},"RouteTable":{"id":"RouteTable","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:logicalId":"VpcisolatedSubnet2RouteTable334F9764","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:logicalId":"VpcisolatedSubnet2RouteTableAssociation25A4716F","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet2RouteTable334F9764"},"subnetId":{"Ref":"VpcisolatedSubnet2Subnet39217055"}}}}}},"RestrictDefaultSecurityGroupCustomResource":{"id":"RestrictDefaultSecurityGroupCustomResource","path":"lamddb-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.259.0"},"children":{"Default":{"id":"Default","path":"lamddb-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.259.0"}}}},"FlowLog":{"id":"FlowLog","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.FlowLog","version":"2.259.0"},"children":{"IAMRole":{"id":"IAMRole","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:logicalId":"VpcFlowLogIAMRole6A475D41","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"vpc-flow-logs.amazonaws.com"}}],"Version":"2012-10-17"},"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/FlowLog"}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:logicalId":"VpcFlowLogIAMRoleDefaultPolicy406FB995","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogStream","logs:DescribeLogStreams","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::GetAtt":["VpcFlowLogLogGroup7B5C56B9","Arn"]}}],"Version":"2012-10-17"},"policyName":"VpcFlowLogIAMRoleDefaultPolicy406FB995","roles":[{"Ref":"VpcFlowLogIAMRole6A475D41"}]}}}}}}},"LogGroup":{"id":"LogGroup","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/LogGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/LogGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:logicalId":"VpcFlowLogLogGroup7B5C56B9","aws:cdk:cloudformation:props":{"retentionInDays":731,"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/FlowLog"}]}}}}},"FlowLog":{"id":"FlowLog","path":"lamddb-deployFunctionWithVpc/Vpc/FlowLog/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnFlowLog","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::FlowLog","aws:cdk:cloudformation:logicalId":"VpcFlowLog8FF33A73","aws:cdk:cloudformation:props":{"deliverLogsPermissionArn":{"Fn::GetAtt":["VpcFlowLogIAMRole6A475D41","Arn"]},"logDestinationType":"cloud-watch-logs","logGroupName":{"Ref":"VpcFlowLogLogGroup7B5C56B9"},"resourceId":{"Ref":"Vpc8378EB38"},"resourceType":"VPC","tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc/FlowLog"}],"trafficType":"ALL"}}}}},"DDB":{"id":"DDB","path":"lamddb-deployFunctionWithVpc/Vpc/DDB","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.GatewayVpcEndpoint","version":"2.259.0"},"children":{"Resource":{"id":"Resource","path":"lamddb-deployFunctionWithVpc/Vpc/DDB/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"2.259.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:logicalId":"VpcDDB49FBEC5F","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamddb-deployFunctionWithVpc/Vpc"}],"routeTableIds":[{"Ref":"VpcisolatedSubnet1RouteTableE442650B"},{"Ref":"VpcisolatedSubnet2RouteTable334F9764"}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".dynamodb"]]},"vpcEndpointType":"Gateway","vpcId":{"Ref":"Vpc8378EB38"}}}}}}}},"Custom::VpcRestrictDefaultSGCustomResourceProvider":{"id":"Custom::VpcRestrictDefaultSGCustomResourceProvider","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"2.259.0"},"children":{"Staging":{"id":"Staging","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.259.0"}},"Role":{"id":"Role","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.259.0"}},"Handler":{"id":"Handler","path":"lamddb-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.259.0"}}}},"Integ":{"id":"Integ","path":"lamddb-deployFunctionWithVpc/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.259.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.259.0-alpha.0"},"children":{"Default":{"id":"Default","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.5.1"}},"DeployAssert":{"id":"DeployAssert","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.259.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.259.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamddb-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.259.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamddb-deployFunctionWithVpc/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.259.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamddb-deployFunctionWithVpc/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.259.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.5.1"}}}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.external=void 0,exports.handler=handler,exports.withRetries=withRetries;const https=require("https"),url=require("url");exports.external={sendHttpRequest:defaultSendHttpRequest,log:defaultLog,includeStackTraces:!0,userHandlerIndex:"./index"};const CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function handler(event,context){const sanitizedEvent={...event,ResponseURL:"..."};if(exports.external.log(JSON.stringify(sanitizedEvent,void 0,2)),event.RequestType==="Delete"&&event.PhysicalResourceId===CREATE_FAILED_PHYSICAL_ID_MARKER){exports.external.log("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{const userHandler=require(exports.external.userHandlerIndex).handler,result=await userHandler(sanitizedEvent,context),responseEvent=renderResponse(event,result);await submitResponse("SUCCESS",responseEvent)}catch(e){const resp={...event,Reason:exports.external.includeStackTraces?e.stack:e.message};resp.PhysicalResourceId||(event.RequestType==="Create"?(exports.external.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),resp.PhysicalResourceId=CREATE_FAILED_PHYSICAL_ID_MARKER):exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`)),await submitResponse("FAILED",resp)}}function renderResponse(cfnRequest,handlerResponse={}){const physicalResourceId=handlerResponse.PhysicalResourceId??cfnRequest.PhysicalResourceId??cfnRequest.RequestId;if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`);return{...cfnRequest,...handlerResponse,PhysicalResourceId:physicalResourceId}}async function submitResponse(status,event){const json={Status:status,Reason:event.Reason??status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:event.NoEcho,Data:event.Data},parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;exports.external.log("submit response to cloudformation",loggingSafeUrl,json);const responseBody=JSON.stringify(json),req={hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}};await withRetries({attempts:5,sleep:1e3},exports.external.sendHttpRequest)(req,responseBody)}async function defaultSendHttpRequest(options,requestBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,response=>{response.resume(),!response.statusCode||response.statusCode>=400?reject(new Error(`Unsuccessful HTTP response: ${response.statusCode}`)):resolve()});request.on("error",reject),request.write(requestBody),request.end()}catch(e){reject(e)}})}function defaultLog(fmt,...params){console.log(fmt,...params)}function withRetries(options,fn){return async(...xs)=>{let attempts=options.attempts,ms=options.sleep;for(;;)try{return await fn(...xs)}catch(e){if(attempts--<=0)throw e;await sleep(Math.floor(Math.random()*ms)),ms*=2}}}async function sleep(ms){return new Promise(ok=>setTimeout(ok,ms))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.external=void 0,exports.handler=handler,exports.withRetries=withRetries;const https=require("https"),url=require("url");exports.external={sendHttpRequest:defaultSendHttpRequest,log:defaultLog,includeStackTraces:!0,userHandlerIndex:"./index"};const CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function handler(event,context){const sanitizedEvent={...event,ResponseURL:"..."};if(exports.external.log(JSON.stringify(sanitizedEvent,void 0,2)),event.RequestType==="Delete"&&event.PhysicalResourceId===CREATE_FAILED_PHYSICAL_ID_MARKER){exports.external.log("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{const userHandler=require(exports.external.userHandlerIndex).handler,result=await userHandler(sanitizedEvent,context),responseEvent=renderResponse(event,result);await submitResponse("SUCCESS",responseEvent)}catch(e){const resp={...event,Reason:exports.external.includeStackTraces?e.stack:e.message};resp.PhysicalResourceId||(event.RequestType==="Create"?(exports.external.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),resp.PhysicalResourceId=CREATE_FAILED_PHYSICAL_ID_MARKER):exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`)),await submitResponse("FAILED",resp)}}function renderResponse(cfnRequest,handlerResponse={}){const physicalResourceId=handlerResponse.PhysicalResourceId??cfnRequest.PhysicalResourceId??cfnRequest.RequestId;if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`);return{...cfnRequest,...handlerResponse,PhysicalResourceId:physicalResourceId}}async function submitResponse(status,event){const json={Status:status,Reason:event.Reason??status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:event.NoEcho,Data:event.Data},parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;exports.external.log("submit response to cloudformation",loggingSafeUrl,json);const responseBody=JSON.stringify(json),req={hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}};await withRetries({attempts:5,sleep:1e3},exports.external.sendHttpRequest)(req,responseBody)}async function defaultSendHttpRequest(options,requestBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,response=>{response.resume(),!response.statusCode||response.statusCode>=400?reject(new Error(`Unsuccessful HTTP response: ${response.statusCode}`)):resolve()});request.on("error",reject),request.write(requestBody),request.end()}catch(e){reject(e)}})}function defaultLog(fmt,...params){console.log(fmt,...params)}function withRetries(options,fn){return async(...xs)=>{let attempts=options.attempts,ms=options.sleep;for(;;)try{return await fn(...xs)}catch(e){if(attempts--<=0)throw e;await sleep(Math.floor(Math.random()*ms)),ms*=2}}}async function sleep(ms){return new Promise(ok=>setTimeout(ok,ms))}
|
|
File without changes
|