@aws-solutions-constructs/aws-lambda-sns 2.51.0 → 2.52.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.
Files changed (40) hide show
  1. package/.eslintignore +2 -0
  2. package/.jsii +49 -4
  3. package/integ.config.json +7 -0
  4. package/lib/index.js +1 -1
  5. package/package.json +9 -8
  6. package/test/integ.lamsns-deployFunction.js +5 -2
  7. package/test/integ.lamsns-deployFunction.js.snapshot/asset.0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f/index.js +21 -0
  8. package/test/integ.lamsns-deployFunction.js.snapshot/cdk.out +1 -0
  9. package/test/integ.lamsns-deployFunction.js.snapshot/integ.json +12 -0
  10. package/test/integ.lamsns-deployFunction.js.snapshot/lamsns-deployFunction.assets.json +32 -0
  11. package/test/integ.lamsns-deployFunction.js.snapshot/lamsns-deployFunction.template.json +302 -0
  12. package/test/integ.lamsns-deployFunction.js.snapshot/lamsnsdeployFunctionIntegDefaultTestDeployAssert36FE5D09.assets.json +19 -0
  13. package/test/integ.lamsns-deployFunction.js.snapshot/lamsnsdeployFunctionIntegDefaultTestDeployAssert36FE5D09.template.json +36 -0
  14. package/test/integ.lamsns-deployFunction.js.snapshot/manifest.json +137 -0
  15. package/test/integ.lamsns-deployFunction.js.snapshot/tree.json +474 -0
  16. package/test/integ.lamsns-deployFunctionWithVpc.js +6 -2
  17. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/asset.0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f/index.js +21 -0
  18. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  19. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  20. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/cdk.out +1 -0
  21. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/integ.json +12 -0
  22. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.assets.json +45 -0
  23. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.template.json +829 -0
  24. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsnsdeployFunctionWithVpcIntegDefaultTestDeployAssertEDF33408.assets.json +19 -0
  25. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsnsdeployFunctionWithVpcIntegDefaultTestDeployAssertEDF33408.template.json +36 -0
  26. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/manifest.json +239 -0
  27. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/tree.json +1113 -0
  28. package/test/integ.lamsns-existingFunction.js +5 -2
  29. package/test/integ.lamsns-existingFunction.js.snapshot/asset.0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f/index.js +21 -0
  30. package/test/integ.lamsns-existingFunction.js.snapshot/cdk.out +1 -0
  31. package/test/integ.lamsns-existingFunction.js.snapshot/integ.json +12 -0
  32. package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.assets.json +32 -0
  33. package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.template.json +302 -0
  34. package/test/integ.lamsns-existingFunction.js.snapshot/lamsnsexistingFunctionIntegDefaultTestDeployAssert733AE3CB.assets.json +19 -0
  35. package/test/integ.lamsns-existingFunction.js.snapshot/lamsnsexistingFunctionIntegDefaultTestDeployAssert733AE3CB.template.json +36 -0
  36. package/test/integ.lamsns-existingFunction.js.snapshot/manifest.json +137 -0
  37. package/test/integ.lamsns-existingFunction.js.snapshot/tree.json +474 -0
  38. package/test/integ.lamsns-deployFunction.expected.json +0 -302
  39. package/test/integ.lamsns-deployFunctionWithVpc.expected.json +0 -744
  40. package/test/integ.lamsns-existingFunction.expected.json +0 -302
@@ -0,0 +1,1113 @@
1
+ {
2
+ "version": "tree-0.1",
3
+ "tree": {
4
+ "id": "App",
5
+ "path": "",
6
+ "children": {
7
+ "lamsns-deployFunctionWithVpc": {
8
+ "id": "lamsns-deployFunctionWithVpc",
9
+ "path": "lamsns-deployFunctionWithVpc",
10
+ "children": {
11
+ "test-lambda-sns": {
12
+ "id": "test-lambda-sns",
13
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns",
14
+ "children": {
15
+ "LambdaFunctionServiceRole": {
16
+ "id": "LambdaFunctionServiceRole",
17
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole",
18
+ "children": {
19
+ "ImportLambdaFunctionServiceRole": {
20
+ "id": "ImportLambdaFunctionServiceRole",
21
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole",
22
+ "constructInfo": {
23
+ "fqn": "aws-cdk-lib.Resource",
24
+ "version": "2.118.0"
25
+ }
26
+ },
27
+ "Resource": {
28
+ "id": "Resource",
29
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/Resource",
30
+ "attributes": {
31
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
32
+ "aws:cdk:cloudformation:props": {
33
+ "assumeRolePolicyDocument": {
34
+ "Statement": [
35
+ {
36
+ "Action": "sts:AssumeRole",
37
+ "Effect": "Allow",
38
+ "Principal": {
39
+ "Service": "lambda.amazonaws.com"
40
+ }
41
+ }
42
+ ],
43
+ "Version": "2012-10-17"
44
+ },
45
+ "policies": [
46
+ {
47
+ "policyName": "LambdaFunctionServiceRolePolicy",
48
+ "policyDocument": {
49
+ "Statement": [
50
+ {
51
+ "Action": [
52
+ "logs:CreateLogGroup",
53
+ "logs:CreateLogStream",
54
+ "logs:PutLogEvents"
55
+ ],
56
+ "Effect": "Allow",
57
+ "Resource": {
58
+ "Fn::Join": [
59
+ "",
60
+ [
61
+ "arn:",
62
+ {
63
+ "Ref": "AWS::Partition"
64
+ },
65
+ ":logs:",
66
+ {
67
+ "Ref": "AWS::Region"
68
+ },
69
+ ":",
70
+ {
71
+ "Ref": "AWS::AccountId"
72
+ },
73
+ ":log-group:/aws/lambda/*"
74
+ ]
75
+ ]
76
+ }
77
+ }
78
+ ],
79
+ "Version": "2012-10-17"
80
+ }
81
+ }
82
+ ]
83
+ }
84
+ },
85
+ "constructInfo": {
86
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
87
+ "version": "2.118.0"
88
+ }
89
+ },
90
+ "DefaultPolicy": {
91
+ "id": "DefaultPolicy",
92
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy",
93
+ "children": {
94
+ "Resource": {
95
+ "id": "Resource",
96
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy/Resource",
97
+ "attributes": {
98
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
99
+ "aws:cdk:cloudformation:props": {
100
+ "policyDocument": {
101
+ "Statement": [
102
+ {
103
+ "Action": [
104
+ "ec2:AssignPrivateIpAddresses",
105
+ "ec2:CreateNetworkInterface",
106
+ "ec2:DeleteNetworkInterface",
107
+ "ec2:DescribeNetworkInterfaces",
108
+ "ec2:UnassignPrivateIpAddresses",
109
+ "xray:PutTelemetryRecords",
110
+ "xray:PutTraceSegments"
111
+ ],
112
+ "Effect": "Allow",
113
+ "Resource": "*"
114
+ },
115
+ {
116
+ "Action": "sns:Publish",
117
+ "Effect": "Allow",
118
+ "Resource": {
119
+ "Ref": "testlambdasnsSnsTopic57DFED98"
120
+ }
121
+ }
122
+ ],
123
+ "Version": "2012-10-17"
124
+ },
125
+ "policyName": "testlambdasnsLambdaFunctionServiceRoleDefaultPolicyBB1D55CB",
126
+ "roles": [
127
+ {
128
+ "Ref": "testlambdasnsLambdaFunctionServiceRole9C412F74"
129
+ }
130
+ ]
131
+ }
132
+ },
133
+ "constructInfo": {
134
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
135
+ "version": "2.118.0"
136
+ }
137
+ }
138
+ },
139
+ "constructInfo": {
140
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
141
+ "version": "2.118.0"
142
+ }
143
+ }
144
+ },
145
+ "constructInfo": {
146
+ "fqn": "aws-cdk-lib.aws_iam.Role",
147
+ "version": "2.118.0"
148
+ }
149
+ },
150
+ "ReplaceDefaultSecurityGroup-security-group": {
151
+ "id": "ReplaceDefaultSecurityGroup-security-group",
152
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group",
153
+ "children": {
154
+ "Resource": {
155
+ "id": "Resource",
156
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group/Resource",
157
+ "attributes": {
158
+ "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup",
159
+ "aws:cdk:cloudformation:props": {
160
+ "groupDescription": "lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group",
161
+ "securityGroupEgress": [
162
+ {
163
+ "cidrIp": "0.0.0.0/0",
164
+ "description": "Allow all outbound traffic by default",
165
+ "ipProtocol": "-1"
166
+ }
167
+ ],
168
+ "vpcId": {
169
+ "Ref": "Vpc8378EB38"
170
+ }
171
+ }
172
+ },
173
+ "constructInfo": {
174
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup",
175
+ "version": "2.118.0"
176
+ }
177
+ }
178
+ },
179
+ "constructInfo": {
180
+ "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup",
181
+ "version": "2.118.0"
182
+ }
183
+ },
184
+ "LambdaFunction": {
185
+ "id": "LambdaFunction",
186
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction",
187
+ "children": {
188
+ "Code": {
189
+ "id": "Code",
190
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code",
191
+ "children": {
192
+ "Stage": {
193
+ "id": "Stage",
194
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code/Stage",
195
+ "constructInfo": {
196
+ "fqn": "aws-cdk-lib.AssetStaging",
197
+ "version": "2.118.0"
198
+ }
199
+ },
200
+ "AssetBucket": {
201
+ "id": "AssetBucket",
202
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code/AssetBucket",
203
+ "constructInfo": {
204
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
205
+ "version": "2.118.0"
206
+ }
207
+ }
208
+ },
209
+ "constructInfo": {
210
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
211
+ "version": "2.118.0"
212
+ }
213
+ },
214
+ "Resource": {
215
+ "id": "Resource",
216
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Resource",
217
+ "attributes": {
218
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
219
+ "aws:cdk:cloudformation:props": {
220
+ "code": {
221
+ "s3Bucket": {
222
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
223
+ },
224
+ "s3Key": "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.zip"
225
+ },
226
+ "environment": {
227
+ "variables": {
228
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
229
+ "SNS_TOPIC_ARN": {
230
+ "Ref": "testlambdasnsSnsTopic57DFED98"
231
+ },
232
+ "SNS_TOPIC_NAME": {
233
+ "Fn::GetAtt": [
234
+ "testlambdasnsSnsTopic57DFED98",
235
+ "TopicName"
236
+ ]
237
+ }
238
+ }
239
+ },
240
+ "handler": "index.handler",
241
+ "role": {
242
+ "Fn::GetAtt": [
243
+ "testlambdasnsLambdaFunctionServiceRole9C412F74",
244
+ "Arn"
245
+ ]
246
+ },
247
+ "runtime": "nodejs16.x",
248
+ "tracingConfig": {
249
+ "mode": "Active"
250
+ },
251
+ "vpcConfig": {
252
+ "subnetIds": [
253
+ {
254
+ "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
255
+ },
256
+ {
257
+ "Ref": "VpcisolatedSubnet2Subnet39217055"
258
+ }
259
+ ],
260
+ "securityGroupIds": [
261
+ {
262
+ "Fn::GetAtt": [
263
+ "testlambdasnsReplaceDefaultSecurityGroupsecuritygroup071D13CB",
264
+ "GroupId"
265
+ ]
266
+ }
267
+ ]
268
+ }
269
+ }
270
+ },
271
+ "constructInfo": {
272
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
273
+ "version": "2.118.0"
274
+ }
275
+ }
276
+ },
277
+ "constructInfo": {
278
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
279
+ "version": "2.118.0"
280
+ }
281
+ },
282
+ "aws-managed-key": {
283
+ "id": "aws-managed-key",
284
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/aws-managed-key",
285
+ "constructInfo": {
286
+ "fqn": "aws-cdk-lib.Resource",
287
+ "version": "2.118.0"
288
+ }
289
+ },
290
+ "SnsTopic": {
291
+ "id": "SnsTopic",
292
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic",
293
+ "children": {
294
+ "Resource": {
295
+ "id": "Resource",
296
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Resource",
297
+ "attributes": {
298
+ "aws:cdk:cloudformation:type": "AWS::SNS::Topic",
299
+ "aws:cdk:cloudformation:props": {
300
+ "kmsMasterKeyId": {
301
+ "Fn::Join": [
302
+ "",
303
+ [
304
+ "arn:",
305
+ {
306
+ "Ref": "AWS::Partition"
307
+ },
308
+ ":kms:",
309
+ {
310
+ "Ref": "AWS::Region"
311
+ },
312
+ ":",
313
+ {
314
+ "Ref": "AWS::AccountId"
315
+ },
316
+ ":alias/aws/sns"
317
+ ]
318
+ ]
319
+ }
320
+ }
321
+ },
322
+ "constructInfo": {
323
+ "fqn": "aws-cdk-lib.aws_sns.CfnTopic",
324
+ "version": "2.118.0"
325
+ }
326
+ },
327
+ "Policy": {
328
+ "id": "Policy",
329
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Policy",
330
+ "children": {
331
+ "Resource": {
332
+ "id": "Resource",
333
+ "path": "lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Policy/Resource",
334
+ "attributes": {
335
+ "aws:cdk:cloudformation:type": "AWS::SNS::TopicPolicy",
336
+ "aws:cdk:cloudformation:props": {
337
+ "policyDocument": {
338
+ "Statement": [
339
+ {
340
+ "Action": [
341
+ "SNS:AddPermission",
342
+ "SNS:DeleteTopic",
343
+ "SNS:GetTopicAttributes",
344
+ "SNS:ListSubscriptionsByTopic",
345
+ "SNS:Publish",
346
+ "SNS:Receive",
347
+ "SNS:RemovePermission",
348
+ "SNS:SetTopicAttributes",
349
+ "SNS:Subscribe"
350
+ ],
351
+ "Condition": {
352
+ "StringEquals": {
353
+ "AWS:SourceOwner": {
354
+ "Ref": "AWS::AccountId"
355
+ }
356
+ }
357
+ },
358
+ "Effect": "Allow",
359
+ "Principal": {
360
+ "AWS": {
361
+ "Fn::Join": [
362
+ "",
363
+ [
364
+ "arn:",
365
+ {
366
+ "Ref": "AWS::Partition"
367
+ },
368
+ ":iam::",
369
+ {
370
+ "Ref": "AWS::AccountId"
371
+ },
372
+ ":root"
373
+ ]
374
+ ]
375
+ }
376
+ },
377
+ "Resource": {
378
+ "Ref": "testlambdasnsSnsTopic57DFED98"
379
+ },
380
+ "Sid": "TopicOwnerOnlyAccess"
381
+ },
382
+ {
383
+ "Action": [
384
+ "SNS:AddPermission",
385
+ "SNS:DeleteTopic",
386
+ "SNS:GetTopicAttributes",
387
+ "SNS:ListSubscriptionsByTopic",
388
+ "SNS:Publish",
389
+ "SNS:Receive",
390
+ "SNS:RemovePermission",
391
+ "SNS:SetTopicAttributes",
392
+ "SNS:Subscribe"
393
+ ],
394
+ "Condition": {
395
+ "Bool": {
396
+ "aws:SecureTransport": "false"
397
+ }
398
+ },
399
+ "Effect": "Deny",
400
+ "Principal": {
401
+ "AWS": "*"
402
+ },
403
+ "Resource": {
404
+ "Ref": "testlambdasnsSnsTopic57DFED98"
405
+ },
406
+ "Sid": "HttpsOnly"
407
+ }
408
+ ],
409
+ "Version": "2012-10-17"
410
+ },
411
+ "topics": [
412
+ {
413
+ "Ref": "testlambdasnsSnsTopic57DFED98"
414
+ }
415
+ ]
416
+ }
417
+ },
418
+ "constructInfo": {
419
+ "fqn": "aws-cdk-lib.aws_sns.CfnTopicPolicy",
420
+ "version": "2.118.0"
421
+ }
422
+ }
423
+ },
424
+ "constructInfo": {
425
+ "fqn": "aws-cdk-lib.aws_sns.TopicPolicy",
426
+ "version": "2.118.0"
427
+ }
428
+ }
429
+ },
430
+ "constructInfo": {
431
+ "fqn": "aws-cdk-lib.aws_sns.Topic",
432
+ "version": "2.118.0"
433
+ }
434
+ }
435
+ },
436
+ "constructInfo": {
437
+ "fqn": "@aws-solutions-constructs/aws-lambda-sns.LambdaToSns",
438
+ "version": "2.51.0"
439
+ }
440
+ },
441
+ "Vpc": {
442
+ "id": "Vpc",
443
+ "path": "lamsns-deployFunctionWithVpc/Vpc",
444
+ "children": {
445
+ "Resource": {
446
+ "id": "Resource",
447
+ "path": "lamsns-deployFunctionWithVpc/Vpc/Resource",
448
+ "attributes": {
449
+ "aws:cdk:cloudformation:type": "AWS::EC2::VPC",
450
+ "aws:cdk:cloudformation:props": {
451
+ "cidrBlock": "10.0.0.0/16",
452
+ "enableDnsHostnames": true,
453
+ "enableDnsSupport": true,
454
+ "instanceTenancy": "default",
455
+ "tags": [
456
+ {
457
+ "key": "Name",
458
+ "value": "lamsns-deployFunctionWithVpc/Vpc"
459
+ }
460
+ ]
461
+ }
462
+ },
463
+ "constructInfo": {
464
+ "fqn": "aws-cdk-lib.aws_ec2.CfnVPC",
465
+ "version": "2.118.0"
466
+ }
467
+ },
468
+ "isolatedSubnet1": {
469
+ "id": "isolatedSubnet1",
470
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1",
471
+ "children": {
472
+ "Subnet": {
473
+ "id": "Subnet",
474
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/Subnet",
475
+ "attributes": {
476
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
477
+ "aws:cdk:cloudformation:props": {
478
+ "availabilityZone": {
479
+ "Fn::Select": [
480
+ 0,
481
+ {
482
+ "Fn::GetAZs": ""
483
+ }
484
+ ]
485
+ },
486
+ "cidrBlock": "10.0.0.0/18",
487
+ "mapPublicIpOnLaunch": false,
488
+ "tags": [
489
+ {
490
+ "key": "aws-cdk:subnet-name",
491
+ "value": "isolated"
492
+ },
493
+ {
494
+ "key": "aws-cdk:subnet-type",
495
+ "value": "Isolated"
496
+ },
497
+ {
498
+ "key": "Name",
499
+ "value": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1"
500
+ }
501
+ ],
502
+ "vpcId": {
503
+ "Ref": "Vpc8378EB38"
504
+ }
505
+ }
506
+ },
507
+ "constructInfo": {
508
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet",
509
+ "version": "2.118.0"
510
+ }
511
+ },
512
+ "Acl": {
513
+ "id": "Acl",
514
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/Acl",
515
+ "constructInfo": {
516
+ "fqn": "aws-cdk-lib.Resource",
517
+ "version": "2.118.0"
518
+ }
519
+ },
520
+ "RouteTable": {
521
+ "id": "RouteTable",
522
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTable",
523
+ "attributes": {
524
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
525
+ "aws:cdk:cloudformation:props": {
526
+ "tags": [
527
+ {
528
+ "key": "Name",
529
+ "value": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1"
530
+ }
531
+ ],
532
+ "vpcId": {
533
+ "Ref": "Vpc8378EB38"
534
+ }
535
+ }
536
+ },
537
+ "constructInfo": {
538
+ "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable",
539
+ "version": "2.118.0"
540
+ }
541
+ },
542
+ "RouteTableAssociation": {
543
+ "id": "RouteTableAssociation",
544
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTableAssociation",
545
+ "attributes": {
546
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
547
+ "aws:cdk:cloudformation:props": {
548
+ "routeTableId": {
549
+ "Ref": "VpcisolatedSubnet1RouteTableE442650B"
550
+ },
551
+ "subnetId": {
552
+ "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
553
+ }
554
+ }
555
+ },
556
+ "constructInfo": {
557
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation",
558
+ "version": "2.118.0"
559
+ }
560
+ }
561
+ },
562
+ "constructInfo": {
563
+ "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet",
564
+ "version": "2.118.0"
565
+ }
566
+ },
567
+ "isolatedSubnet2": {
568
+ "id": "isolatedSubnet2",
569
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2",
570
+ "children": {
571
+ "Subnet": {
572
+ "id": "Subnet",
573
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/Subnet",
574
+ "attributes": {
575
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
576
+ "aws:cdk:cloudformation:props": {
577
+ "availabilityZone": {
578
+ "Fn::Select": [
579
+ 1,
580
+ {
581
+ "Fn::GetAZs": ""
582
+ }
583
+ ]
584
+ },
585
+ "cidrBlock": "10.0.64.0/18",
586
+ "mapPublicIpOnLaunch": false,
587
+ "tags": [
588
+ {
589
+ "key": "aws-cdk:subnet-name",
590
+ "value": "isolated"
591
+ },
592
+ {
593
+ "key": "aws-cdk:subnet-type",
594
+ "value": "Isolated"
595
+ },
596
+ {
597
+ "key": "Name",
598
+ "value": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2"
599
+ }
600
+ ],
601
+ "vpcId": {
602
+ "Ref": "Vpc8378EB38"
603
+ }
604
+ }
605
+ },
606
+ "constructInfo": {
607
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet",
608
+ "version": "2.118.0"
609
+ }
610
+ },
611
+ "Acl": {
612
+ "id": "Acl",
613
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/Acl",
614
+ "constructInfo": {
615
+ "fqn": "aws-cdk-lib.Resource",
616
+ "version": "2.118.0"
617
+ }
618
+ },
619
+ "RouteTable": {
620
+ "id": "RouteTable",
621
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTable",
622
+ "attributes": {
623
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
624
+ "aws:cdk:cloudformation:props": {
625
+ "tags": [
626
+ {
627
+ "key": "Name",
628
+ "value": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2"
629
+ }
630
+ ],
631
+ "vpcId": {
632
+ "Ref": "Vpc8378EB38"
633
+ }
634
+ }
635
+ },
636
+ "constructInfo": {
637
+ "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable",
638
+ "version": "2.118.0"
639
+ }
640
+ },
641
+ "RouteTableAssociation": {
642
+ "id": "RouteTableAssociation",
643
+ "path": "lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTableAssociation",
644
+ "attributes": {
645
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
646
+ "aws:cdk:cloudformation:props": {
647
+ "routeTableId": {
648
+ "Ref": "VpcisolatedSubnet2RouteTable334F9764"
649
+ },
650
+ "subnetId": {
651
+ "Ref": "VpcisolatedSubnet2Subnet39217055"
652
+ }
653
+ }
654
+ },
655
+ "constructInfo": {
656
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation",
657
+ "version": "2.118.0"
658
+ }
659
+ }
660
+ },
661
+ "constructInfo": {
662
+ "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet",
663
+ "version": "2.118.0"
664
+ }
665
+ },
666
+ "RestrictDefaultSecurityGroupCustomResource": {
667
+ "id": "RestrictDefaultSecurityGroupCustomResource",
668
+ "path": "lamsns-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource",
669
+ "children": {
670
+ "Default": {
671
+ "id": "Default",
672
+ "path": "lamsns-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource/Default",
673
+ "constructInfo": {
674
+ "fqn": "aws-cdk-lib.CfnResource",
675
+ "version": "2.118.0"
676
+ }
677
+ }
678
+ },
679
+ "constructInfo": {
680
+ "fqn": "aws-cdk-lib.CustomResource",
681
+ "version": "2.118.0"
682
+ }
683
+ },
684
+ "FlowLog": {
685
+ "id": "FlowLog",
686
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog",
687
+ "children": {
688
+ "IAMRole": {
689
+ "id": "IAMRole",
690
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole",
691
+ "children": {
692
+ "ImportIAMRole": {
693
+ "id": "ImportIAMRole",
694
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/ImportIAMRole",
695
+ "constructInfo": {
696
+ "fqn": "aws-cdk-lib.Resource",
697
+ "version": "2.118.0"
698
+ }
699
+ },
700
+ "Resource": {
701
+ "id": "Resource",
702
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/Resource",
703
+ "attributes": {
704
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
705
+ "aws:cdk:cloudformation:props": {
706
+ "assumeRolePolicyDocument": {
707
+ "Statement": [
708
+ {
709
+ "Action": "sts:AssumeRole",
710
+ "Effect": "Allow",
711
+ "Principal": {
712
+ "Service": "vpc-flow-logs.amazonaws.com"
713
+ }
714
+ }
715
+ ],
716
+ "Version": "2012-10-17"
717
+ },
718
+ "tags": [
719
+ {
720
+ "key": "Name",
721
+ "value": "lamsns-deployFunctionWithVpc/Vpc/FlowLog"
722
+ }
723
+ ]
724
+ }
725
+ },
726
+ "constructInfo": {
727
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
728
+ "version": "2.118.0"
729
+ }
730
+ },
731
+ "DefaultPolicy": {
732
+ "id": "DefaultPolicy",
733
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy",
734
+ "children": {
735
+ "Resource": {
736
+ "id": "Resource",
737
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource",
738
+ "attributes": {
739
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
740
+ "aws:cdk:cloudformation:props": {
741
+ "policyDocument": {
742
+ "Statement": [
743
+ {
744
+ "Action": [
745
+ "logs:CreateLogStream",
746
+ "logs:DescribeLogStreams",
747
+ "logs:PutLogEvents"
748
+ ],
749
+ "Effect": "Allow",
750
+ "Resource": {
751
+ "Fn::GetAtt": [
752
+ "VpcFlowLogLogGroup7B5C56B9",
753
+ "Arn"
754
+ ]
755
+ }
756
+ },
757
+ {
758
+ "Action": "iam:PassRole",
759
+ "Effect": "Allow",
760
+ "Resource": {
761
+ "Fn::GetAtt": [
762
+ "VpcFlowLogIAMRole6A475D41",
763
+ "Arn"
764
+ ]
765
+ }
766
+ }
767
+ ],
768
+ "Version": "2012-10-17"
769
+ },
770
+ "policyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995",
771
+ "roles": [
772
+ {
773
+ "Ref": "VpcFlowLogIAMRole6A475D41"
774
+ }
775
+ ]
776
+ }
777
+ },
778
+ "constructInfo": {
779
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
780
+ "version": "2.118.0"
781
+ }
782
+ }
783
+ },
784
+ "constructInfo": {
785
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
786
+ "version": "2.118.0"
787
+ }
788
+ }
789
+ },
790
+ "constructInfo": {
791
+ "fqn": "aws-cdk-lib.aws_iam.Role",
792
+ "version": "2.118.0"
793
+ }
794
+ },
795
+ "LogGroup": {
796
+ "id": "LogGroup",
797
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/LogGroup",
798
+ "children": {
799
+ "Resource": {
800
+ "id": "Resource",
801
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/LogGroup/Resource",
802
+ "attributes": {
803
+ "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup",
804
+ "aws:cdk:cloudformation:props": {
805
+ "retentionInDays": 731,
806
+ "tags": [
807
+ {
808
+ "key": "Name",
809
+ "value": "lamsns-deployFunctionWithVpc/Vpc/FlowLog"
810
+ }
811
+ ]
812
+ }
813
+ },
814
+ "constructInfo": {
815
+ "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup",
816
+ "version": "2.118.0"
817
+ }
818
+ }
819
+ },
820
+ "constructInfo": {
821
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup",
822
+ "version": "2.118.0"
823
+ }
824
+ },
825
+ "FlowLog": {
826
+ "id": "FlowLog",
827
+ "path": "lamsns-deployFunctionWithVpc/Vpc/FlowLog/FlowLog",
828
+ "attributes": {
829
+ "aws:cdk:cloudformation:type": "AWS::EC2::FlowLog",
830
+ "aws:cdk:cloudformation:props": {
831
+ "deliverLogsPermissionArn": {
832
+ "Fn::GetAtt": [
833
+ "VpcFlowLogIAMRole6A475D41",
834
+ "Arn"
835
+ ]
836
+ },
837
+ "logDestinationType": "cloud-watch-logs",
838
+ "logGroupName": {
839
+ "Ref": "VpcFlowLogLogGroup7B5C56B9"
840
+ },
841
+ "resourceId": {
842
+ "Ref": "Vpc8378EB38"
843
+ },
844
+ "resourceType": "VPC",
845
+ "tags": [
846
+ {
847
+ "key": "Name",
848
+ "value": "lamsns-deployFunctionWithVpc/Vpc/FlowLog"
849
+ }
850
+ ],
851
+ "trafficType": "ALL"
852
+ }
853
+ },
854
+ "constructInfo": {
855
+ "fqn": "aws-cdk-lib.aws_ec2.CfnFlowLog",
856
+ "version": "2.118.0"
857
+ }
858
+ }
859
+ },
860
+ "constructInfo": {
861
+ "fqn": "aws-cdk-lib.aws_ec2.FlowLog",
862
+ "version": "2.118.0"
863
+ }
864
+ },
865
+ "SNS": {
866
+ "id": "SNS",
867
+ "path": "lamsns-deployFunctionWithVpc/Vpc/SNS",
868
+ "children": {
869
+ "Resource": {
870
+ "id": "Resource",
871
+ "path": "lamsns-deployFunctionWithVpc/Vpc/SNS/Resource",
872
+ "attributes": {
873
+ "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint",
874
+ "aws:cdk:cloudformation:props": {
875
+ "privateDnsEnabled": true,
876
+ "securityGroupIds": [
877
+ {
878
+ "Fn::GetAtt": [
879
+ "lamsnsdeployFunctionWithVpcSNSsecuritygroup072F337C",
880
+ "GroupId"
881
+ ]
882
+ }
883
+ ],
884
+ "serviceName": {
885
+ "Fn::Join": [
886
+ "",
887
+ [
888
+ "com.amazonaws.",
889
+ {
890
+ "Ref": "AWS::Region"
891
+ },
892
+ ".sns"
893
+ ]
894
+ ]
895
+ },
896
+ "subnetIds": [
897
+ {
898
+ "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
899
+ },
900
+ {
901
+ "Ref": "VpcisolatedSubnet2Subnet39217055"
902
+ }
903
+ ],
904
+ "vpcEndpointType": "Interface",
905
+ "vpcId": {
906
+ "Ref": "Vpc8378EB38"
907
+ }
908
+ }
909
+ },
910
+ "constructInfo": {
911
+ "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint",
912
+ "version": "2.118.0"
913
+ }
914
+ }
915
+ },
916
+ "constructInfo": {
917
+ "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint",
918
+ "version": "2.118.0"
919
+ }
920
+ }
921
+ },
922
+ "constructInfo": {
923
+ "fqn": "aws-cdk-lib.aws_ec2.Vpc",
924
+ "version": "2.118.0"
925
+ }
926
+ },
927
+ "Custom::VpcRestrictDefaultSGCustomResourceProvider": {
928
+ "id": "Custom::VpcRestrictDefaultSGCustomResourceProvider",
929
+ "path": "lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider",
930
+ "children": {
931
+ "Staging": {
932
+ "id": "Staging",
933
+ "path": "lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging",
934
+ "constructInfo": {
935
+ "fqn": "aws-cdk-lib.AssetStaging",
936
+ "version": "2.118.0"
937
+ }
938
+ },
939
+ "Role": {
940
+ "id": "Role",
941
+ "path": "lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role",
942
+ "constructInfo": {
943
+ "fqn": "aws-cdk-lib.CfnResource",
944
+ "version": "2.118.0"
945
+ }
946
+ },
947
+ "Handler": {
948
+ "id": "Handler",
949
+ "path": "lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler",
950
+ "constructInfo": {
951
+ "fqn": "aws-cdk-lib.CfnResource",
952
+ "version": "2.118.0"
953
+ }
954
+ }
955
+ },
956
+ "constructInfo": {
957
+ "fqn": "aws-cdk-lib.CustomResourceProviderBase",
958
+ "version": "2.118.0"
959
+ }
960
+ },
961
+ "lamsns-deployFunctionWithVpc-SNS-security-group": {
962
+ "id": "lamsns-deployFunctionWithVpc-SNS-security-group",
963
+ "path": "lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group",
964
+ "children": {
965
+ "Resource": {
966
+ "id": "Resource",
967
+ "path": "lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group/Resource",
968
+ "attributes": {
969
+ "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup",
970
+ "aws:cdk:cloudformation:props": {
971
+ "groupDescription": "lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group",
972
+ "securityGroupEgress": [
973
+ {
974
+ "cidrIp": "0.0.0.0/0",
975
+ "description": "Allow all outbound traffic by default",
976
+ "ipProtocol": "-1"
977
+ }
978
+ ],
979
+ "securityGroupIngress": [
980
+ {
981
+ "cidrIp": {
982
+ "Fn::GetAtt": [
983
+ "Vpc8378EB38",
984
+ "CidrBlock"
985
+ ]
986
+ },
987
+ "ipProtocol": "tcp",
988
+ "fromPort": 443,
989
+ "toPort": 443,
990
+ "description": {
991
+ "Fn::Join": [
992
+ "",
993
+ [
994
+ "from ",
995
+ {
996
+ "Fn::GetAtt": [
997
+ "Vpc8378EB38",
998
+ "CidrBlock"
999
+ ]
1000
+ },
1001
+ ":443"
1002
+ ]
1003
+ ]
1004
+ }
1005
+ }
1006
+ ],
1007
+ "vpcId": {
1008
+ "Ref": "Vpc8378EB38"
1009
+ }
1010
+ }
1011
+ },
1012
+ "constructInfo": {
1013
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup",
1014
+ "version": "2.118.0"
1015
+ }
1016
+ }
1017
+ },
1018
+ "constructInfo": {
1019
+ "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup",
1020
+ "version": "2.118.0"
1021
+ }
1022
+ },
1023
+ "Integ": {
1024
+ "id": "Integ",
1025
+ "path": "lamsns-deployFunctionWithVpc/Integ",
1026
+ "children": {
1027
+ "DefaultTest": {
1028
+ "id": "DefaultTest",
1029
+ "path": "lamsns-deployFunctionWithVpc/Integ/DefaultTest",
1030
+ "children": {
1031
+ "Default": {
1032
+ "id": "Default",
1033
+ "path": "lamsns-deployFunctionWithVpc/Integ/DefaultTest/Default",
1034
+ "constructInfo": {
1035
+ "fqn": "constructs.Construct",
1036
+ "version": "10.3.0"
1037
+ }
1038
+ },
1039
+ "DeployAssert": {
1040
+ "id": "DeployAssert",
1041
+ "path": "lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert",
1042
+ "children": {
1043
+ "BootstrapVersion": {
1044
+ "id": "BootstrapVersion",
1045
+ "path": "lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/BootstrapVersion",
1046
+ "constructInfo": {
1047
+ "fqn": "aws-cdk-lib.CfnParameter",
1048
+ "version": "2.118.0"
1049
+ }
1050
+ },
1051
+ "CheckBootstrapVersion": {
1052
+ "id": "CheckBootstrapVersion",
1053
+ "path": "lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
1054
+ "constructInfo": {
1055
+ "fqn": "aws-cdk-lib.CfnRule",
1056
+ "version": "2.118.0"
1057
+ }
1058
+ }
1059
+ },
1060
+ "constructInfo": {
1061
+ "fqn": "aws-cdk-lib.Stack",
1062
+ "version": "2.118.0"
1063
+ }
1064
+ }
1065
+ },
1066
+ "constructInfo": {
1067
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
1068
+ "version": "2.118.0-alpha.0"
1069
+ }
1070
+ }
1071
+ },
1072
+ "constructInfo": {
1073
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
1074
+ "version": "2.118.0-alpha.0"
1075
+ }
1076
+ },
1077
+ "BootstrapVersion": {
1078
+ "id": "BootstrapVersion",
1079
+ "path": "lamsns-deployFunctionWithVpc/BootstrapVersion",
1080
+ "constructInfo": {
1081
+ "fqn": "aws-cdk-lib.CfnParameter",
1082
+ "version": "2.118.0"
1083
+ }
1084
+ },
1085
+ "CheckBootstrapVersion": {
1086
+ "id": "CheckBootstrapVersion",
1087
+ "path": "lamsns-deployFunctionWithVpc/CheckBootstrapVersion",
1088
+ "constructInfo": {
1089
+ "fqn": "aws-cdk-lib.CfnRule",
1090
+ "version": "2.118.0"
1091
+ }
1092
+ }
1093
+ },
1094
+ "constructInfo": {
1095
+ "fqn": "aws-cdk-lib.Stack",
1096
+ "version": "2.118.0"
1097
+ }
1098
+ },
1099
+ "Tree": {
1100
+ "id": "Tree",
1101
+ "path": "Tree",
1102
+ "constructInfo": {
1103
+ "fqn": "constructs.Construct",
1104
+ "version": "10.3.0"
1105
+ }
1106
+ }
1107
+ },
1108
+ "constructInfo": {
1109
+ "fqn": "aws-cdk-lib.App",
1110
+ "version": "2.118.0"
1111
+ }
1112
+ }
1113
+ }