{
"type": "object",
"properties": {
"healthyThreshold": {
"allOf": [
{
"$ref": "#/components/schemas/HealthCheckThreshold"
},
{
"description": "The number of consecutive successful health checks that must occur before declaring listener healthy."
}
]
},
"intervalMillis": {
"allOf": [
{
"$ref": "#/components/schemas/HealthCheckIntervalMillis"
},
{
"description": "The time period in milliseconds between each health check execution."
}
]
},
"path": {
"allOf": [
{
"$ref": "#/components/schemas/String"
},
{
"description": "The destination path for the health check request. This value is only used if the specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored."
}
]
},
"port": {
"allOf": [
{
"$ref": "#/components/schemas/PortNumber"
},
{
"description": "The destination port for the health check request. This port must match the port defined in the PortMapping for the listener."
}
]
},
"protocol": {
"allOf": [
{
"$ref": "#/components/schemas/PortProtocol"
},
{
"description": "The protocol for the health check request. If you specify grpc, then your service must conform to the GRPC Health Checking Protocol."
}
]
},
"timeoutMillis": {
"allOf": [
{
"$ref": "#/components/schemas/HealthCheckTimeoutMillis"
},
{
"description": "The amount of time to wait when receiving a response from the health check, in milliseconds."
}
]
},
"unhealthyThreshold": {
"allOf": [
{
"$ref": "#/components/schemas/HealthCheckThreshold"
},
{
"description": "The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. "
}
]
}
},
"required": [
"healthyThreshold",
"intervalMillis",
"protocol",
"timeoutMillis",
"unhealthyThreshold"
],
"description": "An object that represents the health check policy for a virtual node's listener.",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/aws-app-mesh/refs/heads/main/json-schema/app-mesh-health-check-policy-schema.json",
"title": "HealthCheckPolicy"
}