/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the servicediscovery-2017-03-14.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.ServiceDiscovery.Model { /// /// Public DNS and HTTP namespaces only. A complex type that contains settings /// for an optional health check. If you specify settings for a health check, Cloud Map /// associates the health check with the records that you specify in DnsConfig. /// /// /// /// If you specify a health check configuration, you can specify either HealthCheckCustomConfig /// or HealthCheckConfig but not both. /// /// /// /// Health checks are basic Route 53 health checks that monitor an Amazon Web Services /// endpoint. For information about pricing for health checks, see Amazon /// Route 53 Pricing. /// /// /// /// Note the following about configuring health checks. /// ///
A and AAAA records
/// /// If DnsConfig includes configurations for both A and AAAA /// records, Cloud Map creates a health check that uses the IPv4 address to check the /// health of the resource. If the endpoint tthat's specified by the IPv4 address is unhealthy, /// Route 53 considers both the A and AAAA records to be unhealthy. /// /// ///
CNAME records
/// /// You can't specify settings for HealthCheckConfig when the DNSConfig /// includes CNAME for the value of Type. If you do, the CreateService /// request will fail with an InvalidInput error. /// ///
Request interval
/// /// A Route 53 health checker in each health-checking Amazon Web Services Region sends /// a health check request to an endpoint every 30 seconds. On average, your endpoint /// receives a health check request about every two seconds. However, health checkers /// don't coordinate with one another. Therefore, you might sometimes see several requests /// in one second that's followed by a few seconds with no health checks at all. /// ///
Health checking regions
/// /// Health checkers perform checks from all Route 53 health-checking Regions. For a list /// of the current Regions, see Regions. /// ///
Alias records
/// /// When you register an instance, if you include the AWS_ALIAS_DNS_NAME /// attribute, Cloud Map creates a Route 53 alias record. Note the following: /// ///
  • /// /// Route 53 automatically sets EvaluateTargetHealth to true for alias records. /// When EvaluateTargetHealth is true, the alias record inherits the health /// of the referenced Amazon Web Services resource. such as an ELB load balancer. For /// more information, see EvaluateTargetHealth. /// ///
  • /// /// If you include HealthCheckConfig and then use the service to register /// an instance that creates an alias record, Route 53 doesn't create the health check. /// ///
Charges for health checks
/// /// Health checks are basic Route 53 health checks that monitor an Amazon Web Services /// endpoint. For information about pricing for health checks, see Amazon /// Route 53 Pricing. /// ///
///
public partial class HealthCheckConfig { private int? _failureThreshold; private string _resourcePath; private HealthCheckType _type; /// /// Gets and sets the property FailureThreshold. /// /// The number of consecutive health checks that an endpoint must pass or fail for Route 53 /// to change the current status of the endpoint from unhealthy to healthy or the other /// way around. For more information, see How /// Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer /// Guide. /// /// [AWSProperty(Min=1, Max=10)] public int FailureThreshold { get { return this._failureThreshold.GetValueOrDefault(); } set { this._failureThreshold = value; } } // Check to see if FailureThreshold property is set internal bool IsSetFailureThreshold() { return this._failureThreshold.HasValue; } /// /// Gets and sets the property ResourcePath. /// /// The path that you want Route 53 to request when performing health checks. The path /// can be any value that your endpoint returns an HTTP status code of a 2xx or 3xx format /// for when the endpoint is healthy. An example file is /docs/route53-health-check.html. /// Route 53 automatically adds the DNS name for the service. If you don't specify a value /// for ResourcePath, the default value is /. /// /// /// /// If you specify TCP for Type, you must not specify /// a value for ResourcePath. /// /// [AWSProperty(Max=255)] public string ResourcePath { get { return this._resourcePath; } set { this._resourcePath = value; } } // Check to see if ResourcePath property is set internal bool IsSetResourcePath() { return this._resourcePath != null; } /// /// Gets and sets the property Type. /// /// The type of health check that you want to create, which indicates how Route 53 determines /// whether an endpoint is healthy. /// /// /// /// You can't change the value of Type after you create a health check. /// /// /// /// You can create the following types of health checks: /// /// /// /// For more information, see How /// Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer /// Guide. /// /// [AWSProperty(Required=true)] public HealthCheckType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }