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