From 5ddbaed512e2bbeaf91ff5a9605e6ef66b6d1501 Mon Sep 17 00:00:00 2001 From: Radek Antoniuk Date: Tue, 3 Jun 2025 17:41:21 +0200 Subject: [PATCH 1/5] fix for inferenceAccelerators --- packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts b/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts index 51c9667fd0b9d..d7b04eb7eea8a 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts @@ -487,7 +487,7 @@ export class TaskDefinition extends TaskDefinitionBase { assumedBy: new iam.ServicePrincipal('ecs-tasks.amazonaws.com'), }); - if (props.inferenceAccelerators) { + if (props.inferenceAccelerators && props.inferenceAccelerators.length > 0) { props.inferenceAccelerators.forEach(ia => this.addInferenceAccelerator(ia)); } From d4406eb66994da637a69abfabe1c842e14ee0b6e Mon Sep 17 00:00:00 2001 From: Radek Antoniuk Date: Thu, 19 Jun 2025 01:53:49 +0200 Subject: [PATCH 2/5] don't pass inferenceAccelerators if not defined --- .../aws-ecs/lib/ec2/ec2-task-definition.ts | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts index ba294f6117560..99647c9335627 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts @@ -143,14 +143,25 @@ export class Ec2TaskDefinition extends TaskDefinition implements IEc2TaskDefinit * Constructs a new instance of the Ec2TaskDefinition class. */ constructor(scope: Construct, id: string, props: Ec2TaskDefinitionProps = {}) { - super(scope, id, { - ...props, - compatibility: Compatibility.EC2, - placementConstraints: props.placementConstraints, - ipcMode: props.ipcMode, - pidMode: props.pidMode, - inferenceAccelerators: props.inferenceAccelerators, - }); + if (props.inferenceAccelerators && props.inferenceAccelerators.length > 0) { + super(scope, id, { + ...props, + compatibility: Compatibility.EC2, + placementConstraints: props.placementConstraints, + ipcMode: props.ipcMode, + pidMode: props.pidMode, + inferenceAccelerators: props.inferenceAccelerators, + }); + } else { + super(scope, id, { + ...props, + compatibility: Compatibility.EC2, + placementConstraints: props.placementConstraints, + ipcMode: props.ipcMode, + pidMode: props.pidMode, + }); + } + // Enhanced CDK Analytics Telemetry addConstructMetadata(this, props); From 9e3dc123ca0618e5a88d3af66e529e0042aaa155 Mon Sep 17 00:00:00 2001 From: Radek Antoniuk <521838+rantoniuk@users.noreply.github.com> Date: Fri, 20 Jun 2025 14:16:19 +0200 Subject: [PATCH 3/5] Comment why this condition is needed --- packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts index 99647c9335627..c72a814c6dc6e 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts @@ -143,6 +143,7 @@ export class Ec2TaskDefinition extends TaskDefinition implements IEc2TaskDefinit * Constructs a new instance of the Ec2TaskDefinition class. */ constructor(scope: Construct, id: string, props: Ec2TaskDefinitionProps = {}) { + // don't pass @deprecated inferenceAccelerators if not needed as this renders console warnings if (props.inferenceAccelerators && props.inferenceAccelerators.length > 0) { super(scope, id, { ...props, From acf4c42bea2b0105d6e716406c9e96599e23e83c Mon Sep 17 00:00:00 2001 From: Radek Antoniuk Date: Fri, 20 Jun 2025 15:22:54 +0200 Subject: [PATCH 4/5] lint fix --- packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts index c72a814c6dc6e..ec37aff5d6b6e 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts @@ -143,7 +143,7 @@ export class Ec2TaskDefinition extends TaskDefinition implements IEc2TaskDefinit * Constructs a new instance of the Ec2TaskDefinition class. */ constructor(scope: Construct, id: string, props: Ec2TaskDefinitionProps = {}) { - // don't pass @deprecated inferenceAccelerators if not needed as this renders console warnings + // don't pass @deprecated inferenceAccelerators if not needed as this renders console warnings if (props.inferenceAccelerators && props.inferenceAccelerators.length > 0) { super(scope, id, { ...props, From 3cfc9f0ea7cb41670cf497da2e23afc697f5399b Mon Sep 17 00:00:00 2001 From: Radek Antoniuk Date: Fri, 20 Jun 2025 18:24:36 +0200 Subject: [PATCH 5/5] review: revert some changes --- packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts | 2 +- packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts b/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts index d7b04eb7eea8a..51c9667fd0b9d 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/base/task-definition.ts @@ -487,7 +487,7 @@ export class TaskDefinition extends TaskDefinitionBase { assumedBy: new iam.ServicePrincipal('ecs-tasks.amazonaws.com'), }); - if (props.inferenceAccelerators && props.inferenceAccelerators.length > 0) { + if (props.inferenceAccelerators) { props.inferenceAccelerators.forEach(ia => this.addInferenceAccelerator(ia)); } diff --git a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts index ec37aff5d6b6e..69a580d9801e0 100644 --- a/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts +++ b/packages/aws-cdk-lib/aws-ecs/lib/ec2/ec2-task-definition.ts @@ -144,7 +144,7 @@ export class Ec2TaskDefinition extends TaskDefinition implements IEc2TaskDefinit */ constructor(scope: Construct, id: string, props: Ec2TaskDefinitionProps = {}) { // don't pass @deprecated inferenceAccelerators if not needed as this renders console warnings - if (props.inferenceAccelerators && props.inferenceAccelerators.length > 0) { + if (props.inferenceAccelerators) { super(scope, id, { ...props, compatibility: Compatibility.EC2,