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.

Files changed (53) hide show
  1. cdk_api_mcp_server/__about__.py +1 -1
  2. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md +20 -20
  3. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.app-mesh-proxy-config.ts +0 -2
  4. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.capacity-provider-managed-draining.ts +0 -2
  5. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.capacity-provider.ts +0 -2
  6. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.clb-host-nw.ts +9 -2
  7. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cloudmap-container-port.ts +9 -2
  8. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-amazonlinux2-neuron-ami.ts +0 -2
  9. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-imported.ts +0 -2
  10. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-windows-server-ami.ts +0 -2
  11. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster.amazonlinux2023-ami.ts +0 -2
  12. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.default-capacity-provider.ts +0 -2
  13. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.deployment-alarms.ts +0 -2
  14. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts +0 -2
  15. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.environment-file.ts +0 -2
  16. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.exec-command.ts +0 -2
  17. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.firelens-s3-config.ts +8 -2
  18. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.graviton.ts +0 -2
  19. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-awsvpc-nw.ts +9 -2
  20. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-bridge-nw.ts +9 -2
  21. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-capacity-provider.ts +0 -2
  22. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-no-default-capacity-provider.ts +0 -2
  23. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-constraint-default-empty.ts +0 -2
  24. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-strategies.ts +0 -2
  25. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.pseudo-terminal.ts +0 -2
  26. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.sd-awsvpc-nw.ts +0 -2
  27. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.sd-bridge-nw.ts +0 -2
  28. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.spot-drain.ts +0 -2
  29. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.swap-parameters.ts +0 -2
  30. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.task-definition-placement-constraints.ts +0 -2
  31. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-ecs-service-command-entry-point.ts +12 -2
  32. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.application-load-balanced-ecs-service.ts +13 -3
  33. 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
  34. 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
  35. 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
  36. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.multiple-application-load-balanced-ecs-service.ts +10 -4
  37. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.network-load-balanced-ecs-service.ts +7 -3
  38. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.scheduled-ecs-task.ts +0 -2
  39. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.tls-network-load-balanced-ecs-service.ts +0 -2
  40. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/README.md +46 -0
  41. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.event-ec2-task.ts +0 -2
  42. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.sqs-event-rule-target.ts +37 -2
  43. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtimes.ts +8 -0
  44. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-run-task-ref-definition.ts +0 -2
  45. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-run-task.ts +0 -2
  46. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.ec2-task.ts +0 -2
  47. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +0 -47
  48. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md +0 -42
  49. {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/METADATA +2 -2
  50. {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/RECORD +53 -53
  51. {konokenj_cdk_api_mcp_server-0.65.0.dist-info → konokenj_cdk_api_mcp_server-0.66.0.dist-info}/WHEEL +0 -0
  52. {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
  53. {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
- app.synth();
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.65.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
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/konokenj.cdk-api-mcp-server.svg)](https://pypi.org/project/konokenj.cdk-api-mcp-server)
27
27
 
28
28
  <!-- DEP-VERSIONS-START -->
29
- [![aws-cdk](https://img.shields.io/badge/aws%20cdk-v2.232.1-blue.svg)](https://github.com/konokenj/cdk-api-mcp-server/blob/main/current-versions/aws-cdk.txt)
29
+ [![aws-cdk](https://img.shields.io/badge/aws%20cdk-v2.232.2-blue.svg)](https://github.com/konokenj/cdk-api-mcp-server/blob/main/current-versions/aws-cdk.txt)
30
30
  <!-- DEP-VERSIONS-END -->
31
31
 
32
32
  ---