-
Notifications
You must be signed in to change notification settings - Fork 90
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(deps): Update Terraform Google Provider to v6 (major) #205
Conversation
/gcbrun |
We're looking to upgrade our provider to v6 and this is a blocker - could maintainers take a look at merging this? |
same @apeabody I hope it is ok to tag you here as I see you approved release 7. This PR merge is blocking upgrades for many |
TAL...
Will require some code changes, need to verify the new minimum TPG as well. |
cae59ce
to
0ff5dd1
Compare
/gcbrun |
0ff5dd1
to
f0892ec
Compare
/gcbrun |
1 similar comment
/gcbrun |
7af2833
to
cd21960
Compare
/gcbrun |
cd21960
to
6ae89d8
Compare
/gcbrun |
Does this module need to specify a max on the |
Major releases may have breaking changes, which might or might not affect this module, so I assume that’s why the module always restricts to less than the current major. Typically I’ve seen the maintainers be pretty quick to add support for new upper versions, especially if the changes test out OK. |
Yep, they surely can cause breaking changes, but they also might be fully compatible (and generally I find the breaking changes are relatively minimal. In our case this is used as a sub-module alongside a bunch of other resources. We needed to upgrade the provider for some new feature support on our GKE cluster in v6 of the provider. This meant we had to upgrade through multiple major versions of this bastion module as well, for unrelated reasons. Not a perfect metaphor but if you consider a module similar to a library in a regular programming language, it can be quite frustrating when a module / library is adding their own constraints (unless there's actually something breaking): https://youtu.be/WSVFw-3ssXM?si=i_4VnPESakWjEZ4T |
This PR contains the following updates:
>= 3.53, < 6
->>= 3.53, < 7
6.1.0
>= 3.53, < 6
->>= 3.53, < 7
6.1.0
Release Notes
hashicorp/terraform-provider-google (google)
v6.0.1
Compare Source
BREAKING CHANGES:
settings.ip_configuration.require_ssl
fromgoogle_sql_database_instance
in favor ofsettings.ip_configuration.ssl_mode
. This field was intended to be removed in 6.0.0. (#19263)v6.0.0
Compare Source
Terraform Google Provider 6.0.0 Upgrade Guide
BREAKING CHANGES:
goog-terraform-provisioned: true
label by default. (#19190)deletion_protection
field togoogle_active_directory_domain
resource. This field defaults totrue
, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = false
before destroying the resource. (#18906)network
ingoogle_alloy_db_cluster
. Usenetwork_config.network
instead. (#19181)google_bigquery_table
resource (#18767)allow_resource_tags_on_deletion
fromgoogle_bigquery_table
. Resource tags are now always allowed on table deletion. (#19077)multi_region_auxiliary
fromgoogle_bigquery_reservation
(#18922)id
forgoogle_billing_project_info
(#18823)deletion_protection
field togoogle_cloudrunv2_service
. This field defaults totrue
, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = false
before destroying the resource.(#19019)liveness_probe
to no longer infer a default value from api ongoogle_cloud_run_v2_service
. Removing this field and applying the change will now remove liveness probe from the Cloud Run service. (#18764)containers.env
to SET from ARRAY forgoogle_cloud_run_v2_service
andgoogle_cloud_run_v2_job
. (#18855)ip_allocation_policy = []
ingoogle_composer_environment
is no longer valid configuration. Removing the field from configuration should not produce a diff. (#19207)enabled
ingoogle_compute_backend_service
andgoogle_compute_region_backend_service
(#18772)certifcate_id
ingoogle_compute_managed_ssl_certificate
to correctly be output only. (#19069)connection_draining_timeout_sec
,balancing_mode
andoutlier_detection
ingoogle_compute_region_backend_service
andgoogle_compute_backend_service
. (#18720)id
forcompute_network_endpoints
(#18844)guest_accelerator = []
is no longer valid configuration ingoogle_compute_instance
. To explicitly set an empty list of objects, set guest_accelerator.count = 0. (#19207)google_compute_instance_from_template
andgoogle_compute_instance_from_machine_image
network_interface.alias_ip_range, network_interface.access_config, attached_disk, guest_accelerator, service_account, scratch_disk
can no longer be set to an empty block[]
. Removing the fields from configuration should not produce a diff. (#19207)secondary_ip_ranges = []
ingoogle_compute_subnetwork
is no longer valid configuration. To set an explicitly empty list, usesend_secondary_ip_range_if_empty
and completely removesecondary_ip_range
from config. (#19207)advanced_datapath_observability_config.enable_relay
required ingoogle_container_cluster
(#19060)advanced_datapath_observability_config.relay_mode
fromgoogle_container_cluster
resource. Users are expected to useenable_relay
field instead. (#19060)google_container_cluster
resource.resource_labels
field is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labels
field merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labels
field lists all of labels present on the resource in GCP, including the labels configured through Terraform, the system, and other clients. (#19062)resource_labels
,terraform_labels
, andeffective_labels
be present ingoogle_container_cluster
datasources. All three fields will have all of labels present on the resource in GCP including the labels configured through Terraform, the system, and other clients, equivalent toeffective_labels
on the resource. (#19062)guest_accelerator = []
is no longer valid configuration ingoogle_container_cluster
andgoogle_container_node_pool
. To explicitly set an empty list of objects, set guest_accelerator.count = 0. (#19207)guest_accelerator.gpu_driver_installation_config = []
andguest_accelerator.gpu_sharing_config = []
are no longer valid configuration ingoogle_container_cluster
andgoogle_container_node_pool
. Removing the fields from configuration should not produce a diff. (#19207)google_datastore_index
in favor ofgoogle_firestore_index
(#19160)google_edgenetwork_network
andgoogle_edgenetwork_subnet
resources.labels
field is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labels
field merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labels
field lists all of labels present on the resource in GCP, including the labels configured through Terraform, the system, and other clients. (#19062)google_identity_platform_project_default_config
in favor ofgoogle_identity_platform_project_config
(#18992)schema_settings
ingoogle_pubsub_topic
to be removed (#18631)create_sample_workflows
andprovision_gmek
fromgoogle_integrations_client
(#19148)deletion_protection_enabled
field to thegoogle_redis_cluster
resource. This field defaults totrue
, preventing accidental deletions. To delete the resource, you must first setdeletion_protection_enabled = false
before destroying the resource. (#19173)deletion_protection
field togoogle_folder
to make deleting them require an explicit intent. Folder resources now cannot be destroyed unlessdeletion_protection = false
is set for the resource. (#19021)deletion_policy
ingoogle_project
'PREVENT' by default. This makes deleting them require an explicit intent.google_project
resources cannot be destroyed unlessdeletion_policy
is set to 'ABANDON' or 'DELETE' for the resource. (#19114)settings.ip_configuration.require_ssl
ingoogle_sql_database_instance
. Please usesettings.ip_configuration.ssl_mode
instead. (#18843)no_age
field fromlifecycle_rule.condition
in thegoogle_storage_bucket
resource (#19048)min_throughput
andmin_instances
fields ongoogle_vpc_access_connector
and made them default to values returned from the API when not provided by users (#18697)min_throughput
andmin_instances
fields ongoogle_vpc_access_connector
(#18697)max_throughput
andmax_instances
fields ongoogle_vpc_access_connector
(#18697)host.gce_instance.disable_ssh
to true forgoogle_workstations_workstation_config
(#19101)IMPROVEMENTS:
reserved_internal_range
andsecondary_ip_ranges[].reserved_internal_range
togoogle_compute_subnetwork
resource (#19151)name_prefix
in multiple Compute resources to allow for a longer max length of 54 characters. See the upgrade guide and resource documentation for more details. (#19152)BUG FIXES:
enabled
field by default for nulliap
message ingoogle_compute_backend_service
andgoogle_compute_region_backend_service
(#18772)hashicorp/terraform-provider-google-beta (google-beta)
v6.0.1
Compare Source
BREAKING CHANGES:
settings.ip_configuration.require_ssl
fromgoogle_sql_database_instance
in favor ofsettings.ip_configuration.ssl_mode
. This field was intended to be removed in 6.0.0. (#8043)v6.0.0
Compare Source
Terraform Google Provider 6.0.0 Upgrade Guide
BREAKING CHANGES:
goog-terraform-provisioned: true
label by default. (#8004)deletion_protection
field togoogle_active_directory_domain
resource. This field defaults totrue
, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = false
before destroying the resource. (#7837)network
ingoogle_alloy_db_cluster
. Usenetwork_config.network
instead. (#7999)id
forgoogle_billing_project_info
(#7793)google_bigquery_table
resource (#7755)allow_resource_tags_on_deletion
fromgoogle_bigquery_table
. Resource tags are now always allowed on table deletion. (#7940)multi_region_auxiliary
fromgoogle_bigquery_reservation
(#7844)deletion_protection
field togoogle_cloudrunv2_service
to make deleting them require an explicit intent. This field defaults totrue
, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = false
before destroying the resource. (#7901)liveness_probe
to no longer infer a default value from api ongoogle_cloud_run_v2_service
. Removing this field and applying the change will now remove liveness probe from the Cloud Run service. (#7753)containers.env
to SET from ARRAY forgoogle_cloud_run_v2_service
andgoogle_cloud_run_v2_job
. (#7812)ip_allocation_policy = []
ingoogle_composer_environment
is no longer valid configuration. Removing the field from configuration should not produce a diff. (#8011)enabled
ingoogle_compute_backend_service
andgoogle_compute_region_backend_service
(#7758)connection_draining_timeout_sec
,balancing_mode
andoutlier_detection
ingoogle_compute_region_backend_service
andgoogle_compute_backend_service
. (#7723)compute_network_endpoints
(#7806)certifcate_id
field ingoogle_compute_managed_ssl_certificate
resource being incorrectly marked as a user-configurable value when it should just be an output. (#7936)guest_accelerator = []
is no longer valid configuration ingoogle_compute_instance
. To explicitly set an empty list of objects, set guest_accelerator.count = 0. (#8011)google_compute_instance_from_template
andgoogle_compute_instance_from_machine_image
network_interface.alias_ip_range, network_interface.access_config, attached_disk, guest_accelerator, service_account, scratch_disk
can no longer be set to an empty block[]
. Removing the fields from configuration should not produce a diff. (#8011)secondary_ip_ranges = []
ingoogle_compute_subnetwork
is no longer valid configuration. To set an explicitly empty list, usesend_secondary_ip_range_if_empty
and completely removesecondary_ip_range
from config. (#8011)advanced_datapath_observability_config.enable_relay
required ingoogle_container_cluster
(#7930)advanced_datapath_observability_config.relay_mode
fromgoogle_container_cluster
resource. Users are expected to useenable_relay
field instead. (#7930)google_container_cluster
resource.resource_labels
field is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labels
field merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labels
field lists all of labels present on the resource in GCP, including the labels configured through Terraform, the system, and other clients. (#7932)resource_labels
,terraform_labels
, andeffective_labels
be present ingoogle_container_cluster
datasources. All three fields will have all of labels present on the resource in GCP including the labels configured through Terraform, the system, and other clients, equivalent toeffective_labels
on the resource. (#7932)guest_accelerator = []
is no longer valid configuration ingoogle_container_cluster
andgoogle_container_node_pool
. To explicitly set an empty list of objects, set guest_accelerator.count = 0. (#8011)guest_accelerator.gpu_driver_installation_config = []
andguest_accelerator.gpu_sharing_config = []
are no longer valid configuration ingoogle_container_cluster
andgoogle_container_node_pool
. Removing the fields from configuration should not produce a diff. (#8011)google_datastore_index
in favor ofgoogle_firestore_index
(#7987)google_edgenetwork_network
andgoogle_edgenetwork_subnet
resources.labels
field is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labels
field merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labels
field lists all of labels present on the resource in GCP, including the labels configured through Terraform, the system, and other clients. (#7932)google_identity_platform_project_default_config
in favor ofgoogle_identity_platform_project_config
(#7880)create_sample_workflows
andprovision_gmek
fromgoogle_integrations_client
(#7977)schema_settings
ingoogle_pubsub_topic
to be removed (#7674)deletion_protection_enabled
field to thegoogle_redis_cluster
resource. This field defaults totrue
, preventing accidental deletions. To delete the resource, you must first setdeletion_protection_enabled = false
before destroying the resource. (#7995)deletion_protection
field togoogle_folder
to make deleting them require an explicit intent. Folder resources now cannot be destroyed unlessdeletion_protection = false
is set for the resource. (#7903)deletion_policy
ingoogle_project
'PREVENT' by default. This makes deleting them require an explicit intent.google_project
resources cannot be destroyed unlessdeletion_policy
is set to 'ABANDON' or 'DELETE' for the resource. (#7946)no_age
field fromlifecycle_rule.condition
in thegoogle_storage_bucket
resource (#7923)settings.ip_configuration.require_ssl
ingoogle_sql_database_instance
. Please usesettings.ip_configuration.ssl_mode
instead. (#7804)min_throughput
andmin_instances
fields ongoogle_vpc_access_connector
and made them default to values returned from the API when not provided by users (#7709)min_throughput
andmin_instances
fields ongoogle_vpc_access_connector
(#7709)max_throughput
andmax_instances
fields ongoogle_vpc_access_connector
(#7709)host.gce_instance.disable_ssh
to true forgoogle_workstations_workstation_config
(#7946)IMPROVEMENTS:
reserved_internal_range
andsecondary_ip_ranges[].reserved_internal_range
togoogle_compute_subnetwork
resource (#7980)name_prefix
in multiple Compute resources to allow for a longer max length of 54 characters. See the upgrade guide and resource documentation for more details. (#7981)BUG FIXES:
enabled
field by default for nulliap
message ingoogle_compute_backend_service
andgoogle_compute_region_backend_service
(#7758)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.