GoogleComputeHealthCheck class final
Factory wrapper for 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 for choosing a type of health check.
A global health check polls instances behind a load balancer at a
configurable interval. Once attached to a backend service (see
GoogleComputeBackendService.healthChecks) it gates which backends
receive traffic — instances that fail unhealthyThreshold consecutive
probes are pulled out of rotation until they succeed
healthyThreshold consecutive probes in a row.
For regional health checks (required by regional internal /
internal-managed load balancers) use
google_compute_region_health_check (curated separately).
Choose exactly one ComputeHealthCheckProtocol variant (HTTP, HTTPS,
HTTP2, TCP, SSL, or gRPC). The choice determines the read-only type
getter value. The sealed type enforces the GCP / Terraform
exactly-one constraint at compile time.
Required identity:
localName: Terraform local name (the address segment aftergoogle_compute_health_check.).name: GCP health-check resource name (1-63 chars, lowercase RFC1035). Forces replacement when changed.
Example (HTTP health check on /healthz):
final apiHc = GoogleComputeHealthCheck(
localName: 'api_hc',
name: TfArg.literal('api-hc'),
checkIntervalSec: TfArg.literal(10),
timeoutSec: TfArg.literal(5),
healthyThreshold: TfArg.literal(2),
unhealthyThreshold: TfArg.literal(3),
protocol: const ComputeHealthCheckHttpHealthCheckConfig(
port: TfArg.literal(8080),
requestPath: TfArg.literal('/healthz'),
proxyHeader: HealthCheckProxyHeader.none,
portSpecification: HealthCheckPortSpecification.useFixedPort,
),
logConfig: const ComputeHealthCheckHealthCheckLogConfig(enable: true),
);
Example (gRPC health check):
final grpcHc = GoogleComputeHealthCheck(
localName: 'grpc_hc',
name: TfArg.literal('grpc-hc'),
protocol: const ComputeHealthCheckGrpcHealthCheckConfig(
port: TfArg.literal(50051),
grpcServiceName: TfArg.literal('my.Service'),
portSpecification: HealthCheckPortSpecification.useFixedPort,
),
);
Cross-resource references:
- Attach via
GoogleComputeBackendService.healthChecks(list of self-links).
Composition pattern: extends Resource for
runtime behavior.
Constructors
-
GoogleComputeHealthCheck({required String localName, required TfArg<
String> name, TfArg<String> ? description, TfArg<num> ? checkIntervalSec, TfArg<num> ? timeoutSec, TfArg<num> ? healthyThreshold, TfArg<num> ? unhealthyThreshold, TfArg<List< ? sourceRegions, required ComputeHealthCheckProtocol protocol, ComputeHealthCheckHealthCheckLogConfig? logConfig, TfArg<String> >String> ? project, LifecycleOptions? lifecycle, List<DependencyTarget> ? dependsOn})
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
-
creationTimestamp
→ TfRef<
String> -
Reference to
creation_timestampattribute.no setter -
dependsOn
→ List<
DependencyTarget> ? -
Optional
depends_on = [...]. Each entry is aDependencyTarget— either a wholesale resource (rendered as bare address) or an explicitTfRef(rendered viabareAddress).finalinherited - hashCode → int
-
The hash code for this object.
no setterinherited
-
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
-
nameRef
→ TfRef<
String> -
Reference to
nameattribute.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 setter - 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
-
no setterinherited
-
type
→ TfRef<
String> -
Reference to
typeattribute.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