Class: Aws::ServiceDiscovery::Types::DnsRecord

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
lib/aws-sdk-servicediscovery/types.rb

Overview

Note:

When making an API call, you may pass DnsRecord data as a hash:

{
  type: "SRV", # required, accepts SRV, A, AAAA, CNAME
  ttl: 1, # required
}

A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#ttlInteger

The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record.

<note markdown=“1”> Alias records don’t include a TTL because Route 53 uses the TTL for the AWS resource that an alias record routes traffic to. If you include the ‘AWS_ALIAS_DNS_NAME` attribute when you submit a

RegisterInstance][1

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.

</note>

[1]: docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html

Returns:

  • (Integer)


829
830
831
832
833
834
# File 'lib/aws-sdk-servicediscovery/types.rb', line 829

class DnsRecord < Struct.new(
  :type,
  :ttl)
  SENSITIVE = []
  include Aws::Structure
end

#typeString

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:

  • ‘A`

  • ‘AAAA`

  • ‘A` and `AAAA`

  • ‘SRV`

  • ‘CNAME`

If you want AWS 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` </p> <p>Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44.</p> <p> AAAA </p> <p>Route 53 returns the IP address of the resource in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.</p> <p> CNAME </p> <p>Route 53 returns the domain name of the resource, such as www.example.com. Note the following:</p> <ul> <li> <p>You specify the domain name that you want to route traffic to when you register an instance. For more information, see <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes">Attributes</a> in the topic <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html">RegisterInstance</a>.</p> </li> <li> <p>You must specify WEIGHTED for the value of RoutingPolicy.</p> </li> <li> <p>You can't specify both CNAME for Type and settings for HealthCheckConfig. If you do, the request will fail with an InvalidInput error.</p> </li> </ul> <p> SRV </p> <p>Route 53 returns the value for an SRV record. The value for an SRV record uses the following values:</p> <p> priority weight port service-hostname </p> <p>Note the following about the values:</p> <ul> <li> <p>The values of priority and weight are both set to 1 and can't be changed. </p> </li> <li> <p>The value of port comes from the value that you specify for the AWS_INSTANCE_PORT attribute when you submit a <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html">RegisterInstance</a> request. </p> </li> <li> <p>The value of service-hostname is a concatenation of the following values:</p> <ul> <li> <p>The value that you specify for InstanceId when you register an instance.</p> </li> <li> <p>The name of the service.</p> </li> <li> <p>The name of the namespace. </p> </li> </ul> <p>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:</p> <p> test.backend.example.com </p> </li> </ul> <p>If you specify settings for an SRV record, note the following:</p> <ul> <li> <p>If you specify values for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both in the RegisterInstance request, AWS 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.</p> </li> <li> <p>If you're using a system that requires a specific SRV format, such as HAProxy, see the <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name">Name</a> element in the documentation about CreateService for information about how to specify the correct name format.</p> </li> </ul> </b></p></b></p></b>

[1]: docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html

Returns:

  • (String)


829
830
831
832
833
834
# File 'lib/aws-sdk-servicediscovery/types.rb', line 829

class DnsRecord < Struct.new(
  :type,
  :ttl)
  SENSITIVE = []
  include Aws::Structure
end