| Copyright | (c) 2013-2023 Brendan Hay |
|---|---|
| License | Mozilla Public License, v. 2.0. |
| Maintainer | Brendan Hay |
| Stability | auto-generated |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Amazonka.Route53AutoNaming.Types.DnsRecord
Description
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.
Constructors
| DnsRecord' | |
Fields
| |
Instances
| FromJSON DnsRecord Source # | |
| ToJSON DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord | |
| Generic DnsRecord Source # | |
| Read DnsRecord Source # | |
| Show DnsRecord Source # | |
| NFData DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord | |
| Eq DnsRecord Source # | |
| Hashable DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord | |
| type Rep DnsRecord Source # | |
Defined in Amazonka.Route53AutoNaming.Types.DnsRecord type Rep DnsRecord = D1 ('MetaData "DnsRecord" "Amazonka.Route53AutoNaming.Types.DnsRecord" "amazonka-route53-autonaming-2.0-98MlwjLW1enGruUXoTOCqp" 'False) (C1 ('MetaCons "DnsRecord'" 'PrefixI 'True) (S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RecordType) :*: S1 ('MetaSel ('Just "ttl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural))) | |
Arguments
| :: RecordType | |
| -> Natural | |
| -> DnsRecord |
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:
AAAAAAandAAAASRVCNAME
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
WEIGHTEDfor the value ofRoutingPolicy. - You can't specify both
CNAMEforTypeand settings forHealthCheckConfig. If you do, the request will fail with anInvalidInputerror.
- SRV
- Route 53 returns the value for an
SRVrecord. The value for anSRVrecord uses the following values:priority weight port service-hostname
Note the following about the values:
- The values of
priorityandweightare both set to1and can't be changed. - The value of
portcomes from the value that you specify for theAWS_INSTANCE_PORTattribute when you submit a RegisterInstance request. The value of
service-hostnameis a concatenation of the following values:- The value that you specify for
InstanceIdwhen you register an instance. - The name of the service.
- The name of the namespace.
For example, if the value of
InstanceIdistest, the name of the service isbackend, and the name of the namespace isexample.com, the value ofservice-hostnameis the following:test.backend.example.com
- The value that you specify for
If you specify settings for an
SRVrecord, note the following:- If you specify values for
AWS_INSTANCE_IPV4,AWS_INSTANCE_IPV6, or both in theRegisterInstancerequest, Cloud Map automatically createsAand/orAAAArecords that have the same name as the value ofservice-hostnamein theSRVrecord. You can ignore these records. - If you're using a system that requires a specific
SRVformat, such as HAProxy, see the Name element in the documentation aboutCreateServicefor 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:
AAAAAAandAAAASRVCNAME
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
WEIGHTEDfor the value ofRoutingPolicy. - You can't specify both
CNAMEforTypeand settings forHealthCheckConfig. If you do, the request will fail with anInvalidInputerror.
- SRV
- Route 53 returns the value for an
SRVrecord. The value for anSRVrecord uses the following values:priority weight port service-hostname
Note the following about the values:
- The values of
priorityandweightare both set to1and can't be changed. - The value of
portcomes from the value that you specify for theAWS_INSTANCE_PORTattribute when you submit a RegisterInstance request. The value of
service-hostnameis a concatenation of the following values:- The value that you specify for
InstanceIdwhen you register an instance. - The name of the service.
- The name of the namespace.
For example, if the value of
InstanceIdistest, the name of the service isbackend, and the name of the namespace isexample.com, the value ofservice-hostnameis the following:test.backend.example.com
- The value that you specify for
If you specify settings for an
SRVrecord, note the following:- If you specify values for
AWS_INSTANCE_IPV4,AWS_INSTANCE_IPV6, or both in theRegisterInstancerequest, Cloud Map automatically createsAand/orAAAArecords that have the same name as the value ofservice-hostnamein theSRVrecord. You can ignore these records. - If you're using a system that requires a specific
SRVformat, such as HAProxy, see the Name element in the documentation aboutCreateServicefor 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.