Releases: terraform-aws-modules/terraform-aws-ecs
Releases Β· terraform-aws-modules/terraform-aws-ecs
v6.0.2
v6.0.1
v6.0.0
6.0.0 (2025-07-07)
β BREAKING CHANGES
- Upgrade AWS provider and min required Terraform version to
6.0and1.5.7respectively (#217)
List of backwards incompatible changes
See the docs/UPGRADE-6.0.md guide for further details
- Terraform
v1.5.7is now minimum supported version - AWS provider
v6.0.0is now minimum supported version - The attributes used to construct the container definition(s) have been changed from HCL's norm of
snake_casetocamelCaseto match the AWS API. There currently isn't a resource nor data source for the container definition, so one is constructed entirely from HCL in thecontainer-definitionsub-module. This definition is then rendered as JSON when presented to the task definition (or task set) APIs. Previously, the variable names used weresnake_caseand then internally converted tocamelCase. However, this does not allow for using thecontainer-definitionsub-module on its own due to the mismatch between casing. Its probably going to trip a few folks up, but hopefully we'll remove this for a data source in the future. security_group_ruleshas been split intosecurity_group_ingress_rulesandsecurity_group_egress_rulesto better match the AWS API and allow for more flexibility in defining security group rules.- Default permissive permissions for SSM parameter ARNs and Secrets Manager secret ARNs have been removed throughout. While this made it easier for users since it "just worked", it was not secure and could lead to unexpected access to resources. Users should now explicitly define the permissions they need in their IAM policies.
- The "hack" put in place to track the task definition version when updating outside of the module has been removed. Instead, users should rely on the
track_latestvariable to ensure that the latest task definition is used when updating the service. Any issues with tracking the task definition version should be reported to the ECS service team as it is a limitation of the AWS ECS service/API and not the module itself. - The inline policy for the Tasks role of the
servicesub-module has been replaced with a standalone IAM policy. In some organizations, inline policies are not allowed. - The default for the
container-definitionuserhas been changed from0tonull.
Additional changes
Added
- Support for
regionparameter to specify the AWS region for the resources created if different from the provider region. - Support for ECS infrastructure IAM role creation in the
servicesub-module. This role is used to manage ECS infrastructure resources https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
Modified
- Variable definitions now contain detailed
objecttypes in place of the previously used any type.
Variable and output changes
-
Removed variables:
-
default_capacity_provider_use_fargate -
fargate_capacity_providers -
clustersub-modulefargate_capacity_providers; part ofdefault_capacity_provider_strategynowdefault_capacity_provider_use_fargate
-
container-definitionsub-module- None
-
servicesub-moduleinference_accelerator
-
-
Renamed variables:
-
cluster_settings->cluster_setting -
clustersub-modulecluster_configuration-configurationcluster_settings-settingcluster_service_connect_defaults-service_connect_defaults
-
container-definitionsub-moduledependencies-dependsOndisable_networking-disableNetworkingdns_search_domains-dnsSearchDomainsdns_servers-dnsServersdocker_labels-dockerLabelsdocker_security_options-dockerSecurityOptionsenvironment_files-environmentFilesextra_hosts-extraHostsfirelens_configuration-firelensConfigurationhealth_check-healthChecklinux_parameters-linuxParameterslog_configuration-logConfigurationmemory_reservation-memoryReservationmount_points-mountPointsport_mappings-portMappingspsuedo_terminal-pseudoTerminalreadonly_root_filesystem-readonlyRootFilesystemrepository_credentials-repositoryCredentialsstart_timeout-startTimeoutsystem_controls-systemControlsvolumes_from-volumesFromworking_directory-workingDirectory
-
servicesub-module- None
-
-
Added variables:
-
cloudwatch_log_group_class -
default_capacity_provider_strategy -
clustersub-modulecloudwatch_log_group_classdefault_capacity_provider_strategy- replacesfargate_capacity_providersanddefault_capacity_provider_use_fargatefunctionality
-
container-definitionsub-modulelog_group_classrestartPolicy- defaults toenabled = trueversionConsistency- defaults to"disabled"aws/containers-roadmap#2394
-
servicesub-moduleavailability_zone_rebalancingvolume_configurationvpc_lattice_configurationsenable_fault_injectiontrack_latestcreate_infrastructure_iam_roleinfrastructure_iam_role_arninfrastructure_iam_role_nameinfrastructure_iam_role_use_name_prefixinfrastructure_iam_role_pathinfrastructure_iam_role_descriptioninfrastructure_iam_role_permissions_boundaryinfrastructure_iam_role_tags
-
-
Removed outputs:
clustersub-module- None
container-definitionsub-module- None
servicesub-moduletask_definition_family_revision
-
Renamed outputs:
clustersub-module- None
container-definitionsub-module- None
servicesub-module- None
-
Added outputs:
clustersub-module- None
container-definitionsub-module- None
servicesub-moduleinfrastructure_iam_role_arninfrastructure_iam_role_name