diff --git a/ecs_composex/specs/services.x-ecs.spec.json b/ecs_composex/specs/services.x-ecs.spec.json index cfdb96fe..c722075e 100644 --- a/ecs_composex/specs/services.x-ecs.spec.json +++ b/ecs_composex/specs/services.x-ecs.spec.json @@ -20,16 +20,7 @@ }, "OperatingSystemFamily": { "type": "string", - "enum": [ - "LINUX", - "WINDOWS_SERVER_2004_CORE", - "WINDOWS_SERVER_2016_FULL", - "WINDOWS_SERVER_2019_CORE", - "WINDOWS_SERVER_2019_FULL", - "WINDOWS_SERVER_2022_CORE", - "WINDOWS_SERVER_2022_FULL", - "WINDOWS_SERVER_20H2_CORE" - ], + "pattern": "LINUX|^WINDOWS[\\S]+", "description": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-runtimeplatform.html#cfn-ecs-taskdefinition-runtimeplatform-operatingsystemfamily" }, "CapacityProviderStrategy": { diff --git a/ecs_composex/specs/x-cluster.spec.json b/ecs_composex/specs/x-cluster.spec.json index c4428542..4ed08875 100644 --- a/ecs_composex/specs/x-cluster.spec.json +++ b/ecs_composex/specs/x-cluster.spec.json @@ -62,6 +62,36 @@ "default": false } } + }, + "CapacityProviders": { + "type": "object", + "description": "Allows to define one or more Capacity Providers that will re-use or create ASGs.", + "patternProperties": { + "x-": {}, + "^[a-zA-Z0-9-]+$": { + "$ref": "#/properties/CapacityProvider" + } + } + }, + "CapacityProvider": { + "type": "object", + "description": "Capacity Provider definition", + "properties": { + "LaunchTemplateArn": { + "type": "string", + "description": "Set the ARN (with version) of the LaunchTemplate that you want to use for this Capacity Provider. If not set, new one will be created.", + "pattern": "^arn:aws[\\S]+$" + }, + "AutoscalingGroupArn": { + "type": "string", + "description": "Set to the ARN of the AutoScaling group you wish to re-use for this CapacityProvider. If not set, a new one will be created." + }, + "InstanceType": { + "type": "string", + "description": "For new LT & ASG, set the instance type you wish to use.", + "default": "t4g.medium" + } + } } }, "oneOf": [