Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -536,15 +536,13 @@ func ResourceComputeSecurityPolicy() *schema.Resource {
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},
},
{{- if ne $.TargetVersionName "ga" }}
"request_body_inspection_size": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{"8KB", "16KB", "32KB", "48KB", "64KB"}, false),
Description: `The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.`,
},
{{- end }}
},
},
},
Expand Down Expand Up @@ -985,11 +983,7 @@ func resourceComputeSecurityPolicyUpdate(d *schema.ResourceData, meta interface{

if d.HasChange("advanced_options_config") {
securityPolicy.AdvancedOptionsConfig = expandSecurityPolicyAdvancedOptionsConfig(d.Get("advanced_options_config").([]interface{}))
{{ if eq $.TargetVersionName `ga` }}
securityPolicy.ForceSendFields = append(securityPolicy.ForceSendFields, "AdvancedOptionsConfig", "advancedOptionsConfig.jsonParsing", "advancedOptionsConfig.jsonCustomConfig", "advancedOptionsConfig.logLevel")
{{- else }}
securityPolicy.ForceSendFields = append(securityPolicy.ForceSendFields, "AdvancedOptionsConfig", "advancedOptionsConfig.jsonParsing", "advancedOptionsConfig.jsonCustomConfig", "advancedOptionsConfig.logLevel", "advancedOptionsConfig.requestBodyInspectionSize")
{{- end }}
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.
Expand Down Expand Up @@ -1481,9 +1475,7 @@ func expandSecurityPolicyAdvancedOptionsConfig(configured []interface{}) *comput
JsonCustomConfig: expandSecurityPolicyAdvancedOptionsConfigJsonCustomConfig(data["json_custom_config"].([]interface{})),
LogLevel: data["log_level"].(string),
UserIpRequestHeaders: tpgresource.ConvertStringArr(data["user_ip_request_headers"].(*schema.Set).List()),
{{- if ne $.TargetVersionName "ga" }}
RequestBodyInspectionSize: data["request_body_inspection_size"].(string),
{{- end }}
}
}

Expand All @@ -1497,9 +1489,7 @@ func flattenSecurityPolicyAdvancedOptionsConfig(conf *compute.SecurityPolicyAdva
"json_custom_config": flattenSecurityPolicyAdvancedOptionsConfigJsonCustomConfig(conf.JsonCustomConfig),
"log_level": conf.LogLevel,
"user_ip_request_headers": schema.NewSet(schema.HashString, tpgresource.ConvertStringArrToInterface(conf.UserIpRequestHeaders)),
{{- if ne $.TargetVersionName "ga" }}
"request_body_inspection_size": conf.RequestBodyInspectionSize,
{{- end }}
}

return []map[string]interface{}{data}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@ fields:
- api_field: 'advancedOptionsConfig.jsonCustomConfig.contentTypes'
- api_field: 'advancedOptionsConfig.jsonParsing'
- api_field: 'advancedOptionsConfig.logLevel'
{{- if ne $.TargetVersionName "ga" }}
- api_field: 'advancedOptionsConfig.requestBodyInspectionSize'
{{- end }}
- api_field: 'advancedOptionsConfig.userIpRequestHeaders'
- api_field: 'description'
- field: 'effective_labels'
Expand Down Expand Up @@ -137,4 +135,4 @@ fields:
- api_field: 'selfLink'
- field: 'terraform_labels'
provider_only: true
- api_field: 'type'
- api_field: 'type'
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,6 @@ func TestAccComputeSecurityPolicy_withAdvancedOptionsConfig(t *testing.T) {
ImportState: true,
ImportStateVerify: true,
},
{{- if ne $.TargetVersionName "ga" }}
// Add request_body_inspection_size value
{
Config: testAccComputeSecurityPolicy_withAdvancedOptionsConfig_update4(spName),
Expand All @@ -305,7 +304,6 @@ func TestAccComputeSecurityPolicy_withAdvancedOptionsConfig(t *testing.T) {
ImportState: true,
ImportStateVerify: true,
},
{{- end }}
{
Config: testAccComputeSecurityPolicy_basic(spName, "CLOUD_ARMOR"),
},
Expand Down Expand Up @@ -1517,13 +1515,10 @@ resource "google_compute_security_policy" "policy" {
`, spName)
}

{{- if ne $.TargetVersionName "ga" }}
func testAccComputeSecurityPolicy_withAdvancedOptionsConfig_update4(spName string) string {
return fmt.Sprintf(`
resource "google_compute_security_policy" "policy" {
name = "%s"
description = "updated description changing json_parsing to STANDARD_WITH_GRAPHQL"

advanced_options_config {
json_parsing = "STANDARD_WITH_GRAPHQL"
json_custom_config {
Expand All @@ -1539,7 +1534,6 @@ resource "google_compute_security_policy" "policy" {
}
`, spName)
}
{{- end }}

func testAccComputeSecurityPolicy_withoutAdaptiveProtection(spName string) string {
return fmt.Sprintf(`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ The following arguments are supported:

* `user_ip_request_headers` - (Optional) An optional list of case-insensitive request header names to use for resolving the callers client IP address.

* `request_body_inspection_size` - (Optional, [Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html)) The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
* `request_body_inspection_size` - (Optional) The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.

<a name="nested_json_custom_config"></a>The `json_custom_config` block supports:

Expand Down
Loading