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. PassTfArg.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.
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_secattribute.no setter -
creationTimestamp
→ TfRef<
String> -
Reference to
creation_timestampattribute.no setter - defaultProvider → String
-
The provider name a block without provider uses: by default the
prefix of terraformType (
googleforgoogle_pubsub_topic).no setterinherited -
deletionPolicy
→ TfRef<
String> -
Reference to
deletion_policyattribute.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
descriptionattribute.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 atTfRef<int>— schema type isnumber(derived would widen toTfRef<num>).no setter -
healthyThreshold
→ TfRef<
num> -
Reference to
healthy_thresholdattribute.no setter -
id
→ TfRef<
String> -
Reference to
idattribute.no setter - kind → ResourceKind
-
Always
ResourceKind.resource. Overridden byData.no setterinherited - lifecycle → LifecycleOptions?
-
Optional
lifecycle { ... }block.finalinherited - localName → String
-
User-supplied local name within a Stack.
finalinherited
-
name
→ TfRef<
String> -
Reference to
nameattribute.no setter -
project
→ TfRef<
String> -
Reference to
projectattribute.no setter - provider → StackProvider?
-
Optional Terraform
providermeta-argument: the provider configuration this block uses, e.g. the aliasedGoogleProvider(alias: 'eu')the Stack registered withaddProvider.finalinherited -
ref
→ RefTo<
GoogleComputeRegionHealthCheck> -
A reference to this resource, for arguments typed
RefTo<GoogleComputeRegionHealthCheck>.no setter -
region
→ TfRef<
String> -
Reference to
regionattribute.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
selfLink
→ TfRef<
String> -
Reference to
self_linkattribute.no setter -
sensitiveFields
→ Set<
String> -
Field names that are
@Sensitiveper the IR-derived per-resource constant. Curated factories override with a baked-instatic 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_protectionboolean attribute that the synth-time devMode flow can flip tofalse. Defaults to false; the codegen emitter overrides this totruefor 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, andterraform validatedecides whether this resource's schema declares the operations set here.finalinherited -
timeoutSec
→ TfRef<
num> -
Reference to
timeout_secattribute.no setter -
type
→ TfRef<
String> -
Reference to
typeattribute.no setter -
unhealthyThreshold
→ TfRef<
num> -
Reference to
unhealthy_thresholdattribute.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