diff --git a/dist/fargate.d.ts b/dist/fargate.d.ts index c24248c..8942391 100644 --- a/dist/fargate.d.ts +++ b/dist/fargate.d.ts @@ -16,6 +16,7 @@ export interface TaskConfiguration { desiredCount?: number; autoScalingCpuTarget?: number; maxCount?: number; + minCount?: number; environment?: Record; secrets?: Record; } diff --git a/dist/fargate.js b/dist/fargate.js index 9e2c879..2d3371b 100644 --- a/dist/fargate.js +++ b/dist/fargate.js @@ -85,7 +85,11 @@ class FargateService extends cdk.NestedStack { if (taskConfiguration.autoScalingCpuTarget) { // Default max capacity to double desired unless specified const maxCapacity = taskConfiguration?.maxCount || desiredCount * 2; - const scaling = this.service.service.autoScaleTaskCount({ maxCapacity }); + const minCapacity = taskConfiguration?.minCount || desiredCount; + const scaling = this.service.service.autoScaleTaskCount({ + maxCapacity, + minCapacity, + }); scaling.scaleOnCpuUtilization(stack.getResourceID('CpuScaling'), { targetUtilizationPercent: taskConfiguration.autoScalingCpuTarget, scaleInCooldown: cdk.Duration.seconds(60), diff --git a/src/fargate.ts b/src/fargate.ts index e92f3cc..32dc592 100644 --- a/src/fargate.ts +++ b/src/fargate.ts @@ -28,6 +28,7 @@ export interface TaskConfiguration { desiredCount?: number autoScalingCpuTarget?: number maxCount?: number + minCount?: number environment?: Record secrets?: Record } @@ -132,7 +133,11 @@ export class FargateService extends cdk.NestedStack { if (taskConfiguration.autoScalingCpuTarget) { // Default max capacity to double desired unless specified const maxCapacity = taskConfiguration?.maxCount || desiredCount * 2 - const scaling = this.service.service.autoScaleTaskCount({ maxCapacity }) + const minCapacity = taskConfiguration?.minCount || desiredCount + const scaling = this.service.service.autoScaleTaskCount({ + maxCapacity, + minCapacity, + }) scaling.scaleOnCpuUtilization(stack.getResourceID('CpuScaling'), { targetUtilizationPercent: taskConfiguration.autoScalingCpuTarget, scaleInCooldown: cdk.Duration.seconds(60),