diff --git a/r/compute_forwarding_rule.html.markdown b/r/compute_forwarding_rule.html.markdown index 056055c0..845a7450 100644 --- a/r/compute_forwarding_rule.html.markdown +++ b/r/compute_forwarding_rule.html.markdown @@ -15,7 +15,7 @@ documentation](https://cloud.google.com/compute/docs/load-balancing/network/forw ## Example Usage -```js +```tf resource "google_compute_forwarding_rule" "default" { name = "test" target = "${google_compute_target_pool.default.self_link}" @@ -30,20 +30,32 @@ The following arguments are supported: * `name` - (Required) A unique name for the resource, required by GCE. Changing this forces a new resource to be created. -* `target` - (Required) URL of target pool. - - - - +* `backend_service` - (Optional) BackendService resource to receive the + matched traffic. Only used for internal load balancing. + * `description` - (Optional) Textual description field. * `ip_address` - (Optional) The static IP. (if not set, an ephemeral IP is used). * `ip_protocol` - (Optional) The IP protocol to route, one of "TCP" "UDP" "AH" - "ESP" or "SCTP". (default "TCP"). + "ESP" or "SCTP" for external load balancing, "TCP" or "UDP" for internal + (default "TCP"). + +* `load_balancing_scheme` - (Optional) Type of load balancing to use. Can be + set to "INTERNAL" or "EXTERNAL" (default "EXTERNAL"). + +* `network` - (Optional) Network that the load balanced IP should belong to. + Only used for internal load balancing. If it is not provided, the default + network is used. * `port_range` - (Optional) A range e.g. "1024-2048" or a single port "1024" - (defaults to all ports!). + (defaults to all ports!). Only used for external load balancing. + +* `ports` - (Optional) A list of ports to use for internal load balancing + (defaults to all ports). * `project` - (Optional) The project in which the resource belongs. If it is not provided, the provider project is used. @@ -51,6 +63,13 @@ The following arguments are supported: * `region` - (Optional) The Region in which the created address should reside. If it is not provided, the provider region is used. +* `subnetwork` - (Optional) Subnetwork that the load balanced IP should belong + to. Only used for internal load balancing. Must be specified if the network + is in custom subnet mode. + +* `target` - (Optional) URL of target pool. Required for external load + balancing. + ## Attributes Reference In addition to the arguments listed above, the following computed attributes are diff --git a/r/compute_health_check.html.markdown b/r/compute_health_check.html.markdown new file mode 100644 index 00000000..a24e656d --- /dev/null +++ b/r/compute_health_check.html.markdown @@ -0,0 +1,124 @@ +--- +layout: "google" +page_title: "Google: google_compute_health_check" +sidebar_current: "docs-google-compute-health-check" +description: |- + Manages a Health Check within GCE. +--- + +# google\_compute\_health\_check + +Manages a health check within GCE. This is used to monitor instances +behind load balancers. Timeouts or HTTP errors cause the instance to be +removed from the pool. For more information, see [the official +documentation](https://cloud.google.com/compute/docs/load-balancing/health-checks) +and +[API](https://cloud.google.com/compute/docs/reference/latest/healthChecks). + +## Example Usage + +```tf +resource "google_compute_health_check" "default" { + name = "test" + + timeout_sec = 1 + check_interval_sec = 1 + tcp_health_check { + port = "80" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `name` - (Required) A unique name for the resource, required by GCE. + Changing this forces a new resource to be created. + +- - - + +* `check_interval_sec` - (Optional) The number of seconds between each poll of + the instance instance (default 5). + +* `description` - (Optional) Textual description field. + +* `healthy_threshold` - (Optional) Consecutive successes required (default 2). + +* `http_health_check` - (Optional) An HTTP Health Check. + See *HTTP Health Check* below. + +* `https_health_check` - (Optional) An HTTPS Health Check. + See *HTTPS Health Check* below. + +* `ssl_health_check` - (Optional) An SSL Health Check. + See *SSL Health Check* below. + +* `tcp_health_check` - (Optional) A TCP Health Check. + See *TCP Health Check* below. + +* `project` - (Optional) The project in which the resource belongs. If it + is not provided, the provider project is used. + +* `timeout_sec` - (Optional) The number of seconds to wait before declaring + failure (default 5). + +* `unhealthy_threshold` - (Optional) Consecutive failures required (default 2). + + +**HTTP Health Check** supports the following attributes: + +* `host` - (Optional) HTTP host header field (default instance's public ip). + +* `port` - (Optional) TCP port to connect to (default 80). + +* `proxy_header` - (Optional) Type of proxy header to append before sending + data to the backend, either NONE or PROXY_V1 (default NONE). + +* `request_path` - (Optional) URL path to query (default /). + + +**HTTPS Health Check** supports the following attributes: + +* `host` - (Optional) HTTPS host header field (default instance's public ip). + +* `port` - (Optional) TCP port to connect to (default 443). + +* `proxy_header` - (Optional) Type of proxy header to append before sending + data to the backend, either NONE or PROXY_V1 (default NONE). + +* `request_path` - (Optional) URL path to query (default /). + + +**SSL Health Check** supports the following attributes: + +* `port` - (Optional) TCP port to connect to (default 443). + +* `proxy_header` - (Optional) Type of proxy header to append before sending + data to the backend, either NONE or PROXY_V1 (default NONE). + +* `request` - (Optional) Application data to send once the SSL connection has + been established (default ""). + +* `response` - (Optional) The response that indicates health (default "") + + +**TCP Health Check** supports the following attributes: + +* `port` - (Optional) TCP port to connect to (default 80). + +* `proxy_header` - (Optional) Type of proxy header to append before sending + data to the backend, either NONE or PROXY_V1 (default NONE). + +* `request` - (Optional) Application data to send once the TCP connection has + been established (default ""). + +* `response` - (Optional) The response that indicates health (default "") + + +## Attributes Reference + +In addition to the arguments listed above, the following computed attributes are +exported: + +* `self_link` - The URI of the created resource. diff --git a/r/compute_region_backend_service.html.markdown b/r/compute_region_backend_service.html.markdown new file mode 100644 index 00000000..0b81f147 --- /dev/null +++ b/r/compute_region_backend_service.html.markdown @@ -0,0 +1,127 @@ +--- +layout: "google" +page_title: "Google: google_compute_region_backend_service" +sidebar_current: "docs-google-compute-region-backend-service" +description: |- + Creates a Region Backend Service resource for Google Compute Engine. +--- + +# google\_compute\_region\_backend\_service + +A Region Backend Service defines a regionally-scoped group of virtual machines that will serve traffic for load balancing. + +See [backendServices](https://cloud.google.com/compute/docs/reference/latest/backendServices) documentation for more on this resource type, and [Internal Load Balancing](https://cloud.google.com/compute/docs/load-balancing/internal/) documentation for more details on usage. + +## Example Usage + +```tf +resource "google_compute_region_backend_service" "foobar" { + name = "blablah" + description = "Hello World 1234" + protocol = "TCP" + timeout_sec = 10 + + backend { + group = "${google_compute_instance_group_manager.foo.instance_group}" + } + + health_checks = ["${google_compute_health_check.default.self_link}"] +} + +resource "google_compute_instance_group_manager" "foo" { + name = "terraform-test" + instance_template = "${google_compute_instance_template.foobar.self_link}" + base_instance_name = "foobar" + zone = "us-central1-f" + target_size = 1 +} + +resource "google_compute_instance_template" "foobar" { + name = "terraform-test" + machine_type = "n1-standard-1" + + network_interface { + network = "default" + } + + disk { + source_image = "debian-cloud/debian-8" + auto_delete = true + boot = true + } +} + +resource "google_compute_health_check" "default" { + name = "test" + check_interval_sec = 1 + timeout_sec = 1 + type = "TCP" + tcp_health_check { + port = "80" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `name` - (Required) The name of the backend service. + +* `health_checks` - (Required) Specifies a list of health check objects + for checking the health of the backend service. + +- - - + +* `backend` - (Optional) The list of backends that serve this BackendService. + See *Backend* below. + +* `description` - (Optional) The textual description for the backend service. + +* `project` - (Optional) The project in which the resource belongs. If it + is not provided, the provider project is used. + +* `protocol` - (Optional) The protocol for incoming requests. Defaults to + `HTTP`. + +* `region` - (Optional) The Region in which the created address should reside. + If it is not provided, the provider region is used. + +* `timeout_sec` - (Optional) The number of secs to wait for a backend to respond + to a request before considering the request failed. Defaults to `30`. + + +**Backend** supports the following attributes: + +* `group` - (Required) The name or URI of a Compute Engine instance group + (`google_compute_instance_group_manager.xyz.instance_group`) that can + receive traffic. + +* `balancing_mode` - (Optional) Defines the strategy for balancing load. + Defaults to `UTILIZATION` + +* `capacity_scaler` - (Optional) A float in the range [0, 1.0] that scales the + maximum parameters for the group (e.g., max rate). A value of 0.0 will cause + no requests to be sent to the group (i.e., it adds the group in a drained + state). The default is 1.0. + +* `description` - (Optional) Textual description for the backend. + +* `max_rate` - (Optional) Maximum requests per second (RPS) that the group can + handle. + +* `max_rate_per_instance` - (Optional) The maximum per-instance requests per + second (RPS). + +* `max_utilization` - (Optional) The target CPU utilization for the group as a + float in the range [0.0, 1.0]. This flag can only be provided when the + balancing mode is `UTILIZATION`. Defaults to `0.8`. + +## Attributes Reference + +In addition to the arguments listed above, the following computed attributes are +exported: + +* `fingerprint` - The fingerprint of the backend service. + +* `self_link` - The URI of the created resource.