Skip to content

Commit 77d553d

Browse files
Re-deprecate enable_flow_logs (#13485) (#3691)
[upstream:644ea10a2b33f2863a1edcdc2fb3986bf8ca0518] Signed-off-by: Modular Magician <[email protected]>
1 parent aee0fe6 commit 77d553d

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
github.com/hashicorp/hcl/v2 v2.23.0
1414
github.com/hashicorp/terraform-json v0.24.0
1515
github.com/hashicorp/terraform-plugin-sdk/v2 v2.36.0
16-
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20250328180641-d6d086785eb5
16+
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20250328191401-68208656f44b
1717
github.com/mitchellh/go-homedir v1.1.0 // indirect
1818
github.com/pkg/errors v0.9.1
1919
github.com/stretchr/testify v1.10.0

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,8 @@ github.com/hashicorp/terraform-plugin-sdk/v2 v2.36.0 h1:7/iejAPyCRBhqAg3jOx+4UcA
175175
github.com/hashicorp/terraform-plugin-sdk/v2 v2.36.0/go.mod h1:TiQwXAjFrgBf5tg5rvBRz8/ubPULpU0HjSaVi5UoJf8=
176176
github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c=
177177
github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0=
178-
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20250328180641-d6d086785eb5 h1:1Re/Ws7nE4tiCdTFqRiEy1lacMZjedGRjIFQzZO5SIU=
179-
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20250328180641-d6d086785eb5/go.mod h1:nebsSmxY8nt9YCIJwjQdfUkFeITR5rGyTAQMfpexkiQ=
178+
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20250328191401-68208656f44b h1:agUzK60UKVtbAulm4i74nDGzNWnYVyrlS/qwI9s3NuU=
179+
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20250328191401-68208656f44b/go.mod h1:nebsSmxY8nt9YCIJwjQdfUkFeITR5rGyTAQMfpexkiQ=
180180
github.com/hashicorp/terraform-registry-address v0.2.4 h1:JXu/zHB2Ymg/TGVCRu10XqNa4Sh2bWcqCNyKWjnCPJA=
181181
github.com/hashicorp/terraform-registry-address v0.2.4/go.mod h1:tUNYTVyCtU4OIGXXMDp7WNcJ+0W1B4nmstVDgHMjfAU=
182182
github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ=

tfplan2cai/converters/google/resources/services/compute/compute_subnetwork.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,13 @@ func sendSecondaryIpRangeIfEmptyDiff(_ context.Context, diff *schema.ResourceDif
8282
return nil
8383
}
8484

85-
// DiffSuppressFunc for fields inside `log_config`.
85+
// DiffSuppressFunc for `log_config`.
8686
func subnetworkLogConfigDiffSuppress(k, old, new string, d *schema.ResourceData) bool {
87-
// If the enable_flow_logs is not enabled, we don't need to check for differences.
88-
if enable_flow_logs := d.Get("enable_flow_logs"); !enable_flow_logs.(bool) {
89-
return true
87+
// If enable_flow_logs is enabled and log_config is not set, ignore the diff
88+
if enable_flow_logs := d.Get("enable_flow_logs"); enable_flow_logs.(bool) {
89+
logConfig := d.GetRawConfig().GetAttr("log_config")
90+
logConfigIsEmpty := logConfig.IsNull() || logConfig.LengthInt() == 0
91+
return logConfigIsEmpty
9092
}
9193

9294
return false
@@ -229,7 +231,7 @@ func GetComputeSubnetworkApiObject(d tpgresource.TerraformResourceData, config *
229231
enableFlowLogsProp, err := expandComputeSubnetworkEnableFlowLogs(d.Get("enable_flow_logs"), d, config)
230232
if err != nil {
231233
return nil, err
232-
} else if v, ok := d.GetOkExists("enable_flow_logs"); ok || !reflect.DeepEqual(v, enableFlowLogsProp) {
234+
} else if v, ok := d.GetOkExists("enable_flow_logs"); !tpgresource.IsEmptyValue(reflect.ValueOf(enableFlowLogsProp)) && (ok || !reflect.DeepEqual(v, enableFlowLogsProp)) {
233235
obj["enableFlowLogs"] = enableFlowLogsProp
234236
}
235237

@@ -343,9 +345,8 @@ func expandComputeSubnetworkLogConfig(v interface{}, d tpgresource.TerraformReso
343345
return nil, nil
344346
}
345347

346-
// set enable field basing on the enable_flow_logs field. It's needed for case when enable_flow_logs
347-
// is set to true to avoid conflict with the API. In that case API will return default values for log_config
348-
transformed["enable"] = d.Get("enable_flow_logs")
348+
// send enable = false to ensure logging is disabled if there is no config
349+
transformed["enable"] = false
349350
return transformed, nil
350351
}
351352

tfplan2cai/testdata/templates/example_compute_subnetwork.json

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
2727
"data": {
2828
"ipCidrRange": "10.0.0.0/24",
29-
"enableFlowLogs": true,
3029
"logConfig": {
3130
"aggregationInterval": "INTERVAL_10_MIN",
3231
"enable": true,

tfplan2cai/testdata/templates/example_compute_subnetwork.tf

-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ resource "google_compute_subnetwork" "my-test-subnetwork" {
3838
region = "us-central1"
3939
network = google_compute_network.default.id
4040

41-
enable_flow_logs = true
4241
log_config {
4342
aggregation_interval = "INTERVAL_10_MIN"
4443
flow_sampling = 0.5

0 commit comments

Comments
 (0)