FEATURES:
- New Data Source:
google_redis_instance(#6649) - New Resource:
google_notebook_environment(#6639) - New Resource:
google_notebook_instance(#6639)
IMPROVEMENTS:
- appengine: Enabled provisioning Firestore on a new project by adding the option to specify
database_typeingoogle_app_engine_application(#6629) - compute: Added
modetogoogle_compute_autoscalerautoscaling_policy(#6664) - dns: enabled google_dns_policy to accept network id (#6624)
BUG FIXES:
- appengine: Added polling to
google_app_engine_firewall_ruleto prevent issues with eventually consistent creation (#6633) - compute: Allowed updating
google_compute_network_peering_routes_configimport_custom_routesandexport_custom_routesto false (#6625) - netblock: fixed the google netblock ranges returned by the
google_netblock_ip_rangesby targeting json on gstatic domain instead of reading SPF dns records (solution provided by network team) (#6650)
IMPROVEMENTS:
- accesscontextmanager: Added
customconfig togoogle_access_context_manager_access_level(#6611) - cloudbuild: Added
invert_regexflag in Github PullRequestFilter and PushFilter in triggerTemplate (#6594) - cloudrun: Added
template.spec.timeout_secondstogoogle_cloud_run_service(#6575) - compute: Added
export_subnet_routes_with_public_ipandimport_subnet_routes_with_public_iptogoogle_compute_network_peering(#6586) - compute: Added support for
google_compute_instance_groupinstancesto accept instance id field as well as self_link (#6569) - dns: Added support for
google_dns_policynetwork to acceptgoogle_compute_network.id(#6624) - redis: Added validation for name attribute in
redis_instance(#6581) - sql: Promoted
google_sql_database_instanceroot_password(MS SQL) to GA (#6601)
BUG FIXES:
- bigquery: Fixed
range_partitioning.range.startso that the value0is sent ingoogle_bigquery_table(#6562) - container: Fixed a regression in
google_container_clusterwhere the location was not inferred when using asubnetworkshortname value likename(#6568) - datastore: Added retries to
google_datastore_indexrequests when under contention. (#6563) - kms: Fixed the
idvalue in thegoogle_kms_crypto_key_versiondatasource to include a/v1part following//cloudkms.googleapis.com/, making it useful for interpolation into Binary Authorization. (#6576)
FEATURES:
- New Resource:
google_data_catalog_tag(#6550) - New Resource:
google_bigquery_dataset_iam_binding(#6553) - New Resource:
google_bigquery_dataset_iam_member(#6553) - New Resource:
google_bigquery_dataset_iam_policy(#6553) - New Resource:
google_memcache_instance(#6540) - New Resource:
google_network_management_connectivity_test(#6529)
IMPROVEMENTS:
- compute: added
default_route_actiontocompute_url_mapandcompute_url_map.path_matchers(#6547) - dialogflow: Changed
google_dialogflow_agent.time_zoneto be updatable (#6519) - dns: enabled google_dns_managed_zone to accept network id for two attributes (#6533)
- healthcare: Added support for
streaming_configstogoogle_healthcare_fhir_store(#6551) - monitoring: added
matcherattribute tocontent_matchersblock forgoogle_monitoring_uptime_check_config(#6558)
BUG FIXES:
- compute: fixed issue where trying to update the region of
google_compute_subnetworkwould fail instead of destroying/recreating the subnetwork (#6522) - dataflow: added retries in
google_dataflow_jobfor common retryable API errors when waiting for job to update (#6552) - dataflow: changed the update logic for
google_dataflow_jobto wait for the replacement job to start successfully before modifying the resource ID to point to the replacement job (#6534)
FEATURES:
- New Resource:
google_data_catalog_tag_template(#6485) - New Resource:
google_container_analysis_occurence(#6474)
IMPROVEMENTS:
- appengine: added
inbound_servicestoStandardAppVersionresource (#6514) - bigquery: Promoted
google_bigquery_tablerange_partitioningto GA (#6488) - bigquery: Added support for
google_bigquery_tablehive_partitioning_options(#6488) - container: Promoted
google_container_cluster.workload_identity_configto GA. (#6490) - container_analysis: Added top-level generic note fields to
google_container_analysis_note(#6474)
BUG FIXES:
- bigquery: Fixed an issue where
google_bigquery_jobwould return "was present, but now absent" error after job creation (#6489) - container: Changed retry logic for
google_container_node_pooldeletion to use timeouts and retry errors more specifically when cluster is updating. (#6335) - dataflow: fixed an issue where
google_dataflow_jobwould try to updatemax_workers(#6468) - dataflow: fixed an issue where updating
on_deleteingoogle_dataflow_jobwould cause the job to be replaced (#6468) - compute: fixed issue where removing all target pools from
google_compute_instance_group_managerorgoogle_compute_region_instance_group_managerhad no effect (#6492) - functions: Added retry to
google_cloudfunctions_functioncreation when API returns error while pulling source from GCS (#6476) - provider: Removed credentials from output error when provider cannot parse given credentials (#6473)
FEATURES:
- New Data Source:
google_secret_manager_secret_version(#6432) - New Resources:
google_data_catalog_entry_group_iam_*(#6438) - New Resource:
google_data_catalog_entry_group(#6438) - New Resource:
google_data_catalog_entry(#6444) - New Resource:
google_dns_policyis now GA (#6439) - New Resource:
google_secret_manager_secret(#6432) - New Resources:
google_secret_manager_secret_iam_*(#6432) - New Resource:
google_secret_manager_secret_version(#6432)
IMPROVEMENTS:
- appengine: added
handlerstogoogle_flexible_app_version(#6449) - bigquery: suppressed diffs between fully qualified URLs and relative paths that reference the same table or dataset in
google_bigquery_job(#6451) - dns: Promoted the following
google_dns_managed_zonefields to GA:forwarding_config,peering_config(#6439)
BUG FIXES:
- appengine: added ability to fully sync
StandardAppVersionresources (#6435) - bigquery: Fixed an issue with
google_bigquery_dataset_accessfailing for primitive roleroles/bigquery.dataViewer(#6431) - dataflow: fixed an issue where
google_dataflow_jobwould try to updatemax_workers(#6468) - dataflow: fixed an issue where updating
on_deleteingoogle_dataflow_jobwould cause the job to be replaced (#6468) - os_login: Fixed
google_os_login_ssh_public_keykeyfield attempting to update in-place (#6433)
BREAKING CHANGES:
- The base url for the
monitoringendpoint no longer includes the API version (previously "v3/"). If you use amonitoring_custom_endpoint, remove the trailing "v3/". (#6424)
FEATURES:
- New Data Source:
google_iam_testable_permissions(#6382) - New Resource:
google_monitoring_dashboard(#6424)
IMPROVEMENTS:
- bigquery: Added ability for various
table_idfields (and onedataset_idfield) ingoogle_bigquery_jobto specify a relative path instead of just the table id (#6404) - composer: Added support for
google_composer_environmentconfig.private_environment_config.cloud_sql_ipv4_cidr_block(#6392) - composer: Added support for
google_composer_environmentconfig.private_environment_config.web_server_ipv4_cidr_block(#6392) - container: Added update support for
node_config.workload_metadata_configtogoogle_container_node_pool(#6430) - container: Added the ability to unspecify
google_container_cluster'smin_master_versionfield (#6373) - monitoring: Added window-based SLI to
google_monitoring_slo(#6381)
BUG FIXES:
- compute: Fixed an issue where
google_compute_routecreation failed while VPC peering was in progress. (#6410) - Fixed an issue where data source
google_organizationwould ignore exact domain matches if multiple domains were found (#6420) - compute: Fixed
google_compute_interconnect_attachmentedge_availability_domaindiff when the field is unspecified (#6419) - compute: fixed error where plan would error if
google_compute_region_disk_resource_policy_attachmenthad been deleted outside of terraform. (#6367) - compute: raise limit on number of
src_ip_rangesvalues ingoogle_compute_security_policyto supported 10 (#6394) - iam: Fixed an issue where
google_service_accountshows an error after creating the resource (#6391)
BREAKING CHANGE:
google_bigtable_instanceresources now cannot be destroyed unlessdeletion_protection = falseis set in state for the resource. (#6357)
FEATURES:
- New Resource:
google_dialogflow_entity_type(#6339)
IMPROVEMENTS:
- bigtable: added
deletion_protectionfield togoogle_bigtable_instanceto make deleting them require an explicit intent. (#6357) - compute: Added
google_compute_region_backend_serviceport_nameparameter (#6327) - dataproc: Updated
google_dataproc_cluster.software_config.optional_componentsto include new options. (#6330) - monitoring: Added
request_basedSLI support togoogle_monitoring_slo(#6353) - storage: added
google_storage_bucketbucket name to the error message when the bucket can't be deleted because it's not empty (#6355)
BUG FIXES:
- bigquery: Fixed error where
google_bigquery_dataset_accessresources could not be found post-creation if role was set to a predefined IAM role with an equivalent primitive role (e.g.roles/bigquery.dataOwnerandOWNER) (#6307) - compute: Fixed permadiff in
google_compute_instance_template'snetwork_tier. (#6344) - compute: Removed permadiff or errors on update for
google_compute_backend_serviceandgoogle_compute_region_backend_servicewhenconsistent_hashvalues were previously set on backend service but are not supported by updated value oflocality_lb_policy(#6316) - sql: Fixed occasional failure to delete
google_sql_database_instanceandgoogle_sql_user. (#6318)
FEATURES:
- New Resource:
google_compute_region_target_http_proxyis now GA (#6245) - New Resource:
google_compute_region_target_https_proxyis now GA (#6245) - New Resource:
google_compute_region_url_mapis now GA (#6245) - New Resource:
google_logging_billing_account_bucket_config(#6227) - New Resource:
google_logging_folder_bucket_config(#6227) - New Resource:
google_logging_organization_bucket_config(#6227) - New Resource:
google_logging_project_bucket_config(#6227)
IMPROVEMENTS:
- all: added configurable timeouts to several resources that did not previously have them (#6226)
- bigquery: added
service_account_namefield togoogle_bigquery_data_transfer_configresource (#6221) - cloudfunctions: Added validation to label keys for
google_cloudfunctions_functionas API errors aren't useful. (#6228) - compute: Promoted the following
google_compute_backend_servicefields to GA:circuit_breakers,consistent_hash,custom_request_headers,locality_lb_policy,outlier_detection(#6245) - compute: Promoted the following
google_compute_region_backend_servicefields to GA:affinity_cookie_ttl_sec,circuit_breakers,consistent_hash,failover_policy,locality_lb_policy,outlier_detection,log_config,failover(#6245) - container: Promoted
google_container_cluster.addons_config.cloudrun_configfrom beta to GA. (#6304) - container: Promoted
google_container_cluster.enable_shielded_nodesfrom beta to GA. (#6303) - container: Promoted
node_locationstogoogle_container_node_poolandgoogle_container_cluster.node_poolfrom beta to GA (#6253) - dataflow: Added drift detection for
google_dataflow_jobtemplate_gcs_pathandtemp_gcs_locationfields (#6257) - dataflow: Added support for update-by-replacement to
google_dataflow_job(#6257) - dataflow: Added support for providing additional experiments to Dataflow job (#6196)
- storage: Added retries for
google_storage_bucket_iam_*on 412 (precondition not met) errors for eventually consistent bucket creation. (#6235)
BUG FIXES:
- all: fixed bug where timeouts specified in units other than minutes were getting incorrectly rounded. Also fixed several instances of timeout values being used from the wrong method. (#6218)
- accesscontextmanager: Fixed setting
require_screen_lockto true forgoogle_access_context_manager_access_level(#6234) - appengine: Changed
google_app_engine_applicationto respect updates iniap(#6216) - bigquery: Fixed error where
google_bigquery_dataset_accessresources could not be found post-creation if role was set to a predefined IAM role with an equivalent primative role (e.g.roles/bigquery.dataOwnerandOWNER) (#6307) - bigquery: Fixed the
google_sheets_optionsat least one of logic. (#6280) - cloudscheduler: Fixed permadiff for
google_cloud_scheduler_job.retry_config.*block when API provides default values (#6278) - compute: Added lock to prevent
google_compute_routefrom changing while peering operations are happening on its network (#6243) - compute: fixed issue where the default value for the attribute
advertise_modeongoogle_compte_router_peerwas not populated on import (#6265) - container: Fix occasional error with
container_node_poolpartially-successful creations not being recorded if an error occurs on the GCP side. (#6305) - container: fixed issue where terraform would error if a gke instance group was deleted out-of-band (#6242)
- storage: Fixed setting/reading
google_storage_bucket_objectmetadata on API object (#6271) - storage: Marked the credentials field in
google_storage_object_signed_urlas sensitive so it doesn't expose private credentials. (#6272)
FEATURES:
- New Resource:
google_healthcare_dataset_iam_bindingis now GA (#6193) - New Resource:
google_healthcare_dataset_iam_memberis now GA (#6193) - New Resource:
google_healthcare_dataset_iam_policyis now GA (#6193) - New Resource:
google_healthcare_datasetis now GA (#6164) - New Resource:
google_healthcare_dicom_store_iam_bindingis now GA (#6193) - New Resource:
google_healthcare_dicom_store_iam_memberis now GA (#6193) - New Resource:
google_healthcare_dicom_store_iam_policyis now GA (#6193) - New Resource:
google_healthcare_dicom_storeis now GA (#6164) - New Resource:
google_healthcare_fhir_store_iam_bindingis now GA (#6193) - New Resource:
google_healthcare_fhir_store_iam_memberis now GA (#6193) - New Resource:
google_healthcare_fhir_store_iam_policyis now GA (#6193) - New Resource:
google_healthcare_fhir_storeis now GA (#6164) - New Resource:
google_healthcare_hl7_v2_store_iam_bindingis now GA (#6193) - New Resource:
google_healthcare_hl7_v2_store_iam_memberis now GA (#6193) - New Resource:
google_healthcare_hl7_v2_store_iam_policyis now GA (#6193) - New Resource:
google_healthcare_hl7_v2_storeis now GA (#6164)
IMPROVEMENTS:
- appengine: Added
automatic_scaling,basic_scaling, andmanual_scalingtogoogle_app_engine_standard_app_version(#6183) - bigquery: added
service_account_namefield togoogle_bigquery_data_transfer_configresource (#6221) - bigtable: added ability to add/remove column families in
google_bigtable_table(#6188) - cloudfunctions: Added validation to label keys for
google_cloudfunctions_functionas API errors aren't useful. (#6228) - compute: Added support for default URL redirects to
google_compute_url_mapandgoogle_compute_region_url_map(#6203) - dataflow: Add support for
additional_experimentstogoogle_dataflow_job(#6196)
BUG FIXES:
- accesscontextmanager: Fixed setting
require_screen_lockto true forgoogle_access_context_manager_access_level(#6234) - appengine: Changed
google_app_engine_applicationto respect updates iniap(#6216) - sql: Allowed
binary_log_enabledto be disabled. (#6163) - storage: Added retries for
google_storage_bucket_iam_*on 412 (precondition not met) errors for eventually consistent bucket creation. (#6235)
FEATURES:
- New Resource:
google_bigquery_job(#6134) - New Resource:
google_monitoring_slo(#6118) - New Resource:
google_service_directory_endpoint(#6150) - New Resource:
google_service_directory_namespace(#6150) - New Resource:
google_service_directory_service(#6150)
IMPROVEMENTS:
- bigtable: Reduced the minimum number of nodes for the
bigtable_instaceresource from 3 to 1. (#6159) - container: Added support for
google_container_clusterCompute Engine persistent disk CSI driver (#6160) - compute: Added support for
google_compute_instanceresource_policiesfield (#6125) - compute: Added support for
google_compute_resource_policygroup placement policies (#6125)
BUG FIXES:
- dataproc: Fixed diff when
google_dataproc_clusterpreemptible_worker_config.0.num_instancesis sized to 0 and otherpreemptible_worker_configsubfields are set (#6123) - resourcemanager: Added a wait to
google_projectso that projects are more likely to be ready before the resource finishes creation (#6161) - sql: Allowed
binary_log_enabledto be disabled. (#6163) - sql: Fixed behaviour in
google_sql_databasewhen the parent instance is deleted, removing it from state (#6162)
FEATURES:
- New Data Source:
google_monitoring_app_engine_service(#6078) - New Resource:
google_monitoring_custom_service(#6078) - New Resource:
google_compute_global_network_endpoint(#6095) - New Resource:
google_compute_global_network_endpoint_group(#6095) - New Resource:
google_monitoring_slo(#6118)
IMPROVEMENTS:
- appengine: Added
iap.enabledfield togoogle_app_engine_applicationresource (#6076) - iam: Added
namefield togoogle_organization_iam_custom_role(#6111) - iam: Added
namefield togoogle_project_iam_custom_role(#6111)
BUG FIXES:
- container: Fixed importing/reading
google_container_node_poolresources in non-RUNNING states (#6115) - monitoring: Made
display_nameoptional ongoogle_monitoring_notification_channel(#6090)
FEATURES:
- New Resource:
google_bigquery_dataset_access(#6035) - New Resource:
google_dialogflow_intent(#6061) - New Resource:
google_os_login_ssh_public_key(#6026)
IMPROVEMENTS:
- accesscontextmanager: added
specanduse_explicit_dry_run_spectogoogle_access_context_manager_service_perimeterto test perimeter configurations in dry-run mode. (#6071) - compute: Added update support for
google_compute_interconnect_attachmentadmin_enabled(#6046) - compute: Added field
log_configtogoogle_compute_health_checkandgoogle_compute_region_health_checkto enable health check logging. (#6058) - compute: Added more import formats for
google_compute_instance(#6023) - sourcerepo: allowed
google_sourcerepo_repopubsub_configs.topicto accept short topic names in addition to full references. (#6069)
BUG FIXES:
- compute: Fixed diff on default value for
google_compute_interconnect_attachmentadmin_enabled(#6046) - compute: Fixed perma-diff on
google_compute_interconnect_attachmentcandidate_subnets(#6046) - compute: fixed bug where
google_compute_instance_from_templateinstance defaults were overridingscheduling(#6070) - iap:
projectcan now be unset iniap_web_iam_memberand will read from the defaultproject(#6060) - serviceusage: fixed issue where
google_project_servicesattempted to read a project before enabling the API that allows that read (#6062) - sql: fixed error that occurred on
google_sql_database_instancewhensettings.ip_configurationwas set butipv4_enabledwas not set to true andprivate_networkwas not configured, by defaultingipv4_enabledto true. (#6041) - storage: fixed an issue where
google_storage_bucket_iam_membershowed a diff for bucket self links (#6019) - storage: fixed bug where deleting a
google_storage_bucketthat contained non-deletable objects would retry indefinitely (#6044)
FEATURES:
- New Data Source:
google_monitoring_uptime_check_ips(#6009)
IMPROVEMENTS:
- cloudfunctions: Added
ingress_settingsfield togoogle_cloudfunctions_function(#5981) - cloudfunctions: added support for
vpc_connector_egress_settingstogoogle_cloudfunctions_function(#5984) - accesscontextmanager: added
status.vpc_accessible_servicestogoogle_access_context_manager_service_perimeterto control which services are available from the perimeter's VPC networks to the restricted Google APIs IP address range. (#6006) - cloudrun: added ability to autogenerate revision name (#5987)
- compute: added ability to resize
google_compute_reservation(#5999) - container: added
resource_usage_export_configtogoogle_container_cluster, previously only available ingoogle-beta(#5990) - dns: added ability to update
google_dns_managed_zone.dnssec_config(#6011) - pubsub: Added
dead_letter_policysupport togoogle_pubsub_subscription(#6010)
BUG FIXES:
- compute: Fixed an issue where
portcould not be removed from health checks (#5997) - storage: fixed an issue where
google_storage_bucket_iam_membershowed a diff for bucket self links (#6019)
FEATURES:
- New Resource:
google_compute_instance_group_named_port(#5932) - New Resource:
google_service_usage_consumer_quota_override(#5966) - New Resource:
google_iap_brand(#5881) - New Resource:
google_iap_client(#5881) - New Resource:
google_appengine_flexible_app_version(#5882)
IMPROVEMENTS:
- accesscontextmanager: Added
regionsfield togoogle_access_context_manager_access_level(#5961) - compute: added field
networktogoogle_compute_region_backend_service, which allows internal load balancers to target the non-primary interface of an instance. (#5957) - compute: added support for IAM conditions in
google_compute_subnet_iam_*IAM resources (#5954) - container: Added field
maintenance_policy.recurring_windowtogoogle_container_cluster(#5962) - kms: Added new field
additional_authenticated_datafor Cloud KMS data sourcegoogle_kms_secret(#5968) - kms: Added new field
additional_authenticated_datafor Cloud KMS resourcegoogle_kms_secret_ciphertext(#5968)
BUG FIXES:
- kms: Fixed an issue in
google_kms_crypto_key_versionwherepublic_keywould return empty after apply (#5956) - logging: Fixed import issue with
google_logging_metricin a non-default project. (#5944) - provider: Fixed an error with resources failing to upload large files (e.g. with
google_storage_bucket_object) during retried requests (#5977)
FEATURES:
- New Data Source:
google_compute_instance_serial_port(#5911) - New Resource:
google_compute_region_ssl_certificate(#5913)
IMPROVEMENTS:
- compute: Added new attribute reference
current_statusto thegoogle_compute_instanceresource (#5903) - compute: Added
allow_global_accesstogoogle_compute_forwarding_ruleresource. (#5912) - container: Added
dns_cache_configfield togoogle_container_clusterresource (#5887) - container: Added
upgrade_settingstogoogle_container_node_poolresource (#5910) - provider: Added provider-wide request retries for common temporary GCP error codes and network errors (#5902)
- redis: Added
connect_modefield togoogle_redis_instanceresource (#5888)
BREAKING CHANGES:
- dialogflow: Changed
google_dialogflow_agent.time_zoneto ForceNew. Updating this field will require recreation. This is due to a change in API behavior. (#5831)
FEATURES:
- New Resource:
google_compute_region_disk_resource_policy_attachment(#5849) - New Resource:
google_sql_source_representation_instance(#5839)
IMPROVEMENTS:
- bigtable: Added support for full-name/id
instance_namevalue ingoogle_bigtable_tableandgoogle_bigtable_gc_policy(#5837) - compute: Added
autoscaling_policytogoogle_compute_node_group(#5864) - compute: Added support for full-name/id
network_endpoint_groupvalue ingoogle_network_endpoint(#5838) - compute: Added support for
google_compute_router_natdrain_nat_ips(previously beta-only). (#5821) - dialogflow: Changed
google_dialogflow_agentto not readtierstatus (#5835) - monitoring: Added
sensitive_labelstogoogle_monitoring_notification_channelso that labels likepasswordandauth_tokencan be managed separately from the other labels and marked as sensitive. (#5873)
BUG FIXES:
- all: fixed issue where nested objects were getting sent as null values to GCP on create instead of being omitted from requests (#5825)
- cloudfunctions: fixed
vpc_connectorto be updated properly ingoogle_cloudfunctions_function(#5829) - compute: fixed
google_compute_security_policyfrom allowing two rules with the same priority. (#5834) - compute: fixed bug where
google_compute_instance.scheduling.node_affinities.operatorwould incorrectly acceptNOTrather thanNOT_IN. (#5841) - container: Fixed issue where
google_container_node_poolresources created in the 2.X series were failing to update after 3.11. (#5877)
IMPROVEMENTS:
- serviceusage:
google_project_serviceno longer attempts to enable a service that is already enabled. (#5810) - bigtable: Added support for full-name/id
instancevalue ingoogle_bigtable_app_profile(#5780) - compute: Added
google_compute_router_natdrain_nat_ipsfield (formerly beta). (#5821) - pubsub: Added polling to ensure correct resource state for negative-cached PubSub resources (#5813)
BUG FIXES:
- compute: Fixed a scenario where
google_compute_instance_templatewould cause a crash. (#5808) - container: Fixed panic when upgrading
google_container_clusterwith autoscaling block (#5782) - storage: Added check for bucket retention policy list being empty. (#5793)
- storage: Added locking for operations involving
google_storage_*_access_controlresources to prevent errors from ACLs being added at the same time. (#5791)
FEATURES:
- New Data Source:
google_compute_backend_bucket(#5720) - New Resource:
google_app_engine_service_split_traffic(#5729) - New Resource:
google_compute_packet_mirroring(#5755) - New Resource:
google_vpc_access_connector(GA provider) (#5752)
IMPROVEMENTS:
- bigquery: Landed support for range-based partitioning in
google_bigquery_table(#5723) - compute: added check on
google_compute_routerfor non-empty advertised_groups or advertised_ip_ranges values when advertise_mode is DEFAULT in the bgp block. (#5718) - compute: added the ability to manage the status of
google_compute_instanceresources with thedesired_statusfield (#4797) - iam:
google_project_iam_memberandgoogle_project_iam_binding'sprojectfield can be specified with an optionalprojects/prefix (#5722) - storage: added
metadatatogoogle_storage_bucket_object. (#5721)
BUG FIXES:
- compute: Updated
google_projectto check for valid permissions on the parent billing account before creating and tainting the resource. (#5719) - container: Fixed panic when upgrading
google_container_clusterwithautoscalingblock (#5782)
BREAKING CHANGES:
- container: Fully removed
use_ip_aliasesandcreate_subnetworkfields to fix misleading diff for removed fields (#5666)
FEATURES:
- New Data Source:
google_dns_keys(#5703) - New Resource:
google_storage_hmac_key(#5679) - New Resource:
google_datastore_index(#5655) - New Resource:
google_endpoints_service_iam_binding(#5668) - New Resource:
google_endpoints_service_iam_member(#5668) - New Resource:
google_endpoints_service_iam_policy(#5668)
IMPROVEMENTS:
- container: Allowed import/update/deletion of
google_container_clusterin error states. (#5663) - container: Changed
google_container_node_poolso node pools created in an error state will be marked as tainted on creation. (#5662) - container: Allowed import/update/deletion of
google_container_node_poolin error states and updated resource to wait for a stable state after any changes. (#5662) - container: added label_fingerprint to
google_container_cluster(#5647) - container: Enabled configuring autoscaling profile in
google_container_cluster(https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler#autoscaling_profiles) (#5659) - dataflow: added
job_idattribute (#5644) - dataflow: added computed
typefield togoogle_dataflow_job. (#5709) - provider: Added retries for common network errors we've encountered. (#5675)
FEATURES:
- New Resource:
google_container_registry(#5593)
IMPROVEMENTS:
- all: improve error handling of 404s. (#5601)
- bigtable: added update support for
display_nameandinstance_type(#5648) - container:
google_container_clusterwill wait for a stable state after updates. (#5616) - container: added
boot_disk_kms_keytonode_configblock. (#5615) - dataflow: added
job_idfield togoogle_dataflow_job(#5653) - dialogflow: improve error handling by increasing retry count (#5603)
- resourcemanager: fixed retry behavior for updates in
google_project, added retries for billing metadata requests (#5578) - sql: add
encryption_key_nametogoogle_sql_database_instance(#5591)
BUG FIXES:
- cloudrun: fixed permadiff caused by new API default values on
annotationsandlimits(#5600) - compute: Fixed bug where
google_projectwould fail to create if theauto_create_networkwas false and thecompute-skipDefaultNetworkCreationorganization policies was enforced. (#5601) - container: Removed restriction on
auto_provisioning_defaultsto allow bothoauth_scopesandservice_accountto be set (#5642) - firestore: fixed import of
google_firestore_indexwhen database or collection were non-default. (#5626) - iam: Fixed an erroneous error during import of IAM resources when a provider default project/zone/region is not defined. (#5613)
- kms: Fixed issue where
google_kms_crypto_key_versiondatasource would throw an Invalid Index error on plan (#5619)
NOTES:
- provider: added documentation for the
idfield for many resources, including format (#5543) BREAKING CHANGES: - compute: Added conditional requirement of
google_compute_**region**_backend_servicebackend.capacity_scalerto no longer accept the API default if not INTERNAL. Non-INTERNAL backend services must now specifycapacity_scalerexplicitly and have a total capacity greater than 0. In addition, API default of 1.0 must now be explicitly set and will be treated as nil or zero if not set in config. (#5561)
FEATURES:
- New Data Source:
secret_manager_secret_version(#5562) - New Resource:
google_access_context_manager_service_perimeter_resource(#5574) - New Resource:
secret_manager_secret_version(#5562) - New Resource:
secret_manager_secret(#5562) - New Resource:
google_dialogflow_agent(#5559)
IMPROVEMENTS:
- appengine: added support for
google_app_engine_application.iap(#5556) - compute:
google_compute_security_policyrule.match.exprfield is now GA (#5532) - compute: added additional validation to
google_cloud_router'sbgp.asnfield. (#5547)
BUG FIXES:
- bigtable: fixed diff for DEVELOPMENT instances that are returned from the API with one node (#5557)
- compute: Fixed
backend.capacity_scalerto actually set zero (0.0) value. (#5561) - compute: Fixed
google_compute_**region**_backend_serviceso it no longer has a permadiff ifbackend.capacity_scaleris unset in config by requiring capacity scaler. (#5561) - compute: updated
google_compute_project_metadata_itemto fail on create if its key is already present in the project metadata. (#5576) - logging: updated
bigquery_optionsso the default value from the api will be set in state. (#5534) - sql: undeprecated
settings.ip_configuration.authorized_networks.expiration_time(#5531)
BREAKING CHANGES:
- iam: starts reading/writing IAM policies at version 3 in the GA provider. If you have an IAM resource defined in your config that has a condition on it created outside of Terraform, you should start using the beta provider and defining the condition in your config to avoid unexpected behavior. (#5469)
IMPROVEMENTS:
- dns:
google_dns_managed_zoneadded support for Non-RFC1918 fields for reverse lookup and fowarding paths. (#5493) - monitoring: Added
labelsanduser_labelsfilters to data sourcegoogle_monitoring_notification_channel(#5470)
BUG FIXES:
- bigtable: fixed diff for DEVELOPMENT instances that are returned from the API with one node (#5557)
- compute:
google_compute_instance_templateadded plan time check for any disks markedbootoutside of the first disk (#5491) - container: Fixed perma-diff in
google_container_cluster'scluster_autoscaling.auto_provisioning_defaults. (#5486) - iam: fixed issue where users of the GA provider who used IAM conditions outside of Terraform were getting an error (#5469)
- logging: updated
bigquery_optionsso the default value from the api will be set in state. (#5534) - storage: Stopped
project-ownershowing up in the diff forgoogle_storage_bucket_acl(#5479)
KNOWN ISSUES:
- bigtable: due to API changes, bigtable DEVELOPMENT instances may show a diff on
num_nodes. There will be a fix in the 3.7.0 release of the provider. No known workarounds exist at the moment, but will be tracked in hashicorp#5492.
FEATURES:
- New Data Source: google_monitoring_notification_channel (#5405)
- New Resource: Added
google_iap_tunnel_instance_iam_*IAM resources for IAP Tunnel Instances (#5429) - New Resource: google_compute_network_peering_routes_config (#5426)
IMPROVEMENTS:
- compute: added waiting logic to
google_compute_interconnect_attachmentto avoid modifications when the attachment is UNPROVISIONED (#5459) - compute: made the
google_compute_network_peeringroutes fields available in GA (#5419) - container: Promoted
enable_binary_authorizationfrom beta into ga. (#5456) - scheduler: Added
attempt_deadlinetogoogle_cloud_scheduler_job. (#5399) - storage: added
default_event_based_holdtogoogle_storage_bucket(#5373)
BUG FIXES:
- compute: Fixed
google_compute_instance_from_templatewith existing boot disks (#5430) - compute: Fixed a bug in
google_compute_instancewhen attempting to update a field that requires stopping and starting an instance with an encrypted disk (#5436)
DEPRECATIONS:
- kms: deprecated
data.google_kms_secret_ciphertextas there was no way to make it idempotent. Instead, use thegoogle_kms_secret_ciphertextresource. (#5314) - sql: deprecated first generation-only fields on
google_sql_database_instance(#5376)
FEATURES:
- New Resource:
google_kms_secret_ciphertext(#5314)
IMPROVEMENTS:
- bigtable: added the ability to add/remove clusters from
google_bigtable_instance(#5318) - compute: added support for other resource types (like a Proxy) as a
targettogoogle_compute_forwarding_rule. (#5383) - dataproc: added
lifecycle_configtogoogle_dataproc_cluster.cluster_config(#5323) - iam: updated to allow for empty bindings in
data_source_google_iam_policydata source (#4525) - provider: added retries for batched requests so failed batches will retry each single request separately. (#5355)
- resourcemanager: restricted the length of the
descriptionfield ofgoogle_service_account. It is now limited to 256 characters. (#5409)
BUG FIXES:
- bigtable: Fixed error on reading non-existent
google_bigtable_gc_policy,google_bigtable_instance,google_bigtable_table(#5331) - cloudfunctions: Fixed validation of
google_cloudfunctions_functionname to allow for 63 characters. (#5400) - cloudtasks: Changed
max_dispatches_per_secondto a double instead of an integer. (#5393) - compute: Added validation for
compute_resource_policyto no longer allow invalidstart_timevalues that weren't hourly. (#5342) - compute: Fixed errors from concurrent creation/deletion of overlapping
google_compute_network_peeringresources. (#5338) - compute: Stopped panic when using
usage_export_bucketand the setting had been disabled manually. (#5349) - compute: fixed
google_compute_router_nattimeout fields causing a diff when using a long-lived resource (#5353) - compute: fixed
google_compute_target_https_proxy.quic_overridecausing a diff when using a long-lived resource (#5351) - identityplatform: fixed
google_identity_platform_default_supported_idp_configto correctly allow configuration of bothidp_idandclient_idseparately (#5398) - monitoring: Stopped
labelsfrom causing a perma diff onAlertPolicy(#5367)
DEPRECATIONS:
- kms: deprecated
data.google_kms_secret_ciphertextas there was no way to make it idempotent. Instead, use thegoogle_kms_secret_ciphertextresource. (#5314)
BREAKING CHANGES:
- cloudrun: Changed
google_cloud_run_domain_mappingto correctly match Cloud Run API expected format forspec.route_name, {serviceName}, instead of invalid projects/{project}/global/services/{serviceName} (#5264) - compute: Added back ConflictsWith restrictions for ExactlyOneOf restrictions that were removed in v3.3.0 for
google_compute_firewall,google_compute_health_check, andgoogle_compute_region_health_check. This effectively changes an API-side failure that was only accessible in v3.3.0 to a plan-time one. (#5220) - logging: Changed
google_logging_metric.metric_descriptors.labelsfrom a list to a set (#5258) - resourcemanager: Added back ConflictsWith restrictions for ExactlyOneOf restrictions that were removed in v3.3.0 for
google_organization_policy,google_folder_organization_policy, andgoogle_project_organization_policy. This effectively changes an API-side failure that was only accessible in v3.3.0 to a plan-time one. (#5220)
FEATURES:
- New Data Source: google_sql_ca_certs (#5306)
- New Resource:
google_identity_platform_default_supported_idp_config(#5199) - New Resource:
google_identity_platform_inbound_saml_config(#5199) - New Resource:
google_identity_platform_oauth_idp_config(#5199) - New Resource:
google_identity_platform_tenant_default_supported_idp_config(#5199) - New Resource:
google_identity_platform_tenant_inbound_saml_config(#5199) - New Resource:
google_identity_platform_tenant_oauth_idp_config(#5199) - New Resource:
google_identity_platform_tenant(#5199) - New Resource:
google_kms_crypto_key_iam_policy(#5247) - New Resource:
google_kms_secret_ciphertext(#5314)
IMPROVEMENTS:
- composer: Increased default timeouts for
google_composer_environment(#5223) - compute: Added graceful termination to
container_clustercreate calls so that partially created clusters will resume the original operation if the Terraform process is killed mid create. (#5217) - compute: Fixed
google_compute_disk_resource_policy_attachmentparsing of region from zone to allow for provider-level zone and make error message more accurate` (#5257) - provider: Reduced default
send_aftercontrolling the time interval after which a batched request sends. (#5268)
BUG FIXES:
- all: fixed issue where many fields that were removed in 3.0.0 would show a diff when they were removed from config (#5313)
- bigquery: fixed
bigquery_table.encryption_configurationto correctly recreate the table when modified (#5321) - cloudrun: Changed
google_cloud_run_domain_mappingto correctly match Cloud Run API expected format forspec.route_name, {serviceName}, instead of invalid projects/{project}/global/services/{serviceName} (#5264) - cloudrun: Changed
cloud_run_domain_mappingto poll for success or failure and throw an appropriate error when ready status returns as false. (#5267) - cloudrun: Fixed
google_cloudrun_serviceto allow update instead of force-recreation for changes inspecenvandcommandfields (#5269) - cloudrun: Removed unsupported update for
google_cloud_run_domain_mappingto allow force-recreation. (#5253) - cloudrun: Stopped returning an error when a
cloud_run_domain_mappingwas waiting on DNS verification. (#5315) - compute: Fixed
google_compute_backend_serviceto allow updatingcdn_policy.cache_key_policy.*fields to false or empty. (#5276) - compute: Fixed behaviour where
google_compute_subnetworkdid not record a value fornamewhenself_linkwas specified. (#5288) - container: fixed issue where an empty variable in
tagswould cause a crash (#5226) - endpoints: Added operation wait for
google_endpoints_serviceto fix 403 "Service not found" errors during initial creation (#5259) - logging: Made
google_logging_metric.metric_descriptors.labelsa set to prevent diff from ordering (#5258) - resourcemanager: added retries for
data.google_organization(#5246)
FEATURES:
- New Resource:
google_compute_region_health_checkis now available in GA (#5149) - New Resource:
google_deployment_manager_deployment(#5139)
IMPROVEMENTS:
- bigquery: added
PARQUETas an option ingoogle_bigquery_table.external_data_configuration.source_format(#5170) - compute: Added support for
next_hop_ilbtogoogle_compute_route(#5162) - dataproc: added support for
security_configtogoogle_dataproc_cluster(#5129) - storage: updated
idandbucketfields forgoogle_storage_bucket_iam_*resources to useb/{bucket_name}(#5099)
BUG FIXES:
- compute: Fixed an issue where interpolated values caused plan-time errors in
google_compute_router_interface. (#5178) - compute: relaxed ExactlyOneOf restrictions on
google_compute_firewall,google_compute_health_check, andgoogle_compute_region_health_checkto enable the use of dynamic blocks with those resources. (#5194) - iam: Fixed a bug that causes badRequest errors on IAM resources due to deleted serviceAccount principals (#5142)
- resourcemanager: relaxed ExactlyOneOf restrictions on
google_organization_policy,google_folder_organization_policy, andgoogle_project_organization_policyto enable the use of dynamic blocks with those resources. (#5194) - sourcerepo: Fixed a bug preventing repository IAM resources from referencing repositories with the
/character in their name (#5195) - sql: fixed bug where terraform would keep retrying to create new
google_sql_database_instancewith the name of a previously deleted instance (#5141)
DEPRECATIONS:
- compute: deprecated
fingerprintfield ingoogle_compute_subnetwork. Its value is now always"". (#5105)
FEATURES:
- New Data Source:
data_source_google_bigquery_default_service_account(#5081) - New Resource: cloudrun: Added support for
google_cloud_run_serviceIAM resources:google_cloud_run_service_iam_policy,google_cloud_run_service_iam_binding,google_cloud_run_service_iam_member(#5051)
IMPROVEMENTS:
- all: Added
synchronous_timeoutto provider block to allow setting higher per-operation-poll timeouts. (#5013) - bigquery: Added KMS support to
google_bigquery_table(#5081) - cloudresourcemanager: Added
org_idfield togoogle_organizationdatasource to expose the raw organization id (#5115) - cloudrun: Stopped requiring the root
metadatablock forgoogle_cloud_run_service. (#5094) - compute: added support for
exprtogoogle_compute_security_policy.rule.match(#5070) - compute: added support for
path_rulestogoogle_compute_region_url_map(#5122) - compute: added support for
path_rulestogoogle_compute_url_map(#5106) - compute: added support for
route_rulestogoogle_compute_region_url_map(#5130) - compute: added support for header actions and route rules to
google_compute_url_map(#4992) - dns: Added
visibilityfield togoogle_dns_managed_zonedata source (#5063) - sourcerepo: added support for
pubsub_configstogoogle_sourcerepo_repository(#5050)
BUG FIXES:
- dns: fixed 503s caused by high numbers of
dns_record_sets. (#5093) - logging: updated
exponential_buckets.growth_factorfrom integer to double. (#5111) - storage: fixed bug where users without storage.objects.list permissions couldn't delete empty buckets (#5006)
BREAKING CHANGES:
- compute: field
peer_ip_addressingoogle_compute_router_peeris now required, to match the API behavior. (#4923)
FEATURES:
- New Resource:
google_billing_budget(#5005) - New Resource:
google_cloud_tasks_queue(#4880) - New Resource:
google_organization_iam_audit_config(#4977)
IMPROVEMENTS:
- accesscontextmanager: added support for
requireAdminApprovalandrequireCorpOwnedingoogle_access_context_manager_access_level'sdevicePolicy. (#4931) - all: added retries for timeouts while fetching operations (#4605)
- cloudbuild: Added build timeout to
google_cloudbuild_trigger(#4938) - cloudresourcemanager: added support for importing
google_folderin the form of the bare folder id, rather than requiringfolders/{bare_id}(#4981) - compute: Updated default timeouts on
google_compute_project_metadata_item. (#4995) - compute:
google_compute_diskdisk_encryption_key.raw_keyis now sensitive (#5009) - compute:
google_compute_firewallenable_loggingis now GA (#4999) - compute:
google_compute_network_peeringresource can now be imported (#4998) - compute: computed attribute
management_typeingoogle_compute_router_peeris now available. (#4923) - container:
authenticator_groups_configingoogle_container_clusteris now GA (#4969) - container:
google_container_cluster.vertical_pod_autoscalingis now GA (#5033) - container: added
auto_provisioning_defaultstogoogle_container_cluster.cluster_autoscaling(#4991) - container: added
upgrade_settingssupport togoogle_container_node_pool(#4926) - container: increased timeouts on
google_container_clusterandgoogle_container_node_pool(#4902) - dataproc:
google_dataproc_autoscaling_policyis now GA.google_dataproc_cluster.autoscaling_configis also available in GA (#4966) - dataproc:
google_dataproc_clustermin_cpu_platformon bothworker_configandmaster_configis now GA (#4968) - kms: enabled use of
user_project_overridefor thekms_crypto_keyresource (#4967) - kms: enabled use of
user_project_overridefor thekms_secret_ciphertextdata source (#4985) - sql: added
root_passwordfield togoogle_sql_database_instanceresource (#4983)
BUG FIXES:
- bigquery: fixed an issue where bigquery table id formats from the
2.Xseries caused an error at plan time (#5012) - cloudbuild: Fixed incorrect dependency between
trigger_templateandgithubingoogle_cloud_build_trigger. (#4946) - cloudfunctions: Fixed inability to set
google_cloud_functions_functionupdate timeout. (#5011) - cloudrun: Wait for the cloudrun resource to reach a ready state before returning success. (#4945)
- compute:
self_linkin several datasources will now error on invalid values instead of crashing (#4887) - compute: field
advertised_ip_rangesingoogle_compute_router_peercan now be updated without recreating the resource. (#4923) - compute: marked
min_cpu_platformongoogle_compute_instanceas computed so if it is not specified it will not cause diffs (#4980) - dns: Fixed issue causing
google_dns_record_setdeletion to fail when the managed zone ceased to exist before the deletion event. (#5010) - iam: disallowed
deleted:principals in IAM resources (#4958) - sql: added retries to
google_sql_usercreate and update to reduce flakiness (#4860)
NOTES:
These are the changes between 3.0.0-beta.1 and the 3.0.0 final release. For changes since 2.20.0, see also the 3.0.0-beta.1 changelog entry below.
Please see the 3.0.0 upgrade guide for upgrade guidance.
BREAKING CHANGES:
- cloudrun: updated
cloud_run_serviceto v1. Significant updates have been made to the resource including a breaking schema change. (#4972)
BUG FIXES:
- compute: fixed a bug in
google_compute_instance_group_managerandgoogle_compute_region_instance_group_managerthat created an artificial diff when removing a now-removed field from a config (#4929) - dns: Fixed bug causing
google_dns_managed_zonedatasource to always return a 404 (#4940) - service_networking: fixed "An unknown error occurred" bug when creating multiple google_service_networking_connection resources in parallel (#4646)
BREAKING CHANGES:
- access_context_manager: Made
os_typerequired on blockgoogle_access_context_manager_access_level.basic.conditions.device_policy.os_constraints. MM#2665 - all: changed any id values that could not be interpolated as self_links into values that could MM#2461
- app_engine: Made
ssl_management_typerequired ongoogle_app_engine_domain_mapping.ssl_settingsMM#2608 - app_engine: Made
shellrequired ongoogle_app_engine_standard_app_version.entrypoint. MM#2608 - app_engine: Made
source_urlrequired ongoogle_app_engine_standard_app_version.deployment.filesandgoogle_app_engine_standard_app_version.deployment.zip. MM#2608 - app_engine: Made
split_health_checksrequired ongoogle_app_engine_application.feature_settingsMM#2608 - app_engine: Made
script_pathrequired ongoogle_app_engine_standard_app_version.handlers.script. MM#2665 - bigtable: Made
cluster_idrequired ongoogle_bigtable_app_profile.single_cluster_routing. MM#2608 - bigquery: Made at least one of
rangeorskip_leading_rowsrequired ongoogle_bigquery_table.external_data_configuration.google_sheets_options. MM#2608 - bigquery: Made
rolerequired ongoogle_bigquery_dataset.access. MM#2665 - bigtable: Made exactly one of
single_cluster_routingormulti_cluster_routing_use_anyrequired ongoogle_bigtable_app_profile. MM#2665 - binary_authorization: Made
name_patternrequired ongoogle_binary_authorization_policy.admission_whitelist_patterns. MM#2665 - binary_authorization: Made
evaluation_modeandenforcement_moderequired ongoogle_binary_authorization_policy.cluster_admission_rules. MM#2665 - cloudbuild: made Cloud Build Trigger's trigger template required to match API requirements. MM#2352
- cloudbuild: Made
branchrequired ongoogle_cloudbuild_trigger.github. MM#2608 - cloudbuild: Made
stepsrequired ongoogle_cloudbuild_trigger.build. MM#2608 - cloudbuild: Made
namerequired ongoogle_cloudbuild_trigger.build.steps. MM#2608 - cloudbuild: Made
nameandpathrequired ongoogle_cloudbuild_trigger.build.steps.volumes. MM#2608 - cloudbuild: Made exactly one of
filenameorbuildrequired ongoogle_cloudbuild_trigger. MM#2665 - cloudfunctions: deprecated
nodejs6as option forruntimeinfunctionand made it required. MM#2499 - cloudscheduler: Made exactly one of
pubsub_target,http_targetorapp_engine_http_targetrequired ongoogle_cloudscheduler_job. MM#2665 - cloudiot: removed
event_notification_config(singular) fromgoogle_cloudiot_registry. Use pluralevent_notification_configsinstead. MM#2390 - cloudiot: Made
public_key_certificaterequired ongoogle_cloudiot_registry. credentials. MM#2608 - cloudscheduler: Made
service_account_emailrequired ongoogle_cloudscheduler_job.http_target.oauth_tokenandgoogle_cloudscheduler_job.http_target.oidc_token. MM#2608 - composer: Made at least one of
airflow_config_overrides,pypi_packages,env_variables,image_version, orpython_versionrequired ongoogle_composer_environment.config.software_config`. MM#2608 - composer: Made
use_ip_aliasesrequired ongoogle_composer_environment.config.node_config.ip_allocation_policy. MM#2608 - composer: Made
enable_private_endpointrequired ongoogle_composer_environment.config.private_environment_config. MM#2608 - composer: Made at least one of
enable_private_endpointormaster_ipv4_cidr_blockrequired ongoogle_composer_environment.config.private_environment_configMM#2682 - composer: Made at least one of
node_count,node_config,software_configorprivate_environment_configrequired ongoogle_composer_environment.configMM#2682 - compute:
google_compute_backend_service'sbackendfield field now requires thegroupsubfield to be set. MM#2373 - compute: permanently removed
ip_versionfield fromgoogle_compute_forwarding_ruleMM#2436 - compute: permanently removed
ipv4_rangefield fromgoogle_compute_network. MM#2436 - compute: permanently removed
auto_create_routesfield fromgoogle_compute_network_peering. MM#2436 - compute: permanently removed
update_strategyfield fromgoogle_compute_region_instance_group_manager. MM#2436 - compute: added check to only allow
google_compute_instance_templates with 375gb scratch disks MM#2495 - compute: made
google_compute_instance_templatefail at plan time when scratch disks do not havedisk_type"local-ssd". MM#2282 - compute: removed
enable_flow_logsfield fromgoogle_compute_subnetwork. This is now controlled by the presence of thelog_configblock MM#2597 - compute: Made
raw_keyrequired ongoogle_compute_snapshot.snapshot_encryption_key. MM#2608 - compute: Made at least one of
auto_delete,device_name,disk_encryption_key_raw,kms_key_self_link,initialize_params,modeorsourcerequired ongoogle_compute_instance.boot_disk. MM#2608 - compute: Made at least one of
size,type,image, orlabelsrequired ongoogle_compute_instance.boot_disk.initialize_params. MM#2608 - compute: Made at least one of
enable_secure_boot,enable_vtpm, orenable_integrity_monitoringrequired ongoogle_compute_instance.shielded_instance_config. MM#2608 - compute: Made at least one of
on_host_maintenance,automatic_restart,preemptible, ornode_affinitiesrequired ongoogle_compute_instance.scheduling. MM#2608 - compute: Made
interfacerequired ongoogle_compute_instance.scratch_disk. MM#2608 - compute: Made at least one of
enable_secure_boot,enable_vtpm, orenable_integrity_monitoringrequired ongoogle_compute_instance_template.shielded_instance_config. MM#2608 - compute: Made at least one of
on_host_maintenance,automatic_restart,preemptible, ornode_affinitiesare now required ongoogle_compute_instance_template.scheduling. MM#2608 - compute: Made
kms_key_self_linkrequired ongoogle_compute_instance_template.disk.disk_encryption_key. MM#2608 - compute: Made
rangerequired ongoogle_compute_router_peer. advertised_ip_ranges. MM#2608 - compute: Made
channelrequired ongoogle_container_cluster.release_channel. MM#2608 - compute: Removed
instance_templateforgoogle_compute_instance_group_managerandgoogle_compute_region_instance_group_manager. Useversion.instance_templateinstead. MM#2595 - compute: removed
update_strategyforgoogle_compute_instance_group_manager. Useupdate_policyinstead. MM#2595 - compute: stopped allowing selfLink or path style references as IP addresses for
google_compute_forwarding_ruleorgoogle_compute_global_forwarding_ruleMM#2620 - compute: Made exactly one of
http_health_check,https_health_check,http2_health_check,tcp_health_checkorssl_health_checkrequired ongoogle_compute_health_check. MM#2665 - compute: Made exactly one of
http_health_check,https_health_check,http2_health_check,tcp_health_checkorssl_health_checkrequired ongoogle_compute_region_health_check. MM#2665 - container: permanently removed
zoneandregionfields from data sourcegoogle_container_engine_versions. MM#2436 - container: permanently removed
zone,regionandadditional_zonesfields fromgoogle_container_cluster. MM#2436 - container: permanently removed
zoneandregionfields fromgoogle_container_node_pool. MM#2436 - container: set
google_container_cluster'slogging_serviceandmonitoring_servicedefaults to enable GKE Stackdriver Monitoring. MM#2471 - container: removed
kubernetes_dashboardfromgoogle_container_cluster.addons_configMM#2551 - container: removed automatic suppression of GPU taints in GKE
taintMM#2537 - container: Made
disabledrequired ongoogle_container_cluster.addons_config.http_load_balancing,google_container_cluster.addons_config.horizontal_pod_autoscaling,google_container_cluster.addons_config.network_policy_config,google_container_cluster.addons_config.cloudrun_config, andgoogle_container_cluster.addons_config.istio_config. MM#2608 - container: Made at least one of
http_load_balancing,horizontal_pod_autoscaling,network_policy_config,cloudrun_config, oristio_configrequired ongoogle_container_cluster.addons_config. MM#2608 - container: Made
enabledrequired ongoogle_container_cluster.network_policy. MM#2608 - container: Made
enable_private_endpointrequired ongoogle_container_cluster.private_cluster_config. MM#2608 - container: Made
enabledrequired ongoogle_container_cluster.vertical_pod_autoscaling. MM#2608 - container: Made
cidr_blocksrequired ongoogle_container_cluster.master_authorized_networks_config. MM#2608 - container: Made at least one of
username,passwordorclient_certificate_configrequired ongoogle_container_cluster.master_auth. MM#2608 - container: removed
google_container_clusterip_allocation_policy.use_ip_aliases. If it's set to true, remove it from your config. If false, removeip_allocation_policyas a whole. MM#2615 - container: removed
google_container_clusterip_allocation_policy.create_subnetwork,ip_allocation_policy.subnetwork_name,ip_allocation_policy.node_ipv4_cidr_block. Define an explicitgoogle_compute_subnetworkand usesubnetworkinstead. MM#2615 - dataproc: Made at least one of
staging_bucket,gce_cluster_config,master_config,worker_config,preemptible_worker_config,software_config,initialization_actionorencryption_configrequired ongoogle_dataproc_cluster.cluster_config. MM#2608 - dataproc: Made at least one of
zone,network,subnetwork,tags,service_account,service_account_scopes,internal_ip_onlyormetadatarequired ongoogle_dataproc_cluster.cluster_config.gce_cluster_config. MM#2608 - dataproc: Made at least one of
num_instances,image_uri,machine_type,min_cpu_platform,disk_config, oracceleratorsrequired ongoogle_dataproc_cluster.cluster_config.master_configandgoogle_dataproc_cluster.cluster_config.worker_config. MM#2608 - dataproc: Made at least one of
num_local_ssds,boot_disk_size_gborboot_disk_typerequired ongoogle_dataproc_cluster.cluster_config.preemptible_worker_config.disk_config,google_dataproc_cluster.cluster_config.master_config.disk_configandgoogle_dataproc_cluster.cluster_config.worker_config.disk_config. MM#2608 - dataproc: Made at least one of
num_instancesordisk_configrequired ongoogle_dataproc_cluster.cluster_config.preemptible_worker_config. MM#2608 - dataproc: Made at least one of
image_version,override_propertiesoroptional_componentsis now required ongoogle_dataproc_cluster.cluster_config.software_config. MM#2608 - dataproc: Made
policy_urirequired ongoogle_dataproc_cluster.cluster_config.autoscaling_config. MM#2608 - dataproc: Made
max_failures_per_hourrequired ongoogle_dataproc_job.scheduling. MM#2608 - dataproc: Made
driver_log_levelsrequired ongoogle_dataproc_job.pyspark_config.logging_config,google_dataproc_job.spark_config.logging_config,google_dataproc_job.hadoop_config.logging_config,google_dataproc_job.hive_config.logging_config,google_dataproc_job.pig_config.logging_config,google_dataproc_job.sparksql_config.logging_config. MM#2608 - dataproc: Made at least one of
main_classormain_jar_file_urirequired ongoogle_dataproc_job.spark_configandgoogle_dataproc_job.hadoop_config. MM#2608 - dataproc: Made at least one of
query_file_uriorquery_listrequired ongoogle_dataproc_job.hive_config,google_dataproc_job.pig_config, andgoogle_dataproc_job.sparksql_config. MM#2608 - dns: Made
networksrequired ongoogle_dns_managed_zone.private_visibility_config. MM#2608 - dns: Made
network_urlrequired ongoogle_dns_managed_zone.private_visibility_config.networks. MM#2608 - iam: made
iam_audit_configresources overwrite existing audit config on create. Previous implementations merged config with existing audit configs on create. MM#2438 - iam: Made exactly one of
list_policy,boolean_policy, orrestore_policyrequired ongoogle_organization_policy. MM#2608 - iam: Made exactly one of
allorvaluesrequired ongoogle_organization_policy.list_policy.allowandgoogle_organization_policy.list_policy.deny. MM#2608 - iam:
google_project_iam_policycan handle theprojectfield in either of the following forms:project-idorprojects/project-idMM#2700 - iam: Made exactly one of
allowordenyrequired ongoogle_organization_policy.list_policyMM#2682 - iam: removed the deprecated
pgp_key,private_key_encryptedandprivate_key_fingerprintfromgoogle_service_account_keyMM#2680 - monitoring: permanently removed
is_internalandinternal_checkersfields fromgoogle_monitoring_uptime_check_config. MM#2436 - monitoring: permanently removed
labelsfield fromgoogle_monitoring_alert_policy. MM#2436 - monitoring: Made
contentrequired ongoogle_monitoring_uptime_check_config.content_matchers. MM#2608 - monitoring: Made exactly one of
http_checkortcp_checkis now required ongoogle_monitoring_uptime_check_config. MM#2665 - monitoring: Made at least one of
auth_info,port,headers,path,use_ssl, ormask_headersis now required ongoogle_monitoring_uptime_check_config.http_checkMM#2665 - provider: added the
https://www.googleapis.com/auth/userinfo.emailscope to the provider by default MM#2473 - pubsub: removed ability to set a full path for
google_pubsub_subscription.name(e.g.projects/my-project/subscriptions/my-subscription).namenow must be the shortname (e.g.my-subscription) MM#2561 - resourcemanager: converted
google_folder_organization_policyandgoogle_organization_policyimport format to use slashes instead of colons. MM#2638 - serviceusage: removed
google_project_servicesMM#2403 - serviceusage: stopped accepting
bigquery-json.googleapis.comingoogle_project_service. Specifybiquery.googleapis.cominstead. MM#2626 - sql: Made
nameandvaluerequired ongoogle_sql_database_instance.settings.database_flags. MM#2608 - sql: Made at least one of
binary_log_enabled,enabled,start_time, andlocationrequired ongoogle_sql_database_instance.settings.backup_configuration. MM#2608 - sql: Made at least one of
authorized_networks,ipv4_enabled,require_ssl, andprivate_networkrequired ongoogle_sql_database_instance.settings.ip_configuration. MM#2608 - sql: Made at least one of
day,hour, andupdate_trackrequired ongoogle_sql_database_instance.settings.maintenance_window. MM#2608 - sql: Made at least one of
cert,common_name,create_time,expiration_time, orsha1_fingerprintrequired ongoogle_sql_database_instance.settings.server_ca_cert. MM#2608 - sql: Made at least one of
ca_certificate,client_certificate,client_key,connect_retry_interval,dump_file_path,failover_target,master_heartbeat_period,password,ssl_cipher,username, andverify_server_certificaterequired ongoogle_sql_database_instance.settings.replica_configuration. MM#2608 - sql: Made
valuerequired ongoogle_sql_database_instance.settings.ip_configuration.authorized_networks. MM#2608 - storage: permanently removed
is_liveflag fromgoogle_storage_bucket. MM#2436 - storage: Made at least one of
main_page_suffixornot_found_pagerequired ongoogle_storage_bucket.website. MM#2608 - storage: Made at least one of
min_time_elapsed_since_last_modification,max_time_elapsed_since_last_modification,include_prefixes, orexclude_prefixesrequired ongoogle_storage_transfer_job.transfer_spec.object_conditions. MM#2608 - storage: Made at least one of
overwrite_objects_already_existing_in_sink,delete_objects_unique_in_sink, anddelete_objects_from_source_after_transferrequired ongoogle_storage_transfer_job.transfer_spec.transfer_options. MM#2608 - storage: Made at least one of
gcs_data_source,aws_s3_data_source, orhttp_data_sourcerequired ongoogle_storage_transfer_job.transfer_options. MM#2608
NOTES:
2.20.3is a backport release, and some changes will not appear in3.Xseries releases until3.12.0. To upgrade to3.Xyou will need to perform a large jump in versions, and it is strongly advised that you attempt to upgrade to3.Xinstead of using this release.2.20.3is primarily a preventative fix, in anticipation of a change in API response messages adding a default value.
BUG FIXES:
- compute: fixed error when reading
google_compute_instance_templateresources withnetwork_interface[*].nameset. (#5812)
BUG FIXES:
- bigtable: fixed diff for DEVELOPMENT instances that are returned from the API with one node (#5557)
Note: 2.20.1 is a backport release. The changes in it are unavailable in 3.0.0-beta.1 through 3.2.0.
BUG FIXES:
- iam: Fixed a bug that causes badRequest errors on IAM resources due to deleted serviceAccount principals (#5142)
BREAKING CHANGES:
- compute: the
backend.groupfield is now required forgoogle_compute_region_backend_service. Configurations without this would not have worked, so this isn't considered an API break. (#4772)
IMPROVEMENTS:
- bigtable: added import support to
google_bigtable_table(#4849) - compute:
load_balancing_schemeforgoogle_compute_forwarding_rulenow acceptsINTERNAL_MANAGEDas a value. (#4772) - compute: extended backend configuration options for
google_compute_region_backend_serviceto includebackend.balancing_mode,backend.capacity_scaler,backend.max_connections,backend.max_connections_per_endpoint,backend.max_connections_per_instance,backend.max_rate,backend.max_rate_per_endpoint,backend.max_rate_per_instance, andbackend.max_utilization(#4772) - iam: changed the
idfor many IAM resources to the reference resource long name. Updatedinstance_nameongoogle_compute_instance_iamandsubnetworkongoogle_compute_subnetworkto their respective long names in state (#4866) - logging: added
display_namefield togoogle_logging_metricresource (#4839) - monitoring: Added
validate_ssltogoogle_monitoring_uptime_check_config(#4637) - project: added batching functionality to
google_project_serviceread calls, so fewer API requests are made (#4854) - storage: added
notification_idfield togoogle_storage_notification(#4879)
BUG FIXES:
- compute: fixed issue where setting a 0 for
min_replicasingoogle_compute_autoscalerandgoogle_compute_region_autoscalerwould set that field to its server-side default instead of 0. (#4851) - dns: fixed crash when
networkblocks are defined withoutnetwork_urls (#4840) - google: used the correct update method for google_service_account.description (#4870)
- logging: fixed issue where logging exclusion resources silently failed when being mutated in parallel (#4814)
DEPRECATIONS:
compute: deprecatedenable_flow_logsongoogle_compute_subnetwork. The presence of thelog_configblock signals that flow logs are enabled for a subnetwork (#4791)compute: deprecatedinstance_templateforgoogle_compute_instance_group_managerandgoogle_compute_region_instance_group_manager. Useversion.instance_templateinstead. (#4763)compute: deprecatedupdate_strategyforgoogle_compute_instance_group_manager. Useupdate_policyinstead. (#4763)container: deprecatedgoogle_container_clusterip_allocation_policy.create_subnetwork,ip_allocation_policy.subnetwork_name,ip_allocation_policy.node_ipv4_cidr_block. Define an explicitgoogle_compute_subnetworkand usesubnetworkinstead. (#4774)container: deprecatedgoogle_container_clusterip_allocation_policy.use_ip_aliases. If it's set to true, remove it from your config. If false, removeip_allocation_policyas a whole. (#4774)iam: Deprecatedpgp_keyongoogle_service_account_keyresource. See https://www.terraform.io/docs/extend/best-practices/sensitive-state.html for more information. (#4810)
BREAKING CHANGES:
google_service_account_iam_*resources now support IAM Conditions. If any conditions had been created out of band before this release, take extra care to ensure they are present in your Terraform config so the provider doesn't try to create new bindings with no conditions. Terraform will show a diff that it is adding the condition to the resource, which is safe to apply. (#4541)
FEATURES:
compute: addedgoogle_compute_routerdatasource (#4614)
IMPROVEMENTS:
cloudbuild: added ability to specifynameforcloud_build_triggerto avoid name collisions when creating multiple triggers at once. (#4709)compute:log_configis now available in GA forgoogle_compute_subnetwork(#4791)compute: added support for multiple versions ofinstance_templateand granular control of the update policies forgoogle_compute_instance_group_managerandgoogle_compute_region_instance_group_manager. (#4763)container: addedmaintenance_policy.recurring_windowsupport togoogle_container_cluster, significantly increasing expressive range. (#4736)container: addedtaintfield in GKE resources to the GAgoogleprovider (#4743)container: fix a diff created in the cloud console whenMaintenanceExclusionsare added. (#4764)compute: addedgoogle_compute_instancesupport for display device (Virtual Displays) (#4775)iam: added support for IAM Conditions to thegoogle_service_account_iam_*resources (beta provider only) (#4541)iam: addeddescriptiontogoogle_service_account. (#4734)
BUG FIXES:
appengine: Resolved permadiff ingoogle_app_engine_domain_mapping.ssl_settings.certificate_id. (#4754)storage: Fixed error ingoogle_storage_bucketwhere locked retention policies would cause a bucket to report failure on all updates (even though updates were applied correctly). (#4761)
BUGS:
resourcemanager: fixed deleting the default network ingoogle_project(#4748)
KNOWN ISSUES:
resourcemanager:google_projectauto_create_networkis failing to delete networks when set tofalse. Use an earlier provider version to resolve.
DEPRECATIONS:
container: Thekubernetes_dashboardaddon is deprecated forgoogle_container_cluster. (#4648)
FEATURES:
- New Resource:
google_app_engine_application_url_dispatch_rules(#4674)
IMPROVEMENTS:
all: increased support for custom endpoints across the provider (#4641)appengine: added the ability to delete the parent service ofgoogle_app_engine_standard_app_version(#4596)container: Addedshielded_instance_configattribute tonode_config(#4554)dataflow: addedip_configurationoption tojob. (#4726)pubsub: Added fieldoidc_tokentogoogle_pubsub_subscription(#4679)sql: addedlocationfield tobackup_configurationblock ingoogle_sql_database_instance(#4681)
BUGS:
all: fixed the custom endpoint version used by older legacy REST clients (#4695)bigquery: fix issue withgoogle_bigquery_data_transfer_configparamscrashing on boolean values (#4676)cloudrun: fixed the apiVersion sent ingoogle_cloud_run_domain_mappingrequests (#4657)compute: added support for updating multiple fields at once togoogle_compute_subnetwork(#4688)compute: fixed diffs ingoogle_compute_instance_group'snetworkfield when equivalent values were specified (#4728)compute: fixed issues updatinggoogle_compute_instance_group'sinstancesfield when config/state values didn't match (#4728)iam: fixed bug where IAM binding wouldn't replace members if they were deleted outside of terraform. (#4693)pubsub: Fixed permadiff due to interaction of organization policies andgoogle_pubsub_topic. (#4721)
NOTES:
- An upgrade guide has been started for the upcoming 3.0.0 release. (#4594)
google_project_servicesusers of provider versions prior to2.17.0should update, as past versions of the provider will not handle an upcoming rename ofbigquery-json.googleapis.comtobigquery.googleapis.comwell. See https://github.com/terraform-providers/terraform-provider-google/issues/4590 for details. (#4616)
DEPRECATIONS:
google_project_services(#4587)
FEATURES:
- New Resource:
google_bigtable_gc_policy(#4578) - New Resource:
google_binary_authorization_attestor_iam_policy(#4517) - New Resource:
google_compute_region_ssl_certificate(#4537) - New Resource:
google_compute_region_target_http_proxy(#4537) - New Resource:
google_compute_region_target_https_proxy(#4537) - New Resource:
google_iap_app_engine_service_iam_*(#4566) - New Resource:
google_iap_app_engine_version_iam_*(#4566) - New Resource:
google_storage_bucket_access_control(#4531)
IMPROVEMENTS:
- all: made
monitoring-readscope available. (#4569) - bigquery: Added support for default customer-managed encryption keys (CMEK) for BigQuery datasets. (#4312)
- bigtable: import support added to
google_bigtable_instance(#4598) - container: moved
default_max_pods_per_nodeto ga. (#4621) - containeranalysis: moved
google_containeranalysis_noteto ga (#4517) - projectservice: added mitigations for bigquery-json to bigquery rename in project service resources. (#4616)
BUGS:
- cloudscheduler: Fixed permadiff for
app_engine_http_target.app_engine_routingongoogle_cloud_scheduler_job(#4444) - compute: Added ability to set
quic_overrideongoogle_compute_https_target_proxyto empty. (#4588) - compute: Fix bug where changes to
region_backend_service.backends.failoverwas not detected. (#4622) - compute: fixed
google_compute_router_peerto default if empty foradvertise_mode(#4503) - compute: fixed perma-diff in
google_compute_router_natwhen referencing subnetwork vianame(#4549) - container: fixed an overly-aggressive validation for
master_ipv4_cidr_blockingoogle_container_cluster(#4577)
KNOWN ISSUES:
- Based on an upstream change, users of the
google_project_servicesresource may have seen thebigquery.googleapis.comservice added and thebigquery-json.googleapis.comservice removed, causing a diff. This was later reverted, causing another diff. This issue is being tracked as https://github.com/terraform-providers/terraform-provider-google/issues/4590.
FEATURES:
- New Resource:
google_compute_region_url_mapis now available. To support this, theprotocolforgoogle_compute_region_backend_servicecan now be set toHTTP,HTTPS,HTTP2, andSSL. (#4496) - New Resource: Adds
google_runtimeconfig_config_iam_*resources (#4454) - New Resource: Added
google_compute_resource_policyandgoogle_compute_disk_resource_policy_attachmentto managegoogle_compute_diskresource policies as fine-grained resources (#4409)
ENHANCEMENTS:
- composer: Add
python_versionand ability to setimage_versioningoogle_composer_environmentin the GA provider (#4465) - compute:
google_compute_global_forwarding_rulenow supportsmetadata_filters. (#4495) - compute:
google_compute_backend_servicenow supportslocality_lb_policy,outlier_detection,consistent_hash, andcircuit_breakers. (#4412) - compute: Add support for
guest_os_featuresto resourcegoogle_compute_image(#4483) - compute:
google_compute_router_natnow supportsdrain_nat_ipsfield (#4480) - container:
google_container_node_poolnow supports node_locations to specify specific node zones. (#4478) - googleapis:
google_netblock_ip_rangesdata source now has aprivate-googleapisfield, for the IP addresses used for Private Google Access for services that do not support VPC Service Controls API access. (#4367) - project:
google_project_iam_*Properly set theprojectfield in state (#4488)
BUG FIXES:
- cloudiot: Fixed error where
subfolder_matcheswere not set ingoogle_cloudiot_registryevent_notification_configs(#4527)
FEATURES:
- New Resource:
google_iap_web_iam_binding/_member/_policyare now available for managing IAP web IAM permissions (#4253) - New Resource:
google_iap_web_backend_service_binding/_member/_policyare now available for managing IAM permissions on IAP enabled backend services (#4253) - New Resource:
google_iap_web_type_compute_iam_binding/_member/_policyare now available for managing IAM permissions on IAP enabled compute services (#4253) - New Resource:
google_iap_web_type_app_engine_iam_binding/_member/_policyare now available for managing IAM permissions on IAP enabled App Engine applications (#4253) - New Resource: Add the new resource
google_app_engine_domain_mapping(#4310) - New Resource:
google_cloudfunctions_function_iam_policy,google_cloudfunctions_function_iam_binding, andgoogle_cloudfunctions_function_iam_memberhave been added (#4420) - New Resource:
google_compute_reservationallows you to reserve instance capacity in GCE. (#4332) - New Resource:
google_compute_region_health_checkis now available. This andgoogle_compute_health_checknow include additional support for HTTP2 health checks. (#4270)
ENHANCEMENTS:
- compute: Add all options to
google_compute_router_peer(#4371) - compute: add
tunnel_idtogoogle_compute_vpn_tunnelandgateway_idtogoogle_compute_vpn_gateway(#4373) - compute:
google_compute_subnetworknow includes thepurposeandrolefields. (#4261) - compute: add
purposefield togoogle_compute_address(#4400) - compute: add
modeoption togoogle_compute_instance.boot_disk(#4413) - compute:
google_compute_firewalldoes not show a diff if allowed or denied rules are specified with uppercase protocol values (#4467) - logging: added
metric_descriptor.unittogoogle_logging_metricresource (#4407)
BUG FIXES:
- all: More classes of generic HTTP errors are retried provider-wide.
- container: Fix error when
master_authorized_networks_configis removed from thegoogle_container_clusterconfiguration. (#4446) - iam: Make
google_service_account_andgoogle_service_account_iam_*validation less restrictive to allow for more default service accounts (#4377) - iam: set auditconfigs in state for google_*_iam_policy resources (#4447)
- logging:
google_logging_metricexplicitbucket option can now be set (#4358) - pubsub: Add retry for Pubsub Topic creation when project is still initializing org policies (#4352)
- servicenetworking: remove need for provider-level project to delete connection (#4445)
- sql: Add more retries for operationInProgress 409 errors for
google_sql_database_instance(#4376)
MISC:
- The User-Agent header that Terraform sends has been updated to correctly report the version of Terraform being run, and has minorly changed the formatting on the Terraform string. (#4374)
DEPRECATIONS:
- cloudiot:
resource_cloudiot_registry'sevent_notification_configfield has been deprecated. (#4282)
FEATURES:
- New Resource:
google_bigtable_app_profileis now available. (#4126) - New Resource:
google_ml_engine_model(#4053) - New Resource:
google_dataproc_autoscaling_policy(#2220) - New Data Source:
google_kms_secret_ciphertext(#4204)
ENHANCEMENTS:
- bigquery: Add support for clustering/partitioning to bigquery_table (#4223)
- bigtable:
num_nodescan now be updated ingoogle_bigtable_instance(#4026) - cloudiot:
resource_cloudiot_registrynow has fields pluralevent_notification_configsandlog_level, andevent_notification_confighas been deprecated. (#4282) - cloud_run: New output-only fields have been added to google_cloud_run_service' status. (#3799)
- compute: Adding bandwidth attribute to interconnect attachment. (#4212)
- compute:
google_compute_region_instance_group_manager.update_policynow supportsinstance_redistribution_type(#4301) - compute: adds admin_enabled to google_compute_interconnect_attachment (#4300)
- compute: The compute routes includes next_hop_ilb attribute support in beta. (#4311)
- scheduler: Add support for
oauth_tokenandoidc_tokenon resourcegoogle_cloud_scheduler_job(#4222)
BUG FIXES:
- containerregistry: Correctly handle domain-scoped projects (#4129)
- iam: Fixed regression in 2.13.0 for permadiff on empty members in IAM policy bindings. (#4347)
- project:
google_project_iam_custom_rolenow sets the project properly on import. (#4343) - sql: Added back a missing import format for
google_sql_database. (#4279)
KNOWN ISSUES:
bigtable:google_bigtable_instancemay cause a panic on Terraform0.11. This was resolved in2.17.0.
FEATURES:
- New Resource: added the
google_vpc_access_connectorresource and thevpc_connectoroption on thegoogle_cloudfunctions_functionresource. (#4189) - New Resource: Add
google_scc_sourceresource for managing Cloud Security Command Center sources in Terraform (#4236) - New Data Source:
google_compute_network_endpoint_group(#4173)
ENHANCEMENTS:
- bigquery: Added support for
google_bigquery_data_transfer_config(which include scheduled queries). (#4102) - bigtable:
google_bigtable_instancemax number ofclusterblocks is now 4 (#4156) - binary_authorization: Added
globalPolicyEvaluationModetogoogle_binary_authorization_policy. (#4124) - cloudfunctions: Allow partial URIs in google_cloudfunctions_function event_trigger.resource (#4201)
- compute: Enable update for
google_compute_router_nat - netblock: Extended
google_netblock_ip_rangesto supportmultiple useful IP address ranges that have a special meaning on GCP. (#4121) - project: Wrapped API requests with retries for
google_project,google_folder, andgoogle_*_organization_policy(#4098) - project: IAM and service requests are now batched (#4207)
- provider: allow provider's region to be specified as a self_link (#4219)
- provider: Adds new provider-level field
user_project_override, which allows billing, quota checks, and service enablement checks to occur against the project a resource is in instead of the project the credentials are from. (#4202) - pubsub: Pub/Sub topic geo restriction support. (#4131)
BUG FIXES:
- binary_authorization: don't diff when attestation authority note public keys don't have an ID in the config (#4246)
- compute: google_compute_instance's description field is now set in state (#4136)
- project: ignore errors when deleting a default network that doesn't exist (#4137)
FEATURES:
- New Data Source: google_kms_crypto_key_version - Provides access to KMS key version data with Google Cloud KMS. (#4078)
- New Resource:
google_cloud_run_service- Set up a cloud run service (#3714) - New Resource:
google_cloud_run_domain_mapping- Allows custom domains to map to a cloud run service (#3714) google_binary_authorization_attestorandgoogle_binary_authorization_policyare available in the GA provider (#3960)
ENHANCEMENTS:
- binary_authorization: Adds support for Cloud KMS PKIX keys to
binary_authorization_attestor. (#4078) - composer: Add private IP config for
google_composer_environment(#3952) - compute: add support for port_specification to resource
google_compute_health_check(#4001) - compute: Fixed import formats for
google_compute_network_endpointand add location-only import formats (#4037) - compute: Support labelling for compute_instance boot_disks and compute_instance_template disks. (#4117)
- container: validate that master_ipv4_cidr_block is set if enable_private_nodes is true (#4038)
- dataflow: added support for user-defined
labelson resourcegoogle_dataflow_job(#4095) - dataproc: add support for
optional_componentsto resourceresource_dataproc_cluster(#4073) - project: add checks to import to prevent importing by project number instead of id (#4051)
- storage: add support for
retention_policyto resourcegoogle_storage_bucket(#4044)
BUG FIXES:
- access_context_manager: import format checking (#4047)
dataproc: Suppress diff for
google_dataproc_clustersoftware_config.0.image_versionto prevent permadiff when server uses more specific versions of config value (#4088) - organization: Add auditConfigs to update masks for setting org and folder IAM policy (
google_organization_iam_policy,google_folder_iam_policy) (#4084) - storage:
google_storage_bucketSet website metadata during read (#3977)
NOTES:
- container: We have changed the way container clusters handle cluster state, and they should now wait until the cluster is ready when creating, updating, or refreshing cluster state. This is meant to decrease the frequency of errors where Terraform is operating on a cluster that isn't ready to be operated on. If this change causes a problem, please open an issue with as much information as you can provide, especially debug logs. See [#3989] for more info.
FEATURES:
- New Resources:
google_bigtable_instance_iam_binding,google_bigtable_instance_iam_member, andgoogle_bigtable_instance_iam_policyare now available. (#3939) - New Resources: Add support for source repo repository IAM resources
google_sourcerepo_repository_iam_*(#3961)
ENHANCEMENTS:
- bigquery: Added support for
external_data_configurationtogoogle_bigquery_table. (#3602) - compute: Avoid getting project if no diff found for
google_compute_instance_template(#4000) - firestore:
google_firestore_indexquery_scopecan haveCOLLECTION_GROUPspecified. (#3972)
BUG FIXES:
- compute: Allow security policy to be removed from
google_backend_service(#3969) - compute: Mark instance KMS self link field
kms_key_self_linkas computed (#3802) - container: Fix panic for nil nested objects when reading cluster maintenance window (#4002)
- container:
google_container_clusterkeep clusters in state if they are created in an error state and don't get correctly cleaned up. (#3995) - container:
google_container_clusterwill now wait to act until the cluster can be operated on, respecting timeouts. (#3989) - container:
google_container_node_poolCorrectly set nodepool autoscaling in state when disabled in the API (#3997) - monitoring: Fix diff in
google_monitoring_uptime_check_configon a deprecated field. (#4019) - servicenetworking:
google_service_networking_connectioncorrectly delete the connection when the resource is destroyed. (#4003) - spanner: Wait for spanner databases to create before returning. Don't wait for databases to delete before returning anymore. (#3975)
- storage: Fixed an issue where
google_storage_transfer_jobschedule_end_datecaused requests to fail if unset. (#4005) - storage:
google_storage_object_aclPrevent panic when using interpolated object names. (#3970)
DEPRECATIONS:
- monitoring: Deprecated non-existent fields
is_internalandinternal_checkersfromgoogle_monitoring_uptime_check_config. (#3919)
FEATURES:
- New Resource:
google_compute_project_default_network_tier(#3907)
ENHANCEMENTS:
- compute: Added fields for managing network endpoint group backends in
google_compute_backend_service, includingmax_connections_per_endpointandmax_rate_per_endpoint(#3863) - compute: Support custom timeouts in
google_compute_instance_group_managerandgoogle_compute_region_instance_group_manager(#3955) - container:
logging.googleapis.com/kubernetesandmonitoring.googleapis.com/kubernetesare now GA for cluster logging/monitoring service - folder:
google_folderimprove error message on delete (#3902) - iam: sort bindings in
google_*_iam_policyresources to get simpler diffs (#3855) - kms:
google_kms_crypto_keynow supports labels. (#3910) - pubsub:
google_pubsub_topicsupports KMS keys withkms_key_name. (#3925)
BUG FIXES:
- iam: the member field in iam_* resources is now case-insensitive (#3900)
- servicenetworking:
google_service_networking_connectionfix update (#3887)
BUG FIXES:
- kms: fix regression when reading existing
google_kms_crypto_keyresources (#3893) - storage:
google_storage_bucketfix for crash that occurs when running plan on old buckets (#3886) - storage:
google_storage_bucketallow updatingbucket_policy_onlyto false (#3886)
FEATURES:
- Custom Endpoint Support: The Google provider supports custom endpoints, allowing you to use GCP-like APIs such as emulators. See the Provider Reference for details. (#3787)
- New Resource Network endpoint groups (
google_compute_network_endpoint_group) and fine-grained resource endpoints (google_compute_network_endpoint) are now available. (#3832) - New Resource
google_service_networking_connectionis now available (previously beta-only)
ENHANCEMENTS:
- increased default timeouts for
google_compute_instance,google_container_cluster,google_dataproc_cluster, andgoogle_sql_database_instance(#3872) - compute:
google_compute_global_addresssupportsprefix_length,purpose, andnetwork(#3877) - dns:
google_dns_record_set: allow importing dns record sets in any project (#3862) - kms:
kms_crypto_keysupportspurpose(#3843) - storage:
google_storage_bucketnow supports enablingbucket_policy_onlyaccess control. (#1878 - storage: IAM resources for storage buckets (
google_storage_bucket_iam_*) now all support import (#3830) - pubsub:
google_pubsub_topicUpdates for labels are now supported (#3828)
BUG FIXES:
- bigquery:
google_bigquery_datasetRelax IAM role restrictions on BQ datasets (#3451) - compute:
google_project_iamWhen importing resourcesprojectno longer needs to be set in the config post import (#3777) - compute:
google_compute_instance_templateFixed issue so project can now be specified by interpolated varibles. (#3798) - compute:
google_compute_instance_templateThrow error when using incompatible disk fields instead of continual plan diff (#3789) - compute:
google_compute_instance_from_templateMake sure disk type is expanded to a URL (#3717) - compute:
google_compute_instance_templateAttempt to put disks in state in the same order they were specified (#3717) - container:
google_container_clusterStop guest_accelerator from having a permadiff for accelerators withcount=0(#3860) - container:
google_container_clusterandgoogle_node_poolnow retry correctly when polling for status of an operation. (#3801) - dns:
google_dns_record_setoverrides all existing record types on create, not just NS (#3859) - monitoring:
google_monitoring_notification_channelAllow setting enabled to false (#3874) - pubsub:
google_pubsub_subscriptionandgoogle_pubsub_topicresources can be created inside VPC service controls. (#3818) - redis:
google_redis_instanceFall back to region fromlocation_idwhen region isn't specified (#3846) - sql:
google_sql_userUser's can now be updated to change their password (#3785) - sql: Providing an non-empty host for a Postgres
google_sql_usernow correctly actually registers that the user was created and gives a slightly more understandable error/diff, instead of returning a generic "provider error" (#3857)
DEPRECATIONS:
- compute: The
auto_create_routesfield ongoogle_compute_network_peeringhas been deprecated because it is not user configurable. (#3394)
FEATURES:
- New Datasource:
google_compute_ssl_certificate(#3683) - New Datasource:
google_composer_image_versions(#3694)
ENHANCEMENTS:
- app_engine: Update allowed
app_engine_applicationlocations. (#3674) - composer: Make
google_composer_environmentimage version updateable. (#3681) - compute:
google_compute_router_interfacenow supports specifying aninterconnect_attachment. (#3715) - compute:
google_compute_router_natnow supports specifying alog_configblock (#3684) - compute:
google_compute_router_natnow supports more import formats. (#3744) - compute:
google_compute_network_peeringnow supports importing/exporting custom routes (#3699) - compute: Add support for INTERNAL_SELF_MANAGED backend services. Changed Resources:
google_compute_backend_service,google_compute_global_forwarding_rule. (#3719) - container: Expose the
services_ipv4_cidrforcontainer_cluster. (#3776) - dns:
google_dns_managed_zonenow supports DNSSec. (#3677) - dataflow:
google_dataflow_jobnow supports setting machine type (#1862) - kms:
google_kms_key_ringis now autogenerated using Magic Modules (#3689) - pubsub:
google_pubsub_subscriptionsupports setting anexpiration_policywith nottl. (#3742)
BUG FIXES:
- compute: Allow setting firewall priority to 0. (#3700)
- compute: Resolved an issue where
google_compute_region_backend_servicewas unable to perform a state migration. (#3731) - compute: Allow empty metadata.startup-script on instances. (#3732)
- compute: Fix expanding of routing config in
google_compute_network. (#3741) - container: Allow going from no ip_allocation_policy to a blank-equivalent one. (#3723)
- container:
google_container_clusterwill no longer diff unnecessarily onissue_client_certificate. (#3751) - container:
google_container_clustercan enable client certificates on GKE1.12+series releases. (#3751) - container:
google_container_clusternow retries the call to remove default node pools during cluster creation (#3769) - storage: Fix occasional crash when updating storage buckets (#3686)
NOTE:
- Several resources were previously undocumented on the site or changelog; they should be added to both with this release.
google_compute_backend_bucket_signed_url_keyandgoogle_compute_backend_service_signed_url_keywere introduced in2.4.0.
BACKWARDS INCOMPATIBILITIES:
- cloudfunctions:
google_cloudfunctions_function.runtimenow has an explicit default value ofnodejs6. Users who have a different value set in the API but the value undefined in their config will see a diff. (#3605)
FEATURES:
- New Resources:
google_compute_instance_iam_binding,google_compute_instance_iam_member, andgoogle_compute_instance_iam_policyare now available. (#3551) - New Resources: IAM resources for Dataproc jobs and clusters (
google_dataproc_job_iam_policy,google_dataproc_job_iam_member,google_dataproc_job_iam_binding,google_dataproc_cluster_iam_policy,google_dataproc_cluster_iam_member,google_dataproc_cluster_iam_binding) are now available. #3632
ENHANCEMENTS:
- provider: Add GCP zone to
google_client_configdatasource (#3262) - compute:
google_compute_backend_servicenow supportsHTTP2protocol (beta-only feature, use with GA provider at own risk)#3631 - compute:
interconnect_attachmentMake vlanTag8021q computed for using PARTNER attachments (#3600) - compute: Add support for creating instances with CMEK (#3481)
- compute: Can now specify project when importing instance groups (#2504)
- compute:
google_compute_organization_policies*Allow all organization policies to be removed/unset from a constraint. (#3611) - compute:
google_compute_instancenow supportsshielded_instance_configfor verifiable integrity of your VM instances. (#3531) - compute:
google_compute_instance_templatenow supportsshielded_instance_configfor verifiable integrity of your VM instances. (#3531) - container: use the cluster subnet to look up the node cidr block (#3654)
BUG FIXES:
- cloudfunctions:
google_cloudfunctions_function.runtimenow has an explicit default value ofnodejs6. (#3605) - compute: Fix panic in
compute_backend_servicehash function (#3610) - monitoring: updating
google_monitoring_alert_policyis more likely to succeed (#3587) - kms:
google_kms_crypto_keynow (in addition to marking all crypto key versions for destruction) correctly disables auto-rotation for destroyed keys [#3624](https://github.com/terraform-providers/terraform-provider-google/pull/3624) - iam: Increase IAM custom role length validation to match API. (#3660)
KNOWN ISSUES:
- cloudfunctions:
google_cloudfunctions_functions without aruntimeset will fail to create due to an upstream API change. You can work around this by setting an explicitruntimein2.Xseries releases.
DEPRECATIONS:
- monitoring:
google_monitoring_alert_policylabelswas deprecated, as the field was never used and it was typed incorrectly. (#3494)
FEATURES:
- New Datasource:
google_compute_node_typesfor sole-tenant node types is now available. (#3446) - New Resource:
google_compute_node_groupfor sole-tenant nodes is now available. (#3514) - New Resource:
google_compute_node_templatefor sole-tenant nodes is now available. (#3446) - New Resource:
google_filestore_instanceis now available at GA. (#3522) - New Resource:
google_firestore_indexis now available to configure composite indexes on Firestore. (#3484) - New Resource:
google_logging_metricis now available to configure Stackdriver logs-based metrics. (#1702) - New Resources:
google_compute_subnetwork_iam_binding,google_compute_subnetwork_iam_member, andgoogle_compute_subnetwork_iam_policyare now available at GA. (#3541)
ENHANCEMENTS:
- dataflow:
google_dataflow_job'snetworkandsubnetworkcan be configured. (#3476) - monitoring:
google_monitoring_alert_policyuser_labelssupport was added. (#3494) - compute:
google_compute_instanceandgoogle_compute_instance_templatenow support node affinities for scheduling on sole tenant nodes #3553 - compute:
google_compute_region_backend_serviceis now generated with Magic Modules, adding configurable timeouts, multiple import formats,creation_timestampoutput. (#3521) - pubsub:
google_pubsub_subscriptionnow supports setting anexpiration_policy. (#1703)
BUG FIXES:
- bigquery:
google_bigquery_tablewill work with a larger range of projects id formats. (#3486) - cloudfunctions:
google_cloudfunctions_fucntionno longer restricts an outdated list ofregions (#3530) - compute:
google_compute_instancenow retries updating metadata when fingerprints are mismatched. (#3372) - compute:
google_compute_subnetwork.secondary_ip_rangesdoesn't cause a diff on out of band changes, allows updating to empty list of ranges. (#3496) - container:
google_container_clustersetting networks / subnetworks by name works withlocation. (#3492) - container:
google_container_clusterremoved an overly restrictive validation restrictingnode_poolandremove_default_node_poolbeing specified at the same time. (#3497) - storage:
data.google_storage_bucket_objectnow correctly URL encodes the slashes in a file name (#1613)
BUG FIXES:
- compute:
google_compute_backend_servicehandles empty/niliapblock created by previous providers properly. (#3459) - compute:
google_compute_backend_serviceallows multiple instance types inbackends.groupagain. (#3463) - dns:
google_dns_managed_zonedoes not permadiff when visiblity is set to default and returned as empty from API (#3459) - google_projects: Datasource
google_projectsnow handles paginated results from listing projects (#3464) - google_project_iam:
google_project_iam_policy/member/bindingnow attempts to retry for read-only operations as well as retrying read-write operations (#3455) - kms:
google_kms_crypto_key.rotation_periodnow can be an empty string to allow for unset behavior in modules (#3468)
KNOWN ISSUES:
- compute:
google_compute_subnetworkwill fail to reordersecondary_ip_rangevalues at apply time - compute:
google_compute_subnetworks used with a VPC-native GKE cluster will have a diff if that cluster creates secondary ranges automatically.
BACKWARDS INCOMPATIBILITIES:
- all: This is the first release to use the 0.12 SDK required for Terraform 0.12 support. Some provider behaviour may have changed as a result of changes made by the new SDK version.
- compute:
google_compute_instance_groupwill not reconcile instances recreated within the sameterraform applydue to underlying0.12SDK changes in the provider. (#616) - compute:
google_compute_subnetworkwill have a diff ifsecondary_ip_rangevalues defined in config don't exactly match real state; if so, they will need to be reconciled. (#3432) - container:
google_container_clusterwill have a diff ifmaster_authorized_networks.cidr_blocksdefined in config doesn't exactly match the real state; if so, it will need to be reconciled. (#3427)
BUG FIXES:
- container:
google_container_clustercatch out of band changes tomaster_authorized_networks.cidr_blocks. (#3427)
NOTES: This 2.4.1 release is a bugfix release for 2.4.0. It backports the fixes applied in the 2.5.1 release to the 2.4.0 series.
BUG FIXES:
- compute:
google_compute_backend_servicehandles empty/niliapblock created by previous providers properly. (#3459) - compute:
google_compute_backend_serviceallows multiple instance types inbackends.groupagain. (#3463) - dns:
google_dns_managed_zonedoes not permadiff when visiblity is set to default and returned as empty from API (#3459)
KNOWN ISSUES:
- compute:
google_compute_backend_serviceresources created with past provider versions won't work with2.4.0. You can pin your provider version or manually delete them and recreate them until this is resolved. (https://github.com/terraform-providers/terraform-provider-google/issues/3441) - dns:
google_dns_managed_zone.visibilitywill cause a diff if set topublic. Setting it to""(defaulting to public) will work around this. (https://github.com/terraform-providers/terraform-provider-google/issues/3435)
FEATURES:
- New Resource:
google_access_context_manager_access_policyis now available at GA. (#3358) - New Resource:
google_access_context_manager_access_levelis now available at GA. (#3358) - New Resource:
google_access_context_manager_service_perimeteris now available at GA. (#3358) - New Resource:
google_compute_backend_bucket_signed_url_keyis now available. (#3229) - New Resource:
google_compute_backend_service_signed_url_keyis now available. (#3359) - New Datasource:
google_service_account_access_tokenis now available. (#3357)
ENHANCEMENTS:
- compute:
google_compute_backend_serviceis now generated with Magic Modules, adding configurable timeouts, multiple import formats,creation_timestampoutput. (#3345) - compute:
google_compute_backend_servicenow supportsload_balancing_schemeandcdn_policy.signed_url_cache_max_age_sec. (#3375) - compute:
google_compute_networknow supportsdelete_default_routes_on_createto delete pre-created routes at network creation time. (#3391) - dns:
google_dns_managed_zone.private_visibility_config, part of private DNS, is now generally available. (#3352)
BUG FIXES:
- container:
google_container_clusterwill ignore out of band changes onnode_ipv4_cidr_block. (#3319) - container:
google_container_clusterwill now reject config with bothnode_poolandremove_default_node_pooldefined (#3422) - container:
google_container_clusterwill allow >20cidr_blocksinmaster_authorized_networks_config. (#3397) - netblock:
data.google_netblock_ip_ranges.cidr_blockswill better handle ipv6 input. (#3390) - sql:
google_sql_database_instancewill retry reads during Terraform refreshes if it hits a rate limit. (#3366)
DEPRECATIONS:
- container:
google_container_clusterzoneandregionfields are deprecated in favour oflocation,additional_zonesin favour ofnode_locations. (#3114) - container:
google_container_node_poolzoneandregionfields are deprecated in favour oflocation. (#3114) - container:
data.google_container_clusterzoneandregionfields are deprecated in favour oflocation. (#3114) - container:
google_container_engine_versionszoneandregionfields are deprecated in favour oflocation. (#3114)
FEATURES:
- New Datasource:
google_*_organization_policyAdding datasources for folder and project org policy (#3137)
ENHANCEMENTS:
- compute:
google_compute_disk,google_compute_region_disknow supportphysical_block_size_bytes(#526) - compute:
google_compute_forwarding_rulesupports specifyingall_portsfor internal load balancing. (#3309) - compute:
google_compute_vpn_tunnelwill properly apply labels. (#3277) - container:
google_container_clusteradds a unifiedlocationfield for regions and zones,node_locationsto manage extra zones for multi-zonal clusters and specific zones for regional clusters. (#3114) - container:
google_container_node_pooladds a unifiedlocationfield for regions and zones. (#3114) - container:
data.google_container_clusteradds a unifiedlocationfield for regions and zones. (#3114) - container:
google_container_engine_versionsadds a unifiedlocationfield for regions and zones. (#3114) - dataflow:
google_dataflow_jobhas support for custom service accounts withservice_account_email. (#3238) - monitoring:
google_monitoring_uptime_check_configAdd a computed field for uptime check id (#3138) - resourcemanager:
google_*_organization_policyAdd import support for folder and project organization_policies (#3218) - sql:
google_sql_ssl_certAllow project to be specified at resource level (#3235) - storage:
google_storage_bucketChange storage bucket import logic to avoid calls to compute api (#3244) - storage:
google_storage_bucket.storage_classsupports updating. (#3297) - various: Some import formats that previously failed will now work as documented. (#3283)
BUG FIXES:
- compute:
google_compute_diskwill properly detach instances again. (#3269) - container:
google_container_cluster,google_container_node_poolproperly suppress new GKE1.12metadatavalues. (#3233) - container:
google_container_clusterproperly collects service-level errors from the API (#2941) - monitoring:
google_monitoring_uptime_check_configChange all fields for monitored resource to force recreation (#3132) - various: Retry only 409 concurrent operation errors and not naming conflicts (#3285)
KNOWN ISSUES:
- compute:
google_compute_diskis unable to detach instances at deletion time.
FEATURES:
- New Datasource:
data.google_projectsfor retrieving a list of projects based on a filter. (#3178) - New Resource:
google_tpu_nodefor Cloud TPU Nodes (#3179)
ENHANCEMENTS:
- compute:
google_compute_diskandgoogle_compute_region_diskwill now detach themselves from a more up to date set of users at delete time. (#3154) - compute:
google_compute_networkis now generated by Magic Modules, supporting configurable timeouts and more import formats. (#3203) - compute:
google_compute_firewallwill validate the maximum size of service account lists at plan time. (#3201) - container:
google_container_clustercan now disable VPC Native clusters withip_allocation_policy.use_ip_aliases(#3174) - container:
data.google_container_engine_versionssupportsversion_prefixto allow fuzzy version matching. Using this field, Terraform can match the latest version of a major, minor, or patch release. (#3199) - pubsub:
google_pubsub_subscriptionnow supports configuringmessage_retention_durationandretain_acked_messages. (#3193)
BUG FIXES:
- app_engine:
google_app_engine_applicationcorrectly outputsgcr_domain. (#3149) - compute:
data.google_compute_subnetworkoutputs theself_linkfield again. (#3156) - compute:
google_compute_attached_diskis now removed from state if the instance was removed. (#3183) - container:
google_container_clusterprivate_cluster_config now has a diff suppress to prevent a permadiff for and allows for emptymaster_ipv4_cidr_block(#460) - container:
google_container_clusterimport behavior fixed/documented for TF-state-only fields (remove_default_node_pool,min_master_version) (#3146][#3169][#3180) - storagetransfer:
google_storage_transfer_jobwill no longer crash when accessing nil dates. (#3185)
FEATURES:
- New Datasource:
google_client_openid_userinfofor retrieving theemailused to authenticate with GCP. (#3103)
ENHANCEMENTS:
- compute:
data.google_compute_subnetworkcan now be addressed byself_linkas an alternative to the existingname/region/projectfields. (#3040) - pubsub:
google_pubsub_topicis now generated using Magic Modules, adding Open in Cloud Shell examples, configurable timeouts, and thelabelsfield. (#3043) - pubsub:
google_pubsub_subscriptionis now generated using Magic Modules, adding Open in Cloud Shell examples, configurable timeouts, update support, and thelabelsfield. (#3043) - sql:
google_sql_database_instancenow providespublic_ip_addressandprivate_ip_addressoutputs of the first public and private IP of the instance respectively. (#3091)
BUG FIXES:
- sql:
google_sql_database_instanceallows the empty string to be set forprivate_network. (#3091)
BACKWARDS INCOMPATIBILITIES:
- bigtable:
google_bigtable_instance.cluster.num_nodeswill fail at plan time ifDEVELOPMENTinstances havenum_nodes = "0"set explicitly. If it has been set, unset the field. (#2401) - cloudbuild:
google_cloudbuild_trigger.build.step.argsis now a list instead of space separated strings. (#2790) - cloudfunctions:
google_cloudfunctions_function.retry_on_failurehas been removed. Useevent_trigger.failure_policy.retryinstead. (#2392) - composer:
google_composer_environment.node_config.zoneis nowRequired. (#2967) - compute:
google_compute_instance,google_compute_instance_from_templatemetadatafield is now authoritative and will remove values not explicitly set in config. (#2208) - compute:
google_compute_project_metadataresource is now authoritative and will remove values not explicitly set in config. (#2205) - compute:
google_compute_url_mapresource is now authoritative and will remove values not explicitly set in config. (#2245) - compute:
google_compute_global_forwarding_rule.labelsis removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2399) - compute:
google_compute_subnetwork_iam_binding,google_compute_subnetwork_iam_member,google_compute_subnetwork_iam_policyare removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2398) - compute:
google_compute_backend_service.custom_request_headersis removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2405) - compute:
google_compute_snapshot.snapshot_encryption_key_raw,google_compute_snapshot.snapshot_encryption_key_sha256,google_compute_snapshot.source_disk_encryption_key_raw,google_compute_snapshot.source_disk_encryption_key_sha256fields are now removed. Usegoogle_compute_snapshot.snapshot_encryption_key.0.raw_key,google_compute_snapshot.snapshot_encryption_key.0.sha256,google_compute_snapshot.source_disk_encryption_key.0.raw_key,google_compute_snapshot.source_disk_encryption_key.0.sha256instead. (#2572][#2624) - container:
google_container_node_pool.max_pods_per_nodeis removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2391) - compute:
google_compute_instance_group_managerandgoogle_compute_region_instance_group_managerhave had theirversion,auto_healing_policies, androlling_update_policyfields removed from thegoogleprovider. They must be used in thegoogle-betaprovider.rolling_update_policywas renamedupdate_policyin that provider. (#2392) - compute:
google_compute_instance_group_manageris no longer imported by the provider-level region. Set the appropriate provider-level zone instead. (#2693) - compute:
google_compute_region_instance_group_manager.update_strategyin thegoogle-betaprovider has been removed. (#2594) - compute:
google_compute_instance,google_compute_instance_template,google_compute_instance_from_templatehave had thenetwork_interface.addressfield removed. (#2595) - compute:
google_compute_diskis no longer imported by the provider-level region. Set the appropriate provider-level zone instead. (#2694) - compute:
google_compute_router_nat.subnetwork.source_ip_ranges_to_natis now Required insidesubnetworkblocks. (#2749) - compute:
google_compute_ssl_certificate'sprivate_keyfield is no longer stored in state in cleartext; it is now SHA256 encoded. (#2976) - container:
google_container_clusterfields (private_cluster,master_ipv4_cidr_block) are removed. Useprivate_cluster_configandprivate_cluster_config.master_ipv4_cidr_blockinstead. (#2395) - container:
google_container_clusterfields (enable_binary_authorization,enable_tpu,pod_security_policy_config) are removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2395) - container:
google_container_cluster.node_configfields (taints,workload_metadata_config) are removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2601) - container:
google_container_node_pool.node_configfields (taints,workload_metadata_config) are removed from thegoogleprovider and must be used in thegoogle-betaprovider. (#2601) - container:
google_container_node_pool'sname_prefixfield has been restored and is no longer deprecated. (#2975) - sql:
google_sql_database_instanceresource is now authoritative and will remove values not explicitly set in config. (#2203) - bigtable:
google_bigtable_instancezonefield is no longer inferred from the provider. - endpoints:
google_endpoints_service.protoc_outputwas removed. Usegoogle_endpoints_service.protoc_output_base64instead. (#2396) - resourcemanager:
google_project_iam_policyis now authoritative and will remove values not explicitly set in config. Several fields were removed that made it authoritative:authoritative,restore_policy, anddisable_project. This resource is very dangerous! Ensure you are not using the removed fields (authoritative,restore_policy,disable_project). (#2315) - resourcemanager: Datasource
google_service_account_key.service_account_idhas been removed. Use thenamefield instead. (#2397) - resourcemanager:
google_project.app_enginehas been removed. Use thegoogle_app_engine_applicationresource instead. (#2386) - resourcemanager:
google_organization_custom_role.deletedis now an output-only attribute. Useterraform destroy, or remove the resource from your config instead. (#2596) - resourcemanager:
google_project_custom_role.deletedis now an output-only attribute. Useterraform destroy, or remove the resource from your config instead. (#2619) - serviceusage:
google_project_servicewill now error instead of silently disabling dependent services ifdisable_dependent_servicesis unset. (#2938) - storage:
google_storage_object_acl.role_entityis now authoritative and will remove values not explicitly set in config. Usegoogle_storage_object_access_controlfor fine-grained management. (#2316) - storage:
google_storage_default_object_acl.role_entityis now authoritative and will remove values not explicitly set in config. (#2345) - iam:
google_*_iam_bindingChange all IAM bindings to be authoritative (#2764)
FEATURES:
- New Resource:
google_access_context_manager_access_policyfor managing the container for an organization's access levels. (google-beta#96) - New Resource:
google_access_context_manager_access_levelfor managing an organization's access levels. (google-beta#149) - New Resource:
google_access_context_manager_service_perimeterfor managing service perimeters in an access policy. (google-beta#246) - New Resource:
google_storage_transfer_jobfor managing recurring storage transfers with Google Cloud Storage. (#2707) - New Datasource:
google_storage_transfer_project_service_accountdata source for retrieving the Storage Transfer service account for a project (#2692) - New Resource:
google_app_engine_firewall_rule(#2738][#2849) - New Resource:
google_project_iam_audit_config(#2731) - New Datasource:
google_kms_crypto_keydata source for an externally managed KMS crypto key (#2891) - New Datasource:
google_kms_key_ring(#2891)
ENHANCEMENTS:
- provider: Add
access_tokenconfig option to allow Terraform to authenticate using short-lived Google OAuth 2.0 access token (#2838) - bigquery: Add
default_partition_expiration_msfield togoogle_bigquery_datasetresource. (#2287) - bigquery: Add
delete_contents_on_destroyfield togoogle_bigquery_datasetresource. (#2986) - bigquery: Add
time_partitioning.require_partition_filtertogoogle_bigquery_tableresource. (#2815) - bigquery: Allow more BigQuery regions (#2566)
- bigtable: Add
column_familyat create time togoogle_bigtable_table. (#2228) - bigtable: Add multi-zone (inside one region) replication to
google_bigtable_instance. (#2313] [#2289) - cloudbuild:
google_cloudbuild_triggeris now autogenerated, adding more configurable timeouts, import support, and thedisabledfield.ignored_files,included_filesare now updatable. (#2790] [#2871) - cloudfunctions:
google_cloudfunctions_functionnow has souce repo support (#2650) - cloudfunctions:
google_cloudfunctions_functionnow supportsservice_account_emailfor self-provided service accounts. (#2947) - compute:
google_compute_forwarding_rulesupports specifyingall_portsfor internal load balancing. (google-beta#297) - compute:
google_compute_imageis now autogenerated and supports multiple import formats, andsize_gbattribute. (#2769) - compute:
google_compute_url_mapresource is now autogenerated and supports multiple import formats. (#2245) - compute: Add
name,unique_id, anddisplay_nameproperties todata.google_compute_default_service_account(#2778) - compute:
google_compute_diskAdd support for KMS encryption to compute disk (#2884) - compute: Add support for PARTNER interconnects. (#2959)
- dataproc: Add
acceleratorssupport togoogle_dataproc_clusterto allow using GPU accelerators. (#2411) - dataproc:
google_dataproc_clusterAdd support for KMS encryption to dataproc cluster (#2840) - project: The google_iam_policy data source now supports Audit Configs (#2687)
- kms: Add support for
protection_leveltogoogle_kms_crypto_key(#2751) - resourcemanager: add
inherit_from_parentto all org policy resources (#2653) - serviceusage:
google_project_servicenow supportsdisable_dependent_servicesto control whether services can disable services that depend on them at disable-time. (#2938) - sourcerepo:
google_sourcerepo_repositoryis now autogenerated, adding configurable timeouts. (#2797) - storage:
google_storage_object_aclcan more easily swap betweenrole_entityandpredefined_aclACL definitions. (#2316) - storage:
google_storage_buckethas support forrequester_pays(#2580) - storage:
google_storage_bucket_objectexportsoutput_namefor interpolations onname, allowing you to trigger reapplication ofgoogle_storage_object_aclon recreated objects. (#2914) - storage: During a force destroy,
google_storage_bucketwill delete objects in parallel instead of serially. (#2944) - spanner:
google_spanner_databaseis autogenerated and supports timeouts. (#2812) - spanner:
google_spanner_instanceis autogenerated and supports timeouts. (#2892)
BUG FIXES:
- cloudbuild: allow
google_cloudbuild_trigger.trigger_template.projectto not be set (#2655) - cloudbuild: fix update so it doesn't error every time (#2743)
- cloudfunctions: No longer over-validate project ids in
google_cloudfunctions_function(#2780) - compute: attached_disk now supports region disks (#2441)
- compute: extract vpn tunnel region/project from vpn gateway (#2640)
- compute: send instance scheduling block with automaticrestart true if there is none in cfg (#2638)
- compute: fix disk behaivor in compute_instance_from_template (#2695)
- compute: add diffsuppress for region_autoscaler.target so it can be used with both versions of the provider (#2770)
- compute: fix ID for inferring project for old compute_project_metadata states (#2844)
- compute:
google_compute_backend_servicewill send the correctiapblock values during updates (#2978) - container: fix failure when updating node versions (#2872)
- dataproc: convert dataproc_cluster.cluster_config.gce_cluster_config.tags into a set (#2633)
- iam: fix permadiff when stage is ALPHA (#2370)
- iam: add another retry if iam read returns nil (#2629)
- monitoring:
uptime_check_configcan now be updated and won't error when changing duration. (#2786) - runtimeconfig: allow more characters in runtimeconfig name (#2643)
- sql: send maintenance_window.hour even if it's zero, since that's a valid value (#2630)
- sql: allow cross-project imports for sql user (#2632)
- sql: mark region as computed in sql db instance since we use getregion (#2635)
- sql:
google_sql_database_instanceStop SQL instances from reporting failing to destroy (#2811)
DEPRECATIONS:
- Deprecated
google_compute_snapshot's top-level encryption fields. (#2572)
FEATURES:
- New Resource:
google_storage_object_access_controlfor fine-grained management of ACLs on Google Cloud Storage objects (#2256) - New Resource:
google_storage_default_object_access_controlfor fine-grained management of default object ACLs on Google Cloud Storage buckets (#2358) - New Resource:
google_sql_ssl_certfor Google Cloud SQL client SSL certificates. (#2290) - New Resource:
google_monitoring_notification_channel(#2452) - New Resource:
google_compute_router_nat(#2576) - New Resource:
google_monitoring_group(#2451) - New Resource:
google_billing_account_iam_binding,google_billing_account_iam_member,google_billing_account_iam_policyfor managing Billing Account IAM policies, including managing Billing Account users. (#2143) - New Datasource:
google_iam_roledatasource to be able to read an IAM role's permissions. (#2482)
ENHANCEMENTS:
- cloudbuild: Added Update support for
google_cloudbuild_trigger. (#2121) - cloudfunctions: Add
runtimesupport togoogle_cloudfunctions_function(#2340) - cloudfunctions: Add new-style Storage and Pub/Sub trigger support to
google_cloudfunctions_function(#2412) - compute:
google_compute_health_checksupports for content-based load balancing (responsefield) in HTTP(S) checks. (#2550) - container: regional and private clusters are in GA now (#2364)
- iam:
google_service_accountsnow supports multiple import formats. (#2261) - sql: add support for private IP for SQL instances. (#2662)
BUG FIXES:
- bigquery: added australia and europe regions to the validate function (#2333)
- compute:
google_compute_disk.snapshot,google_compute_region_disk.snapshotproperly allow partial URIs. (#2450) - compute: The
google_compute_instancedatasource can now be addressed byself_link. (#2874) - compute:
google_compute_image.licenseselements properly allow partial URIs / versioned self links. (#3018) - compute:
google_compute_project_metadatacan now be imported from a project other than the one specified in your config. (#3018) - pubsub: fix issue where not all attributes were saved in state (#2469)
BUG FIXES:
- all: fix deprecation links in resources (#2197] [#2196)
- all: fix panics caused by including empty blocks with lists (#2229] [#2233] [#2239)
- compute: allow instance templates to have disks with no source image set (#2218)
- project: fix plan output when app engine api is not enabled (#2204)
BACKWARDS INCOMPATIBILITIES:
- all: beta fields have been deprecated in favor of the new
google-betaprovider. See https://terraform.io/docs/providers/google/provider_versions.html for more info. (#2152] [#2142) - bigtable:
google_bigtable_instancedeprecated thecluster_id,zone,num_nodes, andstorage_typefields, creating aclusterblock containing those fields instead. (#2161) - cloudfunctions:
google_cloudfunctions_functionanddatasource_google_cloudfunctions_functiondeprecatedtrigger_bucketandtrigger_topicin favor of the newevent_triggerfield, and deprecatedretry_on_failurein favor of theevent_trigger.failure_policy.retryfield. (#2158) - compute:
google_compute_instance,google_compute_instance_template,google_compute_instance_from_templatehave had thenetwork_interface.addressfield deprecated and thenetwork_interface.network_ipfield undeprecated to better match the API. Terraform configurations should migrate fromnetwork_interface.addresstonetwork_interface.network_ip. (#2096) - compute:
google_compute_instance,google_compute_instance_from_templatehave had thenetwork_interface.0.access_config.0.assigned_nat_ipfield deprecated. Please usenetwork_interface.0.access_config.0.nat_ipinstead. - compute:
google_compute_instance_group_managerandgoogle_compute_region_instance_group_managerhave had theirversion,auto_healing_policies, androlling_update_policyfields deprecated.google_compute_instance_group_manageralso now acceptsREPLACEforupdate_strategy, which is an alias forRESTART, and is preferred. (#2156) - project:
google_project'sapp_enginesub-block has been deprecated. Please use thegoogle_app_engine_appresource instead. Changing between the two should not force project re-creation. (#2147) - project:
google_project_iam_policy'srestore_policyfield is now deprecated (#2186)
FEATURES:
- New Datasource:
google_compute_instance(#1906) - New Resource:
google_compute_interconnect_attachment(#1140) - New Resource:
google_filestore_instance(#2088) - New Resource:
google_app_engine_application(#2147)
ENHANCEMENTS:
- container: Add
enable_tpuflag to google_container_cluster (#1974) - dns:
google_dns_managed_zoneis now importable (#1944) - dns:
google_dns_managed_zoneis now entirely GA (#2154) - runtimeconfig:
google_runtimeconfig_configandgoogle_runtimeconfig_variableare now importable. (#2054) - services: containeranalysis.googleapis.com can now be enabled (#2095)
BUG FIXES:
- compute: fix instance template interaction with regional disk self links (#2138)
- compute: fix diff when using image shorthands for instance templates (#1995)
- compute: fix error when reading instance templates created from disks and referenced by name instead of self_link (#2153)
- container: Make max_pods_per_node ForceNew (#2139)
- services: make google_project_service more resilient to projects being deleted (#2090)
- sql: retry failed sql calls (#2174)
BACKWARDS INCOMPATIBILITIES:
- compute: instance templates used to not set any disks in the template in state unless they were in the config, as well. It also only stored the image name in state. Both of these were bugs, and have been fixed. They should not cause any disruption. If you were interpolating an image name from a disk in an instance template, you'll need to update your config to strip out everything before the last
/. If you imported an instance template, and did not add all the disks in the template to your config, you'll see a diff; add those disks to your config, and it will go away. Those are the only two instances where this change should effect you. We apologise for the inconvenience. (#1916) - iam:
google_*_custom_rolesnow treatsdeleteas deprecated - to actually delete roles, remove from config. - provider: This is the first release tested against and built with Go 1.11, which required go fmt changes to the code. If you are building a custom version of this provider or running tests using the repository Make targets (e.g. make build) when using a previous version of Go, you will receive errors. You can use the underlying go commands (e.g. go build) to workaround the go fmt check in the Make targets until you are able to upgrade Go.
FEATURES:
- New Resource:
google_compute_attached_disk(#1585) - New Resource:
google_composer_environment(#2001)
IMPROVEMENTS:
- bigquery: Add Support For BigQuery Access Control (#1931)
- compute:
google_compute_health_checkis autogenerated, exposing thetypeattribute and accepting more import formats. (#1941) - compute:
google_compute_ssl_certificateis autogenerated, exposing thecreation_timestampattribute and accepting more import formats. Note:certificate_idwas changed to an int from a string. This should have no effect on backwards compatibility, but please report a bug if you have any issues! (#2015) - container: Addition of create_subnetwork and other fields relevant for Alias IPs (#1921)
- dataflow: Add region choice to dataflow jobs (#1979)
- logging: Add import support for
google_logging_organization_sink,google_logging_folder_sink,google_logging_billing_account_sink(#1860) - logging: Sending a default update mask for all logging sinks to prevent future breakages (#1991)
- dns: Adding support for labels to managed DNS (#1803)
- container: Add support for
max_pods_per_nodefor private clusters. (#2038)
BUG FIXES:
- compute: Store google_compute_vpn_tunnel.router as a self_link to avoid permadiffs. (#2003)
- iam: Prevent error when attempting to recreate recently soft-deleted
google_(project|organization)_iam_custom_role. Instead, roles that are able to be undeleted will be undeleted-updated, as long as they were deleted within 7 days. (#1681) - project: make validation for project id less restrictive (#1878)
BUG FIXES:
- container: fix panic on gke binauth (#1924)
FEATURES:
- New Datasource:
google_project_services(#1822) - New Resource:
google_compute_region_disk(#1755) - New Resource:
google_binary_authorization_attestor(#1885) - New Resource:
google_binary_authorization_policy(#1885) - New Resource:
google_container_analysis_note(#1885)
IMPROVEMENTS:
- cloudfunctions: Add support for updating function code in place (#1781)
- cloudbuild: Add support for substitutions in triggers (#1810)
- compute: Bring regional instance groups up to par with zonal instance groups. (#1809)
- compute: Add labels to Address and GlobalAddress. (#1811)
- container: allow updating node image types (#1843)
- container: Add support for binary authorization in GKE (#1884)
- compute: Allow update of master auth on GKE container cluster. (#1873)
- compute: Add support for
boot_disk_typetogoogle_dataproc_cluster. (#1855) - compute: Generate resource_compute_firewall in magic-modules. Make more fields updatable by using PATCH instead of PUT. (#1907)
- storage: Add user_project support to
google_storage_project_service_accountdata source (#1913)
BUG FIXES:
- project: Fix bug where app engine wasn't getting enabled on projects that had billing enabled (#1795)
- redis: Allow authorized network to be a name or self link (#1782)
- sql: lock on master name when creating replicas (#1798)
- storage: allow all role-entity pairs to be unordered (#1787)
- compute: allow switching from a daily
ubuntu-minimalbuild toubuntu-minimal-ltsinstead of onlyubuntu. (#1870) - kms: allow project ids with colons (#1865)
- compute: allow project iam policy import with a resource that doesn't match provider project. (#1875)
- compute: Ensure regional container clusters update correctly. (#1887)
BUG FIXES:
- compute: use patch instead of put to update router (#1780)
- compute: allow a lot more fields in
google_compute_firewallto be updated to their empty value (#1784) - compute: allow setting instance scheduling booleans on
google_compute_instanceto false (#1779) - compute: ensure router peers and interfaces are always removed. (#1877)
BUG FIXES:
- container: Fix crash when updating resource labels on a cluster (#1769)
FEATURES:
- New Resource:
compute_instance_from_template(#1652)
IMPROVEMENTS:
- compute: Autogenerate
google_compute_forwarding_rule, adding labels, service labels, and service name attribute. - compute: add
quic_overridetogoogle_compute_target_https_proxy(#1718) - compute: add support for licenses to
compute_image(#1717) - compute: Autogenerate router resource. Also adds update support and a few new fields (advertise_mode, advertised_groups, advertised_ip_ranges). (#1723)
- container: add ability to configure resource labels on
google_container_cluster(#1663) - container: increase max number of
master_authorized_networksto 20 (#1733) - container: support specifying
disk_typefornode_config(#1665) - project: correctly paginate when more than 50 services are enabled (#1737)
- redis: Support Redis Configuration (#1706)
BUG FIXES:
- all: Fix retries for wrapped errors (#1760)
- iot: Retry creation of Cloud IoT registry (#1713)
- project: ignore stackdriverprovisioning service, so it doesn't permadiff (#1763)
FEATURES:
IMPROVEMENTS:
- compute: Autogenerate
compute_subnetwork(#1661) - container: Allow specifying project when importing container_node_pool (#1653)
- dns: Add update support for
dns_managed_zone(#1617) - project: App Engine application fields can now be updated in-place where possible (#1621)
- storage: Add
projectfield for GCS service account data source (#1677) - sql: Attempting to shrink an
sql_database_instance's disk size will now force recreation of the resource (#1684)
BUG FIXES:
- all: Check for done operations before waiting on them. This fixes a 403 we were getting when trying to enable already-enabled services. (#1632)
- bigquery: add error checking for bigquery dataset id (#1638)
- compute: Store v1
self_linkfor(sub)?networkingoogle_compute_instance(#1629) - compute:
zonefield ingoogle_compute_diskshould be optional (#1631) - compute: name_prefix is no longer deprecated for SSL certificates (#1622)
- compute: for global address ip_version, IPV4 and empty are equivalent. (#1639)
- compute: fix default service account data source to actually set the email and project (#1690)
- container: fix permadiff on
container_cluster'spod_security_policy_config(#1670) - container: removing sub-blocks of
container_clusterlike maintenance windows will now delete them from the API (#1685) - container: retry node pool writes on failed precondition (#1660)
- iam: Fixes issue with consecutive whitespace (#1625)
- iam: use same mutex for project_iam_policy as the other project_iam resources (#1645)
- iam: don't error if service account key is already gone on delete (#1659)
- iam: Fix bug in v1.14 where service_account_key needed project set (#1664)
- iot: fix updatemask so updates actually work (#1640)
- storage: fix a permadiff in bucket ACL role entities (#1692)
FEATURES:
- New Datasource:
google_service_account(#1535) - New Datasource:
google_service_account_key(#1535) - New Datasource:
google_netblock_ip_ranges(#1580) - New Datasource:
google_compute_regions(#1603)
IMPROVEMENTS:
- compute: As part of migrating
google_compute_diskto be autogenerated, enabled encrypted source snapshot & images. [#1521]. - compute: Accept subnetwork name only in
google_forwarding_rule(#1552) - compute: Add disabled property to
google_compute_firewall(#1536) - compute: Add support for custom request headers in
google_compute_backend_service(#1537) - compute: Add support for
ssl_policytogoogle_compute_target_ssl_proxy(#1568) - compute: Add support for
versions in instance group manager (#1499) - compute: Add support for
network_tierto address, instance and instance_template (#1530) - cloudbuild: Use the project defined in
trigger_templatewhen creating agoogle_cloudbuild_trigger(#1556) - cloudbuild: Support configuration file in repository for
google_cloudbuild_trigger(#1557) - kms: Add basic update for
google_kms_crypto_keyresource (#1511) - project: Use default provider project for
google_project_servicesif project field is empty (#1553) - project: Added support for restoring default organization policies (#1477)
- project: Handle spurious Cloud API errors and performance issues for
google_project_service(s)(#1565) - redis: Add update support for Redis Instances (#1590)
- sql: Add labels support in
sql_database_instance(#1567)
BUG FIXES:
- dns: Suppress diff for ipv6 address in
google_dns_record_set(#1551) - storage: Support removing a label in
google_storage_bucket(#1550) - compute: Fix perpetual diff caused by the
google_instance_groupself_link ingoogle_regional_instance_group_manager(#1549) - project: Retry while listing enabled services (#1573)
- redis: Allow self links for redis authorized network (#1599)
BACKWARDS INCOMPATIBILITIES / NOTES:
google_project_service/google_project_servicesnow use the Service Usage API. Users of those resources will need to enable the API at https://console.cloud.google.com/apis/api/serviceusage.googleapis.com.- If you have a
google_projectresource where App Engine is enabled in the project, add anapp_engineblock to your resource before running Terraform after upgrading to this version, or hold off on upgrading for now. See #1561, which has more details and an ongoing investigation of other potential fixes.
FEATURES:
- New Resource:
google_cloudbuild_trigger. (#1357) - New Resource:
google_storage_bucket_iam_policy(#1190) - New Resource:
google_resource_manager_lien(#1484) - New Resource:
google_logging_billing_account_exclusion(#990) - New Resource:
google_logging_folder_exclusion(#990) - New Resource:
google_logging_organization_exclusion(#990) - New Resource:
google_logging_project_exclusion(#990) - New Resource:
google_redis_instance(#1485) - App Engine applications can now be managed using the
app_enginefield ingoogle_project(#1503)
IMPROVEMENTS:
- cloudfunctions: add ability to retry cloud functions on failure (#1452)
- container: Add support for regional cluster in
google_containerdatasource (#1441) - container: Add GKE Shared VPC support (#1528)
- compute: autogenerate
google_compute_ssl_policy(#1478) - compute: add support for
ssl_policytogoogle_target_https_proxy(#1466) - project: Added name and project_id plan-time validations (#1519)
BUG FIXES:
- compute: Compare region_backend_service.backend[].group as a relative path (#1487)
- compute: Fixed
region_backend_serviceto calc hash using relative path (#1491) - sql: Fix panic on empty maintenance window (#1507)
FEATURES:
- spanner: New resources to manage IAM for Spanner Databases: google_spanner_database_iam_binding, google_spanner_database_iam_member, and google_spanner_database_iam_policy (#1386)
- spanner: New resources to manage IAM for Spanner Instances: google_spanner_instance_iam_binding, google_spanner_instance_iam_member, and google_spanner_instance_iam_policy (#1387)
IMPROVEMENTS:
- compute: Autogenerate
google_vpn_gateway(#1409) - compute: add
enable_flow_logsfield to subnetwork (#1385) - project: Don't fail if
folder_idandorg_idare set but one is empty forgoogle_project(#1425)
BUG FIXES:
- compute: Always parse fixed64 string to int64 even on 32 bits platform to prevent out-of-range crash. (#1429)
IMPROVEMENTS:
- compute: Add
public_ptr_domain_nametogoogle_compute_instance. (#1349) - compute: Autogenerate
google_compute_global_address. (#1379) - compute: Autogenerate
google_compute_target_http_proxy. (#1391) - compute: Autogenerate
google_compute_target_http_proxy. (#1373) - compute: Simplify autogenerated code for
google_compute_target_http_proxyandgoogle_compute_target_ssl_proxy. (#1395) - compute: Use partial state setting in
google_compute_target_http_proxyandgoogle_compute_target_ssl_proxyto better handle mid-update errors. (#1392) - compute: Use the v1 API for
google_compute_address(#1384) - compute: Properly detect when
public_ptr_domain_nameisn't set. (#1383) - compute: Use the v1 API for
google_compute_ssl_policy(#1368) - container: Add
issue_client_certificatetogoogle_container_cluster. (#1396) - container: Support regional clusters for node pools. (#1320)
- all: List of resources is now partially auto-generated (#1397] [#1402)
BUG FIXES:
- iam: expand the validation for service accounts to include App Engine and compute default service accounts (#1390)
- sql: Increase timeouts (#1381)
- website: fix broken layouts (#1405)
FEATURES:
- New Data Source
google_folder(#1280) - New Resource
google_compute_subnetwork_iam_binding(#1305) - New Resource
google_compute_subnetwork_iam_member(#1305) - New Resource
google_compute_subnetwork_iam_policy(#1305)
IMPROVEMENTS:
- compute: Add timeouts to
google_compute_snapshot(#1309) - compute: un-deprecate name_prefix for instance templates (#1328)
- compute: Add
default_cluster_versionfield todata_source_google_container_engine_versions. (#1355) - compute: Add
max_connectionsandmax_connections_per_instancetoresource_compute_backend_service(#1353) - all: Maintain parity with GCP Console UI by allowing removal of default project networks. (#1316)
- all: Use standard user-agent header (#1332)
BUG FIXES:
- compute: fix error introduced when attached disks are deleted out of band (#1301)
- container: Use correct project id regex in
google_container_cluster(#1311) - folder: Escape the display name in active folder data source (in case of spaces, etc) (#1261)
- project: Fix auto-delete default network in google_project (#1336)
BACKWARDS INCOMPATIBILITIES / NOTES:
name_prefixis now deprecated in all resources that support it (#1035)
FEATURES:
- New Data Source
google_compute_ssl_policy(#1247) - New Resource
google_compute_security_policy(#1242) - New Resource
google_compute_ssl_policy(#1247) - New Resource
google_project_organization_policy(#1226)
IMPROVEMENTS:
- all: Read
GOOGLE_CLOUD_PROJECTenvironment variable also (#1271) - bigquery: Add time partitioning field to
google_bigquery_tableresource (#1240) - config: Add OAuth access token to
google_client_configdata source (#1277) - compute: Add
wait_for_instancesfield togoogle_compute_instance_group_managerand self_link option to thegoogle_compute_instance_groupdata source (#1222) - compute: add support for security policies in backend services (#1243)
- compute: regional instance group managers now support rolling updates (#1260)
- container: add ability to delete the default node pool (#1245)
- container: Add update support for pod security policy (#1195)
- container: Add gke node taints (#1264)
- container: Add support for node pool versions (#1266)
- container: Add support for private clusters (#1250)
- container: Updates container_cluster to set
enable_legacy_abacto false by default (#1281) - container: Add support for regional GKE clusters in
google_container_cluster(#1181) - iam: allow setting service account email as id for service account keys (#1256)
- sql: add custom timeouts support for sql database instance (#1288)
- sql: Retry on 429 and 503 errors on sql admin operation (#1212)
- project: Add disable_on_destroy flag to
google_project_services(#1293)
BUG FIXES:
- compute: fix panic when setting empty iap block (#1232)
- compute: protect against an instance getting deleted by an igm while the disk is being detached (#1241)
- compute: Add DiffSuppress for URL maps on Target HTTP(S) Proxies (#1263)
- storage: Set force_destroy when importing storage buckets (#1223)
- storage: Delete all object version when deleting all objects in a bucket (#1285)
BACKWARDS INCOMPATIBILITIES / NOTES:
google_dataproc_cluster.delete_autogen_bucketis now deprecated (#1171)
FEATURES:
- New Resource
google_organization_iam_policy(see docs for caveats) (#1196)
IMPROVEMENTS:
- container: un-deprecate
google_container_node_pool.initial_node_count(#1176) - container: Add support for pod security policy (#1192)
- container: Add support for GKE metadata concealment (#1199)
- container: Add support for GKE network policy config addon. (#1200)
- container: Add support for
instance_group_urlsingoogle_container_node_pool(#1207) - compute: Rolling update support for instance group manager (#1137)
- compute: Add
cdn_policyfield to backend service (#1208) - compute: Add support for deletion protection. (#1205)
- all: IAM resources now wait for propagation before reporting created. (#1197)
BUG FIXES:
- compute: Properly set
image_idfield ondata_google_compute_imagein state (#1217) - compute: Properly set
projectfield ongoogle_compute_project_metadatain state (#1217) - dataproc: Properly set
cluster_config.0.initialization_actionongoogle_dataproc_clusterin state (#1217)
Features:
- New Data Source
google_compute_forwarding_rule(#1078) - New Data Source
google_compute_vpn_gateway(#1071) - New Data Source
google_project(#1111) - New Data Source
google_compute_backend_service(#1150) - New Data Source
google_storage_project_service_account(#1110) - New Data Source
google_compute_default_service_account(#1119) - New Resource
google_folder_iam_binding(#1076) - New Resource
google_folder_iam_member(#1076) - New Resource
google_project_usage_export_bucket(#1080)
IMPROVEMENTS:
- compute: add support for updating alias ips in instances (#1084)
- compute: allow setting a route resource's
descriptionattribute (#1088) - compute: allow lowercase ip protocols in forwarding rules (#1118)
- compute:
google_compute_zonesdatasource accepts aprojectparameter (#1122) - compute: Support
distributionPolicywhen creating regional instance group managers. (#1092) - compute: Timeout customization for
google_compute_backend_bucket,google_compute_http_health_check, andgoogle_compute_https_health_check(#1177) - container: Fail if the ip_allocation_policy doesn't specify secondary range names (#1065)
- container: Allow specifying accelerators in cluster node_config. (#1115)
- pubsub: Add project field to iam pubsub topic resources (#1154)
- sql: Support multiple users with the same name for different host for 1st gen SQL instances. (#1066)
- sql: Add SQL DB Instance attribute
first_ip_address(#1050)
BUG FIXES:
- compute: Don't store disk in state if it didn't create (#1129)
- compute: Check set equality for service account scope changes (#1130)
- compute: Disk now accepts project id with '.' and ':' (#1145)
- dataproc: fix typos in pyspark dataproc job resource that led to args not working (#1120)
- dns: fix perpetual diffs when names aren't all uppercase or if TXT records aren't quoted (#1141)
- spanner: Accepts project id with '.' and ':' (#1151)
Features:
- New Resource
google_cloudiot_registry(#970) - New Resource
google_endpoints_service(#933) - New Resource
google_storage_default_object_acl(#992) - New Resource
google_storage_notification(#1033)
IMPROVEMENTS:
- compute: Suppress diff if
guest_acceleratorscount is 0 ingoogle_compute_instanceandgoogle_compute_instance_template(#866) - compute: Add update support for machine type, min cpu platform, and service accounts (#1005)
- compute: Add import support for google_compute_shared_vpc_host_project/google_compute_shared_vpc_service_project resources (#1004)
- compute: Make route priority optional since Compute has a default value. (#1009)
- container: Suppress diff for empty/default provider in
google_container_clusternetwork policy #1031 - container: Return an error if name and name prefix are specified in node pool (#1062)
- sql: Support for PostgreSQL high availability (#1001)
- sql: Support for ServerCaCert in Cloud SQL instance. (Related to #635)
- storage: Add support for setting bucket's logging config (#946)
BUG FIXES:
- project: Fix crash when errors are encountered updating a
google_project(#1016) - logging: Set project during import for
google_logging_project_sinkto avoid recreation (#1018) - compute: Suppress diff on image field when referring to unconventional public image family naming pattern (#1024)
- compute: Backend service backed by a group couldn't be created or updated because both max_rate and max_rate_per_instance would always be set to zero and they can't be both set. (#1051)
- container: Fix perpetual diff in
google_container_clusterif the subnetwork field is not specified (#1061)
FEATURES:
- New Resource:
google_cloudfunctions_function(#899) - New Resource:
google_logging_organization_sink(#923) - New Resource:
google_service_account_iam_binding(#840) - New Resource:
google_service_account_iam_member(#840) - New Resource:
google_service_account_iam_policy(#840) - New Resource:
google_pubsub_topic_iam_binding(#875) - New Resource:
google_pubsub_topic_iam_member(#875) - New Resource:
google_pubsub_topic_iam_policy(#875) - New Resource:
google_dataflow_job(#855) - New Data Source:
google_compute_region_instance_group(#851) - New Data Source:
google_container_cluster(#740) - New Data Source:
google_kms_secret(#741) - New Data Source:
google_billing_account(#889) - New Data Source:
google_organization(#887) - New Data Source:
google_container_registry_repository(#954) - New Data Source:
google_container_registry_image(#954)
IMPROVEMENTS:
- iam: Add support for import of IAM resources (project, folder, organizations, crypto keys, and key rings). (#835)
- compute: Add support for routing mode in compute network. (#838)
- compute: Add configurable create/update/delete timeouts to
google_compute_instance(#856) - compute: Add configurable create/update/delete timeouts to
google_compute_subnetwork(#871) - compute: Add update support for
routing_modeingoogle_compute_network(#857) - compute: Add import support for
google_compute_instance(#873) - compute: More descriptive error message for health check not found in
google_compute_target_pool(#883) - compute: Add
disable_on_destroy(default true) forgoogle_project_service. (#965) - compute: Add update support for subnetwork IP CIDR range expansion (#945)
- compute: Read boot disk initialization params from API in
google_compute_instance(#948) - container: Ensure operations on a cluster are applied serially (#937)
- container: Don't recreate container_cluster when maintenance_window changes (#893)
- dataproc: Add "internal IP only" support for Dataproc clusters (#837)
- dataproc: Support
self_linkfrom a different project in dataproc network and subnetwork fields (#935) - sourcerepo: Export new
urlfield forgoogle_sourcerepo_repository(#943) - folder: Support more format for
folderfield ingoogle_folder_organization_policy(#963) - dns: Add import support to
google_dns_record_set(#895) - all: Make provider-wide region optional (#916)
- all: Infers region from zone schema before using the provider-level region (#938)
- all: Upgrade terraform core to v0.11.2 (#940)
BUG FIXES:
- compute: Suppress diff for equivalent value in
google_compute_diskimage field (#884) - compute: Read IAP settings properly in
google_compute_backend_service(#907) - compute: Fix bug causing a crash when specifying unknown network in
google_compute_network_peering(#918) - compute: Fix failing update when changing
google_compute_health_checktype (#944) - compute: Fix bug blocking
google_compute_autoscalerfrom containing multiple metrics. (#966) - container: Set default scopes when creating GKE clusters/node pools (#924)
- storage: Fix bug blocking the update of a storage object if its content is dynamic/interpolated (#848)
- storage: Fix bug preventing the removal of lifecycle rules for a
google_storage_bucket(#850) - all: Fix bug causing a perpetual diff when using provider-default zone (#914)
FEATURES:
- New Data Source:
google_compute_image(#128) - New Resource:
google_storage_bucket_iam_binding(#822) - New Resource:
google_storage_bucket_iam_member(#822)
IMPROVEMENTS:
- all: Add support for
zoneat the provider level, as a default for all zonal resources. (#816) - compute: Add support for
min_cpu_platformtogoogle_compute_instance_template(#808) - compute: Add example for Shared VPC (aka cross-project networking, or XPN). (#810)
BUG FIXES:
- all: Fix bug that disallowed using file paths for credentials (#832)
- dns: Fix bug that broke NS records on subdomains (#807)
- bigquery: Fix bug causing a crash if the import id was invalid (#828)
FEATURES:
- New Resource:
google_folder_organization_policy(#747) - New Resource:
google_kms_key_ring_iam_binding(#781) - New Resource:
google_kms_key_ring_iam_member(#781) - New Resource:
google_kms_crypto_key_iam_binding(#781) - New Resource:
google_kms_crypto_key_iam_member(#781) - New Resource:
google_project_custom_iam_role(#709) - New Resource:
google_organization_custom_iam_role(#735) - New Resource:
google_organization_iam_binding(#775) - New Resource:
google_organization_iam_member(#775) - New Resource:
google_dataproc_job(#253) - New Data Source:
google_active_folder(#738) - New Data Source:
google_compute_address(#748) - New Data Source:
google_compute_global_address(#759)
IMPROVEMENTS:
- compute: Add import support for
google_compute_ssl_certificates(#678) - compute: Add import support for
google_compute_target_http_proxy(#678) - compute: Add import support for
google_compute_target_https_proxy(#678) - compute: Add partial import support for
google_compute_url_map(#678) - compute: Add import support for
google_compute_backend_bucket(#736) - compute: Add configurable timeouts for disks (#717)
- compute: Use v1 API now that all beta features are in GA for
google_compute_firewall(#768) - compute: Add Alias IP and Guest Accelerator support to Instance Templates (#639)
- container: Relax diff on
daily_maintenance_window.start_timeforgoogle_container_cluster(#726) - container: Allow node pools with size 0 (#752)
- container: Add support for
google_container_node_poolmanagement (#669) - container: Add container cluster network policy (#630)
- container: add support for ip aliasing in
google_container_cluster(#654) - kms: Adds support for creating KMS CryptoKeys resources (#692)
- project: Add validation for
account_idingoogle_service_account(#793) - storage: Detect file changes in
google_storage_bucket_objectwhen using source field (#789) - all: Consistently store the project and region fields value in state. (#784)
BUG FIXES:
- bigquery: Set UseLegacySql to true for compatibility with the BigQuery API (#724)
- compute: Fix perpetual diff with
next_hop_instancefield ingoogle_compute_route(#716) - compute: Restore the
ipv4_rangefield togoogle_compute_networkto support legacy VPCs (#805) - project: Fix timeout issue with project services (#737)
- sql: Fix perpetual diff with
authorized_networksfield ingoogle_sql_database_instance(#733) - sql: give disk_autoresize a default in
google_sql_database_instance(#806)
FEATURES:
- New Resource:
google_service_account_key(#472) - New Resource:
google_kms_key_ring(#518) - New Resource:
google_dataproc_cluster(#252) - New Resource:
google_project_service(#668)
IMPROVEMENTS:
- compute: Add import support for
google_compute_global_forwarding_rule(#653) - compute: Add IAP support for backend services (#471)
- compute: Allow attaching and detaching disks from instances (#636)
- compute: Add support for source/target service accounts to
google_compute_firewall(#681) - compute: Add
secondary_ip_rangesupport togoogle_compute_subnetworkdata source (#687) - compute: Add support for internal address (beta feature) in
google_compute_address(#594) - compute: Add support to
google_compute_target_poolfor health checks self_link (#702) - container: Add support for CPU Platform in
google_container_node_poolandgoogle_container_cluster(#622) - container: Add support for Kubernetes alpha features (#646)
- container: Add support for master authorized networks in
google_container_cluster(#626) - container: Add support for maintenance window on
google_container_cluster(#670) - logging: Make
google_logging_project_sinkresource importable (#688) - project: Make
google_service_accountresource importable (#606) - project: Project is optional and default to the provider value in
google_project_iam_policy(#691) - pubsub: Create a
google_pubsub_subscriptionfor a topic in a different project (#640) - storage: Add labels to
google_storage_bucket(#652)
BUG FIXES:
- compute: Increase timeout for deleting networks (#662)
- compute: Fix disk migration bug with empty
initialize_paramsblock (#664) - compute: Update
google_compute_target_poolto no longer have a plan/apply loop with instance URLs (#666) - container:
google_container_cluster.node_config.oauth_scopesno longer need to be set alphabetically (#506) - dns:
google_dns_record_setcan now manage NS records (#359) - project: Set valid default
public_key_typeforgoogle_service_account_key(#686)
FEATURES:
- New Resource:
google_compute_target_ssl_proxy(#569) - New Data Source:
google_compute_lb_ip_ranges(#567)
IMPROVEMENTS:
- compute: Make
boot_diskrequired; remove checks around expected number of disks (#600) - compute: Allow setting boot and attached disk sources by name or self link (#605)
- container: Allow updating
google_container_cluster.monitoring_service(#598) - container: Allow updating
google_container_cluster.addons_config(#597) - project: Make
google_project_servicesresource importable (#601)
BUG FIXES:
- compute: Fix import functionality in
google_compute_route(#565) - compute: Migrate boot disk initialize params (#592)
FEATURES:
- New Resource:
google_logging_folder_sink(#470) - New Resource:
google_organization_policy(#523) - New Resource:
google_compute_target_tcp_proxy(#528) - New Resource:
google_compute_region_autoscaler(#544) - New Resources:
google_compute_shared_vpc_host_projectandgoogle_compute_shared_vpc_service_project(#544)
IMPROVEMENTS:
- compute: Generate network link without calling network API in
google_compute_subnetwork(#527) - compute: Generate network link without calling network API in
google_compute_vpn_gatewayandgoogle_compute_router(#527) - compute: Add import support to
google_compute_target_tcp_proxy(#534) - compute: Add labels support to
google_compute_instance_template(#17) - compute:
google_vpn_tunnel- Mark 'shared_secret' as sensitive (#561) - container: Allow disabling of Kubernetes Dashboard via
kubernetes_dashboardaddon (#433) - container: Merge the schemas and logic for the node pool resource and the node pool field in the cluster to aid in maintainability (#489)
- container: Add master_version to container cluster (#538)
- sql: Add new retry wrapper fn, retry sql database instance operations that commonly 503 (#417)
- pubsub:
push_configfield for agoogle_pubsub_subscriptionis not updateable (#512)
BUG FIXES:
- compute: Fix bug in
google_compute_instancepreventing theassigned_nat_ipfield from ever getting assigned (#536) - compute: Fix bug in
google_compute_firewallcausing the beta APIs even if no beta features are used (#500) - compute: Fix bug in
google_network_peeringpreventing creating a peering for a network outside the provider default project (#496) - compute: Fix BackendService group hash when instance groups use beta features (#522)
- compute: Make
disk.device_namecomputed ingoogle_compute_instance_template(#566) - dns: Error out if DNS zone is not found (#560)
- container: Fix crash when creating node pools with
name_prefixor no name (#531) - container: Fix cluster version upgrades (#577)
BUG FIXES:
- compute: Fix bug that prevented the state migration for
google_compute_instancefrom updating to use attached_disk, boot_disk, and scratch_disk. (#511) - compute: Fix bug causing a crash if the API returns an error on
google_compute_instancecreation (#556)
BACKWARDS INCOMPATIBILITIES / NOTES:
- compute: A state migration was added to convert
google_compute_instance.diskfields into the correct one ofattached_disk,boot_disk, orscratch_disk. This will lead to plan-time diffs for anyone still using thediskfield. Please verify its results carefully and update configs appropriately. - container:
google_container_cluster.node_pool.initial_node_countis now deprecated. Please replace withgoogle_container_cluster.node_pool.node_countinstead. (#331) - storage:
google_storage_bucket_aclnow sets the bucket ACL to whatever is in the config, correcting any drift. This means any permissions set automatically by GCP (e.g., project-viewers-* policies, etc.) will be removed unless they're added to your config. Also, theOWNER:project-owners-{project-id}will never be deleted, as the API won't allow it. This is now correctly handled, and it is removed from state without being deleted in the API. (#358] [#439)
FEATURES:
- New Data Source:
google_client_config(#385) - New Resource:
google_compute_region_instance_group_manager(#394) - New Resource:
google_folder(#416) - New Resource:
google_folder_iam_policy(#447) - New Resource:
google_logging_project_sink(#432) - New Resource:
google_logging_billing_account_sink(#457)
IMPROVEMENTS:
- bigquery: Support Bigquery Views (#230)
- container: Add import support for
google_container_cluster(#391) - container: Add support for resizing a node pool defined in
google_container_cluster(#331) - container: Allow updating
google_container_cluster.logging_service(#343) - container: Add support for 'node_config.preemptible' field on
google_container_cluster(#341) - container: Allow min node counts of 0 for node pool autoscaling (#468)
- compute: Add support for 'labels' field on
google_compute_image(#339) - compute: Add support for 'labels' field on
google_compute_disk(#344) - compute: Add support for
labelsfield ongoogle_compute_global_forwarding_rule(#354) - compute: Add support for 'guest_accelerators' (GPU) on
google_compute_instance(#330) - compute: Add support for 'priority' field on
google_compute_firewall(#342) - compute:
google_compute_firewallnetwork field now supports self_link in addition of name (#477) - compute: Add support for 'min_cpu_platform' in
google_compute_instance(#349) - compute: Add support for 'alias_ip_range' in
google_compute_instance(#375) - compute: Add support for computed field 'instance_id' in
google_compute_instance(#427) - compute: Improve import for
google_compute_addressto support multiple id formats. (#378) - compute: Add state migration from
diskto boot_disk/scratch_disk/attached_disk (#329) - compute: Mark certificate as sensitive within
google_compute_ssl_certificate(#490) - project: Add support for 'labels' field on
google_project(#383) - project: Move a
google_projectin and out of a folder (#438) - pubsub: Add import support for
google_pubsub_topic. (#392) - pubsub: Add import support for
google_pubsub_subscription. (#456) - sql: Add support for
connection_nameingoogle_sql_database_instance(#387) - storage: Add support for versioning in
google_storage_bucket(#381)
BUG FIXES:
- compute/sql: Fix a few instances where we read the project from the provider config and not using the helper function (#469)
- compute: Fix bug with CSEK where the key stored in state might be associated with the wrong disk (#327)
- compute: Fix bug where 'session_affinity' would get reset on
google_compute_backend_serviceresource (#348) - sql: Fixed bug where ip_address elements were offset incorrectly (#352)
- sql: Fixed bug where default user on replica would cause an incorrect delete api call (#347)
- project: Fixed bug where deleting a project outside Terraform would cause
google_projectto fail. (#466) - pubsub: Fixed bug where
google_pubsub_subscriptiondid not read its state from the API. (#456)
BACKWARDS INCOMPATIBILITIES / NOTES:
- bigtable:
num_nodesingoogle_bigtable_instanceno longer defaults to3; if you used that default, it will need to be explicitly set. (#313) - compute:
automatic_restartandon_host_maintenancehave been removed fromgoogle_compute_instance_template. Usescheduling.automatic_restartorscheduling.on_host_maintenanceinstead. (#224)
FEATURES:
- New Data Source:
google_compute_instance_group(#267) - New Data Source:
google_dns_managed_zone(#268) - New Resource:
google_compute_project_metadata_item- allows management of single key/value pairs within the project metadata map (#176) - New Resource:
google_project_iam_binding- allows fine-grained control of a project's IAM policy, controlling only a single binding. (#171) - New Resource:
google_project_iam_member- allows fine-grained control of a project's IAM policy, controlling only a single member in a binding. (#171) - New Resource:
google_compute_network_peering(#259) - New Resource:
google_runtimeconfig_config- allows creating, updating and deleting Google RuntimeConfig resources (#315) - New Resource:
google_runtimeconfig_variable- allows creating, updating, and deleting Google RuntimeConfig variables (#315) - New Resource:
google_sourcerepo_repository- allows creating and deleting Google Source Repositories (#256) - New Resource:
google_spanner_instance- allows creating, updating and deleting Google Spanner Instance (#270) - New Resource:
google_spanner_database- allows creating, updating and deleting Google Spanner Database (#271)
IMPROVEMENTS:
- bigtable: Add support for
instance_typetogoogle_bigtable_instance. (#313) - compute: Add import support for
google_compute_subnetwork(#227) - compute: Add import support for
google_container_node_pool(#284) - compute: Change google_container_node_pool ID format to zone/cluster/name to remove artificial restriction on node pool name across clusters (#304)
- compute: Add support for
auto_healing_policiestogoogle_compute_instance_group_manager(#249) - compute: Add support for
ip_versiontogoogle_compute_global_forwarding_rule(#265) - compute: Add support for
ip_versiontogoogle_compute_global_address(#250) - compute: Add support for
subnetworkas a self_link togoogle_compute_instance. (#290) - compute: Add support for
secondary_ip_rangetogoogle_compute_subnetwork. (#310) - compute: Add support for multiple
network_interface's togoogle_compute_instance. (#289) - compute: Add support for
deniedtogoogle_compute_firewall(#282) - compute: Add support for egress traffic using
directiontogoogle_compute_firewall(#306) - compute: When disks are created from snapshots, both snapshot names and URLs may be used (#238)
- container: Add support for node pool autoscaling (#157)
- container: Add NodeConfig support on
google_container_node_pool(#184) - container: Add support for legacyAbac to
google_container_cluster(#261) - container: Allow configuring node_config of node_pools specified in
google_container_cluster(#299) - sql: Persist state from the API for
google_sql_database_instanceregardless of what attributes the user has set (#208) - storage: Buckets now can have lifecycle properties (#6)
BUG FIXES:
- bigquery: Fix type panic on expiration_time (#209)
- compute: Marked 'private_key' as sensitive (#220)
- compute: Fix disk type "Malformed URL" error on
google_compute_instanceboot disks (#275) - compute: Refresh
google_compute_autoscalerusing thezoneset in state instead of scanning for the first one with a matching name in the provider region. (#193) - compute:
google_compute_instancereadsschedulingfields from GCP (#237) - compute: Fix bug where
scheduling.automatic_restartset to false ongoogle_compute_instance_templatewould force recreate (#224) - container: Fix error if
google_container_node_pooldeleted out of band (#293) - container: Fail when both name and name_prefix are set for node_pool in
google_container_cluster(#296) - container: Allow upgrading GKE versions and provide better error message handling (#291)
BACKWARDS INCOMPATIBILITIES / NOTES:
google_sql_database_instance: a limited number of fields will be read during import because of (#114)google_sql_database_instance:name,region,database_version, andmaster_instance_namefields are now updated during a refresh and may display diffs
FEATURES:
IMPROVEMENTS:
- compute: Add
boot_diskproperty togoogle_compute_instance(#122) - compute: Add
scratch_diskproperty togoogle_compute_instanceand deprecatedisk(#123) - compute: Add
labelsproperty togoogle_compute_instance(#150) - compute: Add import support for
google_compute_image(#194) - compute: Add import support for
google_compute_https_health_check(#213) - compute: Add import support for
google_compute_instance_group(#201) - container: Add timeout support (#13203)
- container: Allow adding/removing zones to/from GKE clusters without recreating them (#152)
- project: Allow unlinking of billing account (#138)
- sql: Add support for importing
google_sql_database(#12) - sql: Add support for importing
google_sql_database_instance(#11) - sql: Add
charsetandcollationproperties togoogle_sql_database(#183)
BUG FIXES:
- compute:
compute_firewallwill no longer display a perpetual diff ifsource_rangesisn't set (#147) - compute: Fix read method + test/document import for
google_compute_health_check(#155) - compute: Read named ports changes properly in
google_compute_instance_group(#188) - compute:
google_compute_imagedescriptionproperty can now be set (#199) - compute:
google_compute_target_https_proxywill no longer display a diff if ssl certificates are referenced using only the path (#210)
BUG FIXES:
- compute: Restrict the number of health_checks in Backend Service resources to 1. (#145)
BACKWARDS INCOMPATIBILITIES / NOTES:
compute_disk.image: shorthand for disk images is no longer supported, and will display a diff if used (#1)
IMPROVEMENTS:
- compute: Add support for importing
compute_backend_service(#40) - compute: Wait for disk resizes to complete (#1)
- compute: Support
connection_draining_timeout_secingoogle_compute_region_backend_service(#101) - compute: Made
path_ruleoptional ingoogle_compute_url_map'spath_matcherblock (#118) - container: Add support for labels and tags on GKE node_config (#7)
- sql: Add an additional delay when checking for sql operations (#15170)
BUG FIXES: