konokenj.cdk-api-mcp-server 0.65.0__py3-none-any.whl → 0.67.0__py3-none-any.whl
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.
- cdk_api_mcp_server/__about__.py +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md +20 -20
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-msk-alpha/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-endpoint-eusc.ts +42 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +75 -13
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.app-mesh-proxy-config.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.capacity-provider-managed-draining.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.capacity-provider.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.clb-host-nw.ts +9 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cloudmap-container-port.ts +9 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-amazonlinux2-neuron-ami.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-imported.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-windows-server-ami.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster.amazonlinux2023-ami.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.default-capacity-provider.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.deployment-alarms.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.environment-file.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.exec-command.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.firelens-s3-config.ts +8 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.graviton.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-awsvpc-nw.ts +9 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-bridge-nw.ts +9 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-capacity-provider-default-roles.ts +93 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-capacity-provider.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-no-default-capacity-provider.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-constraint-default-empty.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-strategies.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.pseudo-terminal.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.sd-awsvpc-nw.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.sd-bridge-nw.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.spot-drain.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.swap-parameters.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.task-definition-placement-constraints.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-ecs-service-command-entry-point.ts +12 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.application-load-balanced-ecs-service.ts +13 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.healthchecks-multiple-application-load-balanced-ecs-service.ts +15 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.healthchecks-multiple-network-load-balanced-ecs-service.ts +8 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.multiple-application-load-balanced-ecs-service-idle-timeout.ts +12 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.multiple-application-load-balanced-ecs-service.ts +10 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.network-load-balanced-ecs-service.ts +7 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.scheduled-ecs-task.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.tls-network-load-balanced-ecs-service.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/README.md +46 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.event-ec2-task.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.sqs-event-rule-target.ts +37 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtimes.ts +8 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md +4 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.option-group.ts +40 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.elastic-beanstalk-environment-target.ts +2 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.elastic-beanstalk-hostedzoneid.ts +2 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.elastic-beanstalk-token-endpoint.ts +2 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/README.md +47 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-run-task-capacity-provider.ts +145 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-run-task-ref-definition.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-run-task.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-task.ts +0 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.fargate-run-task-capacity-provider.ts +125 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +2 -49
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md +0 -42
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.67.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.67.0.dist-info}/RECORD +68 -63
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.67.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.67.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.67.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib';
|
|
3
|
+
import {
|
|
4
|
+
DatabaseInstanceEngine,
|
|
5
|
+
OptionGroup,
|
|
6
|
+
OracleEngineVersion,
|
|
7
|
+
} from 'aws-cdk-lib/aws-rds';
|
|
8
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
9
|
+
|
|
10
|
+
class OptionGroupTestStack extends cdk.Stack {
|
|
11
|
+
constructor(scope: cdk.App, id: string) {
|
|
12
|
+
super(scope, id);
|
|
13
|
+
const vpc = new ec2.Vpc(this, 'VPC', { maxAzs: 2, restrictDefaultSecurityGroup: false });
|
|
14
|
+
|
|
15
|
+
const optionGroup = new OptionGroup(this, 'OptionGroup', {
|
|
16
|
+
engine: DatabaseInstanceEngine.oracleSe2({
|
|
17
|
+
version: OracleEngineVersion.VER_19,
|
|
18
|
+
}),
|
|
19
|
+
description: 'Custom Option Grouptest',
|
|
20
|
+
optionGroupName: 'custom-og-name',
|
|
21
|
+
configurations: [
|
|
22
|
+
{
|
|
23
|
+
name: 'OEM',
|
|
24
|
+
port: 1158,
|
|
25
|
+
vpc,
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
optionGroup.optionConnections.OEM.connections.allowDefaultPortFrom(
|
|
30
|
+
ec2.Peer.ipv4('10.0.0.0/16'),
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const app = new cdk.App();
|
|
36
|
+
const stack = new OptionGroupTestStack(app, 'aws-rds-option-group');
|
|
37
|
+
new IntegTest(app, 'OptionGroupTest', {
|
|
38
|
+
testCases: [stack],
|
|
39
|
+
});
|
|
40
|
+
app.synth();
|
|
@@ -10,6 +10,7 @@ import { RegionInfo } from 'aws-cdk-lib/region-info';
|
|
|
10
10
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
11
11
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
12
12
|
import * as s3assets from 'aws-cdk-lib/aws-s3-assets';
|
|
13
|
+
import { SOLUTION_STACK_NAME } from '../../utils/aws-elasticbeanstalk';
|
|
13
14
|
|
|
14
15
|
class TestStack extends cdk.Stack {
|
|
15
16
|
constructor(scope: Construct, id: string) {
|
|
@@ -77,7 +78,7 @@ class TestStack extends cdk.Stack {
|
|
|
77
78
|
|
|
78
79
|
const eb = new elasticbeanstalk.CfnEnvironment(this, 'Environment', {
|
|
79
80
|
applicationName: appName,
|
|
80
|
-
solutionStackName:
|
|
81
|
+
solutionStackName: SOLUTION_STACK_NAME.NODEJS_20,
|
|
81
82
|
environmentName: 'MyEnvironment',
|
|
82
83
|
optionSettings: optionSettingProperties,
|
|
83
84
|
versionLabel: appVersion.ref,
|
|
@@ -7,6 +7,7 @@ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
|
7
7
|
import * as elasticbeanstalk from 'aws-cdk-lib/aws-elasticbeanstalk';
|
|
8
8
|
import * as custom from 'aws-cdk-lib/custom-resources';
|
|
9
9
|
import { RegionInfo } from '@aws-cdk/region-info';
|
|
10
|
+
import { SOLUTION_STACK_NAME } from '../../utils/aws-elasticbeanstalk';
|
|
10
11
|
|
|
11
12
|
const app = new App({
|
|
12
13
|
postCliContext: {
|
|
@@ -63,7 +64,7 @@ const optionSettings: elasticbeanstalk.CfnEnvironment.OptionSettingProperty[] =
|
|
|
63
64
|
|
|
64
65
|
const ebsEnv = new elasticbeanstalk.CfnEnvironment(stack, 'Environment', {
|
|
65
66
|
applicationName,
|
|
66
|
-
solutionStackName:
|
|
67
|
+
solutionStackName: SOLUTION_STACK_NAME.NODEJS_22,
|
|
67
68
|
optionSettings,
|
|
68
69
|
});
|
|
69
70
|
ebsEnv.addDependency(ebsApp);
|
|
@@ -6,6 +6,7 @@ import * as targets from 'aws-cdk-lib/aws-route53-targets';
|
|
|
6
6
|
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
7
7
|
import * as elasticbeanstalk from 'aws-cdk-lib/aws-elasticbeanstalk';
|
|
8
8
|
import * as custom from 'aws-cdk-lib/custom-resources';
|
|
9
|
+
import { SOLUTION_STACK_NAME } from '../../utils/aws-elasticbeanstalk';
|
|
9
10
|
|
|
10
11
|
const app = new App({
|
|
11
12
|
postCliContext: {
|
|
@@ -66,7 +67,7 @@ const optionSettings: elasticbeanstalk.CfnEnvironment.OptionSettingProperty[] =
|
|
|
66
67
|
|
|
67
68
|
const ebsEnv = new elasticbeanstalk.CfnEnvironment(stack, 'Environment', {
|
|
68
69
|
applicationName,
|
|
69
|
-
solutionStackName:
|
|
70
|
+
solutionStackName: SOLUTION_STACK_NAME.NODEJS_22,
|
|
70
71
|
optionSettings,
|
|
71
72
|
});
|
|
72
73
|
ebsEnv.addDependency(ebsApp);
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/README.md
CHANGED
|
@@ -49,6 +49,7 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
|
|
|
49
49
|
- [RunTask](#runtask)
|
|
50
50
|
- [EC2](#ec2)
|
|
51
51
|
- [Fargate](#fargate)
|
|
52
|
+
- [Capacity Provider Options](#capacity-provider-options)
|
|
52
53
|
- [Override CPU and Memory Parameter](#override-cpu-and-memory-parameter)
|
|
53
54
|
- [ECS enable Exec](#ecs-enable-exec)
|
|
54
55
|
- [EMR](#emr)
|
|
@@ -829,6 +830,52 @@ const runTask = new tasks.EcsRunTask(this, 'RunFargate', {
|
|
|
829
830
|
});
|
|
830
831
|
```
|
|
831
832
|
|
|
833
|
+
#### Capacity Provider Options
|
|
834
|
+
|
|
835
|
+
The `capacityProviderOptions` property allows you to configure the capacity provider
|
|
836
|
+
strategy for both EC2 and Fargate launch targets.
|
|
837
|
+
|
|
838
|
+
- When `CapacityProviderOptions.custom()` is used, you can specify a custom capacity provider strategy.
|
|
839
|
+
- When `CapacityProviderOptions.default()` is used, the task uses the cluster's default capacity provider strategy.
|
|
840
|
+
- If `capacityProviderOptions` is not specified, the task uses the launch type (EC2 or FARGATE) without a capacity provider strategy.
|
|
841
|
+
|
|
842
|
+
```ts
|
|
843
|
+
const vpc = ec2.Vpc.fromLookup(this, 'Vpc', {
|
|
844
|
+
isDefault: true,
|
|
845
|
+
});
|
|
846
|
+
|
|
847
|
+
const cluster = new ecs.Cluster(this, 'FargateCluster', { vpc });
|
|
848
|
+
|
|
849
|
+
const taskDefinition = new ecs.TaskDefinition(this, 'TD', {
|
|
850
|
+
memoryMiB: '512',
|
|
851
|
+
cpu: '256',
|
|
852
|
+
compatibility: ecs.Compatibility.FARGATE,
|
|
853
|
+
});
|
|
854
|
+
|
|
855
|
+
// Use custom() option - specify custom capacity provider strategy
|
|
856
|
+
const runTaskWithCustom = new tasks.EcsRunTask(this, 'RunTaskWithCustom', {
|
|
857
|
+
cluster,
|
|
858
|
+
taskDefinition,
|
|
859
|
+
launchTarget: new tasks.EcsFargateLaunchTarget({
|
|
860
|
+
platformVersion: ecs.FargatePlatformVersion.VERSION1_4,
|
|
861
|
+
capacityProviderOptions: tasks.CapacityProviderOptions.custom([
|
|
862
|
+
{ capacityProvider: 'FARGATE_SPOT', weight: 2, base: 1 },
|
|
863
|
+
{ capacityProvider: 'FARGATE', weight: 1 },
|
|
864
|
+
]),
|
|
865
|
+
}),
|
|
866
|
+
});
|
|
867
|
+
|
|
868
|
+
// Use default() option - uses cluster's default capacity provider strategy
|
|
869
|
+
const runTaskWithDefault = new tasks.EcsRunTask(this, 'RunTaskWithDefault', {
|
|
870
|
+
cluster,
|
|
871
|
+
taskDefinition,
|
|
872
|
+
launchTarget: new tasks.EcsFargateLaunchTarget({
|
|
873
|
+
platformVersion: ecs.FargatePlatformVersion.VERSION1_4,
|
|
874
|
+
capacityProviderOptions: tasks.CapacityProviderOptions.default(),
|
|
875
|
+
}),
|
|
876
|
+
});
|
|
877
|
+
```
|
|
878
|
+
|
|
832
879
|
#### Override CPU and Memory Parameter
|
|
833
880
|
|
|
834
881
|
By setting the property cpu or memoryMiB, you can override the Fargate or EC2 task instance size at runtime.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as asg from 'aws-cdk-lib/aws-autoscaling';
|
|
3
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
4
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
5
|
+
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
|
|
6
|
+
import * as cdk from 'aws-cdk-lib';
|
|
7
|
+
import { Duration } from 'aws-cdk-lib';
|
|
8
|
+
import * as tasks from 'aws-cdk-lib/aws-stepfunctions-tasks';
|
|
9
|
+
import { IntegTest, ExpectedResult } from '@aws-cdk/integ-tests-alpha';
|
|
10
|
+
|
|
11
|
+
const app = new cdk.App();
|
|
12
|
+
const stack = new cdk.Stack(app, 'aws-sfn-tasks-ecs-ec2-run-task-capacity-provider');
|
|
13
|
+
|
|
14
|
+
const cluster = new ecs.Cluster(stack, 'Ec2Cluster');
|
|
15
|
+
|
|
16
|
+
// Create Auto Scaling Groups
|
|
17
|
+
const autoScalingGroup1 = new asg.AutoScalingGroup(stack, 'AutoScalingGroup1', {
|
|
18
|
+
vpc: cluster.vpc,
|
|
19
|
+
instanceType: new ec2.InstanceType('t2.micro'),
|
|
20
|
+
machineImage: ecs.EcsOptimizedImage.amazonLinux2(),
|
|
21
|
+
minCapacity: 1,
|
|
22
|
+
maxCapacity: 2,
|
|
23
|
+
vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC },
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const autoScalingGroup2 = new asg.AutoScalingGroup(stack, 'AutoScalingGroup2', {
|
|
27
|
+
vpc: cluster.vpc,
|
|
28
|
+
instanceType: new ec2.InstanceType('t2.micro'),
|
|
29
|
+
machineImage: ecs.EcsOptimizedImage.amazonLinux2(),
|
|
30
|
+
minCapacity: 1,
|
|
31
|
+
maxCapacity: 2,
|
|
32
|
+
vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC },
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Create and add Capacity Providers
|
|
36
|
+
const capacityProvider1 = new ecs.AsgCapacityProvider(stack, 'CP1', {
|
|
37
|
+
autoScalingGroup: autoScalingGroup1,
|
|
38
|
+
enableManagedTerminationProtection: false,
|
|
39
|
+
enableManagedDraining: true,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const capacityProvider2 = new ecs.AsgCapacityProvider(stack, 'CP2', {
|
|
43
|
+
autoScalingGroup: autoScalingGroup2,
|
|
44
|
+
enableManagedTerminationProtection: false,
|
|
45
|
+
enableManagedDraining: true,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
cluster.addAsgCapacityProvider(capacityProvider1);
|
|
49
|
+
cluster.addAsgCapacityProvider(capacityProvider2);
|
|
50
|
+
|
|
51
|
+
// Set default capacity provider strategy for the cluster
|
|
52
|
+
cluster.addDefaultCapacityProviderStrategy([
|
|
53
|
+
{ capacityProvider: capacityProvider1.capacityProviderName, weight: 1, base: 1 },
|
|
54
|
+
{ capacityProvider: capacityProvider2.capacityProviderName, weight: 2 },
|
|
55
|
+
]);
|
|
56
|
+
|
|
57
|
+
// Build task definition
|
|
58
|
+
const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef');
|
|
59
|
+
const containerDefinition = taskDefinition.addContainer('Container', {
|
|
60
|
+
image: ecs.ContainerImage.fromAsset(path.resolve(__dirname, 'eventhandler-image')),
|
|
61
|
+
memoryLimitMiB: 256,
|
|
62
|
+
logging: new ecs.AwsLogDriver({ streamPrefix: 'EventDemo' }),
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Build state machine with different capacity provider options
|
|
66
|
+
const definition = new sfn.Pass(stack, 'Start', {
|
|
67
|
+
result: sfn.Result.fromObject({ SomeKey: 'SomeValue' }),
|
|
68
|
+
}).next(
|
|
69
|
+
// Task without capacity provider option - uses launch type
|
|
70
|
+
new tasks.EcsRunTask(stack, 'Ec2TaskWithNone', {
|
|
71
|
+
integrationPattern: sfn.IntegrationPattern.RUN_JOB,
|
|
72
|
+
cluster,
|
|
73
|
+
taskDefinition,
|
|
74
|
+
containerOverrides: [
|
|
75
|
+
{
|
|
76
|
+
containerDefinition,
|
|
77
|
+
environment: [
|
|
78
|
+
{
|
|
79
|
+
name: 'SOME_KEY',
|
|
80
|
+
value: sfn.JsonPath.stringAt('$.SomeKey'),
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
launchTarget: new tasks.EcsEc2LaunchTarget(),
|
|
86
|
+
enableExecuteCommand: true,
|
|
87
|
+
resultPath: sfn.JsonPath.DISCARD,
|
|
88
|
+
}),
|
|
89
|
+
).next(
|
|
90
|
+
// Task with custom capacity provider option
|
|
91
|
+
new tasks.EcsRunTask(stack, 'Ec2TaskWithCustom', {
|
|
92
|
+
cluster,
|
|
93
|
+
taskDefinition,
|
|
94
|
+
launchTarget: new tasks.EcsEc2LaunchTarget({
|
|
95
|
+
capacityProviderOptions: tasks.CapacityProviderOptions.custom([
|
|
96
|
+
{
|
|
97
|
+
capacityProvider: capacityProvider1.capacityProviderName,
|
|
98
|
+
weight: 1,
|
|
99
|
+
base: 0,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
capacityProvider: capacityProvider2.capacityProviderName,
|
|
103
|
+
weight: 2,
|
|
104
|
+
base: 1,
|
|
105
|
+
},
|
|
106
|
+
]),
|
|
107
|
+
}),
|
|
108
|
+
resultPath: sfn.JsonPath.DISCARD,
|
|
109
|
+
}),
|
|
110
|
+
).next(
|
|
111
|
+
// Task with default capacity provider option - uses cluster default
|
|
112
|
+
new tasks.EcsRunTask(stack, 'Ec2TaskWithDefault', {
|
|
113
|
+
cluster,
|
|
114
|
+
taskDefinition,
|
|
115
|
+
launchTarget: new tasks.EcsEc2LaunchTarget({
|
|
116
|
+
capacityProviderOptions: tasks.CapacityProviderOptions.default(),
|
|
117
|
+
}),
|
|
118
|
+
resultPath: sfn.JsonPath.DISCARD,
|
|
119
|
+
}),
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
const sm = new sfn.StateMachine(stack, 'StateMachine', {
|
|
123
|
+
definition,
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
const integ = new IntegTest(app, 'SfnTasksEcsEc2RunTaskCapacityProviderTest', {
|
|
127
|
+
testCases: [stack],
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
// Start state machine execution and verify it succeeds
|
|
131
|
+
const startExecutionCall = integ.assertions.awsApiCall('StepFunctions', 'startExecution', {
|
|
132
|
+
stateMachineArn: sm.stateMachineArn,
|
|
133
|
+
input: JSON.stringify({ SomeKey: 'SomeValue' }),
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
startExecutionCall.next(
|
|
137
|
+
integ.assertions.awsApiCall('StepFunctions', 'describeExecution', {
|
|
138
|
+
executionArn: startExecutionCall.getAttString('executionArn'),
|
|
139
|
+
}).expect(ExpectedResult.objectLike({
|
|
140
|
+
status: 'SUCCEEDED',
|
|
141
|
+
})).waitForAssertions({
|
|
142
|
+
totalTimeout: Duration.minutes(15),
|
|
143
|
+
interval: Duration.seconds(10),
|
|
144
|
+
}),
|
|
145
|
+
);
|
|
@@ -10,8 +10,6 @@ import { EC2_RESTRICT_DEFAULT_SECURITY_GROUP, STEPFUNCTIONS_TASKS_FIX_RUN_ECS_TA
|
|
|
10
10
|
const app = new cdk.App({
|
|
11
11
|
postCliContext: {
|
|
12
12
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
13
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
14
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
15
13
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
16
14
|
},
|
|
17
15
|
});
|
|
@@ -20,8 +20,6 @@ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
|
20
20
|
const app = new cdk.App({
|
|
21
21
|
postCliContext: {
|
|
22
22
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
23
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
24
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
25
23
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
26
24
|
},
|
|
27
25
|
});
|
|
@@ -20,8 +20,6 @@ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
|
20
20
|
const app = new cdk.App({
|
|
21
21
|
postCliContext: {
|
|
22
22
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
23
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
24
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
25
23
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
26
24
|
},
|
|
27
25
|
});
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
3
|
+
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
|
|
4
|
+
import * as cdk from 'aws-cdk-lib';
|
|
5
|
+
import { Duration } from 'aws-cdk-lib';
|
|
6
|
+
import * as tasks from 'aws-cdk-lib/aws-stepfunctions-tasks';
|
|
7
|
+
import { IntegTest, ExpectedResult } from '@aws-cdk/integ-tests-alpha';
|
|
8
|
+
|
|
9
|
+
const app = new cdk.App();
|
|
10
|
+
const stack = new cdk.Stack(app, 'aws-sfn-tasks-ecs-fargate-run-task-capacity-provider');
|
|
11
|
+
|
|
12
|
+
const cluster = new ecs.Cluster(stack, 'FargateCluster');
|
|
13
|
+
|
|
14
|
+
// Enable FARGATE and FARGATE_SPOT capacity providers
|
|
15
|
+
cluster.enableFargateCapacityProviders();
|
|
16
|
+
|
|
17
|
+
// Set default capacity provider strategy for the cluster
|
|
18
|
+
cluster.addDefaultCapacityProviderStrategy([
|
|
19
|
+
{ capacityProvider: 'FARGATE', weight: 1, base: 1 },
|
|
20
|
+
{ capacityProvider: 'FARGATE_SPOT', weight: 4 },
|
|
21
|
+
]);
|
|
22
|
+
|
|
23
|
+
// Build task definition
|
|
24
|
+
const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef', {
|
|
25
|
+
memoryLimitMiB: 512,
|
|
26
|
+
cpu: 256,
|
|
27
|
+
runtimePlatform: {
|
|
28
|
+
cpuArchitecture: ecs.CpuArchitecture.X86_64,
|
|
29
|
+
operatingSystemFamily: ecs.OperatingSystemFamily.LINUX,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const containerDefinition = taskDefinition.addContainer('TheContainer', {
|
|
33
|
+
image: ecs.ContainerImage.fromAsset(path.resolve(__dirname, 'eventhandler-image')),
|
|
34
|
+
memoryLimitMiB: 256,
|
|
35
|
+
logging: new ecs.AwsLogDriver({ streamPrefix: 'EventDemo' }),
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// Build state machine with different capacity provider options
|
|
39
|
+
const definition = new sfn.Pass(stack, 'Start', {
|
|
40
|
+
result: sfn.Result.fromObject({ SomeKey: 'SomeValue', Timeout: 900 }),
|
|
41
|
+
}).next(
|
|
42
|
+
// Task without capacity provider option - uses launch type
|
|
43
|
+
new tasks.EcsRunTask(stack, 'FargateTaskWithNone', {
|
|
44
|
+
integrationPattern: sfn.IntegrationPattern.RUN_JOB,
|
|
45
|
+
cluster,
|
|
46
|
+
taskDefinition,
|
|
47
|
+
assignPublicIp: true,
|
|
48
|
+
containerOverrides: [
|
|
49
|
+
{
|
|
50
|
+
containerDefinition,
|
|
51
|
+
environment: [
|
|
52
|
+
{
|
|
53
|
+
name: 'SOME_KEY',
|
|
54
|
+
value: sfn.JsonPath.stringAt('$.SomeKey'),
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
launchTarget: new tasks.EcsFargateLaunchTarget({
|
|
60
|
+
platformVersion: ecs.FargatePlatformVersion.VERSION1_4,
|
|
61
|
+
}),
|
|
62
|
+
taskTimeout: sfn.Timeout.at('$.Timeout'),
|
|
63
|
+
cpu: '1024',
|
|
64
|
+
memoryMiB: '2048',
|
|
65
|
+
resultPath: sfn.JsonPath.DISCARD,
|
|
66
|
+
}),
|
|
67
|
+
).next(
|
|
68
|
+
// Task with custom capacity provider option
|
|
69
|
+
new tasks.EcsRunTask(stack, 'FargateTaskWithCustom', {
|
|
70
|
+
cluster,
|
|
71
|
+
taskDefinition,
|
|
72
|
+
launchTarget: new tasks.EcsFargateLaunchTarget({
|
|
73
|
+
platformVersion: ecs.FargatePlatformVersion.VERSION1_4,
|
|
74
|
+
capacityProviderOptions: tasks.CapacityProviderOptions.custom([
|
|
75
|
+
{
|
|
76
|
+
capacityProvider: 'FARGATE',
|
|
77
|
+
weight: 1,
|
|
78
|
+
base: 0,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
capacityProvider: 'FARGATE_SPOT',
|
|
82
|
+
weight: 2,
|
|
83
|
+
base: 1,
|
|
84
|
+
},
|
|
85
|
+
]),
|
|
86
|
+
}),
|
|
87
|
+
resultPath: sfn.JsonPath.DISCARD,
|
|
88
|
+
}),
|
|
89
|
+
).next(
|
|
90
|
+
// Task with default capacity provider option - uses cluster default
|
|
91
|
+
new tasks.EcsRunTask(stack, 'FargateTaskWithDefault', {
|
|
92
|
+
cluster,
|
|
93
|
+
taskDefinition,
|
|
94
|
+
launchTarget: new tasks.EcsFargateLaunchTarget({
|
|
95
|
+
platformVersion: ecs.FargatePlatformVersion.VERSION1_4,
|
|
96
|
+
capacityProviderOptions: tasks.CapacityProviderOptions.default(),
|
|
97
|
+
}),
|
|
98
|
+
resultPath: sfn.JsonPath.DISCARD,
|
|
99
|
+
}),
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
const sm = new sfn.StateMachine(stack, 'StateMachine', {
|
|
103
|
+
definition,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
const integ = new IntegTest(app, 'SfnTasksEcsFargateRunTaskCapacityProviderTest', {
|
|
107
|
+
testCases: [stack],
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// Start state machine execution and verify it succeeds
|
|
111
|
+
const startExecutionCall = integ.assertions.awsApiCall('StepFunctions', 'startExecution', {
|
|
112
|
+
stateMachineArn: sm.stateMachineArn,
|
|
113
|
+
input: JSON.stringify({ SomeKey: 'SomeValue', Timeout: 900 }),
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
startExecutionCall.next(
|
|
117
|
+
integ.assertions.awsApiCall('StepFunctions', 'describeExecution', {
|
|
118
|
+
executionArn: startExecutionCall.getAttString('executionArn'),
|
|
119
|
+
}).expect(ExpectedResult.objectLike({
|
|
120
|
+
status: 'SUCCEEDED',
|
|
121
|
+
})).waitForAssertions({
|
|
122
|
+
totalTimeout: Duration.minutes(15),
|
|
123
|
+
interval: Duration.seconds(10),
|
|
124
|
+
}),
|
|
125
|
+
);
|
|
@@ -84,8 +84,6 @@ Flags come in three types:
|
|
|
84
84
|
| [@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault](#aws-cdkaws-ec2bastionhostuseamazonlinux2023bydefault) | When enabled, the BastionHost construct will use the latest Amazon Linux 2023 AMI, instead of Amazon Linux 2. | 2.172.0 | new default |
|
|
85
85
|
| [@aws-cdk/core:aspectStabilization](#aws-cdkcoreaspectstabilization) | When enabled, a stabilization loop will be run when invoking Aspects during synthesis. | 2.172.0 | config |
|
|
86
86
|
| [@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource](#aws-cdkaws-route53-targetsuserpooldomainnamemethodwithoutcustomresource) | When enabled, use a new method for DNS Name of user pool domain target without creating a custom resource. | 2.174.0 | fix |
|
|
87
|
-
| [@aws-cdk/aws-ecs:disableEcsImdsBlocking](#aws-cdkaws-ecsdisableecsimdsblocking) | When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)** | 2.175.0 | temporary |
|
|
88
|
-
| [@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature](#aws-cdkaws-ecsenableimdsblockingdeprecatedfeature) | When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)** | 2.175.0 | temporary |
|
|
89
87
|
| [@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault](#aws-cdkaws-elasticloadbalancingv2albdualstackwithoutpublicipv4securitygrouprulesdefault) | When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere | 2.176.0 | fix |
|
|
90
88
|
| [@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections](#aws-cdkaws-iamoidcrejectunauthorizedconnections) | When enabled, the default behaviour of OIDC provider will reject unauthorized connections | 2.177.0 | fix |
|
|
91
89
|
| [@aws-cdk/core:enableAdditionalMetadataCollection](#aws-cdkcoreenableadditionalmetadatacollection) | When enabled, CDK will expand the scope of usage data collected to better inform CDK development and improve communication for security concerns and emerging issues. | 2.178.0 | config |
|
|
@@ -110,7 +108,7 @@ Flags come in three types:
|
|
|
110
108
|
| [@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId](#aws-cdkaws-ecs-patternsuniquetargetgroupid) | When enabled, ECS patterns will generate unique target group IDs to prevent conflicts during load balancer replacement | 2.221.0 | fix |
|
|
111
109
|
| [@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint](#aws-cdkaws-stepfunctions-taskshttpinvokedynamicjsonpathendpoint) | When enabled, allows using a dynamic apiEndpoint with JSONPath format in HttpInvoke tasks. | 2.221.0 | fix |
|
|
112
110
|
| [@aws-cdk/aws-elasticloadbalancingv2:networkLoadBalancerWithSecurityGroupByDefault](#aws-cdkaws-elasticloadbalancingv2networkloadbalancerwithsecuritygroupbydefault) | When enabled, Network Load Balancer will be created with a security group by default. | 2.222.0 | new default |
|
|
113
|
-
| [@aws-cdk/aws-route53-patterns:useDistribution](#aws-cdkaws-route53-patternsusedistribution) | Use the `Distribution` resource instead of `CloudFrontWebDistribution` |
|
|
111
|
+
| [@aws-cdk/aws-route53-patterns:useDistribution](#aws-cdkaws-route53-patternsusedistribution) | Use the `Distribution` resource instead of `CloudFrontWebDistribution` | 2.233.0 | new default |
|
|
114
112
|
|
|
115
113
|
<!-- END table -->
|
|
116
114
|
|
|
@@ -177,8 +175,6 @@ The following json shows the current recommended set of flags, as `cdk init` wou
|
|
|
177
175
|
"@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
|
|
178
176
|
"@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
|
|
179
177
|
"@aws-cdk/core:explicitStackTags": true,
|
|
180
|
-
"@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
|
|
181
|
-
"@aws-cdk/aws-ecs:disableEcsImdsBlocking": true,
|
|
182
178
|
"@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
|
|
183
179
|
"@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true,
|
|
184
180
|
"@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
|
|
@@ -1787,49 +1783,6 @@ If the flag is set to false then a custom resource will be created when using `U
|
|
|
1787
1783
|
| 2.174.0 | `false` | `true` |
|
|
1788
1784
|
|
|
1789
1785
|
|
|
1790
|
-
### @aws-cdk/aws-ecs:disableEcsImdsBlocking
|
|
1791
|
-
|
|
1792
|
-
*When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)***
|
|
1793
|
-
|
|
1794
|
-
Flag type: Temporary flag
|
|
1795
|
-
|
|
1796
|
-
In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
|
|
1797
|
-
accessing IMDS. CDK cannot guarantee the correct execution of the feature in all platforms. Setting this feature flag
|
|
1798
|
-
to true will ensure CDK does not attempt to implement IMDS blocking. By <ins>**end of 2025**</ins>, CDK will remove the
|
|
1799
|
-
IMDS blocking feature. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
|
|
1800
|
-
|
|
1801
|
-
It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
| Since | Unset behaves like | Recommended value |
|
|
1805
|
-
| ----- | ----- | ----- |
|
|
1806
|
-
| (not in v1) | | |
|
|
1807
|
-
| 2.175.0 | `false` | `true` |
|
|
1808
|
-
|
|
1809
|
-
**Compatibility with old behavior:** It is strongly recommended to set this flag to true. However, if necessary, set this flag to false to continue using the old implementation.
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
### @aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature
|
|
1813
|
-
|
|
1814
|
-
*When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)***
|
|
1815
|
-
|
|
1816
|
-
Flag type: Temporary flag
|
|
1817
|
-
|
|
1818
|
-
In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
|
|
1819
|
-
accessing IMDS. Set this flag to true in order to use new and updated commands. Please note that this
|
|
1820
|
-
feature alone with this feature flag will be deprecated by <ins>**end of 2025**</ins> as CDK cannot
|
|
1821
|
-
guarantee the correct execution of the feature in all platforms. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
|
|
1822
|
-
It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
| Since | Unset behaves like | Recommended value |
|
|
1826
|
-
| ----- | ----- | ----- |
|
|
1827
|
-
| (not in v1) | | |
|
|
1828
|
-
| 2.175.0 | `false` | `false` |
|
|
1829
|
-
|
|
1830
|
-
**Compatibility with old behavior:** Set this flag to false in order to continue using old and outdated commands. However, it is **not** recommended.
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
1786
|
### @aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault
|
|
1834
1787
|
|
|
1835
1788
|
*When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere*
|
|
@@ -2353,7 +2306,7 @@ of the deprecated `CloudFrontWebDistribution` construct.
|
|
|
2353
2306
|
| Since | Unset behaves like | Recommended value |
|
|
2354
2307
|
| ----- | ----- | ----- |
|
|
2355
2308
|
| (not in v1) | | |
|
|
2356
|
-
|
|
|
2309
|
+
| 2.233.0 | `false` | `true` |
|
|
2357
2310
|
|
|
2358
2311
|
**Compatibility with old behavior:** Define a `CloudFrontWebDistribution` explicitly
|
|
2359
2312
|
|
|
@@ -528,48 +528,6 @@ _cdk.json_
|
|
|
528
528
|
}
|
|
529
529
|
```
|
|
530
530
|
|
|
531
|
-
* `@aws-cdk/aws-ecs:disableEcsImdsBlocking`
|
|
532
|
-
|
|
533
|
-
When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false.
|
|
534
|
-
|
|
535
|
-
In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
|
|
536
|
-
accessing IMDS. CDK cannot guarantee the correct execution of the feature in all platforms. Setting this feature flag
|
|
537
|
-
to true will ensure CDK does not attempt to implement IMDS blocking. By <ins>**end of 2025**</ins>, CDK will remove the
|
|
538
|
-
IMDS blocking feature. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
|
|
539
|
-
|
|
540
|
-
**It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
|
|
541
|
-
|
|
542
|
-
_cdk.json_
|
|
543
|
-
|
|
544
|
-
```json
|
|
545
|
-
{
|
|
546
|
-
"context": {
|
|
547
|
-
"@aws-cdk/aws-ecs:disableEcsImdsBlocking": true
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
* `@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature`
|
|
553
|
-
|
|
554
|
-
When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only.**
|
|
555
|
-
|
|
556
|
-
In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
|
|
557
|
-
accessing IMDS. Set this flag to true in order to use new and updated commands. Please note that this
|
|
558
|
-
feature alone with this feature flag will be deprecated by <ins>end of 2025</ins> as CDK cannot
|
|
559
|
-
guarantee the correct execution of the feature in all platforms. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
|
|
560
|
-
|
|
561
|
-
**It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
|
|
562
|
-
|
|
563
|
-
_cdk.json_
|
|
564
|
-
|
|
565
|
-
```json
|
|
566
|
-
{
|
|
567
|
-
"context": {
|
|
568
|
-
"@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
|
|
569
|
-
},
|
|
570
|
-
}
|
|
571
|
-
```
|
|
572
|
-
|
|
573
531
|
* `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault`
|
|
574
532
|
|
|
575
533
|
When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: konokenj.cdk-api-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.67.0
|
|
4
4
|
Summary: An MCP server provides AWS CDK API Reference
|
|
5
5
|
Project-URL: Documentation, https://github.com/konokenj/cdk-api-mcp-server#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/konokenj/cdk-api-mcp-server/issues
|
|
@@ -26,7 +26,7 @@ Description-Content-Type: text/markdown
|
|
|
26
26
|
[](https://pypi.org/project/konokenj.cdk-api-mcp-server)
|
|
27
27
|
|
|
28
28
|
<!-- DEP-VERSIONS-START -->
|
|
29
|
-
[](https://github.com/konokenj/cdk-api-mcp-server/blob/main/current-versions/aws-cdk.txt)
|
|
30
30
|
<!-- DEP-VERSIONS-END -->
|
|
31
31
|
|
|
32
32
|
---
|