/** * 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 #include namespace Aws { namespace Route53 { namespace Model { /** *

A complex type that contains information about a request to update a health * check.

See Also:

AWS * API Reference

*/ class UpdateHealthCheckRequest : public Route53Request { public: AWS_ROUTE53_API UpdateHealthCheckRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateHealthCheck"; } AWS_ROUTE53_API Aws::String SerializePayload() const override; /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline const Aws::String& GetHealthCheckId() const{ return m_healthCheckId; } /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline bool HealthCheckIdHasBeenSet() const { return m_healthCheckIdHasBeenSet; } /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline void SetHealthCheckId(const Aws::String& value) { m_healthCheckIdHasBeenSet = true; m_healthCheckId = value; } /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline void SetHealthCheckId(Aws::String&& value) { m_healthCheckIdHasBeenSet = true; m_healthCheckId = std::move(value); } /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline void SetHealthCheckId(const char* value) { m_healthCheckIdHasBeenSet = true; m_healthCheckId.assign(value); } /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline UpdateHealthCheckRequest& WithHealthCheckId(const Aws::String& value) { SetHealthCheckId(value); return *this;} /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline UpdateHealthCheckRequest& WithHealthCheckId(Aws::String&& value) { SetHealthCheckId(std::move(value)); return *this;} /** *

The ID for the health check for which you want detailed information. When you * created the health check, CreateHealthCheck returned the ID in the * response, in the HealthCheckId element.

*/ inline UpdateHealthCheckRequest& WithHealthCheckId(const char* value) { SetHealthCheckId(value); return *this;} /** *

A sequential counter that Amazon Route 53 sets to 1 when you * create a health check and increments by 1 each time you update settings for the * health check.

We recommend that you use GetHealthCheck or * ListHealthChecks to get the current value of * HealthCheckVersion for the health check that you want to update, * and that you include that value in your UpdateHealthCheck request. * This prevents Route 53 from overwriting an intervening update:

  • *

    If the value in the UpdateHealthCheck request matches the value * of HealthCheckVersion in the health check, Route 53 updates the * health check with the new settings.

  • If the value of * HealthCheckVersion in the health check is greater, the health check * was changed after you got the version number. Route 53 does not update the * health check, and it returns a HealthCheckVersionMismatch * error.

*/ inline long long GetHealthCheckVersion() const{ return m_healthCheckVersion; } /** *

A sequential counter that Amazon Route 53 sets to 1 when you * create a health check and increments by 1 each time you update settings for the * health check.

We recommend that you use GetHealthCheck or * ListHealthChecks to get the current value of * HealthCheckVersion for the health check that you want to update, * and that you include that value in your UpdateHealthCheck request. * This prevents Route 53 from overwriting an intervening update:

  • *

    If the value in the UpdateHealthCheck request matches the value * of HealthCheckVersion in the health check, Route 53 updates the * health check with the new settings.

  • If the value of * HealthCheckVersion in the health check is greater, the health check * was changed after you got the version number. Route 53 does not update the * health check, and it returns a HealthCheckVersionMismatch * error.

*/ inline bool HealthCheckVersionHasBeenSet() const { return m_healthCheckVersionHasBeenSet; } /** *

A sequential counter that Amazon Route 53 sets to 1 when you * create a health check and increments by 1 each time you update settings for the * health check.

We recommend that you use GetHealthCheck or * ListHealthChecks to get the current value of * HealthCheckVersion for the health check that you want to update, * and that you include that value in your UpdateHealthCheck request. * This prevents Route 53 from overwriting an intervening update:

  • *

    If the value in the UpdateHealthCheck request matches the value * of HealthCheckVersion in the health check, Route 53 updates the * health check with the new settings.

  • If the value of * HealthCheckVersion in the health check is greater, the health check * was changed after you got the version number. Route 53 does not update the * health check, and it returns a HealthCheckVersionMismatch * error.

*/ inline void SetHealthCheckVersion(long long value) { m_healthCheckVersionHasBeenSet = true; m_healthCheckVersion = value; } /** *

A sequential counter that Amazon Route 53 sets to 1 when you * create a health check and increments by 1 each time you update settings for the * health check.

We recommend that you use GetHealthCheck or * ListHealthChecks to get the current value of * HealthCheckVersion for the health check that you want to update, * and that you include that value in your UpdateHealthCheck request. * This prevents Route 53 from overwriting an intervening update:

  • *

    If the value in the UpdateHealthCheck request matches the value * of HealthCheckVersion in the health check, Route 53 updates the * health check with the new settings.

  • If the value of * HealthCheckVersion in the health check is greater, the health check * was changed after you got the version number. Route 53 does not update the * health check, and it returns a HealthCheckVersionMismatch * error.

*/ inline UpdateHealthCheckRequest& WithHealthCheckVersion(long long value) { SetHealthCheckVersion(value); return *this;} /** *

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

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

The IPv4 or IPv6 IP address for 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 that is * 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 never * changes. For more information, see the applicable documentation:

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

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:

*/ inline UpdateHealthCheckRequest& 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 UpdateHealthCheckRequest& WithPort(int value) { SetPort(value); return *this;} /** *

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

The path 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.

Specify * this value only if you want to change it.

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

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

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 UpdateHealthCheckRequest& WithFullyQualifiedDomainName(const Aws::String& value) { SetFullyQualifiedDomainName(value); return *this;} /** *

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

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 UpdateHealthCheckRequest& WithFullyQualifiedDomainName(Aws::String&& value) { SetFullyQualifiedDomainName(std::move(value)); return *this;} /** *

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

If a health check already has a value for * IPAddress, you can change the value. However, you can't update an * existing health check to add or remove the value of IPAddress.

*

If you specify a value for IPAddress:

*

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 above * cases.

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

If you don't specify a value for * IPAddress, Route 53 sends a DNS request to the domain that you * specify in FullyQualifiedDomainName at the interval you specify in * RequestInterval. Using an IPv4 address that is returned by DNS, * 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 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 of 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 UpdateHealthCheckRequest& 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. (You can't change * the value of Type when you update a health check.)

*/ 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. (You can't change * the value of Type when you update a health check.)

*/ 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. (You can't change * the value of Type when you update a health check.)

*/ 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. (You can't change * the value of Type when you update a health check.)

*/ 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. (You can't change * the value of Type when you update a health check.)

*/ 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. (You can't change * the value of Type when you update a health check.)

*/ inline UpdateHealthCheckRequest& 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. (You can't change * the value of Type when you update a health check.)

*/ inline UpdateHealthCheckRequest& 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. (You can't change * the value of Type when you update a health check.)

*/ inline UpdateHealthCheckRequest& WithSearchString(const char* value) { SetSearchString(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 UpdateHealthCheckRequest& WithFailureThreshold(int value) { SetFailureThreshold(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 UpdateHealthCheckRequest& 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 UpdateHealthCheckRequest& WithDisabled(bool value) { SetDisabled(value); return *this;} /** *

The number of child health checks that are associated with a * CALCULATED health 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 and * ChildHealthCheck elements.

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 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 and * ChildHealthCheck elements.

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 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 and * ChildHealthCheck elements.

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 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 and * ChildHealthCheck elements.

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 UpdateHealthCheckRequest& WithHealthThreshold(int value) { SetHealthThreshold(value); return *this;} /** *

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; } /** *

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; } /** *

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; } /** *

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); } /** *

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

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

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

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

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

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

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

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

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

*/ inline UpdateHealthCheckRequest& 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 UpdateHealthCheckRequest& WithEnableSNI(bool value) { SetEnableSNI(value); return *this;} /** *

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

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

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

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

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

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

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

*/ 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 * that you want Amazon Route 53 health checkers to check the specified endpoint * from.

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

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

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

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

*/ inline UpdateHealthCheckRequest& 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 * that you want Amazon Route 53 health checkers to check the specified endpoint * from.

*/ inline UpdateHealthCheckRequest& 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 UpdateHealthCheckRequest& 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 UpdateHealthCheckRequest& 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: By default, Route 53 uses the status of the health * check from the last time CloudWatch had sufficient data to determine the alarm * state. For new health checks that have no last known status, the 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: By default, Route 53 uses the status of the health * check from the last time CloudWatch had sufficient data to determine the alarm * state. For new health checks that have no last known status, the 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: By default, Route 53 uses the status of the health * check from the last time CloudWatch had sufficient data to determine the alarm * state. For new health checks that have no last known status, the 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: By default, Route 53 uses the status of the health * check from the last time CloudWatch had sufficient data to determine the alarm * state. For new health checks that have no last known status, the 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: By default, Route 53 uses the status of the health * check from the last time CloudWatch had sufficient data to determine the alarm * state. For new health checks that have no last known status, the status for the * health check is healthy.

*/ inline UpdateHealthCheckRequest& 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: By default, Route 53 uses the status of the health * check from the last time CloudWatch had sufficient data to determine the alarm * state. For new health checks that have no last known status, the status for the * health check is healthy.

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

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline const Aws::Vector& GetResetElements() const{ return m_resetElements; } /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline bool ResetElementsHasBeenSet() const { return m_resetElementsHasBeenSet; } /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline void SetResetElements(const Aws::Vector& value) { m_resetElementsHasBeenSet = true; m_resetElements = value; } /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline void SetResetElements(Aws::Vector&& value) { m_resetElementsHasBeenSet = true; m_resetElements = std::move(value); } /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline UpdateHealthCheckRequest& WithResetElements(const Aws::Vector& value) { SetResetElements(value); return *this;} /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline UpdateHealthCheckRequest& WithResetElements(Aws::Vector&& value) { SetResetElements(std::move(value)); return *this;} /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline UpdateHealthCheckRequest& AddResetElements(const ResettableElementName& value) { m_resetElementsHasBeenSet = true; m_resetElements.push_back(value); return *this; } /** *

A complex type that contains one ResettableElementName element * for each element that you want to reset to the default value. Valid values for * ResettableElementName include the following:

*/ inline UpdateHealthCheckRequest& AddResetElements(ResettableElementName&& value) { m_resetElementsHasBeenSet = true; m_resetElements.push_back(std::move(value)); return *this; } private: Aws::String m_healthCheckId; bool m_healthCheckIdHasBeenSet = false; long long m_healthCheckVersion; bool m_healthCheckVersionHasBeenSet = false; Aws::String m_iPAddress; bool m_iPAddressHasBeenSet = false; int m_port; bool m_portHasBeenSet = 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_failureThreshold; bool m_failureThresholdHasBeenSet = 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::Vector m_resetElements; bool m_resetElementsHasBeenSet = false; }; } // namespace Model } // namespace Route53 } // namespace Aws