/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Public DNS and HTTP namespaces only. A complex type that contains
* settings for an optional health check. If you specify settings for a health
* check, Cloud Map associates the health check with the records that you specify
* in If you specify a health check
* configuration, you can specify either Health checks
* are basic Route 53 health checks that monitor an Amazon Web Services endpoint.
* For information about pricing for health checks, see Amazon Route 53 Pricing. Note the following about configuring health checks. If You can't specify settings for
* A Route 53 health checker in
* each health-checking Amazon Web Services Region sends a health check request to
* an endpoint every 30 seconds. On average, your endpoint receives a health check
* request about every two seconds. However, health checkers don't coordinate with
* one another. Therefore, you might sometimes see several requests in one second
* that's followed by a few seconds with no health checks at all. Health checkers perform checks from all
* Route 53 health-checking Regions. For a list of the current Regions, see Regions. When you register an instance, if you
* include the Route 53
* automatically sets If you include Health checks are basic Route 53 health checks that monitor
* an Amazon Web Services endpoint. For information about pricing for health
* checks, see Amazon Route 53
* Pricing.DnsConfig
.HealthCheckCustomConfig
or
* HealthCheckConfig
but not both.
DnsConfig
includes configurations for both
* A
and AAAA
records, Cloud Map creates a health check
* that uses the IPv4 address to check the health of the resource. If the endpoint
* tthat's specified by the IPv4 address is unhealthy, Route 53 considers both the
* A
and AAAA
records to be unhealthy. HealthCheckConfig
when the DNSConfig
includes
* CNAME
for the value of Type
. If you do, the
* CreateService
request will fail with an InvalidInput
* error.AWS_ALIAS_DNS_NAME
attribute, Cloud Map creates a
* Route 53 alias record. Note the following:
EvaluateTargetHealth
to true for alias records.
* When EvaluateTargetHealth
is true, the alias record inherits the
* health of the referenced Amazon Web Services resource. such as an ELB load
* balancer. For more information, see EvaluateTargetHealth.HealthCheckConfig
and then use the
* service to register an instance that creates an alias record, Route 53 doesn't
* create the health check.See Also:
AWS
* API Reference
The type of health check that you want to create, which indicates how * Route 53 determines whether an endpoint is healthy.
You can't
* change the value of Type
after you create a health check.
You can create the following types of health checks:
HTTP: Route 53 tries to establish a TCP connection. If * successful, Route 53 submits an HTTP request and waits for an HTTP status code * of 200 or greater and less than 400.
HTTPS: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.
If you specify HTTPS for the value of Type
,
* the endpoint must support TLS v1.0 or later.
* TCP: Route 53 tries to establish a TCP connection.
If you specify
* TCP
for Type
, don't specify a value for
* ResourcePath
.
For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline const HealthCheckType& GetType() const{ return m_type; } /** *The type of health check that you want to create, which indicates how * Route 53 determines whether an endpoint is healthy.
You can't
* change the value of Type
after you create a health check.
You can create the following types of health checks:
HTTP: Route 53 tries to establish a TCP connection. If * successful, Route 53 submits an HTTP request and waits for an HTTP status code * of 200 or greater and less than 400.
HTTPS: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.
If you specify HTTPS for the value of Type
,
* the endpoint must support TLS v1.0 or later.
* TCP: Route 53 tries to establish a TCP connection.
If you specify
* TCP
for Type
, don't specify a value for
* ResourcePath
.
For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The type of health check that you want to create, which indicates how * Route 53 determines whether an endpoint is healthy.
You can't
* change the value of Type
after you create a health check.
You can create the following types of health checks:
HTTP: Route 53 tries to establish a TCP connection. If * successful, Route 53 submits an HTTP request and waits for an HTTP status code * of 200 or greater and less than 400.
HTTPS: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.
If you specify HTTPS for the value of Type
,
* the endpoint must support TLS v1.0 or later.
* TCP: Route 53 tries to establish a TCP connection.
If you specify
* TCP
for Type
, don't specify a value for
* ResourcePath
.
For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline void SetType(const HealthCheckType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The type of health check that you want to create, which indicates how * Route 53 determines whether an endpoint is healthy.
You can't
* change the value of Type
after you create a health check.
You can create the following types of health checks:
HTTP: Route 53 tries to establish a TCP connection. If * successful, Route 53 submits an HTTP request and waits for an HTTP status code * of 200 or greater and less than 400.
HTTPS: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.
If you specify HTTPS for the value of Type
,
* the endpoint must support TLS v1.0 or later.
* TCP: Route 53 tries to establish a TCP connection.
If you specify
* TCP
for Type
, don't specify a value for
* ResourcePath
.
For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline void SetType(HealthCheckType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The type of health check that you want to create, which indicates how * Route 53 determines whether an endpoint is healthy.
You can't
* change the value of Type
after you create a health check.
You can create the following types of health checks:
HTTP: Route 53 tries to establish a TCP connection. If * successful, Route 53 submits an HTTP request and waits for an HTTP status code * of 200 or greater and less than 400.
HTTPS: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.
If you specify HTTPS for the value of Type
,
* the endpoint must support TLS v1.0 or later.
* TCP: Route 53 tries to establish a TCP connection.
If you specify
* TCP
for Type
, don't specify a value for
* ResourcePath
.
For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline HealthCheckConfig& WithType(const HealthCheckType& value) { SetType(value); return *this;} /** *The type of health check that you want to create, which indicates how * Route 53 determines whether an endpoint is healthy.
You can't
* change the value of Type
after you create a health check.
You can create the following types of health checks:
HTTP: Route 53 tries to establish a TCP connection. If * successful, Route 53 submits an HTTP request and waits for an HTTP status code * of 200 or greater and less than 400.
HTTPS: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.
If you specify HTTPS for the value of Type
,
* the endpoint must support TLS v1.0 or later.
* TCP: Route 53 tries to establish a TCP connection.
If you specify
* TCP
for Type
, don't specify a value for
* ResourcePath
.
For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline HealthCheckConfig& WithType(HealthCheckType&& value) { SetType(std::move(value)); return *this;} /** *The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The
* path can be any value that your endpoint returns an HTTP status code of a 2xx or
* 3xx format for when the endpoint is healthy. An example file is
* /docs/route53-health-check.html
. Route 53 automatically adds the
* DNS name for the service. If you don't specify a value for
* ResourcePath
, the default value is /
.
If you
* specify TCP
for Type
, you must not specify a
* value for ResourcePath
.
The number of consecutive health checks that an endpoint must pass or fail * for Route 53 to change the current status of the endpoint from unhealthy to * healthy or the other way around. For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline int GetFailureThreshold() const{ return m_failureThreshold; } /** *The number of consecutive health checks that an endpoint must pass or fail * for Route 53 to change the current status of the endpoint from unhealthy to * healthy or the other way around. For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline bool FailureThresholdHasBeenSet() const { return m_failureThresholdHasBeenSet; } /** *The number of consecutive health checks that an endpoint must pass or fail * for Route 53 to change the current status of the endpoint from unhealthy to * healthy or the other way around. For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline void SetFailureThreshold(int value) { m_failureThresholdHasBeenSet = true; m_failureThreshold = value; } /** *The number of consecutive health checks that an endpoint must pass or fail * for Route 53 to change the current status of the endpoint from unhealthy to * healthy or the other way around. For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 * Developer Guide.
*/ inline HealthCheckConfig& WithFailureThreshold(int value) { SetFailureThreshold(value); return *this;} private: HealthCheckType m_type; bool m_typeHasBeenSet = false; Aws::String m_resourcePath; bool m_resourcePathHasBeenSet = false; int m_failureThreshold; bool m_failureThresholdHasBeenSet = false; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws