@btc-embedded/cdk-extensions 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.jsii +858 -208
  2. package/API.md +1016 -116
  3. package/CHANGELOG.md +29 -0
  4. package/lib/extensions/ApiGatewayExtension.js +3 -7
  5. package/lib/extensions/ApplicationLoadBalancerExtension.js +4 -4
  6. package/lib/extensions/CloudMapExtension.d.ts +1 -0
  7. package/lib/extensions/CloudMapExtension.js +6 -8
  8. package/lib/extensions/DocumentDbAccessExtension.js +5 -6
  9. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  10. package/lib/extensions/ExtraContainerExtension.d.ts +24 -0
  11. package/lib/extensions/ExtraContainerExtension.js +6 -2
  12. package/lib/extensions/LogExtension.js +4 -6
  13. package/lib/extensions/PostgresDbAccessExtension.d.ts +22 -0
  14. package/lib/extensions/PostgresDbAccessExtension.js +52 -0
  15. package/lib/extensions/SharedVolumeExtension.d.ts +30 -0
  16. package/lib/extensions/SharedVolumeExtension.js +36 -0
  17. package/lib/extensions/TcpKeepAliveExtension.js +5 -7
  18. package/lib/extensions/index.d.ts +3 -1
  19. package/lib/extensions/index.js +4 -2
  20. package/lib/platform/ApiGateway.d.ts +1 -1
  21. package/lib/platform/ApiGateway.js +2 -2
  22. package/lib/platform/ApplicationLoadBalancer.d.ts +2 -0
  23. package/lib/platform/ApplicationLoadBalancer.js +11 -9
  24. package/lib/platform/DefaultUserPoolClients.d.ts +1 -0
  25. package/lib/platform/DefaultUserPoolClients.js +11 -4
  26. package/lib/platform/DocumentDB.js +1 -1
  27. package/lib/platform/PrivateDnsNamespace.d.ts +17 -0
  28. package/lib/platform/PrivateDnsNamespace.js +50 -0
  29. package/lib/platform/Vpc.d.ts +13 -0
  30. package/lib/platform/Vpc.js +44 -0
  31. package/lib/platform/index.d.ts +2 -1
  32. package/lib/platform/index.js +3 -2
  33. package/lib/utils/functions.d.ts +9 -0
  34. package/lib/utils/functions.js +14 -0
  35. package/lib/utils/index.d.ts +1 -0
  36. package/lib/utils/index.js +2 -1
  37. package/package.json +1 -1
package/API.md CHANGED
@@ -233,39 +233,41 @@ public readonly loadBalancer: IApplicationLoadBalancer;
233
233
  ---
234
234
 
235
235
 
236
- ### CloudMap <a name="CloudMap" id="@btc-embedded/cdk-extensions.CloudMap"></a>
236
+ ### DefaultUserPoolClients <a name="DefaultUserPoolClients" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients"></a>
237
+
238
+ Create default user pool clients for the frontend and API access.
237
239
 
238
- #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.CloudMap.Initializer"></a>
240
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer"></a>
239
241
 
240
242
  ```typescript
241
- import { CloudMap } from '@btc-embedded/cdk-extensions'
243
+ import { DefaultUserPoolClients } from '@btc-embedded/cdk-extensions'
242
244
 
243
- new CloudMap(scope: Construct, id: string, props: CloudMapProps)
245
+ new DefaultUserPoolClients(scope: Construct, id: string, props: DefaultUserPoolClientsProps)
244
246
  ```
245
247
 
246
248
  | **Name** | **Type** | **Description** |
247
249
  | --- | --- | --- |
248
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
249
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
250
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.CloudMapProps">CloudMapProps</a></code> | *No description.* |
250
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
251
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
252
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps">DefaultUserPoolClientsProps</a></code> | *No description.* |
251
253
 
252
254
  ---
253
255
 
254
- ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.CloudMap.Initializer.parameter.scope"></a>
256
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.scope"></a>
255
257
 
256
258
  - *Type:* constructs.Construct
257
259
 
258
260
  ---
259
261
 
260
- ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.CloudMap.Initializer.parameter.id"></a>
262
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.id"></a>
261
263
 
262
264
  - *Type:* string
263
265
 
264
266
  ---
265
267
 
266
- ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.CloudMap.Initializer.parameter.props"></a>
268
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.props"></a>
267
269
 
268
- - *Type:* <a href="#@btc-embedded/cdk-extensions.CloudMapProps">CloudMapProps</a>
270
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps">DefaultUserPoolClientsProps</a>
269
271
 
270
272
  ---
271
273
 
@@ -273,11 +275,11 @@ new CloudMap(scope: Construct, id: string, props: CloudMapProps)
273
275
 
274
276
  | **Name** | **Description** |
275
277
  | --- | --- |
276
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.toString">toString</a></code> | Returns a string representation of this construct. |
278
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.toString">toString</a></code> | Returns a string representation of this construct. |
277
279
 
278
280
  ---
279
281
 
280
- ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.CloudMap.toString"></a>
282
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.toString"></a>
281
283
 
282
284
  ```typescript
283
285
  public toString(): string
@@ -289,21 +291,21 @@ Returns a string representation of this construct.
289
291
 
290
292
  | **Name** | **Description** |
291
293
  | --- | --- |
292
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
294
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
293
295
 
294
296
  ---
295
297
 
296
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.CloudMap.isConstruct"></a>
298
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct"></a>
297
299
 
298
300
  ```typescript
299
- import { CloudMap } from '@btc-embedded/cdk-extensions'
301
+ import { DefaultUserPoolClients } from '@btc-embedded/cdk-extensions'
300
302
 
301
- CloudMap.isConstruct(x: any)
303
+ DefaultUserPoolClients.isConstruct(x: any)
302
304
  ```
303
305
 
304
306
  Checks if `x` is a construct.
305
307
 
306
- ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.CloudMap.isConstruct.parameter.x"></a>
308
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct.parameter.x"></a>
307
309
 
308
310
  - *Type:* any
309
311
 
@@ -315,12 +317,13 @@ Any object.
315
317
 
316
318
  | **Name** | **Type** | **Description** |
317
319
  | --- | --- | --- |
318
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
319
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMap.property.namespace">namespace</a></code> | <code>aws-cdk-lib.aws_servicediscovery.PrivateDnsNamespace</code> | *No description.* |
320
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
321
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.apiClient">apiClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
322
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.frontendClient">frontendClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
320
323
 
321
324
  ---
322
325
 
323
- ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.CloudMap.property.node"></a>
326
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.node"></a>
324
327
 
325
328
  ```typescript
326
329
  public readonly node: Node;
@@ -332,52 +335,60 @@ The tree node.
332
335
 
333
336
  ---
334
337
 
335
- ##### `namespace`<sup>Required</sup> <a name="namespace" id="@btc-embedded/cdk-extensions.CloudMap.property.namespace"></a>
338
+ ##### `apiClient`<sup>Required</sup> <a name="apiClient" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.apiClient"></a>
336
339
 
337
340
  ```typescript
338
- public readonly namespace: PrivateDnsNamespace;
341
+ public readonly apiClient: IUserPoolClient;
339
342
  ```
340
343
 
341
- - *Type:* aws-cdk-lib.aws_servicediscovery.PrivateDnsNamespace
344
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
342
345
 
343
346
  ---
344
347
 
348
+ ##### `frontendClient`<sup>Required</sup> <a name="frontendClient" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.frontendClient"></a>
345
349
 
346
- ### DefaultUserPoolClients <a name="DefaultUserPoolClients" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients"></a>
350
+ ```typescript
351
+ public readonly frontendClient: IUserPoolClient;
352
+ ```
347
353
 
348
- Create default user pool clients for the frontend and API access.
354
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
349
355
 
350
- #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer"></a>
356
+ ---
357
+
358
+
359
+ ### DocumentDB <a name="DocumentDB" id="@btc-embedded/cdk-extensions.DocumentDB"></a>
360
+
361
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer"></a>
351
362
 
352
363
  ```typescript
353
- import { DefaultUserPoolClients } from '@btc-embedded/cdk-extensions'
364
+ import { DocumentDB } from '@btc-embedded/cdk-extensions'
354
365
 
355
- new DefaultUserPoolClients(scope: Construct, id: string, props: DefaultUserPoolClientsProps)
366
+ new DocumentDB(scope: Construct, id: string, props: DocumentDBProps)
356
367
  ```
357
368
 
358
369
  | **Name** | **Type** | **Description** |
359
370
  | --- | --- | --- |
360
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
361
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
362
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps">DefaultUserPoolClientsProps</a></code> | *No description.* |
371
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
372
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
373
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps">DocumentDBProps</a></code> | *No description.* |
363
374
 
364
375
  ---
365
376
 
366
- ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.scope"></a>
377
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.scope"></a>
367
378
 
368
379
  - *Type:* constructs.Construct
369
380
 
370
381
  ---
371
382
 
372
- ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.id"></a>
383
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.id"></a>
373
384
 
374
385
  - *Type:* string
375
386
 
376
387
  ---
377
388
 
378
- ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.Initializer.parameter.props"></a>
389
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.props"></a>
379
390
 
380
- - *Type:* <a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps">DefaultUserPoolClientsProps</a>
391
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.DocumentDBProps">DocumentDBProps</a>
381
392
 
382
393
  ---
383
394
 
@@ -385,11 +396,11 @@ new DefaultUserPoolClients(scope: Construct, id: string, props: DefaultUserPoolC
385
396
 
386
397
  | **Name** | **Description** |
387
398
  | --- | --- |
388
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.toString">toString</a></code> | Returns a string representation of this construct. |
399
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.toString">toString</a></code> | Returns a string representation of this construct. |
389
400
 
390
401
  ---
391
402
 
392
- ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.toString"></a>
403
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.DocumentDB.toString"></a>
393
404
 
394
405
  ```typescript
395
406
  public toString(): string
@@ -401,21 +412,21 @@ Returns a string representation of this construct.
401
412
 
402
413
  | **Name** | **Description** |
403
414
  | --- | --- |
404
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
415
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
405
416
 
406
417
  ---
407
418
 
408
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct"></a>
419
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct"></a>
409
420
 
410
421
  ```typescript
411
- import { DefaultUserPoolClients } from '@btc-embedded/cdk-extensions'
422
+ import { DocumentDB } from '@btc-embedded/cdk-extensions'
412
423
 
413
- DefaultUserPoolClients.isConstruct(x: any)
424
+ DocumentDB.isConstruct(x: any)
414
425
  ```
415
426
 
416
427
  Checks if `x` is a construct.
417
428
 
418
- ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct.parameter.x"></a>
429
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct.parameter.x"></a>
419
430
 
420
431
  - *Type:* any
421
432
 
@@ -427,13 +438,11 @@ Any object.
427
438
 
428
439
  | **Name** | **Type** | **Description** |
429
440
  | --- | --- | --- |
430
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
431
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.apiClient">apiClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
432
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.frontendClient">frontendClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
441
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
433
442
 
434
443
  ---
435
444
 
436
- ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.node"></a>
445
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.DocumentDB.property.node"></a>
437
446
 
438
447
  ```typescript
439
448
  public readonly node: Node;
@@ -445,60 +454,150 @@ The tree node.
445
454
 
446
455
  ---
447
456
 
448
- ##### `apiClient`<sup>Required</sup> <a name="apiClient" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.apiClient"></a>
457
+
458
+ ### PrivateDnsNamespace <a name="PrivateDnsNamespace" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace"></a>
459
+
460
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer"></a>
449
461
 
450
462
  ```typescript
451
- public readonly apiClient: IUserPoolClient;
463
+ import { PrivateDnsNamespace } from '@btc-embedded/cdk-extensions'
464
+
465
+ new PrivateDnsNamespace(scope: Construct, id: string, props: PrivateDnsNamespaceProps)
452
466
  ```
453
467
 
454
- - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
468
+ | **Name** | **Type** | **Description** |
469
+ | --- | --- | --- |
470
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
471
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
472
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps">PrivateDnsNamespaceProps</a></code> | *No description.* |
455
473
 
456
474
  ---
457
475
 
458
- ##### `frontendClient`<sup>Required</sup> <a name="frontendClient" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.property.frontendClient"></a>
476
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer.parameter.scope"></a>
477
+
478
+ - *Type:* constructs.Construct
479
+
480
+ ---
481
+
482
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer.parameter.id"></a>
483
+
484
+ - *Type:* string
485
+
486
+ ---
487
+
488
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer.parameter.props"></a>
489
+
490
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps">PrivateDnsNamespaceProps</a>
491
+
492
+ ---
493
+
494
+ #### Methods <a name="Methods" id="Methods"></a>
495
+
496
+ | **Name** | **Description** |
497
+ | --- | --- |
498
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.toString">toString</a></code> | Returns a string representation of this construct. |
499
+
500
+ ---
501
+
502
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.toString"></a>
459
503
 
460
504
  ```typescript
461
- public readonly frontendClient: IUserPoolClient;
505
+ public toString(): string
462
506
  ```
463
507
 
464
- - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
508
+ Returns a string representation of this construct.
509
+
510
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
511
+
512
+ | **Name** | **Description** |
513
+ | --- | --- |
514
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
465
515
 
466
516
  ---
467
517
 
518
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct"></a>
468
519
 
469
- ### DocumentDB <a name="DocumentDB" id="@btc-embedded/cdk-extensions.DocumentDB"></a>
520
+ ```typescript
521
+ import { PrivateDnsNamespace } from '@btc-embedded/cdk-extensions'
470
522
 
471
- #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer"></a>
523
+ PrivateDnsNamespace.isConstruct(x: any)
524
+ ```
525
+
526
+ Checks if `x` is a construct.
527
+
528
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct.parameter.x"></a>
529
+
530
+ - *Type:* any
531
+
532
+ Any object.
533
+
534
+ ---
535
+
536
+ #### Properties <a name="Properties" id="Properties"></a>
537
+
538
+ | **Name** | **Type** | **Description** |
539
+ | --- | --- | --- |
540
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
541
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.property.namespace">namespace</a></code> | <code>aws-cdk-lib.aws_servicediscovery.IPrivateDnsNamespace</code> | *No description.* |
542
+
543
+ ---
544
+
545
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.property.node"></a>
472
546
 
473
547
  ```typescript
474
- import { DocumentDB } from '@btc-embedded/cdk-extensions'
548
+ public readonly node: Node;
549
+ ```
475
550
 
476
- new DocumentDB(scope: Construct, id: string, props: DocumentDBProps)
551
+ - *Type:* constructs.Node
552
+
553
+ The tree node.
554
+
555
+ ---
556
+
557
+ ##### `namespace`<sup>Required</sup> <a name="namespace" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.property.namespace"></a>
558
+
559
+ ```typescript
560
+ public readonly namespace: IPrivateDnsNamespace;
561
+ ```
562
+
563
+ - *Type:* aws-cdk-lib.aws_servicediscovery.IPrivateDnsNamespace
564
+
565
+ ---
566
+
567
+
568
+ ### Vpc <a name="Vpc" id="@btc-embedded/cdk-extensions.Vpc"></a>
569
+
570
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.Vpc.Initializer"></a>
571
+
572
+ ```typescript
573
+ import { Vpc } from '@btc-embedded/cdk-extensions'
574
+
575
+ new Vpc(scope: Construct, id: string, props: VpcProps)
477
576
  ```
478
577
 
479
578
  | **Name** | **Type** | **Description** |
480
579
  | --- | --- | --- |
481
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
482
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
483
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps">DocumentDBProps</a></code> | *No description.* |
580
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
581
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
582
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.VpcProps">VpcProps</a></code> | *No description.* |
484
583
 
485
584
  ---
486
585
 
487
- ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.scope"></a>
586
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.Vpc.Initializer.parameter.scope"></a>
488
587
 
489
588
  - *Type:* constructs.Construct
490
589
 
491
590
  ---
492
591
 
493
- ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.id"></a>
592
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.Vpc.Initializer.parameter.id"></a>
494
593
 
495
594
  - *Type:* string
496
595
 
497
596
  ---
498
597
 
499
- ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer.parameter.props"></a>
598
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.Vpc.Initializer.parameter.props"></a>
500
599
 
501
- - *Type:* <a href="#@btc-embedded/cdk-extensions.DocumentDBProps">DocumentDBProps</a>
600
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.VpcProps">VpcProps</a>
502
601
 
503
602
  ---
504
603
 
@@ -506,11 +605,11 @@ new DocumentDB(scope: Construct, id: string, props: DocumentDBProps)
506
605
 
507
606
  | **Name** | **Description** |
508
607
  | --- | --- |
509
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.toString">toString</a></code> | Returns a string representation of this construct. |
608
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.toString">toString</a></code> | Returns a string representation of this construct. |
510
609
 
511
610
  ---
512
611
 
513
- ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.DocumentDB.toString"></a>
612
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.Vpc.toString"></a>
514
613
 
515
614
  ```typescript
516
615
  public toString(): string
@@ -522,21 +621,21 @@ Returns a string representation of this construct.
522
621
 
523
622
  | **Name** | **Description** |
524
623
  | --- | --- |
525
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
624
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
526
625
 
527
626
  ---
528
627
 
529
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct"></a>
628
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.Vpc.isConstruct"></a>
530
629
 
531
630
  ```typescript
532
- import { DocumentDB } from '@btc-embedded/cdk-extensions'
631
+ import { Vpc } from '@btc-embedded/cdk-extensions'
533
632
 
534
- DocumentDB.isConstruct(x: any)
633
+ Vpc.isConstruct(x: any)
535
634
  ```
536
635
 
537
636
  Checks if `x` is a construct.
538
637
 
539
- ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct.parameter.x"></a>
638
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.Vpc.isConstruct.parameter.x"></a>
540
639
 
541
640
  - *Type:* any
542
641
 
@@ -548,11 +647,13 @@ Any object.
548
647
 
549
648
  | **Name** | **Type** | **Description** |
550
649
  | --- | --- | --- |
551
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
650
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
651
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.ICluster</code> | *No description.* |
652
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.property.vpcInstance">vpcInstance</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
552
653
 
553
654
  ---
554
655
 
555
- ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.DocumentDB.property.node"></a>
656
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.Vpc.property.node"></a>
556
657
 
557
658
  ```typescript
558
659
  public readonly node: Node;
@@ -564,6 +665,26 @@ The tree node.
564
665
 
565
666
  ---
566
667
 
668
+ ##### `cluster`<sup>Required</sup> <a name="cluster" id="@btc-embedded/cdk-extensions.Vpc.property.cluster"></a>
669
+
670
+ ```typescript
671
+ public readonly cluster: ICluster;
672
+ ```
673
+
674
+ - *Type:* aws-cdk-lib.aws_ecs.ICluster
675
+
676
+ ---
677
+
678
+ ##### `vpcInstance`<sup>Required</sup> <a name="vpcInstance" id="@btc-embedded/cdk-extensions.Vpc.property.vpcInstance"></a>
679
+
680
+ ```typescript
681
+ public readonly vpcInstance: IVpc;
682
+ ```
683
+
684
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
685
+
686
+ ---
687
+
567
688
 
568
689
  ## Structs <a name="Structs" id="Structs"></a>
569
690
 
@@ -638,7 +759,7 @@ const apiGatewayProps: ApiGatewayProps = { ... }
638
759
  | **Name** | **Type** | **Description** |
639
760
  | --- | --- | --- |
640
761
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayProps.property.domainPrefix">domainPrefix</a></code> | <code>string</code> | Domain prefix for the API Gateway endpoint. |
641
- | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | Hosted Zone where the A record for the domain will be created. |
762
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | Hosted Zone to create the gateway domain A record. |
642
763
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayProps.property.stackName">stackName</a></code> | <code>string</code> | The name of the stack, used for prefixing the output parameter names. |
643
764
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | Specify the Cognito User Pool to be used for authorizing requests on the API Gateway. |
644
765
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayProps.property.userPoolClients">userPoolClients</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient[]</code> | List of User Pool Clients that are allowed to access the API Gateway. |
@@ -667,7 +788,7 @@ public readonly hostedZone: IHostedZone;
667
788
 
668
789
  - *Type:* aws-cdk-lib.aws_route53.IHostedZone
669
790
 
670
- Hosted Zone where the A record for the domain will be created.
791
+ Hosted Zone to create the gateway domain A record.
671
792
 
672
793
  ---
673
794
 
@@ -831,6 +952,7 @@ const applicationLoadBalancerProps: ApplicationLoadBalancerProps = { ... }
831
952
  | **Name** | **Type** | **Description** |
832
953
  | --- | --- | --- |
833
954
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
955
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
834
956
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
835
957
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient">userPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
836
958
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain">userPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
@@ -848,6 +970,16 @@ public readonly fqdn: string;
848
970
 
849
971
  ---
850
972
 
973
+ ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone"></a>
974
+
975
+ ```typescript
976
+ public readonly hostedZone: IHostedZone;
977
+ ```
978
+
979
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
980
+
981
+ ---
982
+
851
983
  ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool"></a>
852
984
 
853
985
  ```typescript
@@ -916,42 +1048,54 @@ public readonly platformStackName: string;
916
1048
 
917
1049
  ---
918
1050
 
919
- ### CloudMapProps <a name="CloudMapProps" id="@btc-embedded/cdk-extensions.CloudMapProps"></a>
1051
+ ### ContainerDependency <a name="ContainerDependency" id="@btc-embedded/cdk-extensions.ContainerDependency"></a>
1052
+
1053
+ The details of a dependency on another container in the task definition.
1054
+
1055
+ > [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html)
920
1056
 
921
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.CloudMapProps.Initializer"></a>
1057
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ContainerDependency.Initializer"></a>
922
1058
 
923
1059
  ```typescript
924
- import { CloudMapProps } from '@btc-embedded/cdk-extensions'
1060
+ import { ContainerDependency } from '@btc-embedded/cdk-extensions'
925
1061
 
926
- const cloudMapProps: CloudMapProps = { ... }
1062
+ const containerDependency: ContainerDependency = { ... }
927
1063
  ```
928
1064
 
929
1065
  #### Properties <a name="Properties" id="Properties"></a>
930
1066
 
931
1067
  | **Name** | **Type** | **Description** |
932
1068
  | --- | --- | --- |
933
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMapProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
934
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMapProps.property.privateDnsNamespace">privateDnsNamespace</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps">PrivateDnsNamespaceProps</a></code> | *No description.* |
1069
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerDependency.property.ext">ext</a></code> | <code>@aws-cdk-containers/ecs-service-extensions.ServiceExtension</code> | The container extension to depend on. |
1070
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerDependency.property.condition">condition</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDependencyCondition</code> | The state the container needs to be in to satisfy the dependency and proceed with startup. |
935
1071
 
936
1072
  ---
937
1073
 
938
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.CloudMapProps.property.vpc"></a>
1074
+ ##### `ext`<sup>Required</sup> <a name="ext" id="@btc-embedded/cdk-extensions.ContainerDependency.property.ext"></a>
939
1075
 
940
1076
  ```typescript
941
- public readonly vpc: IVpc;
1077
+ public readonly ext: ServiceExtension;
942
1078
  ```
943
1079
 
944
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
1080
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceExtension
1081
+
1082
+ The container extension to depend on.
945
1083
 
946
1084
  ---
947
1085
 
948
- ##### `privateDnsNamespace`<sup>Optional</sup> <a name="privateDnsNamespace" id="@btc-embedded/cdk-extensions.CloudMapProps.property.privateDnsNamespace"></a>
1086
+ ##### `condition`<sup>Optional</sup> <a name="condition" id="@btc-embedded/cdk-extensions.ContainerDependency.property.condition"></a>
949
1087
 
950
1088
  ```typescript
951
- public readonly privateDnsNamespace: PrivateDnsNamespaceProps;
1089
+ public readonly condition: ContainerDependencyCondition;
952
1090
  ```
953
1091
 
954
- - *Type:* <a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps">PrivateDnsNamespaceProps</a>
1092
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDependencyCondition
1093
+ - *Default:* ContainerDependencyCondition.HEALTHY
1094
+
1095
+ The state the container needs to be in to satisfy the dependency and proceed with startup.
1096
+
1097
+ Valid values are ContainerDependencyCondition.START, ContainerDependencyCondition.COMPLETE,
1098
+ ContainerDependencyCondition.SUCCESS and ContainerDependencyCondition.HEALTHY.
955
1099
 
956
1100
  ---
957
1101
 
@@ -1007,6 +1151,7 @@ const containerProps: ContainerProps = { ... }
1007
1151
  | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.ulimits">ulimits</a></code> | <code>aws-cdk-lib.aws_ecs.Ulimit[]</code> | An array of ulimits to set in the container. |
1008
1152
  | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.user">user</a></code> | <code>string</code> | The user to use inside the container. |
1009
1153
  | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.workingDirectory">workingDirectory</a></code> | <code>string</code> | The working directory in which to run commands inside the container. |
1154
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.containerDependencies">containerDependencies</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]</code> | Specify additional container dependencies which should be added after the container has been created in the task definition. |
1010
1155
  | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | The log group into which application container logs should be routed. |
1011
1156
 
1012
1157
  ---
@@ -1573,6 +1718,18 @@ The working directory in which to run commands inside the container.
1573
1718
 
1574
1719
  ---
1575
1720
 
1721
+ ##### `containerDependencies`<sup>Optional</sup> <a name="containerDependencies" id="@btc-embedded/cdk-extensions.ContainerProps.property.containerDependencies"></a>
1722
+
1723
+ ```typescript
1724
+ public readonly containerDependencies: ContainerDependency[];
1725
+ ```
1726
+
1727
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]
1728
+
1729
+ Specify additional container dependencies which should be added after the container has been created in the task definition.
1730
+
1731
+ ---
1732
+
1576
1733
  ##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@btc-embedded/cdk-extensions.ContainerProps.property.logGroup"></a>
1577
1734
 
1578
1735
  ```typescript
@@ -1604,6 +1761,7 @@ const defaultUserPoolClientsProps: DefaultUserPoolClientsProps = { ... }
1604
1761
  | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
1605
1762
  | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.logoutUrls">logoutUrls</a></code> | <code>string[]</code> | *No description.* |
1606
1763
  | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
1764
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.additonalUserPoolIdentityProviders">additonalUserPoolIdentityProviders</a></code> | <code>string[]</code> | *No description.* |
1607
1765
 
1608
1766
  ---
1609
1767
 
@@ -1647,6 +1805,16 @@ public readonly userPool: IUserPool;
1647
1805
 
1648
1806
  ---
1649
1807
 
1808
+ ##### `additonalUserPoolIdentityProviders`<sup>Optional</sup> <a name="additonalUserPoolIdentityProviders" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.additonalUserPoolIdentityProviders"></a>
1809
+
1810
+ ```typescript
1811
+ public readonly additonalUserPoolIdentityProviders: string[];
1812
+ ```
1813
+
1814
+ - *Type:* string[]
1815
+
1816
+ ---
1817
+
1650
1818
  ### DocumentDbAccessExtensionProps <a name="DocumentDbAccessExtensionProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps"></a>
1651
1819
 
1652
1820
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.Initializer"></a>
@@ -1829,83 +1997,241 @@ Defaults to ContainerDependencyCondition.HEALTHY.
1829
1997
 
1830
1998
  ---
1831
1999
 
1832
- ### PrivateDnsNamespaceProps <a name="PrivateDnsNamespaceProps" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"></a>
2000
+ ### PostgresDbAccessExtensionProps <a name="PostgresDbAccessExtensionProps" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps"></a>
1833
2001
 
1834
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.Initializer"></a>
2002
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.Initializer"></a>
1835
2003
 
1836
2004
  ```typescript
1837
- import { PrivateDnsNamespaceProps } from '@btc-embedded/cdk-extensions'
2005
+ import { PostgresDbAccessExtensionProps } from '@btc-embedded/cdk-extensions'
1838
2006
 
1839
- const privateDnsNamespaceProps: PrivateDnsNamespaceProps = { ... }
2007
+ const postgresDbAccessExtensionProps: PostgresDbAccessExtensionProps = { ... }
1840
2008
  ```
1841
2009
 
1842
2010
  #### Properties <a name="Properties" id="Properties"></a>
1843
2011
 
1844
2012
  | **Name** | **Type** | **Description** |
1845
2013
  | --- | --- | --- |
1846
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.arn">arn</a></code> | <code>string</code> | *No description.* |
1847
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.id">id</a></code> | <code>string</code> | *No description.* |
1848
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespace">namespace</a></code> | <code>string</code> | *No description.* |
2014
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
2015
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | Security group ID of the Postgres DB cluster. |
1849
2016
 
1850
2017
  ---
1851
2018
 
1852
- ##### `arn`<sup>Required</sup> <a name="arn" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.arn"></a>
2019
+ ##### `basePlatformStackName`<sup>Required</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName"></a>
1853
2020
 
1854
2021
  ```typescript
1855
- public readonly arn: string;
2022
+ public readonly basePlatformStackName: string;
1856
2023
  ```
1857
2024
 
1858
2025
  - *Type:* string
1859
2026
 
1860
- ---
1861
-
1862
- ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.id"></a>
1863
-
1864
- ```typescript
1865
- public readonly id: string;
1866
- ```
2027
+ The name of the base platform stack.
1867
2028
 
1868
- - *Type:* string
2029
+ This name is used to look up output
2030
+ parameters.
1869
2031
 
1870
2032
  ---
1871
2033
 
1872
- ##### `namespace`<sup>Required</sup> <a name="namespace" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespace"></a>
2034
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.securityGroupId"></a>
1873
2035
 
1874
2036
  ```typescript
1875
- public readonly namespace: string;
2037
+ public readonly securityGroupId: string;
1876
2038
  ```
1877
2039
 
1878
2040
  - *Type:* string
1879
2041
 
2042
+ Security group ID of the Postgres DB cluster.
2043
+
1880
2044
  ---
1881
2045
 
1882
- ### TcpKeepAliveExtensionProps <a name="TcpKeepAliveExtensionProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps"></a>
2046
+ ### PredefinedPrivateDnsNamespaceProps <a name="PredefinedPrivateDnsNamespaceProps" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps"></a>
1883
2047
 
1884
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.Initializer"></a>
2048
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.Initializer"></a>
1885
2049
 
1886
2050
  ```typescript
1887
- import { TcpKeepAliveExtensionProps } from '@btc-embedded/cdk-extensions'
2051
+ import { PredefinedPrivateDnsNamespaceProps } from '@btc-embedded/cdk-extensions'
1888
2052
 
1889
- const tcpKeepAliveExtensionProps: TcpKeepAliveExtensionProps = { ... }
2053
+ const predefinedPrivateDnsNamespaceProps: PredefinedPrivateDnsNamespaceProps = { ... }
1890
2054
  ```
1891
2055
 
1892
2056
  #### Properties <a name="Properties" id="Properties"></a>
1893
2057
 
1894
2058
  | **Name** | **Type** | **Description** |
1895
2059
  | --- | --- | --- |
1896
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval">interval</a></code> | <code>number</code> | *No description.* |
1897
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes">probes</a></code> | <code>number</code> | *No description.* |
1898
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time">time</a></code> | <code>number</code> | *No description.* |
2060
+ | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.arn">arn</a></code> | <code>string</code> | *No description.* |
2061
+ | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.id">id</a></code> | <code>string</code> | *No description.* |
2062
+ | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.namespace">namespace</a></code> | <code>string</code> | *No description.* |
1899
2063
 
1900
2064
  ---
1901
2065
 
1902
- ##### `interval`<sup>Required</sup> <a name="interval" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval"></a>
2066
+ ##### `arn`<sup>Required</sup> <a name="arn" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.arn"></a>
1903
2067
 
1904
2068
  ```typescript
1905
- public readonly interval: number;
2069
+ public readonly arn: string;
1906
2070
  ```
1907
2071
 
1908
- - *Type:* number
2072
+ - *Type:* string
2073
+
2074
+ ---
2075
+
2076
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.id"></a>
2077
+
2078
+ ```typescript
2079
+ public readonly id: string;
2080
+ ```
2081
+
2082
+ - *Type:* string
2083
+
2084
+ ---
2085
+
2086
+ ##### `namespace`<sup>Required</sup> <a name="namespace" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.namespace"></a>
2087
+
2088
+ ```typescript
2089
+ public readonly namespace: string;
2090
+ ```
2091
+
2092
+ - *Type:* string
2093
+
2094
+ ---
2095
+
2096
+ ### PrivateDnsNamespaceProps <a name="PrivateDnsNamespaceProps" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"></a>
2097
+
2098
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.Initializer"></a>
2099
+
2100
+ ```typescript
2101
+ import { PrivateDnsNamespaceProps } from '@btc-embedded/cdk-extensions'
2102
+
2103
+ const privateDnsNamespaceProps: PrivateDnsNamespaceProps = { ... }
2104
+ ```
2105
+
2106
+ #### Properties <a name="Properties" id="Properties"></a>
2107
+
2108
+ | **Name** | **Type** | **Description** |
2109
+ | --- | --- | --- |
2110
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
2111
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.definedPrivateDnsNamespace">definedPrivateDnsNamespace</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps">PredefinedPrivateDnsNamespaceProps</a></code> | *No description.* |
2112
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespaceName">namespaceName</a></code> | <code>string</code> | *No description.* |
2113
+
2114
+ ---
2115
+
2116
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.vpc"></a>
2117
+
2118
+ ```typescript
2119
+ public readonly vpc: IVpc;
2120
+ ```
2121
+
2122
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
2123
+
2124
+ ---
2125
+
2126
+ ##### `definedPrivateDnsNamespace`<sup>Optional</sup> <a name="definedPrivateDnsNamespace" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.definedPrivateDnsNamespace"></a>
2127
+
2128
+ ```typescript
2129
+ public readonly definedPrivateDnsNamespace: PredefinedPrivateDnsNamespaceProps;
2130
+ ```
2131
+
2132
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps">PredefinedPrivateDnsNamespaceProps</a>
2133
+
2134
+ ---
2135
+
2136
+ ##### `namespaceName`<sup>Optional</sup> <a name="namespaceName" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespaceName"></a>
2137
+
2138
+ ```typescript
2139
+ public readonly namespaceName: string;
2140
+ ```
2141
+
2142
+ - *Type:* string
2143
+
2144
+ ---
2145
+
2146
+ ### SharedVolumeExtensionProps <a name="SharedVolumeExtensionProps" id="@btc-embedded/cdk-extensions.SharedVolumeExtensionProps"></a>
2147
+
2148
+ Properties for defining an ephermal shared volume.
2149
+
2150
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.Initializer"></a>
2151
+
2152
+ ```typescript
2153
+ import { SharedVolumeExtensionProps } from '@btc-embedded/cdk-extensions'
2154
+
2155
+ const sharedVolumeExtensionProps: SharedVolumeExtensionProps = { ... }
2156
+ ```
2157
+
2158
+ #### Properties <a name="Properties" id="Properties"></a>
2159
+
2160
+ | **Name** | **Type** | **Description** |
2161
+ | --- | --- | --- |
2162
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.property.path">path</a></code> | <code>string</code> | The path inside the container to mount the volume. |
2163
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.property.readonly">readonly</a></code> | <code>boolean</code> | Whether the volume should be read-only. |
2164
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.property.scope">scope</a></code> | <code>aws-cdk-lib.aws_ecs.Scope</code> | Scope of the volume. |
2165
+
2166
+ ---
2167
+
2168
+ ##### `path`<sup>Required</sup> <a name="path" id="@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.property.path"></a>
2169
+
2170
+ ```typescript
2171
+ public readonly path: string;
2172
+ ```
2173
+
2174
+ - *Type:* string
2175
+
2176
+ The path inside the container to mount the volume.
2177
+
2178
+ ---
2179
+
2180
+ ##### `readonly`<sup>Optional</sup> <a name="readonly" id="@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.property.readonly"></a>
2181
+
2182
+ ```typescript
2183
+ public readonly readonly: boolean;
2184
+ ```
2185
+
2186
+ - *Type:* boolean
2187
+
2188
+ Whether the volume should be read-only.
2189
+
2190
+ Default: false.
2191
+
2192
+ ---
2193
+
2194
+ ##### `scope`<sup>Optional</sup> <a name="scope" id="@btc-embedded/cdk-extensions.SharedVolumeExtensionProps.property.scope"></a>
2195
+
2196
+ ```typescript
2197
+ public readonly scope: Scope;
2198
+ ```
2199
+
2200
+ - *Type:* aws-cdk-lib.aws_ecs.Scope
2201
+
2202
+ Scope of the volume.
2203
+
2204
+ Default: SHARED.
2205
+
2206
+ ---
2207
+
2208
+ ### TcpKeepAliveExtensionProps <a name="TcpKeepAliveExtensionProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps"></a>
2209
+
2210
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.Initializer"></a>
2211
+
2212
+ ```typescript
2213
+ import { TcpKeepAliveExtensionProps } from '@btc-embedded/cdk-extensions'
2214
+
2215
+ const tcpKeepAliveExtensionProps: TcpKeepAliveExtensionProps = { ... }
2216
+ ```
2217
+
2218
+ #### Properties <a name="Properties" id="Properties"></a>
2219
+
2220
+ | **Name** | **Type** | **Description** |
2221
+ | --- | --- | --- |
2222
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval">interval</a></code> | <code>number</code> | *No description.* |
2223
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes">probes</a></code> | <code>number</code> | *No description.* |
2224
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time">time</a></code> | <code>number</code> | *No description.* |
2225
+
2226
+ ---
2227
+
2228
+ ##### `interval`<sup>Required</sup> <a name="interval" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval"></a>
2229
+
2230
+ ```typescript
2231
+ public readonly interval: number;
2232
+ ```
2233
+
2234
+ - *Type:* number
1909
2235
 
1910
2236
  ---
1911
2237
 
@@ -1929,6 +2255,56 @@ public readonly time: number;
1929
2255
 
1930
2256
  ---
1931
2257
 
2258
+ ### VpcProps <a name="VpcProps" id="@btc-embedded/cdk-extensions.VpcProps"></a>
2259
+
2260
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.VpcProps.Initializer"></a>
2261
+
2262
+ ```typescript
2263
+ import { VpcProps } from '@btc-embedded/cdk-extensions'
2264
+
2265
+ const vpcProps: VpcProps = { ... }
2266
+ ```
2267
+
2268
+ #### Properties <a name="Properties" id="Properties"></a>
2269
+
2270
+ | **Name** | **Type** | **Description** |
2271
+ | --- | --- | --- |
2272
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcProps.property.definedVpcName">definedVpcName</a></code> | <code>string</code> | *No description.* |
2273
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcProps.property.maxAzs">maxAzs</a></code> | <code>number</code> | *No description.* |
2274
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcProps.property.vpcCidr">vpcCidr</a></code> | <code>aws-cdk-lib.aws_ec2.IIpAddresses</code> | *No description.* |
2275
+
2276
+ ---
2277
+
2278
+ ##### `definedVpcName`<sup>Optional</sup> <a name="definedVpcName" id="@btc-embedded/cdk-extensions.VpcProps.property.definedVpcName"></a>
2279
+
2280
+ ```typescript
2281
+ public readonly definedVpcName: string;
2282
+ ```
2283
+
2284
+ - *Type:* string
2285
+
2286
+ ---
2287
+
2288
+ ##### `maxAzs`<sup>Optional</sup> <a name="maxAzs" id="@btc-embedded/cdk-extensions.VpcProps.property.maxAzs"></a>
2289
+
2290
+ ```typescript
2291
+ public readonly maxAzs: number;
2292
+ ```
2293
+
2294
+ - *Type:* number
2295
+
2296
+ ---
2297
+
2298
+ ##### `vpcCidr`<sup>Optional</sup> <a name="vpcCidr" id="@btc-embedded/cdk-extensions.VpcProps.property.vpcCidr"></a>
2299
+
2300
+ ```typescript
2301
+ public readonly vpcCidr: IIpAddresses;
2302
+ ```
2303
+
2304
+ - *Type:* aws-cdk-lib.aws_ec2.IIpAddresses
2305
+
2306
+ ---
2307
+
1932
2308
  ## Classes <a name="Classes" id="Classes"></a>
1933
2309
 
1934
2310
  ### ApiGatewayExtension <a name="ApiGatewayExtension" id="@btc-embedded/cdk-extensions.ApiGatewayExtension"></a>
@@ -2641,6 +3017,7 @@ The created task definition to add containers to.
2641
3017
  | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
2642
3018
  | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
2643
3019
  | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps">CloudMapExtensionProps</a></code> | *No description.* |
3020
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
2644
3021
 
2645
3022
  ---
2646
3023
 
@@ -2683,6 +3060,16 @@ public readonly props: CloudMapExtensionProps;
2683
3060
 
2684
3061
  ---
2685
3062
 
3063
+ ##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@btc-embedded/cdk-extensions.CloudMapExtension.property.serviceName"></a>
3064
+
3065
+ ```typescript
3066
+ public readonly serviceName: string;
3067
+ ```
3068
+
3069
+ - *Type:* string
3070
+
3071
+ ---
3072
+
2686
3073
 
2687
3074
  ### DocumentDbAccessExtension <a name="DocumentDbAccessExtension" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension"></a>
2688
3075
 
@@ -3766,6 +4153,519 @@ connected to the service.
3766
4153
  ---
3767
4154
 
3768
4155
 
4156
+ ### PostgresDbAccessExtension <a name="PostgresDbAccessExtension" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension"></a>
4157
+
4158
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.Initializer"></a>
4159
+
4160
+ ```typescript
4161
+ import { PostgresDbAccessExtension } from '@btc-embedded/cdk-extensions'
4162
+
4163
+ new PostgresDbAccessExtension(props: PostgresDbAccessExtensionProps)
4164
+ ```
4165
+
4166
+ | **Name** | **Type** | **Description** |
4167
+ | --- | --- | --- |
4168
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps">PostgresDbAccessExtensionProps</a></code> | *No description.* |
4169
+
4170
+ ---
4171
+
4172
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.Initializer.parameter.props"></a>
4173
+
4174
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps">PostgresDbAccessExtensionProps</a>
4175
+
4176
+ ---
4177
+
4178
+ #### Methods <a name="Methods" id="Methods"></a>
4179
+
4180
+ | **Name** | **Description** |
4181
+ | --- | --- |
4182
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
4183
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
4184
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
4185
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
4186
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
4187
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
4188
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
4189
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
4190
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
4191
+
4192
+ ---
4193
+
4194
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addContainerMutatingHook"></a>
4195
+
4196
+ ```typescript
4197
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
4198
+ ```
4199
+
4200
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
4201
+
4202
+ This is primarily used
4203
+ for the application extension. For example, the Firelens extension wants to
4204
+ be able to modify the settings of the application container to
4205
+ route logs through Firelens.
4206
+
4207
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addContainerMutatingHook.parameter.hook"></a>
4208
+
4209
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
4210
+
4211
+ ---
4212
+
4213
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addHooks"></a>
4214
+
4215
+ ```typescript
4216
+ public addHooks(): void
4217
+ ```
4218
+
4219
+ A hook that allows the extension to add hooks to other extensions that are registered.
4220
+
4221
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.connectToService"></a>
4222
+
4223
+ ```typescript
4224
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
4225
+ ```
4226
+
4227
+ This hook allows the extension to establish a connection to extensions from another service.
4228
+
4229
+ Usually used for things like
4230
+ allowing one service to talk to the load balancer or service mesh
4231
+ proxy for another service.
4232
+
4233
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.connectToService.parameter.service"></a>
4234
+
4235
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
4236
+
4237
+ The other service to connect to.
4238
+
4239
+ ---
4240
+
4241
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.connectToService.parameter.connectToProps"></a>
4242
+
4243
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
4244
+
4245
+ ---
4246
+
4247
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyServiceProps"></a>
4248
+
4249
+ ```typescript
4250
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
4251
+ ```
4252
+
4253
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
4254
+
4255
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyServiceProps.parameter.props"></a>
4256
+
4257
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
4258
+
4259
+ The service properties to mutate.
4260
+
4261
+ ---
4262
+
4263
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyTaskDefinitionProps"></a>
4264
+
4265
+ ```typescript
4266
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
4267
+ ```
4268
+
4269
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
4270
+
4271
+ For example, the App Mesh
4272
+ extension needs to configure an Envoy proxy in the task definition,
4273
+ or the Application extension wants to set the overall resource for
4274
+ the task.
4275
+
4276
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyTaskDefinitionProps.parameter.props"></a>
4277
+
4278
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
4279
+
4280
+ Properties of the task definition to be created.
4281
+
4282
+ ---
4283
+
4284
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook"></a>
4285
+
4286
+ ```typescript
4287
+ public prehook(parent: Service, scope: Construct): void
4288
+ ```
4289
+
4290
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
4291
+
4292
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook.parameter.parent"></a>
4293
+
4294
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
4295
+
4296
+ ---
4297
+
4298
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook.parameter.scope"></a>
4299
+
4300
+ - *Type:* constructs.Construct
4301
+
4302
+ ---
4303
+
4304
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.resolveContainerDependencies"></a>
4305
+
4306
+ ```typescript
4307
+ public resolveContainerDependencies(): void
4308
+ ```
4309
+
4310
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
4311
+
4312
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useService"></a>
4313
+
4314
+ ```typescript
4315
+ public useService(service: Ec2Service | FargateService): void
4316
+ ```
4317
+
4318
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
4319
+
4320
+ It is generally used to
4321
+ create any final resources which might depend on the service itself.
4322
+
4323
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useService.parameter.service"></a>
4324
+
4325
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
4326
+
4327
+ ---
4328
+
4329
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useTaskDefinition"></a>
4330
+
4331
+ ```typescript
4332
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
4333
+ ```
4334
+
4335
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
4336
+
4337
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useTaskDefinition.parameter.taskDefinition"></a>
4338
+
4339
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
4340
+
4341
+ The created task definition to add containers to.
4342
+
4343
+ ---
4344
+
4345
+
4346
+ #### Properties <a name="Properties" id="Properties"></a>
4347
+
4348
+ | **Name** | **Type** | **Description** |
4349
+ | --- | --- | --- |
4350
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
4351
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
4352
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps">PostgresDbAccessExtensionProps</a></code> | *No description.* |
4353
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.secretArn">secretArn</a></code> | <code>string</code> | *No description.* |
4354
+
4355
+ ---
4356
+
4357
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.name"></a>
4358
+
4359
+ ```typescript
4360
+ public readonly name: string;
4361
+ ```
4362
+
4363
+ - *Type:* string
4364
+
4365
+ The name of the extension.
4366
+
4367
+ ---
4368
+
4369
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.container"></a>
4370
+
4371
+ ```typescript
4372
+ public readonly container: ContainerDefinition;
4373
+ ```
4374
+
4375
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
4376
+
4377
+ The container for this extension.
4378
+
4379
+ Most extensions have a container, but not
4380
+ every extension is required to have a container. Some extensions may just
4381
+ modify the properties of the service, or create external resources
4382
+ connected to the service.
4383
+
4384
+ ---
4385
+
4386
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.props"></a>
4387
+
4388
+ ```typescript
4389
+ public readonly props: PostgresDbAccessExtensionProps;
4390
+ ```
4391
+
4392
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps">PostgresDbAccessExtensionProps</a>
4393
+
4394
+ ---
4395
+
4396
+ ##### `secretArn`<sup>Required</sup> <a name="secretArn" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.secretArn"></a>
4397
+
4398
+ ```typescript
4399
+ public readonly secretArn: string;
4400
+ ```
4401
+
4402
+ - *Type:* string
4403
+
4404
+ ---
4405
+
4406
+
4407
+ ### SharedVolumeExtension <a name="SharedVolumeExtension" id="@btc-embedded/cdk-extensions.SharedVolumeExtension"></a>
4408
+
4409
+ Create a shared volume and attach it to all containers in this task definition.
4410
+
4411
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.Initializer"></a>
4412
+
4413
+ ```typescript
4414
+ import { SharedVolumeExtension } from '@btc-embedded/cdk-extensions'
4415
+
4416
+ new SharedVolumeExtension(volumeName: string, props: SharedVolumeExtensionProps)
4417
+ ```
4418
+
4419
+ | **Name** | **Type** | **Description** |
4420
+ | --- | --- | --- |
4421
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.Initializer.parameter.volumeName">volumeName</a></code> | <code>string</code> | *No description.* |
4422
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps">SharedVolumeExtensionProps</a></code> | *No description.* |
4423
+
4424
+ ---
4425
+
4426
+ ##### `volumeName`<sup>Required</sup> <a name="volumeName" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.Initializer.parameter.volumeName"></a>
4427
+
4428
+ - *Type:* string
4429
+
4430
+ ---
4431
+
4432
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.Initializer.parameter.props"></a>
4433
+
4434
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps">SharedVolumeExtensionProps</a>
4435
+
4436
+ ---
4437
+
4438
+ #### Methods <a name="Methods" id="Methods"></a>
4439
+
4440
+ | **Name** | **Description** |
4441
+ | --- | --- |
4442
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
4443
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
4444
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
4445
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
4446
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
4447
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
4448
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
4449
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
4450
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
4451
+
4452
+ ---
4453
+
4454
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.addContainerMutatingHook"></a>
4455
+
4456
+ ```typescript
4457
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
4458
+ ```
4459
+
4460
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
4461
+
4462
+ This is primarily used
4463
+ for the application extension. For example, the Firelens extension wants to
4464
+ be able to modify the settings of the application container to
4465
+ route logs through Firelens.
4466
+
4467
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.addContainerMutatingHook.parameter.hook"></a>
4468
+
4469
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
4470
+
4471
+ ---
4472
+
4473
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.addHooks"></a>
4474
+
4475
+ ```typescript
4476
+ public addHooks(): void
4477
+ ```
4478
+
4479
+ A hook that allows the extension to add hooks to other extensions that are registered.
4480
+
4481
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.connectToService"></a>
4482
+
4483
+ ```typescript
4484
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
4485
+ ```
4486
+
4487
+ This hook allows the extension to establish a connection to extensions from another service.
4488
+
4489
+ Usually used for things like
4490
+ allowing one service to talk to the load balancer or service mesh
4491
+ proxy for another service.
4492
+
4493
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.connectToService.parameter.service"></a>
4494
+
4495
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
4496
+
4497
+ The other service to connect to.
4498
+
4499
+ ---
4500
+
4501
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.connectToService.parameter.connectToProps"></a>
4502
+
4503
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
4504
+
4505
+ ---
4506
+
4507
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.modifyServiceProps"></a>
4508
+
4509
+ ```typescript
4510
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
4511
+ ```
4512
+
4513
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
4514
+
4515
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.modifyServiceProps.parameter.props"></a>
4516
+
4517
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
4518
+
4519
+ The service properties to mutate.
4520
+
4521
+ ---
4522
+
4523
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.modifyTaskDefinitionProps"></a>
4524
+
4525
+ ```typescript
4526
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
4527
+ ```
4528
+
4529
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
4530
+
4531
+ For example, the App Mesh
4532
+ extension needs to configure an Envoy proxy in the task definition,
4533
+ or the Application extension wants to set the overall resource for
4534
+ the task.
4535
+
4536
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.modifyTaskDefinitionProps.parameter.props"></a>
4537
+
4538
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
4539
+
4540
+ Properties of the task definition to be created.
4541
+
4542
+ ---
4543
+
4544
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.prehook"></a>
4545
+
4546
+ ```typescript
4547
+ public prehook(parent: Service, scope: Construct): void
4548
+ ```
4549
+
4550
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
4551
+
4552
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.prehook.parameter.parent"></a>
4553
+
4554
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
4555
+
4556
+ The parent service which this extension has been added to.
4557
+
4558
+ ---
4559
+
4560
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.prehook.parameter.scope"></a>
4561
+
4562
+ - *Type:* constructs.Construct
4563
+
4564
+ The scope that this extension should create resources in.
4565
+
4566
+ ---
4567
+
4568
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.resolveContainerDependencies"></a>
4569
+
4570
+ ```typescript
4571
+ public resolveContainerDependencies(): void
4572
+ ```
4573
+
4574
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
4575
+
4576
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.useService"></a>
4577
+
4578
+ ```typescript
4579
+ public useService(_service: Ec2Service | FargateService): void
4580
+ ```
4581
+
4582
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
4583
+
4584
+ It is generally used to
4585
+ create any final resources which might depend on the service itself.
4586
+
4587
+ ###### `_service`<sup>Required</sup> <a name="_service" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.useService.parameter._service"></a>
4588
+
4589
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
4590
+
4591
+ ---
4592
+
4593
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.useTaskDefinition"></a>
4594
+
4595
+ ```typescript
4596
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
4597
+ ```
4598
+
4599
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
4600
+
4601
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.useTaskDefinition.parameter.taskDefinition"></a>
4602
+
4603
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
4604
+
4605
+ ---
4606
+
4607
+
4608
+ #### Properties <a name="Properties" id="Properties"></a>
4609
+
4610
+ | **Name** | **Type** | **Description** |
4611
+ | --- | --- | --- |
4612
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
4613
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
4614
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps">SharedVolumeExtensionProps</a></code> | *No description.* |
4615
+ | <code><a href="#@btc-embedded/cdk-extensions.SharedVolumeExtension.property.volumeName">volumeName</a></code> | <code>string</code> | *No description.* |
4616
+
4617
+ ---
4618
+
4619
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.property.name"></a>
4620
+
4621
+ ```typescript
4622
+ public readonly name: string;
4623
+ ```
4624
+
4625
+ - *Type:* string
4626
+
4627
+ The name of the extension.
4628
+
4629
+ ---
4630
+
4631
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.property.container"></a>
4632
+
4633
+ ```typescript
4634
+ public readonly container: ContainerDefinition;
4635
+ ```
4636
+
4637
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
4638
+
4639
+ The container for this extension.
4640
+
4641
+ Most extensions have a container, but not
4642
+ every extension is required to have a container. Some extensions may just
4643
+ modify the properties of the service, or create external resources
4644
+ connected to the service.
4645
+
4646
+ ---
4647
+
4648
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.property.props"></a>
4649
+
4650
+ ```typescript
4651
+ public readonly props: SharedVolumeExtensionProps;
4652
+ ```
4653
+
4654
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.SharedVolumeExtensionProps">SharedVolumeExtensionProps</a>
4655
+
4656
+ ---
4657
+
4658
+ ##### `volumeName`<sup>Required</sup> <a name="volumeName" id="@btc-embedded/cdk-extensions.SharedVolumeExtension.property.volumeName"></a>
4659
+
4660
+ ```typescript
4661
+ public readonly volumeName: string;
4662
+ ```
4663
+
4664
+ - *Type:* string
4665
+
4666
+ ---
4667
+
4668
+
3769
4669
  ### TcpKeepAliveExtension <a name="TcpKeepAliveExtension" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension"></a>
3770
4670
 
3771
4671
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.Initializer"></a>