@btc-embedded/cdk-extensions 0.23.5 → 0.23.7

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 (71) hide show
  1. package/.githooks/pre-commit +2 -0
  2. package/.jsii +583 -13
  3. package/API.md +880 -49
  4. package/CHANGELOG.md +26 -0
  5. package/assets/cli/catnip.js +2 -2
  6. package/assets/test/constructs/api-keys/integration/api-key-client-authorization-runner.lambda/index.js +13 -122
  7. package/assets/test/constructs/api-keys/integration/api-key-management-runner-unauthorized.lambda/index.js +13 -122
  8. package/assets/test/constructs/api-keys/integration/api-key-management-runner.lambda/index.js +67 -122
  9. package/assets/test/constructs/api-keys/integration/api-key-pre-token-handler-runner.lambda/index.js +13 -122
  10. package/lib/constructs/EventPipe.js +3 -4
  11. package/lib/constructs/ExportedService.js +7 -4
  12. package/lib/constructs/S3Bucket.js +2 -4
  13. package/lib/constructs/SecureRestApi.js +7 -4
  14. package/lib/constructs/SecureRestApiV2.js +5 -4
  15. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +3 -4
  16. package/lib/constructs/api-keys/ApiKeyManagement.js +6 -4
  17. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +2 -4
  18. package/lib/constructs/api-keys/ApiKeyStore.js +4 -4
  19. package/lib/constructs/api-keys/lambdas/api-client-authorization-function.d.ts +0 -5
  20. package/lib/constructs/api-keys/lambdas/api-client-authorization-function.js +37 -5
  21. package/lib/constructs/api-keys/lambdas/api-key-creation-function.d.ts +0 -5
  22. package/lib/constructs/api-keys/lambdas/api-key-creation-function.js +37 -5
  23. package/lib/constructs/api-keys/lambdas/api-key-update-function.d.ts +0 -5
  24. package/lib/constructs/api-keys/lambdas/api-key-update-function.js +37 -5
  25. package/lib/constructs/api-keys/lambdas/pre-token-function.d.ts +0 -5
  26. package/lib/constructs/api-keys/lambdas/pre-token-function.js +37 -5
  27. package/lib/constructs/api-keys/lambdas/pre-token.lambda.js +5 -2
  28. package/lib/extensions/ApiGatewayExtension.js +3 -4
  29. package/lib/extensions/ApplicationContainer.js +3 -4
  30. package/lib/extensions/ApplicationLoadBalancerExtension.js +9 -4
  31. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +3 -4
  32. package/lib/extensions/CloudMapExtension.js +9 -4
  33. package/lib/extensions/DeactivatableServiceExtension.js +2 -4
  34. package/lib/extensions/DeploymentConfigExtension.js +3 -4
  35. package/lib/extensions/DocumentDbAccessExtension.js +39 -5
  36. package/lib/extensions/DomainEventMessagingExtension.js +8 -6
  37. package/lib/extensions/EfsMountExtension.js +6 -4
  38. package/lib/extensions/ExecExtension.js +3 -1
  39. package/lib/extensions/ExtraContainerExtension.js +38 -5
  40. package/lib/extensions/HTTPApiExtension.js +3 -4
  41. package/lib/extensions/LogExtension.js +40 -5
  42. package/lib/extensions/ModifyContainerDefinitionExtension.js +4 -4
  43. package/lib/extensions/ModifyTaskDefinitionExtension.js +3 -4
  44. package/lib/extensions/OpenIdExtension.js +44 -5
  45. package/lib/extensions/OpenTelemetryExtension.js +4 -4
  46. package/lib/extensions/PostgresDbAccessExtension.js +50 -5
  47. package/lib/extensions/SharedVolumeExtension.js +4 -4
  48. package/lib/extensions/TcpKeepAliveExtension.js +4 -4
  49. package/lib/platform/ApiGateway.js +20 -18
  50. package/lib/platform/ApiGatewayVpcLink.js +19 -23
  51. package/lib/platform/ApplicationLoadBalancer.js +4 -4
  52. package/lib/platform/ApplicationLoadBalancerV2.d.ts +1 -0
  53. package/lib/platform/ApplicationLoadBalancerV2.js +41 -37
  54. package/lib/platform/AuroraPostgresDB.js +80 -40
  55. package/lib/platform/BTCLogGroup.js +7 -9
  56. package/lib/platform/CognitoUserPool.js +45 -45
  57. package/lib/platform/DefaultUserPoolClients.js +4 -4
  58. package/lib/platform/DocumentDB.js +20 -21
  59. package/lib/platform/EcsCluster.js +15 -19
  60. package/lib/platform/EfsFileSystem.js +4 -4
  61. package/lib/platform/HostedZone.js +17 -21
  62. package/lib/platform/PrivateDnsNamespace.js +23 -27
  63. package/lib/platform/ResourceServer.js +4 -4
  64. package/lib/platform/Vpc.js +23 -24
  65. package/lib/platform/VpcV2.js +11 -15
  66. package/lib/stacks/ApplicationStack.js +2 -4
  67. package/lib/utils/BasePlatformStackResolver.js +2 -4
  68. package/lib/utils/StackParameter.js +4 -4
  69. package/lib/utils/configFileParsing.js +37 -4
  70. package/package.json +72 -65
  71. package/renovate.json5 +4 -2
package/API.md CHANGED
@@ -56,6 +56,7 @@ new ApiGateway(scope: Construct, id: string, props: ApiGatewayProps)
56
56
  | **Name** | **Description** |
57
57
  | --- | --- |
58
58
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.toString">toString</a></code> | Returns a string representation of this construct. |
59
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.with">with</a></code> | Applies one or more mixins to this construct. |
59
60
 
60
61
  ---
61
62
 
@@ -67,6 +68,27 @@ public toString(): string
67
68
 
68
69
  Returns a string representation of this construct.
69
70
 
71
+ ##### ~~`with`~~ <a name="with" id="@btc-embedded/cdk-extensions.ApiGateway.with"></a>
72
+
73
+ ```typescript
74
+ public with(mixins: ...IMixin[]): IConstruct
75
+ ```
76
+
77
+ Applies one or more mixins to this construct.
78
+
79
+ Mixins are applied in order. The list of constructs is captured at the
80
+ start of the call, so constructs added by a mixin will not be visited.
81
+ Use multiple `with()` calls if subsequent mixins should apply to added
82
+ constructs.
83
+
84
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiGateway.with.parameter.mixins"></a>
85
+
86
+ - *Type:* ...constructs.IMixin[]
87
+
88
+ The mixins to apply.
89
+
90
+ ---
91
+
70
92
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
71
93
 
72
94
  | **Name** | **Description** |
@@ -250,6 +272,7 @@ new ApiGatewayVpcLink(scope: Construct, id: string, props: ApiGatewayVpcLinkProp
250
272
  | **Name** | **Description** |
251
273
  | --- | --- |
252
274
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLink.toString">toString</a></code> | Returns a string representation of this construct. |
275
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLink.with">with</a></code> | Applies one or more mixins to this construct. |
253
276
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLink.allowAccessTo">allowAccessTo</a></code> | *No description.* |
254
277
 
255
278
  ---
@@ -262,6 +285,27 @@ public toString(): string
262
285
 
263
286
  Returns a string representation of this construct.
264
287
 
288
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLink.with"></a>
289
+
290
+ ```typescript
291
+ public with(mixins: ...IMixin[]): IConstruct
292
+ ```
293
+
294
+ Applies one or more mixins to this construct.
295
+
296
+ Mixins are applied in order. The list of constructs is captured at the
297
+ start of the call, so constructs added by a mixin will not be visited.
298
+ Use multiple `with()` calls if subsequent mixins should apply to added
299
+ constructs.
300
+
301
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLink.with.parameter.mixins"></a>
302
+
303
+ - *Type:* ...constructs.IMixin[]
304
+
305
+ The mixins to apply.
306
+
307
+ ---
308
+
265
309
  ##### `allowAccessTo` <a name="allowAccessTo" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLink.allowAccessTo"></a>
266
310
 
267
311
  ```typescript
@@ -440,6 +484,7 @@ dash `--`.
440
484
  | **Name** | **Description** |
441
485
  | --- | --- |
442
486
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase.toString">toString</a></code> | Returns a string representation of this construct. |
487
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase.with">with</a></code> | Applies one or more mixins to this construct. |
443
488
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase.allowAccessTo">allowAccessTo</a></code> | *No description.* |
444
489
 
445
490
  ---
@@ -452,6 +497,27 @@ public toString(): string
452
497
 
453
498
  Returns a string representation of this construct.
454
499
 
500
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase.with"></a>
501
+
502
+ ```typescript
503
+ public with(mixins: ...IMixin[]): IConstruct
504
+ ```
505
+
506
+ Applies one or more mixins to this construct.
507
+
508
+ Mixins are applied in order. The list of constructs is captured at the
509
+ start of the call, so constructs added by a mixin will not be visited.
510
+ Use multiple `with()` calls if subsequent mixins should apply to added
511
+ constructs.
512
+
513
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase.with.parameter.mixins"></a>
514
+
515
+ - *Type:* ...constructs.IMixin[]
516
+
517
+ The mixins to apply.
518
+
519
+ ---
520
+
455
521
  ##### `allowAccessTo` <a name="allowAccessTo" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase.allowAccessTo"></a>
456
522
 
457
523
  ```typescript
@@ -610,6 +676,7 @@ The {@link ApiKeyClientAuthorizationProps} required for creating the instance.
610
676
  | **Name** | **Description** |
611
677
  | --- | --- |
612
678
  | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyClientAuthorization.toString">toString</a></code> | Returns a string representation of this construct. |
679
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyClientAuthorization.with">with</a></code> | Applies one or more mixins to this construct. |
613
680
 
614
681
  ---
615
682
 
@@ -621,6 +688,27 @@ public toString(): string
621
688
 
622
689
  Returns a string representation of this construct.
623
690
 
691
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApiKeyClientAuthorization.with"></a>
692
+
693
+ ```typescript
694
+ public with(mixins: ...IMixin[]): IConstruct
695
+ ```
696
+
697
+ Applies one or more mixins to this construct.
698
+
699
+ Mixins are applied in order. The list of constructs is captured at the
700
+ start of the call, so constructs added by a mixin will not be visited.
701
+ Use multiple `with()` calls if subsequent mixins should apply to added
702
+ constructs.
703
+
704
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiKeyClientAuthorization.with.parameter.mixins"></a>
705
+
706
+ - *Type:* ...constructs.IMixin[]
707
+
708
+ The mixins to apply.
709
+
710
+ ---
711
+
624
712
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
625
713
 
626
714
  | **Name** | **Description** |
@@ -744,6 +832,7 @@ The {@link ApiKeyManagementProps} required for creating the instance.
744
832
  | **Name** | **Description** |
745
833
  | --- | --- |
746
834
  | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyManagement.toString">toString</a></code> | Returns a string representation of this construct. |
835
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyManagement.with">with</a></code> | Applies one or more mixins to this construct. |
747
836
  | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyManagement.allowConnection">allowConnection</a></code> | Grant connection privileges to the passed role. |
748
837
 
749
838
  ---
@@ -756,6 +845,27 @@ public toString(): string
756
845
 
757
846
  Returns a string representation of this construct.
758
847
 
848
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApiKeyManagement.with"></a>
849
+
850
+ ```typescript
851
+ public with(mixins: ...IMixin[]): IConstruct
852
+ ```
853
+
854
+ Applies one or more mixins to this construct.
855
+
856
+ Mixins are applied in order. The list of constructs is captured at the
857
+ start of the call, so constructs added by a mixin will not be visited.
858
+ Use multiple `with()` calls if subsequent mixins should apply to added
859
+ constructs.
860
+
861
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiKeyManagement.with.parameter.mixins"></a>
862
+
863
+ - *Type:* ...constructs.IMixin[]
864
+
865
+ The mixins to apply.
866
+
867
+ ---
868
+
759
869
  ##### `allowConnection` <a name="allowConnection" id="@btc-embedded/cdk-extensions.ApiKeyManagement.allowConnection"></a>
760
870
 
761
871
  ```typescript
@@ -924,6 +1034,7 @@ The {@link ApiKeyPreTokenHandlerProps} required for creating the instance.
924
1034
  | **Name** | **Description** |
925
1035
  | --- | --- |
926
1036
  | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyPreTokenHandler.toString">toString</a></code> | Returns a string representation of this construct. |
1037
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyPreTokenHandler.with">with</a></code> | Applies one or more mixins to this construct. |
927
1038
 
928
1039
  ---
929
1040
 
@@ -935,6 +1046,27 @@ public toString(): string
935
1046
 
936
1047
  Returns a string representation of this construct.
937
1048
 
1049
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApiKeyPreTokenHandler.with"></a>
1050
+
1051
+ ```typescript
1052
+ public with(mixins: ...IMixin[]): IConstruct
1053
+ ```
1054
+
1055
+ Applies one or more mixins to this construct.
1056
+
1057
+ Mixins are applied in order. The list of constructs is captured at the
1058
+ start of the call, so constructs added by a mixin will not be visited.
1059
+ Use multiple `with()` calls if subsequent mixins should apply to added
1060
+ constructs.
1061
+
1062
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiKeyPreTokenHandler.with.parameter.mixins"></a>
1063
+
1064
+ - *Type:* ...constructs.IMixin[]
1065
+
1066
+ The mixins to apply.
1067
+
1068
+ ---
1069
+
938
1070
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
939
1071
 
940
1072
  | **Name** | **Description** |
@@ -1045,6 +1177,7 @@ The {@link ApiKeyStoreProps} required for creating the instance.
1045
1177
  | **Name** | **Description** |
1046
1178
  | --- | --- |
1047
1179
  | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyStore.toString">toString</a></code> | Returns a string representation of this construct. |
1180
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyStore.with">with</a></code> | Applies one or more mixins to this construct. |
1048
1181
 
1049
1182
  ---
1050
1183
 
@@ -1056,6 +1189,27 @@ public toString(): string
1056
1189
 
1057
1190
  Returns a string representation of this construct.
1058
1191
 
1192
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApiKeyStore.with"></a>
1193
+
1194
+ ```typescript
1195
+ public with(mixins: ...IMixin[]): IConstruct
1196
+ ```
1197
+
1198
+ Applies one or more mixins to this construct.
1199
+
1200
+ Mixins are applied in order. The list of constructs is captured at the
1201
+ start of the call, so constructs added by a mixin will not be visited.
1202
+ Use multiple `with()` calls if subsequent mixins should apply to added
1203
+ constructs.
1204
+
1205
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApiKeyStore.with.parameter.mixins"></a>
1206
+
1207
+ - *Type:* ...constructs.IMixin[]
1208
+
1209
+ The mixins to apply.
1210
+
1211
+ ---
1212
+
1059
1213
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1060
1214
 
1061
1215
  | **Name** | **Description** |
@@ -1184,6 +1338,7 @@ new ApplicationLoadBalancer(scope: Construct, id: string, props: ApplicationLoad
1184
1338
  | **Name** | **Description** |
1185
1339
  | --- | --- |
1186
1340
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancer.toString">toString</a></code> | Returns a string representation of this construct. |
1341
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancer.with">with</a></code> | Applies one or more mixins to this construct. |
1187
1342
 
1188
1343
  ---
1189
1344
 
@@ -1195,6 +1350,27 @@ public toString(): string
1195
1350
 
1196
1351
  Returns a string representation of this construct.
1197
1352
 
1353
+ ##### ~~`with`~~ <a name="with" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancer.with"></a>
1354
+
1355
+ ```typescript
1356
+ public with(mixins: ...IMixin[]): IConstruct
1357
+ ```
1358
+
1359
+ Applies one or more mixins to this construct.
1360
+
1361
+ Mixins are applied in order. The list of constructs is captured at the
1362
+ start of the call, so constructs added by a mixin will not be visited.
1363
+ Use multiple `with()` calls if subsequent mixins should apply to added
1364
+ constructs.
1365
+
1366
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancer.with.parameter.mixins"></a>
1367
+
1368
+ - *Type:* ...constructs.IMixin[]
1369
+
1370
+ The mixins to apply.
1371
+
1372
+ ---
1373
+
1198
1374
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1199
1375
 
1200
1376
  | **Name** | **Description** |
@@ -1346,6 +1522,7 @@ new ApplicationLoadBalancerV2(scope: Construct, id: string, props: ApplicationLo
1346
1522
  | **Name** | **Description** |
1347
1523
  | --- | --- |
1348
1524
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.toString">toString</a></code> | Returns a string representation of this construct. |
1525
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.with">with</a></code> | Applies one or more mixins to this construct. |
1349
1526
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.addTarget">addTarget</a></code> | *No description.* |
1350
1527
 
1351
1528
  ---
@@ -1358,6 +1535,27 @@ public toString(): string
1358
1535
 
1359
1536
  Returns a string representation of this construct.
1360
1537
 
1538
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.with"></a>
1539
+
1540
+ ```typescript
1541
+ public with(mixins: ...IMixin[]): IConstruct
1542
+ ```
1543
+
1544
+ Applies one or more mixins to this construct.
1545
+
1546
+ Mixins are applied in order. The list of constructs is captured at the
1547
+ start of the call, so constructs added by a mixin will not be visited.
1548
+ Use multiple `with()` calls if subsequent mixins should apply to added
1549
+ constructs.
1550
+
1551
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.with.parameter.mixins"></a>
1552
+
1553
+ - *Type:* ...constructs.IMixin[]
1554
+
1555
+ The mixins to apply.
1556
+
1557
+ ---
1558
+
1361
1559
  ##### `addTarget` <a name="addTarget" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.addTarget"></a>
1362
1560
 
1363
1561
  ```typescript
@@ -1524,6 +1722,7 @@ dash `--`.
1524
1722
  | **Name** | **Description** |
1525
1723
  | --- | --- |
1526
1724
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.toString">toString</a></code> | Returns a string representation of this construct. |
1725
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.with">with</a></code> | Applies one or more mixins to this construct. |
1527
1726
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.addTarget">addTarget</a></code> | *No description.* |
1528
1727
 
1529
1728
  ---
@@ -1536,6 +1735,27 @@ public toString(): string
1536
1735
 
1537
1736
  Returns a string representation of this construct.
1538
1737
 
1738
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.with"></a>
1739
+
1740
+ ```typescript
1741
+ public with(mixins: ...IMixin[]): IConstruct
1742
+ ```
1743
+
1744
+ Applies one or more mixins to this construct.
1745
+
1746
+ Mixins are applied in order. The list of constructs is captured at the
1747
+ start of the call, so constructs added by a mixin will not be visited.
1748
+ Use multiple `with()` calls if subsequent mixins should apply to added
1749
+ constructs.
1750
+
1751
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.with.parameter.mixins"></a>
1752
+
1753
+ - *Type:* ...constructs.IMixin[]
1754
+
1755
+ The mixins to apply.
1756
+
1757
+ ---
1758
+
1539
1759
  ##### `addTarget` <a name="addTarget" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.addTarget"></a>
1540
1760
 
1541
1761
  ```typescript
@@ -1672,6 +1892,7 @@ new ApplicationStack(scope: Construct, id: string, props: ApplicationStackProps)
1672
1892
  | **Name** | **Description** |
1673
1893
  | --- | --- |
1674
1894
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.toString">toString</a></code> | Returns a string representation of this construct. |
1895
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.with">with</a></code> | Applies one or more mixins to this construct. |
1675
1896
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addDependency">addDependency</a></code> | Add a dependency between this stack and another stack. |
1676
1897
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addMetadata">addMetadata</a></code> | Adds an arbitrary key-value pair, with information you want to record about the stack. |
1677
1898
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addStackTag">addStackTag</a></code> | Configure a stack tag. |
@@ -1699,6 +1920,25 @@ public toString(): string
1699
1920
 
1700
1921
  Returns a string representation of this construct.
1701
1922
 
1923
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ApplicationStack.with"></a>
1924
+
1925
+ ```typescript
1926
+ public with(mixins: ...IMixin[]): IConstruct
1927
+ ```
1928
+
1929
+ Applies one or more mixins to this construct.
1930
+
1931
+ Mixins are applied in order. The list of constructs is captured at the
1932
+ start of the call, so constructs added by a mixin will not be visited.
1933
+ Use multiple `with()` calls if subsequent mixins should apply to added
1934
+ constructs.
1935
+
1936
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ApplicationStack.with.parameter.mixins"></a>
1937
+
1938
+ - *Type:* ...constructs.IMixin[]
1939
+
1940
+ ---
1941
+
1702
1942
  ##### `addDependency` <a name="addDependency" id="@btc-embedded/cdk-extensions.ApplicationStack.addDependency"></a>
1703
1943
 
1704
1944
  ```typescript
@@ -2124,6 +2364,8 @@ Convert an object, potentially containing tokens, to a YAML string.
2124
2364
  | **Name** | **Description** |
2125
2365
  | --- | --- |
2126
2366
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2367
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.consumeListReference">consumeListReference</a></code> | Override the reference strength for a specific cross-stack string list reference. |
2368
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.consumeReference">consumeReference</a></code> | Override the reference strength for a specific cross-stack reference value. |
2127
2369
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.isStack">isStack</a></code> | Return whether the given object is a Stack. |
2128
2370
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.of">of</a></code> | Looks up the first stack scope in which `construct` is defined. |
2129
2371
 
@@ -2161,6 +2403,83 @@ Any object.
2161
2403
 
2162
2404
  ---
2163
2405
 
2406
+ ##### `consumeListReference` <a name="consumeListReference" id="@btc-embedded/cdk-extensions.ApplicationStack.consumeListReference"></a>
2407
+
2408
+ ```typescript
2409
+ import { ApplicationStack } from '@btc-embedded/cdk-extensions'
2410
+
2411
+ ApplicationStack.consumeListReference(value: string[], strength?: ReferenceStrength)
2412
+ ```
2413
+
2414
+ Override the reference strength for a specific cross-stack string list reference.
2415
+
2416
+ This is the string list equivalent of `consumeReference`.
2417
+
2418
+ ###### `value`<sup>Required</sup> <a name="value" id="@btc-embedded/cdk-extensions.ApplicationStack.consumeListReference.parameter.value"></a>
2419
+
2420
+ - *Type:* string[]
2421
+
2422
+ A tokenized string list reference.
2423
+
2424
+ ---
2425
+
2426
+ ###### `strength`<sup>Optional</sup> <a name="strength" id="@btc-embedded/cdk-extensions.ApplicationStack.consumeListReference.parameter.strength"></a>
2427
+
2428
+ - *Type:* aws-cdk-lib.ReferenceStrength
2429
+
2430
+ The reference strength to use.
2431
+
2432
+ Defaults to `BOTH`.
2433
+
2434
+ ---
2435
+
2436
+ ##### `consumeReference` <a name="consumeReference" id="@btc-embedded/cdk-extensions.ApplicationStack.consumeReference"></a>
2437
+
2438
+ ```typescript
2439
+ import { ApplicationStack } from '@btc-embedded/cdk-extensions'
2440
+
2441
+ ApplicationStack.consumeReference(value: string, strength?: ReferenceStrength)
2442
+ ```
2443
+
2444
+ Override the reference strength for a specific cross-stack reference value.
2445
+
2446
+ Use this to weaken (or strengthen) an individual reference without
2447
+ affecting other references to the same resource. For example:
2448
+
2449
+ ```ts
2450
+ // producerStack defines an SNS topic
2451
+ declare const topic: sns.Topic;
2452
+
2453
+ // consumerStack subscribes to it with a weak reference,
2454
+ // so the producer can be torn down without blocking on this consumer
2455
+ const consumerStack = new Stack(app, 'Consumer', {
2456
+ env: { account: '123456789012', region: 'us-east-1' },
2457
+ });
2458
+ new sns.Subscription(consumerStack, 'Subscription', {
2459
+ topic: sns.Topic.fromTopicArn(consumerStack, 'Topic', Stack.consumeReference(topic.topicArn)),
2460
+ endpoint: 'https://example.com/webhook',
2461
+ protocol: sns.SubscriptionProtocol.HTTPS,
2462
+ });
2463
+ ```
2464
+
2465
+ ###### `value`<sup>Required</sup> <a name="value" id="@btc-embedded/cdk-extensions.ApplicationStack.consumeReference.parameter.value"></a>
2466
+
2467
+ - *Type:* string
2468
+
2469
+ A tokenized string reference (e.g. `bucket.bucketArn`).
2470
+
2471
+ ---
2472
+
2473
+ ###### `strength`<sup>Optional</sup> <a name="strength" id="@btc-embedded/cdk-extensions.ApplicationStack.consumeReference.parameter.strength"></a>
2474
+
2475
+ - *Type:* aws-cdk-lib.ReferenceStrength
2476
+
2477
+ The reference strength to use.
2478
+
2479
+ Defaults to `BOTH`.
2480
+
2481
+ ---
2482
+
2164
2483
  ##### `isStack` <a name="isStack" id="@btc-embedded/cdk-extensions.ApplicationStack.isStack"></a>
2165
2484
 
2166
2485
  ```typescript
@@ -2191,6 +2510,8 @@ Looks up the first stack scope in which `construct` is defined.
2191
2510
 
2192
2511
  Fails if there is no stack up the tree.
2193
2512
 
2513
+ Will return the closest containing `Stack` or `NestedStack`.
2514
+
2194
2515
  ###### `construct`<sup>Required</sup> <a name="construct" id="@btc-embedded/cdk-extensions.ApplicationStack.of.parameter.construct"></a>
2195
2516
 
2196
2517
  - *Type:* constructs.IConstruct
@@ -2209,8 +2530,9 @@ The construct to start the search from.
2209
2530
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.availabilityZones">availabilityZones</a></code> | <code>string[]</code> | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
2210
2531
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.bundlingRequired">bundlingRequired</a></code> | <code>boolean</code> | Indicates whether the stack requires bundling or not. |
2211
2532
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.dependencies">dependencies</a></code> | <code>aws-cdk-lib.Stack[]</code> | Return the stacks this stack depends on. |
2533
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.env">env</a></code> | <code>aws-cdk-lib.interfaces.ResourceEnvironment</code> | The environment this Stack deploys to. |
2212
2534
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.environment">environment</a></code> | <code>string</code> | The environment coordinates in which this stack is deployed. |
2213
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nested">nested</a></code> | <code>boolean</code> | Indicates if this is a nested stack, in which case `parentStack` will include a reference to it's parent. |
2535
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nested">nested</a></code> | <code>boolean</code> | Indicates if this is a nested stack, in which case `parentStack` will include a reference to its parent. |
2214
2536
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.notificationArns">notificationArns</a></code> | <code>string[]</code> | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
2215
2537
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.partition">partition</a></code> | <code>string</code> | The partition in which this stack is defined. |
2216
2538
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.region">region</a></code> | <code>string</code> | The AWS region into which this stack will be deployed (e.g. `us-west-2`). |
@@ -2221,7 +2543,7 @@ The construct to start the search from.
2221
2543
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.templateFile">templateFile</a></code> | <code>string</code> | The name of the CloudFormation template file emitted to the output directory during synthesis. |
2222
2544
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.templateOptions">templateOptions</a></code> | <code>aws-cdk-lib.ITemplateOptions</code> | Options for CloudFormation template (like version, transform, description). |
2223
2545
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.urlSuffix">urlSuffix</a></code> | <code>string</code> | The Amazon domain suffix for the region in which this stack is defined. |
2224
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackParent">nestedStackParent</a></code> | <code>aws-cdk-lib.Stack</code> | If this is a nested stack, returns it's parent stack. |
2546
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackParent">nestedStackParent</a></code> | <code>aws-cdk-lib.Stack</code> | If this is a nested stack, returns its parent stack. |
2225
2547
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackResource">nestedStackResource</a></code> | <code>aws-cdk-lib.CfnResource</code> | If this is a nested stack, this represents its `AWS::CloudFormation::Stack` resource. |
2226
2548
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.terminationProtection">terminationProtection</a></code> | <code>boolean</code> | Whether termination protection is enabled for this stack. |
2227
2549
 
@@ -2327,6 +2649,18 @@ Return the stacks this stack depends on.
2327
2649
 
2328
2650
  ---
2329
2651
 
2652
+ ##### `env`<sup>Required</sup> <a name="env" id="@btc-embedded/cdk-extensions.ApplicationStack.property.env"></a>
2653
+
2654
+ ```typescript
2655
+ public readonly env: ResourceEnvironment;
2656
+ ```
2657
+
2658
+ - *Type:* aws-cdk-lib.interfaces.ResourceEnvironment
2659
+
2660
+ The environment this Stack deploys to.
2661
+
2662
+ ---
2663
+
2330
2664
  ##### `environment`<sup>Required</sup> <a name="environment" id="@btc-embedded/cdk-extensions.ApplicationStack.property.environment"></a>
2331
2665
 
2332
2666
  ```typescript
@@ -2359,7 +2693,7 @@ public readonly nested: boolean;
2359
2693
 
2360
2694
  - *Type:* boolean
2361
2695
 
2362
- Indicates if this is a nested stack, in which case `parentStack` will include a reference to it's parent.
2696
+ Indicates if this is a nested stack, in which case `parentStack` will include a reference to its parent.
2363
2697
 
2364
2698
  ---
2365
2699
 
@@ -2527,7 +2861,7 @@ public readonly nestedStackParent: Stack;
2527
2861
 
2528
2862
  - *Type:* aws-cdk-lib.Stack
2529
2863
 
2530
- If this is a nested stack, returns it's parent stack.
2864
+ If this is a nested stack, returns its parent stack.
2531
2865
 
2532
2866
  ---
2533
2867
 
@@ -2608,6 +2942,7 @@ new AuroraPostgresCluster(scope: Construct, id: string, props: AuroraPostgresClu
2608
2942
  | **Name** | **Description** |
2609
2943
  | --- | --- |
2610
2944
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.toString">toString</a></code> | Returns a string representation of this construct. |
2945
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.with">with</a></code> | Applies one or more mixins to this construct. |
2611
2946
 
2612
2947
  ---
2613
2948
 
@@ -2619,6 +2954,27 @@ public toString(): string
2619
2954
 
2620
2955
  Returns a string representation of this construct.
2621
2956
 
2957
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.with"></a>
2958
+
2959
+ ```typescript
2960
+ public with(mixins: ...IMixin[]): IConstruct
2961
+ ```
2962
+
2963
+ Applies one or more mixins to this construct.
2964
+
2965
+ Mixins are applied in order. The list of constructs is captured at the
2966
+ start of the call, so constructs added by a mixin will not be visited.
2967
+ Use multiple `with()` calls if subsequent mixins should apply to added
2968
+ constructs.
2969
+
2970
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.with.parameter.mixins"></a>
2971
+
2972
+ - *Type:* ...constructs.IMixin[]
2973
+
2974
+ The mixins to apply.
2975
+
2976
+ ---
2977
+
2622
2978
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2623
2979
 
2624
2980
  | **Name** | **Description** |
@@ -2833,6 +3189,7 @@ dash `--`.
2833
3189
  | **Name** | **Description** |
2834
3190
  | --- | --- |
2835
3191
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.toString">toString</a></code> | Returns a string representation of this construct. |
3192
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.with">with</a></code> | Applies one or more mixins to this construct. |
2836
3193
 
2837
3194
  ---
2838
3195
 
@@ -2844,6 +3201,27 @@ public toString(): string
2844
3201
 
2845
3202
  Returns a string representation of this construct.
2846
3203
 
3204
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.with"></a>
3205
+
3206
+ ```typescript
3207
+ public with(mixins: ...IMixin[]): IConstruct
3208
+ ```
3209
+
3210
+ Applies one or more mixins to this construct.
3211
+
3212
+ Mixins are applied in order. The list of constructs is captured at the
3213
+ start of the call, so constructs added by a mixin will not be visited.
3214
+ Use multiple `with()` calls if subsequent mixins should apply to added
3215
+ constructs.
3216
+
3217
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.with.parameter.mixins"></a>
3218
+
3219
+ - *Type:* ...constructs.IMixin[]
3220
+
3221
+ The mixins to apply.
3222
+
3223
+ ---
3224
+
2847
3225
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2848
3226
 
2849
3227
  | **Name** | **Description** |
@@ -3000,6 +3378,8 @@ new BTCLogGroup(scope: Construct, id: string, options: BTCUniqueLogGroupOptions
3000
3378
  | **Name** | **Description** |
3001
3379
  | --- | --- |
3002
3380
  | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroup.toString">toString</a></code> | Returns a string representation of this construct. |
3381
+ | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroup.with">with</a></code> | Applies one or more mixins to this construct. |
3382
+ | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroup.applyCrossStackReferenceStrength">applyCrossStackReferenceStrength</a></code> | Override the cross-stack reference strength for this resource. |
3003
3383
  | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroup.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
3004
3384
  | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroup.addMetricFilter">addMetricFilter</a></code> | Create a new Metric Filter on this Log Group. |
3005
3385
  | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroup.addStream">addStream</a></code> | Create a new Log Stream for this Log Group. |
@@ -3025,6 +3405,47 @@ public toString(): string
3025
3405
 
3026
3406
  Returns a string representation of this construct.
3027
3407
 
3408
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.BTCLogGroup.with"></a>
3409
+
3410
+ ```typescript
3411
+ public with(mixins: ...IMixin[]): IConstruct
3412
+ ```
3413
+
3414
+ Applies one or more mixins to this construct.
3415
+
3416
+ Mixins are applied in order. The list of constructs is captured at the
3417
+ start of the call, so constructs added by a mixin will not be visited.
3418
+ Use multiple `with()` calls if subsequent mixins should apply to added
3419
+ constructs.
3420
+
3421
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.BTCLogGroup.with.parameter.mixins"></a>
3422
+
3423
+ - *Type:* ...constructs.IMixin[]
3424
+
3425
+ ---
3426
+
3427
+ ##### `applyCrossStackReferenceStrength` <a name="applyCrossStackReferenceStrength" id="@btc-embedded/cdk-extensions.BTCLogGroup.applyCrossStackReferenceStrength"></a>
3428
+
3429
+ ```typescript
3430
+ public applyCrossStackReferenceStrength(strength: ReferenceStrength): void
3431
+ ```
3432
+
3433
+ Override the cross-stack reference strength for this resource.
3434
+
3435
+ When set, any cross-stack reference to this resource will use the specified
3436
+ mechanism instead of the global default determined by the
3437
+ `@aws-cdk/core:defaultCrossStackReferences` context key. This is useful for
3438
+ selectively weakening specific references to avoid the "deadly embrace" problem
3439
+ without changing the app-wide default.
3440
+
3441
+ ###### `strength`<sup>Required</sup> <a name="strength" id="@btc-embedded/cdk-extensions.BTCLogGroup.applyCrossStackReferenceStrength.parameter.strength"></a>
3442
+
3443
+ - *Type:* aws-cdk-lib.ReferenceStrength
3444
+
3445
+ The reference strength to use for this resource.
3446
+
3447
+ ---
3448
+
3028
3449
  ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@btc-embedded/cdk-extensions.BTCLogGroup.applyRemovalPolicy"></a>
3029
3450
 
3030
3451
  ```typescript
@@ -3210,6 +3631,8 @@ public grant(grantee: IGrantable, actions: ...string[]): Grant
3210
3631
 
3211
3632
  Give the indicated permissions on this log group and all streams.
3212
3633
 
3634
+ [disable-awslint:no-grants]
3635
+
3213
3636
  ###### `grantee`<sup>Required</sup> <a name="grantee" id="@btc-embedded/cdk-extensions.BTCLogGroup.grant.parameter.grantee"></a>
3214
3637
 
3215
3638
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -3230,6 +3653,10 @@ public grantRead(grantee: IGrantable): Grant
3230
3653
 
3231
3654
  Give permissions to read and filter events from this log group.
3232
3655
 
3656
+ The use of this method is discouraged. Please use `grants.read()` instead.
3657
+
3658
+ [disable-awslint:no-grants]
3659
+
3233
3660
  ###### `grantee`<sup>Required</sup> <a name="grantee" id="@btc-embedded/cdk-extensions.BTCLogGroup.grantRead.parameter.grantee"></a>
3234
3661
 
3235
3662
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -3244,6 +3671,10 @@ public grantWrite(grantee: IGrantable): Grant
3244
3671
 
3245
3672
  Give permissions to create and write to streams in this log group.
3246
3673
 
3674
+ The use of this method is discouraged. Please use `grants.write()` instead.
3675
+
3676
+ [disable-awslint:no-grants]
3677
+
3247
3678
  ###### `grantee`<sup>Required</sup> <a name="grantee" id="@btc-embedded/cdk-extensions.BTCLogGroup.grantWrite.parameter.grantee"></a>
3248
3679
 
3249
3680
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -3646,6 +4077,7 @@ new CognitoUserPool(scope: Construct, id: string, props: CognitoUserPoolProps)
3646
4077
  | **Name** | **Description** |
3647
4078
  | --- | --- |
3648
4079
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.toString">toString</a></code> | Returns a string representation of this construct. |
4080
+ | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.with">with</a></code> | Applies one or more mixins to this construct. |
3649
4081
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.createCognitoUserPoolsAuthorizer">createCognitoUserPoolsAuthorizer</a></code> | *No description.* |
3650
4082
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.createHttpUserPoolAuthorizer">createHttpUserPoolAuthorizer</a></code> | *No description.* |
3651
4083
 
@@ -3659,6 +4091,27 @@ public toString(): string
3659
4091
 
3660
4092
  Returns a string representation of this construct.
3661
4093
 
4094
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.CognitoUserPool.with"></a>
4095
+
4096
+ ```typescript
4097
+ public with(mixins: ...IMixin[]): IConstruct
4098
+ ```
4099
+
4100
+ Applies one or more mixins to this construct.
4101
+
4102
+ Mixins are applied in order. The list of constructs is captured at the
4103
+ start of the call, so constructs added by a mixin will not be visited.
4104
+ Use multiple `with()` calls if subsequent mixins should apply to added
4105
+ constructs.
4106
+
4107
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.CognitoUserPool.with.parameter.mixins"></a>
4108
+
4109
+ - *Type:* ...constructs.IMixin[]
4110
+
4111
+ The mixins to apply.
4112
+
4113
+ ---
4114
+
3662
4115
  ##### `createCognitoUserPoolsAuthorizer` <a name="createCognitoUserPoolsAuthorizer" id="@btc-embedded/cdk-extensions.CognitoUserPool.createCognitoUserPoolsAuthorizer"></a>
3663
4116
 
3664
4117
  ```typescript
@@ -3932,6 +4385,7 @@ dash `--`.
3932
4385
  | **Name** | **Description** |
3933
4386
  | --- | --- |
3934
4387
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.toString">toString</a></code> | Returns a string representation of this construct. |
4388
+ | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.with">with</a></code> | Applies one or more mixins to this construct. |
3935
4389
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.createCognitoUserPoolsAuthorizer">createCognitoUserPoolsAuthorizer</a></code> | *No description.* |
3936
4390
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.createHttpUserPoolAuthorizer">createHttpUserPoolAuthorizer</a></code> | *No description.* |
3937
4391
 
@@ -3945,6 +4399,27 @@ public toString(): string
3945
4399
 
3946
4400
  Returns a string representation of this construct.
3947
4401
 
4402
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.with"></a>
4403
+
4404
+ ```typescript
4405
+ public with(mixins: ...IMixin[]): IConstruct
4406
+ ```
4407
+
4408
+ Applies one or more mixins to this construct.
4409
+
4410
+ Mixins are applied in order. The list of constructs is captured at the
4411
+ start of the call, so constructs added by a mixin will not be visited.
4412
+ Use multiple `with()` calls if subsequent mixins should apply to added
4413
+ constructs.
4414
+
4415
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.with.parameter.mixins"></a>
4416
+
4417
+ - *Type:* ...constructs.IMixin[]
4418
+
4419
+ The mixins to apply.
4420
+
4421
+ ---
4422
+
3948
4423
  ##### `createCognitoUserPoolsAuthorizer` <a name="createCognitoUserPoolsAuthorizer" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.createCognitoUserPoolsAuthorizer"></a>
3949
4424
 
3950
4425
  ```typescript
@@ -4129,6 +4604,7 @@ new DefaultUserPoolClients(scope: Construct, id: string, props: DefaultUserPoolC
4129
4604
  | **Name** | **Description** |
4130
4605
  | --- | --- |
4131
4606
  | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.toString">toString</a></code> | Returns a string representation of this construct. |
4607
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClients.with">with</a></code> | Applies one or more mixins to this construct. |
4132
4608
 
4133
4609
  ---
4134
4610
 
@@ -4140,6 +4616,27 @@ public toString(): string
4140
4616
 
4141
4617
  Returns a string representation of this construct.
4142
4618
 
4619
+ ##### ~~`with`~~ <a name="with" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.with"></a>
4620
+
4621
+ ```typescript
4622
+ public with(mixins: ...IMixin[]): IConstruct
4623
+ ```
4624
+
4625
+ Applies one or more mixins to this construct.
4626
+
4627
+ Mixins are applied in order. The list of constructs is captured at the
4628
+ start of the call, so constructs added by a mixin will not be visited.
4629
+ Use multiple `with()` calls if subsequent mixins should apply to added
4630
+ constructs.
4631
+
4632
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.with.parameter.mixins"></a>
4633
+
4634
+ - *Type:* ...constructs.IMixin[]
4635
+
4636
+ The mixins to apply.
4637
+
4638
+ ---
4639
+
4143
4640
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
4144
4641
 
4145
4642
  | **Name** | **Description** |
@@ -4280,6 +4777,7 @@ new DocumentDB(scope: Construct, id: string, props: DocumentDBProps)
4280
4777
  | **Name** | **Description** |
4281
4778
  | --- | --- |
4282
4779
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.toString">toString</a></code> | Returns a string representation of this construct. |
4780
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.with">with</a></code> | Applies one or more mixins to this construct. |
4283
4781
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.allowAccess">allowAccess</a></code> | *No description.* |
4284
4782
 
4285
4783
  ---
@@ -4292,6 +4790,27 @@ public toString(): string
4292
4790
 
4293
4791
  Returns a string representation of this construct.
4294
4792
 
4793
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.DocumentDB.with"></a>
4794
+
4795
+ ```typescript
4796
+ public with(mixins: ...IMixin[]): IConstruct
4797
+ ```
4798
+
4799
+ Applies one or more mixins to this construct.
4800
+
4801
+ Mixins are applied in order. The list of constructs is captured at the
4802
+ start of the call, so constructs added by a mixin will not be visited.
4803
+ Use multiple `with()` calls if subsequent mixins should apply to added
4804
+ constructs.
4805
+
4806
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.DocumentDB.with.parameter.mixins"></a>
4807
+
4808
+ - *Type:* ...constructs.IMixin[]
4809
+
4810
+ The mixins to apply.
4811
+
4812
+ ---
4813
+
4295
4814
  ##### `allowAccess` <a name="allowAccess" id="@btc-embedded/cdk-extensions.DocumentDB.allowAccess"></a>
4296
4815
 
4297
4816
  ```typescript
@@ -4470,6 +4989,7 @@ dash `--`.
4470
4989
  | **Name** | **Description** |
4471
4990
  | --- | --- |
4472
4991
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBBase.toString">toString</a></code> | Returns a string representation of this construct. |
4992
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBBase.with">with</a></code> | Applies one or more mixins to this construct. |
4473
4993
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBBase.allowAccess">allowAccess</a></code> | *No description.* |
4474
4994
 
4475
4995
  ---
@@ -4482,6 +5002,27 @@ public toString(): string
4482
5002
 
4483
5003
  Returns a string representation of this construct.
4484
5004
 
5005
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.DocumentDBBase.with"></a>
5006
+
5007
+ ```typescript
5008
+ public with(mixins: ...IMixin[]): IConstruct
5009
+ ```
5010
+
5011
+ Applies one or more mixins to this construct.
5012
+
5013
+ Mixins are applied in order. The list of constructs is captured at the
5014
+ start of the call, so constructs added by a mixin will not be visited.
5015
+ Use multiple `with()` calls if subsequent mixins should apply to added
5016
+ constructs.
5017
+
5018
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.DocumentDBBase.with.parameter.mixins"></a>
5019
+
5020
+ - *Type:* ...constructs.IMixin[]
5021
+
5022
+ The mixins to apply.
5023
+
5024
+ ---
5025
+
4485
5026
  ##### `allowAccess` <a name="allowAccess" id="@btc-embedded/cdk-extensions.DocumentDBBase.allowAccess"></a>
4486
5027
 
4487
5028
  ```typescript
@@ -4630,6 +5171,7 @@ new EcsCluster(scope: Construct, id: string, props: EcsClusterProps)
4630
5171
  | **Name** | **Description** |
4631
5172
  | --- | --- |
4632
5173
  | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.toString">toString</a></code> | Returns a string representation of this construct. |
5174
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.with">with</a></code> | Applies one or more mixins to this construct. |
4633
5175
 
4634
5176
  ---
4635
5177
 
@@ -4641,6 +5183,27 @@ public toString(): string
4641
5183
 
4642
5184
  Returns a string representation of this construct.
4643
5185
 
5186
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.EcsCluster.with"></a>
5187
+
5188
+ ```typescript
5189
+ public with(mixins: ...IMixin[]): IConstruct
5190
+ ```
5191
+
5192
+ Applies one or more mixins to this construct.
5193
+
5194
+ Mixins are applied in order. The list of constructs is captured at the
5195
+ start of the call, so constructs added by a mixin will not be visited.
5196
+ Use multiple `with()` calls if subsequent mixins should apply to added
5197
+ constructs.
5198
+
5199
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.EcsCluster.with.parameter.mixins"></a>
5200
+
5201
+ - *Type:* ...constructs.IMixin[]
5202
+
5203
+ The mixins to apply.
5204
+
5205
+ ---
5206
+
4644
5207
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
4645
5208
 
4646
5209
  | **Name** | **Description** |
@@ -4785,6 +5348,7 @@ new EfsFileSystem(scope: Construct, id: string, props: EfsFileSystemProps)
4785
5348
  | **Name** | **Description** |
4786
5349
  | --- | --- |
4787
5350
  | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystem.toString">toString</a></code> | Returns a string representation of this construct. |
5351
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystem.with">with</a></code> | Applies one or more mixins to this construct. |
4788
5352
  | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystem.allowConnection">allowConnection</a></code> | *No description.* |
4789
5353
  | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystem.fileSystem">fileSystem</a></code> | *No description.* |
4790
5354
  | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystem.fileSystemId">fileSystemId</a></code> | *No description.* |
@@ -4800,6 +5364,27 @@ public toString(): string
4800
5364
 
4801
5365
  Returns a string representation of this construct.
4802
5366
 
5367
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.EfsFileSystem.with"></a>
5368
+
5369
+ ```typescript
5370
+ public with(mixins: ...IMixin[]): IConstruct
5371
+ ```
5372
+
5373
+ Applies one or more mixins to this construct.
5374
+
5375
+ Mixins are applied in order. The list of constructs is captured at the
5376
+ start of the call, so constructs added by a mixin will not be visited.
5377
+ Use multiple `with()` calls if subsequent mixins should apply to added
5378
+ constructs.
5379
+
5380
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.EfsFileSystem.with.parameter.mixins"></a>
5381
+
5382
+ - *Type:* ...constructs.IMixin[]
5383
+
5384
+ The mixins to apply.
5385
+
5386
+ ---
5387
+
4803
5388
  ##### `allowConnection` <a name="allowConnection" id="@btc-embedded/cdk-extensions.EfsFileSystem.allowConnection"></a>
4804
5389
 
4805
5390
  ```typescript
@@ -4981,6 +5566,7 @@ new EventPipe(scope: Construct, id: string, props: EventPipeProps)
4981
5566
  | **Name** | **Description** |
4982
5567
  | --- | --- |
4983
5568
  | <code><a href="#@btc-embedded/cdk-extensions.EventPipe.toString">toString</a></code> | Returns a string representation of this construct. |
5569
+ | <code><a href="#@btc-embedded/cdk-extensions.EventPipe.with">with</a></code> | Applies one or more mixins to this construct. |
4984
5570
 
4985
5571
  ---
4986
5572
 
@@ -4992,6 +5578,27 @@ public toString(): string
4992
5578
 
4993
5579
  Returns a string representation of this construct.
4994
5580
 
5581
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.EventPipe.with"></a>
5582
+
5583
+ ```typescript
5584
+ public with(mixins: ...IMixin[]): IConstruct
5585
+ ```
5586
+
5587
+ Applies one or more mixins to this construct.
5588
+
5589
+ Mixins are applied in order. The list of constructs is captured at the
5590
+ start of the call, so constructs added by a mixin will not be visited.
5591
+ Use multiple `with()` calls if subsequent mixins should apply to added
5592
+ constructs.
5593
+
5594
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.EventPipe.with.parameter.mixins"></a>
5595
+
5596
+ - *Type:* ...constructs.IMixin[]
5597
+
5598
+ The mixins to apply.
5599
+
5600
+ ---
5601
+
4995
5602
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
4996
5603
 
4997
5604
  | **Name** | **Description** |
@@ -5132,6 +5739,7 @@ new ExportedService(scope: Construct, id: string, props: ExportedServiceProps)
5132
5739
  | **Name** | **Description** |
5133
5740
  | --- | --- |
5134
5741
  | <code><a href="#@btc-embedded/cdk-extensions.ExportedService.toString">toString</a></code> | Returns a string representation of this construct. |
5742
+ | <code><a href="#@btc-embedded/cdk-extensions.ExportedService.with">with</a></code> | Applies one or more mixins to this construct. |
5135
5743
  | <code><a href="#@btc-embedded/cdk-extensions.ExportedService.allowFrom">allowFrom</a></code> | Allow an ECS service to connect to this exported service. |
5136
5744
  | <code><a href="#@btc-embedded/cdk-extensions.ExportedService.apiUrl">apiUrl</a></code> | Get the internal API URL of the service. |
5137
5745
 
@@ -5145,6 +5753,27 @@ public toString(): string
5145
5753
 
5146
5754
  Returns a string representation of this construct.
5147
5755
 
5756
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ExportedService.with"></a>
5757
+
5758
+ ```typescript
5759
+ public with(mixins: ...IMixin[]): IConstruct
5760
+ ```
5761
+
5762
+ Applies one or more mixins to this construct.
5763
+
5764
+ Mixins are applied in order. The list of constructs is captured at the
5765
+ start of the call, so constructs added by a mixin will not be visited.
5766
+ Use multiple `with()` calls if subsequent mixins should apply to added
5767
+ constructs.
5768
+
5769
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ExportedService.with.parameter.mixins"></a>
5770
+
5771
+ - *Type:* ...constructs.IMixin[]
5772
+
5773
+ The mixins to apply.
5774
+
5775
+ ---
5776
+
5148
5777
  ##### `allowFrom` <a name="allowFrom" id="@btc-embedded/cdk-extensions.ExportedService.allowFrom"></a>
5149
5778
 
5150
5779
  ```typescript
@@ -5366,6 +5995,7 @@ new HostedZone(scope: Construct, id: string, props: HostedZoneProps)
5366
5995
  | **Name** | **Description** |
5367
5996
  | --- | --- |
5368
5997
  | <code><a href="#@btc-embedded/cdk-extensions.HostedZone.toString">toString</a></code> | Returns a string representation of this construct. |
5998
+ | <code><a href="#@btc-embedded/cdk-extensions.HostedZone.with">with</a></code> | Applies one or more mixins to this construct. |
5369
5999
 
5370
6000
  ---
5371
6001
 
@@ -5377,6 +6007,27 @@ public toString(): string
5377
6007
 
5378
6008
  Returns a string representation of this construct.
5379
6009
 
6010
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.HostedZone.with"></a>
6011
+
6012
+ ```typescript
6013
+ public with(mixins: ...IMixin[]): IConstruct
6014
+ ```
6015
+
6016
+ Applies one or more mixins to this construct.
6017
+
6018
+ Mixins are applied in order. The list of constructs is captured at the
6019
+ start of the call, so constructs added by a mixin will not be visited.
6020
+ Use multiple `with()` calls if subsequent mixins should apply to added
6021
+ constructs.
6022
+
6023
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.HostedZone.with.parameter.mixins"></a>
6024
+
6025
+ - *Type:* ...constructs.IMixin[]
6026
+
6027
+ The mixins to apply.
6028
+
6029
+ ---
6030
+
5380
6031
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
5381
6032
 
5382
6033
  | **Name** | **Description** |
@@ -5531,6 +6182,7 @@ new PrivateDnsNamespace(scope: Construct, id: string, props: PrivateDnsNamespace
5531
6182
  | **Name** | **Description** |
5532
6183
  | --- | --- |
5533
6184
  | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.toString">toString</a></code> | Returns a string representation of this construct. |
6185
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.with">with</a></code> | Applies one or more mixins to this construct. |
5534
6186
 
5535
6187
  ---
5536
6188
 
@@ -5542,6 +6194,27 @@ public toString(): string
5542
6194
 
5543
6195
  Returns a string representation of this construct.
5544
6196
 
6197
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.with"></a>
6198
+
6199
+ ```typescript
6200
+ public with(mixins: ...IMixin[]): IConstruct
6201
+ ```
6202
+
6203
+ Applies one or more mixins to this construct.
6204
+
6205
+ Mixins are applied in order. The list of constructs is captured at the
6206
+ start of the call, so constructs added by a mixin will not be visited.
6207
+ Use multiple `with()` calls if subsequent mixins should apply to added
6208
+ constructs.
6209
+
6210
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.with.parameter.mixins"></a>
6211
+
6212
+ - *Type:* ...constructs.IMixin[]
6213
+
6214
+ The mixins to apply.
6215
+
6216
+ ---
6217
+
5545
6218
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
5546
6219
 
5547
6220
  | **Name** | **Description** |
@@ -5698,6 +6371,7 @@ new ResourceServer(scope: Construct, id: string, props: ResourceServerProps)
5698
6371
  | **Name** | **Description** |
5699
6372
  | --- | --- |
5700
6373
  | <code><a href="#@btc-embedded/cdk-extensions.ResourceServer.toString">toString</a></code> | Returns a string representation of this construct. |
6374
+ | <code><a href="#@btc-embedded/cdk-extensions.ResourceServer.with">with</a></code> | Applies one or more mixins to this construct. |
5701
6375
  | <code><a href="#@btc-embedded/cdk-extensions.ResourceServer.createOAuthScopes">createOAuthScopes</a></code> | *No description.* |
5702
6376
 
5703
6377
  ---
@@ -5710,6 +6384,27 @@ public toString(): string
5710
6384
 
5711
6385
  Returns a string representation of this construct.
5712
6386
 
6387
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.ResourceServer.with"></a>
6388
+
6389
+ ```typescript
6390
+ public with(mixins: ...IMixin[]): IConstruct
6391
+ ```
6392
+
6393
+ Applies one or more mixins to this construct.
6394
+
6395
+ Mixins are applied in order. The list of constructs is captured at the
6396
+ start of the call, so constructs added by a mixin will not be visited.
6397
+ Use multiple `with()` calls if subsequent mixins should apply to added
6398
+ constructs.
6399
+
6400
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.ResourceServer.with.parameter.mixins"></a>
6401
+
6402
+ - *Type:* ...constructs.IMixin[]
6403
+
6404
+ The mixins to apply.
6405
+
6406
+ ---
6407
+
5713
6408
  ##### `createOAuthScopes` <a name="createOAuthScopes" id="@btc-embedded/cdk-extensions.ResourceServer.createOAuthScopes"></a>
5714
6409
 
5715
6410
  ```typescript
@@ -5834,6 +6529,8 @@ new S3Bucket(scope: Construct, id: string, props?: BucketProps)
5834
6529
  | **Name** | **Description** |
5835
6530
  | --- | --- |
5836
6531
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.toString">toString</a></code> | Returns a string representation of this construct. |
6532
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.with">with</a></code> | Applies one or more mixins to this construct. |
6533
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.applyCrossStackReferenceStrength">applyCrossStackReferenceStrength</a></code> | Override the cross-stack reference strength for this resource. |
5837
6534
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
5838
6535
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.addEventNotification">addEventNotification</a></code> | Adds a bucket notification event destination. |
5839
6536
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.addObjectCreatedNotification">addObjectCreatedNotification</a></code> | Subscribes a destination to receive notifications when an object is created in the bucket. |
@@ -5846,11 +6543,11 @@ new S3Bucket(scope: Construct, id: string, props?: BucketProps)
5846
6543
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantOnKey">grantOnKey</a></code> | Gives permissions to a grantable entity to perform actions on the encryption key. |
5847
6544
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantPublicAccess">grantPublicAccess</a></code> | Allows unrestricted access to objects from this bucket. |
5848
6545
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantPut">grantPut</a></code> | Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal. |
5849
- | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantPutAcl">grantPutAcl</a></code> | Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket. |
5850
- | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantRead">grantRead</a></code> | Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User). |
5851
- | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantReadWrite">grantReadWrite</a></code> | Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User). |
6546
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantPutAcl">grantPutAcl</a></code> | The use of this method is discouraged. Please use `grants.putAcl()` instead. |
6547
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantRead">grantRead</a></code> | Grant read permissions for this bucket and its contents to an IAM principal (Role/Group/User). |
6548
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantReadWrite">grantReadWrite</a></code> | The use of this method is discouraged. Please use `grants.readWrite()` instead. |
5852
6549
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantReplicationPermission">grantReplicationPermission</a></code> | Grant replication permission to a principal. This method allows the principal to perform replication operations on this bucket. |
5853
- | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantWrite">grantWrite</a></code> | Grant write permissions to this bucket to an IAM principal. |
6550
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.grantWrite">grantWrite</a></code> | The use of this method is discouraged. Please use `grants.write()` instead. |
5854
6551
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.onCloudTrailEvent">onCloudTrailEvent</a></code> | Define a CloudWatch event that triggers when something happens to this repository. |
5855
6552
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.onCloudTrailPutObject">onCloudTrailPutObject</a></code> | Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call. |
5856
6553
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.onCloudTrailWriteObject">onCloudTrailWriteObject</a></code> | Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to. |
@@ -5873,6 +6570,47 @@ public toString(): string
5873
6570
 
5874
6571
  Returns a string representation of this construct.
5875
6572
 
6573
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.S3Bucket.with"></a>
6574
+
6575
+ ```typescript
6576
+ public with(mixins: ...IMixin[]): IConstruct
6577
+ ```
6578
+
6579
+ Applies one or more mixins to this construct.
6580
+
6581
+ Mixins are applied in order. The list of constructs is captured at the
6582
+ start of the call, so constructs added by a mixin will not be visited.
6583
+ Use multiple `with()` calls if subsequent mixins should apply to added
6584
+ constructs.
6585
+
6586
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.S3Bucket.with.parameter.mixins"></a>
6587
+
6588
+ - *Type:* ...constructs.IMixin[]
6589
+
6590
+ ---
6591
+
6592
+ ##### `applyCrossStackReferenceStrength` <a name="applyCrossStackReferenceStrength" id="@btc-embedded/cdk-extensions.S3Bucket.applyCrossStackReferenceStrength"></a>
6593
+
6594
+ ```typescript
6595
+ public applyCrossStackReferenceStrength(strength: ReferenceStrength): void
6596
+ ```
6597
+
6598
+ Override the cross-stack reference strength for this resource.
6599
+
6600
+ When set, any cross-stack reference to this resource will use the specified
6601
+ mechanism instead of the global default determined by the
6602
+ `@aws-cdk/core:defaultCrossStackReferences` context key. This is useful for
6603
+ selectively weakening specific references to avoid the "deadly embrace" problem
6604
+ without changing the app-wide default.
6605
+
6606
+ ###### `strength`<sup>Required</sup> <a name="strength" id="@btc-embedded/cdk-extensions.S3Bucket.applyCrossStackReferenceStrength.parameter.strength"></a>
6607
+
6608
+ - *Type:* aws-cdk-lib.ReferenceStrength
6609
+
6610
+ The reference strength to use for this resource.
6611
+
6612
+ ---
6613
+
5876
6614
  ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@btc-embedded/cdk-extensions.S3Bucket.applyRemovalPolicy"></a>
5877
6615
 
5878
6616
  ```typescript
@@ -5910,7 +6648,8 @@ Adds a bucket notification event destination.
5910
6648
  ```typescript
5911
6649
  declare const myLambda: lambda.Function;
5912
6650
  const bucket = new s3.Bucket(this, 'MyBucket');
5913
- bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'});
6651
+ const filter: s3.NotificationKeyFilter = { prefix: 'home/myusername/*' };
6652
+ bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), filter);
5914
6653
  ```
5915
6654
 
5916
6655
 
@@ -6095,6 +6834,10 @@ public grantDelete(identity: IGrantable, objectsKeyPattern?: any): Grant
6095
6834
 
6096
6835
  Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket.
6097
6836
 
6837
+ The use of this method is discouraged. Please use `grants.delete()` instead.
6838
+
6839
+ [disable-awslint:no-grants]
6840
+
6098
6841
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantDelete.parameter.identity"></a>
6099
6842
 
6100
6843
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -6160,6 +6903,11 @@ Note that if this `IBucket` refers to an existing bucket, possibly not
6160
6903
  managed by CloudFormation, this method will have no effect, since it's
6161
6904
  impossible to modify the policy of an existing bucket.
6162
6905
 
6906
+
6907
+ The use of this method is discouraged. Please use `grants.publicAccess()` instead.
6908
+
6909
+ [disable-awslint:no-grants]
6910
+
6163
6911
  ###### `allowedActions`<sup>Required</sup> <a name="allowedActions" id="@btc-embedded/cdk-extensions.S3Bucket.grantPublicAccess.parameter.allowedActions"></a>
6164
6912
 
6165
6913
  - *Type:* ...string[]
@@ -6189,6 +6937,11 @@ Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM princip
6189
6937
  If encryption is used, permission to use the key to encrypt the contents
6190
6938
  of written files will also be granted to the same principal.
6191
6939
 
6940
+
6941
+ The use of this method is discouraged. Please use `grants.put()` instead.
6942
+
6943
+ [disable-awslint:no-grants]
6944
+
6192
6945
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantPut.parameter.identity"></a>
6193
6946
 
6194
6947
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -6213,11 +6966,9 @@ Parameter type is `any` but `string` should be passed in.
6213
6966
  public grantPutAcl(identity: IGrantable, objectsKeyPattern?: string): Grant
6214
6967
  ```
6215
6968
 
6216
- Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.
6969
+ The use of this method is discouraged. Please use `grants.putAcl()` instead.
6217
6970
 
6218
- If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set,
6219
- calling `grantWrite` or `grantReadWrite` no longer grants permissions to modify the ACLs of the objects;
6220
- in this case, if you need to modify object ACLs, call this method explicitly.
6971
+ [disable-awslint:no-grants]
6221
6972
 
6222
6973
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantPutAcl.parameter.identity"></a>
6223
6974
 
@@ -6237,11 +6988,16 @@ in this case, if you need to modify object ACLs, call this method explicitly.
6237
6988
  public grantRead(identity: IGrantable, objectsKeyPattern?: any): Grant
6238
6989
  ```
6239
6990
 
6240
- Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User).
6991
+ Grant read permissions for this bucket and its contents to an IAM principal (Role/Group/User).
6241
6992
 
6242
6993
  If encryption is used, permission to use the key to decrypt the contents
6243
6994
  of the bucket will also be granted to the same principal.
6244
6995
 
6996
+
6997
+ The use of this method is discouraged. Please use `grants.read()` instead.
6998
+
6999
+ [disable-awslint:no-grants]
7000
+
6245
7001
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantRead.parameter.identity"></a>
6246
7002
 
6247
7003
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -6266,18 +7022,9 @@ Parameter type is `any` but `string` should be passed in.
6266
7022
  public grantReadWrite(identity: IGrantable, objectsKeyPattern?: any): Grant
6267
7023
  ```
6268
7024
 
6269
- Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User).
7025
+ The use of this method is discouraged. Please use `grants.readWrite()` instead.
6270
7026
 
6271
- If an encryption key is used, permission to use the key for
6272
- encrypt/decrypt will also be granted.
6273
-
6274
- Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
6275
- which could be used to grant read/write object access to IAM principals in other accounts.
6276
- If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
6277
- and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
6278
- in the `context` key of your cdk.json file.
6279
- If you've already updated, but still need the principal to have permissions to modify the ACLs,
6280
- use the `grantPutAcl` method.
7027
+ [disable-awslint:no-grants]
6281
7028
 
6282
7029
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantReadWrite.parameter.identity"></a>
6283
7030
 
@@ -6302,6 +7049,11 @@ Grant replication permission to a principal. This method allows the principal to
6302
7049
  Note that when calling this function for source or destination buckets that support KMS encryption,
6303
7050
  you need to specify the KMS key for encryption and the KMS key for decryption, respectively.
6304
7051
 
7052
+
7053
+ The use of this method is discouraged. Please use `grants.replicationPermission()` instead.
7054
+
7055
+ [disable-awslint:no-grants]
7056
+
6305
7057
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantReplicationPermission.parameter.identity"></a>
6306
7058
 
6307
7059
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
@@ -6324,18 +7076,9 @@ The properties of the replication source and destination buckets.
6324
7076
  public grantWrite(identity: IGrantable, objectsKeyPattern?: any, allowedActionPatterns?: string[]): Grant
6325
7077
  ```
6326
7078
 
6327
- Grant write permissions to this bucket to an IAM principal.
7079
+ The use of this method is discouraged. Please use `grants.write()` instead.
6328
7080
 
6329
- If encryption is used, permission to use the key to encrypt the contents
6330
- of written files will also be granted to the same principal.
6331
-
6332
- Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`,
6333
- which could be used to grant read/write object access to IAM principals in other accounts.
6334
- If you want to get rid of that behavior, update your CDK version to 1.85.0 or later,
6335
- and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true`
6336
- in the `context` key of your cdk.json file.
6337
- If you've already updated, but still need the principal to have permissions to modify the ACLs,
6338
- use the `grantPutAcl` method.
7081
+ [disable-awslint:no-grants]
6339
7082
 
6340
7083
  ###### `identity`<sup>Required</sup> <a name="identity" id="@btc-embedded/cdk-extensions.S3Bucket.grantWrite.parameter.identity"></a>
6341
7084
 
@@ -6846,9 +7589,9 @@ allow legacy bucket naming style, default is false.
6846
7589
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.bucketRegionalDomainName">bucketRegionalDomainName</a></code> | <code>string</code> | The regional domain name of the specified bucket. |
6847
7590
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.bucketWebsiteDomainName">bucketWebsiteDomainName</a></code> | <code>string</code> | The Domain name of the static website. |
6848
7591
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.bucketWebsiteUrl">bucketWebsiteUrl</a></code> | <code>string</code> | The URL of the static website. |
7592
+ | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.grants">grants</a></code> | <code>aws-cdk-lib.aws_s3.BucketGrants</code> | Collection of grant methods for a Bucket. |
6849
7593
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.encryptionKey">encryptionKey</a></code> | <code>aws-cdk-lib.aws_kms.IKey</code> | Optional KMS encryption key associated with this bucket. |
6850
7594
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.isWebsite">isWebsite</a></code> | <code>boolean</code> | If this bucket has been configured for static website hosting. |
6851
- | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.grants">grants</a></code> | <code>aws-cdk-lib.aws_s3.BucketGrants</code> | Collection of grant methods for a Bucket. |
6852
7595
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.disallowPublicAccess">disallowPublicAccess</a></code> | <code>boolean</code> | Whether to disallow public access. |
6853
7596
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.policy">policy</a></code> | <code>aws-cdk-lib.aws_s3.BucketPolicy</code> | The resource policy associated with this bucket. |
6854
7597
  | <code><a href="#@btc-embedded/cdk-extensions.S3Bucket.property.replicationRoleArn">replicationRoleArn</a></code> | <code>string</code> | Role used to set up permissions on this bucket for replication. |
@@ -6995,39 +7738,39 @@ The URL of the static website.
6995
7738
 
6996
7739
  ---
6997
7740
 
6998
- ##### `encryptionKey`<sup>Optional</sup> <a name="encryptionKey" id="@btc-embedded/cdk-extensions.S3Bucket.property.encryptionKey"></a>
7741
+ ##### `grants`<sup>Required</sup> <a name="grants" id="@btc-embedded/cdk-extensions.S3Bucket.property.grants"></a>
6999
7742
 
7000
7743
  ```typescript
7001
- public readonly encryptionKey: IKey;
7744
+ public readonly grants: BucketGrants;
7002
7745
  ```
7003
7746
 
7004
- - *Type:* aws-cdk-lib.aws_kms.IKey
7747
+ - *Type:* aws-cdk-lib.aws_s3.BucketGrants
7005
7748
 
7006
- Optional KMS encryption key associated with this bucket.
7749
+ Collection of grant methods for a Bucket.
7007
7750
 
7008
7751
  ---
7009
7752
 
7010
- ##### `isWebsite`<sup>Optional</sup> <a name="isWebsite" id="@btc-embedded/cdk-extensions.S3Bucket.property.isWebsite"></a>
7753
+ ##### `encryptionKey`<sup>Optional</sup> <a name="encryptionKey" id="@btc-embedded/cdk-extensions.S3Bucket.property.encryptionKey"></a>
7011
7754
 
7012
7755
  ```typescript
7013
- public readonly isWebsite: boolean;
7756
+ public readonly encryptionKey: IKey;
7014
7757
  ```
7015
7758
 
7016
- - *Type:* boolean
7759
+ - *Type:* aws-cdk-lib.aws_kms.IKey
7017
7760
 
7018
- If this bucket has been configured for static website hosting.
7761
+ Optional KMS encryption key associated with this bucket.
7019
7762
 
7020
7763
  ---
7021
7764
 
7022
- ##### `grants`<sup>Required</sup> <a name="grants" id="@btc-embedded/cdk-extensions.S3Bucket.property.grants"></a>
7765
+ ##### `isWebsite`<sup>Optional</sup> <a name="isWebsite" id="@btc-embedded/cdk-extensions.S3Bucket.property.isWebsite"></a>
7023
7766
 
7024
7767
  ```typescript
7025
- public readonly grants: BucketGrants;
7768
+ public readonly isWebsite: boolean;
7026
7769
  ```
7027
7770
 
7028
- - *Type:* aws-cdk-lib.aws_s3.BucketGrants
7771
+ - *Type:* boolean
7029
7772
 
7030
- Collection of grant methods for a Bucket.
7773
+ If this bucket has been configured for static website hosting.
7031
7774
 
7032
7775
  ---
7033
7776
 
@@ -7131,6 +7874,7 @@ new SecureRestApi(scope: Construct, id: string, props: SecureRestApiProps)
7131
7874
  | **Name** | **Description** |
7132
7875
  | --- | --- |
7133
7876
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApi.toString">toString</a></code> | Returns a string representation of this construct. |
7877
+ | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApi.with">with</a></code> | Applies one or more mixins to this construct. |
7134
7878
 
7135
7879
  ---
7136
7880
 
@@ -7142,6 +7886,27 @@ public toString(): string
7142
7886
 
7143
7887
  Returns a string representation of this construct.
7144
7888
 
7889
+ ##### ~~`with`~~ <a name="with" id="@btc-embedded/cdk-extensions.SecureRestApi.with"></a>
7890
+
7891
+ ```typescript
7892
+ public with(mixins: ...IMixin[]): IConstruct
7893
+ ```
7894
+
7895
+ Applies one or more mixins to this construct.
7896
+
7897
+ Mixins are applied in order. The list of constructs is captured at the
7898
+ start of the call, so constructs added by a mixin will not be visited.
7899
+ Use multiple `with()` calls if subsequent mixins should apply to added
7900
+ constructs.
7901
+
7902
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.SecureRestApi.with.parameter.mixins"></a>
7903
+
7904
+ - *Type:* ...constructs.IMixin[]
7905
+
7906
+ The mixins to apply.
7907
+
7908
+ ---
7909
+
7145
7910
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
7146
7911
 
7147
7912
  | **Name** | **Description** |
@@ -7285,6 +8050,7 @@ new SecureRestApiV2(scope: Construct, id: string, props: SecureRestApiPropsV2)
7285
8050
  | **Name** | **Description** |
7286
8051
  | --- | --- |
7287
8052
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiV2.toString">toString</a></code> | Returns a string representation of this construct. |
8053
+ | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiV2.with">with</a></code> | Applies one or more mixins to this construct. |
7288
8054
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiV2.addMethod">addMethod</a></code> | *No description.* |
7289
8055
 
7290
8056
  ---
@@ -7297,6 +8063,27 @@ public toString(): string
7297
8063
 
7298
8064
  Returns a string representation of this construct.
7299
8065
 
8066
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.SecureRestApiV2.with"></a>
8067
+
8068
+ ```typescript
8069
+ public with(mixins: ...IMixin[]): IConstruct
8070
+ ```
8071
+
8072
+ Applies one or more mixins to this construct.
8073
+
8074
+ Mixins are applied in order. The list of constructs is captured at the
8075
+ start of the call, so constructs added by a mixin will not be visited.
8076
+ Use multiple `with()` calls if subsequent mixins should apply to added
8077
+ constructs.
8078
+
8079
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.SecureRestApiV2.with.parameter.mixins"></a>
8080
+
8081
+ - *Type:* ...constructs.IMixin[]
8082
+
8083
+ The mixins to apply.
8084
+
8085
+ ---
8086
+
7300
8087
  ##### `addMethod` <a name="addMethod" id="@btc-embedded/cdk-extensions.SecureRestApiV2.addMethod"></a>
7301
8088
 
7302
8089
  ```typescript
@@ -7434,6 +8221,7 @@ dedicated VPC, with max 2 AZS and NO Key for Exec
7434
8221
  | **Name** | **Description** |
7435
8222
  | --- | --- |
7436
8223
  | <code><a href="#@btc-embedded/cdk-extensions.Vpc.toString">toString</a></code> | Returns a string representation of this construct. |
8224
+ | <code><a href="#@btc-embedded/cdk-extensions.Vpc.with">with</a></code> | Applies one or more mixins to this construct. |
7437
8225
 
7438
8226
  ---
7439
8227
 
@@ -7445,6 +8233,27 @@ public toString(): string
7445
8233
 
7446
8234
  Returns a string representation of this construct.
7447
8235
 
8236
+ ##### ~~`with`~~ <a name="with" id="@btc-embedded/cdk-extensions.Vpc.with"></a>
8237
+
8238
+ ```typescript
8239
+ public with(mixins: ...IMixin[]): IConstruct
8240
+ ```
8241
+
8242
+ Applies one or more mixins to this construct.
8243
+
8244
+ Mixins are applied in order. The list of constructs is captured at the
8245
+ start of the call, so constructs added by a mixin will not be visited.
8246
+ Use multiple `with()` calls if subsequent mixins should apply to added
8247
+ constructs.
8248
+
8249
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.Vpc.with.parameter.mixins"></a>
8250
+
8251
+ - *Type:* ...constructs.IMixin[]
8252
+
8253
+ The mixins to apply.
8254
+
8255
+ ---
8256
+
7448
8257
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
7449
8258
 
7450
8259
  | **Name** | **Description** |
@@ -7637,6 +8446,7 @@ new VpcV2(scope: Construct, id: string, props: VpcV2Props)
7637
8446
  | **Name** | **Description** |
7638
8447
  | --- | --- |
7639
8448
  | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.toString">toString</a></code> | Returns a string representation of this construct. |
8449
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.with">with</a></code> | Applies one or more mixins to this construct. |
7640
8450
 
7641
8451
  ---
7642
8452
 
@@ -7648,6 +8458,27 @@ public toString(): string
7648
8458
 
7649
8459
  Returns a string representation of this construct.
7650
8460
 
8461
+ ##### `with` <a name="with" id="@btc-embedded/cdk-extensions.VpcV2.with"></a>
8462
+
8463
+ ```typescript
8464
+ public with(mixins: ...IMixin[]): IConstruct
8465
+ ```
8466
+
8467
+ Applies one or more mixins to this construct.
8468
+
8469
+ Mixins are applied in order. The list of constructs is captured at the
8470
+ start of the call, so constructs added by a mixin will not be visited.
8471
+ Use multiple `with()` calls if subsequent mixins should apply to added
8472
+ constructs.
8473
+
8474
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@btc-embedded/cdk-extensions.VpcV2.with.parameter.mixins"></a>
8475
+
8476
+ - *Type:* ...constructs.IMixin[]
8477
+
8478
+ The mixins to apply.
8479
+
8480
+ ---
8481
+
7651
8482
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
7652
8483
 
7653
8484
  | **Name** | **Description** |