| --- |
| # ---------------------------------------------------------------------------- |
| # |
| # *** AUTO GENERATED CODE *** Type: MMv1 *** |
| # |
| # ---------------------------------------------------------------------------- |
| # |
| # This file is automatically generated by Magic Modules and manual |
| # changes will be clobbered when the file is regenerated. |
| # |
| # Please read more about how to change this file in |
| # .github/CONTRIBUTING.md. |
| # |
| # ---------------------------------------------------------------------------- |
| subcategory: "Compute Engine" |
| description: |- |
| Health Checks determine whether instances are responsive and able to do work. |
| --- |
| |
| # google_compute_health_check |
| |
| Health Checks determine whether instances are responsive and able to do work. |
| They are an important part of a comprehensive load balancing configuration, |
| as they enable monitoring instances behind load balancers. |
| |
| Health Checks poll instances at a specified interval. Instances that |
| do not respond successfully to some number of probes in a row are marked |
| as unhealthy. No new connections are sent to unhealthy instances, |
| though existing connections will continue. The health check will |
| continue to poll unhealthy instances. If an instance later responds |
| successfully to some number of consecutive probes, it is marked |
| healthy again and can receive new connections. |
| |
| ~>**NOTE**: Legacy HTTP(S) health checks must be used for target pool-based network |
| load balancers. See the [official guide](https://cloud.google.com/load-balancing/docs/health-check-concepts#selecting_hc) |
| for choosing a type of health check. |
| |
| |
| To get more information about HealthCheck, see: |
| |
| * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks) |
| * How-to Guides |
| * [Official Documentation](https://cloud.google.com/load-balancing/docs/health-checks) |
| |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_tcp&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Tcp |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "tcp-health-check" { |
| name = "tcp-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| tcp_health_check { |
| port = "80" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_tcp_full&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Tcp Full |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "tcp-health-check" { |
| name = "tcp-health-check" |
| description = "Health check via tcp" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| healthy_threshold = 4 |
| unhealthy_threshold = 5 |
| |
| tcp_health_check { |
| port_name = "health-check-port" |
| port_specification = "USE_NAMED_PORT" |
| request = "ARE YOU HEALTHY?" |
| proxy_header = "NONE" |
| response = "I AM HEALTHY" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_ssl&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Ssl |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "ssl-health-check" { |
| name = "ssl-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| ssl_health_check { |
| port = "443" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_ssl_full&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Ssl Full |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "ssl-health-check" { |
| name = "ssl-health-check" |
| description = "Health check via ssl" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| healthy_threshold = 4 |
| unhealthy_threshold = 5 |
| |
| ssl_health_check { |
| port_name = "health-check-port" |
| port_specification = "USE_NAMED_PORT" |
| request = "ARE YOU HEALTHY?" |
| proxy_header = "NONE" |
| response = "I AM HEALTHY" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_http&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Http |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "http-health-check" { |
| name = "http-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| http_health_check { |
| port = 80 |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_http_full&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Http Full |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "http-health-check" { |
| name = "http-health-check" |
| description = "Health check via http" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| healthy_threshold = 4 |
| unhealthy_threshold = 5 |
| |
| http_health_check { |
| port_name = "health-check-port" |
| port_specification = "USE_NAMED_PORT" |
| host = "1.2.3.4" |
| request_path = "/mypath" |
| proxy_header = "NONE" |
| response = "I AM HEALTHY" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_https&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Https |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "https-health-check" { |
| name = "https-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| https_health_check { |
| port = "443" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_https_full&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Https Full |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "https-health-check" { |
| name = "https-health-check" |
| description = "Health check via https" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| healthy_threshold = 4 |
| unhealthy_threshold = 5 |
| |
| https_health_check { |
| port_name = "health-check-port" |
| port_specification = "USE_NAMED_PORT" |
| host = "1.2.3.4" |
| request_path = "/mypath" |
| proxy_header = "NONE" |
| response = "I AM HEALTHY" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_http2&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Http2 |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "http2-health-check" { |
| name = "http2-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| http2_health_check { |
| port = "443" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_http2_full&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Http2 Full |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "http2-health-check" { |
| name = "http2-health-check" |
| description = "Health check via http2" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| healthy_threshold = 4 |
| unhealthy_threshold = 5 |
| |
| http2_health_check { |
| port_name = "health-check-port" |
| port_specification = "USE_NAMED_PORT" |
| host = "1.2.3.4" |
| request_path = "/mypath" |
| proxy_header = "NONE" |
| response = "I AM HEALTHY" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_grpc&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Grpc |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "grpc-health-check" { |
| name = "grpc-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| grpc_health_check { |
| port = "443" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_grpc_full&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check Grpc Full |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "grpc-health-check" { |
| name = "grpc-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| grpc_health_check { |
| port_name = "health-check-port" |
| port_specification = "USE_NAMED_PORT" |
| grpc_service_name = "testservice" |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=health_check_with_logging&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Health Check With Logging |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "health-check-with-logging" { |
| provider = google-beta |
| |
| name = "tcp-health-check" |
| |
| timeout_sec = 1 |
| check_interval_sec = 1 |
| |
| tcp_health_check { |
| port = "22" |
| } |
| |
| log_config { |
| enable = true |
| } |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=compute_health_check_http_source_regions&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Compute Health Check Http Source Regions |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "http-health-check-with-source-regions" { |
| name = "http-health-check" |
| check_interval_sec = 30 |
| |
| http_health_check { |
| port = 80 |
| port_specification = "USE_FIXED_PORT" |
| } |
| |
| source_regions = ["us-west1", "us-central1", "us-east5"] |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=compute_health_check_https_source_regions&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Compute Health Check Https Source Regions |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "https-health-check-with-source-regions" { |
| name = "https-health-check" |
| check_interval_sec = 30 |
| |
| https_health_check { |
| port = 80 |
| port_specification = "USE_FIXED_PORT" |
| } |
| |
| source_regions = ["us-west1", "us-central1", "us-east5"] |
| } |
| ``` |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=compute_health_check_tcp_source_regions&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Compute Health Check Tcp Source Regions |
| |
| |
| ```hcl |
| resource "google_compute_health_check" "tcp-health-check-with-source-regions" { |
| name = "tcp-health-check" |
| check_interval_sec = 30 |
| |
| tcp_health_check { |
| port = 80 |
| port_specification = "USE_FIXED_PORT" |
| } |
| |
| source_regions = ["us-west1", "us-central1", "us-east5"] |
| } |
| ``` |
| |
| ## Argument Reference |
| |
| The following arguments are supported: |
| |
| |
| * `name` - |
| (Required) |
| Name of the resource. Provided by the client when the resource is |
| created. The name must be 1-63 characters long, and comply with |
| RFC1035. Specifically, the name must be 1-63 characters long and |
| match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means |
| the first character must be a lowercase letter, and all following |
| characters must be a dash, lowercase letter, or digit, except the |
| last character, which cannot be a dash. |
| |
| |
| - - - |
| |
| |
| * `check_interval_sec` - |
| (Optional) |
| How often (in seconds) to send a health check. The default value is 5 |
| seconds. |
| |
| * `description` - |
| (Optional) |
| An optional description of this resource. Provide this property when |
| you create the resource. |
| |
| * `healthy_threshold` - |
| (Optional) |
| A so-far unhealthy instance will be marked healthy after this many |
| consecutive successes. The default value is 2. |
| |
| * `timeout_sec` - |
| (Optional) |
| How long (in seconds) to wait before claiming failure. |
| The default value is 5 seconds. It is invalid for timeoutSec to have |
| greater value than checkIntervalSec. |
| |
| * `source_regions` - |
| (Optional) |
| The list of cloud regions from which health checks are performed. If |
| any regions are specified, then exactly 3 regions should be specified. |
| The region names must be valid names of Google Cloud regions. This can |
| only be set for global health check. If this list is non-empty, then |
| there are restrictions on what other health check fields are supported |
| and what other resources can use this health check: |
| * SSL, HTTP2, and GRPC protocols are not supported. |
| * The TCP request field is not supported. |
| * The proxyHeader field for HTTP, HTTPS, and TCP is not supported. |
| * The checkIntervalSec field must be at least 30. |
| * The health check cannot be used with BackendService nor with managed |
| instance group auto-healing. |
| |
| * `unhealthy_threshold` - |
| (Optional) |
| A so-far healthy instance will be marked unhealthy after this many |
| consecutive failures. The default value is 2. |
| |
| * `http_health_check` - |
| (Optional) |
| A nested object resource |
| Structure is [documented below](#nested_http_health_check). |
| |
| * `https_health_check` - |
| (Optional) |
| A nested object resource |
| Structure is [documented below](#nested_https_health_check). |
| |
| * `tcp_health_check` - |
| (Optional) |
| A nested object resource |
| Structure is [documented below](#nested_tcp_health_check). |
| |
| * `ssl_health_check` - |
| (Optional) |
| A nested object resource |
| Structure is [documented below](#nested_ssl_health_check). |
| |
| * `http2_health_check` - |
| (Optional) |
| A nested object resource |
| Structure is [documented below](#nested_http2_health_check). |
| |
| * `grpc_health_check` - |
| (Optional) |
| A nested object resource |
| Structure is [documented below](#nested_grpc_health_check). |
| |
| * `log_config` - |
| (Optional) |
| Configure logging on this health check. |
| Structure is [documented below](#nested_log_config). |
| |
| * `project` - (Optional) The ID of the project in which the resource belongs. |
| If it is not provided, the provider project is used. |
| |
| |
| <a name="nested_http_health_check"></a>The `http_health_check` block supports: |
| |
| * `host` - |
| (Optional) |
| The value of the host header in the HTTP health check request. |
| If left empty (default value), the public IP on behalf of which this health |
| check is performed will be used. |
| |
| * `request_path` - |
| (Optional) |
| The request path of the HTTP health check request. |
| The default value is /. |
| |
| * `response` - |
| (Optional) |
| The bytes to match against the beginning of the response data. If left empty |
| (the default value), any response will indicate health. The response data |
| can only be ASCII. |
| |
| * `port` - |
| (Optional) |
| The TCP port number for the HTTP health check request. |
| The default value is 80. |
| |
| * `port_name` - |
| (Optional) |
| Port name as defined in InstanceGroup#NamedPort#name. If both port and |
| port_name are defined, port takes precedence. |
| |
| * `proxy_header` - |
| (Optional) |
| Specifies the type of proxy header to append before sending data to the |
| backend. |
| Default value is `NONE`. |
| Possible values are: `NONE`, `PROXY_V1`. |
| |
| * `port_specification` - |
| (Optional) |
| Specifies how port is selected for health checking, can be one of the |
| following values: |
| * `USE_FIXED_PORT`: The port number in `port` is used for health checking. |
| * `USE_NAMED_PORT`: The `portName` is used for health checking. |
| * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each |
| network endpoint is used for health checking. For other backends, the |
| port or named port specified in the Backend Service is used for health |
| checking. |
| If not specified, HTTP health check follows behavior specified in `port` and |
| `portName` fields. |
| Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`. |
| |
| <a name="nested_https_health_check"></a>The `https_health_check` block supports: |
| |
| * `host` - |
| (Optional) |
| The value of the host header in the HTTPS health check request. |
| If left empty (default value), the public IP on behalf of which this health |
| check is performed will be used. |
| |
| * `request_path` - |
| (Optional) |
| The request path of the HTTPS health check request. |
| The default value is /. |
| |
| * `response` - |
| (Optional) |
| The bytes to match against the beginning of the response data. If left empty |
| (the default value), any response will indicate health. The response data |
| can only be ASCII. |
| |
| * `port` - |
| (Optional) |
| The TCP port number for the HTTPS health check request. |
| The default value is 443. |
| |
| * `port_name` - |
| (Optional) |
| Port name as defined in InstanceGroup#NamedPort#name. If both port and |
| port_name are defined, port takes precedence. |
| |
| * `proxy_header` - |
| (Optional) |
| Specifies the type of proxy header to append before sending data to the |
| backend. |
| Default value is `NONE`. |
| Possible values are: `NONE`, `PROXY_V1`. |
| |
| * `port_specification` - |
| (Optional) |
| Specifies how port is selected for health checking, can be one of the |
| following values: |
| * `USE_FIXED_PORT`: The port number in `port` is used for health checking. |
| * `USE_NAMED_PORT`: The `portName` is used for health checking. |
| * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each |
| network endpoint is used for health checking. For other backends, the |
| port or named port specified in the Backend Service is used for health |
| checking. |
| If not specified, HTTPS health check follows behavior specified in `port` and |
| `portName` fields. |
| Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`. |
| |
| <a name="nested_tcp_health_check"></a>The `tcp_health_check` block supports: |
| |
| * `request` - |
| (Optional) |
| The application data to send once the TCP connection has been |
| established (default value is empty). If both request and response are |
| empty, the connection establishment alone will indicate health. The request |
| data can only be ASCII. |
| |
| * `response` - |
| (Optional) |
| The bytes to match against the beginning of the response data. If left empty |
| (the default value), any response will indicate health. The response data |
| can only be ASCII. |
| |
| * `port` - |
| (Optional) |
| The TCP port number for the TCP health check request. |
| The default value is 443. |
| |
| * `port_name` - |
| (Optional) |
| Port name as defined in InstanceGroup#NamedPort#name. If both port and |
| port_name are defined, port takes precedence. |
| |
| * `proxy_header` - |
| (Optional) |
| Specifies the type of proxy header to append before sending data to the |
| backend. |
| Default value is `NONE`. |
| Possible values are: `NONE`, `PROXY_V1`. |
| |
| * `port_specification` - |
| (Optional) |
| Specifies how port is selected for health checking, can be one of the |
| following values: |
| * `USE_FIXED_PORT`: The port number in `port` is used for health checking. |
| * `USE_NAMED_PORT`: The `portName` is used for health checking. |
| * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each |
| network endpoint is used for health checking. For other backends, the |
| port or named port specified in the Backend Service is used for health |
| checking. |
| If not specified, TCP health check follows behavior specified in `port` and |
| `portName` fields. |
| Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`. |
| |
| <a name="nested_ssl_health_check"></a>The `ssl_health_check` block supports: |
| |
| * `request` - |
| (Optional) |
| The application data to send once the SSL connection has been |
| established (default value is empty). If both request and response are |
| empty, the connection establishment alone will indicate health. The request |
| data can only be ASCII. |
| |
| * `response` - |
| (Optional) |
| The bytes to match against the beginning of the response data. If left empty |
| (the default value), any response will indicate health. The response data |
| can only be ASCII. |
| |
| * `port` - |
| (Optional) |
| The TCP port number for the SSL health check request. |
| The default value is 443. |
| |
| * `port_name` - |
| (Optional) |
| Port name as defined in InstanceGroup#NamedPort#name. If both port and |
| port_name are defined, port takes precedence. |
| |
| * `proxy_header` - |
| (Optional) |
| Specifies the type of proxy header to append before sending data to the |
| backend. |
| Default value is `NONE`. |
| Possible values are: `NONE`, `PROXY_V1`. |
| |
| * `port_specification` - |
| (Optional) |
| Specifies how port is selected for health checking, can be one of the |
| following values: |
| * `USE_FIXED_PORT`: The port number in `port` is used for health checking. |
| * `USE_NAMED_PORT`: The `portName` is used for health checking. |
| * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each |
| network endpoint is used for health checking. For other backends, the |
| port or named port specified in the Backend Service is used for health |
| checking. |
| If not specified, SSL health check follows behavior specified in `port` and |
| `portName` fields. |
| Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`. |
| |
| <a name="nested_http2_health_check"></a>The `http2_health_check` block supports: |
| |
| * `host` - |
| (Optional) |
| The value of the host header in the HTTP2 health check request. |
| If left empty (default value), the public IP on behalf of which this health |
| check is performed will be used. |
| |
| * `request_path` - |
| (Optional) |
| The request path of the HTTP2 health check request. |
| The default value is /. |
| |
| * `response` - |
| (Optional) |
| The bytes to match against the beginning of the response data. If left empty |
| (the default value), any response will indicate health. The response data |
| can only be ASCII. |
| |
| * `port` - |
| (Optional) |
| The TCP port number for the HTTP2 health check request. |
| The default value is 443. |
| |
| * `port_name` - |
| (Optional) |
| Port name as defined in InstanceGroup#NamedPort#name. If both port and |
| port_name are defined, port takes precedence. |
| |
| * `proxy_header` - |
| (Optional) |
| Specifies the type of proxy header to append before sending data to the |
| backend. |
| Default value is `NONE`. |
| Possible values are: `NONE`, `PROXY_V1`. |
| |
| * `port_specification` - |
| (Optional) |
| Specifies how port is selected for health checking, can be one of the |
| following values: |
| * `USE_FIXED_PORT`: The port number in `port` is used for health checking. |
| * `USE_NAMED_PORT`: The `portName` is used for health checking. |
| * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each |
| network endpoint is used for health checking. For other backends, the |
| port or named port specified in the Backend Service is used for health |
| checking. |
| If not specified, HTTP2 health check follows behavior specified in `port` and |
| `portName` fields. |
| Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`. |
| |
| <a name="nested_grpc_health_check"></a>The `grpc_health_check` block supports: |
| |
| * `port` - |
| (Optional) |
| The port number for the health check request. |
| Must be specified if portName and portSpecification are not set |
| or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535. |
| |
| * `port_name` - |
| (Optional) |
| Port name as defined in InstanceGroup#NamedPort#name. If both port and |
| port_name are defined, port takes precedence. |
| |
| * `port_specification` - |
| (Optional) |
| Specifies how port is selected for health checking, can be one of the |
| following values: |
| * `USE_FIXED_PORT`: The port number in `port` is used for health checking. |
| * `USE_NAMED_PORT`: The `portName` is used for health checking. |
| * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each |
| network endpoint is used for health checking. For other backends, the |
| port or named port specified in the Backend Service is used for health |
| checking. |
| If not specified, gRPC health check follows behavior specified in `port` and |
| `portName` fields. |
| Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`. |
| |
| * `grpc_service_name` - |
| (Optional) |
| The gRPC service name for the health check. |
| The value of grpcServiceName has the following meanings by convention: |
| - Empty serviceName means the overall status of all services at the backend. |
| - Non-empty serviceName means the health of that gRPC service, as defined by the owner of the service. |
| The grpcServiceName can only be ASCII. |
| |
| <a name="nested_log_config"></a>The `log_config` block supports: |
| |
| * `enable` - |
| (Optional) |
| Indicates whether or not to export logs. This is false by default, |
| which means no health check logging will be done. |
| |
| ## Attributes Reference |
| |
| In addition to the arguments listed above, the following computed attributes are exported: |
| |
| * `id` - an identifier for the resource with format `projects/{{project}}/global/healthChecks/{{name}}` |
| |
| * `creation_timestamp` - |
| Creation timestamp in RFC3339 text format. |
| |
| * `type` - |
| The type of the health check. One of HTTP, HTTPS, TCP, or SSL. |
| * `self_link` - The URI of the created resource. |
| |
| |
| ## Timeouts |
| |
| This resource provides the following |
| [Timeouts](https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts) configuration options: |
| |
| - `create` - Default is 20 minutes. |
| - `update` - Default is 20 minutes. |
| - `delete` - Default is 20 minutes. |
| |
| ## Import |
| |
| |
| HealthCheck can be imported using any of these accepted formats: |
| |
| * `projects/{{project}}/global/healthChecks/{{name}}` |
| * `{{project}}/{{name}}` |
| * `{{name}}` |
| |
| |
| In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import HealthCheck using one of the formats above. For example: |
| |
| ```tf |
| import { |
| id = "projects/{{project}}/global/healthChecks/{{name}}" |
| to = google_compute_health_check.default |
| } |
| ``` |
| |
| When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), HealthCheck can be imported using one of the formats above. For example: |
| |
| ``` |
| $ terraform import google_compute_health_check.default projects/{{project}}/global/healthChecks/{{name}} |
| $ terraform import google_compute_health_check.default {{project}}/{{name}} |
| $ terraform import google_compute_health_check.default {{name}} |
| ``` |
| |
| ## User Project Overrides |
| |
| This resource supports [User Project Overrides](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/provider_reference#user_project_override). |