/*
* 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
{
///
/// A complex type that contains information about the Amazon Route 53 DNS records that
/// you want Cloud Map to create when you register an instance.
///
///
///
/// The record types of a service can only be changed by deleting the service and recreating
/// it with a new Dnsconfig
.
///
///
///
public partial class DnsConfig
{
private List _dnsRecords = new List();
private string _namespaceId;
private RoutingPolicy _routingPolicy;
///
/// Gets and sets the property DnsRecords.
///
/// An array that contains one DnsRecord
object for each Route 53 DNS record
/// that you want Cloud Map to create when you register an instance.
///
///
[AWSProperty(Required=true)]
public List DnsRecords
{
get { return this._dnsRecords; }
set { this._dnsRecords = value; }
}
// Check to see if DnsRecords property is set
internal bool IsSetDnsRecords()
{
return this._dnsRecords != null && this._dnsRecords.Count > 0;
}
///
/// Gets and sets the property NamespaceId.
///
/// Use NamespaceId in Service
/// instead.
///
///
///
/// The ID of the namespace to use for DNS configuration.
///
///
[Obsolete("Top level attribute in request should be used to reference namespace-id")]
[AWSProperty(Max=64)]
public string NamespaceId
{
get { return this._namespaceId; }
set { this._namespaceId = value; }
}
// Check to see if NamespaceId property is set
internal bool IsSetNamespaceId()
{
return this._namespaceId != null;
}
///
/// Gets and sets the property RoutingPolicy.
///
/// The routing policy that you want to apply to all Route 53 DNS records that Cloud Map
/// creates when you register an instance and specify this service.
///
///
///
/// If you want to use this service to register instances that create alias records, specify
/// WEIGHTED
for the routing policy.
///
///
///
/// You can specify the following values:
///
/// - MULTIVALUE
-
///
/// If you define a health check for the service and the health check is healthy, Route 53
/// returns the applicable value for up to eight instances.
///
///
///
/// For example, suppose that the service includes configurations for one
A
/// record and a health check. You use the service to register 10 instances. Route 53
/// responds to DNS queries with IP addresses for up to eight healthy instances. If fewer
/// than eight instances are healthy, Route 53 responds to every DNS query with the IP
/// addresses for all of the healthy instances.
///
///
///
/// If you don't define a health check for the service, Route 53 assumes that all instances
/// are healthy and returns the values for up to eight instances.
///
///
///
/// For more information about the multivalue routing policy, see Multivalue
/// Answer Routing in the Route 53 Developer Guide.
///
/// - WEIGHTED
-
///
/// Route 53 returns the applicable value from one randomly selected instance from among
/// the instances that you registered using the same service. Currently, all records have
/// the same weight, so you can't route more or less traffic to any instances.
///
///
///
/// For example, suppose that the service includes configurations for one
A
/// record and a health check. You use the service to register 10 instances. Route 53
/// responds to DNS queries with the IP address for one randomly selected instance from
/// among the healthy instances. If no instances are healthy, Route 53 responds to DNS
/// queries as if all of the instances were healthy.
///
///
///
/// If you don't define a health check for the service, Route 53 assumes that all instances
/// are healthy and returns the applicable value for one randomly selected instance.
///
///
///
/// For more information about the weighted routing policy, see Weighted
/// Routing in the Route 53 Developer Guide.
///
///
///
public RoutingPolicy RoutingPolicy
{
get { return this._routingPolicy; }
set { this._routingPolicy = value; }
}
// Check to see if RoutingPolicy property is set
internal bool IsSetRoutingPolicy()
{
return this._routingPolicy != null;
}
}
}