-
-
Notifications
You must be signed in to change notification settings - Fork 46
feat!: Upgrade AWS provider and min required Terraform version to 6.0 and 1.5.7 respectively
#38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: Upgrade AWS provider and min required Terraform version to 6.0 and 1.5.7 respectively
#38
Conversation
… syntax, change policies from list to map
|
we'll proceed once AWS provider v6 arrives - this was originally meant to arrive in April but seems to be taking a bit longer |
c2d5ce1 to
65ba20f
Compare
65ba20f to
6c79a2d
Compare
f45fc16 to
edb0157
Compare
6.0 and 1.10 respectively
antonbabenko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good, just a small comment/question about variable types. Such detailed variable types are a rather big change for us in the modules.
| service_role = optional(string) | ||
| state = optional(string) | ||
| tags = optional(map(string), {}) | ||
| type = optional(string, "MANAGED") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Such a detailed variable type may be a good idea, but do we need to provide a default value ("MANAGED") in the type definition or leave it empty, so that it will be null and let the AWS provider decide on the correct value? We previously left it empty for the provider to decide. I think it is still right to do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, the standard practices still apply and null should be favored in 99% of the cases. in this instance, "MANAGED" was specifically chosen and is also what we have on the current module version
Line 14 in c478369
| type = lookup(each.value, "type", "MANAGED") |
For this argument users have to choose either "MANAGED" or "UNMANAGED", we've made the decision that is most common for them as the default
| type = optional(string, "MANAGED") | ||
| update_policy = optional(object({ | ||
| job_execution_timeout_minutes = number | ||
| terminate_jobs_on_update = optional(bool, false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here:
| terminate_jobs_on_update = optional(bool, false) | |
| terminate_jobs_on_update = optional(bool) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a new argument thats added in this PR that is required so we are making a "sane" default for users (i.e. - don't terminate the job if you update the compute environment, instead let the job complete - which is what most will want to do in order to minimize disruptions for changes)
6.0 and 1.10 respectively6.0 and 1.5.7 respectively
## [3.0.0](v2.1.0...v3.0.0) (2025-06-25) ### ⚠ BREAKING CHANGES * Upgrade AWS provider and min required Terraform version to `6.0` and `1.5.7` respectively (#38) ### Features * Upgrade AWS provider and min required Terraform version to `6.0` and `1.5.7` respectively ([#38](#38)) ([7781147](7781147)) ### Bug Fixes * Update CI workflow versions to latest ([#36](#36)) ([c478369](c478369))
|
This PR is included in version 3.0.0 🎉 |
|
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
Description
List of backwards incompatible changes
instance_iam_role_additional_policies,service_iam_role_additional_policies,spot_fleet_iam_role_additional_policiestypes are nowmap(string)instead oflist(string)ECSAssumeRolewhich is inaccurate)compute_environment_orderis now a required argument foraws_batch_job_queueper the Batch API and replacescompute_environmentsAdditional changes
Added
regionparameter to specify the AWS region for the resources created if different from the provider region.compute_environment_order,job_state_time_limit_action,timeoutsarguments for job queueseks_propertiesargument have been added to the job definition resourcescheduling_priorityandnode_propertiesarguments for job definitionsModified
objecttypes in place of the previously used any type.compute_environment_nameargument has been changed tonameper providerv6.xAPI; no-op for userscompute_environment_name_prefixargument has been changed toname_prefixper providerv6.xAPI; no-op for usersRemoved
Motivation and Context
compute_environments#30update_policy#35Breaking Changes
docs/UPGRADE-3.0.mdfor more detailsHow Has This Been Tested?
examples/*to demonstrate and validate my change(s)examples/*projectspre-commit run -aon my pull request