Skip to content

Commit

Permalink
Add path_rules to RegionUrlMap (#2803)
Browse files Browse the repository at this point in the history
Merged PR #2803.
  • Loading branch information
Ty Larrabee authored and modular-magician committed Dec 9, 2019
1 parent 94079a3 commit 2952d0b
Show file tree
Hide file tree
Showing 13 changed files with 867 additions and 37 deletions.
2 changes: 1 addition & 1 deletion build/ansible
2 changes: 1 addition & 1 deletion build/inspec
2 changes: 1 addition & 1 deletion build/terraform
2 changes: 1 addition & 1 deletion build/terraform-beta
416 changes: 402 additions & 14 deletions products/compute/api.yaml

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions products/compute/terraform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1247,6 +1247,20 @@ overrides: !ruby/object:Overrides::ResourceOverrides
login_region_backend_service_name: "login"
home_region_backend_service_name: "home"
region_health_check_name: "health-check"
- !ruby/object:Provider::Terraform::Examples
name: "region_url_map_l7_ilb_path"
primary_resource_id: "regionurlmap"
vars:
region_url_map_name: "regionurlmap"
home_region_backend_service_name: "home"
region_health_check_name: "health-check"
- !ruby/object:Provider::Terraform::Examples
name: "region_url_map_l7_ilb_path_partial"
primary_resource_id: "regionurlmap"
vars:
region_url_map_name: "regionurlmap"
home_region_backend_service_name: "home"
region_health_check_name: "health-check"
properties:
region: !ruby/object:Overrides::Terraform::PropertyOverride
default_from_api: true
Expand Down
104 changes: 104 additions & 0 deletions templates/terraform/examples/region_url_map_l7_ilb_path.tf.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
resource "google_compute_region_url_map" "<%= ctx[:primary_resource_id] %>" {
provider = "google-beta"
name = "<%= ctx[:vars]['region_url_map_name'] %>"
description = "a description"
default_service = google_compute_region_backend_service.home.self_link

host_rule {
hosts = ["mysite.com"]
path_matcher = "allpaths"
}

path_matcher {
name = "allpaths"
default_service = google_compute_region_backend_service.home.self_link

path_rule {
paths = ["/home"]
route_action {
cors_policy {
allow_credentials = true
allow_headers = ["Allowed content"]
allow_methods = ["GET"]
allow_origins = ["Allowed origin"]
expose_headers = ["Exposed header"]
max_age = 30
disabled = false
}
fault_injection_policy {
abort {
http_status = 234
percentage = 5.6
}
delay {
fixed_delay {
seconds = 0
nanos = 50000
}
percentage = 7.8
}
}
request_mirror_policy {
backend_service = google_compute_region_backend_service.home.self_link
}
retry_policy {
num_retries = 4
per_try_timeout {
seconds = 30
}
retry_conditions = ["5xx", "deadline-exceeded"]
}
timeout {
seconds = 20
nanos = 750000000
}
url_rewrite {
host_rewrite = "A replacement header"
path_prefix_rewrite = "A replacement path"
}
weighted_backend_services {
backend_service = google_compute_region_backend_service.home.self_link
weight = 400
header_action {
request_headers_to_remove = ["RemoveMe"]
request_headers_to_add {
header_name = "AddMe"
header_value = "MyValue"
replace = true
}
response_headers_to_remove = ["RemoveMe"]
response_headers_to_add {
header_name = "AddMe"
header_value = "MyValue"
replace = false
}
}
}
}
}
}

test {
service = google_compute_region_backend_service.home.self_link
host = "hi.com"
path = "/home"
}
}

resource "google_compute_region_backend_service" "home" {
provider = "google-beta"
name = "<%= ctx[:vars]['home_region_backend_service_name'] %>"
protocol = "HTTP"
timeout_sec = 10

health_checks = [google_compute_region_health_check.default.self_link]
load_balancing_scheme = "INTERNAL_MANAGED"
}

resource "google_compute_region_health_check" "default" {
provider = "google-beta"
name = "<%= ctx[:vars]['region_health_check_name'] %>"
http_health_check {
port = 80
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
resource "google_compute_region_url_map" "<%= ctx[:primary_resource_id] %>" {
provider = "google-beta"
name = "<%= ctx[:vars]['region_url_map_name'] %>"
description = "a description"
default_service = google_compute_region_backend_service.home.self_link

host_rule {
hosts = ["mysite.com"]
path_matcher = "allpaths"
}

path_matcher {
name = "allpaths"
default_service = google_compute_region_backend_service.home.self_link

path_rule {
paths = ["/home"]
route_action {
retry_policy {
num_retries = 4
per_try_timeout {
seconds = 30
}
retry_conditions = ["5xx", "deadline-exceeded"]
}
timeout {
seconds = 20
nanos = 750000000
}
url_rewrite {
host_rewrite = "A replacement header"
path_prefix_rewrite = "A replacement path"
}
weighted_backend_services {
backend_service = google_compute_region_backend_service.home.self_link
weight = 400
header_action {
response_headers_to_add {
header_name = "AddMe"
header_value = "MyValue"
replace = false
}
}
}
}
}
}

test {
service = google_compute_region_backend_service.home.self_link
host = "hi.com"
path = "/home"
}
}

resource "google_compute_region_backend_service" "home" {
provider = "google-beta"
name = "<%= ctx[:vars]['home_region_backend_service_name'] %>"
protocol = "HTTP"
timeout_sec = 10

health_checks = [google_compute_region_health_check.default.self_link]
load_balancing_scheme = "INTERNAL_MANAGED"
}

resource "google_compute_region_health_check" "default" {
provider = "google-beta"
name = "<%= ctx[:vars]['region_health_check_name'] %>"
http_health_check {
port = 80
}
}

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
name = "<%= ctx[:vars]['url_map_name'] %>"
description = "a description"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

host_rule {
hosts = ["mysite.com"]
Expand All @@ -10,7 +10,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {

path_matcher {
name = "allpaths"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

path_rule {
paths = ["/home"]
Expand Down Expand Up @@ -39,7 +39,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
}
}
request_mirror_policy {
backend_service = "${google_compute_backend_service.home.self_link}"
backend_service = google_compute_backend_service.home.self_link
}
retry_policy {
num_retries = 4
Expand All @@ -57,7 +57,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
path_prefix_rewrite = "A replacement path"
}
weighted_backend_services {
backend_service = "${google_compute_backend_service.home.self_link}"
backend_service = google_compute_backend_service.home.self_link
weight = 400
header_action {
request_headers_to_remove = ["RemoveMe"]
Expand All @@ -79,7 +79,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
}

test {
service = "${google_compute_backend_service.home.self_link}"
service = google_compute_backend_service.home.self_link
host = "hi.com"
path = "/home"
}
Expand All @@ -91,7 +91,7 @@ resource "google_compute_backend_service" "home" {
protocol = "HTTP"
timeout_sec = 10

health_checks = ["${google_compute_health_check.default.self_link}"]
health_checks = [google_compute_health_check.default.self_link]
load_balancing_scheme = "INTERNAL_SELF_MANAGED"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
name = "<%= ctx[:vars]['url_map_name'] %>"
description = "a description"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

host_rule {
hosts = ["mysite.com"]
Expand All @@ -10,7 +10,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {

path_matcher {
name = "allpaths"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

path_rule {
paths = ["/home"]
Expand All @@ -26,7 +26,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
disabled = false
}
weighted_backend_services {
backend_service = "${google_compute_backend_service.home.self_link}"
backend_service = google_compute_backend_service.home.self_link
weight = 400
header_action {
request_headers_to_remove = ["RemoveMe"]
Expand All @@ -48,7 +48,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
}

test {
service = "${google_compute_backend_service.home.self_link}"
service = google_compute_backend_service.home.self_link
host = "hi.com"
path = "/home"
}
Expand All @@ -60,7 +60,7 @@ resource "google_compute_backend_service" "home" {
protocol = "HTTP"
timeout_sec = 10

health_checks = ["${google_compute_health_check.default.self_link}"]
health_checks = [google_compute_health_check.default.self_link]
load_balancing_scheme = "INTERNAL_SELF_MANAGED"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
name = "<%= ctx[:vars]['url_map_name'] %>"
description = "a description"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

host_rule {
hosts = ["mysite.com"]
Expand All @@ -10,7 +10,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {

path_matcher {
name = "allpaths"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

route_rules {
priority = 1
Expand Down Expand Up @@ -59,7 +59,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
}

test {
service = "${google_compute_backend_service.home.self_link}"
service = google_compute_backend_service.home.self_link
host = "hi.com"
path = "/home"
}
Expand All @@ -71,7 +71,7 @@ resource "google_compute_backend_service" "home" {
protocol = "HTTP"
timeout_sec = 10

health_checks = ["${google_compute_health_check.default.self_link}"]
health_checks = [google_compute_health_check.default.self_link]
load_balancing_scheme = "INTERNAL_SELF_MANAGED"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
name = "<%= ctx[:vars]['url_map_name'] %>"
description = "a description"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

host_rule {
hosts = ["mysite.com"]
Expand All @@ -10,7 +10,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {

path_matcher {
name = "allpaths"
default_service = "${google_compute_backend_service.home.self_link}"
default_service = google_compute_backend_service.home.self_link

route_rules {
priority = 1
Expand All @@ -30,7 +30,7 @@ resource "google_compute_url_map" "<%= ctx[:primary_resource_id] %>" {
}

test {
service = "${google_compute_backend_service.home.self_link}"
service = google_compute_backend_service.home.self_link
host = "hi.com"
path = "/home"
}
Expand All @@ -42,7 +42,7 @@ resource "google_compute_backend_service" "home" {
protocol = "HTTP"
timeout_sec = 10

health_checks = ["${google_compute_health_check.default.self_link}"]
health_checks = [google_compute_health_check.default.self_link]
load_balancing_scheme = "INTERNAL_SELF_MANAGED"
}

Expand Down
Loading

0 comments on commit 2952d0b

Please sign in to comment.