tm-cdk-constructs 0.0.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/API.md ADDED
@@ -0,0 +1,2844 @@
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
2
+
3
+ ## Constructs <a name="Constructs" id="Constructs"></a>
4
+
5
+ ### TmPipeline <a name="TmPipeline" id="tm-cdk-constructs.TmPipeline"></a>
6
+
7
+ A CDK construct that creates a CodePipeline.
8
+
9
+ #### Initializers <a name="Initializers" id="tm-cdk-constructs.TmPipeline.Initializer"></a>
10
+
11
+ ```typescript
12
+ import { TmPipeline } from 'tm-cdk-constructs'
13
+
14
+ new TmPipeline(scope: Construct, id: string, props: TmPipelineProps)
15
+ ```
16
+
17
+ | **Name** | **Type** | **Description** |
18
+ | --- | --- | --- |
19
+ | <code><a href="#tm-cdk-constructs.TmPipeline.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The parent construct. |
20
+ | <code><a href="#tm-cdk-constructs.TmPipeline.Initializer.parameter.id">id</a></code> | <code>string</code> | The name of the construct. |
21
+ | <code><a href="#tm-cdk-constructs.TmPipeline.Initializer.parameter.props">props</a></code> | <code><a href="#tm-cdk-constructs.TmPipelineProps">TmPipelineProps</a></code> | The properties for the construct. |
22
+
23
+ ---
24
+
25
+ ##### `scope`<sup>Required</sup> <a name="scope" id="tm-cdk-constructs.TmPipeline.Initializer.parameter.scope"></a>
26
+
27
+ - *Type:* constructs.Construct
28
+
29
+ The parent construct.
30
+
31
+ ---
32
+
33
+ ##### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmPipeline.Initializer.parameter.id"></a>
34
+
35
+ - *Type:* string
36
+
37
+ The name of the construct.
38
+
39
+ ---
40
+
41
+ ##### `props`<sup>Required</sup> <a name="props" id="tm-cdk-constructs.TmPipeline.Initializer.parameter.props"></a>
42
+
43
+ - *Type:* <a href="#tm-cdk-constructs.TmPipelineProps">TmPipelineProps</a>
44
+
45
+ The properties for the construct.
46
+
47
+ ---
48
+
49
+ #### Methods <a name="Methods" id="Methods"></a>
50
+
51
+ | **Name** | **Description** |
52
+ | --- | --- |
53
+ | <code><a href="#tm-cdk-constructs.TmPipeline.toString">toString</a></code> | Returns a string representation of this construct. |
54
+
55
+ ---
56
+
57
+ ##### `toString` <a name="toString" id="tm-cdk-constructs.TmPipeline.toString"></a>
58
+
59
+ ```typescript
60
+ public toString(): string
61
+ ```
62
+
63
+ Returns a string representation of this construct.
64
+
65
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
66
+
67
+ | **Name** | **Description** |
68
+ | --- | --- |
69
+ | <code><a href="#tm-cdk-constructs.TmPipeline.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
70
+
71
+ ---
72
+
73
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="tm-cdk-constructs.TmPipeline.isConstruct"></a>
74
+
75
+ ```typescript
76
+ import { TmPipeline } from 'tm-cdk-constructs'
77
+
78
+ TmPipeline.isConstruct(x: any)
79
+ ```
80
+
81
+ Checks if `x` is a construct.
82
+
83
+ ###### `x`<sup>Required</sup> <a name="x" id="tm-cdk-constructs.TmPipeline.isConstruct.parameter.x"></a>
84
+
85
+ - *Type:* any
86
+
87
+ Any object.
88
+
89
+ ---
90
+
91
+ #### Properties <a name="Properties" id="Properties"></a>
92
+
93
+ | **Name** | **Type** | **Description** |
94
+ | --- | --- | --- |
95
+ | <code><a href="#tm-cdk-constructs.TmPipeline.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
96
+ | <code><a href="#tm-cdk-constructs.TmPipeline.property.pipeline">pipeline</a></code> | <code>aws-cdk-lib.pipelines.CodePipeline</code> | The CodePipeline created by the construct. |
97
+
98
+ ---
99
+
100
+ ##### `node`<sup>Required</sup> <a name="node" id="tm-cdk-constructs.TmPipeline.property.node"></a>
101
+
102
+ ```typescript
103
+ public readonly node: Node;
104
+ ```
105
+
106
+ - *Type:* constructs.Node
107
+
108
+ The tree node.
109
+
110
+ ---
111
+
112
+ ##### `pipeline`<sup>Required</sup> <a name="pipeline" id="tm-cdk-constructs.TmPipeline.property.pipeline"></a>
113
+
114
+ ```typescript
115
+ public readonly pipeline: CodePipeline;
116
+ ```
117
+
118
+ - *Type:* aws-cdk-lib.pipelines.CodePipeline
119
+
120
+ The CodePipeline created by the construct.
121
+
122
+ ---
123
+
124
+
125
+ ### TmRdsAuroraMysqlServerless <a name="TmRdsAuroraMysqlServerless" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless"></a>
126
+
127
+ #### Initializers <a name="Initializers" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer"></a>
128
+
129
+ ```typescript
130
+ import { TmRdsAuroraMysqlServerless } from 'tm-cdk-constructs'
131
+
132
+ new TmRdsAuroraMysqlServerless(scope: Construct, id: string, props?: TmRdsAuroraMysqlServerlessProps)
133
+ ```
134
+
135
+ | **Name** | **Type** | **Description** |
136
+ | --- | --- | --- |
137
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
138
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
139
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer.parameter.props">props</a></code> | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps">TmRdsAuroraMysqlServerlessProps</a></code> | *No description.* |
140
+
141
+ ---
142
+
143
+ ##### `scope`<sup>Required</sup> <a name="scope" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer.parameter.scope"></a>
144
+
145
+ - *Type:* constructs.Construct
146
+
147
+ ---
148
+
149
+ ##### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer.parameter.id"></a>
150
+
151
+ - *Type:* string
152
+
153
+ ---
154
+
155
+ ##### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.Initializer.parameter.props"></a>
156
+
157
+ - *Type:* <a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps">TmRdsAuroraMysqlServerlessProps</a>
158
+
159
+ ---
160
+
161
+ #### Methods <a name="Methods" id="Methods"></a>
162
+
163
+ | **Name** | **Description** |
164
+ | --- | --- |
165
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.toString">toString</a></code> | Returns a string representation of this construct. |
166
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
167
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.addProxy">addProxy</a></code> | Add a new db proxy to this cluster. |
168
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.asSecretAttachmentTarget">asSecretAttachmentTarget</a></code> | Renders the secret attachment target specifications. |
169
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantConnect">grantConnect</a></code> | Grant the given identity connection access to the Cluster. |
170
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantDataApiAccess">grantDataApiAccess</a></code> | Grant the given identity to access the Data API. |
171
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metric">metric</a></code> | Return the given named metric for this DBCluster. |
172
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricCPUUtilization">metricCPUUtilization</a></code> | The percentage of CPU utilization. |
173
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricDatabaseConnections">metricDatabaseConnections</a></code> | The number of database connections in use. |
174
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricDeadlocks">metricDeadlocks</a></code> | The average number of deadlocks in the database per second. |
175
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricEngineUptime">metricEngineUptime</a></code> | The amount of time that the instance has been running, in seconds. |
176
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricFreeableMemory">metricFreeableMemory</a></code> | The amount of available random access memory, in bytes. |
177
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricFreeLocalStorage">metricFreeLocalStorage</a></code> | The amount of local storage available, in bytes. |
178
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkReceiveThroughput">metricNetworkReceiveThroughput</a></code> | The amount of network throughput received from clients by each instance, in bytes per second. |
179
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkThroughput">metricNetworkThroughput</a></code> | The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second. |
180
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkTransmitThroughput">metricNetworkTransmitThroughput</a></code> | The amount of network throughput sent to clients by each instance, in bytes per second. |
181
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricSnapshotStorageUsed">metricSnapshotStorageUsed</a></code> | The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window. |
182
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricTotalBackupStorageBilled">metricTotalBackupStorageBilled</a></code> | The total amount of backup storage in bytes for which you are billed. |
183
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeBytesUsed">metricVolumeBytesUsed</a></code> | The amount of storage used by your Aurora DB instance, in bytes. |
184
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeReadIOPs">metricVolumeReadIOPs</a></code> | The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals. |
185
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeWriteIOPs">metricVolumeWriteIOPs</a></code> | The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals. |
186
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationMultiUser">addRotationMultiUser</a></code> | Adds the multi user rotation to this cluster. |
187
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationSingleUser">addRotationSingleUser</a></code> | Adds the single user rotation of the master password to this cluster. |
188
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricACUUtilization">metricACUUtilization</a></code> | This value is represented as a percentage. |
189
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricServerlessDatabaseCapacity">metricServerlessDatabaseCapacity</a></code> | As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster. |
190
+
191
+ ---
192
+
193
+ ##### `toString` <a name="toString" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.toString"></a>
194
+
195
+ ```typescript
196
+ public toString(): string
197
+ ```
198
+
199
+ Returns a string representation of this construct.
200
+
201
+ ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.applyRemovalPolicy"></a>
202
+
203
+ ```typescript
204
+ public applyRemovalPolicy(policy: RemovalPolicy): void
205
+ ```
206
+
207
+ Apply the given removal policy to this resource.
208
+
209
+ The Removal Policy controls what happens to this resource when it stops
210
+ being managed by CloudFormation, either because you've removed it from the
211
+ CDK application or because you've made a change that requires the resource
212
+ to be replaced.
213
+
214
+ The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
215
+ account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
216
+
217
+ ###### `policy`<sup>Required</sup> <a name="policy" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.applyRemovalPolicy.parameter.policy"></a>
218
+
219
+ - *Type:* aws-cdk-lib.RemovalPolicy
220
+
221
+ ---
222
+
223
+ ##### `addProxy` <a name="addProxy" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addProxy"></a>
224
+
225
+ ```typescript
226
+ public addProxy(id: string, options: DatabaseProxyOptions): DatabaseProxy
227
+ ```
228
+
229
+ Add a new db proxy to this cluster.
230
+
231
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addProxy.parameter.id"></a>
232
+
233
+ - *Type:* string
234
+
235
+ ---
236
+
237
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addProxy.parameter.options"></a>
238
+
239
+ - *Type:* aws-cdk-lib.aws_rds.DatabaseProxyOptions
240
+
241
+ ---
242
+
243
+ ##### `asSecretAttachmentTarget` <a name="asSecretAttachmentTarget" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.asSecretAttachmentTarget"></a>
244
+
245
+ ```typescript
246
+ public asSecretAttachmentTarget(): SecretAttachmentTargetProps
247
+ ```
248
+
249
+ Renders the secret attachment target specifications.
250
+
251
+ ##### `grantConnect` <a name="grantConnect" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantConnect"></a>
252
+
253
+ ```typescript
254
+ public grantConnect(grantee: IGrantable, dbUser: string): Grant
255
+ ```
256
+
257
+ Grant the given identity connection access to the Cluster.
258
+
259
+ ###### `grantee`<sup>Required</sup> <a name="grantee" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantConnect.parameter.grantee"></a>
260
+
261
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
262
+
263
+ ---
264
+
265
+ ###### `dbUser`<sup>Required</sup> <a name="dbUser" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantConnect.parameter.dbUser"></a>
266
+
267
+ - *Type:* string
268
+
269
+ ---
270
+
271
+ ##### `grantDataApiAccess` <a name="grantDataApiAccess" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantDataApiAccess"></a>
272
+
273
+ ```typescript
274
+ public grantDataApiAccess(grantee: IGrantable): Grant
275
+ ```
276
+
277
+ Grant the given identity to access the Data API.
278
+
279
+ ###### `grantee`<sup>Required</sup> <a name="grantee" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.grantDataApiAccess.parameter.grantee"></a>
280
+
281
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
282
+
283
+ ---
284
+
285
+ ##### `metric` <a name="metric" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metric"></a>
286
+
287
+ ```typescript
288
+ public metric(metricName: string, props?: MetricOptions): Metric
289
+ ```
290
+
291
+ Return the given named metric for this DBCluster.
292
+
293
+ ###### `metricName`<sup>Required</sup> <a name="metricName" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metric.parameter.metricName"></a>
294
+
295
+ - *Type:* string
296
+
297
+ ---
298
+
299
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metric.parameter.props"></a>
300
+
301
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
302
+
303
+ ---
304
+
305
+ ##### `metricCPUUtilization` <a name="metricCPUUtilization" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricCPUUtilization"></a>
306
+
307
+ ```typescript
308
+ public metricCPUUtilization(props?: MetricOptions): Metric
309
+ ```
310
+
311
+ The percentage of CPU utilization.
312
+
313
+ Average over 5 minutes
314
+
315
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricCPUUtilization.parameter.props"></a>
316
+
317
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
318
+
319
+ ---
320
+
321
+ ##### `metricDatabaseConnections` <a name="metricDatabaseConnections" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricDatabaseConnections"></a>
322
+
323
+ ```typescript
324
+ public metricDatabaseConnections(props?: MetricOptions): Metric
325
+ ```
326
+
327
+ The number of database connections in use.
328
+
329
+ Average over 5 minutes
330
+
331
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricDatabaseConnections.parameter.props"></a>
332
+
333
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
334
+
335
+ ---
336
+
337
+ ##### `metricDeadlocks` <a name="metricDeadlocks" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricDeadlocks"></a>
338
+
339
+ ```typescript
340
+ public metricDeadlocks(props?: MetricOptions): Metric
341
+ ```
342
+
343
+ The average number of deadlocks in the database per second.
344
+
345
+ Average over 5 minutes
346
+
347
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricDeadlocks.parameter.props"></a>
348
+
349
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
350
+
351
+ ---
352
+
353
+ ##### `metricEngineUptime` <a name="metricEngineUptime" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricEngineUptime"></a>
354
+
355
+ ```typescript
356
+ public metricEngineUptime(props?: MetricOptions): Metric
357
+ ```
358
+
359
+ The amount of time that the instance has been running, in seconds.
360
+
361
+ Average over 5 minutes
362
+
363
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricEngineUptime.parameter.props"></a>
364
+
365
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
366
+
367
+ ---
368
+
369
+ ##### `metricFreeableMemory` <a name="metricFreeableMemory" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricFreeableMemory"></a>
370
+
371
+ ```typescript
372
+ public metricFreeableMemory(props?: MetricOptions): Metric
373
+ ```
374
+
375
+ The amount of available random access memory, in bytes.
376
+
377
+ Average over 5 minutes
378
+
379
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricFreeableMemory.parameter.props"></a>
380
+
381
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
382
+
383
+ ---
384
+
385
+ ##### `metricFreeLocalStorage` <a name="metricFreeLocalStorage" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricFreeLocalStorage"></a>
386
+
387
+ ```typescript
388
+ public metricFreeLocalStorage(props?: MetricOptions): Metric
389
+ ```
390
+
391
+ The amount of local storage available, in bytes.
392
+
393
+ Average over 5 minutes
394
+
395
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricFreeLocalStorage.parameter.props"></a>
396
+
397
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
398
+
399
+ ---
400
+
401
+ ##### `metricNetworkReceiveThroughput` <a name="metricNetworkReceiveThroughput" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkReceiveThroughput"></a>
402
+
403
+ ```typescript
404
+ public metricNetworkReceiveThroughput(props?: MetricOptions): Metric
405
+ ```
406
+
407
+ The amount of network throughput received from clients by each instance, in bytes per second.
408
+
409
+ Average over 5 minutes
410
+
411
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkReceiveThroughput.parameter.props"></a>
412
+
413
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
414
+
415
+ ---
416
+
417
+ ##### `metricNetworkThroughput` <a name="metricNetworkThroughput" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkThroughput"></a>
418
+
419
+ ```typescript
420
+ public metricNetworkThroughput(props?: MetricOptions): Metric
421
+ ```
422
+
423
+ The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second.
424
+
425
+ Average over 5 minutes
426
+
427
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkThroughput.parameter.props"></a>
428
+
429
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
430
+
431
+ ---
432
+
433
+ ##### `metricNetworkTransmitThroughput` <a name="metricNetworkTransmitThroughput" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkTransmitThroughput"></a>
434
+
435
+ ```typescript
436
+ public metricNetworkTransmitThroughput(props?: MetricOptions): Metric
437
+ ```
438
+
439
+ The amount of network throughput sent to clients by each instance, in bytes per second.
440
+
441
+ Average over 5 minutes
442
+
443
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricNetworkTransmitThroughput.parameter.props"></a>
444
+
445
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
446
+
447
+ ---
448
+
449
+ ##### `metricSnapshotStorageUsed` <a name="metricSnapshotStorageUsed" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricSnapshotStorageUsed"></a>
450
+
451
+ ```typescript
452
+ public metricSnapshotStorageUsed(props?: MetricOptions): Metric
453
+ ```
454
+
455
+ The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window.
456
+
457
+ Average over 5 minutes
458
+
459
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricSnapshotStorageUsed.parameter.props"></a>
460
+
461
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
462
+
463
+ ---
464
+
465
+ ##### `metricTotalBackupStorageBilled` <a name="metricTotalBackupStorageBilled" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricTotalBackupStorageBilled"></a>
466
+
467
+ ```typescript
468
+ public metricTotalBackupStorageBilled(props?: MetricOptions): Metric
469
+ ```
470
+
471
+ The total amount of backup storage in bytes for which you are billed.
472
+
473
+ Average over 5 minutes
474
+
475
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricTotalBackupStorageBilled.parameter.props"></a>
476
+
477
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
478
+
479
+ ---
480
+
481
+ ##### `metricVolumeBytesUsed` <a name="metricVolumeBytesUsed" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeBytesUsed"></a>
482
+
483
+ ```typescript
484
+ public metricVolumeBytesUsed(props?: MetricOptions): Metric
485
+ ```
486
+
487
+ The amount of storage used by your Aurora DB instance, in bytes.
488
+
489
+ Average over 5 minutes
490
+
491
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeBytesUsed.parameter.props"></a>
492
+
493
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
494
+
495
+ ---
496
+
497
+ ##### `metricVolumeReadIOPs` <a name="metricVolumeReadIOPs" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeReadIOPs"></a>
498
+
499
+ ```typescript
500
+ public metricVolumeReadIOPs(props?: MetricOptions): Metric
501
+ ```
502
+
503
+ The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals.
504
+
505
+ Average over 5 minutes
506
+
507
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeReadIOPs.parameter.props"></a>
508
+
509
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
510
+
511
+ ---
512
+
513
+ ##### `metricVolumeWriteIOPs` <a name="metricVolumeWriteIOPs" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeWriteIOPs"></a>
514
+
515
+ ```typescript
516
+ public metricVolumeWriteIOPs(props?: MetricOptions): Metric
517
+ ```
518
+
519
+ The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals.
520
+
521
+ Average over 5 minutes
522
+
523
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricVolumeWriteIOPs.parameter.props"></a>
524
+
525
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
526
+
527
+ ---
528
+
529
+ ##### `addRotationMultiUser` <a name="addRotationMultiUser" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationMultiUser"></a>
530
+
531
+ ```typescript
532
+ public addRotationMultiUser(id: string, options: RotationMultiUserOptions): SecretRotation
533
+ ```
534
+
535
+ Adds the multi user rotation to this cluster.
536
+
537
+ See [Alternating users rotation strategy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-two-users)
538
+
539
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationMultiUser.parameter.id"></a>
540
+
541
+ - *Type:* string
542
+
543
+ ---
544
+
545
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationMultiUser.parameter.options"></a>
546
+
547
+ - *Type:* aws-cdk-lib.aws_rds.RotationMultiUserOptions
548
+
549
+ ---
550
+
551
+ ##### `addRotationSingleUser` <a name="addRotationSingleUser" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationSingleUser"></a>
552
+
553
+ ```typescript
554
+ public addRotationSingleUser(options?: RotationSingleUserOptions): SecretRotation
555
+ ```
556
+
557
+ Adds the single user rotation of the master password to this cluster.
558
+
559
+ See [Single user rotation strategy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-one-user-one-password)
560
+
561
+ ###### `options`<sup>Optional</sup> <a name="options" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.addRotationSingleUser.parameter.options"></a>
562
+
563
+ - *Type:* aws-cdk-lib.aws_rds.RotationSingleUserOptions
564
+
565
+ ---
566
+
567
+ ##### `metricACUUtilization` <a name="metricACUUtilization" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricACUUtilization"></a>
568
+
569
+ ```typescript
570
+ public metricACUUtilization(props?: MetricOptions): Metric
571
+ ```
572
+
573
+ This value is represented as a percentage.
574
+
575
+ It's calculated as the value of the
576
+ ServerlessDatabaseCapacity metric divided by the maximum ACU value of the DB cluster.
577
+
578
+ If this metric approaches a value of 100.0, the DB instance has scaled up as high as it can.
579
+ Consider increasing the maximum ACU setting for the cluster.
580
+
581
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricACUUtilization.parameter.props"></a>
582
+
583
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
584
+
585
+ ---
586
+
587
+ ##### `metricServerlessDatabaseCapacity` <a name="metricServerlessDatabaseCapacity" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricServerlessDatabaseCapacity"></a>
588
+
589
+ ```typescript
590
+ public metricServerlessDatabaseCapacity(props?: MetricOptions): Metric
591
+ ```
592
+
593
+ As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster.
594
+
595
+ ###### `props`<sup>Optional</sup> <a name="props" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.metricServerlessDatabaseCapacity.parameter.props"></a>
596
+
597
+ - *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
598
+
599
+ ---
600
+
601
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
602
+
603
+ | **Name** | **Description** |
604
+ | --- | --- |
605
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
606
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
607
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
608
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.fromDatabaseClusterAttributes">fromDatabaseClusterAttributes</a></code> | Import an existing DatabaseCluster from properties. |
609
+
610
+ ---
611
+
612
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.isConstruct"></a>
613
+
614
+ ```typescript
615
+ import { TmRdsAuroraMysqlServerless } from 'tm-cdk-constructs'
616
+
617
+ TmRdsAuroraMysqlServerless.isConstruct(x: any)
618
+ ```
619
+
620
+ Checks if `x` is a construct.
621
+
622
+ ###### `x`<sup>Required</sup> <a name="x" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.isConstruct.parameter.x"></a>
623
+
624
+ - *Type:* any
625
+
626
+ Any object.
627
+
628
+ ---
629
+
630
+ ##### `isOwnedResource` <a name="isOwnedResource" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.isOwnedResource"></a>
631
+
632
+ ```typescript
633
+ import { TmRdsAuroraMysqlServerless } from 'tm-cdk-constructs'
634
+
635
+ TmRdsAuroraMysqlServerless.isOwnedResource(construct: IConstruct)
636
+ ```
637
+
638
+ Returns true if the construct was created by CDK, and false otherwise.
639
+
640
+ ###### `construct`<sup>Required</sup> <a name="construct" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.isOwnedResource.parameter.construct"></a>
641
+
642
+ - *Type:* constructs.IConstruct
643
+
644
+ ---
645
+
646
+ ##### `isResource` <a name="isResource" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.isResource"></a>
647
+
648
+ ```typescript
649
+ import { TmRdsAuroraMysqlServerless } from 'tm-cdk-constructs'
650
+
651
+ TmRdsAuroraMysqlServerless.isResource(construct: IConstruct)
652
+ ```
653
+
654
+ Check whether the given construct is a Resource.
655
+
656
+ ###### `construct`<sup>Required</sup> <a name="construct" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.isResource.parameter.construct"></a>
657
+
658
+ - *Type:* constructs.IConstruct
659
+
660
+ ---
661
+
662
+ ##### `fromDatabaseClusterAttributes` <a name="fromDatabaseClusterAttributes" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.fromDatabaseClusterAttributes"></a>
663
+
664
+ ```typescript
665
+ import { TmRdsAuroraMysqlServerless } from 'tm-cdk-constructs'
666
+
667
+ TmRdsAuroraMysqlServerless.fromDatabaseClusterAttributes(scope: Construct, id: string, attrs: DatabaseClusterAttributes)
668
+ ```
669
+
670
+ Import an existing DatabaseCluster from properties.
671
+
672
+ ###### `scope`<sup>Required</sup> <a name="scope" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.fromDatabaseClusterAttributes.parameter.scope"></a>
673
+
674
+ - *Type:* constructs.Construct
675
+
676
+ ---
677
+
678
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.fromDatabaseClusterAttributes.parameter.id"></a>
679
+
680
+ - *Type:* string
681
+
682
+ ---
683
+
684
+ ###### `attrs`<sup>Required</sup> <a name="attrs" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.fromDatabaseClusterAttributes.parameter.attrs"></a>
685
+
686
+ - *Type:* aws-cdk-lib.aws_rds.DatabaseClusterAttributes
687
+
688
+ ---
689
+
690
+ #### Properties <a name="Properties" id="Properties"></a>
691
+
692
+ | **Name** | **Type** | **Description** |
693
+ | --- | --- | --- |
694
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
695
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
696
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
697
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterArn">clusterArn</a></code> | <code>string</code> | The ARN of the cluster. |
698
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterEndpoint">clusterEndpoint</a></code> | <code>aws-cdk-lib.aws_rds.Endpoint</code> | The endpoint to use for read/write operations. |
699
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | Identifier of the cluster. |
700
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterReadEndpoint">clusterReadEndpoint</a></code> | <code>aws-cdk-lib.aws_rds.Endpoint</code> | Endpoint to use for load-balanced read-only operations. |
701
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterResourceIdentifier">clusterResourceIdentifier</a></code> | <code>string</code> | The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP. |
702
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | Access to the network connections. |
703
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.instanceEndpoints">instanceEndpoints</a></code> | <code>aws-cdk-lib.aws_rds.Endpoint[]</code> | Endpoints which address each individual replica. |
704
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.instanceIdentifiers">instanceIdentifiers</a></code> | <code>string[]</code> | Identifiers of the replicas. |
705
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.engine">engine</a></code> | <code>aws-cdk-lib.aws_rds.IClusterEngine</code> | The engine for this Cluster. |
706
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | The secret attached to this cluster. |
707
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.cloudwatchLogGroups">cloudwatchLogGroups</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_logs.ILogGroup}</code> | The log group is created when `cloudwatchLogsExports` is set. |
708
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.multiUserRotationApplication">multiUserRotationApplication</a></code> | <code>aws-cdk-lib.aws_secretsmanager.SecretRotationApplication</code> | Application for multi user rotation to this cluster. |
709
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.singleUserRotationApplication">singleUserRotationApplication</a></code> | <code>aws-cdk-lib.aws_secretsmanager.SecretRotationApplication</code> | Application for single user rotation of the master password to this cluster. |
710
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC network to place the cluster in. |
711
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.vpcSubnets">vpcSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | The cluster's subnets. |
712
+
713
+ ---
714
+
715
+ ##### `node`<sup>Required</sup> <a name="node" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.node"></a>
716
+
717
+ ```typescript
718
+ public readonly node: Node;
719
+ ```
720
+
721
+ - *Type:* constructs.Node
722
+
723
+ The tree node.
724
+
725
+ ---
726
+
727
+ ##### `env`<sup>Required</sup> <a name="env" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.env"></a>
728
+
729
+ ```typescript
730
+ public readonly env: ResourceEnvironment;
731
+ ```
732
+
733
+ - *Type:* aws-cdk-lib.ResourceEnvironment
734
+
735
+ The environment this resource belongs to.
736
+
737
+ For resources that are created and managed by the CDK
738
+ (generally, those created by creating new class instances like Role, Bucket, etc.),
739
+ this is always the same as the environment of the stack they belong to;
740
+ however, for imported resources
741
+ (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
742
+ that might be different than the stack they were imported into.
743
+
744
+ ---
745
+
746
+ ##### `stack`<sup>Required</sup> <a name="stack" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.stack"></a>
747
+
748
+ ```typescript
749
+ public readonly stack: Stack;
750
+ ```
751
+
752
+ - *Type:* aws-cdk-lib.Stack
753
+
754
+ The stack in which this resource is defined.
755
+
756
+ ---
757
+
758
+ ##### `clusterArn`<sup>Required</sup> <a name="clusterArn" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterArn"></a>
759
+
760
+ ```typescript
761
+ public readonly clusterArn: string;
762
+ ```
763
+
764
+ - *Type:* string
765
+
766
+ The ARN of the cluster.
767
+
768
+ ---
769
+
770
+ ##### `clusterEndpoint`<sup>Required</sup> <a name="clusterEndpoint" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterEndpoint"></a>
771
+
772
+ ```typescript
773
+ public readonly clusterEndpoint: Endpoint;
774
+ ```
775
+
776
+ - *Type:* aws-cdk-lib.aws_rds.Endpoint
777
+
778
+ The endpoint to use for read/write operations.
779
+
780
+ ---
781
+
782
+ ##### `clusterIdentifier`<sup>Required</sup> <a name="clusterIdentifier" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterIdentifier"></a>
783
+
784
+ ```typescript
785
+ public readonly clusterIdentifier: string;
786
+ ```
787
+
788
+ - *Type:* string
789
+
790
+ Identifier of the cluster.
791
+
792
+ ---
793
+
794
+ ##### `clusterReadEndpoint`<sup>Required</sup> <a name="clusterReadEndpoint" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterReadEndpoint"></a>
795
+
796
+ ```typescript
797
+ public readonly clusterReadEndpoint: Endpoint;
798
+ ```
799
+
800
+ - *Type:* aws-cdk-lib.aws_rds.Endpoint
801
+
802
+ Endpoint to use for load-balanced read-only operations.
803
+
804
+ ---
805
+
806
+ ##### `clusterResourceIdentifier`<sup>Required</sup> <a name="clusterResourceIdentifier" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.clusterResourceIdentifier"></a>
807
+
808
+ ```typescript
809
+ public readonly clusterResourceIdentifier: string;
810
+ ```
811
+
812
+ - *Type:* string
813
+
814
+ The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP.
815
+
816
+ This AWS Region-unique identifier is used in things like IAM authentication policies.
817
+
818
+ ---
819
+
820
+ ##### `connections`<sup>Required</sup> <a name="connections" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.connections"></a>
821
+
822
+ ```typescript
823
+ public readonly connections: Connections;
824
+ ```
825
+
826
+ - *Type:* aws-cdk-lib.aws_ec2.Connections
827
+
828
+ Access to the network connections.
829
+
830
+ ---
831
+
832
+ ##### `instanceEndpoints`<sup>Required</sup> <a name="instanceEndpoints" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.instanceEndpoints"></a>
833
+
834
+ ```typescript
835
+ public readonly instanceEndpoints: Endpoint[];
836
+ ```
837
+
838
+ - *Type:* aws-cdk-lib.aws_rds.Endpoint[]
839
+
840
+ Endpoints which address each individual replica.
841
+
842
+ ---
843
+
844
+ ##### `instanceIdentifiers`<sup>Required</sup> <a name="instanceIdentifiers" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.instanceIdentifiers"></a>
845
+
846
+ ```typescript
847
+ public readonly instanceIdentifiers: string[];
848
+ ```
849
+
850
+ - *Type:* string[]
851
+
852
+ Identifiers of the replicas.
853
+
854
+ ---
855
+
856
+ ##### `engine`<sup>Optional</sup> <a name="engine" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.engine"></a>
857
+
858
+ ```typescript
859
+ public readonly engine: IClusterEngine;
860
+ ```
861
+
862
+ - *Type:* aws-cdk-lib.aws_rds.IClusterEngine
863
+
864
+ The engine for this Cluster.
865
+
866
+ Never undefined.
867
+
868
+ ---
869
+
870
+ ##### `secret`<sup>Optional</sup> <a name="secret" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.secret"></a>
871
+
872
+ ```typescript
873
+ public readonly secret: ISecret;
874
+ ```
875
+
876
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
877
+
878
+ The secret attached to this cluster.
879
+
880
+ ---
881
+
882
+ ##### `cloudwatchLogGroups`<sup>Required</sup> <a name="cloudwatchLogGroups" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.cloudwatchLogGroups"></a>
883
+
884
+ ```typescript
885
+ public readonly cloudwatchLogGroups: {[ key: string ]: ILogGroup};
886
+ ```
887
+
888
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_logs.ILogGroup}
889
+
890
+ The log group is created when `cloudwatchLogsExports` is set.
891
+
892
+ Each export value will create a separate log group.
893
+
894
+ ---
895
+
896
+ ##### `multiUserRotationApplication`<sup>Required</sup> <a name="multiUserRotationApplication" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.multiUserRotationApplication"></a>
897
+
898
+ ```typescript
899
+ public readonly multiUserRotationApplication: SecretRotationApplication;
900
+ ```
901
+
902
+ - *Type:* aws-cdk-lib.aws_secretsmanager.SecretRotationApplication
903
+
904
+ Application for multi user rotation to this cluster.
905
+
906
+ ---
907
+
908
+ ##### `singleUserRotationApplication`<sup>Required</sup> <a name="singleUserRotationApplication" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.singleUserRotationApplication"></a>
909
+
910
+ ```typescript
911
+ public readonly singleUserRotationApplication: SecretRotationApplication;
912
+ ```
913
+
914
+ - *Type:* aws-cdk-lib.aws_secretsmanager.SecretRotationApplication
915
+
916
+ Application for single user rotation of the master password to this cluster.
917
+
918
+ ---
919
+
920
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.vpc"></a>
921
+
922
+ ```typescript
923
+ public readonly vpc: IVpc;
924
+ ```
925
+
926
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
927
+
928
+ The VPC network to place the cluster in.
929
+
930
+ ---
931
+
932
+ ##### `vpcSubnets`<sup>Optional</sup> <a name="vpcSubnets" id="tm-cdk-constructs.TmRdsAuroraMysqlServerless.property.vpcSubnets"></a>
933
+
934
+ ```typescript
935
+ public readonly vpcSubnets: SubnetSelection;
936
+ ```
937
+
938
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
939
+
940
+ The cluster's subnets.
941
+
942
+ ---
943
+
944
+
945
+ ### TmVpcBase <a name="TmVpcBase" id="tm-cdk-constructs.TmVpcBase"></a>
946
+
947
+ A VPC construct that creates a VPC with public and private subnets.
948
+
949
+ #### Initializers <a name="Initializers" id="tm-cdk-constructs.TmVpcBase.Initializer"></a>
950
+
951
+ ```typescript
952
+ import { TmVpcBase } from 'tm-cdk-constructs'
953
+
954
+ new TmVpcBase(scope: Construct, id: string, props: TmVpcProps)
955
+ ```
956
+
957
+ | **Name** | **Type** | **Description** |
958
+ | --- | --- | --- |
959
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
960
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
961
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.Initializer.parameter.props">props</a></code> | <code><a href="#tm-cdk-constructs.TmVpcProps">TmVpcProps</a></code> | *No description.* |
962
+
963
+ ---
964
+
965
+ ##### `scope`<sup>Required</sup> <a name="scope" id="tm-cdk-constructs.TmVpcBase.Initializer.parameter.scope"></a>
966
+
967
+ - *Type:* constructs.Construct
968
+
969
+ ---
970
+
971
+ ##### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.Initializer.parameter.id"></a>
972
+
973
+ - *Type:* string
974
+
975
+ ---
976
+
977
+ ##### `props`<sup>Required</sup> <a name="props" id="tm-cdk-constructs.TmVpcBase.Initializer.parameter.props"></a>
978
+
979
+ - *Type:* <a href="#tm-cdk-constructs.TmVpcProps">TmVpcProps</a>
980
+
981
+ ---
982
+
983
+ #### Methods <a name="Methods" id="Methods"></a>
984
+
985
+ | **Name** | **Description** |
986
+ | --- | --- |
987
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.toString">toString</a></code> | Returns a string representation of this construct. |
988
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
989
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.addClientVpnEndpoint">addClientVpnEndpoint</a></code> | Adds a new client VPN endpoint to this VPC. |
990
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.addFlowLog">addFlowLog</a></code> | Adds a new flow log to this VPC. |
991
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.addGatewayEndpoint">addGatewayEndpoint</a></code> | Adds a new gateway endpoint to this VPC. |
992
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.addInterfaceEndpoint">addInterfaceEndpoint</a></code> | Adds a new interface endpoint to this VPC. |
993
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.addVpnConnection">addVpnConnection</a></code> | Adds a new VPN connection to this VPC. |
994
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.enableVpnGateway">enableVpnGateway</a></code> | Adds a VPN Gateway to this VPC. |
995
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.selectSubnets">selectSubnets</a></code> | Returns IDs of selected subnets. |
996
+
997
+ ---
998
+
999
+ ##### `toString` <a name="toString" id="tm-cdk-constructs.TmVpcBase.toString"></a>
1000
+
1001
+ ```typescript
1002
+ public toString(): string
1003
+ ```
1004
+
1005
+ Returns a string representation of this construct.
1006
+
1007
+ ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="tm-cdk-constructs.TmVpcBase.applyRemovalPolicy"></a>
1008
+
1009
+ ```typescript
1010
+ public applyRemovalPolicy(policy: RemovalPolicy): void
1011
+ ```
1012
+
1013
+ Apply the given removal policy to this resource.
1014
+
1015
+ The Removal Policy controls what happens to this resource when it stops
1016
+ being managed by CloudFormation, either because you've removed it from the
1017
+ CDK application or because you've made a change that requires the resource
1018
+ to be replaced.
1019
+
1020
+ The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
1021
+ account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
1022
+
1023
+ ###### `policy`<sup>Required</sup> <a name="policy" id="tm-cdk-constructs.TmVpcBase.applyRemovalPolicy.parameter.policy"></a>
1024
+
1025
+ - *Type:* aws-cdk-lib.RemovalPolicy
1026
+
1027
+ ---
1028
+
1029
+ ##### `addClientVpnEndpoint` <a name="addClientVpnEndpoint" id="tm-cdk-constructs.TmVpcBase.addClientVpnEndpoint"></a>
1030
+
1031
+ ```typescript
1032
+ public addClientVpnEndpoint(id: string, options: ClientVpnEndpointOptions): ClientVpnEndpoint
1033
+ ```
1034
+
1035
+ Adds a new client VPN endpoint to this VPC.
1036
+
1037
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.addClientVpnEndpoint.parameter.id"></a>
1038
+
1039
+ - *Type:* string
1040
+
1041
+ ---
1042
+
1043
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.addClientVpnEndpoint.parameter.options"></a>
1044
+
1045
+ - *Type:* aws-cdk-lib.aws_ec2.ClientVpnEndpointOptions
1046
+
1047
+ ---
1048
+
1049
+ ##### `addFlowLog` <a name="addFlowLog" id="tm-cdk-constructs.TmVpcBase.addFlowLog"></a>
1050
+
1051
+ ```typescript
1052
+ public addFlowLog(id: string, options?: FlowLogOptions): FlowLog
1053
+ ```
1054
+
1055
+ Adds a new flow log to this VPC.
1056
+
1057
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.addFlowLog.parameter.id"></a>
1058
+
1059
+ - *Type:* string
1060
+
1061
+ ---
1062
+
1063
+ ###### `options`<sup>Optional</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.addFlowLog.parameter.options"></a>
1064
+
1065
+ - *Type:* aws-cdk-lib.aws_ec2.FlowLogOptions
1066
+
1067
+ ---
1068
+
1069
+ ##### `addGatewayEndpoint` <a name="addGatewayEndpoint" id="tm-cdk-constructs.TmVpcBase.addGatewayEndpoint"></a>
1070
+
1071
+ ```typescript
1072
+ public addGatewayEndpoint(id: string, options: GatewayVpcEndpointOptions): GatewayVpcEndpoint
1073
+ ```
1074
+
1075
+ Adds a new gateway endpoint to this VPC.
1076
+
1077
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.addGatewayEndpoint.parameter.id"></a>
1078
+
1079
+ - *Type:* string
1080
+
1081
+ ---
1082
+
1083
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.addGatewayEndpoint.parameter.options"></a>
1084
+
1085
+ - *Type:* aws-cdk-lib.aws_ec2.GatewayVpcEndpointOptions
1086
+
1087
+ ---
1088
+
1089
+ ##### `addInterfaceEndpoint` <a name="addInterfaceEndpoint" id="tm-cdk-constructs.TmVpcBase.addInterfaceEndpoint"></a>
1090
+
1091
+ ```typescript
1092
+ public addInterfaceEndpoint(id: string, options: InterfaceVpcEndpointOptions): InterfaceVpcEndpoint
1093
+ ```
1094
+
1095
+ Adds a new interface endpoint to this VPC.
1096
+
1097
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.addInterfaceEndpoint.parameter.id"></a>
1098
+
1099
+ - *Type:* string
1100
+
1101
+ ---
1102
+
1103
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.addInterfaceEndpoint.parameter.options"></a>
1104
+
1105
+ - *Type:* aws-cdk-lib.aws_ec2.InterfaceVpcEndpointOptions
1106
+
1107
+ ---
1108
+
1109
+ ##### `addVpnConnection` <a name="addVpnConnection" id="tm-cdk-constructs.TmVpcBase.addVpnConnection"></a>
1110
+
1111
+ ```typescript
1112
+ public addVpnConnection(id: string, options: VpnConnectionOptions): VpnConnection
1113
+ ```
1114
+
1115
+ Adds a new VPN connection to this VPC.
1116
+
1117
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.addVpnConnection.parameter.id"></a>
1118
+
1119
+ - *Type:* string
1120
+
1121
+ ---
1122
+
1123
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.addVpnConnection.parameter.options"></a>
1124
+
1125
+ - *Type:* aws-cdk-lib.aws_ec2.VpnConnectionOptions
1126
+
1127
+ ---
1128
+
1129
+ ##### `enableVpnGateway` <a name="enableVpnGateway" id="tm-cdk-constructs.TmVpcBase.enableVpnGateway"></a>
1130
+
1131
+ ```typescript
1132
+ public enableVpnGateway(options: EnableVpnGatewayOptions): void
1133
+ ```
1134
+
1135
+ Adds a VPN Gateway to this VPC.
1136
+
1137
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.enableVpnGateway.parameter.options"></a>
1138
+
1139
+ - *Type:* aws-cdk-lib.aws_ec2.EnableVpnGatewayOptions
1140
+
1141
+ ---
1142
+
1143
+ ##### `selectSubnets` <a name="selectSubnets" id="tm-cdk-constructs.TmVpcBase.selectSubnets"></a>
1144
+
1145
+ ```typescript
1146
+ public selectSubnets(selection?: SubnetSelection): SelectedSubnets
1147
+ ```
1148
+
1149
+ Returns IDs of selected subnets.
1150
+
1151
+ ###### `selection`<sup>Optional</sup> <a name="selection" id="tm-cdk-constructs.TmVpcBase.selectSubnets.parameter.selection"></a>
1152
+
1153
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
1154
+
1155
+ ---
1156
+
1157
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1158
+
1159
+ | **Name** | **Description** |
1160
+ | --- | --- |
1161
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1162
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
1163
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
1164
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.fromLookup">fromLookup</a></code> | Import an existing VPC by querying the AWS environment this stack is deployed to. |
1165
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.fromVpcAttributes">fromVpcAttributes</a></code> | Import a VPC by supplying all attributes directly. |
1166
+
1167
+ ---
1168
+
1169
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="tm-cdk-constructs.TmVpcBase.isConstruct"></a>
1170
+
1171
+ ```typescript
1172
+ import { TmVpcBase } from 'tm-cdk-constructs'
1173
+
1174
+ TmVpcBase.isConstruct(x: any)
1175
+ ```
1176
+
1177
+ Checks if `x` is a construct.
1178
+
1179
+ ###### `x`<sup>Required</sup> <a name="x" id="tm-cdk-constructs.TmVpcBase.isConstruct.parameter.x"></a>
1180
+
1181
+ - *Type:* any
1182
+
1183
+ Any object.
1184
+
1185
+ ---
1186
+
1187
+ ##### `isOwnedResource` <a name="isOwnedResource" id="tm-cdk-constructs.TmVpcBase.isOwnedResource"></a>
1188
+
1189
+ ```typescript
1190
+ import { TmVpcBase } from 'tm-cdk-constructs'
1191
+
1192
+ TmVpcBase.isOwnedResource(construct: IConstruct)
1193
+ ```
1194
+
1195
+ Returns true if the construct was created by CDK, and false otherwise.
1196
+
1197
+ ###### `construct`<sup>Required</sup> <a name="construct" id="tm-cdk-constructs.TmVpcBase.isOwnedResource.parameter.construct"></a>
1198
+
1199
+ - *Type:* constructs.IConstruct
1200
+
1201
+ ---
1202
+
1203
+ ##### `isResource` <a name="isResource" id="tm-cdk-constructs.TmVpcBase.isResource"></a>
1204
+
1205
+ ```typescript
1206
+ import { TmVpcBase } from 'tm-cdk-constructs'
1207
+
1208
+ TmVpcBase.isResource(construct: IConstruct)
1209
+ ```
1210
+
1211
+ Check whether the given construct is a Resource.
1212
+
1213
+ ###### `construct`<sup>Required</sup> <a name="construct" id="tm-cdk-constructs.TmVpcBase.isResource.parameter.construct"></a>
1214
+
1215
+ - *Type:* constructs.IConstruct
1216
+
1217
+ ---
1218
+
1219
+ ##### `fromLookup` <a name="fromLookup" id="tm-cdk-constructs.TmVpcBase.fromLookup"></a>
1220
+
1221
+ ```typescript
1222
+ import { TmVpcBase } from 'tm-cdk-constructs'
1223
+
1224
+ TmVpcBase.fromLookup(scope: Construct, id: string, options: VpcLookupOptions)
1225
+ ```
1226
+
1227
+ Import an existing VPC by querying the AWS environment this stack is deployed to.
1228
+
1229
+ This function only needs to be used to use VPCs not defined in your CDK
1230
+ application. If you are looking to share a VPC between stacks, you can
1231
+ pass the `Vpc` object between stacks and use it as normal.
1232
+
1233
+ Calling this method will lead to a lookup when the CDK CLI is executed.
1234
+ You can therefore not use any values that will only be available at
1235
+ CloudFormation execution time (i.e., Tokens).
1236
+
1237
+ The VPC information will be cached in `cdk.context.json` and the same VPC
1238
+ will be used on future runs. To refresh the lookup, you will have to
1239
+ evict the value from the cache using the `cdk context` command. See
1240
+ https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.
1241
+
1242
+ ###### `scope`<sup>Required</sup> <a name="scope" id="tm-cdk-constructs.TmVpcBase.fromLookup.parameter.scope"></a>
1243
+
1244
+ - *Type:* constructs.Construct
1245
+
1246
+ ---
1247
+
1248
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.fromLookup.parameter.id"></a>
1249
+
1250
+ - *Type:* string
1251
+
1252
+ ---
1253
+
1254
+ ###### `options`<sup>Required</sup> <a name="options" id="tm-cdk-constructs.TmVpcBase.fromLookup.parameter.options"></a>
1255
+
1256
+ - *Type:* aws-cdk-lib.aws_ec2.VpcLookupOptions
1257
+
1258
+ ---
1259
+
1260
+ ##### `fromVpcAttributes` <a name="fromVpcAttributes" id="tm-cdk-constructs.TmVpcBase.fromVpcAttributes"></a>
1261
+
1262
+ ```typescript
1263
+ import { TmVpcBase } from 'tm-cdk-constructs'
1264
+
1265
+ TmVpcBase.fromVpcAttributes(scope: Construct, id: string, attrs: VpcAttributes)
1266
+ ```
1267
+
1268
+ Import a VPC by supplying all attributes directly.
1269
+
1270
+ NOTE: using `fromVpcAttributes()` with deploy-time parameters (like a `Fn.importValue()` or
1271
+ `CfnParameter` to represent a list of subnet IDs) sometimes accidentally works. It happens
1272
+ to work for constructs that need a list of subnets (like `AutoScalingGroup` and `eks.Cluster`)
1273
+ but it does not work for constructs that need individual subnets (like
1274
+ `Instance`). See https://github.com/aws/aws-cdk/issues/4118 for more
1275
+ information.
1276
+
1277
+ Prefer to use `Vpc.fromLookup()` instead.
1278
+
1279
+ ###### `scope`<sup>Required</sup> <a name="scope" id="tm-cdk-constructs.TmVpcBase.fromVpcAttributes.parameter.scope"></a>
1280
+
1281
+ - *Type:* constructs.Construct
1282
+
1283
+ ---
1284
+
1285
+ ###### `id`<sup>Required</sup> <a name="id" id="tm-cdk-constructs.TmVpcBase.fromVpcAttributes.parameter.id"></a>
1286
+
1287
+ - *Type:* string
1288
+
1289
+ ---
1290
+
1291
+ ###### `attrs`<sup>Required</sup> <a name="attrs" id="tm-cdk-constructs.TmVpcBase.fromVpcAttributes.parameter.attrs"></a>
1292
+
1293
+ - *Type:* aws-cdk-lib.aws_ec2.VpcAttributes
1294
+
1295
+ ---
1296
+
1297
+ #### Properties <a name="Properties" id="Properties"></a>
1298
+
1299
+ | **Name** | **Type** | **Description** |
1300
+ | --- | --- | --- |
1301
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1302
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
1303
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
1304
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.availabilityZones">availabilityZones</a></code> | <code>string[]</code> | AZs for this VPC. |
1305
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.dnsHostnamesEnabled">dnsHostnamesEnabled</a></code> | <code>boolean</code> | Indicates if instances launched in this VPC will have public DNS hostnames. |
1306
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.dnsSupportEnabled">dnsSupportEnabled</a></code> | <code>boolean</code> | Indicates if DNS support is enabled for this VPC. |
1307
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.internetConnectivityEstablished">internetConnectivityEstablished</a></code> | <code>constructs.IDependable</code> | Dependencies for internet connectivity. |
1308
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.isolatedSubnets">isolatedSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet[]</code> | List of isolated subnets in this VPC. |
1309
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.privateSubnets">privateSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet[]</code> | List of private subnets in this VPC. |
1310
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.publicSubnets">publicSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet[]</code> | List of public subnets in this VPC. |
1311
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcArn">vpcArn</a></code> | <code>string</code> | Arn of this VPC. |
1312
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcCidrBlock">vpcCidrBlock</a></code> | <code>string</code> | CIDR range for this VPC. |
1313
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcCidrBlockAssociations">vpcCidrBlockAssociations</a></code> | <code>string[]</code> | *No description.* |
1314
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcDefaultNetworkAcl">vpcDefaultNetworkAcl</a></code> | <code>string</code> | *No description.* |
1315
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcDefaultSecurityGroup">vpcDefaultSecurityGroup</a></code> | <code>string</code> | *No description.* |
1316
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcId">vpcId</a></code> | <code>string</code> | Identifier for this VPC. |
1317
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpcIpv6CidrBlocks">vpcIpv6CidrBlocks</a></code> | <code>string[]</code> | *No description.* |
1318
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.internetGatewayId">internetGatewayId</a></code> | <code>string</code> | Internet Gateway for the VPC. |
1319
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.vpnGatewayId">vpnGatewayId</a></code> | <code>string</code> | Returns the id of the VPN Gateway (if enabled). |
1320
+
1321
+ ---
1322
+
1323
+ ##### `node`<sup>Required</sup> <a name="node" id="tm-cdk-constructs.TmVpcBase.property.node"></a>
1324
+
1325
+ ```typescript
1326
+ public readonly node: Node;
1327
+ ```
1328
+
1329
+ - *Type:* constructs.Node
1330
+
1331
+ The tree node.
1332
+
1333
+ ---
1334
+
1335
+ ##### `env`<sup>Required</sup> <a name="env" id="tm-cdk-constructs.TmVpcBase.property.env"></a>
1336
+
1337
+ ```typescript
1338
+ public readonly env: ResourceEnvironment;
1339
+ ```
1340
+
1341
+ - *Type:* aws-cdk-lib.ResourceEnvironment
1342
+
1343
+ The environment this resource belongs to.
1344
+
1345
+ For resources that are created and managed by the CDK
1346
+ (generally, those created by creating new class instances like Role, Bucket, etc.),
1347
+ this is always the same as the environment of the stack they belong to;
1348
+ however, for imported resources
1349
+ (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
1350
+ that might be different than the stack they were imported into.
1351
+
1352
+ ---
1353
+
1354
+ ##### `stack`<sup>Required</sup> <a name="stack" id="tm-cdk-constructs.TmVpcBase.property.stack"></a>
1355
+
1356
+ ```typescript
1357
+ public readonly stack: Stack;
1358
+ ```
1359
+
1360
+ - *Type:* aws-cdk-lib.Stack
1361
+
1362
+ The stack in which this resource is defined.
1363
+
1364
+ ---
1365
+
1366
+ ##### `availabilityZones`<sup>Required</sup> <a name="availabilityZones" id="tm-cdk-constructs.TmVpcBase.property.availabilityZones"></a>
1367
+
1368
+ ```typescript
1369
+ public readonly availabilityZones: string[];
1370
+ ```
1371
+
1372
+ - *Type:* string[]
1373
+
1374
+ AZs for this VPC.
1375
+
1376
+ ---
1377
+
1378
+ ##### `dnsHostnamesEnabled`<sup>Required</sup> <a name="dnsHostnamesEnabled" id="tm-cdk-constructs.TmVpcBase.property.dnsHostnamesEnabled"></a>
1379
+
1380
+ ```typescript
1381
+ public readonly dnsHostnamesEnabled: boolean;
1382
+ ```
1383
+
1384
+ - *Type:* boolean
1385
+
1386
+ Indicates if instances launched in this VPC will have public DNS hostnames.
1387
+
1388
+ ---
1389
+
1390
+ ##### `dnsSupportEnabled`<sup>Required</sup> <a name="dnsSupportEnabled" id="tm-cdk-constructs.TmVpcBase.property.dnsSupportEnabled"></a>
1391
+
1392
+ ```typescript
1393
+ public readonly dnsSupportEnabled: boolean;
1394
+ ```
1395
+
1396
+ - *Type:* boolean
1397
+
1398
+ Indicates if DNS support is enabled for this VPC.
1399
+
1400
+ ---
1401
+
1402
+ ##### `internetConnectivityEstablished`<sup>Required</sup> <a name="internetConnectivityEstablished" id="tm-cdk-constructs.TmVpcBase.property.internetConnectivityEstablished"></a>
1403
+
1404
+ ```typescript
1405
+ public readonly internetConnectivityEstablished: IDependable;
1406
+ ```
1407
+
1408
+ - *Type:* constructs.IDependable
1409
+
1410
+ Dependencies for internet connectivity.
1411
+
1412
+ ---
1413
+
1414
+ ##### `isolatedSubnets`<sup>Required</sup> <a name="isolatedSubnets" id="tm-cdk-constructs.TmVpcBase.property.isolatedSubnets"></a>
1415
+
1416
+ ```typescript
1417
+ public readonly isolatedSubnets: ISubnet[];
1418
+ ```
1419
+
1420
+ - *Type:* aws-cdk-lib.aws_ec2.ISubnet[]
1421
+
1422
+ List of isolated subnets in this VPC.
1423
+
1424
+ ---
1425
+
1426
+ ##### `privateSubnets`<sup>Required</sup> <a name="privateSubnets" id="tm-cdk-constructs.TmVpcBase.property.privateSubnets"></a>
1427
+
1428
+ ```typescript
1429
+ public readonly privateSubnets: ISubnet[];
1430
+ ```
1431
+
1432
+ - *Type:* aws-cdk-lib.aws_ec2.ISubnet[]
1433
+
1434
+ List of private subnets in this VPC.
1435
+
1436
+ ---
1437
+
1438
+ ##### `publicSubnets`<sup>Required</sup> <a name="publicSubnets" id="tm-cdk-constructs.TmVpcBase.property.publicSubnets"></a>
1439
+
1440
+ ```typescript
1441
+ public readonly publicSubnets: ISubnet[];
1442
+ ```
1443
+
1444
+ - *Type:* aws-cdk-lib.aws_ec2.ISubnet[]
1445
+
1446
+ List of public subnets in this VPC.
1447
+
1448
+ ---
1449
+
1450
+ ##### `vpcArn`<sup>Required</sup> <a name="vpcArn" id="tm-cdk-constructs.TmVpcBase.property.vpcArn"></a>
1451
+
1452
+ ```typescript
1453
+ public readonly vpcArn: string;
1454
+ ```
1455
+
1456
+ - *Type:* string
1457
+
1458
+ Arn of this VPC.
1459
+
1460
+ ---
1461
+
1462
+ ##### `vpcCidrBlock`<sup>Required</sup> <a name="vpcCidrBlock" id="tm-cdk-constructs.TmVpcBase.property.vpcCidrBlock"></a>
1463
+
1464
+ ```typescript
1465
+ public readonly vpcCidrBlock: string;
1466
+ ```
1467
+
1468
+ - *Type:* string
1469
+
1470
+ CIDR range for this VPC.
1471
+
1472
+ ---
1473
+
1474
+ ##### `vpcCidrBlockAssociations`<sup>Required</sup> <a name="vpcCidrBlockAssociations" id="tm-cdk-constructs.TmVpcBase.property.vpcCidrBlockAssociations"></a>
1475
+
1476
+ ```typescript
1477
+ public readonly vpcCidrBlockAssociations: string[];
1478
+ ```
1479
+
1480
+ - *Type:* string[]
1481
+
1482
+ ---
1483
+
1484
+ ##### `vpcDefaultNetworkAcl`<sup>Required</sup> <a name="vpcDefaultNetworkAcl" id="tm-cdk-constructs.TmVpcBase.property.vpcDefaultNetworkAcl"></a>
1485
+
1486
+ ```typescript
1487
+ public readonly vpcDefaultNetworkAcl: string;
1488
+ ```
1489
+
1490
+ - *Type:* string
1491
+
1492
+ ---
1493
+
1494
+ ##### `vpcDefaultSecurityGroup`<sup>Required</sup> <a name="vpcDefaultSecurityGroup" id="tm-cdk-constructs.TmVpcBase.property.vpcDefaultSecurityGroup"></a>
1495
+
1496
+ ```typescript
1497
+ public readonly vpcDefaultSecurityGroup: string;
1498
+ ```
1499
+
1500
+ - *Type:* string
1501
+
1502
+ ---
1503
+
1504
+ ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="tm-cdk-constructs.TmVpcBase.property.vpcId"></a>
1505
+
1506
+ ```typescript
1507
+ public readonly vpcId: string;
1508
+ ```
1509
+
1510
+ - *Type:* string
1511
+
1512
+ Identifier for this VPC.
1513
+
1514
+ ---
1515
+
1516
+ ##### `vpcIpv6CidrBlocks`<sup>Required</sup> <a name="vpcIpv6CidrBlocks" id="tm-cdk-constructs.TmVpcBase.property.vpcIpv6CidrBlocks"></a>
1517
+
1518
+ ```typescript
1519
+ public readonly vpcIpv6CidrBlocks: string[];
1520
+ ```
1521
+
1522
+ - *Type:* string[]
1523
+
1524
+ ---
1525
+
1526
+ ##### `internetGatewayId`<sup>Optional</sup> <a name="internetGatewayId" id="tm-cdk-constructs.TmVpcBase.property.internetGatewayId"></a>
1527
+
1528
+ ```typescript
1529
+ public readonly internetGatewayId: string;
1530
+ ```
1531
+
1532
+ - *Type:* string
1533
+
1534
+ Internet Gateway for the VPC.
1535
+
1536
+ Note that in case the VPC is configured only
1537
+ with ISOLATED subnets, this attribute will be `undefined`.
1538
+
1539
+ ---
1540
+
1541
+ ##### `vpnGatewayId`<sup>Optional</sup> <a name="vpnGatewayId" id="tm-cdk-constructs.TmVpcBase.property.vpnGatewayId"></a>
1542
+
1543
+ ```typescript
1544
+ public readonly vpnGatewayId: string;
1545
+ ```
1546
+
1547
+ - *Type:* string
1548
+
1549
+ Returns the id of the VPN Gateway (if enabled).
1550
+
1551
+ ---
1552
+
1553
+ #### Constants <a name="Constants" id="Constants"></a>
1554
+
1555
+ | **Name** | **Type** | **Description** |
1556
+ | --- | --- | --- |
1557
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.DEFAULT_CIDR_RANGE">DEFAULT_CIDR_RANGE</a></code> | <code>string</code> | The default CIDR range used when creating VPCs. |
1558
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.DEFAULT_SUBNETS">DEFAULT_SUBNETS</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetConfiguration[]</code> | The default subnet configuration. |
1559
+ | <code><a href="#tm-cdk-constructs.TmVpcBase.property.DEFAULT_SUBNETS_NO_NAT">DEFAULT_SUBNETS_NO_NAT</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetConfiguration[]</code> | The default subnet configuration if natGateways specified to be 0. |
1560
+
1561
+ ---
1562
+
1563
+ ##### `DEFAULT_CIDR_RANGE`<sup>Required</sup> <a name="DEFAULT_CIDR_RANGE" id="tm-cdk-constructs.TmVpcBase.property.DEFAULT_CIDR_RANGE"></a>
1564
+
1565
+ ```typescript
1566
+ public readonly DEFAULT_CIDR_RANGE: string;
1567
+ ```
1568
+
1569
+ - *Type:* string
1570
+
1571
+ The default CIDR range used when creating VPCs.
1572
+
1573
+ This can be overridden using VpcProps when creating a VPCNetwork resource.
1574
+ e.g. new VpcResource(this, { cidr: '192.168.0.0./16' })
1575
+
1576
+ Note this is specific to the IPv4 CIDR.
1577
+
1578
+ ---
1579
+
1580
+ ##### `DEFAULT_SUBNETS`<sup>Required</sup> <a name="DEFAULT_SUBNETS" id="tm-cdk-constructs.TmVpcBase.property.DEFAULT_SUBNETS"></a>
1581
+
1582
+ ```typescript
1583
+ public readonly DEFAULT_SUBNETS: SubnetConfiguration[];
1584
+ ```
1585
+
1586
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetConfiguration[]
1587
+
1588
+ The default subnet configuration.
1589
+
1590
+ 1 Public and 1 Private subnet per AZ evenly split
1591
+
1592
+ ---
1593
+
1594
+ ##### `DEFAULT_SUBNETS_NO_NAT`<sup>Required</sup> <a name="DEFAULT_SUBNETS_NO_NAT" id="tm-cdk-constructs.TmVpcBase.property.DEFAULT_SUBNETS_NO_NAT"></a>
1595
+
1596
+ ```typescript
1597
+ public readonly DEFAULT_SUBNETS_NO_NAT: SubnetConfiguration[];
1598
+ ```
1599
+
1600
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetConfiguration[]
1601
+
1602
+ The default subnet configuration if natGateways specified to be 0.
1603
+
1604
+ 1 Public and 1 Isolated Subnet per AZ evenly split
1605
+
1606
+ ---
1607
+
1608
+ ## Structs <a name="Structs" id="Structs"></a>
1609
+
1610
+ ### TmPipelineProps <a name="TmPipelineProps" id="tm-cdk-constructs.TmPipelineProps"></a>
1611
+
1612
+ #### Initializer <a name="Initializer" id="tm-cdk-constructs.TmPipelineProps.Initializer"></a>
1613
+
1614
+ ```typescript
1615
+ import { TmPipelineProps } from 'tm-cdk-constructs'
1616
+
1617
+ const tmPipelineProps: TmPipelineProps = { ... }
1618
+ ```
1619
+
1620
+ #### Properties <a name="Properties" id="Properties"></a>
1621
+
1622
+ | **Name** | **Type** | **Description** |
1623
+ | --- | --- | --- |
1624
+ | <code><a href="#tm-cdk-constructs.TmPipelineProps.property.pipelineName">pipelineName</a></code> | <code>string</code> | The name of the pipeline. |
1625
+ | <code><a href="#tm-cdk-constructs.TmPipelineProps.property.repoBranch">repoBranch</a></code> | <code>string</code> | The branch of the repository to use. |
1626
+ | <code><a href="#tm-cdk-constructs.TmPipelineProps.property.repoName">repoName</a></code> | <code>string</code> | The name of the repository. |
1627
+ | <code><a href="#tm-cdk-constructs.TmPipelineProps.property.primaryOutputDirectory">primaryOutputDirectory</a></code> | <code>string</code> | The primary output directory. |
1628
+ | <code><a href="#tm-cdk-constructs.TmPipelineProps.property.synthCommand">synthCommand</a></code> | <code>string[]</code> | The command to run in the synth step. |
1629
+
1630
+ ---
1631
+
1632
+ ##### `pipelineName`<sup>Required</sup> <a name="pipelineName" id="tm-cdk-constructs.TmPipelineProps.property.pipelineName"></a>
1633
+
1634
+ ```typescript
1635
+ public readonly pipelineName: string;
1636
+ ```
1637
+
1638
+ - *Type:* string
1639
+
1640
+ The name of the pipeline.
1641
+
1642
+ ---
1643
+
1644
+ ##### `repoBranch`<sup>Required</sup> <a name="repoBranch" id="tm-cdk-constructs.TmPipelineProps.property.repoBranch"></a>
1645
+
1646
+ ```typescript
1647
+ public readonly repoBranch: string;
1648
+ ```
1649
+
1650
+ - *Type:* string
1651
+
1652
+ The branch of the repository to use.
1653
+
1654
+ ---
1655
+
1656
+ ##### `repoName`<sup>Required</sup> <a name="repoName" id="tm-cdk-constructs.TmPipelineProps.property.repoName"></a>
1657
+
1658
+ ```typescript
1659
+ public readonly repoName: string;
1660
+ ```
1661
+
1662
+ - *Type:* string
1663
+
1664
+ The name of the repository.
1665
+
1666
+ ---
1667
+
1668
+ ##### `primaryOutputDirectory`<sup>Optional</sup> <a name="primaryOutputDirectory" id="tm-cdk-constructs.TmPipelineProps.property.primaryOutputDirectory"></a>
1669
+
1670
+ ```typescript
1671
+ public readonly primaryOutputDirectory: string;
1672
+ ```
1673
+
1674
+ - *Type:* string
1675
+
1676
+ The primary output directory.
1677
+
1678
+ ---
1679
+
1680
+ ##### `synthCommand`<sup>Optional</sup> <a name="synthCommand" id="tm-cdk-constructs.TmPipelineProps.property.synthCommand"></a>
1681
+
1682
+ ```typescript
1683
+ public readonly synthCommand: string[];
1684
+ ```
1685
+
1686
+ - *Type:* string[]
1687
+
1688
+ The command to run in the synth step.
1689
+
1690
+ ---
1691
+
1692
+ ### TmRdsAuroraMysqlServerlessProps <a name="TmRdsAuroraMysqlServerlessProps" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps"></a>
1693
+
1694
+ #### Initializer <a name="Initializer" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.Initializer"></a>
1695
+
1696
+ ```typescript
1697
+ import { TmRdsAuroraMysqlServerlessProps } from 'tm-cdk-constructs'
1698
+
1699
+ const tmRdsAuroraMysqlServerlessProps: TmRdsAuroraMysqlServerlessProps = { ... }
1700
+ ```
1701
+
1702
+ #### Properties <a name="Properties" id="Properties"></a>
1703
+
1704
+ | **Name** | **Type** | **Description** |
1705
+ | --- | --- | --- |
1706
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.engine">engine</a></code> | <code>aws-cdk-lib.aws_rds.IClusterEngine</code> | What kind of database to start. |
1707
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.backtrackWindow">backtrackWindow</a></code> | <code>aws-cdk-lib.Duration</code> | The number of seconds to set a cluster's target backtrack window to. |
1708
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.backup">backup</a></code> | <code>aws-cdk-lib.aws_rds.BackupProps</code> | Backup settings. |
1709
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.cloudwatchLogsExports">cloudwatchLogsExports</a></code> | <code>string[]</code> | The list of log types that need to be enabled for exporting to CloudWatch Logs. |
1710
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.cloudwatchLogsRetention">cloudwatchLogsRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
1711
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.cloudwatchLogsRetentionRole">cloudwatchLogsRetentionRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | The IAM role for the Lambda function associated with the custom resource that sets the retention policy. |
1712
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | An optional identifier for the cluster. |
1713
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.copyTagsToSnapshot">copyTagsToSnapshot</a></code> | <code>boolean</code> | Whether to copy tags to the snapshot when a snapshot is created. |
1714
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.credentials">credentials</a></code> | <code>aws-cdk-lib.aws_rds.Credentials</code> | Credentials for the administrative user. |
1715
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.defaultDatabaseName">defaultDatabaseName</a></code> | <code>string</code> | Name of a database which is automatically created inside the cluster. |
1716
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.deletionProtection">deletionProtection</a></code> | <code>boolean</code> | Indicates whether the DB cluster should have deletion protection enabled. |
1717
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.domain">domain</a></code> | <code>string</code> | Directory ID for associating the DB cluster with a specific Active Directory. |
1718
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.domainRole">domainRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | The IAM role to be used when making API calls to the Directory Service. |
1719
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.enableDataApi">enableDataApi</a></code> | <code>boolean</code> | Whether to enable the Data API for the cluster. |
1720
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.iamAuthentication">iamAuthentication</a></code> | <code>boolean</code> | Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. |
1721
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instanceIdentifierBase">instanceIdentifierBase</a></code> | <code>string</code> | Base identifier for instances. |
1722
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instanceProps">instanceProps</a></code> | <code>aws-cdk-lib.aws_rds.InstanceProps</code> | Settings for the individual instances that are launched. |
1723
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instances">instances</a></code> | <code>number</code> | How many replicas/instances to create. |
1724
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instanceUpdateBehaviour">instanceUpdateBehaviour</a></code> | <code>aws-cdk-lib.aws_rds.InstanceUpdateBehaviour</code> | The ordering of updates for instances. |
1725
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.monitoringInterval">monitoringInterval</a></code> | <code>aws-cdk-lib.Duration</code> | The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instances. |
1726
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.monitoringRole">monitoringRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Role that will be used to manage DB instances monitoring. |
1727
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.networkType">networkType</a></code> | <code>aws-cdk-lib.aws_rds.NetworkType</code> | The network type of the DB instance. |
1728
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.parameterGroup">parameterGroup</a></code> | <code>aws-cdk-lib.aws_rds.IParameterGroup</code> | Additional parameters to pass to the database engine. |
1729
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.parameters">parameters</a></code> | <code>{[ key: string ]: string}</code> | The parameters in the DBClusterParameterGroup to create automatically. |
1730
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.port">port</a></code> | <code>number</code> | What port to listen on. |
1731
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.preferredMaintenanceWindow">preferredMaintenanceWindow</a></code> | <code>string</code> | A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). |
1732
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.readers">readers</a></code> | <code>aws-cdk-lib.aws_rds.IClusterInstance[]</code> | A list of instances to create as cluster reader instances. |
1733
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update. |
1734
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ExportBuckets">s3ExportBuckets</a></code> | <code>aws-cdk-lib.aws_s3.IBucket[]</code> | S3 buckets that you want to load data into. This feature is only supported by the Aurora database engine. |
1735
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ExportRole">s3ExportRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Role that will be associated with this DB cluster to enable S3 export. |
1736
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ImportBuckets">s3ImportBuckets</a></code> | <code>aws-cdk-lib.aws_s3.IBucket[]</code> | S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. |
1737
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ImportRole">s3ImportRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Role that will be associated with this DB cluster to enable S3 import. |
1738
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security group. |
1739
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.serverlessV2MaxCapacity">serverlessV2MaxCapacity</a></code> | <code>number</code> | The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. |
1740
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.serverlessV2MinCapacity">serverlessV2MinCapacity</a></code> | <code>number</code> | The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. |
1741
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.storageEncrypted">storageEncrypted</a></code> | <code>boolean</code> | Whether to enable storage encryption. |
1742
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.storageEncryptionKey">storageEncryptionKey</a></code> | <code>aws-cdk-lib.aws_kms.IKey</code> | The KMS key for storage encryption. |
1743
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.storageType">storageType</a></code> | <code>aws-cdk-lib.aws_rds.DBClusterStorageType</code> | The storage type to be associated with the DB cluster. |
1744
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.subnetGroup">subnetGroup</a></code> | <code>aws-cdk-lib.aws_rds.ISubnetGroup</code> | Existing subnet group for the cluster. |
1745
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | What subnets to run the RDS instances in. |
1746
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.vpcSubnets">vpcSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the instances within the VPC. |
1747
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.writer">writer</a></code> | <code>aws-cdk-lib.aws_rds.IClusterInstance</code> | The instance to use for the cluster writer. |
1748
+ | <code><a href="#tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.enableGlobal">enableGlobal</a></code> | <code>boolean</code> | Enable the creation of a Global Cluster for the RDS cluster. |
1749
+
1750
+ ---
1751
+
1752
+ ##### `engine`<sup>Required</sup> <a name="engine" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.engine"></a>
1753
+
1754
+ ```typescript
1755
+ public readonly engine: IClusterEngine;
1756
+ ```
1757
+
1758
+ - *Type:* aws-cdk-lib.aws_rds.IClusterEngine
1759
+
1760
+ What kind of database to start.
1761
+
1762
+ ---
1763
+
1764
+ ##### `backtrackWindow`<sup>Optional</sup> <a name="backtrackWindow" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.backtrackWindow"></a>
1765
+
1766
+ ```typescript
1767
+ public readonly backtrackWindow: Duration;
1768
+ ```
1769
+
1770
+ - *Type:* aws-cdk-lib.Duration
1771
+ - *Default:* 0 seconds (no backtrack)
1772
+
1773
+ The number of seconds to set a cluster's target backtrack window to.
1774
+
1775
+ This feature is only supported by the Aurora MySQL database engine and
1776
+ cannot be enabled on existing clusters.
1777
+
1778
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html)
1779
+
1780
+ ---
1781
+
1782
+ ##### `backup`<sup>Optional</sup> <a name="backup" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.backup"></a>
1783
+
1784
+ ```typescript
1785
+ public readonly backup: BackupProps;
1786
+ ```
1787
+
1788
+ - *Type:* aws-cdk-lib.aws_rds.BackupProps
1789
+ - *Default:* Backup retention period for automated backups is 1 day. Backup preferred window is set to a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
1790
+
1791
+ Backup settings.
1792
+
1793
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
1794
+
1795
+ ---
1796
+
1797
+ ##### `cloudwatchLogsExports`<sup>Optional</sup> <a name="cloudwatchLogsExports" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.cloudwatchLogsExports"></a>
1798
+
1799
+ ```typescript
1800
+ public readonly cloudwatchLogsExports: string[];
1801
+ ```
1802
+
1803
+ - *Type:* string[]
1804
+ - *Default:* no log exports
1805
+
1806
+ The list of log types that need to be enabled for exporting to CloudWatch Logs.
1807
+
1808
+ ---
1809
+
1810
+ ##### `cloudwatchLogsRetention`<sup>Optional</sup> <a name="cloudwatchLogsRetention" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.cloudwatchLogsRetention"></a>
1811
+
1812
+ ```typescript
1813
+ public readonly cloudwatchLogsRetention: RetentionDays;
1814
+ ```
1815
+
1816
+ - *Type:* aws-cdk-lib.aws_logs.RetentionDays
1817
+ - *Default:* logs never expire
1818
+
1819
+ The number of days log events are kept in CloudWatch Logs.
1820
+
1821
+ When updating
1822
+ this property, unsetting it doesn't remove the log retention policy. To
1823
+ remove the retention policy, set the value to `Infinity`.
1824
+
1825
+ ---
1826
+
1827
+ ##### `cloudwatchLogsRetentionRole`<sup>Optional</sup> <a name="cloudwatchLogsRetentionRole" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.cloudwatchLogsRetentionRole"></a>
1828
+
1829
+ ```typescript
1830
+ public readonly cloudwatchLogsRetentionRole: IRole;
1831
+ ```
1832
+
1833
+ - *Type:* aws-cdk-lib.aws_iam.IRole
1834
+ - *Default:* a new role is created.
1835
+
1836
+ The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
1837
+
1838
+ ---
1839
+
1840
+ ##### `clusterIdentifier`<sup>Optional</sup> <a name="clusterIdentifier" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.clusterIdentifier"></a>
1841
+
1842
+ ```typescript
1843
+ public readonly clusterIdentifier: string;
1844
+ ```
1845
+
1846
+ - *Type:* string
1847
+ - *Default:* A name is automatically generated.
1848
+
1849
+ An optional identifier for the cluster.
1850
+
1851
+ ---
1852
+
1853
+ ##### `copyTagsToSnapshot`<sup>Optional</sup> <a name="copyTagsToSnapshot" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.copyTagsToSnapshot"></a>
1854
+
1855
+ ```typescript
1856
+ public readonly copyTagsToSnapshot: boolean;
1857
+ ```
1858
+
1859
+ - *Type:* boolean
1860
+ - *Default:* true
1861
+
1862
+ Whether to copy tags to the snapshot when a snapshot is created.
1863
+
1864
+ ---
1865
+
1866
+ ##### `credentials`<sup>Optional</sup> <a name="credentials" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.credentials"></a>
1867
+
1868
+ ```typescript
1869
+ public readonly credentials: Credentials;
1870
+ ```
1871
+
1872
+ - *Type:* aws-cdk-lib.aws_rds.Credentials
1873
+ - *Default:* A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password
1874
+
1875
+ Credentials for the administrative user.
1876
+
1877
+ ---
1878
+
1879
+ ##### `defaultDatabaseName`<sup>Optional</sup> <a name="defaultDatabaseName" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.defaultDatabaseName"></a>
1880
+
1881
+ ```typescript
1882
+ public readonly defaultDatabaseName: string;
1883
+ ```
1884
+
1885
+ - *Type:* string
1886
+ - *Default:* Database is not created in cluster.
1887
+
1888
+ Name of a database which is automatically created inside the cluster.
1889
+
1890
+ ---
1891
+
1892
+ ##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.deletionProtection"></a>
1893
+
1894
+ ```typescript
1895
+ public readonly deletionProtection: boolean;
1896
+ ```
1897
+
1898
+ - *Type:* boolean
1899
+ - *Default:* true if `removalPolicy` is RETAIN, `undefined` otherwise, which will not enable deletion protection. To disable deletion protection after it has been enabled, you must explicitly set this value to `false`.
1900
+
1901
+ Indicates whether the DB cluster should have deletion protection enabled.
1902
+
1903
+ ---
1904
+
1905
+ ##### `domain`<sup>Optional</sup> <a name="domain" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.domain"></a>
1906
+
1907
+ ```typescript
1908
+ public readonly domain: string;
1909
+ ```
1910
+
1911
+ - *Type:* string
1912
+ - *Default:* DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.
1913
+
1914
+ Directory ID for associating the DB cluster with a specific Active Directory.
1915
+
1916
+ Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication.
1917
+ If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled.
1918
+
1919
+ ---
1920
+
1921
+ ##### `domainRole`<sup>Optional</sup> <a name="domainRole" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.domainRole"></a>
1922
+
1923
+ ```typescript
1924
+ public readonly domainRole: IRole;
1925
+ ```
1926
+
1927
+ - *Type:* aws-cdk-lib.aws_iam.IRole
1928
+ - *Default:* If `DatabaseClusterBaseProps.domain` is specified, a role with the `AmazonRDSDirectoryServiceAccess` policy is automatically created.
1929
+
1930
+ The IAM role to be used when making API calls to the Directory Service.
1931
+
1932
+ The role needs the AWS-managed policy
1933
+ `AmazonRDSDirectoryServiceAccess` or equivalent.
1934
+
1935
+ ---
1936
+
1937
+ ##### `enableDataApi`<sup>Optional</sup> <a name="enableDataApi" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.enableDataApi"></a>
1938
+
1939
+ ```typescript
1940
+ public readonly enableDataApi: boolean;
1941
+ ```
1942
+
1943
+ - *Type:* boolean
1944
+ - *Default:* false
1945
+
1946
+ Whether to enable the Data API for the cluster.
1947
+
1948
+ ---
1949
+
1950
+ ##### `iamAuthentication`<sup>Optional</sup> <a name="iamAuthentication" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.iamAuthentication"></a>
1951
+
1952
+ ```typescript
1953
+ public readonly iamAuthentication: boolean;
1954
+ ```
1955
+
1956
+ - *Type:* boolean
1957
+ - *Default:* false
1958
+
1959
+ Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
1960
+
1961
+ ---
1962
+
1963
+ ##### `instanceIdentifierBase`<sup>Optional</sup> <a name="instanceIdentifierBase" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instanceIdentifierBase"></a>
1964
+
1965
+ ```typescript
1966
+ public readonly instanceIdentifierBase: string;
1967
+ ```
1968
+
1969
+ - *Type:* string
1970
+ - *Default:* clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.
1971
+
1972
+ Base identifier for instances.
1973
+
1974
+ Every replica is named by appending the replica number to this string, 1-based.
1975
+
1976
+ ---
1977
+
1978
+ ##### ~~`instanceProps`~~<sup>Optional</sup> <a name="instanceProps" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instanceProps"></a>
1979
+
1980
+ - *Deprecated:* - use writer and readers instead
1981
+
1982
+ ```typescript
1983
+ public readonly instanceProps: InstanceProps;
1984
+ ```
1985
+
1986
+ - *Type:* aws-cdk-lib.aws_rds.InstanceProps
1987
+
1988
+ Settings for the individual instances that are launched.
1989
+
1990
+ ---
1991
+
1992
+ ##### ~~`instances`~~<sup>Optional</sup> <a name="instances" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instances"></a>
1993
+
1994
+ - *Deprecated:* - use writer and readers instead
1995
+
1996
+ ```typescript
1997
+ public readonly instances: number;
1998
+ ```
1999
+
2000
+ - *Type:* number
2001
+ - *Default:* 2
2002
+
2003
+ How many replicas/instances to create.
2004
+
2005
+ Has to be at least 1.
2006
+
2007
+ ---
2008
+
2009
+ ##### `instanceUpdateBehaviour`<sup>Optional</sup> <a name="instanceUpdateBehaviour" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.instanceUpdateBehaviour"></a>
2010
+
2011
+ ```typescript
2012
+ public readonly instanceUpdateBehaviour: InstanceUpdateBehaviour;
2013
+ ```
2014
+
2015
+ - *Type:* aws-cdk-lib.aws_rds.InstanceUpdateBehaviour
2016
+ - *Default:* InstanceUpdateBehaviour.BULK
2017
+
2018
+ The ordering of updates for instances.
2019
+
2020
+ ---
2021
+
2022
+ ##### `monitoringInterval`<sup>Optional</sup> <a name="monitoringInterval" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.monitoringInterval"></a>
2023
+
2024
+ ```typescript
2025
+ public readonly monitoringInterval: Duration;
2026
+ ```
2027
+
2028
+ - *Type:* aws-cdk-lib.Duration
2029
+ - *Default:* no enhanced monitoring
2030
+
2031
+ The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instances.
2032
+
2033
+ ---
2034
+
2035
+ ##### `monitoringRole`<sup>Optional</sup> <a name="monitoringRole" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.monitoringRole"></a>
2036
+
2037
+ ```typescript
2038
+ public readonly monitoringRole: IRole;
2039
+ ```
2040
+
2041
+ - *Type:* aws-cdk-lib.aws_iam.IRole
2042
+ - *Default:* A role is automatically created for you
2043
+
2044
+ Role that will be used to manage DB instances monitoring.
2045
+
2046
+ ---
2047
+
2048
+ ##### `networkType`<sup>Optional</sup> <a name="networkType" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.networkType"></a>
2049
+
2050
+ ```typescript
2051
+ public readonly networkType: NetworkType;
2052
+ ```
2053
+
2054
+ - *Type:* aws-cdk-lib.aws_rds.NetworkType
2055
+ - *Default:* IPV4
2056
+
2057
+ The network type of the DB instance.
2058
+
2059
+ ---
2060
+
2061
+ ##### `parameterGroup`<sup>Optional</sup> <a name="parameterGroup" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.parameterGroup"></a>
2062
+
2063
+ ```typescript
2064
+ public readonly parameterGroup: IParameterGroup;
2065
+ ```
2066
+
2067
+ - *Type:* aws-cdk-lib.aws_rds.IParameterGroup
2068
+ - *Default:* No parameter group.
2069
+
2070
+ Additional parameters to pass to the database engine.
2071
+
2072
+ ---
2073
+
2074
+ ##### `parameters`<sup>Optional</sup> <a name="parameters" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.parameters"></a>
2075
+
2076
+ ```typescript
2077
+ public readonly parameters: {[ key: string ]: string};
2078
+ ```
2079
+
2080
+ - *Type:* {[ key: string ]: string}
2081
+ - *Default:* None
2082
+
2083
+ The parameters in the DBClusterParameterGroup to create automatically.
2084
+
2085
+ You can only specify parameterGroup or parameters but not both.
2086
+ You need to use a versioned engine to auto-generate a DBClusterParameterGroup.
2087
+
2088
+ ---
2089
+
2090
+ ##### `port`<sup>Optional</sup> <a name="port" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.port"></a>
2091
+
2092
+ ```typescript
2093
+ public readonly port: number;
2094
+ ```
2095
+
2096
+ - *Type:* number
2097
+ - *Default:* The default for the engine is used.
2098
+
2099
+ What port to listen on.
2100
+
2101
+ ---
2102
+
2103
+ ##### `preferredMaintenanceWindow`<sup>Optional</sup> <a name="preferredMaintenanceWindow" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.preferredMaintenanceWindow"></a>
2104
+
2105
+ ```typescript
2106
+ public readonly preferredMaintenanceWindow: string;
2107
+ ```
2108
+
2109
+ - *Type:* string
2110
+ - *Default:* 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
2111
+
2112
+ A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).
2113
+
2114
+ Example: 'Sun:23:45-Mon:00:15'
2115
+
2116
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
2117
+
2118
+ ---
2119
+
2120
+ ##### `readers`<sup>Optional</sup> <a name="readers" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.readers"></a>
2121
+
2122
+ ```typescript
2123
+ public readonly readers: IClusterInstance[];
2124
+ ```
2125
+
2126
+ - *Type:* aws-cdk-lib.aws_rds.IClusterInstance[]
2127
+ - *Default:* no readers are created. The cluster will have a single writer/reader
2128
+
2129
+ A list of instances to create as cluster reader instances.
2130
+
2131
+ ---
2132
+
2133
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.removalPolicy"></a>
2134
+
2135
+ ```typescript
2136
+ public readonly removalPolicy: RemovalPolicy;
2137
+ ```
2138
+
2139
+ - *Type:* aws-cdk-lib.RemovalPolicy
2140
+ - *Default:* RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data)
2141
+
2142
+ The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.
2143
+
2144
+ ---
2145
+
2146
+ ##### `s3ExportBuckets`<sup>Optional</sup> <a name="s3ExportBuckets" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ExportBuckets"></a>
2147
+
2148
+ ```typescript
2149
+ public readonly s3ExportBuckets: IBucket[];
2150
+ ```
2151
+
2152
+ - *Type:* aws-cdk-lib.aws_s3.IBucket[]
2153
+ - *Default:* None
2154
+
2155
+ S3 buckets that you want to load data into. This feature is only supported by the Aurora database engine.
2156
+
2157
+ This property must not be used if `s3ExportRole` is used.
2158
+
2159
+ For MySQL:
2160
+
2161
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html)
2162
+
2163
+ ---
2164
+
2165
+ ##### `s3ExportRole`<sup>Optional</sup> <a name="s3ExportRole" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ExportRole"></a>
2166
+
2167
+ ```typescript
2168
+ public readonly s3ExportRole: IRole;
2169
+ ```
2170
+
2171
+ - *Type:* aws-cdk-lib.aws_iam.IRole
2172
+ - *Default:* New role is created if `s3ExportBuckets` is set, no role is defined otherwise
2173
+
2174
+ Role that will be associated with this DB cluster to enable S3 export.
2175
+
2176
+ This feature is only supported by the Aurora database engine.
2177
+
2178
+ This property must not be used if `s3ExportBuckets` is used.
2179
+
2180
+ For MySQL:
2181
+
2182
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html)
2183
+
2184
+ ---
2185
+
2186
+ ##### `s3ImportBuckets`<sup>Optional</sup> <a name="s3ImportBuckets" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ImportBuckets"></a>
2187
+
2188
+ ```typescript
2189
+ public readonly s3ImportBuckets: IBucket[];
2190
+ ```
2191
+
2192
+ - *Type:* aws-cdk-lib.aws_s3.IBucket[]
2193
+ - *Default:* None
2194
+
2195
+ S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine.
2196
+
2197
+ This property must not be used if `s3ImportRole` is used.
2198
+
2199
+ For MySQL:
2200
+
2201
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html)
2202
+
2203
+ ---
2204
+
2205
+ ##### `s3ImportRole`<sup>Optional</sup> <a name="s3ImportRole" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.s3ImportRole"></a>
2206
+
2207
+ ```typescript
2208
+ public readonly s3ImportRole: IRole;
2209
+ ```
2210
+
2211
+ - *Type:* aws-cdk-lib.aws_iam.IRole
2212
+ - *Default:* New role is created if `s3ImportBuckets` is set, no role is defined otherwise
2213
+
2214
+ Role that will be associated with this DB cluster to enable S3 import.
2215
+
2216
+ This feature is only supported by the Aurora database engine.
2217
+
2218
+ This property must not be used if `s3ImportBuckets` is used.
2219
+
2220
+ For MySQL:
2221
+
2222
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html)
2223
+
2224
+ ---
2225
+
2226
+ ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.securityGroups"></a>
2227
+
2228
+ ```typescript
2229
+ public readonly securityGroups: ISecurityGroup[];
2230
+ ```
2231
+
2232
+ - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[]
2233
+ - *Default:* a new security group is created.
2234
+
2235
+ Security group.
2236
+
2237
+ ---
2238
+
2239
+ ##### `serverlessV2MaxCapacity`<sup>Optional</sup> <a name="serverlessV2MaxCapacity" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.serverlessV2MaxCapacity"></a>
2240
+
2241
+ ```typescript
2242
+ public readonly serverlessV2MaxCapacity: number;
2243
+ ```
2244
+
2245
+ - *Type:* number
2246
+ - *Default:* 2
2247
+
2248
+ The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.
2249
+
2250
+ You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on.
2251
+ The largest value that you can use is 128 (256GB).
2252
+
2253
+ The maximum capacity must be higher than 0.5 ACUs.
2254
+
2255
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations)
2256
+
2257
+ ---
2258
+
2259
+ ##### `serverlessV2MinCapacity`<sup>Optional</sup> <a name="serverlessV2MinCapacity" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.serverlessV2MinCapacity"></a>
2260
+
2261
+ ```typescript
2262
+ public readonly serverlessV2MinCapacity: number;
2263
+ ```
2264
+
2265
+ - *Type:* number
2266
+ - *Default:* 0.5
2267
+
2268
+ The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.
2269
+
2270
+ You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on.
2271
+ The smallest value that you can use is 0.5.
2272
+
2273
+ > [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations)
2274
+
2275
+ ---
2276
+
2277
+ ##### `storageEncrypted`<sup>Optional</sup> <a name="storageEncrypted" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.storageEncrypted"></a>
2278
+
2279
+ ```typescript
2280
+ public readonly storageEncrypted: boolean;
2281
+ ```
2282
+
2283
+ - *Type:* boolean
2284
+ - *Default:* true if storageEncryptionKey is provided, false otherwise
2285
+
2286
+ Whether to enable storage encryption.
2287
+
2288
+ ---
2289
+
2290
+ ##### `storageEncryptionKey`<sup>Optional</sup> <a name="storageEncryptionKey" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.storageEncryptionKey"></a>
2291
+
2292
+ ```typescript
2293
+ public readonly storageEncryptionKey: IKey;
2294
+ ```
2295
+
2296
+ - *Type:* aws-cdk-lib.aws_kms.IKey
2297
+ - *Default:* if storageEncrypted is true then the default master key, no key otherwise
2298
+
2299
+ The KMS key for storage encryption.
2300
+
2301
+ If specified, `storageEncrypted` will be set to `true`.
2302
+
2303
+ ---
2304
+
2305
+ ##### `storageType`<sup>Optional</sup> <a name="storageType" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.storageType"></a>
2306
+
2307
+ ```typescript
2308
+ public readonly storageType: DBClusterStorageType;
2309
+ ```
2310
+
2311
+ - *Type:* aws-cdk-lib.aws_rds.DBClusterStorageType
2312
+ - *Default:* DBClusterStorageType.AURORA_IOPT1
2313
+
2314
+ The storage type to be associated with the DB cluster.
2315
+
2316
+ ---
2317
+
2318
+ ##### `subnetGroup`<sup>Optional</sup> <a name="subnetGroup" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.subnetGroup"></a>
2319
+
2320
+ ```typescript
2321
+ public readonly subnetGroup: ISubnetGroup;
2322
+ ```
2323
+
2324
+ - *Type:* aws-cdk-lib.aws_rds.ISubnetGroup
2325
+ - *Default:* a new subnet group will be created.
2326
+
2327
+ Existing subnet group for the cluster.
2328
+
2329
+ ---
2330
+
2331
+ ##### `vpc`<sup>Optional</sup> <a name="vpc" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.vpc"></a>
2332
+
2333
+ ```typescript
2334
+ public readonly vpc: IVpc;
2335
+ ```
2336
+
2337
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
2338
+
2339
+ What subnets to run the RDS instances in.
2340
+
2341
+ Must be at least 2 subnets in two different AZs.
2342
+
2343
+ ---
2344
+
2345
+ ##### `vpcSubnets`<sup>Optional</sup> <a name="vpcSubnets" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.vpcSubnets"></a>
2346
+
2347
+ ```typescript
2348
+ public readonly vpcSubnets: SubnetSelection;
2349
+ ```
2350
+
2351
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
2352
+ - *Default:* the Vpc default strategy if not specified.
2353
+
2354
+ Where to place the instances within the VPC.
2355
+
2356
+ ---
2357
+
2358
+ ##### `writer`<sup>Optional</sup> <a name="writer" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.writer"></a>
2359
+
2360
+ ```typescript
2361
+ public readonly writer: IClusterInstance;
2362
+ ```
2363
+
2364
+ - *Type:* aws-cdk-lib.aws_rds.IClusterInstance
2365
+ - *Default:* required if instanceProps is not provided
2366
+
2367
+ The instance to use for the cluster writer.
2368
+
2369
+ ---
2370
+
2371
+ ##### `enableGlobal`<sup>Optional</sup> <a name="enableGlobal" id="tm-cdk-constructs.TmRdsAuroraMysqlServerlessProps.property.enableGlobal"></a>
2372
+
2373
+ ```typescript
2374
+ public readonly enableGlobal: boolean;
2375
+ ```
2376
+
2377
+ - *Type:* boolean
2378
+
2379
+ Enable the creation of a Global Cluster for the RDS cluster.
2380
+
2381
+ ---
2382
+
2383
+ ### TmVpcProps <a name="TmVpcProps" id="tm-cdk-constructs.TmVpcProps"></a>
2384
+
2385
+ Represents the configuration for a VPC.
2386
+
2387
+ #### Initializer <a name="Initializer" id="tm-cdk-constructs.TmVpcProps.Initializer"></a>
2388
+
2389
+ ```typescript
2390
+ import { TmVpcProps } from 'tm-cdk-constructs'
2391
+
2392
+ const tmVpcProps: TmVpcProps = { ... }
2393
+ ```
2394
+
2395
+ #### Properties <a name="Properties" id="Properties"></a>
2396
+
2397
+ | **Name** | **Type** | **Description** |
2398
+ | --- | --- | --- |
2399
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.availabilityZones">availabilityZones</a></code> | <code>string[]</code> | Availability zones this VPC spans. |
2400
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.cidr">cidr</a></code> | <code>string</code> | The CIDR range to use for the VPC, e.g. '10.0.0.0/16'. |
2401
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.createInternetGateway">createInternetGateway</a></code> | <code>boolean</code> | If set to false then disable the creation of the default internet gateway. |
2402
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.defaultInstanceTenancy">defaultInstanceTenancy</a></code> | <code>aws-cdk-lib.aws_ec2.DefaultInstanceTenancy</code> | The default tenancy of instances launched into the VPC. |
2403
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.enableDnsHostnames">enableDnsHostnames</a></code> | <code>boolean</code> | Indicates whether the instances launched in the VPC get public DNS hostnames. |
2404
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.enableDnsSupport">enableDnsSupport</a></code> | <code>boolean</code> | Indicates whether the DNS resolution is supported for the VPC. |
2405
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.flowLogs">flowLogs</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ec2.FlowLogOptions}</code> | Flow logs to add to this VPC. |
2406
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.gatewayEndpoints">gatewayEndpoints</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ec2.GatewayVpcEndpointOptions}</code> | Gateway endpoints to add to this VPC. |
2407
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.ipAddresses">ipAddresses</a></code> | <code>aws-cdk-lib.aws_ec2.IIpAddresses</code> | The Provider to use to allocate IPv4 Space to your VPC. |
2408
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.ipProtocol">ipProtocol</a></code> | <code>aws-cdk-lib.aws_ec2.IpProtocol</code> | The protocol of the vpc. |
2409
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.ipv6Addresses">ipv6Addresses</a></code> | <code>aws-cdk-lib.aws_ec2.IIpv6Addresses</code> | The Provider to use to allocate IPv6 Space to your VPC. |
2410
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.maxAzs">maxAzs</a></code> | <code>number</code> | Define the maximum number of AZs to use in this region. |
2411
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.natGatewayProvider">natGatewayProvider</a></code> | <code>aws-cdk-lib.aws_ec2.NatProvider</code> | What type of NAT provider to use. |
2412
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.natGateways">natGateways</a></code> | <code>number</code> | The number of NAT Gateways/Instances to create. |
2413
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.natGatewaySubnets">natGatewaySubnets</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Configures the subnets which will have NAT Gateways/Instances. |
2414
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.reservedAzs">reservedAzs</a></code> | <code>number</code> | Define the number of AZs to reserve. |
2415
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.restrictDefaultSecurityGroup">restrictDefaultSecurityGroup</a></code> | <code>boolean</code> | If set to true then the default inbound & outbound rules will be removed from the default security group. |
2416
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.subnetConfiguration">subnetConfiguration</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetConfiguration[]</code> | Configure the subnets to build for each AZ. |
2417
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.vpcName">vpcName</a></code> | <code>string</code> | The VPC name. |
2418
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.vpnConnections">vpnConnections</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ec2.VpnConnectionOptions}</code> | VPN connections to this VPC. |
2419
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.vpnGateway">vpnGateway</a></code> | <code>boolean</code> | Indicates whether a VPN gateway should be created and attached to this VPC. |
2420
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.vpnGatewayAsn">vpnGatewayAsn</a></code> | <code>number</code> | The private Autonomous System Number (ASN) for the VPN gateway. |
2421
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.vpnRoutePropagation">vpnRoutePropagation</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection[]</code> | Where to propagate VPN routes. |
2422
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.rangeCidr">rangeCidr</a></code> | <code>string</code> | The CIDR block for the VPC. |
2423
+ | <code><a href="#tm-cdk-constructs.TmVpcProps.property.enableEndpoints">enableEndpoints</a></code> | <code>string[]</code> | Indicates whether to enable the S3 endpoint for the VPC. |
2424
+
2425
+ ---
2426
+
2427
+ ##### `availabilityZones`<sup>Optional</sup> <a name="availabilityZones" id="tm-cdk-constructs.TmVpcProps.property.availabilityZones"></a>
2428
+
2429
+ ```typescript
2430
+ public readonly availabilityZones: string[];
2431
+ ```
2432
+
2433
+ - *Type:* string[]
2434
+ - *Default:* a subset of AZs of the stack
2435
+
2436
+ Availability zones this VPC spans.
2437
+
2438
+ Specify this option only if you do not specify `maxAzs`.
2439
+
2440
+ ---
2441
+
2442
+ ##### ~~`cidr`~~<sup>Optional</sup> <a name="cidr" id="tm-cdk-constructs.TmVpcProps.property.cidr"></a>
2443
+
2444
+ - *Deprecated:* Use ipAddresses instead
2445
+
2446
+ ```typescript
2447
+ public readonly cidr: string;
2448
+ ```
2449
+
2450
+ - *Type:* string
2451
+ - *Default:* Vpc.DEFAULT_CIDR_RANGE
2452
+
2453
+ The CIDR range to use for the VPC, e.g. '10.0.0.0/16'.
2454
+
2455
+ Should be a minimum of /28 and maximum size of /16. The range will be
2456
+ split across all subnets per Availability Zone.
2457
+
2458
+ ---
2459
+
2460
+ ##### `createInternetGateway`<sup>Optional</sup> <a name="createInternetGateway" id="tm-cdk-constructs.TmVpcProps.property.createInternetGateway"></a>
2461
+
2462
+ ```typescript
2463
+ public readonly createInternetGateway: boolean;
2464
+ ```
2465
+
2466
+ - *Type:* boolean
2467
+ - *Default:* true
2468
+
2469
+ If set to false then disable the creation of the default internet gateway.
2470
+
2471
+ ---
2472
+
2473
+ ##### `defaultInstanceTenancy`<sup>Optional</sup> <a name="defaultInstanceTenancy" id="tm-cdk-constructs.TmVpcProps.property.defaultInstanceTenancy"></a>
2474
+
2475
+ ```typescript
2476
+ public readonly defaultInstanceTenancy: DefaultInstanceTenancy;
2477
+ ```
2478
+
2479
+ - *Type:* aws-cdk-lib.aws_ec2.DefaultInstanceTenancy
2480
+ - *Default:* DefaultInstanceTenancy.Default (shared) tenancy
2481
+
2482
+ The default tenancy of instances launched into the VPC.
2483
+
2484
+ By setting this to dedicated tenancy, instances will be launched on
2485
+ hardware dedicated to a single AWS customer, unless specifically specified
2486
+ at instance launch time. Please note, not all instance types are usable
2487
+ with Dedicated tenancy.
2488
+
2489
+ ---
2490
+
2491
+ ##### `enableDnsHostnames`<sup>Optional</sup> <a name="enableDnsHostnames" id="tm-cdk-constructs.TmVpcProps.property.enableDnsHostnames"></a>
2492
+
2493
+ ```typescript
2494
+ public readonly enableDnsHostnames: boolean;
2495
+ ```
2496
+
2497
+ - *Type:* boolean
2498
+ - *Default:* true
2499
+
2500
+ Indicates whether the instances launched in the VPC get public DNS hostnames.
2501
+
2502
+ If this attribute is true, instances in the VPC get public DNS hostnames,
2503
+ but only if the enableDnsSupport attribute is also set to true.
2504
+
2505
+ ---
2506
+
2507
+ ##### `enableDnsSupport`<sup>Optional</sup> <a name="enableDnsSupport" id="tm-cdk-constructs.TmVpcProps.property.enableDnsSupport"></a>
2508
+
2509
+ ```typescript
2510
+ public readonly enableDnsSupport: boolean;
2511
+ ```
2512
+
2513
+ - *Type:* boolean
2514
+ - *Default:* true
2515
+
2516
+ Indicates whether the DNS resolution is supported for the VPC.
2517
+
2518
+ If this attribute is false, the Amazon-provided DNS server in the VPC that
2519
+ resolves public DNS hostnames to IP addresses is not enabled. If this
2520
+ attribute is true, queries to the Amazon provided DNS server at the
2521
+ 169.254.169.253 IP address, or the reserved IP address at the base of the
2522
+ VPC IPv4 network range plus two will succeed.
2523
+
2524
+ ---
2525
+
2526
+ ##### `flowLogs`<sup>Optional</sup> <a name="flowLogs" id="tm-cdk-constructs.TmVpcProps.property.flowLogs"></a>
2527
+
2528
+ ```typescript
2529
+ public readonly flowLogs: {[ key: string ]: FlowLogOptions};
2530
+ ```
2531
+
2532
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_ec2.FlowLogOptions}
2533
+ - *Default:* No flow logs.
2534
+
2535
+ Flow logs to add to this VPC.
2536
+
2537
+ ---
2538
+
2539
+ ##### `gatewayEndpoints`<sup>Optional</sup> <a name="gatewayEndpoints" id="tm-cdk-constructs.TmVpcProps.property.gatewayEndpoints"></a>
2540
+
2541
+ ```typescript
2542
+ public readonly gatewayEndpoints: {[ key: string ]: GatewayVpcEndpointOptions};
2543
+ ```
2544
+
2545
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_ec2.GatewayVpcEndpointOptions}
2546
+ - *Default:* None.
2547
+
2548
+ Gateway endpoints to add to this VPC.
2549
+
2550
+ ---
2551
+
2552
+ ##### `ipAddresses`<sup>Optional</sup> <a name="ipAddresses" id="tm-cdk-constructs.TmVpcProps.property.ipAddresses"></a>
2553
+
2554
+ ```typescript
2555
+ public readonly ipAddresses: IIpAddresses;
2556
+ ```
2557
+
2558
+ - *Type:* aws-cdk-lib.aws_ec2.IIpAddresses
2559
+ - *Default:* ec2.IpAddresses.cidr
2560
+
2561
+ The Provider to use to allocate IPv4 Space to your VPC.
2562
+
2563
+ Options include static allocation or from a pool.
2564
+
2565
+ Note this is specific to IPv4 addresses.
2566
+
2567
+ ---
2568
+
2569
+ ##### `ipProtocol`<sup>Optional</sup> <a name="ipProtocol" id="tm-cdk-constructs.TmVpcProps.property.ipProtocol"></a>
2570
+
2571
+ ```typescript
2572
+ public readonly ipProtocol: IpProtocol;
2573
+ ```
2574
+
2575
+ - *Type:* aws-cdk-lib.aws_ec2.IpProtocol
2576
+ - *Default:* IpProtocol.IPV4_ONLY
2577
+
2578
+ The protocol of the vpc.
2579
+
2580
+ Options are IPv4 only or dual stack.
2581
+
2582
+ ---
2583
+
2584
+ ##### `ipv6Addresses`<sup>Optional</sup> <a name="ipv6Addresses" id="tm-cdk-constructs.TmVpcProps.property.ipv6Addresses"></a>
2585
+
2586
+ ```typescript
2587
+ public readonly ipv6Addresses: IIpv6Addresses;
2588
+ ```
2589
+
2590
+ - *Type:* aws-cdk-lib.aws_ec2.IIpv6Addresses
2591
+ - *Default:* Ipv6Addresses.amazonProvided
2592
+
2593
+ The Provider to use to allocate IPv6 Space to your VPC.
2594
+
2595
+ Options include amazon provided CIDR block.
2596
+
2597
+ Note this is specific to IPv6 addresses.
2598
+
2599
+ ---
2600
+
2601
+ ##### `maxAzs`<sup>Optional</sup> <a name="maxAzs" id="tm-cdk-constructs.TmVpcProps.property.maxAzs"></a>
2602
+
2603
+ ```typescript
2604
+ public readonly maxAzs: number;
2605
+ ```
2606
+
2607
+ - *Type:* number
2608
+ - *Default:* 3
2609
+
2610
+ Define the maximum number of AZs to use in this region.
2611
+
2612
+ If the region has more AZs than you want to use (for example, because of
2613
+ EIP limits), pick a lower number here. The AZs will be sorted and picked
2614
+ from the start of the list.
2615
+
2616
+ If you pick a higher number than the number of AZs in the region, all AZs
2617
+ in the region will be selected. To use "all AZs" available to your
2618
+ account, use a high number (such as 99).
2619
+
2620
+ Be aware that environment-agnostic stacks will be created with access to
2621
+ only 2 AZs, so to use more than 2 AZs, be sure to specify the account and
2622
+ region on your stack.
2623
+
2624
+ Specify this option only if you do not specify `availabilityZones`.
2625
+
2626
+ ---
2627
+
2628
+ ##### `natGatewayProvider`<sup>Optional</sup> <a name="natGatewayProvider" id="tm-cdk-constructs.TmVpcProps.property.natGatewayProvider"></a>
2629
+
2630
+ ```typescript
2631
+ public readonly natGatewayProvider: NatProvider;
2632
+ ```
2633
+
2634
+ - *Type:* aws-cdk-lib.aws_ec2.NatProvider
2635
+ - *Default:* NatProvider.gateway()
2636
+
2637
+ What type of NAT provider to use.
2638
+
2639
+ Select between NAT gateways or NAT instances. NAT gateways
2640
+ may not be available in all AWS regions.
2641
+
2642
+ ---
2643
+
2644
+ ##### `natGateways`<sup>Optional</sup> <a name="natGateways" id="tm-cdk-constructs.TmVpcProps.property.natGateways"></a>
2645
+
2646
+ ```typescript
2647
+ public readonly natGateways: number;
2648
+ ```
2649
+
2650
+ - *Type:* number
2651
+ - *Default:* One NAT gateway/instance per Availability Zone
2652
+
2653
+ The number of NAT Gateways/Instances to create.
2654
+
2655
+ The type of NAT gateway or instance will be determined by the
2656
+ `natGatewayProvider` parameter.
2657
+
2658
+ You can set this number lower than the number of Availability Zones in your
2659
+ VPC in order to save on NAT cost. Be aware you may be charged for
2660
+ cross-AZ data traffic instead.
2661
+
2662
+ ---
2663
+
2664
+ ##### `natGatewaySubnets`<sup>Optional</sup> <a name="natGatewaySubnets" id="tm-cdk-constructs.TmVpcProps.property.natGatewaySubnets"></a>
2665
+
2666
+ ```typescript
2667
+ public readonly natGatewaySubnets: SubnetSelection;
2668
+ ```
2669
+
2670
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
2671
+ - *Default:* All public subnets.
2672
+
2673
+ Configures the subnets which will have NAT Gateways/Instances.
2674
+
2675
+ You can pick a specific group of subnets by specifying the group name;
2676
+ the picked subnets must be public subnets.
2677
+
2678
+ Only necessary if you have more than one public subnet group.
2679
+
2680
+ ---
2681
+
2682
+ ##### `reservedAzs`<sup>Optional</sup> <a name="reservedAzs" id="tm-cdk-constructs.TmVpcProps.property.reservedAzs"></a>
2683
+
2684
+ ```typescript
2685
+ public readonly reservedAzs: number;
2686
+ ```
2687
+
2688
+ - *Type:* number
2689
+ - *Default:* 0
2690
+
2691
+ Define the number of AZs to reserve.
2692
+
2693
+ When specified, the IP space is reserved for the azs but no actual
2694
+ resources are provisioned.
2695
+
2696
+ ---
2697
+
2698
+ ##### `restrictDefaultSecurityGroup`<sup>Optional</sup> <a name="restrictDefaultSecurityGroup" id="tm-cdk-constructs.TmVpcProps.property.restrictDefaultSecurityGroup"></a>
2699
+
2700
+ ```typescript
2701
+ public readonly restrictDefaultSecurityGroup: boolean;
2702
+ ```
2703
+
2704
+ - *Type:* boolean
2705
+ - *Default:* true if '@aws-cdk/aws-ec2:restrictDefaultSecurityGroup' is enabled, false otherwise
2706
+
2707
+ If set to true then the default inbound & outbound rules will be removed from the default security group.
2708
+
2709
+ ---
2710
+
2711
+ ##### `subnetConfiguration`<sup>Optional</sup> <a name="subnetConfiguration" id="tm-cdk-constructs.TmVpcProps.property.subnetConfiguration"></a>
2712
+
2713
+ ```typescript
2714
+ public readonly subnetConfiguration: SubnetConfiguration[];
2715
+ ```
2716
+
2717
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetConfiguration[]
2718
+ - *Default:* The VPC CIDR will be evenly divided between 1 public and 1 private subnet per AZ.
2719
+
2720
+ Configure the subnets to build for each AZ.
2721
+
2722
+ Each entry in this list configures a Subnet Group; each group will contain a
2723
+ subnet for each Availability Zone.
2724
+
2725
+ For example, if you want 1 public subnet, 1 private subnet, and 1 isolated
2726
+ subnet in each AZ provide the following:
2727
+
2728
+ ```ts
2729
+ new ec2.Vpc(this, 'VPC', {
2730
+ subnetConfiguration: [
2731
+ {
2732
+ cidrMask: 24,
2733
+ name: 'ingress',
2734
+ subnetType: ec2.SubnetType.PUBLIC,
2735
+ },
2736
+ {
2737
+ cidrMask: 24,
2738
+ name: 'application',
2739
+ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,
2740
+ },
2741
+ {
2742
+ cidrMask: 28,
2743
+ name: 'rds',
2744
+ subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
2745
+ }
2746
+ ]
2747
+ });
2748
+ ```
2749
+
2750
+ ---
2751
+
2752
+ ##### `vpcName`<sup>Optional</sup> <a name="vpcName" id="tm-cdk-constructs.TmVpcProps.property.vpcName"></a>
2753
+
2754
+ ```typescript
2755
+ public readonly vpcName: string;
2756
+ ```
2757
+
2758
+ - *Type:* string
2759
+ - *Default:* this.node.path
2760
+
2761
+ The VPC name.
2762
+
2763
+ Since the VPC resource doesn't support providing a physical name, the value provided here will be recorded in the `Name` tag
2764
+
2765
+ ---
2766
+
2767
+ ##### `vpnConnections`<sup>Optional</sup> <a name="vpnConnections" id="tm-cdk-constructs.TmVpcProps.property.vpnConnections"></a>
2768
+
2769
+ ```typescript
2770
+ public readonly vpnConnections: {[ key: string ]: VpnConnectionOptions};
2771
+ ```
2772
+
2773
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_ec2.VpnConnectionOptions}
2774
+ - *Default:* No connections.
2775
+
2776
+ VPN connections to this VPC.
2777
+
2778
+ ---
2779
+
2780
+ ##### `vpnGateway`<sup>Optional</sup> <a name="vpnGateway" id="tm-cdk-constructs.TmVpcProps.property.vpnGateway"></a>
2781
+
2782
+ ```typescript
2783
+ public readonly vpnGateway: boolean;
2784
+ ```
2785
+
2786
+ - *Type:* boolean
2787
+ - *Default:* true when vpnGatewayAsn or vpnConnections is specified
2788
+
2789
+ Indicates whether a VPN gateway should be created and attached to this VPC.
2790
+
2791
+ ---
2792
+
2793
+ ##### `vpnGatewayAsn`<sup>Optional</sup> <a name="vpnGatewayAsn" id="tm-cdk-constructs.TmVpcProps.property.vpnGatewayAsn"></a>
2794
+
2795
+ ```typescript
2796
+ public readonly vpnGatewayAsn: number;
2797
+ ```
2798
+
2799
+ - *Type:* number
2800
+ - *Default:* Amazon default ASN.
2801
+
2802
+ The private Autonomous System Number (ASN) for the VPN gateway.
2803
+
2804
+ ---
2805
+
2806
+ ##### `vpnRoutePropagation`<sup>Optional</sup> <a name="vpnRoutePropagation" id="tm-cdk-constructs.TmVpcProps.property.vpnRoutePropagation"></a>
2807
+
2808
+ ```typescript
2809
+ public readonly vpnRoutePropagation: SubnetSelection[];
2810
+ ```
2811
+
2812
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection[]
2813
+ - *Default:* On the route tables associated with private subnets. If no private subnets exists, isolated subnets are used. If no isolated subnets exists, public subnets are used.
2814
+
2815
+ Where to propagate VPN routes.
2816
+
2817
+ ---
2818
+
2819
+ ##### `rangeCidr`<sup>Required</sup> <a name="rangeCidr" id="tm-cdk-constructs.TmVpcProps.property.rangeCidr"></a>
2820
+
2821
+ ```typescript
2822
+ public readonly rangeCidr: string;
2823
+ ```
2824
+
2825
+ - *Type:* string
2826
+
2827
+ The CIDR block for the VPC.
2828
+
2829
+ ---
2830
+
2831
+ ##### `enableEndpoints`<sup>Optional</sup> <a name="enableEndpoints" id="tm-cdk-constructs.TmVpcProps.property.enableEndpoints"></a>
2832
+
2833
+ ```typescript
2834
+ public readonly enableEndpoints: string[];
2835
+ ```
2836
+
2837
+ - *Type:* string[]
2838
+
2839
+ Indicates whether to enable the S3 endpoint for the VPC.
2840
+
2841
+ ---
2842
+
2843
+
2844
+