GoogleComputeRegionHealthCheck class final

Factory wrapper for google_compute_region_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.

A regional health check polls instances behind a regional load balancer at a configurable interval. Required by regional internal (INTERNAL) and internal-managed (INTERNAL_MANAGED) load balancers; regional external schemes also accept it. For global load balancers use the regionless google_compute_health_check (curated separately).

Protocol invariant: protocol takes exactly one ComputeRegionHealthCheckProtocol variant (HTTP, HTTPS, HTTP2, TCP, SSL, gRPC, or gRPC over TLS), and the choice determines the value the GCP API will compute for type (which is read-only on this resource — accessible via the derived type getter).

Required identity:

  • localName: Terraform local name (the address segment after google_compute_region_health_check.).
  • name: GCP health-check resource name (1-63 chars, lowercase RFC1035). Forces replacement when changed.
  • region: GCP region the health check lives in (e.g. 'us-central1'). Required in practice — without it the provider falls back to the provider-level default region, which is rarely what callers want and makes the resource non-portable across environments. Pass TfArg.literal('asia-northeast1') or ... against a tfvar.

Example (HTTPS regional health check):

final apiHc = GoogleComputeRegionHealthCheck(
  'api_hc',
  name: TfArg.literal('api-region-hc'),
  region: TfArg.literal('asia-northeast1'),
  checkIntervalSec: TfArg.literal(10),
  timeoutSec: TfArg.literal(5),
  healthyThreshold: TfArg.literal(2),
  unhealthyThreshold: TfArg.literal(3),
  protocol: .https(
    port: .literal(443),
    requestPath: .literal('/healthz'),
    portSpecification: .useFixedPort,
  ),
  logConfig: ComputeRegionHealthCheckLogConfig(enable: .literal(true)),
);

Cross-resource references:

  • Attach via google_compute_region_backend_service.health_checks (list of self-links; that resource is curated separately).

Composition pattern: extends Resource for runtime behavior.

Inheritance

Constructors

GoogleComputeRegionHealthCheck(String localName, {required TfArg<String> name, TfArg<String>? region, TfArg<String>? description, TfArg<num>? checkIntervalSec, TfArg<num>? timeoutSec, TfArg<num>? healthyThreshold, TfArg<num>? unhealthyThreshold, required ComputeRegionHealthCheckProtocol protocol, ComputeRegionHealthCheckLogConfig? logConfig, TfArg<String>? project, LifecycleOptions? lifecycle, List<TfAddressed>? dependsOn, StackProvider? provider, TfTimeouts? timeouts})

Properties

argMap → Map<String, TfArg?>
Argument-name → TfArg map. Keys are snake_case (Terraform JSON name). Synth emits these keys directly; the factory is responsible for the camelCase → snake_case translation at construction time.
finalinherited
checkIntervalSec → TfRef<num>
Reference to check_interval_sec attribute.
no setter
creationTimestamp → TfRef<String>
Reference to creation_timestamp attribute.
no setter
defaultProvider → String
The provider name a block without provider uses: by default the prefix of terraformType (google for google_pubsub_topic).
no setterinherited
deletionPolicy → TfRef<String>
Reference to deletion_policy attribute.
no setter
dependsOn → List<TfAddressed>?
Optional depends_on = [...]: the resources, data sources and module calls this block waits for, e.g. dependsOn: [api, ...apiDeps]. Terraform takes whole blocks only, so an entry is never an attribute.
finalinherited
description → TfRef<String>
Reference to description attribute.
no setter
hashCode → int
The hash code for this object.
no setterinherited
healthCheckId → TfRef<int>
Reference to the computed server-assigned numeric health_check_id. Kept at TfRef<int> — schema type is number (derived would widen to TfRef<num>).
no setter
healthyThreshold → TfRef<num>
Reference to healthy_threshold attribute.
no setter
id → TfRef<String>
Reference to id attribute.
no setter
kind → ResourceKind
Always ResourceKind.resource. Overridden by Data.
no setterinherited
lifecycle → LifecycleOptions?
Optional lifecycle { ... } block.
finalinherited
localName → String
User-supplied local name within a Stack.
finalinherited
name → TfRef<String>
Reference to name attribute.
no setter
project → TfRef<String>
Reference to project attribute.
no setter
provider → StackProvider?
Optional Terraform provider meta-argument: the provider configuration this block uses, e.g. the aliased GoogleProvider(alias: 'eu') the Stack registered with addProvider.
finalinherited
ref → RefTo<GoogleComputeRegionHealthCheck>
A reference to this resource, for arguments typed RefTo<GoogleComputeRegionHealthCheck>.
no setter
region → TfRef<String>
Reference to region attribute.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
Reference to self_link attribute.
no setter
sensitiveFields → Set<String>
Field names that are @Sensitive per the IR-derived per-resource constant. Curated factories override with a baked-in static const Set<String> (file-private in v0.5+).
no setteroverride
supportsDeletionProtection → bool
Capability flag: true when this resource's underlying Terraform schema has a deletion_protection boolean attribute that the synth-time devMode flow can flip to false. Defaults to false; the codegen emitter overrides this to true for wrappers whose schema includes the attribute.
no setterinherited
terraformType → String
Terraform resource type, e.g. google_pubsub_topic.
finalinherited
tfAddress → String
Terraform address <terraformType>.<localName>, e.g. google_pubsub_topic.orders.
no setterinherited
timeouts → TfTimeouts?
Optional timeouts { ... } block: how long Terraform waits for each operation. Provider-neutral like lifecycle — synth copies the duration strings verbatim, and terraform validate decides whether this resource's schema declares the operations set here.
finalinherited
timeoutSec → TfRef<num>
Reference to timeout_sec attribute.
no setter
type → TfRef<String>
Reference to type attribute.
no setter
unhealthyThreshold → TfRef<num>
Reference to unhealthy_threshold attribute.
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

tfType → const String