@aws-solutions-constructs/aws-lambda-kinesisstreams 2.50.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 (99) hide show
  1. package/.eslintignore +2 -0
  2. package/.jsii +50 -5
  3. package/integ.config.json +7 -0
  4. package/lib/index.js +1 -1
  5. package/package.json +12 -11
  6. package/test/integ.lamkin-existingLambda.js +5 -2
  7. package/test/integ.lamkin-existingLambda.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  8. package/test/integ.lamkin-existingLambda.js.snapshot/cdk.out +1 -0
  9. package/test/integ.lamkin-existingLambda.js.snapshot/integ.json +12 -0
  10. package/test/integ.lamkin-existingLambda.js.snapshot/lamkin-existingLambda.assets.json +32 -0
  11. package/test/integ.lamkin-existingLambda.js.snapshot/lamkin-existingLambda.template.json +229 -0
  12. package/test/integ.lamkin-existingLambda.js.snapshot/lamkinexistingLambdaIntegDefaultTestDeployAssertD62E9419.assets.json +19 -0
  13. package/test/integ.lamkin-existingLambda.js.snapshot/lamkinexistingLambdaIntegDefaultTestDeployAssertD62E9419.template.json +36 -0
  14. package/test/integ.lamkin-existingLambda.js.snapshot/manifest.json +143 -0
  15. package/test/integ.lamkin-existingLambda.js.snapshot/tree.json +412 -0
  16. package/test/integ.lamkin-existingStream.js +5 -2
  17. package/test/integ.lamkin-existingStream.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  18. package/test/integ.lamkin-existingStream.js.snapshot/cdk.out +1 -0
  19. package/test/integ.lamkin-existingStream.js.snapshot/integ.json +12 -0
  20. package/test/integ.lamkin-existingStream.js.snapshot/lamkin-existingStream.assets.json +32 -0
  21. package/test/integ.lamkin-existingStream.js.snapshot/lamkin-existingStream.template.json +231 -0
  22. package/test/integ.lamkin-existingStream.js.snapshot/lamkinexistingStreamIntegDefaultTestDeployAssert2681B9A2.assets.json +19 -0
  23. package/test/integ.lamkin-existingStream.js.snapshot/lamkinexistingStreamIntegDefaultTestDeployAssert2681B9A2.template.json +36 -0
  24. package/test/integ.lamkin-existingStream.js.snapshot/manifest.json +143 -0
  25. package/test/integ.lamkin-existingStream.js.snapshot/tree.json +414 -0
  26. package/test/integ.lamkin-existingStreamWithCmk.js +5 -2
  27. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  28. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/cdk.out +1 -0
  29. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/integ.json +12 -0
  30. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkin-existingStreamWithCmk.assets.json +32 -0
  31. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkin-existingStreamWithCmk.template.json +285 -0
  32. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkinexistingStreamWithCmkIntegDefaultTestDeployAssert6EDF4045.assets.json +19 -0
  33. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkinexistingStreamWithCmkIntegDefaultTestDeployAssert6EDF4045.template.json +36 -0
  34. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/manifest.json +149 -0
  35. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/tree.json +484 -0
  36. package/test/integ.lamkin-existingVpc.js +6 -2
  37. package/test/integ.lamkin-existingVpc.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  38. package/test/integ.lamkin-existingVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  39. package/test/integ.lamkin-existingVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  40. package/test/integ.lamkin-existingVpc.js.snapshot/cdk.out +1 -0
  41. package/test/integ.lamkin-existingVpc.js.snapshot/integ.json +12 -0
  42. package/test/integ.lamkin-existingVpc.js.snapshot/lamkin-existingVpc.assets.json +45 -0
  43. package/test/integ.lamkin-existingVpc.js.snapshot/lamkin-existingVpc.template.json +1040 -0
  44. package/test/integ.lamkin-existingVpc.js.snapshot/lamkinexistingVpcIntegDefaultTestDeployAssertB97E47BA.assets.json +19 -0
  45. package/test/integ.lamkin-existingVpc.js.snapshot/lamkinexistingVpcIntegDefaultTestDeployAssertB97E47BA.template.json +36 -0
  46. package/test/integ.lamkin-existingVpc.js.snapshot/manifest.json +341 -0
  47. package/test/integ.lamkin-existingVpc.js.snapshot/tree.json +1463 -0
  48. package/test/integ.lamkin-newStreamFromProps.js +5 -2
  49. package/test/integ.lamkin-newStreamFromProps.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  50. package/test/integ.lamkin-newStreamFromProps.js.snapshot/cdk.out +1 -0
  51. package/test/integ.lamkin-newStreamFromProps.js.snapshot/integ.json +12 -0
  52. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkin-newStreamFromProps.assets.json +32 -0
  53. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkin-newStreamFromProps.template.json +231 -0
  54. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkinnewStreamFromPropsIntegDefaultTestDeployAssertC2946F34.assets.json +19 -0
  55. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkinnewStreamFromPropsIntegDefaultTestDeployAssertC2946F34.template.json +36 -0
  56. package/test/integ.lamkin-newStreamFromProps.js.snapshot/manifest.json +143 -0
  57. package/test/integ.lamkin-newStreamFromProps.js.snapshot/tree.json +414 -0
  58. package/test/integ.lamkin-newVpc.js +6 -2
  59. package/test/integ.lamkin-newVpc.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  60. package/test/integ.lamkin-newVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  61. package/test/integ.lamkin-newVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  62. package/test/integ.lamkin-newVpc.js.snapshot/cdk.out +1 -0
  63. package/test/integ.lamkin-newVpc.js.snapshot/integ.json +12 -0
  64. package/test/integ.lamkin-newVpc.js.snapshot/lamkin-newVpc.assets.json +45 -0
  65. package/test/integ.lamkin-newVpc.js.snapshot/lamkin-newVpc.template.json +756 -0
  66. package/test/integ.lamkin-newVpc.js.snapshot/lamkinnewVpcIntegDefaultTestDeployAssert16AC3D59.assets.json +19 -0
  67. package/test/integ.lamkin-newVpc.js.snapshot/lamkinnewVpcIntegDefaultTestDeployAssert16AC3D59.template.json +36 -0
  68. package/test/integ.lamkin-newVpc.js.snapshot/manifest.json +245 -0
  69. package/test/integ.lamkin-newVpc.js.snapshot/tree.json +1051 -0
  70. package/test/integ.lamkin-newVpcFromProps.js +6 -2
  71. package/test/integ.lamkin-newVpcFromProps.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  72. package/test/integ.lamkin-newVpcFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  73. package/test/integ.lamkin-newVpcFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  74. package/test/integ.lamkin-newVpcFromProps.js.snapshot/cdk.out +1 -0
  75. package/test/integ.lamkin-newVpcFromProps.js.snapshot/integ.json +12 -0
  76. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkin-newVpcFromProps.assets.json +45 -0
  77. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkin-newVpcFromProps.template.json +692 -0
  78. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkinnewVpcFromPropsIntegDefaultTestDeployAssert95FE0487.assets.json +19 -0
  79. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkinnewVpcFromPropsIntegDefaultTestDeployAssert95FE0487.template.json +36 -0
  80. package/test/integ.lamkin-newVpcFromProps.js.snapshot/manifest.json +227 -0
  81. package/test/integ.lamkin-newVpcFromProps.js.snapshot/tree.json +946 -0
  82. package/test/integ.lamkin-noArguments.js +5 -2
  83. package/test/integ.lamkin-noArguments.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  84. package/test/integ.lamkin-noArguments.js.snapshot/cdk.out +1 -0
  85. package/test/integ.lamkin-noArguments.js.snapshot/integ.json +12 -0
  86. package/test/integ.lamkin-noArguments.js.snapshot/lamkin-noArguments.assets.json +32 -0
  87. package/test/integ.lamkin-noArguments.js.snapshot/lamkin-noArguments.template.json +229 -0
  88. package/test/integ.lamkin-noArguments.js.snapshot/lamkinnoArgumentsIntegDefaultTestDeployAssertC0CED4B2.assets.json +19 -0
  89. package/test/integ.lamkin-noArguments.js.snapshot/lamkinnoArgumentsIntegDefaultTestDeployAssertC0CED4B2.template.json +36 -0
  90. package/test/integ.lamkin-noArguments.js.snapshot/manifest.json +143 -0
  91. package/test/integ.lamkin-noArguments.js.snapshot/tree.json +412 -0
  92. package/test/integ.lamkin-existingLambda.expected.json +0 -229
  93. package/test/integ.lamkin-existingStream.expected.json +0 -231
  94. package/test/integ.lamkin-existingStreamWithCmk.expected.json +0 -297
  95. package/test/integ.lamkin-existingVpc.expected.json +0 -1065
  96. package/test/integ.lamkin-newStreamFromProps.expected.json +0 -231
  97. package/test/integ.lamkin-newVpc.expected.json +0 -671
  98. package/test/integ.lamkin-newVpcFromProps.expected.json +0 -557
  99. package/test/integ.lamkin-noArguments.expected.json +0 -229
@@ -0,0 +1,1040 @@
1
+ {
2
+ "Resources": {
3
+ "Vpc8378EB38": {
4
+ "Type": "AWS::EC2::VPC",
5
+ "Properties": {
6
+ "CidrBlock": "10.0.0.0/16",
7
+ "EnableDnsHostnames": true,
8
+ "EnableDnsSupport": true,
9
+ "InstanceTenancy": "default",
10
+ "Tags": [
11
+ {
12
+ "Key": "Name",
13
+ "Value": "lamkin-existingVpc/Vpc"
14
+ }
15
+ ]
16
+ }
17
+ },
18
+ "VpcPublicSubnet1Subnet5C2D37C4": {
19
+ "Type": "AWS::EC2::Subnet",
20
+ "Properties": {
21
+ "AvailabilityZone": {
22
+ "Fn::Select": [
23
+ 0,
24
+ {
25
+ "Fn::GetAZs": ""
26
+ }
27
+ ]
28
+ },
29
+ "CidrBlock": "10.0.0.0/18",
30
+ "MapPublicIpOnLaunch": true,
31
+ "Tags": [
32
+ {
33
+ "Key": "aws-cdk:subnet-name",
34
+ "Value": "Public"
35
+ },
36
+ {
37
+ "Key": "aws-cdk:subnet-type",
38
+ "Value": "Public"
39
+ },
40
+ {
41
+ "Key": "Name",
42
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet1"
43
+ }
44
+ ],
45
+ "VpcId": {
46
+ "Ref": "Vpc8378EB38"
47
+ }
48
+ },
49
+ "Metadata": {
50
+ "cfn_nag": {
51
+ "rules_to_suppress": [
52
+ {
53
+ "id": "W33",
54
+ "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true"
55
+ }
56
+ ]
57
+ }
58
+ }
59
+ },
60
+ "VpcPublicSubnet1RouteTable6C95E38E": {
61
+ "Type": "AWS::EC2::RouteTable",
62
+ "Properties": {
63
+ "Tags": [
64
+ {
65
+ "Key": "Name",
66
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet1"
67
+ }
68
+ ],
69
+ "VpcId": {
70
+ "Ref": "Vpc8378EB38"
71
+ }
72
+ }
73
+ },
74
+ "VpcPublicSubnet1RouteTableAssociation97140677": {
75
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
76
+ "Properties": {
77
+ "RouteTableId": {
78
+ "Ref": "VpcPublicSubnet1RouteTable6C95E38E"
79
+ },
80
+ "SubnetId": {
81
+ "Ref": "VpcPublicSubnet1Subnet5C2D37C4"
82
+ }
83
+ }
84
+ },
85
+ "VpcPublicSubnet1DefaultRoute3DA9E72A": {
86
+ "Type": "AWS::EC2::Route",
87
+ "Properties": {
88
+ "DestinationCidrBlock": "0.0.0.0/0",
89
+ "GatewayId": {
90
+ "Ref": "VpcIGWD7BA715C"
91
+ },
92
+ "RouteTableId": {
93
+ "Ref": "VpcPublicSubnet1RouteTable6C95E38E"
94
+ }
95
+ },
96
+ "DependsOn": [
97
+ "VpcVPCGWBF912B6E"
98
+ ]
99
+ },
100
+ "VpcPublicSubnet1EIPD7E02669": {
101
+ "Type": "AWS::EC2::EIP",
102
+ "Properties": {
103
+ "Domain": "vpc",
104
+ "Tags": [
105
+ {
106
+ "Key": "Name",
107
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet1"
108
+ }
109
+ ]
110
+ }
111
+ },
112
+ "VpcPublicSubnet1NATGateway4D7517AA": {
113
+ "Type": "AWS::EC2::NatGateway",
114
+ "Properties": {
115
+ "AllocationId": {
116
+ "Fn::GetAtt": [
117
+ "VpcPublicSubnet1EIPD7E02669",
118
+ "AllocationId"
119
+ ]
120
+ },
121
+ "SubnetId": {
122
+ "Ref": "VpcPublicSubnet1Subnet5C2D37C4"
123
+ },
124
+ "Tags": [
125
+ {
126
+ "Key": "Name",
127
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet1"
128
+ }
129
+ ]
130
+ },
131
+ "DependsOn": [
132
+ "VpcPublicSubnet1DefaultRoute3DA9E72A",
133
+ "VpcPublicSubnet1RouteTableAssociation97140677"
134
+ ]
135
+ },
136
+ "VpcPublicSubnet2Subnet691E08A3": {
137
+ "Type": "AWS::EC2::Subnet",
138
+ "Properties": {
139
+ "AvailabilityZone": {
140
+ "Fn::Select": [
141
+ 1,
142
+ {
143
+ "Fn::GetAZs": ""
144
+ }
145
+ ]
146
+ },
147
+ "CidrBlock": "10.0.64.0/18",
148
+ "MapPublicIpOnLaunch": true,
149
+ "Tags": [
150
+ {
151
+ "Key": "aws-cdk:subnet-name",
152
+ "Value": "Public"
153
+ },
154
+ {
155
+ "Key": "aws-cdk:subnet-type",
156
+ "Value": "Public"
157
+ },
158
+ {
159
+ "Key": "Name",
160
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet2"
161
+ }
162
+ ],
163
+ "VpcId": {
164
+ "Ref": "Vpc8378EB38"
165
+ }
166
+ },
167
+ "Metadata": {
168
+ "cfn_nag": {
169
+ "rules_to_suppress": [
170
+ {
171
+ "id": "W33",
172
+ "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true"
173
+ }
174
+ ]
175
+ }
176
+ }
177
+ },
178
+ "VpcPublicSubnet2RouteTable94F7E489": {
179
+ "Type": "AWS::EC2::RouteTable",
180
+ "Properties": {
181
+ "Tags": [
182
+ {
183
+ "Key": "Name",
184
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet2"
185
+ }
186
+ ],
187
+ "VpcId": {
188
+ "Ref": "Vpc8378EB38"
189
+ }
190
+ }
191
+ },
192
+ "VpcPublicSubnet2RouteTableAssociationDD5762D8": {
193
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
194
+ "Properties": {
195
+ "RouteTableId": {
196
+ "Ref": "VpcPublicSubnet2RouteTable94F7E489"
197
+ },
198
+ "SubnetId": {
199
+ "Ref": "VpcPublicSubnet2Subnet691E08A3"
200
+ }
201
+ }
202
+ },
203
+ "VpcPublicSubnet2DefaultRoute97F91067": {
204
+ "Type": "AWS::EC2::Route",
205
+ "Properties": {
206
+ "DestinationCidrBlock": "0.0.0.0/0",
207
+ "GatewayId": {
208
+ "Ref": "VpcIGWD7BA715C"
209
+ },
210
+ "RouteTableId": {
211
+ "Ref": "VpcPublicSubnet2RouteTable94F7E489"
212
+ }
213
+ },
214
+ "DependsOn": [
215
+ "VpcVPCGWBF912B6E"
216
+ ]
217
+ },
218
+ "VpcPublicSubnet2EIP3C605A87": {
219
+ "Type": "AWS::EC2::EIP",
220
+ "Properties": {
221
+ "Domain": "vpc",
222
+ "Tags": [
223
+ {
224
+ "Key": "Name",
225
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet2"
226
+ }
227
+ ]
228
+ }
229
+ },
230
+ "VpcPublicSubnet2NATGateway9182C01D": {
231
+ "Type": "AWS::EC2::NatGateway",
232
+ "Properties": {
233
+ "AllocationId": {
234
+ "Fn::GetAtt": [
235
+ "VpcPublicSubnet2EIP3C605A87",
236
+ "AllocationId"
237
+ ]
238
+ },
239
+ "SubnetId": {
240
+ "Ref": "VpcPublicSubnet2Subnet691E08A3"
241
+ },
242
+ "Tags": [
243
+ {
244
+ "Key": "Name",
245
+ "Value": "lamkin-existingVpc/Vpc/PublicSubnet2"
246
+ }
247
+ ]
248
+ },
249
+ "DependsOn": [
250
+ "VpcPublicSubnet2DefaultRoute97F91067",
251
+ "VpcPublicSubnet2RouteTableAssociationDD5762D8"
252
+ ]
253
+ },
254
+ "VpcPrivateSubnet1Subnet536B997A": {
255
+ "Type": "AWS::EC2::Subnet",
256
+ "Properties": {
257
+ "AvailabilityZone": {
258
+ "Fn::Select": [
259
+ 0,
260
+ {
261
+ "Fn::GetAZs": ""
262
+ }
263
+ ]
264
+ },
265
+ "CidrBlock": "10.0.128.0/18",
266
+ "MapPublicIpOnLaunch": false,
267
+ "Tags": [
268
+ {
269
+ "Key": "aws-cdk:subnet-name",
270
+ "Value": "Private"
271
+ },
272
+ {
273
+ "Key": "aws-cdk:subnet-type",
274
+ "Value": "Private"
275
+ },
276
+ {
277
+ "Key": "Name",
278
+ "Value": "lamkin-existingVpc/Vpc/PrivateSubnet1"
279
+ }
280
+ ],
281
+ "VpcId": {
282
+ "Ref": "Vpc8378EB38"
283
+ }
284
+ }
285
+ },
286
+ "VpcPrivateSubnet1RouteTableB2C5B500": {
287
+ "Type": "AWS::EC2::RouteTable",
288
+ "Properties": {
289
+ "Tags": [
290
+ {
291
+ "Key": "Name",
292
+ "Value": "lamkin-existingVpc/Vpc/PrivateSubnet1"
293
+ }
294
+ ],
295
+ "VpcId": {
296
+ "Ref": "Vpc8378EB38"
297
+ }
298
+ }
299
+ },
300
+ "VpcPrivateSubnet1RouteTableAssociation70C59FA6": {
301
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
302
+ "Properties": {
303
+ "RouteTableId": {
304
+ "Ref": "VpcPrivateSubnet1RouteTableB2C5B500"
305
+ },
306
+ "SubnetId": {
307
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
308
+ }
309
+ }
310
+ },
311
+ "VpcPrivateSubnet1DefaultRouteBE02A9ED": {
312
+ "Type": "AWS::EC2::Route",
313
+ "Properties": {
314
+ "DestinationCidrBlock": "0.0.0.0/0",
315
+ "NatGatewayId": {
316
+ "Ref": "VpcPublicSubnet1NATGateway4D7517AA"
317
+ },
318
+ "RouteTableId": {
319
+ "Ref": "VpcPrivateSubnet1RouteTableB2C5B500"
320
+ }
321
+ }
322
+ },
323
+ "VpcPrivateSubnet2Subnet3788AAA1": {
324
+ "Type": "AWS::EC2::Subnet",
325
+ "Properties": {
326
+ "AvailabilityZone": {
327
+ "Fn::Select": [
328
+ 1,
329
+ {
330
+ "Fn::GetAZs": ""
331
+ }
332
+ ]
333
+ },
334
+ "CidrBlock": "10.0.192.0/18",
335
+ "MapPublicIpOnLaunch": false,
336
+ "Tags": [
337
+ {
338
+ "Key": "aws-cdk:subnet-name",
339
+ "Value": "Private"
340
+ },
341
+ {
342
+ "Key": "aws-cdk:subnet-type",
343
+ "Value": "Private"
344
+ },
345
+ {
346
+ "Key": "Name",
347
+ "Value": "lamkin-existingVpc/Vpc/PrivateSubnet2"
348
+ }
349
+ ],
350
+ "VpcId": {
351
+ "Ref": "Vpc8378EB38"
352
+ }
353
+ }
354
+ },
355
+ "VpcPrivateSubnet2RouteTableA678073B": {
356
+ "Type": "AWS::EC2::RouteTable",
357
+ "Properties": {
358
+ "Tags": [
359
+ {
360
+ "Key": "Name",
361
+ "Value": "lamkin-existingVpc/Vpc/PrivateSubnet2"
362
+ }
363
+ ],
364
+ "VpcId": {
365
+ "Ref": "Vpc8378EB38"
366
+ }
367
+ }
368
+ },
369
+ "VpcPrivateSubnet2RouteTableAssociationA89CAD56": {
370
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
371
+ "Properties": {
372
+ "RouteTableId": {
373
+ "Ref": "VpcPrivateSubnet2RouteTableA678073B"
374
+ },
375
+ "SubnetId": {
376
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
377
+ }
378
+ }
379
+ },
380
+ "VpcPrivateSubnet2DefaultRoute060D2087": {
381
+ "Type": "AWS::EC2::Route",
382
+ "Properties": {
383
+ "DestinationCidrBlock": "0.0.0.0/0",
384
+ "NatGatewayId": {
385
+ "Ref": "VpcPublicSubnet2NATGateway9182C01D"
386
+ },
387
+ "RouteTableId": {
388
+ "Ref": "VpcPrivateSubnet2RouteTableA678073B"
389
+ }
390
+ }
391
+ },
392
+ "VpcIGWD7BA715C": {
393
+ "Type": "AWS::EC2::InternetGateway",
394
+ "Properties": {
395
+ "Tags": [
396
+ {
397
+ "Key": "Name",
398
+ "Value": "lamkin-existingVpc/Vpc"
399
+ }
400
+ ]
401
+ }
402
+ },
403
+ "VpcVPCGWBF912B6E": {
404
+ "Type": "AWS::EC2::VPCGatewayAttachment",
405
+ "Properties": {
406
+ "InternetGatewayId": {
407
+ "Ref": "VpcIGWD7BA715C"
408
+ },
409
+ "VpcId": {
410
+ "Ref": "Vpc8378EB38"
411
+ }
412
+ }
413
+ },
414
+ "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE": {
415
+ "Type": "Custom::VpcRestrictDefaultSG",
416
+ "Properties": {
417
+ "ServiceToken": {
418
+ "Fn::GetAtt": [
419
+ "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E",
420
+ "Arn"
421
+ ]
422
+ },
423
+ "DefaultSecurityGroupId": {
424
+ "Fn::GetAtt": [
425
+ "Vpc8378EB38",
426
+ "DefaultSecurityGroup"
427
+ ]
428
+ },
429
+ "Account": {
430
+ "Ref": "AWS::AccountId"
431
+ }
432
+ },
433
+ "UpdateReplacePolicy": "Delete",
434
+ "DeletionPolicy": "Delete"
435
+ },
436
+ "VpcFlowLogIAMRole6A475D41": {
437
+ "Type": "AWS::IAM::Role",
438
+ "Properties": {
439
+ "AssumeRolePolicyDocument": {
440
+ "Statement": [
441
+ {
442
+ "Action": "sts:AssumeRole",
443
+ "Effect": "Allow",
444
+ "Principal": {
445
+ "Service": "vpc-flow-logs.amazonaws.com"
446
+ }
447
+ }
448
+ ],
449
+ "Version": "2012-10-17"
450
+ },
451
+ "Tags": [
452
+ {
453
+ "Key": "Name",
454
+ "Value": "lamkin-existingVpc/Vpc/FlowLog"
455
+ }
456
+ ]
457
+ }
458
+ },
459
+ "VpcFlowLogIAMRoleDefaultPolicy406FB995": {
460
+ "Type": "AWS::IAM::Policy",
461
+ "Properties": {
462
+ "PolicyDocument": {
463
+ "Statement": [
464
+ {
465
+ "Action": [
466
+ "logs:CreateLogStream",
467
+ "logs:DescribeLogStreams",
468
+ "logs:PutLogEvents"
469
+ ],
470
+ "Effect": "Allow",
471
+ "Resource": {
472
+ "Fn::GetAtt": [
473
+ "VpcFlowLogLogGroup7B5C56B9",
474
+ "Arn"
475
+ ]
476
+ }
477
+ },
478
+ {
479
+ "Action": "iam:PassRole",
480
+ "Effect": "Allow",
481
+ "Resource": {
482
+ "Fn::GetAtt": [
483
+ "VpcFlowLogIAMRole6A475D41",
484
+ "Arn"
485
+ ]
486
+ }
487
+ }
488
+ ],
489
+ "Version": "2012-10-17"
490
+ },
491
+ "PolicyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995",
492
+ "Roles": [
493
+ {
494
+ "Ref": "VpcFlowLogIAMRole6A475D41"
495
+ }
496
+ ]
497
+ }
498
+ },
499
+ "VpcFlowLogLogGroup7B5C56B9": {
500
+ "Type": "AWS::Logs::LogGroup",
501
+ "Properties": {
502
+ "RetentionInDays": 731,
503
+ "Tags": [
504
+ {
505
+ "Key": "Name",
506
+ "Value": "lamkin-existingVpc/Vpc/FlowLog"
507
+ }
508
+ ]
509
+ },
510
+ "UpdateReplacePolicy": "Retain",
511
+ "DeletionPolicy": "Retain",
512
+ "Metadata": {
513
+ "cfn_nag": {
514
+ "rules_to_suppress": [
515
+ {
516
+ "id": "W84",
517
+ "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
518
+ }
519
+ ]
520
+ }
521
+ }
522
+ },
523
+ "VpcFlowLog8FF33A73": {
524
+ "Type": "AWS::EC2::FlowLog",
525
+ "Properties": {
526
+ "DeliverLogsPermissionArn": {
527
+ "Fn::GetAtt": [
528
+ "VpcFlowLogIAMRole6A475D41",
529
+ "Arn"
530
+ ]
531
+ },
532
+ "LogDestinationType": "cloud-watch-logs",
533
+ "LogGroupName": {
534
+ "Ref": "VpcFlowLogLogGroup7B5C56B9"
535
+ },
536
+ "ResourceId": {
537
+ "Ref": "Vpc8378EB38"
538
+ },
539
+ "ResourceType": "VPC",
540
+ "Tags": [
541
+ {
542
+ "Key": "Name",
543
+ "Value": "lamkin-existingVpc/Vpc/FlowLog"
544
+ }
545
+ ],
546
+ "TrafficType": "ALL"
547
+ }
548
+ },
549
+ "VpcKINESISSTREAMSC07D91B5": {
550
+ "Type": "AWS::EC2::VPCEndpoint",
551
+ "Properties": {
552
+ "PrivateDnsEnabled": true,
553
+ "SecurityGroupIds": [
554
+ {
555
+ "Fn::GetAtt": [
556
+ "lamkinexistingVpcKINESISSTREAMSsecuritygroupC307369A",
557
+ "GroupId"
558
+ ]
559
+ }
560
+ ],
561
+ "ServiceName": {
562
+ "Fn::Join": [
563
+ "",
564
+ [
565
+ "com.amazonaws.",
566
+ {
567
+ "Ref": "AWS::Region"
568
+ },
569
+ ".kinesis-streams"
570
+ ]
571
+ ]
572
+ },
573
+ "SubnetIds": [
574
+ {
575
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
576
+ },
577
+ {
578
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
579
+ }
580
+ ],
581
+ "VpcEndpointType": "Interface",
582
+ "VpcId": {
583
+ "Ref": "Vpc8378EB38"
584
+ }
585
+ }
586
+ },
587
+ "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0": {
588
+ "Type": "AWS::IAM::Role",
589
+ "Properties": {
590
+ "AssumeRolePolicyDocument": {
591
+ "Version": "2012-10-17",
592
+ "Statement": [
593
+ {
594
+ "Action": "sts:AssumeRole",
595
+ "Effect": "Allow",
596
+ "Principal": {
597
+ "Service": "lambda.amazonaws.com"
598
+ }
599
+ }
600
+ ]
601
+ },
602
+ "ManagedPolicyArns": [
603
+ {
604
+ "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
605
+ }
606
+ ],
607
+ "Policies": [
608
+ {
609
+ "PolicyName": "Inline",
610
+ "PolicyDocument": {
611
+ "Version": "2012-10-17",
612
+ "Statement": [
613
+ {
614
+ "Effect": "Allow",
615
+ "Action": [
616
+ "ec2:AuthorizeSecurityGroupIngress",
617
+ "ec2:AuthorizeSecurityGroupEgress",
618
+ "ec2:RevokeSecurityGroupIngress",
619
+ "ec2:RevokeSecurityGroupEgress"
620
+ ],
621
+ "Resource": [
622
+ {
623
+ "Fn::Join": [
624
+ "",
625
+ [
626
+ "arn:",
627
+ {
628
+ "Ref": "AWS::Partition"
629
+ },
630
+ ":ec2:",
631
+ {
632
+ "Ref": "AWS::Region"
633
+ },
634
+ ":",
635
+ {
636
+ "Ref": "AWS::AccountId"
637
+ },
638
+ ":security-group/",
639
+ {
640
+ "Fn::GetAtt": [
641
+ "Vpc8378EB38",
642
+ "DefaultSecurityGroup"
643
+ ]
644
+ }
645
+ ]
646
+ ]
647
+ }
648
+ ]
649
+ }
650
+ ]
651
+ }
652
+ }
653
+ ]
654
+ }
655
+ },
656
+ "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E": {
657
+ "Type": "AWS::Lambda::Function",
658
+ "Properties": {
659
+ "Code": {
660
+ "S3Bucket": {
661
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
662
+ },
663
+ "S3Key": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip"
664
+ },
665
+ "Timeout": 900,
666
+ "MemorySize": 128,
667
+ "Handler": "__entrypoint__.handler",
668
+ "Role": {
669
+ "Fn::GetAtt": [
670
+ "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0",
671
+ "Arn"
672
+ ]
673
+ },
674
+ "Runtime": "nodejs18.x",
675
+ "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group"
676
+ },
677
+ "DependsOn": [
678
+ "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0"
679
+ ],
680
+ "Metadata": {
681
+ "cfn_nag": {
682
+ "rules_to_suppress": [
683
+ {
684
+ "id": "W58",
685
+ "reason": "CDK generated custom resource"
686
+ },
687
+ {
688
+ "id": "W89",
689
+ "reason": "CDK generated custom resource"
690
+ },
691
+ {
692
+ "id": "W92",
693
+ "reason": "CDK generated custom resource"
694
+ }
695
+ ]
696
+ }
697
+ }
698
+ },
699
+ "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3": {
700
+ "Type": "AWS::IAM::Role",
701
+ "Properties": {
702
+ "AssumeRolePolicyDocument": {
703
+ "Statement": [
704
+ {
705
+ "Action": "sts:AssumeRole",
706
+ "Effect": "Allow",
707
+ "Principal": {
708
+ "Service": "lambda.amazonaws.com"
709
+ }
710
+ }
711
+ ],
712
+ "Version": "2012-10-17"
713
+ },
714
+ "Policies": [
715
+ {
716
+ "PolicyDocument": {
717
+ "Statement": [
718
+ {
719
+ "Action": [
720
+ "logs:CreateLogGroup",
721
+ "logs:CreateLogStream",
722
+ "logs:PutLogEvents"
723
+ ],
724
+ "Effect": "Allow",
725
+ "Resource": {
726
+ "Fn::Join": [
727
+ "",
728
+ [
729
+ "arn:",
730
+ {
731
+ "Ref": "AWS::Partition"
732
+ },
733
+ ":logs:",
734
+ {
735
+ "Ref": "AWS::Region"
736
+ },
737
+ ":",
738
+ {
739
+ "Ref": "AWS::AccountId"
740
+ },
741
+ ":log-group:/aws/lambda/*"
742
+ ]
743
+ ]
744
+ }
745
+ }
746
+ ],
747
+ "Version": "2012-10-17"
748
+ },
749
+ "PolicyName": "LambdaFunctionServiceRolePolicy"
750
+ }
751
+ ]
752
+ }
753
+ },
754
+ "testlambdakinesisstreamsLambdaFunctionServiceRoleDefaultPolicyED972043": {
755
+ "Type": "AWS::IAM::Policy",
756
+ "Properties": {
757
+ "PolicyDocument": {
758
+ "Statement": [
759
+ {
760
+ "Action": [
761
+ "ec2:AssignPrivateIpAddresses",
762
+ "ec2:CreateNetworkInterface",
763
+ "ec2:DeleteNetworkInterface",
764
+ "ec2:DescribeNetworkInterfaces",
765
+ "ec2:UnassignPrivateIpAddresses",
766
+ "xray:PutTelemetryRecords",
767
+ "xray:PutTraceSegments"
768
+ ],
769
+ "Effect": "Allow",
770
+ "Resource": "*"
771
+ },
772
+ {
773
+ "Action": [
774
+ "kinesis:ListShards",
775
+ "kinesis:PutRecord",
776
+ "kinesis:PutRecords"
777
+ ],
778
+ "Effect": "Allow",
779
+ "Resource": {
780
+ "Fn::GetAtt": [
781
+ "testlambdakinesisstreamsKinesisStream11A82116",
782
+ "Arn"
783
+ ]
784
+ }
785
+ }
786
+ ],
787
+ "Version": "2012-10-17"
788
+ },
789
+ "PolicyName": "testlambdakinesisstreamsLambdaFunctionServiceRoleDefaultPolicyED972043",
790
+ "Roles": [
791
+ {
792
+ "Ref": "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3"
793
+ }
794
+ ]
795
+ },
796
+ "Metadata": {
797
+ "cfn_nag": {
798
+ "rules_to_suppress": [
799
+ {
800
+ "id": "W12",
801
+ "reason": "Lambda needs the following minimum required permissions to send trace data to X-Ray and access ENIs in a VPC."
802
+ }
803
+ ]
804
+ }
805
+ }
806
+ },
807
+ "testlambdakinesisstreamsReplaceDefaultSecurityGroupsecuritygroupFB22266C": {
808
+ "Type": "AWS::EC2::SecurityGroup",
809
+ "Properties": {
810
+ "GroupDescription": "lamkin-existingVpc/test-lambda-kinesisstreams/ReplaceDefaultSecurityGroup-security-group",
811
+ "SecurityGroupEgress": [
812
+ {
813
+ "CidrIp": "0.0.0.0/0",
814
+ "Description": "Allow all outbound traffic by default",
815
+ "IpProtocol": "-1"
816
+ }
817
+ ],
818
+ "VpcId": {
819
+ "Ref": "Vpc8378EB38"
820
+ }
821
+ },
822
+ "Metadata": {
823
+ "cfn_nag": {
824
+ "rules_to_suppress": [
825
+ {
826
+ "id": "W5",
827
+ "reason": "Egress of 0.0.0.0/0 is default and generally considered OK"
828
+ },
829
+ {
830
+ "id": "W40",
831
+ "reason": "Egress IPProtocol of -1 is default and generally considered OK"
832
+ }
833
+ ]
834
+ }
835
+ }
836
+ },
837
+ "testlambdakinesisstreamsLambdaFunction4348B6E4": {
838
+ "Type": "AWS::Lambda::Function",
839
+ "Properties": {
840
+ "Code": {
841
+ "S3Bucket": {
842
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
843
+ },
844
+ "S3Key": "c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf.zip"
845
+ },
846
+ "Environment": {
847
+ "Variables": {
848
+ "KINESIS_DATASTREAM_NAME": {
849
+ "Ref": "testlambdakinesisstreamsKinesisStream11A82116"
850
+ }
851
+ }
852
+ },
853
+ "Handler": "index.handler",
854
+ "Role": {
855
+ "Fn::GetAtt": [
856
+ "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
857
+ "Arn"
858
+ ]
859
+ },
860
+ "Runtime": "nodejs18.x",
861
+ "TracingConfig": {
862
+ "Mode": "Active"
863
+ },
864
+ "VpcConfig": {
865
+ "SecurityGroupIds": [
866
+ {
867
+ "Fn::GetAtt": [
868
+ "testlambdakinesisstreamsReplaceDefaultSecurityGroupsecuritygroupFB22266C",
869
+ "GroupId"
870
+ ]
871
+ }
872
+ ],
873
+ "SubnetIds": [
874
+ {
875
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
876
+ },
877
+ {
878
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
879
+ }
880
+ ]
881
+ }
882
+ },
883
+ "DependsOn": [
884
+ "testlambdakinesisstreamsLambdaFunctionServiceRoleDefaultPolicyED972043",
885
+ "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
886
+ "VpcPrivateSubnet1DefaultRouteBE02A9ED",
887
+ "VpcPrivateSubnet1RouteTableAssociation70C59FA6",
888
+ "VpcPrivateSubnet2DefaultRoute060D2087",
889
+ "VpcPrivateSubnet2RouteTableAssociationA89CAD56"
890
+ ],
891
+ "Metadata": {
892
+ "cfn_nag": {
893
+ "rules_to_suppress": [
894
+ {
895
+ "id": "W58",
896
+ "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."
897
+ },
898
+ {
899
+ "id": "W89",
900
+ "reason": "This is not a rule for the general case, just for specific use cases/industries"
901
+ },
902
+ {
903
+ "id": "W92",
904
+ "reason": "Impossible for us to define the correct concurrency for clients"
905
+ }
906
+ ]
907
+ }
908
+ }
909
+ },
910
+ "testlambdakinesisstreamsKinesisStream11A82116": {
911
+ "Type": "AWS::Kinesis::Stream",
912
+ "Properties": {
913
+ "RetentionPeriodHours": 24,
914
+ "ShardCount": 1,
915
+ "StreamEncryption": {
916
+ "EncryptionType": "KMS",
917
+ "KeyId": "alias/aws/kinesis"
918
+ }
919
+ }
920
+ },
921
+ "testlambdakinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarmC4A0FF00": {
922
+ "Type": "AWS::CloudWatch::Alarm",
923
+ "Properties": {
924
+ "AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
925
+ "ComparisonOperator": "GreaterThanOrEqualToThreshold",
926
+ "EvaluationPeriods": 1,
927
+ "MetricName": "GetRecords.IteratorAgeMilliseconds",
928
+ "Namespace": "AWS/Kinesis",
929
+ "Period": 300,
930
+ "Statistic": "Maximum",
931
+ "Threshold": 43200000
932
+ }
933
+ },
934
+ "testlambdakinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarm9732E188": {
935
+ "Type": "AWS::CloudWatch::Alarm",
936
+ "Properties": {
937
+ "AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
938
+ "ComparisonOperator": "GreaterThanThreshold",
939
+ "EvaluationPeriods": 1,
940
+ "MetricName": "ReadProvisionedThroughputExceeded",
941
+ "Namespace": "AWS/Kinesis",
942
+ "Period": 300,
943
+ "Statistic": "Average",
944
+ "Threshold": 0
945
+ }
946
+ },
947
+ "lamkinexistingVpcKINESISSTREAMSsecuritygroupC307369A": {
948
+ "Type": "AWS::EC2::SecurityGroup",
949
+ "Properties": {
950
+ "GroupDescription": "lamkin-existingVpc/lamkin-existingVpc-KINESIS_STREAMS-security-group",
951
+ "SecurityGroupEgress": [
952
+ {
953
+ "CidrIp": "0.0.0.0/0",
954
+ "Description": "Allow all outbound traffic by default",
955
+ "IpProtocol": "-1"
956
+ }
957
+ ],
958
+ "SecurityGroupIngress": [
959
+ {
960
+ "CidrIp": {
961
+ "Fn::GetAtt": [
962
+ "Vpc8378EB38",
963
+ "CidrBlock"
964
+ ]
965
+ },
966
+ "Description": {
967
+ "Fn::Join": [
968
+ "",
969
+ [
970
+ "from ",
971
+ {
972
+ "Fn::GetAtt": [
973
+ "Vpc8378EB38",
974
+ "CidrBlock"
975
+ ]
976
+ },
977
+ ":443"
978
+ ]
979
+ ]
980
+ },
981
+ "FromPort": 443,
982
+ "IpProtocol": "tcp",
983
+ "ToPort": 443
984
+ }
985
+ ],
986
+ "VpcId": {
987
+ "Ref": "Vpc8378EB38"
988
+ }
989
+ },
990
+ "Metadata": {
991
+ "cfn_nag": {
992
+ "rules_to_suppress": [
993
+ {
994
+ "id": "W5",
995
+ "reason": "Egress of 0.0.0.0/0 is default and generally considered OK"
996
+ },
997
+ {
998
+ "id": "W40",
999
+ "reason": "Egress IPProtocol of -1 is default and generally considered OK"
1000
+ }
1001
+ ]
1002
+ }
1003
+ }
1004
+ }
1005
+ },
1006
+ "Parameters": {
1007
+ "BootstrapVersion": {
1008
+ "Type": "AWS::SSM::Parameter::Value<String>",
1009
+ "Default": "/cdk-bootstrap/hnb659fds/version",
1010
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
1011
+ }
1012
+ },
1013
+ "Rules": {
1014
+ "CheckBootstrapVersion": {
1015
+ "Assertions": [
1016
+ {
1017
+ "Assert": {
1018
+ "Fn::Not": [
1019
+ {
1020
+ "Fn::Contains": [
1021
+ [
1022
+ "1",
1023
+ "2",
1024
+ "3",
1025
+ "4",
1026
+ "5"
1027
+ ],
1028
+ {
1029
+ "Ref": "BootstrapVersion"
1030
+ }
1031
+ ]
1032
+ }
1033
+ ]
1034
+ },
1035
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
1036
+ }
1037
+ ]
1038
+ }
1039
+ }
1040
+ }