@btc-embedded/cdk-extensions 0.19.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +477 -16
- package/API.md +544 -8
- package/CHANGELOG.md +30 -0
- package/lib/constructs/EventPipe.js +1 -1
- package/lib/constructs/S3Bucket.js +1 -1
- package/lib/constructs/SecureRestApi.js +1 -1
- package/lib/constructs/SecureRestApiV2.js +1 -1
- package/lib/extensions/ApiGatewayExtension.js +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
- package/lib/extensions/CloudMapExtension.js +1 -1
- package/lib/extensions/DeactivatableServiceExtension.js +1 -1
- package/lib/extensions/DocumentDbAccessExtension.js +1 -1
- package/lib/extensions/DomainEventMessagingExtension.js +1 -1
- package/lib/extensions/EfsMountExtension.js +1 -1
- package/lib/extensions/ExtraContainerExtension.js +1 -1
- package/lib/extensions/HTTPApiExtension.js +1 -1
- package/lib/extensions/LogExtension.js +1 -1
- package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
- package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
- package/lib/extensions/OpenIdExtension.js +1 -1
- package/lib/extensions/OpenTelemetryExtension.js +1 -1
- package/lib/extensions/PostgresDbAccessExtension.js +1 -1
- package/lib/extensions/SharedVolumeExtension.js +1 -1
- package/lib/extensions/TcpKeepAliveExtension.js +1 -1
- package/lib/platform/ApiGateway.js +1 -1
- package/lib/platform/ApiGatewayVpcLink.js +2 -2
- package/lib/platform/ApplicationLoadBalancer.js +1 -1
- package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
- package/lib/platform/BTCLogGroup.js +1 -1
- package/lib/platform/CognitoUserPool.js +2 -2
- package/lib/platform/DefaultUserPoolClients.js +1 -1
- package/lib/platform/DocumentDB.js +2 -2
- package/lib/platform/EcsCluster.d.ts +37 -0
- package/lib/platform/EcsCluster.js +87 -0
- package/lib/platform/EfsFileSystem.js +1 -1
- package/lib/platform/PrivateDnsNamespace.js +1 -1
- package/lib/platform/ResourceServer.js +1 -1
- package/lib/platform/Vpc.d.ts +4 -1
- package/lib/platform/Vpc.js +5 -2
- package/lib/platform/VpcV2.d.ts +34 -0
- package/lib/platform/VpcV2.js +59 -0
- package/lib/platform/index.d.ts +2 -0
- package/lib/platform/index.js +3 -1
- package/lib/utils/StackParameter.js +1 -1
- package/package.json +1 -1
package/API.md
CHANGED
|
@@ -2409,6 +2409,169 @@ public readonly securityGroup: ISecurityGroup;
|
|
|
2409
2409
|
---
|
|
2410
2410
|
|
|
2411
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
|
+
|
|
2412
2575
|
### EfsFileSystem <a name="EfsFileSystem" id="@btc-embedded/cdk-extensions.EfsFileSystem"></a>
|
|
2413
2576
|
|
|
2414
2577
|
- *Implements:* <a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a>
|
|
@@ -4522,7 +4685,7 @@ dedicated VPC, with max 2 AZS and NO Key for Exec
|
|
|
4522
4685
|
|
|
4523
4686
|
---
|
|
4524
4687
|
|
|
4525
|
-
#####
|
|
4688
|
+
##### ~~`toString`~~ <a name="toString" id="@btc-embedded/cdk-extensions.Vpc.toString"></a>
|
|
4526
4689
|
|
|
4527
4690
|
```typescript
|
|
4528
4691
|
public toString(): string
|
|
@@ -4539,7 +4702,7 @@ Returns a string representation of this construct.
|
|
|
4539
4702
|
|
|
4540
4703
|
---
|
|
4541
4704
|
|
|
4542
|
-
#####
|
|
4705
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@btc-embedded/cdk-extensions.Vpc.isConstruct"></a>
|
|
4543
4706
|
|
|
4544
4707
|
```typescript
|
|
4545
4708
|
import { Vpc } from '@btc-embedded/cdk-extensions'
|
|
@@ -4571,7 +4734,7 @@ Any object.
|
|
|
4571
4734
|
|
|
4572
4735
|
---
|
|
4573
4736
|
|
|
4574
|
-
#####
|
|
4737
|
+
##### ~~`fromBasePlatform`~~ <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.Vpc.fromBasePlatform"></a>
|
|
4575
4738
|
|
|
4576
4739
|
```typescript
|
|
4577
4740
|
import { Vpc } from '@btc-embedded/cdk-extensions'
|
|
@@ -4609,7 +4772,9 @@ Vpc.fromBasePlatform(scope: Construct, id: string, stackName: string)
|
|
|
4609
4772
|
|
|
4610
4773
|
---
|
|
4611
4774
|
|
|
4612
|
-
#####
|
|
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.
|
|
4613
4778
|
|
|
4614
4779
|
```typescript
|
|
4615
4780
|
public readonly node: Node;
|
|
@@ -4621,7 +4786,9 @@ The tree node.
|
|
|
4621
4786
|
|
|
4622
4787
|
---
|
|
4623
4788
|
|
|
4624
|
-
#####
|
|
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.
|
|
4625
4792
|
|
|
4626
4793
|
```typescript
|
|
4627
4794
|
public readonly clusterName: string;
|
|
@@ -4631,7 +4798,9 @@ public readonly clusterName: string;
|
|
|
4631
4798
|
|
|
4632
4799
|
---
|
|
4633
4800
|
|
|
4634
|
-
#####
|
|
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.
|
|
4635
4804
|
|
|
4636
4805
|
```typescript
|
|
4637
4806
|
public readonly fqdn: string;
|
|
@@ -4641,7 +4810,9 @@ public readonly fqdn: string;
|
|
|
4641
4810
|
|
|
4642
4811
|
---
|
|
4643
4812
|
|
|
4644
|
-
#####
|
|
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.
|
|
4645
4816
|
|
|
4646
4817
|
```typescript
|
|
4647
4818
|
public readonly cluster: Cluster;
|
|
@@ -4651,7 +4822,166 @@ public readonly cluster: Cluster;
|
|
|
4651
4822
|
|
|
4652
4823
|
---
|
|
4653
4824
|
|
|
4654
|
-
#####
|
|
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>
|
|
4973
|
+
|
|
4974
|
+
```typescript
|
|
4975
|
+
public readonly node: Node;
|
|
4976
|
+
```
|
|
4977
|
+
|
|
4978
|
+
- *Type:* constructs.Node
|
|
4979
|
+
|
|
4980
|
+
The tree node.
|
|
4981
|
+
|
|
4982
|
+
---
|
|
4983
|
+
|
|
4984
|
+
##### `vpcInstance`<sup>Required</sup> <a name="vpcInstance" id="@btc-embedded/cdk-extensions.VpcV2.property.vpcInstance"></a>
|
|
4655
4985
|
|
|
4656
4986
|
```typescript
|
|
4657
4987
|
public readonly vpcInstance: IVpc;
|
|
@@ -7189,6 +7519,88 @@ public readonly vpc: IVpc;
|
|
|
7189
7519
|
|
|
7190
7520
|
---
|
|
7191
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
|
+
|
|
7192
7604
|
### EfsFileSystemLookupOptions <a name="EfsFileSystemLookupOptions" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions"></a>
|
|
7193
7605
|
|
|
7194
7606
|
Lookup options for importing a filesystem from the base stack.
|
|
@@ -8797,6 +9209,84 @@ public readonly vpcCidr: IIpAddresses;
|
|
|
8797
9209
|
|
|
8798
9210
|
---
|
|
8799
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
|
+
|
|
8800
9290
|
## Classes <a name="Classes" id="Classes"></a>
|
|
8801
9291
|
|
|
8802
9292
|
### ApiGatewayExtension <a name="ApiGatewayExtension" id="@btc-embedded/cdk-extensions.ApiGatewayExtension"></a>
|
|
@@ -13750,6 +14240,29 @@ public readonly securityGroup: ISecurityGroup;
|
|
|
13750
14240
|
|
|
13751
14241
|
---
|
|
13752
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
|
+
|
|
13753
14266
|
### IEfsFileSystem <a name="IEfsFileSystem" id="@btc-embedded/cdk-extensions.IEfsFileSystem"></a>
|
|
13754
14267
|
|
|
13755
14268
|
- *Implemented By:* <a href="#@btc-embedded/cdk-extensions.EfsFileSystem">EfsFileSystem</a>, <a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a>
|
|
@@ -13881,6 +14394,29 @@ public readonly fqdn: string;
|
|
|
13881
14394
|
|
|
13882
14395
|
---
|
|
13883
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
|
+
|
|
13884
14420
|
## Enums <a name="Enums" id="Enums"></a>
|
|
13885
14421
|
|
|
13886
14422
|
### EfsAccessMode <a name="EfsAccessMode" id="@btc-embedded/cdk-extensions.EfsAccessMode"></a>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,34 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.20.0](https://github.com/btc-embedded/cdk-extensions/compare/v0.19.0...v0.20.0) (2026-01-15)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* Provinding VPC and ECS cluster as constructs
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* add fargate spot capacity provider to ecs cluster ([72db2cf](https://github.com/btc-embedded/cdk-extensions/commit/72db2cf970526dd3cb65eb8877924e0fb45082bd))
|
|
12
|
+
* Provinding VPC and ECS cluster as constructs ([553f891](https://github.com/btc-embedded/cdk-extensions/commit/553f891b2e66654668eacbbf3e640628ce9a908f))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* code bug ([99bd9f0](https://github.com/btc-embedded/cdk-extensions/commit/99bd9f023875abae2bde5568318c146a410d3cd3))
|
|
18
|
+
* refactor the code ([f633af6](https://github.com/btc-embedded/cdk-extensions/commit/f633af629963cccbb70053619299d70ae7f6e9b2))
|
|
19
|
+
* update doc and vpcv2 instance variables ([c07c72e](https://github.com/btc-embedded/cdk-extensions/commit/c07c72e6b3fbcd3c023600cce72836b8a0b61c4c))
|
|
20
|
+
|
|
21
|
+
## [0.19.0](https://github.com/btc-embedded/cdk-extensions/compare/v0.18.1...v0.19.0) (2026-01-14)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### ⚠ BREAKING CHANGES
|
|
25
|
+
|
|
26
|
+
* separate OIDC from ALB extension
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* separate OIDC from ALB extension ([c52b73a](https://github.com/btc-embedded/cdk-extensions/commit/c52b73a14637ff1b51afe64ba2147009af3f5c2b))
|
|
31
|
+
|
|
2
32
|
## [0.18.1](https://github.com/btc-embedded/cdk-extensions/compare/v0.18.0...v0.18.1) (2026-01-14)
|
|
3
33
|
|
|
4
34
|
|