7.0.0 (2026-01-09)
⚠ BREAKING CHANGES
- Add support for ECS managed instances (#364)
See the docs/UPGRADE-7.0.md guide for further details
List of backwards incompatible changes
- Previously the module would infer the capacity providers to use based on those specified in the
default_capacity_provider_strategyvariable as well as any specified in theautoscaling_capacity_providersvariable. As of v7.0.0, the module will no longer infer the capacity providers that should be associated with the cluster. Instead, users must explicitly specify the desired capacity providers using the newcluster_capacity_providersvariable. The only inference of capacity providers are those created by the module itself when using thecapacity_providersvariable. Essentially, if you are usingFARGATE,FARGATE_SPOT, or an externally created capacity provider, you must now specify those in thecluster_capacity_providersvariable. - With the addition of ECS managed instances support, the prior variable
autoscaling_capacity_providershas been replaced with the more genericcapacity_providersvariable. If you were previously usingautoscaling_capacity_providers, you will need to migrate to the newcapacity_providersvariable by simply renaming it and nesting each ASG capacity provider definition under the argumentauto_scaling_group_provider. See the before vs after section below for an example of this change. Note: your existing ASG capacity providers will continue to work as before, this is simply a variable rename and variable definition modification. No resources will be replaced/destroyed as part of this change. - The ECS service variable
ordered_placement_strategytype definition has been changed frommap(object({...}))tolist(object({...})). The argument needs to preserve order so a list is necessary.
Additional changes
Added
- Default name postfixes for IAM roles and security groups have been added, along with default descriptions. When using the intended behavior of simply setting a
var.namevalue and relying on the module, these new defaults help to distinguish resources created by the module. Instead of seeing 4 IAM roles named"example-<random>", you will now see names like"example-service-<random>","example-task-exec-<random>","example-tasks-<random>", and"example-infra-<random>". To aid in the migration, a variabledisable_v7_default_name_descriptionhas been added that allow users to opt out of theses default settings for existing resources (avoid re-creating them). This ensures an easier upgrade path while also letting new resources benefit from the improved naming and descriptions. Note: this variable and therefore its behavior will be removed in versionv9.0of the module, giving users time to remediate. - Support for ECS managed instances has been added. Users can now create an ECS cluster that use EC2 instances created and managed by ECS managed instances capacity provider. Support for this includes the necessary IAM roles as well as a security group that is utilized by the managed instances.
Modified
- The ECS service infrastructure IAM role is now associated with the
lifecycle_hookandadvanced_configurationarguments as part of the progressive deployment options. Users can still provide their own role, but the default now matches the rest of the module where the infrastructure IAM role created by the module will be used unless a different IAM role is provided.
Variable and output changes
Note
The variables and outputs added for ECS managed instance support has not been added to this list. Those details are not relevant to the upgrade process. See the pull request for more details on what has been added for ECS managed instances support (or consult the documentation/examples within the repository).
-
Removed variables:
- None
-
Renamed variables:
autoscaling_capacity_providers->capacity_providers
-
Added variables:
cluster_capacity_providersdisable_v7_default_name_description
-
Removed outputs:
- None
-
Renamed outputs:
autoscaling_capacity_providers->capacity_providers
-
Added outputs:
- None