From 379d462fa7096c0f4789fc9e75463320603b14e2 Mon Sep 17 00:00:00 2001 From: Sarah French <15078782+SarahFrench@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:19:50 +0000 Subject: [PATCH] Promote `user_ip_request_headers` field on `google_compute_security_policy` resource to GA (#9872) --- .../resource_compute_security_policy.go.erb | 16 ---------------- .../resource_compute_security_policy_test.go.erb | 7 ------- .../docs/r/compute_security_policy.html.markdown | 2 +- 3 files changed, 1 insertion(+), 24 deletions(-) diff --git a/mmv1/third_party/terraform/services/compute/resource_compute_security_policy.go.erb b/mmv1/third_party/terraform/services/compute/resource_compute_security_policy.go.erb index 59db357b97a6..2222dd74ab0d 100644 --- a/mmv1/third_party/terraform/services/compute/resource_compute_security_policy.go.erb +++ b/mmv1/third_party/terraform/services/compute/resource_compute_security_policy.go.erb @@ -5,9 +5,7 @@ import ( "context" "fmt" "log" -<% unless version == 'ga' -%> "strings" -<% end -%> "time" @@ -466,14 +464,12 @@ func ResourceComputeSecurityPolicy() *schema.Resource { ValidateFunc: validation.StringInSlice([]string{"NORMAL", "VERBOSE"}, false), Description: `Logging level. Supported values include: "NORMAL", "VERBOSE".`, }, - <% unless version == 'ga' -%> "user_ip_request_headers": { Type: schema.TypeSet, Optional: true, Description: `An optional list of case-insensitive request header names to use for resolving the callers client IP address.`, Elem: &schema.Schema{Type: schema.TypeString}, }, - <% end -%> }, }, }, @@ -742,9 +738,7 @@ func resourceComputeSecurityPolicyUpdate(d *schema.ResourceData, meta interface{ Fingerprint: d.Get("fingerprint").(string), } - <% unless version == 'ga' -%> updateMask := []string{} - <% end -%> if d.HasChange("type") { securityPolicy.Type = d.Get("type").(string) @@ -759,13 +753,11 @@ func resourceComputeSecurityPolicyUpdate(d *schema.ResourceData, meta interface{ if d.HasChange("advanced_options_config") { securityPolicy.AdvancedOptionsConfig = expandSecurityPolicyAdvancedOptionsConfig(d.Get("advanced_options_config").([]interface{})) securityPolicy.ForceSendFields = append(securityPolicy.ForceSendFields, "AdvancedOptionsConfig", "advancedOptionsConfig.jsonParsing", "advancedOptionsConfig.jsonCustomConfig", "advancedOptionsConfig.logLevel") - <% unless version == 'ga' -%> securityPolicy.ForceSendFields = append(securityPolicy.ForceSendFields, "advanceOptionConfig.userIpRequestHeaders") if len(securityPolicy.AdvancedOptionsConfig.UserIpRequestHeaders) == 0 { // to clean this list we must send the updateMask of this field on the request. updateMask = append(updateMask, "advanced_options_config.user_ip_request_headers") } - <% end -%> } if d.HasChange("adaptive_protection_config") { @@ -784,11 +776,7 @@ func resourceComputeSecurityPolicyUpdate(d *schema.ResourceData, meta interface{ if len(securityPolicy.ForceSendFields) > 0 { client := config.NewComputeClient(userAgent) - <% if version == 'ga' -%> - op, err := client.SecurityPolicies.Patch(project, sp, securityPolicy).Do() - <% else -%> op, err := client.SecurityPolicies.Patch(project, sp, securityPolicy).UpdateMask(strings.Join(updateMask, ",")).Do() - <% end -%> if err != nil { return errwrap.Wrapf(fmt.Sprintf("Error updating SecurityPolicy %q: {{err}}", sp), err) @@ -1230,9 +1218,7 @@ func expandSecurityPolicyAdvancedOptionsConfig(configured []interface{}) *comput JsonParsing: data["json_parsing"].(string), JsonCustomConfig: expandSecurityPolicyAdvancedOptionsConfigJsonCustomConfig(data["json_custom_config"].([]interface{})), LogLevel: data["log_level"].(string), - <% unless version == 'ga' -%> UserIpRequestHeaders: tpgresource.ConvertStringArr(data["user_ip_request_headers"].(*schema.Set).List()), - <% end %> } } @@ -1245,9 +1231,7 @@ func flattenSecurityPolicyAdvancedOptionsConfig(conf *compute.SecurityPolicyAdva "json_parsing": conf.JsonParsing, "json_custom_config": flattenSecurityPolicyAdvancedOptionsConfigJsonCustomConfig(conf.JsonCustomConfig), "log_level": conf.LogLevel, - <% unless version == 'ga' -%> "user_ip_request_headers": schema.NewSet(schema.HashString, tpgresource.ConvertStringArrToInterface(conf.UserIpRequestHeaders)), - <% end -%> } return []map[string]interface{}{data} diff --git a/mmv1/third_party/terraform/services/compute/resource_compute_security_policy_test.go.erb b/mmv1/third_party/terraform/services/compute/resource_compute_security_policy_test.go.erb index b3dcaac75f47..310985e5536e 100644 --- a/mmv1/third_party/terraform/services/compute/resource_compute_security_policy_test.go.erb +++ b/mmv1/third_party/terraform/services/compute/resource_compute_security_policy_test.go.erb @@ -189,7 +189,6 @@ func TestAccComputeSecurityPolicy_withAdvancedOptionsConfig(t *testing.T) { ImportState: true, ImportStateVerify: true, }, - <% unless version == 'ga' -%> { Config: testAccComputeSecurityPolicy_withAdvancedOptionsConfig_update(spName), }, @@ -216,7 +215,6 @@ func TestAccComputeSecurityPolicy_withAdvancedOptionsConfig(t *testing.T) { ImportState: true, ImportStateVerify: true, }, - <% end -%> { Config: testAccComputeSecurityPolicy_basic(spName), }, @@ -1108,19 +1106,15 @@ resource "google_compute_security_policy" "policy" { ] } log_level = "VERBOSE" - <% unless version == 'ga' -%> user_ip_request_headers = [ "True-Client-IP", "x-custom-ip" ] - <% end -%> - } } `, spName) } -<% unless version == 'ga' -%> func testAccComputeSecurityPolicy_withAdvancedOptionsConfig_update(spName string) string { return fmt.Sprintf(` resource "google_compute_security_policy" "policy" { @@ -1189,7 +1183,6 @@ resource "google_compute_security_policy" "policy" { } `, spName) } -<% end -%> func testAccComputeSecurityPolicy_withAdaptiveProtection(spName string) string { return fmt.Sprintf(` diff --git a/mmv1/third_party/terraform/website/docs/r/compute_security_policy.html.markdown b/mmv1/third_party/terraform/website/docs/r/compute_security_policy.html.markdown index 98af03c92186..92d2b5ab5b4f 100644 --- a/mmv1/third_party/terraform/website/docs/r/compute_security_policy.html.markdown +++ b/mmv1/third_party/terraform/website/docs/r/compute_security_policy.html.markdown @@ -204,7 +204,7 @@ The following arguments are supported: * `NORMAL` - Normal log level. * `VERBOSE` - Verbose log level. -* `user_ip_request_headers` - (Optional, [Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html)) An optional list of case-insensitive request header names to use for resolving the callers client IP address. +* `user_ip_request_headers` - (Optional) An optional list of case-insensitive request header names to use for resolving the callers client IP address. The `json_custom_config` block supports: