Releases: terraform-aws-modules/terraform-aws-ecs
Releases Β· terraform-aws-modules/terraform-aws-ecs
v6.0.6
v6.0.5
v6.0.4
v6.0.3
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.0
and1.5.7
respectively (#217)
List of backwards incompatible changes
See the docs/UPGRADE-6.0.md guide for further details
- Terraform
v1.5.7
is now minimum supported version - AWS provider
v6.0.0
is now minimum supported version - The attributes used to construct the container definition(s) have been changed from HCL's norm of
snake_case
tocamelCase
to 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-definition
sub-module. This definition is then rendered as JSON when presented to the task definition (or task set) APIs. Previously, the variable names used weresnake_case
and then internally converted tocamelCase
. However, this does not allow for using thecontainer-definition
sub-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_rules
has been split intosecurity_group_ingress_rules
andsecurity_group_egress_rules
to 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_latest
variable 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
service
sub-module has been replaced with a standalone IAM policy. In some organizations, inline policies are not allowed. - The default for the
container-definition
user
has been changed from0
tonull
.
Additional changes
Added
- Support for
region
parameter to specify the AWS region for the resources created if different from the provider region. - Support for ECS infrastructure IAM role creation in the
service
sub-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
object
types in place of the previously used any type.
Variable and output changes
-
Removed variables:
-
default_capacity_provider_use_fargate
-
fargate_capacity_providers
-
cluster
sub-modulefargate_capacity_providers
; part ofdefault_capacity_provider_strategy
nowdefault_capacity_provider_use_fargate
-
container-definition
sub-module- None
-
service
sub-moduleinference_accelerator
-
-
Renamed variables:
-
cluster_settings
->cluster_setting
-
cluster
sub-modulecluster_configuration
-configuration
cluster_settings
-setting
cluster_service_connect_defaults
-service_connect_defaults
-
container-definition
sub-moduledependencies
-dependsOn
disable_networking
-disableNetworking
dns_search_domains
-dnsSearchDomains
dns_servers
-dnsServers
docker_labels
-dockerLabels
docker_security_options
-dockerSecurityOptions
environment_files
-environmentFiles
extra_hosts
-extraHosts
firelens_configuration
-firelensConfiguration
health_check
-healthCheck
linux_parameters
-linuxParameters
log_configuration
-logConfiguration
memory_reservation
-memoryReservation
mount_points
-mountPoints
port_mappings
-portMappings
psuedo_terminal
-pseudoTerminal
readonly_root_filesystem
-readonlyRootFilesystem
repository_credentials
-repositoryCredentials
start_timeout
-startTimeout
system_controls
-systemControls
volumes_from
-volumesFrom
working_directory
-workingDirectory
-
service
sub-module- None
-
-
Added variables:
-
cloudwatch_log_group_class
-
default_capacity_provider_strategy
-
cluster
sub-modulecloudwatch_log_group_class
default_capacity_provider_strategy
- replacesfargate_capacity_providers
anddefault_capacity_provider_use_fargate
functionality
-
container-definition
sub-modulelog_group_class
restartPolicy
- defaults toenabled = true
versionConsistency
- defaults to"disabled"
aws/containers-roadmap#2394
-
service
sub-moduleavailability_zone_rebalancing
volume_configuration
vpc_lattice_configurations
enable_fault_injection
track_latest
create_infrastructure_iam_role
infrastructure_iam_role_arn
infrastructure_iam_role_name
infrastructure_iam_role_use_name_prefix
infrastructure_iam_role_path
infrastructure_iam_role_description
infrastructure_iam_role_permissions_boundary
infrastructure_iam_role_tags
-
-
Removed outputs:
cluster
sub-module- None
container-definition
sub-module- None
service
sub-moduletask_definition_family_revision
-
Renamed outputs:
cluster
sub-module- None
container-definition
sub-module- None
service
sub-module- None
-
Added outputs:
cluster
sub-module- None
container-definition
sub-module- None
service
sub-moduleinfrastructure_iam_role_arn
infrastructure_iam_role_name