@aws-solutions-constructs/aws-lambda-dynamodb 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 (75) 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.lamddb-add-secondary-index.js +5 -2
  7. package/test/integ.lamddb-add-secondary-index.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +8 -0
  8. package/test/integ.lamddb-add-secondary-index.js.snapshot/cdk.out +1 -0
  9. package/test/integ.lamddb-add-secondary-index.js.snapshot/integ.json +12 -0
  10. package/test/integ.lamddb-add-secondary-index.js.snapshot/lamddb-add-secondary-index.assets.json +32 -0
  11. package/test/integ.lamddb-add-secondary-index.js.snapshot/lamddb-add-secondary-index.template.json +262 -0
  12. package/test/integ.lamddb-add-secondary-index.js.snapshot/lamddbaddsecondaryindexIntegDefaultTestDeployAssert3193B4D9.assets.json +19 -0
  13. package/test/integ.lamddb-add-secondary-index.js.snapshot/lamddbaddsecondaryindexIntegDefaultTestDeployAssert3193B4D9.template.json +36 -0
  14. package/test/integ.lamddb-add-secondary-index.js.snapshot/manifest.json +131 -0
  15. package/test/integ.lamddb-add-secondary-index.js.snapshot/tree.json +415 -0
  16. package/test/integ.lamddb-deployFunctionWithExistingVpc.js +6 -2
  17. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +8 -0
  18. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  19. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  20. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/cdk.out +1 -0
  21. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/integ.json +12 -0
  22. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.assets.json +45 -0
  23. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.template.json +984 -0
  24. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddbdeployFunctionWithExistingVpcIntegDefaultTestDeployAssertEE08E38E.assets.json +19 -0
  25. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddbdeployFunctionWithExistingVpcIntegDefaultTestDeployAssertEE08E38E.template.json +36 -0
  26. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/manifest.json +323 -0
  27. package/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/tree.json +1372 -0
  28. package/test/integ.lamddb-deployFunctionWithVpc.js +6 -2
  29. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +8 -0
  30. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  31. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  32. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/cdk.out +1 -0
  33. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/integ.json +12 -0
  34. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.assets.json +45 -0
  35. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.template.json +694 -0
  36. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddbdeployFunctionWithVpcIntegDefaultTestDeployAssert0AB8275C.assets.json +19 -0
  37. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddbdeployFunctionWithVpcIntegDefaultTestDeployAssert0AB8275C.template.json +36 -0
  38. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/manifest.json +227 -0
  39. package/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/tree.json +954 -0
  40. package/test/integ.lamddb-no-arguments.js +5 -2
  41. package/test/integ.lamddb-no-arguments.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +8 -0
  42. package/test/integ.lamddb-no-arguments.js.snapshot/cdk.out +1 -0
  43. package/test/integ.lamddb-no-arguments.js.snapshot/integ.json +12 -0
  44. package/test/integ.lamddb-no-arguments.js.snapshot/lamddb-no-arguments.assets.json +32 -0
  45. package/test/integ.lamddb-no-arguments.js.snapshot/lamddb-no-arguments.template.json +233 -0
  46. package/test/integ.lamddb-no-arguments.js.snapshot/lamddbnoargumentsIntegDefaultTestDeployAssert248B75D0.assets.json +19 -0
  47. package/test/integ.lamddb-no-arguments.js.snapshot/lamddbnoargumentsIntegDefaultTestDeployAssert248B75D0.template.json +36 -0
  48. package/test/integ.lamddb-no-arguments.js.snapshot/manifest.json +131 -0
  49. package/test/integ.lamddb-no-arguments.js.snapshot/tree.json +386 -0
  50. package/test/integ.lamddb-set-billing-mode.js +5 -2
  51. package/test/integ.lamddb-set-billing-mode.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +8 -0
  52. package/test/integ.lamddb-set-billing-mode.js.snapshot/cdk.out +1 -0
  53. package/test/integ.lamddb-set-billing-mode.js.snapshot/integ.json +12 -0
  54. package/test/integ.lamddb-set-billing-mode.js.snapshot/lamddb-set-billing-mode.assets.json +32 -0
  55. package/test/integ.lamddb-set-billing-mode.js.snapshot/lamddb-set-billing-mode.template.json +246 -0
  56. package/test/integ.lamddb-set-billing-mode.js.snapshot/lamddbsetbillingmodeIntegDefaultTestDeployAssertDAE32272.assets.json +19 -0
  57. package/test/integ.lamddb-set-billing-mode.js.snapshot/lamddbsetbillingmodeIntegDefaultTestDeployAssertDAE32272.template.json +36 -0
  58. package/test/integ.lamddb-set-billing-mode.js.snapshot/manifest.json +131 -0
  59. package/test/integ.lamddb-set-billing-mode.js.snapshot/tree.json +389 -0
  60. package/test/integ.lamddb-use-existing-func.js +5 -2
  61. package/test/integ.lamddb-use-existing-func.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +8 -0
  62. package/test/integ.lamddb-use-existing-func.js.snapshot/cdk.out +1 -0
  63. package/test/integ.lamddb-use-existing-func.js.snapshot/integ.json +12 -0
  64. package/test/integ.lamddb-use-existing-func.js.snapshot/lamddb-use-existing-func.assets.json +32 -0
  65. package/test/integ.lamddb-use-existing-func.js.snapshot/lamddb-use-existing-func.template.json +233 -0
  66. package/test/integ.lamddb-use-existing-func.js.snapshot/lamddbuseexistingfuncIntegDefaultTestDeployAssert48D284DD.assets.json +19 -0
  67. package/test/integ.lamddb-use-existing-func.js.snapshot/lamddbuseexistingfuncIntegDefaultTestDeployAssert48D284DD.template.json +36 -0
  68. package/test/integ.lamddb-use-existing-func.js.snapshot/manifest.json +131 -0
  69. package/test/integ.lamddb-use-existing-func.js.snapshot/tree.json +386 -0
  70. package/test/integ.lamddb-add-secondary-index.expected.json +0 -262
  71. package/test/integ.lamddb-deployFunctionWithExistingVpc.expected.json +0 -1012
  72. package/test/integ.lamddb-deployFunctionWithVpc.expected.json +0 -609
  73. package/test/integ.lamddb-no-arguments.expected.json +0 -233
  74. package/test/integ.lamddb-set-billing-mode.expected.json +0 -246
  75. package/test/integ.lamddb-use-existing-func.expected.json +0 -233
@@ -1,609 +0,0 @@
1
- {
2
- "Description": "Integration Test for aws-lambda-dynamodb",
3
- "Resources": {
4
- "testlambdadynamodbstackLambdaFunctionServiceRole758347A1": {
5
- "Type": "AWS::IAM::Role",
6
- "Properties": {
7
- "AssumeRolePolicyDocument": {
8
- "Statement": [
9
- {
10
- "Action": "sts:AssumeRole",
11
- "Effect": "Allow",
12
- "Principal": {
13
- "Service": "lambda.amazonaws.com"
14
- }
15
- }
16
- ],
17
- "Version": "2012-10-17"
18
- },
19
- "Policies": [
20
- {
21
- "PolicyDocument": {
22
- "Statement": [
23
- {
24
- "Action": [
25
- "logs:CreateLogGroup",
26
- "logs:CreateLogStream",
27
- "logs:PutLogEvents"
28
- ],
29
- "Effect": "Allow",
30
- "Resource": {
31
- "Fn::Join": [
32
- "",
33
- [
34
- "arn:",
35
- {
36
- "Ref": "AWS::Partition"
37
- },
38
- ":logs:",
39
- {
40
- "Ref": "AWS::Region"
41
- },
42
- ":",
43
- {
44
- "Ref": "AWS::AccountId"
45
- },
46
- ":log-group:/aws/lambda/*"
47
- ]
48
- ]
49
- }
50
- }
51
- ],
52
- "Version": "2012-10-17"
53
- },
54
- "PolicyName": "LambdaFunctionServiceRolePolicy"
55
- }
56
- ]
57
- }
58
- },
59
- "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4": {
60
- "Type": "AWS::IAM::Policy",
61
- "Properties": {
62
- "PolicyDocument": {
63
- "Statement": [
64
- {
65
- "Action": [
66
- "ec2:CreateNetworkInterface",
67
- "ec2:DescribeNetworkInterfaces",
68
- "ec2:DeleteNetworkInterface",
69
- "ec2:AssignPrivateIpAddresses",
70
- "ec2:UnassignPrivateIpAddresses"
71
- ],
72
- "Effect": "Allow",
73
- "Resource": "*"
74
- },
75
- {
76
- "Action": [
77
- "xray:PutTraceSegments",
78
- "xray:PutTelemetryRecords"
79
- ],
80
- "Effect": "Allow",
81
- "Resource": "*"
82
- },
83
- {
84
- "Action": [
85
- "dynamodb:BatchGetItem",
86
- "dynamodb:GetRecords",
87
- "dynamodb:GetShardIterator",
88
- "dynamodb:Query",
89
- "dynamodb:GetItem",
90
- "dynamodb:Scan",
91
- "dynamodb:ConditionCheckItem",
92
- "dynamodb:BatchWriteItem",
93
- "dynamodb:PutItem",
94
- "dynamodb:UpdateItem",
95
- "dynamodb:DeleteItem",
96
- "dynamodb:DescribeTable"
97
- ],
98
- "Effect": "Allow",
99
- "Resource": [
100
- {
101
- "Fn::GetAtt": [
102
- "testlambdadynamodbstackDynamoTable8138E93B",
103
- "Arn"
104
- ]
105
- },
106
- {
107
- "Ref": "AWS::NoValue"
108
- }
109
- ]
110
- }
111
- ],
112
- "Version": "2012-10-17"
113
- },
114
- "PolicyName": "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4",
115
- "Roles": [
116
- {
117
- "Ref": "testlambdadynamodbstackLambdaFunctionServiceRole758347A1"
118
- }
119
- ]
120
- },
121
- "Metadata": {
122
- "cfn_nag": {
123
- "rules_to_suppress": [
124
- {
125
- "id": "W12",
126
- "reason": "Lambda needs the following minimum required permissions to send trace data to X-Ray and access ENIs in a VPC."
127
- }
128
- ]
129
- }
130
- }
131
- },
132
- "testlambdadynamodbstackReplaceDefaultSecurityGroupsecuritygroup15025C82": {
133
- "Type": "AWS::EC2::SecurityGroup",
134
- "Properties": {
135
- "GroupDescription": "lamddb-deployFunctionWithVpc/test-lambda-dynamodb-stack/ReplaceDefaultSecurityGroup-security-group",
136
- "SecurityGroupEgress": [
137
- {
138
- "CidrIp": "0.0.0.0/0",
139
- "Description": "Allow all outbound traffic by default",
140
- "IpProtocol": "-1"
141
- }
142
- ],
143
- "VpcId": {
144
- "Ref": "Vpc8378EB38"
145
- }
146
- },
147
- "Metadata": {
148
- "cfn_nag": {
149
- "rules_to_suppress": [
150
- {
151
- "id": "W5",
152
- "reason": "Egress of 0.0.0.0/0 is default and generally considered OK"
153
- },
154
- {
155
- "id": "W40",
156
- "reason": "Egress IPProtocol of -1 is default and generally considered OK"
157
- }
158
- ]
159
- }
160
- }
161
- },
162
- "testlambdadynamodbstackLambdaFunction5DDB3E8D": {
163
- "Type": "AWS::Lambda::Function",
164
- "Properties": {
165
- "Code": {
166
- "S3Bucket": {
167
- "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
168
- },
169
- "S3Key": "0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8.zip"
170
- },
171
- "Environment": {
172
- "Variables": {
173
- "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
174
- "DDB_TABLE_NAME": {
175
- "Ref": "testlambdadynamodbstackDynamoTable8138E93B"
176
- }
177
- }
178
- },
179
- "Handler": "index.handler",
180
- "Role": {
181
- "Fn::GetAtt": [
182
- "testlambdadynamodbstackLambdaFunctionServiceRole758347A1",
183
- "Arn"
184
- ]
185
- },
186
- "Runtime": "nodejs16.x",
187
- "TracingConfig": {
188
- "Mode": "Active"
189
- },
190
- "VpcConfig": {
191
- "SecurityGroupIds": [
192
- {
193
- "Fn::GetAtt": [
194
- "testlambdadynamodbstackReplaceDefaultSecurityGroupsecuritygroup15025C82",
195
- "GroupId"
196
- ]
197
- }
198
- ],
199
- "SubnetIds": [
200
- {
201
- "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
202
- },
203
- {
204
- "Ref": "VpcisolatedSubnet2Subnet39217055"
205
- },
206
- {
207
- "Ref": "VpcisolatedSubnet3Subnet44F2537D"
208
- }
209
- ]
210
- }
211
- },
212
- "DependsOn": [
213
- "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4",
214
- "testlambdadynamodbstackLambdaFunctionServiceRole758347A1",
215
- "VpcisolatedSubnet1RouteTableAssociationD259E31A",
216
- "VpcisolatedSubnet2RouteTableAssociation25A4716F",
217
- "VpcisolatedSubnet3RouteTableAssociationDC010BEB"
218
- ],
219
- "Metadata": {
220
- "cfn_nag": {
221
- "rules_to_suppress": [
222
- {
223
- "id": "W58",
224
- "reason": "Lambda functions has the required permission to write CloudWatch Logs. It uses custom policy instead of arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole with tighter permissions."
225
- },
226
- {
227
- "id": "W89",
228
- "reason": "This is not a rule for the general case, just for specific use cases/industries"
229
- },
230
- {
231
- "id": "W92",
232
- "reason": "Impossible for us to define the correct concurrency for clients"
233
- }
234
- ]
235
- }
236
- }
237
- },
238
- "testlambdadynamodbstackDynamoTable8138E93B": {
239
- "Type": "AWS::DynamoDB::Table",
240
- "Properties": {
241
- "AttributeDefinitions": [
242
- {
243
- "AttributeName": "id",
244
- "AttributeType": "S"
245
- }
246
- ],
247
- "BillingMode": "PAY_PER_REQUEST",
248
- "KeySchema": [
249
- {
250
- "AttributeName": "id",
251
- "KeyType": "HASH"
252
- }
253
- ],
254
- "PointInTimeRecoverySpecification": {
255
- "PointInTimeRecoveryEnabled": true
256
- },
257
- "SSESpecification": {
258
- "SSEEnabled": true
259
- }
260
- },
261
- "UpdateReplacePolicy": "Retain",
262
- "DeletionPolicy": "Retain"
263
- },
264
- "Vpc8378EB38": {
265
- "Type": "AWS::EC2::VPC",
266
- "Properties": {
267
- "CidrBlock": "10.0.0.0/16",
268
- "EnableDnsHostnames": true,
269
- "EnableDnsSupport": true,
270
- "InstanceTenancy": "default",
271
- "Tags": [
272
- {
273
- "Key": "Name",
274
- "Value": "lamddb-deployFunctionWithVpc/Vpc"
275
- }
276
- ]
277
- }
278
- },
279
- "VpcisolatedSubnet1SubnetE62B1B9B": {
280
- "Type": "AWS::EC2::Subnet",
281
- "Properties": {
282
- "AvailabilityZone": "test-region-1a",
283
- "CidrBlock": "10.0.0.0/18",
284
- "MapPublicIpOnLaunch": false,
285
- "Tags": [
286
- {
287
- "Key": "aws-cdk:subnet-name",
288
- "Value": "isolated"
289
- },
290
- {
291
- "Key": "aws-cdk:subnet-type",
292
- "Value": "Isolated"
293
- },
294
- {
295
- "Key": "Name",
296
- "Value": "lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1"
297
- }
298
- ],
299
- "VpcId": {
300
- "Ref": "Vpc8378EB38"
301
- }
302
- }
303
- },
304
- "VpcisolatedSubnet1RouteTableE442650B": {
305
- "Type": "AWS::EC2::RouteTable",
306
- "Properties": {
307
- "Tags": [
308
- {
309
- "Key": "Name",
310
- "Value": "lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet1"
311
- }
312
- ],
313
- "VpcId": {
314
- "Ref": "Vpc8378EB38"
315
- }
316
- }
317
- },
318
- "VpcisolatedSubnet1RouteTableAssociationD259E31A": {
319
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
320
- "Properties": {
321
- "RouteTableId": {
322
- "Ref": "VpcisolatedSubnet1RouteTableE442650B"
323
- },
324
- "SubnetId": {
325
- "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
326
- }
327
- }
328
- },
329
- "VpcisolatedSubnet2Subnet39217055": {
330
- "Type": "AWS::EC2::Subnet",
331
- "Properties": {
332
- "AvailabilityZone": "test-region-1b",
333
- "CidrBlock": "10.0.64.0/18",
334
- "MapPublicIpOnLaunch": false,
335
- "Tags": [
336
- {
337
- "Key": "aws-cdk:subnet-name",
338
- "Value": "isolated"
339
- },
340
- {
341
- "Key": "aws-cdk:subnet-type",
342
- "Value": "Isolated"
343
- },
344
- {
345
- "Key": "Name",
346
- "Value": "lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2"
347
- }
348
- ],
349
- "VpcId": {
350
- "Ref": "Vpc8378EB38"
351
- }
352
- }
353
- },
354
- "VpcisolatedSubnet2RouteTable334F9764": {
355
- "Type": "AWS::EC2::RouteTable",
356
- "Properties": {
357
- "Tags": [
358
- {
359
- "Key": "Name",
360
- "Value": "lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet2"
361
- }
362
- ],
363
- "VpcId": {
364
- "Ref": "Vpc8378EB38"
365
- }
366
- }
367
- },
368
- "VpcisolatedSubnet2RouteTableAssociation25A4716F": {
369
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
370
- "Properties": {
371
- "RouteTableId": {
372
- "Ref": "VpcisolatedSubnet2RouteTable334F9764"
373
- },
374
- "SubnetId": {
375
- "Ref": "VpcisolatedSubnet2Subnet39217055"
376
- }
377
- }
378
- },
379
- "VpcisolatedSubnet3Subnet44F2537D": {
380
- "Type": "AWS::EC2::Subnet",
381
- "Properties": {
382
- "AvailabilityZone": "test-region-1c",
383
- "CidrBlock": "10.0.128.0/18",
384
- "MapPublicIpOnLaunch": false,
385
- "Tags": [
386
- {
387
- "Key": "aws-cdk:subnet-name",
388
- "Value": "isolated"
389
- },
390
- {
391
- "Key": "aws-cdk:subnet-type",
392
- "Value": "Isolated"
393
- },
394
- {
395
- "Key": "Name",
396
- "Value": "lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet3"
397
- }
398
- ],
399
- "VpcId": {
400
- "Ref": "Vpc8378EB38"
401
- }
402
- }
403
- },
404
- "VpcisolatedSubnet3RouteTableA2F6BBC0": {
405
- "Type": "AWS::EC2::RouteTable",
406
- "Properties": {
407
- "Tags": [
408
- {
409
- "Key": "Name",
410
- "Value": "lamddb-deployFunctionWithVpc/Vpc/isolatedSubnet3"
411
- }
412
- ],
413
- "VpcId": {
414
- "Ref": "Vpc8378EB38"
415
- }
416
- }
417
- },
418
- "VpcisolatedSubnet3RouteTableAssociationDC010BEB": {
419
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
420
- "Properties": {
421
- "RouteTableId": {
422
- "Ref": "VpcisolatedSubnet3RouteTableA2F6BBC0"
423
- },
424
- "SubnetId": {
425
- "Ref": "VpcisolatedSubnet3Subnet44F2537D"
426
- }
427
- }
428
- },
429
- "VpcFlowLogIAMRole6A475D41": {
430
- "Type": "AWS::IAM::Role",
431
- "Properties": {
432
- "AssumeRolePolicyDocument": {
433
- "Statement": [
434
- {
435
- "Action": "sts:AssumeRole",
436
- "Effect": "Allow",
437
- "Principal": {
438
- "Service": "vpc-flow-logs.amazonaws.com"
439
- }
440
- }
441
- ],
442
- "Version": "2012-10-17"
443
- },
444
- "Tags": [
445
- {
446
- "Key": "Name",
447
- "Value": "lamddb-deployFunctionWithVpc/Vpc/FlowLog"
448
- }
449
- ]
450
- }
451
- },
452
- "VpcFlowLogIAMRoleDefaultPolicy406FB995": {
453
- "Type": "AWS::IAM::Policy",
454
- "Properties": {
455
- "PolicyDocument": {
456
- "Statement": [
457
- {
458
- "Action": [
459
- "logs:CreateLogStream",
460
- "logs:PutLogEvents",
461
- "logs:DescribeLogStreams"
462
- ],
463
- "Effect": "Allow",
464
- "Resource": {
465
- "Fn::GetAtt": [
466
- "VpcFlowLogLogGroup7B5C56B9",
467
- "Arn"
468
- ]
469
- }
470
- },
471
- {
472
- "Action": "iam:PassRole",
473
- "Effect": "Allow",
474
- "Resource": {
475
- "Fn::GetAtt": [
476
- "VpcFlowLogIAMRole6A475D41",
477
- "Arn"
478
- ]
479
- }
480
- }
481
- ],
482
- "Version": "2012-10-17"
483
- },
484
- "PolicyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995",
485
- "Roles": [
486
- {
487
- "Ref": "VpcFlowLogIAMRole6A475D41"
488
- }
489
- ]
490
- }
491
- },
492
- "VpcFlowLogLogGroup7B5C56B9": {
493
- "Type": "AWS::Logs::LogGroup",
494
- "Properties": {
495
- "RetentionInDays": 731,
496
- "Tags": [
497
- {
498
- "Key": "Name",
499
- "Value": "lamddb-deployFunctionWithVpc/Vpc/FlowLog"
500
- }
501
- ]
502
- },
503
- "UpdateReplacePolicy": "Retain",
504
- "DeletionPolicy": "Retain",
505
- "Metadata": {
506
- "cfn_nag": {
507
- "rules_to_suppress": [
508
- {
509
- "id": "W84",
510
- "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
511
- }
512
- ]
513
- }
514
- }
515
- },
516
- "VpcFlowLog8FF33A73": {
517
- "Type": "AWS::EC2::FlowLog",
518
- "Properties": {
519
- "DeliverLogsPermissionArn": {
520
- "Fn::GetAtt": [
521
- "VpcFlowLogIAMRole6A475D41",
522
- "Arn"
523
- ]
524
- },
525
- "LogDestinationType": "cloud-watch-logs",
526
- "LogGroupName": {
527
- "Ref": "VpcFlowLogLogGroup7B5C56B9"
528
- },
529
- "ResourceId": {
530
- "Ref": "Vpc8378EB38"
531
- },
532
- "ResourceType": "VPC",
533
- "Tags": [
534
- {
535
- "Key": "Name",
536
- "Value": "lamddb-deployFunctionWithVpc/Vpc/FlowLog"
537
- }
538
- ],
539
- "TrafficType": "ALL"
540
- }
541
- },
542
- "VpcDDB49FBEC5F": {
543
- "Type": "AWS::EC2::VPCEndpoint",
544
- "Properties": {
545
- "RouteTableIds": [
546
- {
547
- "Ref": "VpcisolatedSubnet1RouteTableE442650B"
548
- },
549
- {
550
- "Ref": "VpcisolatedSubnet2RouteTable334F9764"
551
- },
552
- {
553
- "Ref": "VpcisolatedSubnet3RouteTableA2F6BBC0"
554
- }
555
- ],
556
- "ServiceName": {
557
- "Fn::Join": [
558
- "",
559
- [
560
- "com.amazonaws.",
561
- {
562
- "Ref": "AWS::Region"
563
- },
564
- ".dynamodb"
565
- ]
566
- ]
567
- },
568
- "VpcEndpointType": "Gateway",
569
- "VpcId": {
570
- "Ref": "Vpc8378EB38"
571
- }
572
- }
573
- }
574
- },
575
- "Parameters": {
576
- "BootstrapVersion": {
577
- "Type": "AWS::SSM::Parameter::Value<String>",
578
- "Default": "/cdk-bootstrap/hnb659fds/version",
579
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
580
- }
581
- },
582
- "Rules": {
583
- "CheckBootstrapVersion": {
584
- "Assertions": [
585
- {
586
- "Assert": {
587
- "Fn::Not": [
588
- {
589
- "Fn::Contains": [
590
- [
591
- "1",
592
- "2",
593
- "3",
594
- "4",
595
- "5"
596
- ],
597
- {
598
- "Ref": "BootstrapVersion"
599
- }
600
- ]
601
- }
602
- ]
603
- },
604
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
605
- }
606
- ]
607
- }
608
- }
609
- }