/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace Route53 { namespace Model { /** *

A complex type that contains information about the health * check.

See Also:

AWS * API Reference

*/ class HealthCheckConfig { public: AWS_ROUTE53_API HealthCheckConfig(); AWS_ROUTE53_API HealthCheckConfig(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ROUTE53_API HealthCheckConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ROUTE53_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline const Aws::String& GetIPAddress() const{ return m_iPAddress; } /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline bool IPAddressHasBeenSet() const { return m_iPAddressHasBeenSet; } /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline void SetIPAddress(const Aws::String& value) { m_iPAddressHasBeenSet = true; m_iPAddress = value; } /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline void SetIPAddress(Aws::String&& value) { m_iPAddressHasBeenSet = true; m_iPAddress = std::move(value); } /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline void SetIPAddress(const char* value) { m_iPAddressHasBeenSet = true; m_iPAddress.assign(value); } /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline HealthCheckConfig& WithIPAddress(const Aws::String& value) { SetIPAddress(value); return *this;} /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline HealthCheckConfig& WithIPAddress(Aws::String&& value) { SetIPAddress(std::move(value)); return *this;} /** *

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to * perform health checks on. If you don't specify a value for * IPAddress, Route 53 sends a DNS request to resolve the domain name * that you specify in FullyQualifiedDomainName at the interval that * you specify in RequestInterval. Using an IP address returned by * DNS, Route 53 then checks the health of the endpoint.

Use one of the * following formats for the value of IPAddress:

  • * IPv4 address: four values between 0 and 255, separated by periods (.), * for example, 192.0.2.44.

  • IPv6 address: * eight groups of four hexadecimal values, separated by colons (:), for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 * addresses as described in RFC 5952, for example, * 2001:db8:85a3::abcd:1:2345.

If the endpoint is * an EC2 instance, we recommend that you create an Elastic IP address, associate * it with your EC2 instance, and specify the Elastic IP address for * IPAddress. This ensures that the IP address of your instance will * never change.

For more information, see FullyQualifiedDomainName. *

Constraints: Route 53 can't check the health of endpoints for which the * IP address is in local, private, non-routable, or multicast ranges. For more * information about IP addresses for which you can't create health checks, see the * following documents:

When the value of Type is * CALCULATED or CLOUDWATCH_METRIC, omit * IPAddress.

*/ inline HealthCheckConfig& WithIPAddress(const char* value) { SetIPAddress(value); return *this;} /** *

The port on the endpoint that you want Amazon Route 53 to perform health * checks on.

Don't specify a value for Port when you * specify a value for Type of CLOUDWATCH_METRIC or * CALCULATED.

*/ inline int GetPort() const{ return m_port; } /** *

The port on the endpoint that you want Amazon Route 53 to perform health * checks on.

Don't specify a value for Port when you * specify a value for Type of CLOUDWATCH_METRIC or * CALCULATED.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port on the endpoint that you want Amazon Route 53 to perform health * checks on.

Don't specify a value for Port when you * specify a value for Type of CLOUDWATCH_METRIC or * CALCULATED.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port on the endpoint that you want Amazon Route 53 to perform health * checks on.

Don't specify a value for Port when you * specify a value for Type of CLOUDWATCH_METRIC or * CALCULATED.

*/ inline HealthCheckConfig& WithPort(int value) { SetPort(value); return *this;} /** *

The type of health check that you want to create, which indicates how Amazon * 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.

    *
  • HTTP_STR_MATCH: Route 53 tries to establish a TCP * connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

  • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an * HTTPS request and searches the first 5,120 bytes of the response * body for the string that you specify in SearchString.

  • *
  • TCP: Route 53 tries to establish a TCP connection.

  • *
  • CLOUDWATCH_METRIC: The health check is associated with a * CloudWatch alarm. If the state of the alarm is OK, the health check * is considered healthy. If the state is ALARM, the health check is * considered unhealthy. If CloudWatch doesn't have sufficient data to determine * whether the state is OK or ALARM, the health check * status depends on the setting for InsufficientDataHealthStatus: * Healthy, Unhealthy, or LastKnownStatus. *

  • CALCULATED: For health checks that monitor the status * of other health checks, Route 53 adds up the number of health checks that Route * 53 health checkers consider to be healthy and compares that number with the * value of HealthThreshold.

  • * RECOVERY_CONTROL: The health check is assocated with a Route53 * Application Recovery Controller routing control. If the routing control state is * ON, the health check is considered healthy. If the state is * OFF, the health check is considered unhealthy.

*

For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Amazon 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 Amazon * 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.

    *
  • HTTP_STR_MATCH: Route 53 tries to establish a TCP * connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

  • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an * HTTPS request and searches the first 5,120 bytes of the response * body for the string that you specify in SearchString.

  • *
  • TCP: Route 53 tries to establish a TCP connection.

  • *
  • CLOUDWATCH_METRIC: The health check is associated with a * CloudWatch alarm. If the state of the alarm is OK, the health check * is considered healthy. If the state is ALARM, the health check is * considered unhealthy. If CloudWatch doesn't have sufficient data to determine * whether the state is OK or ALARM, the health check * status depends on the setting for InsufficientDataHealthStatus: * Healthy, Unhealthy, or LastKnownStatus. *

  • CALCULATED: For health checks that monitor the status * of other health checks, Route 53 adds up the number of health checks that Route * 53 health checkers consider to be healthy and compares that number with the * value of HealthThreshold.

  • * RECOVERY_CONTROL: The health check is assocated with a Route53 * Application Recovery Controller routing control. If the routing control state is * ON, the health check is considered healthy. If the state is * OFF, the health check is considered unhealthy.

*

For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 * Developer Guide.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of health check that you want to create, which indicates how Amazon * 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.

    *
  • HTTP_STR_MATCH: Route 53 tries to establish a TCP * connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

  • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an * HTTPS request and searches the first 5,120 bytes of the response * body for the string that you specify in SearchString.

  • *
  • TCP: Route 53 tries to establish a TCP connection.

  • *
  • CLOUDWATCH_METRIC: The health check is associated with a * CloudWatch alarm. If the state of the alarm is OK, the health check * is considered healthy. If the state is ALARM, the health check is * considered unhealthy. If CloudWatch doesn't have sufficient data to determine * whether the state is OK or ALARM, the health check * status depends on the setting for InsufficientDataHealthStatus: * Healthy, Unhealthy, or LastKnownStatus. *

  • CALCULATED: For health checks that monitor the status * of other health checks, Route 53 adds up the number of health checks that Route * 53 health checkers consider to be healthy and compares that number with the * value of HealthThreshold.

  • * RECOVERY_CONTROL: The health check is assocated with a Route53 * Application Recovery Controller routing control. If the routing control state is * ON, the health check is considered healthy. If the state is * OFF, the health check is considered unhealthy.

*

For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Amazon 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 Amazon * 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.

    *
  • HTTP_STR_MATCH: Route 53 tries to establish a TCP * connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

  • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an * HTTPS request and searches the first 5,120 bytes of the response * body for the string that you specify in SearchString.

  • *
  • TCP: Route 53 tries to establish a TCP connection.

  • *
  • CLOUDWATCH_METRIC: The health check is associated with a * CloudWatch alarm. If the state of the alarm is OK, the health check * is considered healthy. If the state is ALARM, the health check is * considered unhealthy. If CloudWatch doesn't have sufficient data to determine * whether the state is OK or ALARM, the health check * status depends on the setting for InsufficientDataHealthStatus: * Healthy, Unhealthy, or LastKnownStatus. *

  • CALCULATED: For health checks that monitor the status * of other health checks, Route 53 adds up the number of health checks that Route * 53 health checkers consider to be healthy and compares that number with the * value of HealthThreshold.

  • * RECOVERY_CONTROL: The health check is assocated with a Route53 * Application Recovery Controller routing control. If the routing control state is * ON, the health check is considered healthy. If the state is * OFF, the health check is considered unhealthy.

*

For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Amazon 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 Amazon * 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.

    *
  • HTTP_STR_MATCH: Route 53 tries to establish a TCP * connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

  • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an * HTTPS request and searches the first 5,120 bytes of the response * body for the string that you specify in SearchString.

  • *
  • TCP: Route 53 tries to establish a TCP connection.

  • *
  • CLOUDWATCH_METRIC: The health check is associated with a * CloudWatch alarm. If the state of the alarm is OK, the health check * is considered healthy. If the state is ALARM, the health check is * considered unhealthy. If CloudWatch doesn't have sufficient data to determine * whether the state is OK or ALARM, the health check * status depends on the setting for InsufficientDataHealthStatus: * Healthy, Unhealthy, or LastKnownStatus. *

  • CALCULATED: For health checks that monitor the status * of other health checks, Route 53 adds up the number of health checks that Route * 53 health checkers consider to be healthy and compares that number with the * value of HealthThreshold.

  • * RECOVERY_CONTROL: The health check is assocated with a Route53 * Application Recovery Controller routing control. If the routing control state is * ON, the health check is considered healthy. If the state is * OFF, the health check is considered unhealthy.

*

For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Amazon 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 Amazon * 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.

    *
  • HTTP_STR_MATCH: Route 53 tries to establish a TCP * connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

  • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an * HTTPS request and searches the first 5,120 bytes of the response * body for the string that you specify in SearchString.

  • *
  • TCP: Route 53 tries to establish a TCP connection.

  • *
  • CLOUDWATCH_METRIC: The health check is associated with a * CloudWatch alarm. If the state of the alarm is OK, the health check * is considered healthy. If the state is ALARM, the health check is * considered unhealthy. If CloudWatch doesn't have sufficient data to determine * whether the state is OK or ALARM, the health check * status depends on the setting for InsufficientDataHealthStatus: * Healthy, Unhealthy, or LastKnownStatus. *

  • CALCULATED: For health checks that monitor the status * of other health checks, Route 53 adds up the number of health checks that Route * 53 health checkers consider to be healthy and compares that number with the * value of HealthThreshold.

  • * RECOVERY_CONTROL: The health check is assocated with a Route53 * Application Recovery Controller routing control. If the routing control state is * ON, the health check is considered healthy. If the state is * OFF, the health check is considered unhealthy.

*

For more information, see How * Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 * Developer Guide.

*/ inline HealthCheckConfig& WithType(HealthCheckType&& value) { SetType(std::move(value)); return *this;} /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline const Aws::String& GetResourcePath() const{ return m_resourcePath; } /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline bool ResourcePathHasBeenSet() const { return m_resourcePathHasBeenSet; } /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline void SetResourcePath(const Aws::String& value) { m_resourcePathHasBeenSet = true; m_resourcePath = value; } /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline void SetResourcePath(Aws::String&& value) { m_resourcePathHasBeenSet = true; m_resourcePath = std::move(value); } /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline void SetResourcePath(const char* value) { m_resourcePathHasBeenSet = true; m_resourcePath.assign(value); } /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline HealthCheckConfig& WithResourcePath(const Aws::String& value) { SetResourcePath(value); return *this;} /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline HealthCheckConfig& WithResourcePath(Aws::String&& value) { SetResourcePath(std::move(value)); return *this;} /** *

The path, if any, that you want Amazon Route 53 to request when performing * health checks. The path can be any value for which your endpoint will return an * HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the * file /docs/route53-health-check.html. You can also include query string * parameters, for example, /welcome.html?language=jp&login=y. *

*/ inline HealthCheckConfig& WithResourcePath(const char* value) { SetResourcePath(value); return *this;} /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline const Aws::String& GetFullyQualifiedDomainName() const{ return m_fullyQualifiedDomainName; } /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline bool FullyQualifiedDomainNameHasBeenSet() const { return m_fullyQualifiedDomainNameHasBeenSet; } /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline void SetFullyQualifiedDomainName(const Aws::String& value) { m_fullyQualifiedDomainNameHasBeenSet = true; m_fullyQualifiedDomainName = value; } /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline void SetFullyQualifiedDomainName(Aws::String&& value) { m_fullyQualifiedDomainNameHasBeenSet = true; m_fullyQualifiedDomainName = std::move(value); } /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline void SetFullyQualifiedDomainName(const char* value) { m_fullyQualifiedDomainNameHasBeenSet = true; m_fullyQualifiedDomainName.assign(value); } /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline HealthCheckConfig& WithFullyQualifiedDomainName(const Aws::String& value) { SetFullyQualifiedDomainName(value); return *this;} /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline HealthCheckConfig& WithFullyQualifiedDomainName(Aws::String&& value) { SetFullyQualifiedDomainName(std::move(value)); return *this;} /** *

Amazon Route 53 behavior depends on whether you specify a value for * IPAddress.

If you specify a value for * IPAddress:

Amazon Route 53 sends health check requests to * the specified IPv4 or IPv6 address and passes the value of * FullyQualifiedDomainName in the Host header for all * health checks except TCP health checks. This is typically the fully qualified * DNS name of the endpoint on which you want Route 53 to perform health * checks.

When Route 53 checks the health of an endpoint, here is how it * constructs the Host header:

  • If you specify a value * of 80 for Port and HTTP or * HTTP_STR_MATCH for Type, Route 53 passes the value of * FullyQualifiedDomainName to the endpoint in the Host header.

    *
  • If you specify a value of 443 for Port * and HTTPS or HTTPS_STR_MATCH for Type, * Route 53 passes the value of FullyQualifiedDomainName to the * endpoint in the Host header.

  • If you specify * another value for Port and any value except TCP for * Type, Route 53 passes FullyQualifiedDomainName:Port to * the endpoint in the Host header.

If you don't * specify a value for FullyQualifiedDomainName, Route 53 substitutes * the value of IPAddress in the Host header in each of * the preceding cases.

If you don't specify a value for * IPAddress:

Route 53 sends a DNS request to the domain that * you specify for FullyQualifiedDomainName at the interval that you * specify for RequestInterval. Using an IPv4 address that DNS * returns, Route 53 then checks the health of the endpoint.

If you * don't specify a value for IPAddress, Route 53 uses only IPv4 to * send health checks to the endpoint. If there's no resource record set with a * type of A for the name that you specify for * FullyQualifiedDomainName, the health check fails with a "DNS * resolution failed" error.

If you want to check the health of * weighted, latency, or failover resource record sets and you choose to specify * the endpoint only by FullyQualifiedDomainName, we recommend that * you create a separate health check for each endpoint. For example, create a * health check for each HTTP server that is serving content for www.example.com. * For the value of FullyQualifiedDomainName, specify the domain name * of the server (such as us-east-2-www.example.com), not the name of the resource * record sets (www.example.com).

In this configuration, if you * create a health check for which the value of * FullyQualifiedDomainName matches the name of the resource record * sets and you then associate the health check with those resource record sets, * health check results will be unpredictable.

In addition, if * the value that you specify for Type is HTTP, * HTTPS, HTTP_STR_MATCH, or * HTTPS_STR_MATCH, Route 53 passes the value of * FullyQualifiedDomainName in the Host header, as it * does when you specify a value for IPAddress. If the value of * Type is TCP, Route 53 doesn't pass a Host * header.

*/ inline HealthCheckConfig& WithFullyQualifiedDomainName(const char* value) { SetFullyQualifiedDomainName(value); return *this;} /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline const Aws::String& GetSearchString() const{ return m_searchString; } /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline bool SearchStringHasBeenSet() const { return m_searchStringHasBeenSet; } /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline void SetSearchString(const Aws::String& value) { m_searchStringHasBeenSet = true; m_searchString = value; } /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline void SetSearchString(Aws::String&& value) { m_searchStringHasBeenSet = true; m_searchString = std::move(value); } /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline void SetSearchString(const char* value) { m_searchStringHasBeenSet = true; m_searchString.assign(value); } /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline HealthCheckConfig& WithSearchString(const Aws::String& value) { SetSearchString(value); return *this;} /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline HealthCheckConfig& WithSearchString(Aws::String&& value) { SetSearchString(std::move(value)); return *this;} /** *

If the value of Type is HTTP_STR_MATCH or * HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search * for in the response body from the specified resource. If the string appears in * the response body, Route 53 considers the resource healthy.

Route 53 * considers case when searching for SearchString in the response * body.

*/ inline HealthCheckConfig& WithSearchString(const char* value) { SetSearchString(value); return *this;} /** *

The number of seconds between the time that Amazon Route 53 gets a response * from your endpoint and the time that it sends the next health check request. * Each Route 53 health checker makes requests at this interval.

*

You can't change the value of RequestInterval after you create a * health check.

If you don't specify a value for * RequestInterval, the default value is 30 seconds.

*/ inline int GetRequestInterval() const{ return m_requestInterval; } /** *

The number of seconds between the time that Amazon Route 53 gets a response * from your endpoint and the time that it sends the next health check request. * Each Route 53 health checker makes requests at this interval.

*

You can't change the value of RequestInterval after you create a * health check.

If you don't specify a value for * RequestInterval, the default value is 30 seconds.

*/ inline bool RequestIntervalHasBeenSet() const { return m_requestIntervalHasBeenSet; } /** *

The number of seconds between the time that Amazon Route 53 gets a response * from your endpoint and the time that it sends the next health check request. * Each Route 53 health checker makes requests at this interval.

*

You can't change the value of RequestInterval after you create a * health check.

If you don't specify a value for * RequestInterval, the default value is 30 seconds.

*/ inline void SetRequestInterval(int value) { m_requestIntervalHasBeenSet = true; m_requestInterval = value; } /** *

The number of seconds between the time that Amazon Route 53 gets a response * from your endpoint and the time that it sends the next health check request. * Each Route 53 health checker makes requests at this interval.

*

You can't change the value of RequestInterval after you create a * health check.

If you don't specify a value for * RequestInterval, the default value is 30 seconds.

*/ inline HealthCheckConfig& WithRequestInterval(int value) { SetRequestInterval(value); return *this;} /** *

The number of consecutive health checks that an endpoint must pass or fail * for Amazon Route 53 to change the current status of the endpoint from unhealthy * to healthy or vice versa. For more information, see How * Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon * Route 53 Developer Guide.

If you don't specify a value for * FailureThreshold, the default value is three health checks.

*/ inline int GetFailureThreshold() const{ return m_failureThreshold; } /** *

The number of consecutive health checks that an endpoint must pass or fail * for Amazon Route 53 to change the current status of the endpoint from unhealthy * to healthy or vice versa. For more information, see How * Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon * Route 53 Developer Guide.

If you don't specify a value for * FailureThreshold, the default value is three health checks.

*/ inline bool FailureThresholdHasBeenSet() const { return m_failureThresholdHasBeenSet; } /** *

The number of consecutive health checks that an endpoint must pass or fail * for Amazon Route 53 to change the current status of the endpoint from unhealthy * to healthy or vice versa. For more information, see How * Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon * Route 53 Developer Guide.

If you don't specify a value for * FailureThreshold, the default value is three health checks.

*/ 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 Amazon Route 53 to change the current status of the endpoint from unhealthy * to healthy or vice versa. For more information, see How * Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon * Route 53 Developer Guide.

If you don't specify a value for * FailureThreshold, the default value is three health checks.

*/ inline HealthCheckConfig& WithFailureThreshold(int value) { SetFailureThreshold(value); return *this;} /** *

Specify whether you want Amazon Route 53 to measure the latency between * health checkers in multiple Amazon Web Services regions and your endpoint, and * to display CloudWatch latency graphs on the Health Checks page in the * Route 53 console.

You can't change the value of * MeasureLatency after you create a health check.

*/ inline bool GetMeasureLatency() const{ return m_measureLatency; } /** *

Specify whether you want Amazon Route 53 to measure the latency between * health checkers in multiple Amazon Web Services regions and your endpoint, and * to display CloudWatch latency graphs on the Health Checks page in the * Route 53 console.

You can't change the value of * MeasureLatency after you create a health check.

*/ inline bool MeasureLatencyHasBeenSet() const { return m_measureLatencyHasBeenSet; } /** *

Specify whether you want Amazon Route 53 to measure the latency between * health checkers in multiple Amazon Web Services regions and your endpoint, and * to display CloudWatch latency graphs on the Health Checks page in the * Route 53 console.

You can't change the value of * MeasureLatency after you create a health check.

*/ inline void SetMeasureLatency(bool value) { m_measureLatencyHasBeenSet = true; m_measureLatency = value; } /** *

Specify whether you want Amazon Route 53 to measure the latency between * health checkers in multiple Amazon Web Services regions and your endpoint, and * to display CloudWatch latency graphs on the Health Checks page in the * Route 53 console.

You can't change the value of * MeasureLatency after you create a health check.

*/ inline HealthCheckConfig& WithMeasureLatency(bool value) { SetMeasureLatency(value); return *this;} /** *

Specify whether you want Amazon Route 53 to invert the status of a health * check, for example, to consider a health check unhealthy when it otherwise would * be considered healthy.

*/ inline bool GetInverted() const{ return m_inverted; } /** *

Specify whether you want Amazon Route 53 to invert the status of a health * check, for example, to consider a health check unhealthy when it otherwise would * be considered healthy.

*/ inline bool InvertedHasBeenSet() const { return m_invertedHasBeenSet; } /** *

Specify whether you want Amazon Route 53 to invert the status of a health * check, for example, to consider a health check unhealthy when it otherwise would * be considered healthy.

*/ inline void SetInverted(bool value) { m_invertedHasBeenSet = true; m_inverted = value; } /** *

Specify whether you want Amazon Route 53 to invert the status of a health * check, for example, to consider a health check unhealthy when it otherwise would * be considered healthy.

*/ inline HealthCheckConfig& WithInverted(bool value) { SetInverted(value); return *this;} /** *

Stops Route 53 from performing health checks. When you disable a health * check, here's what happens:

  • Health checks that check the * health of endpoints: Route 53 stops submitting requests to your application, * server, or other resource.

  • Calculated health checks: * Route 53 stops aggregating the status of the referenced health checks.

  • *
  • Health checks that monitor CloudWatch alarms: Route 53 stops * monitoring the corresponding CloudWatch metrics.

After you * disable a health check, Route 53 considers the status of the health check to * always be healthy. If you configured DNS failover, Route 53 continues to route * traffic to the corresponding resources. If you want to stop routing traffic to a * resource, change the value of Inverted. *

Charges for a health check still apply when the health check is * disabled. For more information, see Amazon Route 53 Pricing.

*/ inline bool GetDisabled() const{ return m_disabled; } /** *

Stops Route 53 from performing health checks. When you disable a health * check, here's what happens:

  • Health checks that check the * health of endpoints: Route 53 stops submitting requests to your application, * server, or other resource.

  • Calculated health checks: * Route 53 stops aggregating the status of the referenced health checks.

  • *
  • Health checks that monitor CloudWatch alarms: Route 53 stops * monitoring the corresponding CloudWatch metrics.

After you * disable a health check, Route 53 considers the status of the health check to * always be healthy. If you configured DNS failover, Route 53 continues to route * traffic to the corresponding resources. If you want to stop routing traffic to a * resource, change the value of Inverted. *

Charges for a health check still apply when the health check is * disabled. For more information, see Amazon Route 53 Pricing.

*/ inline bool DisabledHasBeenSet() const { return m_disabledHasBeenSet; } /** *

Stops Route 53 from performing health checks. When you disable a health * check, here's what happens:

  • Health checks that check the * health of endpoints: Route 53 stops submitting requests to your application, * server, or other resource.

  • Calculated health checks: * Route 53 stops aggregating the status of the referenced health checks.

  • *
  • Health checks that monitor CloudWatch alarms: Route 53 stops * monitoring the corresponding CloudWatch metrics.

After you * disable a health check, Route 53 considers the status of the health check to * always be healthy. If you configured DNS failover, Route 53 continues to route * traffic to the corresponding resources. If you want to stop routing traffic to a * resource, change the value of Inverted. *

Charges for a health check still apply when the health check is * disabled. For more information, see Amazon Route 53 Pricing.

*/ inline void SetDisabled(bool value) { m_disabledHasBeenSet = true; m_disabled = value; } /** *

Stops Route 53 from performing health checks. When you disable a health * check, here's what happens:

  • Health checks that check the * health of endpoints: Route 53 stops submitting requests to your application, * server, or other resource.

  • Calculated health checks: * Route 53 stops aggregating the status of the referenced health checks.

  • *
  • Health checks that monitor CloudWatch alarms: Route 53 stops * monitoring the corresponding CloudWatch metrics.

After you * disable a health check, Route 53 considers the status of the health check to * always be healthy. If you configured DNS failover, Route 53 continues to route * traffic to the corresponding resources. If you want to stop routing traffic to a * resource, change the value of Inverted. *

Charges for a health check still apply when the health check is * disabled. For more information, see Amazon Route 53 Pricing.

*/ inline HealthCheckConfig& WithDisabled(bool value) { SetDisabled(value); return *this;} /** *

The number of child health checks that are associated with a * CALCULATED health check that Amazon Route 53 must consider healthy * for the CALCULATED health check to be considered healthy. To * specify the child health checks that you want to associate with a * CALCULATED health check, use the ChildHealthChecks * element.

Note the following:

  • If you specify a number * greater than the number of child health checks, Route 53 always considers this * health check to be unhealthy.

  • If you specify 0, * Route 53 always considers this health check to be healthy.

*/ inline int GetHealthThreshold() const{ return m_healthThreshold; } /** *

The number of child health checks that are associated with a * CALCULATED health check that Amazon Route 53 must consider healthy * for the CALCULATED health check to be considered healthy. To * specify the child health checks that you want to associate with a * CALCULATED health check, use the ChildHealthChecks * element.

Note the following:

  • If you specify a number * greater than the number of child health checks, Route 53 always considers this * health check to be unhealthy.

  • If you specify 0, * Route 53 always considers this health check to be healthy.

*/ inline bool HealthThresholdHasBeenSet() const { return m_healthThresholdHasBeenSet; } /** *

The number of child health checks that are associated with a * CALCULATED health check that Amazon Route 53 must consider healthy * for the CALCULATED health check to be considered healthy. To * specify the child health checks that you want to associate with a * CALCULATED health check, use the ChildHealthChecks * element.

Note the following:

  • If you specify a number * greater than the number of child health checks, Route 53 always considers this * health check to be unhealthy.

  • If you specify 0, * Route 53 always considers this health check to be healthy.

*/ inline void SetHealthThreshold(int value) { m_healthThresholdHasBeenSet = true; m_healthThreshold = value; } /** *

The number of child health checks that are associated with a * CALCULATED health check that Amazon Route 53 must consider healthy * for the CALCULATED health check to be considered healthy. To * specify the child health checks that you want to associate with a * CALCULATED health check, use the ChildHealthChecks * element.

Note the following:

  • If you specify a number * greater than the number of child health checks, Route 53 always considers this * health check to be unhealthy.

  • If you specify 0, * Route 53 always considers this health check to be healthy.

*/ inline HealthCheckConfig& WithHealthThreshold(int value) { SetHealthThreshold(value); return *this;} /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline const Aws::Vector& GetChildHealthChecks() const{ return m_childHealthChecks; } /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline bool ChildHealthChecksHasBeenSet() const { return m_childHealthChecksHasBeenSet; } /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline void SetChildHealthChecks(const Aws::Vector& value) { m_childHealthChecksHasBeenSet = true; m_childHealthChecks = value; } /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline void SetChildHealthChecks(Aws::Vector&& value) { m_childHealthChecksHasBeenSet = true; m_childHealthChecks = std::move(value); } /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline HealthCheckConfig& WithChildHealthChecks(const Aws::Vector& value) { SetChildHealthChecks(value); return *this;} /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline HealthCheckConfig& WithChildHealthChecks(Aws::Vector&& value) { SetChildHealthChecks(std::move(value)); return *this;} /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline HealthCheckConfig& AddChildHealthChecks(const Aws::String& value) { m_childHealthChecksHasBeenSet = true; m_childHealthChecks.push_back(value); return *this; } /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline HealthCheckConfig& AddChildHealthChecks(Aws::String&& value) { m_childHealthChecksHasBeenSet = true; m_childHealthChecks.push_back(std::move(value)); return *this; } /** *

(CALCULATED Health Checks Only) A complex type that contains one * ChildHealthCheck element for each health check that you want to * associate with a CALCULATED health check.

*/ inline HealthCheckConfig& AddChildHealthChecks(const char* value) { m_childHealthChecksHasBeenSet = true; m_childHealthChecks.push_back(value); return *this; } /** *

Specify whether you want Amazon Route 53 to send the value of * FullyQualifiedDomainName to the endpoint in the * client_hello message during TLS negotiation. This allows the * endpoint to respond to HTTPS health check requests with the * applicable SSL/TLS certificate.

Some endpoints require that * HTTPS requests include the host name in the * client_hello message. If you don't enable SNI, the status of the * health check will be SSL alert handshake_failure. A health check * can also have that status for other reasons. If SNI is enabled and you're still * getting the error, check the SSL/TLS configuration on your endpoint and confirm * that your certificate is valid.

The SSL/TLS certificate on your endpoint * includes a domain name in the Common Name field and possibly * several more in the Subject Alternative Names field. One of the * domain names in the certificate should match the value that you specify for * FullyQualifiedDomainName. If the endpoint responds to the * client_hello message with a certificate that does not include the * domain name that you specified in FullyQualifiedDomainName, a * health checker will retry the handshake. In the second attempt, the health * checker will omit FullyQualifiedDomainName from the * client_hello message.

*/ inline bool GetEnableSNI() const{ return m_enableSNI; } /** *

Specify whether you want Amazon Route 53 to send the value of * FullyQualifiedDomainName to the endpoint in the * client_hello message during TLS negotiation. This allows the * endpoint to respond to HTTPS health check requests with the * applicable SSL/TLS certificate.

Some endpoints require that * HTTPS requests include the host name in the * client_hello message. If you don't enable SNI, the status of the * health check will be SSL alert handshake_failure. A health check * can also have that status for other reasons. If SNI is enabled and you're still * getting the error, check the SSL/TLS configuration on your endpoint and confirm * that your certificate is valid.

The SSL/TLS certificate on your endpoint * includes a domain name in the Common Name field and possibly * several more in the Subject Alternative Names field. One of the * domain names in the certificate should match the value that you specify for * FullyQualifiedDomainName. If the endpoint responds to the * client_hello message with a certificate that does not include the * domain name that you specified in FullyQualifiedDomainName, a * health checker will retry the handshake. In the second attempt, the health * checker will omit FullyQualifiedDomainName from the * client_hello message.

*/ inline bool EnableSNIHasBeenSet() const { return m_enableSNIHasBeenSet; } /** *

Specify whether you want Amazon Route 53 to send the value of * FullyQualifiedDomainName to the endpoint in the * client_hello message during TLS negotiation. This allows the * endpoint to respond to HTTPS health check requests with the * applicable SSL/TLS certificate.

Some endpoints require that * HTTPS requests include the host name in the * client_hello message. If you don't enable SNI, the status of the * health check will be SSL alert handshake_failure. A health check * can also have that status for other reasons. If SNI is enabled and you're still * getting the error, check the SSL/TLS configuration on your endpoint and confirm * that your certificate is valid.

The SSL/TLS certificate on your endpoint * includes a domain name in the Common Name field and possibly * several more in the Subject Alternative Names field. One of the * domain names in the certificate should match the value that you specify for * FullyQualifiedDomainName. If the endpoint responds to the * client_hello message with a certificate that does not include the * domain name that you specified in FullyQualifiedDomainName, a * health checker will retry the handshake. In the second attempt, the health * checker will omit FullyQualifiedDomainName from the * client_hello message.

*/ inline void SetEnableSNI(bool value) { m_enableSNIHasBeenSet = true; m_enableSNI = value; } /** *

Specify whether you want Amazon Route 53 to send the value of * FullyQualifiedDomainName to the endpoint in the * client_hello message during TLS negotiation. This allows the * endpoint to respond to HTTPS health check requests with the * applicable SSL/TLS certificate.

Some endpoints require that * HTTPS requests include the host name in the * client_hello message. If you don't enable SNI, the status of the * health check will be SSL alert handshake_failure. A health check * can also have that status for other reasons. If SNI is enabled and you're still * getting the error, check the SSL/TLS configuration on your endpoint and confirm * that your certificate is valid.

The SSL/TLS certificate on your endpoint * includes a domain name in the Common Name field and possibly * several more in the Subject Alternative Names field. One of the * domain names in the certificate should match the value that you specify for * FullyQualifiedDomainName. If the endpoint responds to the * client_hello message with a certificate that does not include the * domain name that you specified in FullyQualifiedDomainName, a * health checker will retry the handshake. In the second attempt, the health * checker will omit FullyQualifiedDomainName from the * client_hello message.

*/ inline HealthCheckConfig& WithEnableSNI(bool value) { SetEnableSNI(value); return *this;} /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline const Aws::Vector& GetRegions() const{ return m_regions; } /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline void SetRegions(const Aws::Vector& value) { m_regionsHasBeenSet = true; m_regions = value; } /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline void SetRegions(Aws::Vector&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline HealthCheckConfig& WithRegions(const Aws::Vector& value) { SetRegions(value); return *this;} /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline HealthCheckConfig& WithRegions(Aws::Vector&& value) { SetRegions(std::move(value)); return *this;} /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline HealthCheckConfig& AddRegions(const HealthCheckRegion& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } /** *

A complex type that contains one Region element for each region * from which you want Amazon Route 53 health checkers to check the specified * endpoint.

If you don't specify any regions, Route 53 health checkers * automatically performs checks from all of the regions that are listed under * Valid Values.

If you update a health check to remove a region that * has been performing health checks, Route 53 will briefly continue to perform * checks from that region to ensure that some health checkers are always checking * the endpoint (for example, if you replace three regions with four different * regions).

*/ inline HealthCheckConfig& AddRegions(HealthCheckRegion&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } /** *

A complex type that identifies the CloudWatch alarm that you want Amazon * Route 53 health checkers to use to determine whether the specified health check * is healthy.

*/ inline const AlarmIdentifier& GetAlarmIdentifier() const{ return m_alarmIdentifier; } /** *

A complex type that identifies the CloudWatch alarm that you want Amazon * Route 53 health checkers to use to determine whether the specified health check * is healthy.

*/ inline bool AlarmIdentifierHasBeenSet() const { return m_alarmIdentifierHasBeenSet; } /** *

A complex type that identifies the CloudWatch alarm that you want Amazon * Route 53 health checkers to use to determine whether the specified health check * is healthy.

*/ inline void SetAlarmIdentifier(const AlarmIdentifier& value) { m_alarmIdentifierHasBeenSet = true; m_alarmIdentifier = value; } /** *

A complex type that identifies the CloudWatch alarm that you want Amazon * Route 53 health checkers to use to determine whether the specified health check * is healthy.

*/ inline void SetAlarmIdentifier(AlarmIdentifier&& value) { m_alarmIdentifierHasBeenSet = true; m_alarmIdentifier = std::move(value); } /** *

A complex type that identifies the CloudWatch alarm that you want Amazon * Route 53 health checkers to use to determine whether the specified health check * is healthy.

*/ inline HealthCheckConfig& WithAlarmIdentifier(const AlarmIdentifier& value) { SetAlarmIdentifier(value); return *this;} /** *

A complex type that identifies the CloudWatch alarm that you want Amazon * Route 53 health checkers to use to determine whether the specified health check * is healthy.

*/ inline HealthCheckConfig& WithAlarmIdentifier(AlarmIdentifier&& value) { SetAlarmIdentifier(std::move(value)); return *this;} /** *

When CloudWatch has insufficient data about the metric to determine the alarm * state, the status that you want Amazon Route 53 to assign to the health * check:

  • Healthy: Route 53 considers the health * check to be healthy.

  • Unhealthy: Route 53 * considers the health check to be unhealthy.

  • * LastKnownStatus: Route 53 uses the status of the health check from * the last time that CloudWatch had sufficient data to determine the alarm state. * For new health checks that have no last known status, the default status for the * health check is healthy.

*/ inline const InsufficientDataHealthStatus& GetInsufficientDataHealthStatus() const{ return m_insufficientDataHealthStatus; } /** *

When CloudWatch has insufficient data about the metric to determine the alarm * state, the status that you want Amazon Route 53 to assign to the health * check:

  • Healthy: Route 53 considers the health * check to be healthy.

  • Unhealthy: Route 53 * considers the health check to be unhealthy.

  • * LastKnownStatus: Route 53 uses the status of the health check from * the last time that CloudWatch had sufficient data to determine the alarm state. * For new health checks that have no last known status, the default status for the * health check is healthy.

*/ inline bool InsufficientDataHealthStatusHasBeenSet() const { return m_insufficientDataHealthStatusHasBeenSet; } /** *

When CloudWatch has insufficient data about the metric to determine the alarm * state, the status that you want Amazon Route 53 to assign to the health * check:

  • Healthy: Route 53 considers the health * check to be healthy.

  • Unhealthy: Route 53 * considers the health check to be unhealthy.

  • * LastKnownStatus: Route 53 uses the status of the health check from * the last time that CloudWatch had sufficient data to determine the alarm state. * For new health checks that have no last known status, the default status for the * health check is healthy.

*/ inline void SetInsufficientDataHealthStatus(const InsufficientDataHealthStatus& value) { m_insufficientDataHealthStatusHasBeenSet = true; m_insufficientDataHealthStatus = value; } /** *

When CloudWatch has insufficient data about the metric to determine the alarm * state, the status that you want Amazon Route 53 to assign to the health * check:

  • Healthy: Route 53 considers the health * check to be healthy.

  • Unhealthy: Route 53 * considers the health check to be unhealthy.

  • * LastKnownStatus: Route 53 uses the status of the health check from * the last time that CloudWatch had sufficient data to determine the alarm state. * For new health checks that have no last known status, the default status for the * health check is healthy.

*/ inline void SetInsufficientDataHealthStatus(InsufficientDataHealthStatus&& value) { m_insufficientDataHealthStatusHasBeenSet = true; m_insufficientDataHealthStatus = std::move(value); } /** *

When CloudWatch has insufficient data about the metric to determine the alarm * state, the status that you want Amazon Route 53 to assign to the health * check:

  • Healthy: Route 53 considers the health * check to be healthy.

  • Unhealthy: Route 53 * considers the health check to be unhealthy.

  • * LastKnownStatus: Route 53 uses the status of the health check from * the last time that CloudWatch had sufficient data to determine the alarm state. * For new health checks that have no last known status, the default status for the * health check is healthy.

*/ inline HealthCheckConfig& WithInsufficientDataHealthStatus(const InsufficientDataHealthStatus& value) { SetInsufficientDataHealthStatus(value); return *this;} /** *

When CloudWatch has insufficient data about the metric to determine the alarm * state, the status that you want Amazon Route 53 to assign to the health * check:

  • Healthy: Route 53 considers the health * check to be healthy.

  • Unhealthy: Route 53 * considers the health check to be unhealthy.

  • * LastKnownStatus: Route 53 uses the status of the health check from * the last time that CloudWatch had sufficient data to determine the alarm state. * For new health checks that have no last known status, the default status for the * health check is healthy.

*/ inline HealthCheckConfig& WithInsufficientDataHealthStatus(InsufficientDataHealthStatus&& value) { SetInsufficientDataHealthStatus(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline const Aws::String& GetRoutingControlArn() const{ return m_routingControlArn; } /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline bool RoutingControlArnHasBeenSet() const { return m_routingControlArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline void SetRoutingControlArn(const Aws::String& value) { m_routingControlArnHasBeenSet = true; m_routingControlArn = value; } /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline void SetRoutingControlArn(Aws::String&& value) { m_routingControlArnHasBeenSet = true; m_routingControlArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline void SetRoutingControlArn(const char* value) { m_routingControlArnHasBeenSet = true; m_routingControlArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline HealthCheckConfig& WithRoutingControlArn(const Aws::String& value) { SetRoutingControlArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline HealthCheckConfig& WithRoutingControlArn(Aws::String&& value) { SetRoutingControlArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the Route 53 Application Recovery * Controller routing control.

For more information about Route 53 * Application Recovery Controller, see Route * 53 Application Recovery Controller Developer Guide..

*/ inline HealthCheckConfig& WithRoutingControlArn(const char* value) { SetRoutingControlArn(value); return *this;} private: Aws::String m_iPAddress; bool m_iPAddressHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; HealthCheckType m_type; bool m_typeHasBeenSet = false; Aws::String m_resourcePath; bool m_resourcePathHasBeenSet = false; Aws::String m_fullyQualifiedDomainName; bool m_fullyQualifiedDomainNameHasBeenSet = false; Aws::String m_searchString; bool m_searchStringHasBeenSet = false; int m_requestInterval; bool m_requestIntervalHasBeenSet = false; int m_failureThreshold; bool m_failureThresholdHasBeenSet = false; bool m_measureLatency; bool m_measureLatencyHasBeenSet = false; bool m_inverted; bool m_invertedHasBeenSet = false; bool m_disabled; bool m_disabledHasBeenSet = false; int m_healthThreshold; bool m_healthThresholdHasBeenSet = false; Aws::Vector m_childHealthChecks; bool m_childHealthChecksHasBeenSet = false; bool m_enableSNI; bool m_enableSNIHasBeenSet = false; Aws::Vector m_regions; bool m_regionsHasBeenSet = false; AlarmIdentifier m_alarmIdentifier; bool m_alarmIdentifierHasBeenSet = false; InsufficientDataHealthStatus m_insufficientDataHealthStatus; bool m_insufficientDataHealthStatusHasBeenSet = false; Aws::String m_routingControlArn; bool m_routingControlArnHasBeenSet = false; }; } // namespace Model } // namespace Route53 } // namespace Aws