Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Synopsis
- data DnsRecord = DnsRecord' {
- type' :: RecordType
- ttl :: Natural
- newDnsRecord :: RecordType -> Natural -> DnsRecord
- dnsRecord_type :: Lens' DnsRecord RecordType
- dnsRecord_ttl :: Lens' DnsRecord Natural
Documentation
A complex type that contains information about the Route 53 DNS records that you want Cloud Map to create when you register an instance.
See: newDnsRecord
smart constructor.
DnsRecord' | |
|
Instances
Eq DnsRecord Source # | |
Read DnsRecord Source # | |
Show DnsRecord Source # | |
Generic DnsRecord Source # | |
NFData DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord | |
Hashable DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord | |
ToJSON DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord | |
FromJSON DnsRecord Source # | |
type Rep DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord type Rep DnsRecord = D1 ('MetaData "DnsRecord" "Amazonka.Route53AutoNaming.Types.DnsRecord" "libZSservicesZSamazonka-route53-autonamingZSamazonka-route53-autonaming" 'False) (C1 ('MetaCons "DnsRecord'" 'PrefixI 'True) (S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RecordType) :*: S1 ('MetaSel ('Just "ttl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural))) |
Create a value of DnsRecord
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:type':DnsRecord'
, dnsRecord_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:
A
AAAA
A
andAAAA
SRV
CNAME
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 ofRoutingPolicy
. - You can't specify both
CNAME
forType
and settings forHealthCheckConfig
. If you do, the request will fail with anInvalidInput
error.
- SRV
- Route 53 returns the value for an
SRV
record. The value for anSRV
record uses the following values:priority weight port service-hostname
Note the following about the values:
- The values of
priority
andweight
are both set to1
and can't be changed. - The value of
port
comes from the value that you specify for theAWS_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
istest
, the name of the service isbackend
, and the name of the namespace isexample.com
, the value ofservice-hostname
is the following:test.backend.example.com
- The value that you specify for
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 theRegisterInstance
request, Cloud Map automatically createsA
and/orAAAA
records that have the same name as the value ofservice-hostname
in theSRV
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 aboutCreateService
for information about how to specify the correct name format.
- The values of
$sel:ttl:DnsRecord'
, dnsRecord_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.
dnsRecord_type :: Lens' DnsRecord RecordType Source #
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
andAAAA
SRV
CNAME
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 ofRoutingPolicy
. - You can't specify both
CNAME
forType
and settings forHealthCheckConfig
. If you do, the request will fail with anInvalidInput
error.
- SRV
- Route 53 returns the value for an
SRV
record. The value for anSRV
record uses the following values:priority weight port service-hostname
Note the following about the values:
- The values of
priority
andweight
are both set to1
and can't be changed. - The value of
port
comes from the value that you specify for theAWS_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
istest
, the name of the service isbackend
, and the name of the namespace isexample.com
, the value ofservice-hostname
is the following:test.backend.example.com
- The value that you specify for
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 theRegisterInstance
request, Cloud Map automatically createsA
and/orAAAA
records that have the same name as the value ofservice-hostname
in theSRV
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 aboutCreateService
for information about how to specify the correct name format.
- The values of
dnsRecord_ttl :: Lens' DnsRecord Natural Source #
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.