-
Notifications
You must be signed in to change notification settings - Fork 91
feat(deps): Update Terraform Google Provider to v6 (major) #205
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
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, < 76.1.0>= 3.53, < 6->>= 3.53, < 76.1.0Release Notes
hashicorp/terraform-provider-google (google)
v6.0.1Compare Source
BREAKING CHANGES:
settings.ip_configuration.require_sslfromgoogle_sql_database_instancein favor ofsettings.ip_configuration.ssl_mode. This field was intended to be removed in 6.0.0. (#19263)v6.0.0Compare Source
Terraform Google Provider 6.0.0 Upgrade Guide
BREAKING CHANGES:
goog-terraform-provisioned: truelabel by default. (#19190)deletion_protectionfield togoogle_active_directory_domainresource. This field defaults totrue, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = falsebefore destroying the resource. (#18906)networkingoogle_alloy_db_cluster. Usenetwork_config.networkinstead. (#19181)google_bigquery_tableresource (#18767)allow_resource_tags_on_deletionfromgoogle_bigquery_table. Resource tags are now always allowed on table deletion. (#19077)multi_region_auxiliaryfromgoogle_bigquery_reservation(#18922)idforgoogle_billing_project_info(#18823)deletion_protectionfield togoogle_cloudrunv2_service. This field defaults totrue, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = falsebefore destroying the resource.(#19019)liveness_probeto 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.envto SET from ARRAY forgoogle_cloud_run_v2_serviceandgoogle_cloud_run_v2_job. (#18855)ip_allocation_policy = []ingoogle_composer_environmentis no longer valid configuration. Removing the field from configuration should not produce a diff. (#19207)enabledingoogle_compute_backend_serviceandgoogle_compute_region_backend_service(#18772)certifcate_idingoogle_compute_managed_ssl_certificateto correctly be output only. (#19069)connection_draining_timeout_sec,balancing_modeandoutlier_detectioningoogle_compute_region_backend_serviceandgoogle_compute_backend_service. (#18720)idforcompute_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_templateandgoogle_compute_instance_from_machine_imagenetwork_interface.alias_ip_range, network_interface.access_config, attached_disk, guest_accelerator, service_account, scratch_diskcan no longer be set to an empty block[]. Removing the fields from configuration should not produce a diff. (#19207)secondary_ip_ranges = []ingoogle_compute_subnetworkis no longer valid configuration. To set an explicitly empty list, usesend_secondary_ip_range_if_emptyand completely removesecondary_ip_rangefrom config. (#19207)advanced_datapath_observability_config.enable_relayrequired ingoogle_container_cluster(#19060)advanced_datapath_observability_config.relay_modefromgoogle_container_clusterresource. Users are expected to useenable_relayfield instead. (#19060)google_container_clusterresource.resource_labelsfield is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labelsfield merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labelsfield 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_labelsbe present ingoogle_container_clusterdatasources. 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_labelson the resource. (#19062)guest_accelerator = []is no longer valid configuration ingoogle_container_clusterandgoogle_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_clusterandgoogle_container_node_pool. Removing the fields from configuration should not produce a diff. (#19207)google_datastore_indexin favor ofgoogle_firestore_index(#19160)google_edgenetwork_networkandgoogle_edgenetwork_subnetresources.labelsfield is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labelsfield merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labelsfield 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_configin favor ofgoogle_identity_platform_project_config(#18992)schema_settingsingoogle_pubsub_topicto be removed (#18631)create_sample_workflowsandprovision_gmekfromgoogle_integrations_client(#19148)deletion_protection_enabledfield to thegoogle_redis_clusterresource. This field defaults totrue, preventing accidental deletions. To delete the resource, you must first setdeletion_protection_enabled = falsebefore destroying the resource. (#19173)deletion_protectionfield togoogle_folderto make deleting them require an explicit intent. Folder resources now cannot be destroyed unlessdeletion_protection = falseis set for the resource. (#19021)deletion_policyingoogle_project'PREVENT' by default. This makes deleting them require an explicit intent.google_projectresources cannot be destroyed unlessdeletion_policyis set to 'ABANDON' or 'DELETE' for the resource. (#19114)settings.ip_configuration.require_sslingoogle_sql_database_instance. Please usesettings.ip_configuration.ssl_modeinstead. (#18843)no_agefield fromlifecycle_rule.conditionin thegoogle_storage_bucketresource (#19048)min_throughputandmin_instancesfields ongoogle_vpc_access_connectorand made them default to values returned from the API when not provided by users (#18697)min_throughputandmin_instancesfields ongoogle_vpc_access_connector(#18697)max_throughputandmax_instancesfields ongoogle_vpc_access_connector(#18697)host.gce_instance.disable_sshto true forgoogle_workstations_workstation_config(#19101)IMPROVEMENTS:
reserved_internal_rangeandsecondary_ip_ranges[].reserved_internal_rangetogoogle_compute_subnetworkresource (#19151)name_prefixin 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:
enabledfield by default for nulliapmessage ingoogle_compute_backend_serviceandgoogle_compute_region_backend_service(#18772)hashicorp/terraform-provider-google-beta (google-beta)
v6.0.1Compare Source
BREAKING CHANGES:
settings.ip_configuration.require_sslfromgoogle_sql_database_instancein favor ofsettings.ip_configuration.ssl_mode. This field was intended to be removed in 6.0.0. (#8043)v6.0.0Compare Source
Terraform Google Provider 6.0.0 Upgrade Guide
BREAKING CHANGES:
goog-terraform-provisioned: truelabel by default. (#8004)deletion_protectionfield togoogle_active_directory_domainresource. This field defaults totrue, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = falsebefore destroying the resource. (#7837)networkingoogle_alloy_db_cluster. Usenetwork_config.networkinstead. (#7999)idforgoogle_billing_project_info(#7793)google_bigquery_tableresource (#7755)allow_resource_tags_on_deletionfromgoogle_bigquery_table. Resource tags are now always allowed on table deletion. (#7940)multi_region_auxiliaryfromgoogle_bigquery_reservation(#7844)deletion_protectionfield togoogle_cloudrunv2_serviceto make deleting them require an explicit intent. This field defaults totrue, preventing accidental deletions. To delete the resource, you must first setdeletion_protection = falsebefore destroying the resource. (#7901)liveness_probeto 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.envto SET from ARRAY forgoogle_cloud_run_v2_serviceandgoogle_cloud_run_v2_job. (#7812)ip_allocation_policy = []ingoogle_composer_environmentis no longer valid configuration. Removing the field from configuration should not produce a diff. (#8011)enabledingoogle_compute_backend_serviceandgoogle_compute_region_backend_service(#7758)connection_draining_timeout_sec,balancing_modeandoutlier_detectioningoogle_compute_region_backend_serviceandgoogle_compute_backend_service. (#7723)compute_network_endpoints(#7806)certifcate_idfield ingoogle_compute_managed_ssl_certificateresource 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_templateandgoogle_compute_instance_from_machine_imagenetwork_interface.alias_ip_range, network_interface.access_config, attached_disk, guest_accelerator, service_account, scratch_diskcan no longer be set to an empty block[]. Removing the fields from configuration should not produce a diff. (#8011)secondary_ip_ranges = []ingoogle_compute_subnetworkis no longer valid configuration. To set an explicitly empty list, usesend_secondary_ip_range_if_emptyand completely removesecondary_ip_rangefrom config. (#8011)advanced_datapath_observability_config.enable_relayrequired ingoogle_container_cluster(#7930)advanced_datapath_observability_config.relay_modefromgoogle_container_clusterresource. Users are expected to useenable_relayfield instead. (#7930)google_container_clusterresource.resource_labelsfield is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labelsfield merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labelsfield 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_labelsbe present ingoogle_container_clusterdatasources. 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_labelson the resource. (#7932)guest_accelerator = []is no longer valid configuration ingoogle_container_clusterandgoogle_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_clusterandgoogle_container_node_pool. Removing the fields from configuration should not produce a diff. (#8011)google_datastore_indexin favor ofgoogle_firestore_index(#7987)google_edgenetwork_networkandgoogle_edgenetwork_subnetresources.labelsfield is non-authoritative and only manages the labels defined by the users on the resource through Terraform. The new output-onlyterraform_labelsfield merges the labels defined by the users on the resource through Terraform and the default labels configured on the provider. The new output-onlyeffective_labelsfield 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_configin favor ofgoogle_identity_platform_project_config(#7880)create_sample_workflowsandprovision_gmekfromgoogle_integrations_client(#7977)schema_settingsingoogle_pubsub_topicto be removed (#7674)deletion_protection_enabledfield to thegoogle_redis_clusterresource. This field defaults totrue, preventing accidental deletions. To delete the resource, you must first setdeletion_protection_enabled = falsebefore destroying the resource. (#7995)deletion_protectionfield togoogle_folderto make deleting them require an explicit intent. Folder resources now cannot be destroyed unlessdeletion_protection = falseis set for the resource. (#7903)deletion_policyingoogle_project'PREVENT' by default. This makes deleting them require an explicit intent.google_projectresources cannot be destroyed unlessdeletion_policyis set to 'ABANDON' or 'DELETE' for the resource. (#7946)no_agefield fromlifecycle_rule.conditionin thegoogle_storage_bucketresource (#7923)settings.ip_configuration.require_sslingoogle_sql_database_instance. Please usesettings.ip_configuration.ssl_modeinstead. (#7804)min_throughputandmin_instancesfields ongoogle_vpc_access_connectorand made them default to values returned from the API when not provided by users (#7709)min_throughputandmin_instancesfields ongoogle_vpc_access_connector(#7709)max_throughputandmax_instancesfields ongoogle_vpc_access_connector(#7709)host.gce_instance.disable_sshto true forgoogle_workstations_workstation_config(#7946)IMPROVEMENTS:
reserved_internal_rangeandsecondary_ip_ranges[].reserved_internal_rangetogoogle_compute_subnetworkresource (#7980)name_prefixin 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:
enabledfield by default for nulliapmessage ingoogle_compute_backend_serviceandgoogle_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.