@btc-embedded/cdk-extensions 0.14.8 → 0.14.10

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 (41) hide show
  1. package/.jsii +58 -33
  2. package/API.md +322 -27
  3. package/CHANGELOG.md +14 -0
  4. package/lib/constructs/EventPipe.js +1 -1
  5. package/lib/constructs/S3Bucket.js +1 -1
  6. package/lib/constructs/SecureRestApi.js +1 -1
  7. package/lib/constructs/SecureRestApiV2.js +1 -1
  8. package/lib/extensions/ApiGatewayExtension.js +1 -1
  9. package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
  10. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
  11. package/lib/extensions/CloudMapExtension.js +1 -1
  12. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  13. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  14. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  15. package/lib/extensions/ExtraContainerExtension.js +1 -1
  16. package/lib/extensions/HTTPApiExtension.js +1 -1
  17. package/lib/extensions/LogExtension.js +1 -1
  18. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  19. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  20. package/lib/extensions/OpenTelemetryExtension.js +14 -2
  21. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  22. package/lib/extensions/SharedVolumeExtension.js +1 -1
  23. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  24. package/lib/platform/ApiGateway.js +1 -1
  25. package/lib/platform/ApiGatewayV2.js +2 -2
  26. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  27. package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
  28. package/lib/platform/BTCLogGroup.js +1 -1
  29. package/lib/platform/CognitoUserPool.js +2 -2
  30. package/lib/platform/DefaultUserPoolClients.js +1 -1
  31. package/lib/platform/DocumentDB.js +2 -2
  32. package/lib/platform/PrivateDnsNamespace.js +1 -1
  33. package/lib/platform/ResourceServer.js +1 -1
  34. package/lib/platform/Vpc.js +1 -1
  35. package/lib/utils/StackParameter.d.ts +28 -4
  36. package/lib/utils/StackParameter.js +12 -9
  37. package/node_modules/yaml/README.md +2 -20
  38. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +1 -1
  39. package/node_modules/yaml/dist/stringify/stringifyString.js +1 -1
  40. package/node_modules/yaml/package.json +2 -1
  41. package/package.json +13 -13
package/API.md CHANGED
@@ -83,6 +83,20 @@ ApiGateway.isConstruct(x: any)
83
83
 
84
84
  Checks if `x` is a construct.
85
85
 
86
+ Use this method instead of `instanceof` to properly detect `Construct`
87
+ instances, even when the construct library is symlinked.
88
+
89
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
90
+ disk are seen as independent, completely different libraries. As a
91
+ consequence, the class `Construct` in each copy of the `constructs` library
92
+ is seen as a different class, and an instance of one class will not test as
93
+ `instanceof` the other class. `npm install` will not create installations
94
+ like this, but users may manually symlink construct libraries together or
95
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
96
+ library can be accidentally installed, and `instanceof` will behave
97
+ unpredictably. It is safest to avoid using `instanceof`, and using
98
+ this type-testing method instead.
99
+
86
100
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApiGateway.isConstruct.parameter.x"></a>
87
101
 
88
102
  - *Type:* any
@@ -212,7 +226,7 @@ public addSgRule(source: IConnectable, port: number, description?: string): void
212
226
 
213
227
  ---
214
228
 
215
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApiGatewayV2.isConstruct"></a>
229
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApiGatewayV2.isConstruct"></a>
216
230
 
217
231
  ```typescript
218
232
  import { ApiGatewayV2 } from '@btc-embedded/cdk-extensions'
@@ -222,6 +236,20 @@ ApiGatewayV2.isConstruct(x: any)
222
236
 
223
237
  Checks if `x` is a construct.
224
238
 
239
+ Use this method instead of `instanceof` to properly detect `Construct`
240
+ instances, even when the construct library is symlinked.
241
+
242
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
243
+ disk are seen as independent, completely different libraries. As a
244
+ consequence, the class `Construct` in each copy of the `constructs` library
245
+ is seen as a different class, and an instance of one class will not test as
246
+ `instanceof` the other class. `npm install` will not create installations
247
+ like this, but users may manually symlink construct libraries together or
248
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
249
+ library can be accidentally installed, and `instanceof` will behave
250
+ unpredictably. It is safest to avoid using `instanceof`, and using
251
+ this type-testing method instead.
252
+
225
253
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApiGatewayV2.isConstruct.parameter.x"></a>
226
254
 
227
255
  - *Type:* any
@@ -387,7 +415,7 @@ public addSgRule(source: IConnectable, port: number, description?: string): void
387
415
 
388
416
  ---
389
417
 
390
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApiGatewayV2Base.isConstruct"></a>
418
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApiGatewayV2Base.isConstruct"></a>
391
419
 
392
420
  ```typescript
393
421
  import { ApiGatewayV2Base } from '@btc-embedded/cdk-extensions'
@@ -397,6 +425,20 @@ ApiGatewayV2Base.isConstruct(x: any)
397
425
 
398
426
  Checks if `x` is a construct.
399
427
 
428
+ Use this method instead of `instanceof` to properly detect `Construct`
429
+ instances, even when the construct library is symlinked.
430
+
431
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
432
+ disk are seen as independent, completely different libraries. As a
433
+ consequence, the class `Construct` in each copy of the `constructs` library
434
+ is seen as a different class, and an instance of one class will not test as
435
+ `instanceof` the other class. `npm install` will not create installations
436
+ like this, but users may manually symlink construct libraries together or
437
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
438
+ library can be accidentally installed, and `instanceof` will behave
439
+ unpredictably. It is safest to avoid using `instanceof`, and using
440
+ this type-testing method instead.
441
+
400
442
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApiGatewayV2Base.isConstruct.parameter.x"></a>
401
443
 
402
444
  - *Type:* any
@@ -518,6 +560,20 @@ ApplicationLoadBalancer.isConstruct(x: any)
518
560
 
519
561
  Checks if `x` is a construct.
520
562
 
563
+ Use this method instead of `instanceof` to properly detect `Construct`
564
+ instances, even when the construct library is symlinked.
565
+
566
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
567
+ disk are seen as independent, completely different libraries. As a
568
+ consequence, the class `Construct` in each copy of the `constructs` library
569
+ is seen as a different class, and an instance of one class will not test as
570
+ `instanceof` the other class. `npm install` will not create installations
571
+ like this, but users may manually symlink construct libraries together or
572
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
573
+ library can be accidentally installed, and `instanceof` will behave
574
+ unpredictably. It is safest to avoid using `instanceof`, and using
575
+ this type-testing method instead.
576
+
521
577
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancer.isConstruct.parameter.x"></a>
522
578
 
523
579
  - *Type:* any
@@ -657,7 +713,7 @@ public addTarget(target: IApplicationLoadBalancerTarget): void
657
713
 
658
714
  ---
659
715
 
660
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.isConstruct"></a>
716
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.isConstruct"></a>
661
717
 
662
718
  ```typescript
663
719
  import { ApplicationLoadBalancerV2 } from '@btc-embedded/cdk-extensions'
@@ -667,6 +723,20 @@ ApplicationLoadBalancerV2.isConstruct(x: any)
667
723
 
668
724
  Checks if `x` is a construct.
669
725
 
726
+ Use this method instead of `instanceof` to properly detect `Construct`
727
+ instances, even when the construct library is symlinked.
728
+
729
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
730
+ disk are seen as independent, completely different libraries. As a
731
+ consequence, the class `Construct` in each copy of the `constructs` library
732
+ is seen as a different class, and an instance of one class will not test as
733
+ `instanceof` the other class. `npm install` will not create installations
734
+ like this, but users may manually symlink construct libraries together or
735
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
736
+ library can be accidentally installed, and `instanceof` will behave
737
+ unpredictably. It is safest to avoid using `instanceof`, and using
738
+ this type-testing method instead.
739
+
670
740
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.isConstruct.parameter.x"></a>
671
741
 
672
742
  - *Type:* any
@@ -809,7 +879,7 @@ public addTarget(target: IApplicationLoadBalancerTarget): void
809
879
 
810
880
  ---
811
881
 
812
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.isConstruct"></a>
882
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.isConstruct"></a>
813
883
 
814
884
  ```typescript
815
885
  import { ApplicationLoadBalancerV2Base } from '@btc-embedded/cdk-extensions'
@@ -819,6 +889,20 @@ ApplicationLoadBalancerV2Base.isConstruct(x: any)
819
889
 
820
890
  Checks if `x` is a construct.
821
891
 
892
+ Use this method instead of `instanceof` to properly detect `Construct`
893
+ instances, even when the construct library is symlinked.
894
+
895
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
896
+ disk are seen as independent, completely different libraries. As a
897
+ consequence, the class `Construct` in each copy of the `constructs` library
898
+ is seen as a different class, and an instance of one class will not test as
899
+ `instanceof` the other class. `npm install` will not create installations
900
+ like this, but users may manually symlink construct libraries together or
901
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
902
+ library can be accidentally installed, and `instanceof` will behave
903
+ unpredictably. It is safest to avoid using `instanceof`, and using
904
+ this type-testing method instead.
905
+
822
906
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.isConstruct.parameter.x"></a>
823
907
 
824
908
  - *Type:* any
@@ -1210,7 +1294,7 @@ Configuration options for the metric.
1210
1294
 
1211
1295
  ---
1212
1296
 
1213
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.BTCLogGroup.isConstruct"></a>
1297
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.BTCLogGroup.isConstruct"></a>
1214
1298
 
1215
1299
  ```typescript
1216
1300
  import { BTCLogGroup } from '@btc-embedded/cdk-extensions'
@@ -1220,6 +1304,20 @@ BTCLogGroup.isConstruct(x: any)
1220
1304
 
1221
1305
  Checks if `x` is a construct.
1222
1306
 
1307
+ Use this method instead of `instanceof` to properly detect `Construct`
1308
+ instances, even when the construct library is symlinked.
1309
+
1310
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1311
+ disk are seen as independent, completely different libraries. As a
1312
+ consequence, the class `Construct` in each copy of the `constructs` library
1313
+ is seen as a different class, and an instance of one class will not test as
1314
+ `instanceof` the other class. `npm install` will not create installations
1315
+ like this, but users may manually symlink construct libraries together or
1316
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1317
+ library can be accidentally installed, and `instanceof` will behave
1318
+ unpredictably. It is safest to avoid using `instanceof`, and using
1319
+ this type-testing method instead.
1320
+
1223
1321
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.BTCLogGroup.isConstruct.parameter.x"></a>
1224
1322
 
1225
1323
  - *Type:* any
@@ -1497,7 +1595,7 @@ public createHttpUserPoolAuthorizer(): HttpUserPoolAuthorizer
1497
1595
 
1498
1596
  ---
1499
1597
 
1500
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.CognitoUserPool.isConstruct"></a>
1598
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.CognitoUserPool.isConstruct"></a>
1501
1599
 
1502
1600
  ```typescript
1503
1601
  import { CognitoUserPool } from '@btc-embedded/cdk-extensions'
@@ -1507,6 +1605,20 @@ CognitoUserPool.isConstruct(x: any)
1507
1605
 
1508
1606
  Checks if `x` is a construct.
1509
1607
 
1608
+ Use this method instead of `instanceof` to properly detect `Construct`
1609
+ instances, even when the construct library is symlinked.
1610
+
1611
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1612
+ disk are seen as independent, completely different libraries. As a
1613
+ consequence, the class `Construct` in each copy of the `constructs` library
1614
+ is seen as a different class, and an instance of one class will not test as
1615
+ `instanceof` the other class. `npm install` will not create installations
1616
+ like this, but users may manually symlink construct libraries together or
1617
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1618
+ library can be accidentally installed, and `instanceof` will behave
1619
+ unpredictably. It is safest to avoid using `instanceof`, and using
1620
+ this type-testing method instead.
1621
+
1510
1622
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.CognitoUserPool.isConstruct.parameter.x"></a>
1511
1623
 
1512
1624
  - *Type:* any
@@ -1672,7 +1784,7 @@ public createHttpUserPoolAuthorizer(): HttpUserPoolAuthorizer
1672
1784
 
1673
1785
  ---
1674
1786
 
1675
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.isConstruct"></a>
1787
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.isConstruct"></a>
1676
1788
 
1677
1789
  ```typescript
1678
1790
  import { CognitoUserPoolBase } from '@btc-embedded/cdk-extensions'
@@ -1682,6 +1794,20 @@ CognitoUserPoolBase.isConstruct(x: any)
1682
1794
 
1683
1795
  Checks if `x` is a construct.
1684
1796
 
1797
+ Use this method instead of `instanceof` to properly detect `Construct`
1798
+ instances, even when the construct library is symlinked.
1799
+
1800
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1801
+ disk are seen as independent, completely different libraries. As a
1802
+ consequence, the class `Construct` in each copy of the `constructs` library
1803
+ is seen as a different class, and an instance of one class will not test as
1804
+ `instanceof` the other class. `npm install` will not create installations
1805
+ like this, but users may manually symlink construct libraries together or
1806
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1807
+ library can be accidentally installed, and `instanceof` will behave
1808
+ unpredictably. It is safest to avoid using `instanceof`, and using
1809
+ this type-testing method instead.
1810
+
1685
1811
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.isConstruct.parameter.x"></a>
1686
1812
 
1687
1813
  - *Type:* any
@@ -1816,6 +1942,20 @@ DefaultUserPoolClients.isConstruct(x: any)
1816
1942
 
1817
1943
  Checks if `x` is a construct.
1818
1944
 
1945
+ Use this method instead of `instanceof` to properly detect `Construct`
1946
+ instances, even when the construct library is symlinked.
1947
+
1948
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1949
+ disk are seen as independent, completely different libraries. As a
1950
+ consequence, the class `Construct` in each copy of the `constructs` library
1951
+ is seen as a different class, and an instance of one class will not test as
1952
+ `instanceof` the other class. `npm install` will not create installations
1953
+ like this, but users may manually symlink construct libraries together or
1954
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1955
+ library can be accidentally installed, and `instanceof` will behave
1956
+ unpredictably. It is safest to avoid using `instanceof`, and using
1957
+ this type-testing method instead.
1958
+
1819
1959
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DefaultUserPoolClients.isConstruct.parameter.x"></a>
1820
1960
 
1821
1961
  - *Type:* any
@@ -1934,7 +2074,7 @@ Returns a string representation of this construct.
1934
2074
 
1935
2075
  ---
1936
2076
 
1937
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct"></a>
2077
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct"></a>
1938
2078
 
1939
2079
  ```typescript
1940
2080
  import { DocumentDB } from '@btc-embedded/cdk-extensions'
@@ -1944,6 +2084,20 @@ DocumentDB.isConstruct(x: any)
1944
2084
 
1945
2085
  Checks if `x` is a construct.
1946
2086
 
2087
+ Use this method instead of `instanceof` to properly detect `Construct`
2088
+ instances, even when the construct library is symlinked.
2089
+
2090
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2091
+ disk are seen as independent, completely different libraries. As a
2092
+ consequence, the class `Construct` in each copy of the `constructs` library
2093
+ is seen as a different class, and an instance of one class will not test as
2094
+ `instanceof` the other class. `npm install` will not create installations
2095
+ like this, but users may manually symlink construct libraries together or
2096
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2097
+ library can be accidentally installed, and `instanceof` will behave
2098
+ unpredictably. It is safest to avoid using `instanceof`, and using
2099
+ this type-testing method instead.
2100
+
1947
2101
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DocumentDB.isConstruct.parameter.x"></a>
1948
2102
 
1949
2103
  - *Type:* any
@@ -2075,7 +2229,7 @@ public allowAccess(service: IConnectable): void
2075
2229
 
2076
2230
  ---
2077
2231
 
2078
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.DocumentDBBase.isConstruct"></a>
2232
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.DocumentDBBase.isConstruct"></a>
2079
2233
 
2080
2234
  ```typescript
2081
2235
  import { DocumentDBBase } from '@btc-embedded/cdk-extensions'
@@ -2085,6 +2239,20 @@ DocumentDBBase.isConstruct(x: any)
2085
2239
 
2086
2240
  Checks if `x` is a construct.
2087
2241
 
2242
+ Use this method instead of `instanceof` to properly detect `Construct`
2243
+ instances, even when the construct library is symlinked.
2244
+
2245
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2246
+ disk are seen as independent, completely different libraries. As a
2247
+ consequence, the class `Construct` in each copy of the `constructs` library
2248
+ is seen as a different class, and an instance of one class will not test as
2249
+ `instanceof` the other class. `npm install` will not create installations
2250
+ like this, but users may manually symlink construct libraries together or
2251
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2252
+ library can be accidentally installed, and `instanceof` will behave
2253
+ unpredictably. It is safest to avoid using `instanceof`, and using
2254
+ this type-testing method instead.
2255
+
2088
2256
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.DocumentDBBase.isConstruct.parameter.x"></a>
2089
2257
 
2090
2258
  - *Type:* any
@@ -2198,7 +2366,7 @@ Returns a string representation of this construct.
2198
2366
 
2199
2367
  ---
2200
2368
 
2201
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.EventPipe.isConstruct"></a>
2369
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.EventPipe.isConstruct"></a>
2202
2370
 
2203
2371
  ```typescript
2204
2372
  import { EventPipe } from '@btc-embedded/cdk-extensions'
@@ -2208,6 +2376,20 @@ EventPipe.isConstruct(x: any)
2208
2376
 
2209
2377
  Checks if `x` is a construct.
2210
2378
 
2379
+ Use this method instead of `instanceof` to properly detect `Construct`
2380
+ instances, even when the construct library is symlinked.
2381
+
2382
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2383
+ disk are seen as independent, completely different libraries. As a
2384
+ consequence, the class `Construct` in each copy of the `constructs` library
2385
+ is seen as a different class, and an instance of one class will not test as
2386
+ `instanceof` the other class. `npm install` will not create installations
2387
+ like this, but users may manually symlink construct libraries together or
2388
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2389
+ library can be accidentally installed, and `instanceof` will behave
2390
+ unpredictably. It is safest to avoid using `instanceof`, and using
2391
+ this type-testing method instead.
2392
+
2211
2393
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.EventPipe.isConstruct.parameter.x"></a>
2212
2394
 
2213
2395
  - *Type:* any
@@ -2311,7 +2493,7 @@ Returns a string representation of this construct.
2311
2493
 
2312
2494
  ---
2313
2495
 
2314
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct"></a>
2496
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct"></a>
2315
2497
 
2316
2498
  ```typescript
2317
2499
  import { PrivateDnsNamespace } from '@btc-embedded/cdk-extensions'
@@ -2321,6 +2503,20 @@ PrivateDnsNamespace.isConstruct(x: any)
2321
2503
 
2322
2504
  Checks if `x` is a construct.
2323
2505
 
2506
+ Use this method instead of `instanceof` to properly detect `Construct`
2507
+ instances, even when the construct library is symlinked.
2508
+
2509
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2510
+ disk are seen as independent, completely different libraries. As a
2511
+ consequence, the class `Construct` in each copy of the `constructs` library
2512
+ is seen as a different class, and an instance of one class will not test as
2513
+ `instanceof` the other class. `npm install` will not create installations
2514
+ like this, but users may manually symlink construct libraries together or
2515
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2516
+ library can be accidentally installed, and `instanceof` will behave
2517
+ unpredictably. It is safest to avoid using `instanceof`, and using
2518
+ this type-testing method instead.
2519
+
2324
2520
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct.parameter.x"></a>
2325
2521
 
2326
2522
  - *Type:* any
@@ -2462,7 +2658,7 @@ public createOAuthScopes(): OAuthScope[]
2462
2658
 
2463
2659
  ---
2464
2660
 
2465
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.ResourceServer.isConstruct"></a>
2661
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.ResourceServer.isConstruct"></a>
2466
2662
 
2467
2663
  ```typescript
2468
2664
  import { ResourceServer } from '@btc-embedded/cdk-extensions'
@@ -2472,6 +2668,20 @@ ResourceServer.isConstruct(x: any)
2472
2668
 
2473
2669
  Checks if `x` is a construct.
2474
2670
 
2671
+ Use this method instead of `instanceof` to properly detect `Construct`
2672
+ instances, even when the construct library is symlinked.
2673
+
2674
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2675
+ disk are seen as independent, completely different libraries. As a
2676
+ consequence, the class `Construct` in each copy of the `constructs` library
2677
+ is seen as a different class, and an instance of one class will not test as
2678
+ `instanceof` the other class. `npm install` will not create installations
2679
+ like this, but users may manually symlink construct libraries together or
2680
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2681
+ library can be accidentally installed, and `instanceof` will behave
2682
+ unpredictably. It is safest to avoid using `instanceof`, and using
2683
+ this type-testing method instead.
2684
+
2475
2685
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ResourceServer.isConstruct.parameter.x"></a>
2476
2686
 
2477
2687
  - *Type:* any
@@ -3280,7 +3490,7 @@ The metric configuration to add.
3280
3490
 
3281
3491
  ---
3282
3492
 
3283
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.S3Bucket.isConstruct"></a>
3493
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.S3Bucket.isConstruct"></a>
3284
3494
 
3285
3495
  ```typescript
3286
3496
  import { S3Bucket } from '@btc-embedded/cdk-extensions'
@@ -3290,6 +3500,20 @@ S3Bucket.isConstruct(x: any)
3290
3500
 
3291
3501
  Checks if `x` is a construct.
3292
3502
 
3503
+ Use this method instead of `instanceof` to properly detect `Construct`
3504
+ instances, even when the construct library is symlinked.
3505
+
3506
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
3507
+ disk are seen as independent, completely different libraries. As a
3508
+ consequence, the class `Construct` in each copy of the `constructs` library
3509
+ is seen as a different class, and an instance of one class will not test as
3510
+ `instanceof` the other class. `npm install` will not create installations
3511
+ like this, but users may manually symlink construct libraries together or
3512
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
3513
+ library can be accidentally installed, and `instanceof` will behave
3514
+ unpredictably. It is safest to avoid using `instanceof`, and using
3515
+ this type-testing method instead.
3516
+
3293
3517
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.S3Bucket.isConstruct.parameter.x"></a>
3294
3518
 
3295
3519
  - *Type:* any
@@ -3718,6 +3942,20 @@ SecureRestApi.isConstruct(x: any)
3718
3942
 
3719
3943
  Checks if `x` is a construct.
3720
3944
 
3945
+ Use this method instead of `instanceof` to properly detect `Construct`
3946
+ instances, even when the construct library is symlinked.
3947
+
3948
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
3949
+ disk are seen as independent, completely different libraries. As a
3950
+ consequence, the class `Construct` in each copy of the `constructs` library
3951
+ is seen as a different class, and an instance of one class will not test as
3952
+ `instanceof` the other class. `npm install` will not create installations
3953
+ like this, but users may manually symlink construct libraries together or
3954
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
3955
+ library can be accidentally installed, and `instanceof` will behave
3956
+ unpredictably. It is safest to avoid using `instanceof`, and using
3957
+ this type-testing method instead.
3958
+
3721
3959
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.SecureRestApi.isConstruct.parameter.x"></a>
3722
3960
 
3723
3961
  - *Type:* any
@@ -3873,7 +4111,7 @@ public addMethod(httpMethod: string, target?: Integration, options?: MethodOptio
3873
4111
 
3874
4112
  ---
3875
4113
 
3876
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.SecureRestApiV2.isConstruct"></a>
4114
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.SecureRestApiV2.isConstruct"></a>
3877
4115
 
3878
4116
  ```typescript
3879
4117
  import { SecureRestApiV2 } from '@btc-embedded/cdk-extensions'
@@ -3883,6 +4121,20 @@ SecureRestApiV2.isConstruct(x: any)
3883
4121
 
3884
4122
  Checks if `x` is a construct.
3885
4123
 
4124
+ Use this method instead of `instanceof` to properly detect `Construct`
4125
+ instances, even when the construct library is symlinked.
4126
+
4127
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
4128
+ disk are seen as independent, completely different libraries. As a
4129
+ consequence, the class `Construct` in each copy of the `constructs` library
4130
+ is seen as a different class, and an instance of one class will not test as
4131
+ `instanceof` the other class. `npm install` will not create installations
4132
+ like this, but users may manually symlink construct libraries together or
4133
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
4134
+ library can be accidentally installed, and `instanceof` will behave
4135
+ unpredictably. It is safest to avoid using `instanceof`, and using
4136
+ this type-testing method instead.
4137
+
3886
4138
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.SecureRestApiV2.isConstruct.parameter.x"></a>
3887
4139
 
3888
4140
  - *Type:* any
@@ -3984,7 +4236,7 @@ Returns a string representation of this construct.
3984
4236
 
3985
4237
  ---
3986
4238
 
3987
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.Vpc.isConstruct"></a>
4239
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.Vpc.isConstruct"></a>
3988
4240
 
3989
4241
  ```typescript
3990
4242
  import { Vpc } from '@btc-embedded/cdk-extensions'
@@ -3994,6 +4246,20 @@ Vpc.isConstruct(x: any)
3994
4246
 
3995
4247
  Checks if `x` is a construct.
3996
4248
 
4249
+ Use this method instead of `instanceof` to properly detect `Construct`
4250
+ instances, even when the construct library is symlinked.
4251
+
4252
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
4253
+ disk are seen as independent, completely different libraries. As a
4254
+ consequence, the class `Construct` in each copy of the `constructs` library
4255
+ is seen as a different class, and an instance of one class will not test as
4256
+ `instanceof` the other class. `npm install` will not create installations
4257
+ like this, but users may manually symlink construct libraries together or
4258
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
4259
+ library can be accidentally installed, and `instanceof` will behave
4260
+ unpredictably. It is safest to avoid using `instanceof`, and using
4261
+ this type-testing method instead.
4262
+
3997
4263
  ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.Vpc.isConstruct.parameter.x"></a>
3998
4264
 
3999
4265
  - *Type:* any
@@ -7632,6 +7898,8 @@ Default: SHARED.
7632
7898
 
7633
7899
  ### StackParameterOptions <a name="StackParameterOptions" id="@btc-embedded/cdk-extensions.StackParameterOptions"></a>
7634
7900
 
7901
+ Options for creating a StackParameter.
7902
+
7635
7903
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.StackParameterOptions.Initializer"></a>
7636
7904
 
7637
7905
  ```typescript
@@ -7644,10 +7912,11 @@ const stackParameterOptions: StackParameterOptions = { ... }
7644
7912
 
7645
7913
  | **Name** | **Type** | **Description** |
7646
7914
  | --- | --- | --- |
7647
- | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.key">key</a></code> | <code>string</code> | *No description.* |
7648
- | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.name">name</a></code> | <code>string</code> | *No description.* |
7649
- | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.prefix">prefix</a></code> | <code>string \| string[]</code> | *No description.* |
7650
- | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.version">version</a></code> | <code>number</code> | *No description.* |
7915
+ | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.key">key</a></code> | <code>string</code> | The key for the stack parameter. |
7916
+ | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.prefix">prefix</a></code> | <code>string \| string[]</code> | The prefix(es) for the stack parameter. |
7917
+ | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.description">description</a></code> | <code>string</code> | Description for the exported parameter. |
7918
+ | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.name">name</a></code> | <code>string</code> | Name used for the export construct logical ID. |
7919
+ | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions.property.version">version</a></code> | <code>number</code> | Version for the stack parameter. |
7651
7920
 
7652
7921
  ---
7653
7922
 
@@ -7659,25 +7928,46 @@ public readonly key: string;
7659
7928
 
7660
7929
  - *Type:* string
7661
7930
 
7931
+ The key for the stack parameter.
7932
+
7662
7933
  ---
7663
7934
 
7664
- ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.StackParameterOptions.property.name"></a>
7935
+ ##### `prefix`<sup>Required</sup> <a name="prefix" id="@btc-embedded/cdk-extensions.StackParameterOptions.property.prefix"></a>
7665
7936
 
7666
7937
  ```typescript
7667
- public readonly name: string;
7938
+ public readonly prefix: string | string[];
7939
+ ```
7940
+
7941
+ - *Type:* string | string[]
7942
+
7943
+ The prefix(es) for the stack parameter.
7944
+
7945
+ Prefixes must be kebab-case (lowercase letters, numbers, and hyphens). If
7946
+ multiple prefixes are provided, they will be joined with colons.
7947
+
7948
+ ---
7949
+
7950
+ ##### `description`<sup>Optional</sup> <a name="description" id="@btc-embedded/cdk-extensions.StackParameterOptions.property.description"></a>
7951
+
7952
+ ```typescript
7953
+ public readonly description: string;
7668
7954
  ```
7669
7955
 
7670
7956
  - *Type:* string
7671
7957
 
7958
+ Description for the exported parameter.
7959
+
7672
7960
  ---
7673
7961
 
7674
- ##### `prefix`<sup>Required</sup> <a name="prefix" id="@btc-embedded/cdk-extensions.StackParameterOptions.property.prefix"></a>
7962
+ ##### `name`<sup>Optional</sup> <a name="name" id="@btc-embedded/cdk-extensions.StackParameterOptions.property.name"></a>
7675
7963
 
7676
7964
  ```typescript
7677
- public readonly prefix: string | string[];
7965
+ public readonly name: string;
7678
7966
  ```
7679
7967
 
7680
- - *Type:* string | string[]
7968
+ - *Type:* string
7969
+
7970
+ Name used for the export construct logical ID.
7681
7971
 
7682
7972
  ---
7683
7973
 
@@ -7689,6 +7979,11 @@ public readonly version: number;
7689
7979
 
7690
7980
  - *Type:* number
7691
7981
 
7982
+ Version for the stack parameter.
7983
+
7984
+ If provided and greater than 1, the version will be appended to the
7985
+ parameter name during export and import as `-v{version}`.
7986
+
7692
7987
  ---
7693
7988
 
7694
7989
  ### SuffixFilterRule <a name="SuffixFilterRule" id="@btc-embedded/cdk-extensions.SuffixFilterRule"></a>
@@ -11849,16 +12144,16 @@ Provides means to export and import stack parameters.
11849
12144
  ```typescript
11850
12145
  import { StackParameter } from '@btc-embedded/cdk-extensions'
11851
12146
 
11852
- new StackParameter(__0: StackParameterOptions)
12147
+ new StackParameter(options: StackParameterOptions)
11853
12148
  ```
11854
12149
 
11855
12150
  | **Name** | **Type** | **Description** |
11856
12151
  | --- | --- | --- |
11857
- | <code><a href="#@btc-embedded/cdk-extensions.StackParameter.Initializer.parameter.__0">__0</a></code> | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions">StackParameterOptions</a></code> | *No description.* |
12152
+ | <code><a href="#@btc-embedded/cdk-extensions.StackParameter.Initializer.parameter.options">options</a></code> | <code><a href="#@btc-embedded/cdk-extensions.StackParameterOptions">StackParameterOptions</a></code> | *No description.* |
11858
12153
 
11859
12154
  ---
11860
12155
 
11861
- ##### `__0`<sup>Required</sup> <a name="__0" id="@btc-embedded/cdk-extensions.StackParameter.Initializer.parameter.__0"></a>
12156
+ ##### `options`<sup>Required</sup> <a name="options" id="@btc-embedded/cdk-extensions.StackParameter.Initializer.parameter.options"></a>
11862
12157
 
11863
12158
  - *Type:* <a href="#@btc-embedded/cdk-extensions.StackParameterOptions">StackParameterOptions</a>
11864
12159
 
package/CHANGELOG.md CHANGED
@@ -1,4 +1,18 @@
1
1
 
2
+ ## [0.14.9](https://github.com/btc-embedded/cdk-extensions/compare/v0.14.8...v0.14.9) (2025-11-18)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * make sure OTel sidecar has necessary permissions ([a6b0c88](https://github.com/btc-embedded/cdk-extensions/commit/a6b0c88ac1c4061f7c1da00bb13fec168b1cb682))
8
+
9
+ ## [0.14.8](https://github.com/btc-embedded/cdk-extensions/compare/v0.14.7...v0.14.8) (2025-10-08)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * revert the flag for agw arecord creation ([7f5eaea](https://github.com/btc-embedded/cdk-extensions/commit/7f5eaeafed2427589429d968b147ea005867d31a))
15
+
2
16
  ## [0.14.7](https://github.com/btc-embedded/cdk-extensions/compare/v0.14.6...v0.14.7) (2025-10-07)
3
17
 
4
18