Skip to content

Commit 3b60f16

Browse files
Add disable_http2 to google_network_services_edge_cache_service resource (#5780) (#4119)
Signed-off-by: Modular Magician <[email protected]>
1 parent fef89a8 commit 3b60f16

File tree

4 files changed

+47
-0
lines changed

4 files changed

+47
-0
lines changed

.changelog/5780.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
networkservices: added `disable_http2` property to `google_network_services_edge_cache_service` resource
3+
```

google-beta/resource_network_services_edge_cache_service.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,15 @@ The supported values are:
742742
Optional: true,
743743
Description: `A human-readable description of the resource.`,
744744
},
745+
"disable_http2": {
746+
Type: schema.TypeBool,
747+
Optional: true,
748+
Description: `Disables HTTP/2.
749+
750+
HTTP/2 (h2) is enabled by default and recommended for performance. HTTP/2 improves connection re-use and reduces connection setup overhead by sending multiple streams over the same connection.
751+
752+
Some legacy HTTP clients may have issues with HTTP/2 connections due to broken HTTP/2 implementations. Setting this to true will prevent HTTP/2 from being advertised and negotiated.`,
753+
},
745754
"disable_quic": {
746755
Type: schema.TypeBool,
747756
Computed: true,
@@ -862,6 +871,12 @@ func resourceNetworkServicesEdgeCacheServiceCreate(d *schema.ResourceData, meta
862871
} else if v, ok := d.GetOkExists("disable_quic"); !isEmptyValue(reflect.ValueOf(disableQuicProp)) && (ok || !reflect.DeepEqual(v, disableQuicProp)) {
863872
obj["disableQuic"] = disableQuicProp
864873
}
874+
disableHttp2Prop, err := expandNetworkServicesEdgeCacheServiceDisableHttp2(d.Get("disable_http2"), d, config)
875+
if err != nil {
876+
return err
877+
} else if v, ok := d.GetOkExists("disable_http2"); !isEmptyValue(reflect.ValueOf(disableHttp2Prop)) && (ok || !reflect.DeepEqual(v, disableHttp2Prop)) {
878+
obj["disableHttp2"] = disableHttp2Prop
879+
}
865880
requireTlsProp, err := expandNetworkServicesEdgeCacheServiceRequireTls(d.Get("require_tls"), d, config)
866881
if err != nil {
867882
return err
@@ -988,6 +1003,9 @@ func resourceNetworkServicesEdgeCacheServiceRead(d *schema.ResourceData, meta in
9881003
if err := d.Set("disable_quic", flattenNetworkServicesEdgeCacheServiceDisableQuic(res["disableQuic"], d, config)); err != nil {
9891004
return fmt.Errorf("Error reading EdgeCacheService: %s", err)
9901005
}
1006+
if err := d.Set("disable_http2", flattenNetworkServicesEdgeCacheServiceDisableHttp2(res["disableHttp2"], d, config)); err != nil {
1007+
return fmt.Errorf("Error reading EdgeCacheService: %s", err)
1008+
}
9911009
if err := d.Set("require_tls", flattenNetworkServicesEdgeCacheServiceRequireTls(res["requireTls"], d, config)); err != nil {
9921010
return fmt.Errorf("Error reading EdgeCacheService: %s", err)
9931011
}
@@ -1050,6 +1068,12 @@ func resourceNetworkServicesEdgeCacheServiceUpdate(d *schema.ResourceData, meta
10501068
} else if v, ok := d.GetOkExists("disable_quic"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, disableQuicProp)) {
10511069
obj["disableQuic"] = disableQuicProp
10521070
}
1071+
disableHttp2Prop, err := expandNetworkServicesEdgeCacheServiceDisableHttp2(d.Get("disable_http2"), d, config)
1072+
if err != nil {
1073+
return err
1074+
} else if v, ok := d.GetOkExists("disable_http2"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, disableHttp2Prop)) {
1075+
obj["disableHttp2"] = disableHttp2Prop
1076+
}
10531077
requireTlsProp, err := expandNetworkServicesEdgeCacheServiceRequireTls(d.Get("require_tls"), d, config)
10541078
if err != nil {
10551079
return err
@@ -1107,6 +1131,10 @@ func resourceNetworkServicesEdgeCacheServiceUpdate(d *schema.ResourceData, meta
11071131
updateMask = append(updateMask, "disableQuic")
11081132
}
11091133

1134+
if d.HasChange("disable_http2") {
1135+
updateMask = append(updateMask, "disableHttp2")
1136+
}
1137+
11101138
if d.HasChange("require_tls") {
11111139
updateMask = append(updateMask, "requireTls")
11121140
}
@@ -1238,6 +1266,10 @@ func flattenNetworkServicesEdgeCacheServiceDisableQuic(v interface{}, d *schema.
12381266
return v
12391267
}
12401268

1269+
func flattenNetworkServicesEdgeCacheServiceDisableHttp2(v interface{}, d *schema.ResourceData, config *Config) interface{} {
1270+
return v
1271+
}
1272+
12411273
func flattenNetworkServicesEdgeCacheServiceRequireTls(v interface{}, d *schema.ResourceData, config *Config) interface{} {
12421274
return v
12431275
}
@@ -1914,6 +1946,10 @@ func expandNetworkServicesEdgeCacheServiceDisableQuic(v interface{}, d Terraform
19141946
return v, nil
19151947
}
19161948

1949+
func expandNetworkServicesEdgeCacheServiceDisableHttp2(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
1950+
return v, nil
1951+
}
1952+
19171953
func expandNetworkServicesEdgeCacheServiceRequireTls(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
19181954
return v, nil
19191955
}

google-beta/resource_network_services_edge_cache_service_generated_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ resource "google_network_services_edge_cache_service" "instance" {
160160
name = "tf-test-my-service%{random_suffix}"
161161
description = "some description"
162162
disable_quic = true
163+
disable_http2 = true
163164
labels = {
164165
a = "b"
165166
}

website/docs/r/network_services_edge_cache_service.html.markdown

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ resource "google_network_services_edge_cache_service" "instance" {
127127
name = "my-service"
128128
description = "some description"
129129
disable_quic = true
130+
disable_http2 = true
130131
labels = {
131132
a = "b"
132133
}
@@ -777,6 +778,12 @@ The following arguments are supported:
777778
(Optional)
778779
HTTP/3 (IETF QUIC) and Google QUIC are enabled by default.
779780

781+
* `disable_http2` -
782+
(Optional)
783+
Disables HTTP/2.
784+
HTTP/2 (h2) is enabled by default and recommended for performance. HTTP/2 improves connection re-use and reduces connection setup overhead by sending multiple streams over the same connection.
785+
Some legacy HTTP clients may have issues with HTTP/2 connections due to broken HTTP/2 implementations. Setting this to true will prevent HTTP/2 from being advertised and negotiated.
786+
780787
* `require_tls` -
781788
(Optional)
782789
Require TLS (HTTPS) for all clients connecting to this service.

0 commit comments

Comments
 (0)