class Aws::ServiceDiscovery::Types::DnsConfig

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.

@note When making an API call, you may pass DnsConfig

data as a hash:

    {
      namespace_id: "ResourceId",
      routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
      dns_records: [ # required
        {
          type: "SRV", # required, accepts SRV, A, AAAA, CNAME
          ttl: 1, # required
        },
      ],
    }

@!attribute [rw] namespace_id

The ID of the namespace to use for DNS configuration.
@return [String]

@!attribute [rw] routing_policy

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.

<note markdown="1"> If you want to use this service to register instances that create
alias records, specify `WEIGHTED` for the routing policy.

 </note>

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][1] 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][2] in the *Route 53 Developer Guide*.

[1]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue
[2]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
@return [String]

@!attribute [rw] dns_records

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.
@return [Array<Types::DnsRecord>]

@see docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation

Constants

SENSITIVE