Skip to content

Commit 3d36ec3

Browse files
Add remaining default_route_action subfields to google_compute_region_url_map resource (#6676) (#13063)
* Add `defaultRouteAction.urlRewrite` to `google_compute_region_url_map` resource * Add `defaultRouteAction.corsPolicy` to `google_compute_region_url_map` resource * Add `cors_policy` to acceptance test * Add `defaultRouteAction.faultInjectionPolicy` to `google_compute_region_url_map` resource, update generated test * Fix bug where `defaultRouteAction.timeout` was incorrectly nested * Fix misspelled field in acceptance test * Add `at_least_one_of` logic present in the global version of UrlMap resource * Update `defaultRouteAction` test to include `timeout` field * Update `defaultRouteAction` test to include `url_rewrite` field * Update `defaultRouteAction` test to include `cors_policy` field (excluding regex subfield) * Add missing `at_least_one_of` entries inside the `defaultRouteAction` property * Update values used for `url_rewrite` in Url Map tests and examples * Update values of `host_rewrite` and `path_prefix_rewrite` in acc tests Signed-off-by: Modular Magician <[email protected]> Signed-off-by: Modular Magician <[email protected]>
1 parent daa14bf commit 3d36ec3

8 files changed

+1149
-84
lines changed

.changelog/6676.txt

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
```release-note:enhancement
2+
compute: added `default_route_action.url_rewrite` field to `google_compute_region_url_map` resource
3+
```
4+
```release-note:enhancement
5+
compute: added `default_route_action.cors_policy` field to `google_compute_region_url_map` resource
6+
```
7+
```release-note:enhancement
8+
compute: added `default_route_action.fault_injection_policy` field to `google_compute_region_url_map` resource
9+
```
10+
```release-note:enhancement
11+
compute: added `default_route_action.timeout` field to `google_compute_region_url_map` resource
12+
```

google/resource_compute_region_url_map.go

+838-48
Large diffs are not rendered by default.

google/resource_compute_region_url_map_generated_test.go

+44-4
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,46 @@ resource "google_compute_region_url_map" "regionurlmap" {
215215
response_headers_to_remove = ["buzz"]
216216
}
217217
}
218+
url_rewrite {
219+
host_rewrite = "dev.example.com"
220+
path_prefix_rewrite = "/v1/api/"
221+
}
222+
223+
cors_policy {
224+
disabled = false
225+
allow_credentials = true
226+
allow_headers = [
227+
"foobar"
228+
]
229+
allow_methods = [
230+
"GET",
231+
"POST",
232+
]
233+
allow_origins = [
234+
"example.com"
235+
]
236+
expose_headers = [
237+
"foobar"
238+
]
239+
max_age = 60
240+
}
241+
fault_injection_policy {
242+
delay {
243+
fixed_delay {
244+
seconds = 0
245+
nanos = 500
246+
}
247+
percentage = 0.5
248+
}
249+
abort {
250+
http_status = 500
251+
percentage = 0.5
252+
}
253+
}
254+
timeout {
255+
seconds = 0
256+
nanos = 500
257+
}
218258
}
219259
220260
host_rule {
@@ -361,8 +401,8 @@ resource "google_compute_region_url_map" "regionurlmap" {
361401
nanos = 750000000
362402
}
363403
url_rewrite {
364-
host_rewrite = "A replacement header"
365-
path_prefix_rewrite = "A replacement path"
404+
host_rewrite = "dev.example.com"
405+
path_prefix_rewrite = "/v1/api/"
366406
}
367407
weighted_backend_services {
368408
backend_service = google_compute_region_backend_service.home.id
@@ -467,8 +507,8 @@ resource "google_compute_region_url_map" "regionurlmap" {
467507
nanos = 750000000
468508
}
469509
url_rewrite {
470-
host_rewrite = "A replacement header"
471-
path_prefix_rewrite = "A replacement path"
510+
host_rewrite = "dev.example.com"
511+
path_prefix_rewrite = "/v1/api/"
472512
}
473513
weighted_backend_services {
474514
backend_service = google_compute_region_backend_service.home.id

google/resource_compute_region_url_map_test.go

+47-4
Original file line numberDiff line numberDiff line change
@@ -551,8 +551,8 @@ resource "google_compute_region_url_map" "foobar" {
551551
nanos = 750000000
552552
}
553553
url_rewrite {
554-
host_rewrite = "A replacement header"
555-
path_prefix_rewrite = "A replacement path"
554+
host_rewrite = "dev.example.com"
555+
path_prefix_rewrite = "/v1/api/"
556556
}
557557
weighted_backend_services {
558558
backend_service = google_compute_region_backend_service.home.self_link
@@ -657,8 +657,8 @@ resource "google_compute_region_url_map" "foobar" {
657657
nanos = 760000000
658658
}
659659
url_rewrite {
660-
host_rewrite = "A replacement header again"
661-
path_prefix_rewrite = "A replacement path again"
660+
host_rewrite = "stage.example.com" # updated
661+
path_prefix_rewrite = "/v2/api/" # updated
662662
}
663663
weighted_backend_services {
664664
backend_service = google_compute_region_backend_service.home.self_link
@@ -949,10 +949,30 @@ resource "google_compute_region_url_map" "foobar" {
949949
}
950950
}
951951
952+
timeout {
953+
seconds = 3
954+
nanos = 0
955+
}
956+
957+
url_rewrite {
958+
host_rewrite = "dev.example.com"
959+
path_prefix_rewrite = "/v1/api/"
960+
}
961+
952962
request_mirror_policy {
953963
backend_service = google_compute_region_backend_service.login.id
954964
}
955965
966+
cors_policy {
967+
allow_origins = [ "https://www.example.com" ]
968+
allow_methods = [ "GET" ]
969+
allow_headers = [ "Content-Type" ]
970+
expose_headers = [ "Authorization" ]
971+
max_age = 600
972+
allow_credentials = true
973+
disabled = false
974+
}
975+
956976
weighted_backend_services {
957977
backend_service = google_compute_region_backend_service.login.id
958978
weight = 200
@@ -1063,11 +1083,34 @@ resource "google_compute_region_url_map" "foobar" {
10631083
}
10641084
}
10651085
1086+
# update to be <1 second
1087+
timeout {
1088+
seconds = 0
1089+
nanos = 10000000 # 0.01 seconds
1090+
}
1091+
1092+
# update both values
1093+
url_rewrite {
1094+
host_rewrite = "stage.example.com"
1095+
path_prefix_rewrite = "/v2/api/"
1096+
}
1097+
10661098
# update backend_service field from 'login' to 'home'
10671099
request_mirror_policy {
10681100
backend_service = google_compute_region_backend_service.home.id
10691101
}
10701102
1103+
# update policy and disable it
1104+
cors_policy {
1105+
allow_origins = [ "https://xylophone.example.com", "https://www.example.com" ]
1106+
allow_methods = [ "PUT", "GET" ]
1107+
allow_headers = [ "Content-Type" ]
1108+
expose_headers = [ "Authorization" ]
1109+
max_age = 600
1110+
allow_credentials = true
1111+
disabled = true
1112+
}
1113+
10711114
# Change various fields - marked with comments
10721115
weighted_backend_services {
10731116
backend_service = google_compute_region_backend_service.login.id

google/resource_compute_url_map_generated_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,8 @@ resource "google_compute_url_map" "urlmap" {
406406
nanos = 750000000
407407
}
408408
url_rewrite {
409-
host_rewrite = "A replacement header"
410-
path_prefix_rewrite = "A replacement path"
409+
host_rewrite = "dev.example.com"
410+
path_prefix_rewrite = "/v1/api/"
411411
}
412412
weighted_backend_services {
413413
backend_service = google_compute_backend_service.home.id

google/resource_compute_url_map_test.go

+20-20
Original file line numberDiff line numberDiff line change
@@ -606,8 +606,8 @@ resource "google_compute_url_map" "foobar" {
606606
607607
default_route_action {
608608
url_rewrite {
609-
host_rewrite = "my-new-host"
610-
path_prefix_rewrite = "my-new-path"
609+
host_rewrite = "dev.example.com"
610+
path_prefix_rewrite = "/v1/api/"
611611
}
612612
}
613613
}
@@ -654,8 +654,8 @@ resource "google_compute_url_map" "foobar" {
654654
655655
default_route_action {
656656
url_rewrite {
657-
host_rewrite = "a-different-host"
658-
path_prefix_rewrite = "a-different-path"
657+
host_rewrite = "stage.example.com" # updated
658+
path_prefix_rewrite = "/v2/api/" # updated
659659
}
660660
}
661661
}
@@ -683,8 +683,8 @@ resource "google_compute_url_map" "foobar" {
683683
684684
default_route_action {
685685
url_rewrite {
686-
host_rewrite = "my-new-host"
687-
path_prefix_rewrite = "my-new-path"
686+
host_rewrite = "dev.example.com"
687+
path_prefix_rewrite = "/v1/api/"
688688
}
689689
}
690690
}
@@ -711,8 +711,8 @@ resource "google_compute_url_map" "foobar" {
711711
712712
default_route_action {
713713
url_rewrite {
714-
host_rewrite = "a-different-host"
715-
path_prefix_rewrite = "a-different-path"
714+
host_rewrite = "stage.example.com" # updated
715+
path_prefix_rewrite = "/v2/api/" # updated
716716
}
717717
}
718718
}
@@ -1054,8 +1054,8 @@ resource "google_compute_url_map" "foobar" {
10541054
nanos = 750000000
10551055
}
10561056
url_rewrite {
1057-
host_rewrite = "A replacement header"
1058-
path_prefix_rewrite = "A replacement path"
1057+
host_rewrite = "dev.example.com"
1058+
path_prefix_rewrite = "/v1/api/"
10591059
}
10601060
weighted_backend_services {
10611061
backend_service = "${google_compute_backend_service.home.self_link}"
@@ -1173,8 +1173,8 @@ resource "google_compute_url_map" "foobar" {
11731173
nanos = 760000000
11741174
}
11751175
url_rewrite {
1176-
host_rewrite = "A replacement header updated"
1177-
path_prefix_rewrite = "A replacement path updated"
1176+
host_rewrite = "stage.example.com" # updated
1177+
path_prefix_rewrite = "/v2/api/" # updated
11781178
}
11791179
weighted_backend_services {
11801180
backend_service = "${google_compute_backend_service.home.self_link}"
@@ -1288,8 +1288,8 @@ resource "google_compute_url_map" "foobar" {
12881288
nanos = 750000000
12891289
}
12901290
url_rewrite {
1291-
host_rewrite = "A replacement header"
1292-
path_prefix_rewrite = "A replacement path"
1291+
host_rewrite = "dev.example.com"
1292+
path_prefix_rewrite = "/v1/api/"
12931293
}
12941294
weighted_backend_services {
12951295
backend_service = google_compute_backend_service.home.self_link
@@ -1403,8 +1403,8 @@ resource "google_compute_url_map" "foobar" {
14031403
nanos = 760000000
14041404
}
14051405
url_rewrite {
1406-
host_rewrite = "A replacement header updated"
1407-
path_prefix_rewrite = "A replacement path updated"
1406+
host_rewrite = "stage.example.com" # updated
1407+
path_prefix_rewrite = "/v2/api/" # updated
14081408
}
14091409
weighted_backend_services {
14101410
backend_service = google_compute_backend_service.home.self_link
@@ -1508,8 +1508,8 @@ resource "google_compute_url_map" "foobar" {
15081508
nanos = 750000000
15091509
}
15101510
url_rewrite {
1511-
host_rewrite = "A replacement header"
1512-
path_prefix_rewrite = "A replacement path"
1511+
host_rewrite = "dev.example.com"
1512+
path_prefix_rewrite = "/v1/api/"
15131513
}
15141514
weighted_backend_services {
15151515
backend_service = google_compute_backend_service.home.self_link
@@ -1613,8 +1613,8 @@ resource "google_compute_url_map" "foobar" {
16131613
nanos = 760000000
16141614
}
16151615
url_rewrite {
1616-
host_rewrite = "A replacement header updated"
1617-
path_prefix_rewrite = "A replacement path updated"
1616+
host_rewrite = "stage.example.com" # updated
1617+
path_prefix_rewrite = "/v2/api/" # updated
16181618
}
16191619
weighted_backend_services {
16201620
backend_service = google_compute_backend_service.home2.self_link

0 commit comments

Comments
 (0)