@btc-embedded/cdk-extensions 0.18.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.jsii +929 -230
  2. package/API.md +992 -82
  3. package/CHANGELOG.md +18 -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.d.ts +3 -10
  11. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +7 -38
  12. package/lib/extensions/CloudMapExtension.js +1 -1
  13. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  14. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  15. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  16. package/lib/extensions/EfsMountExtension.js +1 -1
  17. package/lib/extensions/ExtraContainerExtension.js +1 -1
  18. package/lib/extensions/HTTPApiExtension.js +1 -1
  19. package/lib/extensions/LogExtension.js +1 -1
  20. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  21. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  22. package/lib/extensions/OpenIdExtension.d.ts +20 -0
  23. package/lib/extensions/OpenIdExtension.js +52 -0
  24. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  25. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  26. package/lib/extensions/SharedVolumeExtension.js +1 -1
  27. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  28. package/lib/extensions/index.d.ts +1 -0
  29. package/lib/extensions/index.js +2 -1
  30. package/lib/platform/ApiGateway.js +1 -1
  31. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  32. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  33. package/lib/platform/ApplicationLoadBalancerV2.d.ts +4 -0
  34. package/lib/platform/ApplicationLoadBalancerV2.js +14 -6
  35. package/lib/platform/BTCLogGroup.js +1 -1
  36. package/lib/platform/CognitoUserPool.d.ts +17 -0
  37. package/lib/platform/CognitoUserPool.js +25 -3
  38. package/lib/platform/DefaultUserPoolClients.js +1 -1
  39. package/lib/platform/DocumentDB.js +2 -2
  40. package/lib/platform/EcsCluster.d.ts +37 -0
  41. package/lib/platform/EcsCluster.js +87 -0
  42. package/lib/platform/EfsFileSystem.js +1 -1
  43. package/lib/platform/PrivateDnsNamespace.js +1 -1
  44. package/lib/platform/ResourceServer.js +1 -1
  45. package/lib/platform/Vpc.d.ts +4 -1
  46. package/lib/platform/Vpc.js +5 -2
  47. package/lib/platform/VpcV2.d.ts +34 -0
  48. package/lib/platform/VpcV2.js +59 -0
  49. package/lib/platform/index.d.ts +2 -0
  50. package/lib/platform/index.js +3 -1
  51. package/lib/utils/StackParameter.js +1 -1
  52. package/package.json +1 -1
package/API.md CHANGED
@@ -789,6 +789,7 @@ ApplicationLoadBalancerV2.fromBasePlatform(scope: Construct, id: string, __2: Ap
789
789
  | **Name** | **Type** | **Description** |
790
790
  | --- | --- | --- |
791
791
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
792
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.property.domainName">domainName</a></code> | <code>string</code> | *No description.* |
792
793
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</code> | *No description.* |
793
794
 
794
795
  ---
@@ -805,6 +806,16 @@ The tree node.
805
806
 
806
807
  ---
807
808
 
809
+ ##### `domainName`<sup>Required</sup> <a name="domainName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.property.domainName"></a>
810
+
811
+ ```typescript
812
+ public readonly domainName: string;
813
+ ```
814
+
815
+ - *Type:* string
816
+
817
+ ---
818
+
808
819
  ##### `targetGroup`<sup>Required</sup> <a name="targetGroup" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2.property.targetGroup"></a>
809
820
 
810
821
  ```typescript
@@ -929,6 +940,7 @@ Any object.
929
940
  | **Name** | **Type** | **Description** |
930
941
  | --- | --- | --- |
931
942
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
943
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.property.domainName">domainName</a></code> | <code>string</code> | *No description.* |
932
944
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</code> | *No description.* |
933
945
 
934
946
  ---
@@ -945,6 +957,16 @@ The tree node.
945
957
 
946
958
  ---
947
959
 
960
+ ##### `domainName`<sup>Required</sup> <a name="domainName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.property.domainName"></a>
961
+
962
+ ```typescript
963
+ public readonly domainName: string;
964
+ ```
965
+
966
+ - *Type:* string
967
+
968
+ ---
969
+
948
970
  ##### `targetGroup`<sup>Required</sup> <a name="targetGroup" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base.property.targetGroup"></a>
949
971
 
950
972
  ```typescript
@@ -1672,6 +1694,8 @@ CognitoUserPool.fromBasePlatform(scope: Construct, id: string, basePlatform: str
1672
1694
  | --- | --- | --- |
1673
1695
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1674
1696
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.apiUserPoolClient">apiUserPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
1697
+ | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.appClientSecret">appClientSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
1698
+ | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.appOpenIdParameters">appOpenIdParameters</a></code> | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters">AppOpenIdParameters</a></code> | Contains the OpenID parameters of the frontend/web application client. |
1675
1699
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.appUserPoolClient">appUserPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
1676
1700
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.cognitoUserPoolDomain">cognitoUserPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
1677
1701
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPool.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
@@ -1700,6 +1724,28 @@ public readonly apiUserPoolClient: IUserPoolClient;
1700
1724
 
1701
1725
  ---
1702
1726
 
1727
+ ##### `appClientSecret`<sup>Required</sup> <a name="appClientSecret" id="@btc-embedded/cdk-extensions.CognitoUserPool.property.appClientSecret"></a>
1728
+
1729
+ ```typescript
1730
+ public readonly appClientSecret: ISecret;
1731
+ ```
1732
+
1733
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
1734
+
1735
+ ---
1736
+
1737
+ ##### `appOpenIdParameters`<sup>Required</sup> <a name="appOpenIdParameters" id="@btc-embedded/cdk-extensions.CognitoUserPool.property.appOpenIdParameters"></a>
1738
+
1739
+ ```typescript
1740
+ public readonly appOpenIdParameters: AppOpenIdParameters;
1741
+ ```
1742
+
1743
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters">AppOpenIdParameters</a>
1744
+
1745
+ Contains the OpenID parameters of the frontend/web application client.
1746
+
1747
+ ---
1748
+
1703
1749
  ##### `appUserPoolClient`<sup>Required</sup> <a name="appUserPoolClient" id="@btc-embedded/cdk-extensions.CognitoUserPool.property.appUserPoolClient"></a>
1704
1750
 
1705
1751
  ```typescript
@@ -1846,6 +1892,8 @@ Any object.
1846
1892
  | --- | --- | --- |
1847
1893
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1848
1894
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.apiUserPoolClient">apiUserPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
1895
+ | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.appClientSecret">appClientSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
1896
+ | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.appOpenIdParameters">appOpenIdParameters</a></code> | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters">AppOpenIdParameters</a></code> | Contains the OpenID parameters of the frontend/web application client. |
1849
1897
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.appUserPoolClient">appUserPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
1850
1898
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.cognitoUserPoolDomain">cognitoUserPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
1851
1899
  | <code><a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
@@ -1874,6 +1922,28 @@ public readonly apiUserPoolClient: IUserPoolClient;
1874
1922
 
1875
1923
  ---
1876
1924
 
1925
+ ##### `appClientSecret`<sup>Required</sup> <a name="appClientSecret" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.appClientSecret"></a>
1926
+
1927
+ ```typescript
1928
+ public readonly appClientSecret: ISecret;
1929
+ ```
1930
+
1931
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
1932
+
1933
+ ---
1934
+
1935
+ ##### `appOpenIdParameters`<sup>Required</sup> <a name="appOpenIdParameters" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.appOpenIdParameters"></a>
1936
+
1937
+ ```typescript
1938
+ public readonly appOpenIdParameters: AppOpenIdParameters;
1939
+ ```
1940
+
1941
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters">AppOpenIdParameters</a>
1942
+
1943
+ Contains the OpenID parameters of the frontend/web application client.
1944
+
1945
+ ---
1946
+
1877
1947
  ##### `appUserPoolClient`<sup>Required</sup> <a name="appUserPoolClient" id="@btc-embedded/cdk-extensions.CognitoUserPoolBase.property.appUserPoolClient"></a>
1878
1948
 
1879
1949
  ```typescript
@@ -2339,6 +2409,169 @@ public readonly securityGroup: ISecurityGroup;
2339
2409
  ---
2340
2410
 
2341
2411
 
2412
+ ### EcsCluster <a name="EcsCluster" id="@btc-embedded/cdk-extensions.EcsCluster"></a>
2413
+
2414
+ - *Implements:* <a href="#@btc-embedded/cdk-extensions.IEcsCluster">IEcsCluster</a>
2415
+
2416
+ A CDK construct that creates and configures an Amazon ECS cluster with optional features.
2417
+
2418
+ This construct provides a standardized way to create ECS clusters with support for:
2419
+ - KMS encryption for ECS Exec command sessions
2420
+ - Fargate Spot capacity providers
2421
+ - Configurable capacity provider strategies with base and weight values
2422
+
2423
+ The cluster exports its name and VPC ID as stack parameters, allowing other stacks
2424
+ to import and reference the cluster using the `fromBasePlatform` static method.
2425
+
2426
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.EcsCluster.Initializer"></a>
2427
+
2428
+ ```typescript
2429
+ import { EcsCluster } from '@btc-embedded/cdk-extensions'
2430
+
2431
+ new EcsCluster(scope: Construct, id: string, props: EcsClusterProps)
2432
+ ```
2433
+
2434
+ | **Name** | **Type** | **Description** |
2435
+ | --- | --- | --- |
2436
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
2437
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
2438
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps">EcsClusterProps</a></code> | *No description.* |
2439
+
2440
+ ---
2441
+
2442
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.EcsCluster.Initializer.parameter.scope"></a>
2443
+
2444
+ - *Type:* constructs.Construct
2445
+
2446
+ ---
2447
+
2448
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.EcsCluster.Initializer.parameter.id"></a>
2449
+
2450
+ - *Type:* string
2451
+
2452
+ ---
2453
+
2454
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.EcsCluster.Initializer.parameter.props"></a>
2455
+
2456
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.EcsClusterProps">EcsClusterProps</a>
2457
+
2458
+ ---
2459
+
2460
+ #### Methods <a name="Methods" id="Methods"></a>
2461
+
2462
+ | **Name** | **Description** |
2463
+ | --- | --- |
2464
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.toString">toString</a></code> | Returns a string representation of this construct. |
2465
+
2466
+ ---
2467
+
2468
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.EcsCluster.toString"></a>
2469
+
2470
+ ```typescript
2471
+ public toString(): string
2472
+ ```
2473
+
2474
+ Returns a string representation of this construct.
2475
+
2476
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2477
+
2478
+ | **Name** | **Description** |
2479
+ | --- | --- |
2480
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2481
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.fromBasePlatform">fromBasePlatform</a></code> | *No description.* |
2482
+
2483
+ ---
2484
+
2485
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.EcsCluster.isConstruct"></a>
2486
+
2487
+ ```typescript
2488
+ import { EcsCluster } from '@btc-embedded/cdk-extensions'
2489
+
2490
+ EcsCluster.isConstruct(x: any)
2491
+ ```
2492
+
2493
+ Checks if `x` is a construct.
2494
+
2495
+ Use this method instead of `instanceof` to properly detect `Construct`
2496
+ instances, even when the construct library is symlinked.
2497
+
2498
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2499
+ disk are seen as independent, completely different libraries. As a
2500
+ consequence, the class `Construct` in each copy of the `constructs` library
2501
+ is seen as a different class, and an instance of one class will not test as
2502
+ `instanceof` the other class. `npm install` will not create installations
2503
+ like this, but users may manually symlink construct libraries together or
2504
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2505
+ library can be accidentally installed, and `instanceof` will behave
2506
+ unpredictably. It is safest to avoid using `instanceof`, and using
2507
+ this type-testing method instead.
2508
+
2509
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.EcsCluster.isConstruct.parameter.x"></a>
2510
+
2511
+ - *Type:* any
2512
+
2513
+ Any object.
2514
+
2515
+ ---
2516
+
2517
+ ##### `fromBasePlatform` <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.EcsCluster.fromBasePlatform"></a>
2518
+
2519
+ ```typescript
2520
+ import { EcsCluster } from '@btc-embedded/cdk-extensions'
2521
+
2522
+ EcsCluster.fromBasePlatform(scope: Construct, id: string, stackName: string)
2523
+ ```
2524
+
2525
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.EcsCluster.fromBasePlatform.parameter.scope"></a>
2526
+
2527
+ - *Type:* constructs.Construct
2528
+
2529
+ ---
2530
+
2531
+ ###### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.EcsCluster.fromBasePlatform.parameter.id"></a>
2532
+
2533
+ - *Type:* string
2534
+
2535
+ ---
2536
+
2537
+ ###### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.EcsCluster.fromBasePlatform.parameter.stackName"></a>
2538
+
2539
+ - *Type:* string
2540
+
2541
+ ---
2542
+
2543
+ #### Properties <a name="Properties" id="Properties"></a>
2544
+
2545
+ | **Name** | **Type** | **Description** |
2546
+ | --- | --- | --- |
2547
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2548
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsCluster.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.ICluster</code> | *No description.* |
2549
+
2550
+ ---
2551
+
2552
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.EcsCluster.property.node"></a>
2553
+
2554
+ ```typescript
2555
+ public readonly node: Node;
2556
+ ```
2557
+
2558
+ - *Type:* constructs.Node
2559
+
2560
+ The tree node.
2561
+
2562
+ ---
2563
+
2564
+ ##### `cluster`<sup>Required</sup> <a name="cluster" id="@btc-embedded/cdk-extensions.EcsCluster.property.cluster"></a>
2565
+
2566
+ ```typescript
2567
+ public readonly cluster: ICluster;
2568
+ ```
2569
+
2570
+ - *Type:* aws-cdk-lib.aws_ecs.ICluster
2571
+
2572
+ ---
2573
+
2574
+
2342
2575
  ### EfsFileSystem <a name="EfsFileSystem" id="@btc-embedded/cdk-extensions.EfsFileSystem"></a>
2343
2576
 
2344
2577
  - *Implements:* <a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a>
@@ -4452,7 +4685,7 @@ dedicated VPC, with max 2 AZS and NO Key for Exec
4452
4685
 
4453
4686
  ---
4454
4687
 
4455
- ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.Vpc.toString"></a>
4688
+ ##### ~~`toString`~~ <a name="toString" id="@btc-embedded/cdk-extensions.Vpc.toString"></a>
4456
4689
 
4457
4690
  ```typescript
4458
4691
  public toString(): string
@@ -4469,7 +4702,7 @@ Returns a string representation of this construct.
4469
4702
 
4470
4703
  ---
4471
4704
 
4472
- ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.Vpc.isConstruct"></a>
4705
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.Vpc.isConstruct"></a>
4473
4706
 
4474
4707
  ```typescript
4475
4708
  import { Vpc } from '@btc-embedded/cdk-extensions'
@@ -4501,7 +4734,7 @@ Any object.
4501
4734
 
4502
4735
  ---
4503
4736
 
4504
- ##### `fromBasePlatform` <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.Vpc.fromBasePlatform"></a>
4737
+ ##### ~~`fromBasePlatform`~~ <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.Vpc.fromBasePlatform"></a>
4505
4738
 
4506
4739
  ```typescript
4507
4740
  import { Vpc } from '@btc-embedded/cdk-extensions'
@@ -4539,7 +4772,9 @@ Vpc.fromBasePlatform(scope: Construct, id: string, stackName: string)
4539
4772
 
4540
4773
  ---
4541
4774
 
4542
- ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.Vpc.property.node"></a>
4775
+ ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.Vpc.property.node"></a>
4776
+
4777
+ - *Deprecated:* This class is deprecated. Use {@link VpcV2 } and {@link EcsCluster } classes instead.
4543
4778
 
4544
4779
  ```typescript
4545
4780
  public readonly node: Node;
@@ -4551,7 +4786,9 @@ The tree node.
4551
4786
 
4552
4787
  ---
4553
4788
 
4554
- ##### `clusterName`<sup>Required</sup> <a name="clusterName" id="@btc-embedded/cdk-extensions.Vpc.property.clusterName"></a>
4789
+ ##### ~~`clusterName`~~<sup>Required</sup> <a name="clusterName" id="@btc-embedded/cdk-extensions.Vpc.property.clusterName"></a>
4790
+
4791
+ - *Deprecated:* This class is deprecated. Use {@link VpcV2 } and {@link EcsCluster } classes instead.
4555
4792
 
4556
4793
  ```typescript
4557
4794
  public readonly clusterName: string;
@@ -4561,7 +4798,9 @@ public readonly clusterName: string;
4561
4798
 
4562
4799
  ---
4563
4800
 
4564
- ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.Vpc.property.fqdn"></a>
4801
+ ##### ~~`fqdn`~~<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.Vpc.property.fqdn"></a>
4802
+
4803
+ - *Deprecated:* This class is deprecated. Use {@link VpcV2 } and {@link EcsCluster } classes instead.
4565
4804
 
4566
4805
  ```typescript
4567
4806
  public readonly fqdn: string;
@@ -4571,17 +4810,178 @@ public readonly fqdn: string;
4571
4810
 
4572
4811
  ---
4573
4812
 
4574
- ##### `cluster`<sup>Required</sup> <a name="cluster" id="@btc-embedded/cdk-extensions.Vpc.property.cluster"></a>
4813
+ ##### ~~`cluster`~~<sup>Required</sup> <a name="cluster" id="@btc-embedded/cdk-extensions.Vpc.property.cluster"></a>
4814
+
4815
+ - *Deprecated:* This class is deprecated. Use {@link VpcV2 } and {@link EcsCluster } classes instead.
4816
+
4817
+ ```typescript
4818
+ public readonly cluster: Cluster;
4819
+ ```
4820
+
4821
+ - *Type:* aws-cdk-lib.aws_ecs.Cluster
4822
+
4823
+ ---
4824
+
4825
+ ##### ~~`vpcInstance`~~<sup>Required</sup> <a name="vpcInstance" id="@btc-embedded/cdk-extensions.Vpc.property.vpcInstance"></a>
4826
+
4827
+ - *Deprecated:* This class is deprecated. Use {@link VpcV2 } and {@link EcsCluster } classes instead.
4828
+
4829
+ ```typescript
4830
+ public readonly vpcInstance: IVpc;
4831
+ ```
4832
+
4833
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
4834
+
4835
+ ---
4836
+
4837
+
4838
+ ### VpcV2 <a name="VpcV2" id="@btc-embedded/cdk-extensions.VpcV2"></a>
4839
+
4840
+ - *Implements:* <a href="#@btc-embedded/cdk-extensions.IVpcV2">IVpcV2</a>
4841
+
4842
+ A construct that creates or imports an existing VPC.
4843
+
4844
+ Supports importing by VPC ID, VPC name, or creating a new VPC with a specified CIDR block.
4845
+
4846
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.VpcV2.Initializer"></a>
4847
+
4848
+ ```typescript
4849
+ import { VpcV2 } from '@btc-embedded/cdk-extensions'
4850
+
4851
+ new VpcV2(scope: Construct, id: string, props: VpcV2Props)
4852
+ ```
4853
+
4854
+ | **Name** | **Type** | **Description** |
4855
+ | --- | --- | --- |
4856
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
4857
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
4858
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.VpcV2Props">VpcV2Props</a></code> | *No description.* |
4859
+
4860
+ ---
4861
+
4862
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.VpcV2.Initializer.parameter.scope"></a>
4863
+
4864
+ - *Type:* constructs.Construct
4865
+
4866
+ ---
4867
+
4868
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.VpcV2.Initializer.parameter.id"></a>
4869
+
4870
+ - *Type:* string
4871
+
4872
+ ---
4873
+
4874
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.VpcV2.Initializer.parameter.props"></a>
4875
+
4876
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.VpcV2Props">VpcV2Props</a>
4877
+
4878
+ ---
4879
+
4880
+ #### Methods <a name="Methods" id="Methods"></a>
4881
+
4882
+ | **Name** | **Description** |
4883
+ | --- | --- |
4884
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.toString">toString</a></code> | Returns a string representation of this construct. |
4885
+
4886
+ ---
4887
+
4888
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.VpcV2.toString"></a>
4889
+
4890
+ ```typescript
4891
+ public toString(): string
4892
+ ```
4893
+
4894
+ Returns a string representation of this construct.
4895
+
4896
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
4897
+
4898
+ | **Name** | **Description** |
4899
+ | --- | --- |
4900
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
4901
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.fromBasePlatform">fromBasePlatform</a></code> | *No description.* |
4902
+
4903
+ ---
4904
+
4905
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.VpcV2.isConstruct"></a>
4906
+
4907
+ ```typescript
4908
+ import { VpcV2 } from '@btc-embedded/cdk-extensions'
4909
+
4910
+ VpcV2.isConstruct(x: any)
4911
+ ```
4912
+
4913
+ Checks if `x` is a construct.
4914
+
4915
+ Use this method instead of `instanceof` to properly detect `Construct`
4916
+ instances, even when the construct library is symlinked.
4917
+
4918
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
4919
+ disk are seen as independent, completely different libraries. As a
4920
+ consequence, the class `Construct` in each copy of the `constructs` library
4921
+ is seen as a different class, and an instance of one class will not test as
4922
+ `instanceof` the other class. `npm install` will not create installations
4923
+ like this, but users may manually symlink construct libraries together or
4924
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
4925
+ library can be accidentally installed, and `instanceof` will behave
4926
+ unpredictably. It is safest to avoid using `instanceof`, and using
4927
+ this type-testing method instead.
4928
+
4929
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.VpcV2.isConstruct.parameter.x"></a>
4930
+
4931
+ - *Type:* any
4932
+
4933
+ Any object.
4934
+
4935
+ ---
4936
+
4937
+ ##### `fromBasePlatform` <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.VpcV2.fromBasePlatform"></a>
4938
+
4939
+ ```typescript
4940
+ import { VpcV2 } from '@btc-embedded/cdk-extensions'
4941
+
4942
+ VpcV2.fromBasePlatform(scope: Construct, id: string, stackName: string)
4943
+ ```
4944
+
4945
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.VpcV2.fromBasePlatform.parameter.scope"></a>
4946
+
4947
+ - *Type:* constructs.Construct
4948
+
4949
+ ---
4950
+
4951
+ ###### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.VpcV2.fromBasePlatform.parameter.id"></a>
4952
+
4953
+ - *Type:* string
4954
+
4955
+ ---
4956
+
4957
+ ###### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.VpcV2.fromBasePlatform.parameter.stackName"></a>
4958
+
4959
+ - *Type:* string
4960
+
4961
+ ---
4962
+
4963
+ #### Properties <a name="Properties" id="Properties"></a>
4964
+
4965
+ | **Name** | **Type** | **Description** |
4966
+ | --- | --- | --- |
4967
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
4968
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2.property.vpcInstance">vpcInstance</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
4969
+
4970
+ ---
4971
+
4972
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.VpcV2.property.node"></a>
4575
4973
 
4576
4974
  ```typescript
4577
- public readonly cluster: Cluster;
4975
+ public readonly node: Node;
4578
4976
  ```
4579
4977
 
4580
- - *Type:* aws-cdk-lib.aws_ecs.Cluster
4978
+ - *Type:* constructs.Node
4979
+
4980
+ The tree node.
4581
4981
 
4582
4982
  ---
4583
4983
 
4584
- ##### `vpcInstance`<sup>Required</sup> <a name="vpcInstance" id="@btc-embedded/cdk-extensions.Vpc.property.vpcInstance"></a>
4984
+ ##### `vpcInstance`<sup>Required</sup> <a name="vpcInstance" id="@btc-embedded/cdk-extensions.VpcV2.property.vpcInstance"></a>
4585
4985
 
4586
4986
  ```typescript
4587
4987
  public readonly vpcInstance: IVpc;
@@ -4961,26 +5361,22 @@ const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionP
4961
5361
 
4962
5362
  | **Name** | **Type** | **Description** |
4963
5363
  | --- | --- | --- |
4964
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.clientScope">clientScope</a></code> | <code>string</code> | *No description.* |
5364
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a></code> | *No description.* |
4965
5365
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.platformStackName">platformStackName</a></code> | <code>string</code> | *No description.* |
4966
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.userPoolClientSecret">userPoolClientSecret</a></code> | <code>string</code> | *No description.* |
4967
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2">IApplicationLoadBalancerV2</a></code> | *No description.* |
4968
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | *No description.* |
4969
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.path">path</a></code> | <code>string</code> | *No description.* |
4970
5366
 
4971
5367
  ---
4972
5368
 
4973
- ##### `clientScope`<sup>Required</sup> <a name="clientScope" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.clientScope"></a>
5369
+ ##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer"></a>
4974
5370
 
4975
5371
  ```typescript
4976
- public readonly clientScope: string;
5372
+ public readonly loadBalancer: ApplicationLoadBalancerV2;
4977
5373
  ```
4978
5374
 
4979
- - *Type:* string
5375
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
4980
5376
 
4981
5377
  ---
4982
5378
 
4983
- ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.platformStackName"></a>
5379
+ ##### `platformStackName`<sup>Optional</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.platformStackName"></a>
4984
5380
 
4985
5381
  ```typescript
4986
5382
  public readonly platformStackName: string;
@@ -4990,46 +5386,6 @@ public readonly platformStackName: string;
4990
5386
 
4991
5387
  ---
4992
5388
 
4993
- ##### `userPoolClientSecret`<sup>Required</sup> <a name="userPoolClientSecret" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.userPoolClientSecret"></a>
4994
-
4995
- ```typescript
4996
- public readonly userPoolClientSecret: string;
4997
- ```
4998
-
4999
- - *Type:* string
5000
-
5001
- ---
5002
-
5003
- ##### `applicationLoadBalancer`<sup>Optional</sup> <a name="applicationLoadBalancer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.applicationLoadBalancer"></a>
5004
-
5005
- ```typescript
5006
- public readonly applicationLoadBalancer: IApplicationLoadBalancerV2;
5007
- ```
5008
-
5009
- - *Type:* <a href="#@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2">IApplicationLoadBalancerV2</a>
5010
-
5011
- ---
5012
-
5013
- ##### `healtCheckPath`<sup>Optional</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.healtCheckPath"></a>
5014
-
5015
- ```typescript
5016
- public readonly healtCheckPath: string;
5017
- ```
5018
-
5019
- - *Type:* string
5020
-
5021
- ---
5022
-
5023
- ##### `path`<sup>Optional</sup> <a name="path" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.path"></a>
5024
-
5025
- ```typescript
5026
- public readonly path: string;
5027
- ```
5028
-
5029
- - *Type:* string
5030
-
5031
- ---
5032
-
5033
5389
  ### ApplicationLoadBalancerProps <a name="ApplicationLoadBalancerProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps"></a>
5034
5390
 
5035
5391
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.Initializer"></a>
@@ -5238,6 +5594,67 @@ public readonly basePlatform: string;
5238
5594
 
5239
5595
  ---
5240
5596
 
5597
+ ### AppOpenIdParameters <a name="AppOpenIdParameters" id="@btc-embedded/cdk-extensions.AppOpenIdParameters"></a>
5598
+
5599
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.AppOpenIdParameters.Initializer"></a>
5600
+
5601
+ ```typescript
5602
+ import { AppOpenIdParameters } from '@btc-embedded/cdk-extensions'
5603
+
5604
+ const appOpenIdParameters: AppOpenIdParameters = { ... }
5605
+ ```
5606
+
5607
+ #### Properties <a name="Properties" id="Properties"></a>
5608
+
5609
+ | **Name** | **Type** | **Description** |
5610
+ | --- | --- | --- |
5611
+ | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
5612
+ | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters.property.issuerUrl">issuerUrl</a></code> | <code>string</code> | *No description.* |
5613
+ | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters.property.scope">scope</a></code> | <code>string</code> | *No description.* |
5614
+ | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
5615
+
5616
+ ---
5617
+
5618
+ ##### `clientId`<sup>Required</sup> <a name="clientId" id="@btc-embedded/cdk-extensions.AppOpenIdParameters.property.clientId"></a>
5619
+
5620
+ ```typescript
5621
+ public readonly clientId: string;
5622
+ ```
5623
+
5624
+ - *Type:* string
5625
+
5626
+ ---
5627
+
5628
+ ##### `issuerUrl`<sup>Required</sup> <a name="issuerUrl" id="@btc-embedded/cdk-extensions.AppOpenIdParameters.property.issuerUrl"></a>
5629
+
5630
+ ```typescript
5631
+ public readonly issuerUrl: string;
5632
+ ```
5633
+
5634
+ - *Type:* string
5635
+
5636
+ ---
5637
+
5638
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.AppOpenIdParameters.property.scope"></a>
5639
+
5640
+ ```typescript
5641
+ public readonly scope: string;
5642
+ ```
5643
+
5644
+ - *Type:* string
5645
+
5646
+ ---
5647
+
5648
+ ##### `secret`<sup>Required</sup> <a name="secret" id="@btc-embedded/cdk-extensions.AppOpenIdParameters.property.secret"></a>
5649
+
5650
+ ```typescript
5651
+ public readonly secret: ISecret;
5652
+ ```
5653
+
5654
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
5655
+
5656
+ ---
5657
+
5241
5658
  ### BTCLogGroupLookupOptions <a name="BTCLogGroupLookupOptions" id="@btc-embedded/cdk-extensions.BTCLogGroupLookupOptions"></a>
5242
5659
 
5243
5660
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.BTCLogGroupLookupOptions.Initializer"></a>
@@ -7102,6 +7519,88 @@ public readonly vpc: IVpc;
7102
7519
 
7103
7520
  ---
7104
7521
 
7522
+ ### EcsClusterProps <a name="EcsClusterProps" id="@btc-embedded/cdk-extensions.EcsClusterProps"></a>
7523
+
7524
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EcsClusterProps.Initializer"></a>
7525
+
7526
+ ```typescript
7527
+ import { EcsClusterProps } from '@btc-embedded/cdk-extensions'
7528
+
7529
+ const ecsClusterProps: EcsClusterProps = { ... }
7530
+ ```
7531
+
7532
+ #### Properties <a name="Properties" id="Properties"></a>
7533
+
7534
+ | **Name** | **Type** | **Description** |
7535
+ | --- | --- | --- |
7536
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which to create the ECS cluster. |
7537
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersBase">capacityProvidersBase</a></code> | <code>number</code> | The base value for the capacity provider strategy. |
7538
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersWeight">capacityProvidersWeight</a></code> | <code>number</code> | The weight value for the capacity provider strategy. |
7539
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.createKmsExecCommandKey">createKmsExecCommandKey</a></code> | <code>boolean</code> | Whether to create a KMS key for execute command encryption. |
7540
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.enableFargateSpotCapacityProvider">enableFargateSpotCapacityProvider</a></code> | <code>boolean</code> | Whether to enable Fargate Spot capacity provider. |
7541
+
7542
+ ---
7543
+
7544
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.vpc"></a>
7545
+
7546
+ ```typescript
7547
+ public readonly vpc: IVpc;
7548
+ ```
7549
+
7550
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
7551
+
7552
+ The VPC in which to create the ECS cluster.
7553
+
7554
+ ---
7555
+
7556
+ ##### `capacityProvidersBase`<sup>Optional</sup> <a name="capacityProvidersBase" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersBase"></a>
7557
+
7558
+ ```typescript
7559
+ public readonly capacityProvidersBase: number;
7560
+ ```
7561
+
7562
+ - *Type:* number
7563
+
7564
+ The base value for the capacity provider strategy.
7565
+
7566
+ ---
7567
+
7568
+ ##### `capacityProvidersWeight`<sup>Optional</sup> <a name="capacityProvidersWeight" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersWeight"></a>
7569
+
7570
+ ```typescript
7571
+ public readonly capacityProvidersWeight: number;
7572
+ ```
7573
+
7574
+ - *Type:* number
7575
+
7576
+ The weight value for the capacity provider strategy.
7577
+
7578
+ ---
7579
+
7580
+ ##### `createKmsExecCommandKey`<sup>Optional</sup> <a name="createKmsExecCommandKey" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.createKmsExecCommandKey"></a>
7581
+
7582
+ ```typescript
7583
+ public readonly createKmsExecCommandKey: boolean;
7584
+ ```
7585
+
7586
+ - *Type:* boolean
7587
+
7588
+ Whether to create a KMS key for execute command encryption.
7589
+
7590
+ ---
7591
+
7592
+ ##### `enableFargateSpotCapacityProvider`<sup>Optional</sup> <a name="enableFargateSpotCapacityProvider" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.enableFargateSpotCapacityProvider"></a>
7593
+
7594
+ ```typescript
7595
+ public readonly enableFargateSpotCapacityProvider: boolean;
7596
+ ```
7597
+
7598
+ - *Type:* boolean
7599
+
7600
+ Whether to enable Fargate Spot capacity provider.
7601
+
7602
+ ---
7603
+
7105
7604
  ### EfsFileSystemLookupOptions <a name="EfsFileSystemLookupOptions" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions"></a>
7106
7605
 
7107
7606
  Lookup options for importing a filesystem from the base stack.
@@ -7738,6 +8237,49 @@ const inputTemplate: InputTemplate = { ... }
7738
8237
  ```
7739
8238
 
7740
8239
 
8240
+ ### OpenIdExtensionProps <a name="OpenIdExtensionProps" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps"></a>
8241
+
8242
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.Initializer"></a>
8243
+
8244
+ ```typescript
8245
+ import { OpenIdExtensionProps } from '@btc-embedded/cdk-extensions'
8246
+
8247
+ const openIdExtensionProps: OpenIdExtensionProps = { ... }
8248
+ ```
8249
+
8250
+ #### Properties <a name="Properties" id="Properties"></a>
8251
+
8252
+ | **Name** | **Type** | **Description** |
8253
+ | --- | --- | --- |
8254
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
8255
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.redirectUri">redirectUri</a></code> | <code>string</code> | Adds OIDC_REDIRECT_URI environment variable to the container if set. |
8256
+
8257
+ ---
8258
+
8259
+ ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.platformStackName"></a>
8260
+
8261
+ ```typescript
8262
+ public readonly platformStackName: string;
8263
+ ```
8264
+
8265
+ - *Type:* string
8266
+
8267
+ The name of the base platform stack.
8268
+
8269
+ ---
8270
+
8271
+ ##### `redirectUri`<sup>Optional</sup> <a name="redirectUri" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.redirectUri"></a>
8272
+
8273
+ ```typescript
8274
+ public readonly redirectUri: string;
8275
+ ```
8276
+
8277
+ - *Type:* string
8278
+
8279
+ Adds OIDC_REDIRECT_URI environment variable to the container if set.
8280
+
8281
+ ---
8282
+
7741
8283
  ### OpenTelemetryExtensionProps <a name="OpenTelemetryExtensionProps" id="@btc-embedded/cdk-extensions.OpenTelemetryExtensionProps"></a>
7742
8284
 
7743
8285
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.OpenTelemetryExtensionProps.Initializer"></a>
@@ -8667,6 +9209,84 @@ public readonly vpcCidr: IIpAddresses;
8667
9209
 
8668
9210
  ---
8669
9211
 
9212
+ ### VpcV2Props <a name="VpcV2Props" id="@btc-embedded/cdk-extensions.VpcV2Props"></a>
9213
+
9214
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.VpcV2Props.Initializer"></a>
9215
+
9216
+ ```typescript
9217
+ import { VpcV2Props } from '@btc-embedded/cdk-extensions'
9218
+
9219
+ const vpcV2Props: VpcV2Props = { ... }
9220
+ ```
9221
+
9222
+ #### Properties <a name="Properties" id="Properties"></a>
9223
+
9224
+ | **Name** | **Type** | **Description** |
9225
+ | --- | --- | --- |
9226
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2Props.property.maxAzs">maxAzs</a></code> | <code>number</code> | The maximum number of Availability Zones to use when creating a new VPC. |
9227
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2Props.property.vpcCidr">vpcCidr</a></code> | <code>aws-cdk-lib.aws_ec2.IIpAddresses</code> | The IP address allocation strategy for creating a new VPC. |
9228
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2Props.property.vpcId">vpcId</a></code> | <code>string</code> | The ID of an existing VPC to import. |
9229
+ | <code><a href="#@btc-embedded/cdk-extensions.VpcV2Props.property.vpcName">vpcName</a></code> | <code>string</code> | The name of the VPC. |
9230
+
9231
+ ---
9232
+
9233
+ ##### `maxAzs`<sup>Optional</sup> <a name="maxAzs" id="@btc-embedded/cdk-extensions.VpcV2Props.property.maxAzs"></a>
9234
+
9235
+ ```typescript
9236
+ public readonly maxAzs: number;
9237
+ ```
9238
+
9239
+ - *Type:* number
9240
+
9241
+ The maximum number of Availability Zones to use when creating a new VPC.
9242
+
9243
+ Defaults to 2.
9244
+
9245
+ ---
9246
+
9247
+ ##### `vpcCidr`<sup>Optional</sup> <a name="vpcCidr" id="@btc-embedded/cdk-extensions.VpcV2Props.property.vpcCidr"></a>
9248
+
9249
+ ```typescript
9250
+ public readonly vpcCidr: IIpAddresses;
9251
+ ```
9252
+
9253
+ - *Type:* aws-cdk-lib.aws_ec2.IIpAddresses
9254
+
9255
+ The IP address allocation strategy for creating a new VPC.
9256
+
9257
+ Required when creating a new VPC.
9258
+
9259
+ ---
9260
+
9261
+ ##### `vpcId`<sup>Optional</sup> <a name="vpcId" id="@btc-embedded/cdk-extensions.VpcV2Props.property.vpcId"></a>
9262
+
9263
+ ```typescript
9264
+ public readonly vpcId: string;
9265
+ ```
9266
+
9267
+ - *Type:* string
9268
+
9269
+ The ID of an existing VPC to import.
9270
+
9271
+ If provided, the VPC will be looked up by ID.
9272
+
9273
+ ---
9274
+
9275
+ ##### `vpcName`<sup>Optional</sup> <a name="vpcName" id="@btc-embedded/cdk-extensions.VpcV2Props.property.vpcName"></a>
9276
+
9277
+ ```typescript
9278
+ public readonly vpcName: string;
9279
+ ```
9280
+
9281
+ - *Type:* string
9282
+
9283
+ The name of the VPC.
9284
+
9285
+ If importing an existing VPC, it will be looked up by this name.
9286
+ If creating a new VPC, this will be used as the VPC name.
9287
+
9288
+ ---
9289
+
8670
9290
  ## Classes <a name="Classes" id="Classes"></a>
8671
9291
 
8672
9292
  ### ApiGatewayExtension <a name="ApiGatewayExtension" id="@btc-embedded/cdk-extensions.ApiGatewayExtension"></a>
@@ -9398,8 +10018,6 @@ The created task definition to add containers to.
9398
10018
  | --- | --- | --- |
9399
10019
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.property.name">name</a></code> | <code>string</code> | The name of the extension. |
9400
10020
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
9401
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | *No description.* |
9402
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
9403
10021
 
9404
10022
  ---
9405
10023
 
@@ -9428,27 +10046,7 @@ The container for this extension.
9428
10046
  Most extensions have a container, but not
9429
10047
  every extension is required to have a container. Some extensions may just
9430
10048
  modify the properties of the service, or create external resources
9431
- connected to the service.
9432
-
9433
- ---
9434
-
9435
- ##### `cognitoUserPool`<sup>Required</sup> <a name="cognitoUserPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.property.cognitoUserPool"></a>
9436
-
9437
- ```typescript
9438
- public readonly cognitoUserPool: ICognitoUserPool;
9439
- ```
9440
-
9441
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
9442
-
9443
- ---
9444
-
9445
- ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.property.fqdn"></a>
9446
-
9447
- ```typescript
9448
- public readonly fqdn: string;
9449
- ```
9450
-
9451
- - *Type:* string
10049
+ connected to the service.
9452
10050
 
9453
10051
  ---
9454
10052
 
@@ -12041,6 +12639,248 @@ public readonly props: TaskDefinitionProps;
12041
12639
  ---
12042
12640
 
12043
12641
 
12642
+ ### OpenIdExtension <a name="OpenIdExtension" id="@btc-embedded/cdk-extensions.OpenIdExtension"></a>
12643
+
12644
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.OpenIdExtension.Initializer"></a>
12645
+
12646
+ ```typescript
12647
+ import { OpenIdExtension } from '@btc-embedded/cdk-extensions'
12648
+
12649
+ new OpenIdExtension(props: OpenIdExtensionProps)
12650
+ ```
12651
+
12652
+ | **Name** | **Type** | **Description** |
12653
+ | --- | --- | --- |
12654
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps">OpenIdExtensionProps</a></code> | *No description.* |
12655
+
12656
+ ---
12657
+
12658
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.OpenIdExtension.Initializer.parameter.props"></a>
12659
+
12660
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps">OpenIdExtensionProps</a>
12661
+
12662
+ ---
12663
+
12664
+ #### Methods <a name="Methods" id="Methods"></a>
12665
+
12666
+ | **Name** | **Description** |
12667
+ | --- | --- |
12668
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
12669
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
12670
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
12671
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
12672
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
12673
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
12674
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
12675
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
12676
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
12677
+
12678
+ ---
12679
+
12680
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.OpenIdExtension.addContainerMutatingHook"></a>
12681
+
12682
+ ```typescript
12683
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
12684
+ ```
12685
+
12686
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
12687
+
12688
+ This is primarily used
12689
+ for the application extension. For example, the Firelens extension wants to
12690
+ be able to modify the settings of the application container to
12691
+ route logs through Firelens.
12692
+
12693
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.OpenIdExtension.addContainerMutatingHook.parameter.hook"></a>
12694
+
12695
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
12696
+
12697
+ ---
12698
+
12699
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.OpenIdExtension.addHooks"></a>
12700
+
12701
+ ```typescript
12702
+ public addHooks(): void
12703
+ ```
12704
+
12705
+ A hook that allows the extension to add hooks to other extensions that are registered.
12706
+
12707
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.OpenIdExtension.connectToService"></a>
12708
+
12709
+ ```typescript
12710
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
12711
+ ```
12712
+
12713
+ This hook allows the extension to establish a connection to extensions from another service.
12714
+
12715
+ Usually used for things like
12716
+ allowing one service to talk to the load balancer or service mesh
12717
+ proxy for another service.
12718
+
12719
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.OpenIdExtension.connectToService.parameter.service"></a>
12720
+
12721
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
12722
+
12723
+ The other service to connect to.
12724
+
12725
+ ---
12726
+
12727
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.OpenIdExtension.connectToService.parameter.connectToProps"></a>
12728
+
12729
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
12730
+
12731
+ ---
12732
+
12733
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.OpenIdExtension.modifyServiceProps"></a>
12734
+
12735
+ ```typescript
12736
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
12737
+ ```
12738
+
12739
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
12740
+
12741
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.OpenIdExtension.modifyServiceProps.parameter.props"></a>
12742
+
12743
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
12744
+
12745
+ The service properties to mutate.
12746
+
12747
+ ---
12748
+
12749
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.OpenIdExtension.modifyTaskDefinitionProps"></a>
12750
+
12751
+ ```typescript
12752
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
12753
+ ```
12754
+
12755
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
12756
+
12757
+ For example, the App Mesh
12758
+ extension needs to configure an Envoy proxy in the task definition,
12759
+ or the Application extension wants to set the overall resource for
12760
+ the task.
12761
+
12762
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.OpenIdExtension.modifyTaskDefinitionProps.parameter.props"></a>
12763
+
12764
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
12765
+
12766
+ Properties of the task definition to be created.
12767
+
12768
+ ---
12769
+
12770
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.OpenIdExtension.prehook"></a>
12771
+
12772
+ ```typescript
12773
+ public prehook(service: Service, _scope: Construct): void
12774
+ ```
12775
+
12776
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
12777
+
12778
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.OpenIdExtension.prehook.parameter.service"></a>
12779
+
12780
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
12781
+
12782
+ ---
12783
+
12784
+ ###### `_scope`<sup>Required</sup> <a name="_scope" id="@btc-embedded/cdk-extensions.OpenIdExtension.prehook.parameter._scope"></a>
12785
+
12786
+ - *Type:* constructs.Construct
12787
+
12788
+ ---
12789
+
12790
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.OpenIdExtension.resolveContainerDependencies"></a>
12791
+
12792
+ ```typescript
12793
+ public resolveContainerDependencies(): void
12794
+ ```
12795
+
12796
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
12797
+
12798
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.OpenIdExtension.useService"></a>
12799
+
12800
+ ```typescript
12801
+ public useService(service: Ec2Service | FargateService): void
12802
+ ```
12803
+
12804
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
12805
+
12806
+ It is generally used to
12807
+ create any final resources which might depend on the service itself.
12808
+
12809
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.OpenIdExtension.useService.parameter.service"></a>
12810
+
12811
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
12812
+
12813
+ The generated service.
12814
+
12815
+ ---
12816
+
12817
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.OpenIdExtension.useTaskDefinition"></a>
12818
+
12819
+ ```typescript
12820
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
12821
+ ```
12822
+
12823
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
12824
+
12825
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.OpenIdExtension.useTaskDefinition.parameter.taskDefinition"></a>
12826
+
12827
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
12828
+
12829
+ The created task definition to add containers to.
12830
+
12831
+ ---
12832
+
12833
+
12834
+ #### Properties <a name="Properties" id="Properties"></a>
12835
+
12836
+ | **Name** | **Type** | **Description** |
12837
+ | --- | --- | --- |
12838
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
12839
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
12840
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | *No description.* |
12841
+
12842
+ ---
12843
+
12844
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.OpenIdExtension.property.name"></a>
12845
+
12846
+ ```typescript
12847
+ public readonly name: string;
12848
+ ```
12849
+
12850
+ - *Type:* string
12851
+
12852
+ The name of the extension.
12853
+
12854
+ ---
12855
+
12856
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.OpenIdExtension.property.container"></a>
12857
+
12858
+ ```typescript
12859
+ public readonly container: ContainerDefinition;
12860
+ ```
12861
+
12862
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
12863
+
12864
+ The container for this extension.
12865
+
12866
+ Most extensions have a container, but not
12867
+ every extension is required to have a container. Some extensions may just
12868
+ modify the properties of the service, or create external resources
12869
+ connected to the service.
12870
+
12871
+ ---
12872
+
12873
+ ##### `cognitoUserPool`<sup>Required</sup> <a name="cognitoUserPool" id="@btc-embedded/cdk-extensions.OpenIdExtension.property.cognitoUserPool"></a>
12874
+
12875
+ ```typescript
12876
+ public readonly cognitoUserPool: ICognitoUserPool;
12877
+ ```
12878
+
12879
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
12880
+
12881
+ ---
12882
+
12883
+
12044
12884
  ### OpenTelemetryExtension <a name="OpenTelemetryExtension" id="@btc-embedded/cdk-extensions.OpenTelemetryExtension"></a>
12045
12885
 
12046
12886
  Adds the OpenTelemetry collector as a sidecar to the ECS task.
@@ -13233,10 +14073,21 @@ public addTarget(target: IApplicationLoadBalancerTarget): void
13233
14073
 
13234
14074
  | **Name** | **Type** | **Description** |
13235
14075
  | --- | --- | --- |
14076
+ | <code><a href="#@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2.property.domainName">domainName</a></code> | <code>string</code> | *No description.* |
13236
14077
  | <code><a href="#@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</code> | *No description.* |
13237
14078
 
13238
14079
  ---
13239
14080
 
14081
+ ##### `domainName`<sup>Required</sup> <a name="domainName" id="@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2.property.domainName"></a>
14082
+
14083
+ ```typescript
14084
+ public readonly domainName: string;
14085
+ ```
14086
+
14087
+ - *Type:* string
14088
+
14089
+ ---
14090
+
13240
14091
  ##### `targetGroup`<sup>Required</sup> <a name="targetGroup" id="@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2.property.targetGroup"></a>
13241
14092
 
13242
14093
  ```typescript
@@ -13277,6 +14128,7 @@ public createHttpUserPoolAuthorizer(): HttpUserPoolAuthorizer
13277
14128
  | **Name** | **Type** | **Description** |
13278
14129
  | --- | --- | --- |
13279
14130
  | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool.property.apiUserPoolClient">apiUserPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
14131
+ | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool.property.appOpenIdParameters">appOpenIdParameters</a></code> | <code><a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters">AppOpenIdParameters</a></code> | Contains the OpenID parameters of the frontend/web application client. |
13280
14132
  | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool.property.appUserPoolClient">appUserPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
13281
14133
  | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool.property.cognitoUserPoolDomain">cognitoUserPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
13282
14134
  | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
@@ -13293,6 +14145,18 @@ public readonly apiUserPoolClient: IUserPoolClient;
13293
14145
 
13294
14146
  ---
13295
14147
 
14148
+ ##### `appOpenIdParameters`<sup>Required</sup> <a name="appOpenIdParameters" id="@btc-embedded/cdk-extensions.ICognitoUserPool.property.appOpenIdParameters"></a>
14149
+
14150
+ ```typescript
14151
+ public readonly appOpenIdParameters: AppOpenIdParameters;
14152
+ ```
14153
+
14154
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.AppOpenIdParameters">AppOpenIdParameters</a>
14155
+
14156
+ Contains the OpenID parameters of the frontend/web application client.
14157
+
14158
+ ---
14159
+
13296
14160
  ##### `appUserPoolClient`<sup>Required</sup> <a name="appUserPoolClient" id="@btc-embedded/cdk-extensions.ICognitoUserPool.property.appUserPoolClient"></a>
13297
14161
 
13298
14162
  ```typescript
@@ -13376,6 +14240,29 @@ public readonly securityGroup: ISecurityGroup;
13376
14240
 
13377
14241
  ---
13378
14242
 
14243
+ ### IEcsCluster <a name="IEcsCluster" id="@btc-embedded/cdk-extensions.IEcsCluster"></a>
14244
+
14245
+ - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.EcsCluster">EcsCluster</a>, <a href="#@btc-embedded/cdk-extensions.IEcsCluster">IEcsCluster</a>
14246
+
14247
+
14248
+ #### Properties <a name="Properties" id="Properties"></a>
14249
+
14250
+ | **Name** | **Type** | **Description** |
14251
+ | --- | --- | --- |
14252
+ | <code><a href="#@btc-embedded/cdk-extensions.IEcsCluster.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.ICluster</code> | *No description.* |
14253
+
14254
+ ---
14255
+
14256
+ ##### `cluster`<sup>Required</sup> <a name="cluster" id="@btc-embedded/cdk-extensions.IEcsCluster.property.cluster"></a>
14257
+
14258
+ ```typescript
14259
+ public readonly cluster: ICluster;
14260
+ ```
14261
+
14262
+ - *Type:* aws-cdk-lib.aws_ecs.ICluster
14263
+
14264
+ ---
14265
+
13379
14266
  ### IEfsFileSystem <a name="IEfsFileSystem" id="@btc-embedded/cdk-extensions.IEfsFileSystem"></a>
13380
14267
 
13381
14268
  - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.EfsFileSystem">EfsFileSystem</a>, <a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a>
@@ -13507,6 +14394,29 @@ public readonly fqdn: string;
13507
14394
 
13508
14395
  ---
13509
14396
 
14397
+ ### IVpcV2 <a name="IVpcV2" id="@btc-embedded/cdk-extensions.IVpcV2"></a>
14398
+
14399
+ - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.VpcV2">VpcV2</a>, <a href="#@btc-embedded/cdk-extensions.IVpcV2">IVpcV2</a>
14400
+
14401
+
14402
+ #### Properties <a name="Properties" id="Properties"></a>
14403
+
14404
+ | **Name** | **Type** | **Description** |
14405
+ | --- | --- | --- |
14406
+ | <code><a href="#@btc-embedded/cdk-extensions.IVpcV2.property.vpcInstance">vpcInstance</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
14407
+
14408
+ ---
14409
+
14410
+ ##### `vpcInstance`<sup>Required</sup> <a name="vpcInstance" id="@btc-embedded/cdk-extensions.IVpcV2.property.vpcInstance"></a>
14411
+
14412
+ ```typescript
14413
+ public readonly vpcInstance: IVpc;
14414
+ ```
14415
+
14416
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
14417
+
14418
+ ---
14419
+
13510
14420
  ## Enums <a name="Enums" id="Enums"></a>
13511
14421
 
13512
14422
  ### EfsAccessMode <a name="EfsAccessMode" id="@btc-embedded/cdk-extensions.EfsAccessMode"></a>