/* * 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 Route 53 DNS records that you want /// Cloud Map to create when you register an instance. /// public partial class DnsRecord { private long? _ttl; private RecordType _type; /// /// Gets and sets the property TTL. /// /// The amount of time, in seconds, that you want DNS resolvers to cache the settings /// for this record. /// /// /// /// Alias records don't include a TTL because Route 53 uses the TTL for the Amazon Web /// Services resource that an alias record routes traffic to. If you include the AWS_ALIAS_DNS_NAME /// attribute when you submit a RegisterInstance /// request, the TTL value is ignored. Always specify a TTL for the service; /// you can use a service to register instances that create either alias or non-alias /// records. /// /// /// [AWSProperty(Required=true, Min=0, Max=2147483647)] public long TTL { get { return this._ttl.GetValueOrDefault(); } set { this._ttl = value; } } // Check to see if TTL property is set internal bool IsSetTTL() { return this._ttl.HasValue; } /// /// Gets and sets the property Type. /// /// The type of the resource, which indicates the type of value that Route 53 returns /// in response to DNS queries. You can specify values for Type in the following /// combinations: /// /// /// /// If you want Cloud Map to create a Route 53 alias record when you register an instance, /// specify A or AAAA for Type. /// /// /// /// You specify other settings, such as the IP address for A and AAAA /// records, when you register an instance. For more information, see RegisterInstance. /// /// /// /// The following values are supported: /// ///
A
/// /// Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44. /// ///
AAAA
/// /// Route 53 returns the IP address of the resource in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345. /// ///
CNAME
/// /// Route 53 returns the domain name of the resource, such as www.example.com. Note the /// following: /// ///
  • /// /// You specify the domain name that you want to route traffic to when you register an /// instance. For more information, see Attributes /// in the topic RegisterInstance. /// ///
  • /// /// You must specify WEIGHTED for the value of RoutingPolicy. /// ///
  • /// /// You can't specify both CNAME for Type and settings for HealthCheckConfig. /// If you do, the request will fail with an InvalidInput error. /// ///
SRV
/// /// Route 53 returns the value for an SRV record. The value for an SRV /// record uses the following values: /// /// /// /// priority weight port service-hostname /// /// /// /// Note the following about the values: /// ///
  • /// /// The values of priority and weight are both set to 1 /// and can't be changed. /// ///
  • /// /// The value of port comes from the value that you specify for the AWS_INSTANCE_PORT /// attribute when you submit a RegisterInstance /// request. /// ///
  • /// /// The value of service-hostname is a concatenation of the following values: /// ///
    • /// /// The value that you specify for InstanceId when you register an instance. /// ///
    • /// /// The name of the service. /// ///
    • /// /// The name of the namespace. /// ///
    /// /// For example, if the value of InstanceId is test, the name /// of the service is backend, and the name of the namespace is example.com, /// the value of service-hostname is the following: /// /// /// /// test.backend.example.com /// ///
/// /// If you specify settings for an SRV record, note the following: /// ///
  • /// /// If you specify values for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, /// or both in the RegisterInstance request, Cloud Map automatically creates /// A and/or AAAA records that have the same name as the value /// of service-hostname in the SRV record. You can ignore these /// records. /// ///
  • /// /// If you're using a system that requires a specific SRV format, such as /// HAProxy, see the Name /// element in the documentation about CreateService for information about /// how to specify the correct name format. /// ///
///
[AWSProperty(Required=true)] public RecordType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }