konokenj.cdk-api-mcp-server 0.65.0__py3-none-any.whl → 0.66.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.
Potentially problematic release.
This version of konokenj.cdk-api-mcp-server might be problematic. Click here for more details.
- 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-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.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-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-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/cx-api/FEATURE_FLAGS.md +0 -47
- 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.66.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/RECORD +53 -53
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { InstanceType, Vpc, Peer, Port, SecurityGroup } from 'aws-cdk-lib/aws-ec2';
|
|
2
2
|
import { AsgCapacityProvider, Cluster, ContainerImage, EcsOptimizedImage } from 'aws-cdk-lib/aws-ecs';
|
|
3
3
|
import { AutoScalingGroup } from 'aws-cdk-lib/aws-autoscaling';
|
|
4
|
-
import { App, Stack } from 'aws-cdk-lib';
|
|
4
|
+
import { App, Stack, CfnResource } from 'aws-cdk-lib';
|
|
5
5
|
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
6
6
|
import { NetworkMultipleTargetGroupsEc2Service } from 'aws-cdk-lib/aws-ecs-patterns';
|
|
7
7
|
|
|
8
8
|
const app = new App({
|
|
9
9
|
postCliContext: {
|
|
10
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
11
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
12
10
|
},
|
|
13
11
|
});
|
|
14
12
|
const stack = new Stack(app, 'aws-ecs-integ-nlb-healthchecks');
|
|
@@ -19,6 +17,13 @@ const securityGroup = new SecurityGroup(stack, 'MyAutoScalingGroupSG', {
|
|
|
19
17
|
allowAllOutbound: true,
|
|
20
18
|
});
|
|
21
19
|
securityGroup.addIngressRule(Peer.anyIpv4(), Port.tcpRange(32768, 65535));
|
|
20
|
+
|
|
21
|
+
// Suppress security guardian rule for intentional test setup
|
|
22
|
+
const cfnSecurityGroup = securityGroup.node.defaultChild as CfnResource;
|
|
23
|
+
cfnSecurityGroup.addMetadata('guard', {
|
|
24
|
+
SuppressedRules: ['EC2_NO_OPEN_SECURITY_GROUPS'],
|
|
25
|
+
});
|
|
26
|
+
|
|
22
27
|
const provider = new AsgCapacityProvider(stack, 'MyProvider', {
|
|
23
28
|
autoScalingGroup: new AutoScalingGroup(stack, 'MyAutoScalingGroup', {
|
|
24
29
|
vpc,
|
|
@@ -3,7 +3,7 @@ import { InstanceType, Vpc } from 'aws-cdk-lib/aws-ec2';
|
|
|
3
3
|
import { Cluster, ContainerImage } from 'aws-cdk-lib/aws-ecs';
|
|
4
4
|
import { ApplicationProtocol, SslPolicy } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
5
5
|
import { PublicHostedZone } from 'aws-cdk-lib/aws-route53';
|
|
6
|
-
import { App, Duration, Stack } from 'aws-cdk-lib';
|
|
6
|
+
import { App, Duration, Stack, CfnResource } from 'aws-cdk-lib';
|
|
7
7
|
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
8
8
|
import { ApplicationMultipleTargetGroupsEc2Service } from 'aws-cdk-lib/aws-ecs-patterns';
|
|
9
9
|
import { AUTOSCALING_GENERATE_LAUNCH_TEMPLATE } from 'aws-cdk-lib/cx-api';
|
|
@@ -13,8 +13,6 @@ const app = new App({
|
|
|
13
13
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
14
14
|
'@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm': false,
|
|
15
15
|
'@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions': false,
|
|
16
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
17
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
18
16
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
19
17
|
},
|
|
20
18
|
});
|
|
@@ -26,7 +24,7 @@ const cluster = new Cluster(stack, 'Cluster', { vpc });
|
|
|
26
24
|
cluster.addCapacity('DefaultAutoScalingGroup', { instanceType: new InstanceType('t2.micro') });
|
|
27
25
|
|
|
28
26
|
// Two load balancers with different idle timeouts.
|
|
29
|
-
new ApplicationMultipleTargetGroupsEc2Service(stack, 'myService', {
|
|
27
|
+
const service = new ApplicationMultipleTargetGroupsEc2Service(stack, 'myService', {
|
|
30
28
|
cluster,
|
|
31
29
|
memoryLimitMiB: 256,
|
|
32
30
|
taskImageOptions: {
|
|
@@ -87,6 +85,16 @@ new ApplicationMultipleTargetGroupsEc2Service(stack, 'myService', {
|
|
|
87
85
|
],
|
|
88
86
|
});
|
|
89
87
|
|
|
88
|
+
// Suppress security guardian rule for ALB default behavior (open: true)
|
|
89
|
+
service.loadBalancers.forEach(lb => {
|
|
90
|
+
lb.connections.securityGroups.forEach(sg => {
|
|
91
|
+
const cfnSg = sg.node.defaultChild as CfnResource;
|
|
92
|
+
cfnSg.addMetadata('guard', {
|
|
93
|
+
SuppressedRules: ['EC2_NO_OPEN_SECURITY_GROUPS'],
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
|
|
90
98
|
new integ.IntegTest(app, 'multiAlbEcsEc2Test', {
|
|
91
99
|
testCases: [stack],
|
|
92
100
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InstanceType, Vpc } from 'aws-cdk-lib/aws-ec2';
|
|
2
2
|
import { Cluster, ContainerImage, Ec2TaskDefinition } from 'aws-cdk-lib/aws-ecs';
|
|
3
|
-
import { App, Stack } from 'aws-cdk-lib';
|
|
3
|
+
import { App, Stack, CfnResource } from 'aws-cdk-lib';
|
|
4
4
|
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
5
5
|
import { ApplicationMultipleTargetGroupsEc2Service } from 'aws-cdk-lib/aws-ecs-patterns';
|
|
6
6
|
import { REDUCE_EC2_FARGATE_CLOUDWATCH_PERMISSIONS } from 'aws-cdk-lib/cx-api';
|
|
@@ -9,8 +9,6 @@ const app = new App({
|
|
|
9
9
|
postCliContext: {
|
|
10
10
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
11
11
|
[REDUCE_EC2_FARGATE_CLOUDWATCH_PERMISSIONS]: false,
|
|
12
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
13
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
14
12
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
15
13
|
},
|
|
16
14
|
});
|
|
@@ -32,7 +30,7 @@ taskDefinition.addContainer('web', {
|
|
|
32
30
|
});
|
|
33
31
|
|
|
34
32
|
// One load balancer with one listener and two target groups.
|
|
35
|
-
new ApplicationMultipleTargetGroupsEc2Service(stack, 'myService', {
|
|
33
|
+
const service = new ApplicationMultipleTargetGroupsEc2Service(stack, 'myService', {
|
|
36
34
|
cluster,
|
|
37
35
|
taskDefinition,
|
|
38
36
|
enableExecuteCommand: true,
|
|
@@ -48,6 +46,14 @@ new ApplicationMultipleTargetGroupsEc2Service(stack, 'myService', {
|
|
|
48
46
|
],
|
|
49
47
|
});
|
|
50
48
|
|
|
49
|
+
// Suppress security guardian rule for ALB default behavior (open: true)
|
|
50
|
+
service.loadBalancer.connections.securityGroups.forEach(sg => {
|
|
51
|
+
const cfnSg = sg.node.defaultChild as CfnResource;
|
|
52
|
+
cfnSg.addMetadata('guard', {
|
|
53
|
+
SuppressedRules: ['EC2_NO_OPEN_SECURITY_GROUPS'],
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
51
57
|
new integ.IntegTest(app, 'applicationMultipleTargetGroupsEc2ServiceTest', {
|
|
52
58
|
testCases: [stack],
|
|
53
59
|
});
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { AutoScalingGroup } from 'aws-cdk-lib/aws-autoscaling';
|
|
2
2
|
import { InstanceType, Vpc, SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';
|
|
3
3
|
import { Cluster, ContainerImage, AsgCapacityProvider, EcsOptimizedImage } from 'aws-cdk-lib/aws-ecs';
|
|
4
|
-
import { App, Stack } from 'aws-cdk-lib';
|
|
4
|
+
import { App, Stack, CfnResource } from 'aws-cdk-lib';
|
|
5
5
|
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
6
6
|
import { NetworkLoadBalancedEc2Service } from 'aws-cdk-lib/aws-ecs-patterns';
|
|
7
7
|
import { IpAddressType } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
8
8
|
|
|
9
9
|
const app = new App({
|
|
10
10
|
postCliContext: {
|
|
11
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
12
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
13
11
|
},
|
|
14
12
|
});
|
|
15
13
|
const stack = new Stack(app, 'aws-ecs-integ-nlb');
|
|
@@ -21,6 +19,12 @@ const securityGroup = new SecurityGroup(stack, 'SecurityGroup', {
|
|
|
21
19
|
});
|
|
22
20
|
securityGroup.addIngressRule(Peer.anyIpv4(), Port.tcpRange(32768, 65535));
|
|
23
21
|
|
|
22
|
+
// Suppress security guardian rule for intentional test setup
|
|
23
|
+
const cfnSecurityGroup = securityGroup.node.defaultChild as CfnResource;
|
|
24
|
+
cfnSecurityGroup.addMetadata('guard', {
|
|
25
|
+
SuppressedRules: ['EC2_NO_OPEN_SECURITY_GROUPS'],
|
|
26
|
+
});
|
|
27
|
+
|
|
24
28
|
const provider1 = new AsgCapacityProvider(stack, 'FirstCapacityProvider', {
|
|
25
29
|
autoScalingGroup: new AutoScalingGroup(stack, 'FirstAutoScalingGroup', {
|
|
26
30
|
vpc,
|
|
@@ -8,8 +8,6 @@ import { ScheduledEc2Task } from 'aws-cdk-lib/aws-ecs-patterns';
|
|
|
8
8
|
const app = new cdk.App({
|
|
9
9
|
postCliContext: {
|
|
10
10
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
11
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
12
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
13
11
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
14
12
|
},
|
|
15
13
|
});
|
|
@@ -14,8 +14,6 @@ if (!certArn) throw new Error('For this test you must provide your own Certifica
|
|
|
14
14
|
const app = new App({
|
|
15
15
|
postCliContext: {
|
|
16
16
|
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
17
|
-
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
18
|
-
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
19
17
|
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
20
18
|
},
|
|
21
19
|
});
|
|
@@ -718,6 +718,52 @@ rule.addTarget(new targets.RedshiftQuery(workgroup.attrWorkgroupWorkgroupArn, {
|
|
|
718
718
|
}));
|
|
719
719
|
```
|
|
720
720
|
|
|
721
|
+
## Send events to an SQS queue
|
|
722
|
+
|
|
723
|
+
Use the `SqsQueue` target to send events to an SQS queue.
|
|
724
|
+
|
|
725
|
+
The code snippet below creates an event rule that sends events to an SQS queue every hour:
|
|
726
|
+
|
|
727
|
+
```ts
|
|
728
|
+
const queue = new sqs.Queue(this, 'MyQueue');
|
|
729
|
+
|
|
730
|
+
const rule = new events.Rule(this, 'Rule', {
|
|
731
|
+
schedule: events.Schedule.rate(cdk.Duration.hours(1)),
|
|
732
|
+
});
|
|
733
|
+
|
|
734
|
+
rule.addTarget(new targets.SqsQueue(queue));
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
### Using Message Group IDs
|
|
738
|
+
|
|
739
|
+
You can specify a `messageGroupId` to ensure messages are processed in order. This parameter is required for FIFO queues and optional for standard queues:
|
|
740
|
+
|
|
741
|
+
```ts
|
|
742
|
+
// FIFO queue - messageGroupId required
|
|
743
|
+
const fifoQueue = new sqs.Queue(this, 'MyFifoQueue', {
|
|
744
|
+
fifo: true,
|
|
745
|
+
});
|
|
746
|
+
|
|
747
|
+
const fifoRule = new events.Rule(this, 'FifoRule', {
|
|
748
|
+
schedule: events.Schedule.rate(cdk.Duration.hours(1)),
|
|
749
|
+
});
|
|
750
|
+
|
|
751
|
+
fifoRule.addTarget(new targets.SqsQueue(fifoQueue, {
|
|
752
|
+
messageGroupId: 'MyMessageGroupId',
|
|
753
|
+
}));
|
|
754
|
+
|
|
755
|
+
// Standard queue - messageGroupId optional (SQS Fair queue feature)
|
|
756
|
+
const standardQueue = new sqs.Queue(this, 'MyStandardQueue');
|
|
757
|
+
|
|
758
|
+
const standardRule = new events.Rule(this, 'StandardRule', {
|
|
759
|
+
schedule: events.Schedule.rate(cdk.Duration.hours(1)),
|
|
760
|
+
});
|
|
761
|
+
|
|
762
|
+
standardRule.addTarget(new targets.SqsQueue(standardQueue, {
|
|
763
|
+
messageGroupId: 'MyMessageGroupId', // Optional for standard queues
|
|
764
|
+
}));
|
|
765
|
+
```
|
|
766
|
+
|
|
721
767
|
## Publish to an SNS Topic
|
|
722
768
|
|
|
723
769
|
Use the `SnsTopic` target to publish to an SNS Topic.
|
|
@@ -10,8 +10,6 @@ import * as targets from 'aws-cdk-lib/aws-events-targets';
|
|
|
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
|
});
|
|
@@ -3,6 +3,7 @@ import * as kms from 'aws-cdk-lib/aws-kms';
|
|
|
3
3
|
import * as sqs from 'aws-cdk-lib/aws-sqs';
|
|
4
4
|
import * as cdk from 'aws-cdk-lib';
|
|
5
5
|
import * as targets from 'aws-cdk-lib/aws-events-targets';
|
|
6
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
6
7
|
|
|
7
8
|
// ---------------------------------
|
|
8
9
|
// Define a rule that triggers an SNS topic every 1min.
|
|
@@ -23,11 +24,45 @@ const queue = new sqs.Queue(stack, 'MyQueue', {
|
|
|
23
24
|
encryption: sqs.QueueEncryption.KMS,
|
|
24
25
|
encryptionMasterKey: key,
|
|
25
26
|
});
|
|
27
|
+
// Suppress false positive: queue uses separate QueuePolicy resource (not inline), which is the correct pattern
|
|
28
|
+
(queue.node.defaultChild as cdk.CfnResource).addMetadata('guard', {
|
|
29
|
+
SuppressedRules: ['SQS_NO_WORLD_ACCESSIBLE_INLINE'],
|
|
30
|
+
});
|
|
26
31
|
|
|
27
|
-
const deadLetterQueue = new sqs.Queue(stack, 'MyDeadLetterQueue'
|
|
32
|
+
const deadLetterQueue = new sqs.Queue(stack, 'MyDeadLetterQueue', {
|
|
33
|
+
encryption: sqs.QueueEncryption.SQS_MANAGED,
|
|
34
|
+
});
|
|
35
|
+
// Suppress false positive: queue uses separate QueuePolicy resource (not inline), which is the correct pattern
|
|
36
|
+
(deadLetterQueue.node.defaultChild as cdk.CfnResource).addMetadata('guard', {
|
|
37
|
+
SuppressedRules: ['SQS_NO_WORLD_ACCESSIBLE_INLINE'],
|
|
38
|
+
});
|
|
28
39
|
|
|
29
40
|
event.addTarget(new targets.SqsQueue(queue, {
|
|
30
41
|
deadLetterQueue,
|
|
31
42
|
}));
|
|
32
43
|
|
|
33
|
-
|
|
44
|
+
// Test messageGroupId support for standard (non-FIFO) queues
|
|
45
|
+
const standardQueue = new sqs.Queue(stack, 'StandardQueue', {
|
|
46
|
+
encryption: sqs.QueueEncryption.SQS_MANAGED,
|
|
47
|
+
});
|
|
48
|
+
// Suppress false positive: queue uses separate QueuePolicy resource (not inline), which is the correct pattern
|
|
49
|
+
(standardQueue.node.defaultChild as cdk.CfnResource).addMetadata('guard', {
|
|
50
|
+
SuppressedRules: ['SQS_NO_WORLD_ACCESSIBLE_INLINE'],
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
const standardQueueEvent = new events.Rule(stack, 'StandardQueueRule', {
|
|
54
|
+
schedule: events.Schedule.rate(cdk.Duration.minutes(1)),
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
standardQueueEvent.addTarget(new targets.SqsQueue(standardQueue, {
|
|
58
|
+
messageGroupId: 'MyMessageGroupId',
|
|
59
|
+
}));
|
|
60
|
+
|
|
61
|
+
new IntegTest(app, 'integ.sqs-event-rule-target', {
|
|
62
|
+
testCases: [stack],
|
|
63
|
+
allowDestroy: [
|
|
64
|
+
'AWS::SQS::Queue',
|
|
65
|
+
'AWS::SQS::QueuePolicy',
|
|
66
|
+
'AWS::Events::Rule',
|
|
67
|
+
],
|
|
68
|
+
});
|
|
@@ -17,6 +17,14 @@ new Function(stack, 'Lambda', {
|
|
|
17
17
|
runtime: Runtime.DOTNET_8,
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
+
new Function(stack, 'DotNet10Lambda', {
|
|
21
|
+
code: Code.fromAsset(path.join(__dirname, 'dotnet-handler')),
|
|
22
|
+
handler: 'Handler',
|
|
23
|
+
runtime: Runtime.DOTNET_10,
|
|
24
|
+
});
|
|
25
|
+
|
|
20
26
|
new integ.IntegTest(app, 'lambda-runtime-management', {
|
|
21
27
|
testCases: [stack],
|
|
22
28
|
});
|
|
29
|
+
|
|
30
|
+
app.synth();
|
|
@@ -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
|
});
|
|
@@ -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 |
|
|
@@ -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*
|
|
@@ -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.66.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
|
---
|