Route 53 · Operations

Route53HealthCheck

Manage Route 53 endpoint and calculated health checks.

Generic driverUniform lifecycle
Scope
Global
Spec fields
18
Outputs
1
Lookup
Supported

Resource definition

What this resource looks like

This is the CUE shape a Praxis template uses to declare a Route53HealthCheck. The resource key is local to the template; metadata.name supplies its stable Praxis identity.

CUE example
resources: {
  albHealthCheck: {
  	apiVersion: "praxis.io/alpha"
  	kind:       "Route53HealthCheck"
  	metadata: name: "\(_naming.prefix)-alb-health"
  	spec: {
  		type:             "HTTPS"
  		fqdn:             variables.domainName
  		port:             443
  		resourcePath:     "/healthz"
  		requestInterval:  30
  		failureThreshold: 3
  		enableSNI:        true
  		tags: #StandardTags & {purpose: "endpoint-health"}
  	}
  }
}

Excerpted from examples/stacks/end-to-end.cue. Open the complete example for its variables and related resources.

Complete examples in the repository

Desired state

Configuration

The spec block accepts 18 fields. 1 is required by the schema; fields with defaults can be omitted.

typeRequired

Type.

"HTTP" | "HTTPS" | "HTTP_STR_MATCH" | "HTTPS_STR_MATCH" | "TCP" | "CALCULATED" | "CLOUDWATCH_METRIC"
Enum
ipAddressOptional

Ip Address.

string
String
portOptional

Port.

int
Integer
resourcePathOptional

Resource Path.

string
String
fqdnOptional

Fqdn.

string
String
searchStringOptional

Search String.

string
String
requestIntervalOptional

Request Interval.

10 | 30
Integer
failureThresholdOptional

Failure Threshold.

int
Integer
childHealthChecksOptional

Child Health Checks.

[...string]
List
healthThresholdOptional

Health Threshold.

int
Integer
cloudWatchAlarmNameOptional

Cloud Watch Alarm Name.

string
String
cloudWatchAlarmRegionOptional

Cloud Watch Alarm Region.

string
String
insufficientDataHealthStatusOptional

Insufficient Data Health Status.

"Healthy" | "Unhealthy" | "LastKnownStatus"
Enum
disabledOptional

Disabled.

bool | *false
BooleanDefault false
invertHealthCheckOptional

Invert Health Check.

bool | *false
BooleanDefault false
enableSNIOptional

Enable SNI.

bool | *false
BooleanDefault false
regionsOptional

Regions.

[...string]
List
tagsOptional

Tags.

[string]: string
Map

Observed values

Outputs

Praxis records these values after observation. A dependent resource can read one with ${resources.<name>.outputs.<field>}.

healthCheckIdString

Read without ownership

Data-source lookup

A data block reads an existing Route53HealthCheck and exposes its outputs without storing lifecycle state. The generic filter surface accepts id, name, and tag; supported combinations depend on the AWS identity used by this resource.

CUE data source
data: existing: {
  kind: "Route53HealthCheck"
  filter: {
    name: "replace-with-provider-name"
  }
}

Understand data sources and filters →

Adopt existing infrastructure

Import

Import persists Praxis state for an existing AWS resource. For this kind, supply: Provider identifier for the existing Route53HealthCheck. The example starts in observed mode so Praxis reports drift without correcting it.

CLI
praxis import Route53HealthCheck \
  --id <provider-identifier> \
  --account production \
  --observe

Choose managed or observed ownership →

Canonical contract

Complete CUE schema

The field guide above is derived from this definition. The schema remains the source of truth for accepted values, defaults, validation constraints, and outputs in the current alpha revision.

Show the complete schema
schemas/aws/route53/health_check.cue
package route53

#Route53HealthCheck: {
	apiVersion: "praxis.io/alpha"
	kind:       "Route53HealthCheck"

	metadata: {
		name: string & =~"^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$"
		labels: [string]: string
	}

	spec: {
		type:              "HTTP" | "HTTPS" | "HTTP_STR_MATCH" | "HTTPS_STR_MATCH" | "TCP" | "CALCULATED" | "CLOUDWATCH_METRIC"
		ipAddress?:        string
		port?:             int
		resourcePath?:     string
		fqdn?:             string
		searchString?:     string
		requestInterval?:  10 | 30
		failureThreshold?: int
		childHealthChecks?: [...string]
		healthThreshold?:              int
		cloudWatchAlarmName?:          string
		cloudWatchAlarmRegion?:        string
		insufficientDataHealthStatus?: "Healthy" | "Unhealthy" | "LastKnownStatus"
		disabled?:                     bool | *false
		invertHealthCheck?:            bool | *false
		enableSNI?:                    bool | *false
		regions?: [...string]
		tags?: [string]: string
	}

	outputs?: {
		healthCheckId: string
	}
}

View this schema on GitHub →