Removed options that are not applicable to this load balancer

This commit is contained in:
apichick 2023-11-12 20:21:06 +01:00
parent d07f8fd33d
commit c79af78c48
3 changed files with 17 additions and 40 deletions

View File

@ -223,7 +223,9 @@ module "ilb-l7" {
backends = [{
balancing_mode = "RATE"
group = "projects/myprj/zones/europe-west1-a/networkEndpointGroups/my-neg"
max_rate = { per_endpoint = 1 }
max_rate = {
per_endpoint = 1
}
}]
}
}
@ -259,7 +261,9 @@ module "ilb-l7" {
backends = [{
balancing_mode = "RATE"
group = "my-neg"
max_rate = { per_endpoint = 1 }
max_rate = {
per_endpoint = 1
}
}]
}
}
@ -296,7 +300,13 @@ module "ilb-l7" {
region = "europe-west1"
backend_service_configs = {
default = {
backends = [{ group = "my-neg" }]
backends = [{
balancing_mode = "RATE"
group = "my-neg"
max_rate = {
per_endpoint = 1
}
}]
}
}
neg_configs = {
@ -518,7 +528,9 @@ module "ilb-l7" {
backends = [{
balancing_mode = "RATE"
group = "neg-nginx-ew8-c"
max_rate = { per_endpoint = 1 }
max_rate = {
per_endpoint = 1
}
}]
}
home = {
@ -625,7 +637,6 @@ module "ilb-l7" {
<!-- TFDOC OPTS files:1 -->
<!-- BEGIN TFDOC -->
## Files
| name | description | resources |
@ -651,7 +662,7 @@ module "ilb-l7" {
| [region](variables.tf#L156) | The region where to allocate the ILB resources. | <code>string</code> | ✓ | |
| [vpc_config](variables.tf#L183) | VPC-level configuration. | <code title="object&#40;&#123;&#10; network &#61; string&#10; subnetwork &#61; string&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | ✓ | |
| [address](variables.tf#L17) | Optional IP address used for the forwarding rule. | <code>string</code> | | <code>null</code> |
| [backend_service_configs](variables-backend-service.tf#L19) | Backend service level configuration. | <code title="map&#40;object&#40;&#123;&#10; affinity_cookie_ttl_sec &#61; optional&#40;number&#41;&#10; connection_draining_timeout_sec &#61; optional&#40;number&#41;&#10; health_checks &#61; optional&#40;list&#40;string&#41;, &#91;&#34;default&#34;&#93;&#41;&#10; locality_lb_policy &#61; optional&#40;string&#41;&#10; log_sample_rate &#61; optional&#40;number&#41;&#10; port_name &#61; optional&#40;string&#41;&#10; project_id &#61; optional&#40;string&#41;&#10; protocol &#61; optional&#40;string&#41;&#10; session_affinity &#61; optional&#40;string&#41;&#10; timeout_sec &#61; optional&#40;number&#41;&#10; backends &#61; list&#40;object&#40;&#123;&#10; group &#61; string&#10; balancing_mode &#61; optional&#40;string, &#34;UTILIZATION&#34;&#41;&#10; capacity_scaler &#61; optional&#40;number, 1&#41;&#10; description &#61; optional&#40;string, &#34;Terraform managed.&#34;&#41;&#10; failover &#61; optional&#40;bool, false&#41;&#10; max_connections &#61; optional&#40;object&#40;&#123;&#10; per_endpoint &#61; optional&#40;number&#41;&#10; per_group &#61; optional&#40;number&#41;&#10; per_instance &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; max_rate &#61; optional&#40;object&#40;&#123;&#10; per_endpoint &#61; optional&#40;number&#41;&#10; per_group &#61; optional&#40;number&#41;&#10; per_instance &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; max_utilization &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; circuit_breakers &#61; optional&#40;object&#40;&#123;&#10; max_connections &#61; optional&#40;number&#41;&#10; max_pending_requests &#61; optional&#40;number&#41;&#10; max_requests &#61; optional&#40;number&#41;&#10; max_requests_per_connection &#61; optional&#40;number&#41;&#10; max_retries &#61; optional&#40;number&#41;&#10; connect_timeout &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10; connection_tracking &#61; optional&#40;object&#40;&#123;&#10; idle_timeout_sec &#61; optional&#40;number&#41;&#10; persist_conn_on_unhealthy &#61; optional&#40;string&#41;&#10; track_per_session &#61; optional&#40;bool&#41;&#10; &#125;&#41;&#41;&#10; consistent_hash &#61; optional&#40;object&#40;&#123;&#10; http_header_name &#61; optional&#40;string&#41;&#10; minimum_ring_size &#61; optional&#40;number&#41;&#10; http_cookie &#61; optional&#40;object&#40;&#123;&#10; name &#61; optional&#40;string&#41;&#10; path &#61; optional&#40;string&#41;&#10; ttl &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10; enable_subsetting &#61; optional&#40;bool&#41;&#10; failover_config &#61; optional&#40;object&#40;&#123;&#10; disable_conn_drain &#61; optional&#40;bool&#41;&#10; drop_traffic_if_unhealthy &#61; optional&#40;bool&#41;&#10; ratio &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; iap_config &#61; optional&#40;object&#40;&#123;&#10; oauth2_client_id &#61; string&#10; oauth2_client_secret &#61; string&#10; oauth2_client_secret_sha256 &#61; optional&#40;string&#41;&#10; &#125;&#41;&#41;&#10; outlier_detection &#61; optional&#40;object&#40;&#123;&#10; consecutive_errors &#61; optional&#40;number&#41;&#10; consecutive_gateway_failure &#61; optional&#40;number&#41;&#10; enforcing_consecutive_errors &#61; optional&#40;number&#41;&#10; enforcing_consecutive_gateway_failure &#61; optional&#40;number&#41;&#10; enforcing_success_rate &#61; optional&#40;number&#41;&#10; max_ejection_percent &#61; optional&#40;number&#41;&#10; success_rate_minimum_hosts &#61; optional&#40;number&#41;&#10; success_rate_request_volume &#61; optional&#40;number&#41;&#10; success_rate_stdev_factor &#61; optional&#40;number&#41;&#10; base_ejection_time &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; interval &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>&#123;&#125;</code> |
| [backend_service_configs](variables-backend-service.tf#L19) | Backend service level configuration. | <code title="map&#40;object&#40;&#123;&#10; affinity_cookie_ttl_sec &#61; optional&#40;number&#41;&#10; connection_draining_timeout_sec &#61; optional&#40;number&#41;&#10; health_checks &#61; optional&#40;list&#40;string&#41;, &#91;&#34;default&#34;&#93;&#41;&#10; locality_lb_policy &#61; optional&#40;string&#41;&#10; log_sample_rate &#61; optional&#40;number&#41;&#10; port_name &#61; optional&#40;string&#41;&#10; project_id &#61; optional&#40;string&#41;&#10; protocol &#61; optional&#40;string&#41;&#10; session_affinity &#61; optional&#40;string&#41;&#10; timeout_sec &#61; optional&#40;number&#41;&#10; backends &#61; list&#40;object&#40;&#123;&#10; group &#61; string&#10; balancing_mode &#61; optional&#40;string, &#34;UTILIZATION&#34;&#41;&#10; capacity_scaler &#61; optional&#40;number, 1&#41;&#10; description &#61; optional&#40;string, &#34;Terraform managed.&#34;&#41;&#10; failover &#61; optional&#40;bool, false&#41;&#10; max_rate &#61; optional&#40;object&#40;&#123;&#10; per_endpoint &#61; optional&#40;number&#41;&#10; per_group &#61; optional&#40;number&#41;&#10; per_instance &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; max_utilization &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; circuit_breakers &#61; optional&#40;object&#40;&#123;&#10; max_connections &#61; optional&#40;number&#41;&#10; max_pending_requests &#61; optional&#40;number&#41;&#10; max_requests &#61; optional&#40;number&#41;&#10; max_requests_per_connection &#61; optional&#40;number&#41;&#10; max_retries &#61; optional&#40;number&#41;&#10; connect_timeout &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10; consistent_hash &#61; optional&#40;object&#40;&#123;&#10; http_header_name &#61; optional&#40;string&#41;&#10; minimum_ring_size &#61; optional&#40;number&#41;&#10; http_cookie &#61; optional&#40;object&#40;&#123;&#10; name &#61; optional&#40;string&#41;&#10; path &#61; optional&#40;string&#41;&#10; ttl &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10; enable_subsetting &#61; optional&#40;bool&#41;&#10; failover_config &#61; optional&#40;object&#40;&#123;&#10; disable_conn_drain &#61; optional&#40;bool&#41;&#10; drop_traffic_if_unhealthy &#61; optional&#40;bool&#41;&#10; &#125;&#41;&#41;&#10; iap_config &#61; optional&#40;object&#40;&#123;&#10; oauth2_client_id &#61; string&#10; oauth2_client_secret &#61; string&#10; oauth2_client_secret_sha256 &#61; optional&#40;string&#41;&#10; &#125;&#41;&#41;&#10; outlier_detection &#61; optional&#40;object&#40;&#123;&#10; consecutive_errors &#61; optional&#40;number&#41;&#10; consecutive_gateway_failure &#61; optional&#40;number&#41;&#10; enforcing_consecutive_errors &#61; optional&#40;number&#41;&#10; enforcing_consecutive_gateway_failure &#61; optional&#40;number&#41;&#10; enforcing_success_rate &#61; optional&#40;number&#41;&#10; max_ejection_percent &#61; optional&#40;number&#41;&#10; success_rate_minimum_hosts &#61; optional&#40;number&#41;&#10; success_rate_request_volume &#61; optional&#40;number&#41;&#10; success_rate_stdev_factor &#61; optional&#40;number&#41;&#10; base_ejection_time &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; interval &#61; optional&#40;object&#40;&#123;&#10; seconds &#61; number&#10; nanos &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; &#125;&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>&#123;&#125;</code> |
| [description](variables.tf#L23) | Optional description used for resources. | <code>string</code> | | <code>&#34;Terraform managed.&#34;</code> |
| [global_access](variables.tf#L30) | Allow client access from all regions. | <code>bool</code> | | <code>null</code> |
| [group_configs](variables.tf#L36) | Optional unmanaged groups to create. Can be referenced in backends via key or outputs. | <code title="map&#40;object&#40;&#123;&#10; zone &#61; string&#10; instances &#61; optional&#40;list&#40;string&#41;&#41;&#10; named_ports &#61; optional&#40;map&#40;number&#41;, &#123;&#125;&#41;&#10; project_id &#61; optional&#40;string&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>&#123;&#125;</code> |
@ -677,5 +688,4 @@ module "ilb-l7" {
| [health_check_ids](outputs.tf#L48) | Autogenerated health check ids. | |
| [id](outputs.tf#L55) | Fully qualified forwarding rule id. | |
| [neg_ids](outputs.tf#L60) | Autogenerated network endpoint group ids. | |
<!-- END TFDOC -->

View File

@ -114,28 +114,6 @@ resource "google_compute_region_backend_service" "default" {
}
}
dynamic "connection_tracking_policy" {
for_each = (
each.value.connection_tracking == null
? []
: [each.value.connection_tracking]
)
iterator = cb
content {
connection_persistence_on_unhealthy_backends = (
cb.value.persist_conn_on_unhealthy != null
? cb.value.persist_conn_on_unhealthy
: null
)
idle_timeout_sec = cb.value.idle_timeout_sec
tracking_mode = (
cb.value.track_per_session != null
? cb.value.track_per_session
: null
)
}
}
dynamic "consistent_hash" {
for_each = (
each.value.consistent_hash == null ? [] : [each.value.consistent_hash]

View File

@ -35,11 +35,6 @@ variable "backend_service_configs" {
capacity_scaler = optional(number, 1)
description = optional(string, "Terraform managed.")
failover = optional(bool, false)
max_connections = optional(object({
per_endpoint = optional(number)
per_group = optional(number)
per_instance = optional(number)
}))
max_rate = optional(object({
per_endpoint = optional(number)
per_group = optional(number)
@ -58,11 +53,6 @@ variable "backend_service_configs" {
nanos = optional(number)
}))
}))
connection_tracking = optional(object({
idle_timeout_sec = optional(number)
persist_conn_on_unhealthy = optional(string)
track_per_session = optional(bool)
}))
consistent_hash = optional(object({
http_header_name = optional(string)
minimum_ring_size = optional(number)
@ -79,7 +69,6 @@ variable "backend_service_configs" {
failover_config = optional(object({
disable_conn_drain = optional(bool)
drop_traffic_if_unhealthy = optional(bool)
ratio = optional(number)
}))
iap_config = optional(object({
oauth2_client_id = string