listHostedZonesByName method
Retrieves a list of your hosted zones in lexicographic order. The response
includes a HostedZones
child element for each hosted zone
created by the current AWS account.
ListHostedZonesByName
sorts hosted zones by name with the
labels reversed. For example:
com.example.www.
Note the trailing dot, which can change the sort order in some circumstances.
If the domain name includes escape characters or Punycode,
ListHostedZonesByName
alphabetizes the domain name using the
escaped or Punycoded value, which is the format that Amazon Route 53 saves
in its database. For example, to create a hosted zone for exämple.com, you
specify ex\344mple.com for the domain name.
ListHostedZonesByName
alphabetizes it as:
com.ex\344mple.
The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.
Route 53 returns up to 100 items in each response. If you have a lot of
hosted zones, use the MaxItems
parameter to list them in
groups of up to 100. The response includes values that help navigate from
one group of MaxItems
hosted zones to the next:
-
The
DNSName
andHostedZoneId
elements in the response contain the values, if any, specified for thednsname
andhostedzoneid
parameters in the request that produced the current response. -
The
MaxItems
element in the response contains the value, if any, that you specified for themaxitems
parameter in the request that produced the current response. -
If the value of
IsTruncated
in the response is true, there are more hosted zones associated with the current AWS account.If
IsTruncated
is false, this response includes the last hosted zone that is associated with the current account. TheNextDNSName
element andNextHostedZoneId
elements are omitted from the response. -
The
NextDNSName
andNextHostedZoneId
elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call toListHostedZonesByName
, and specify the value ofNextDNSName
andNextHostedZoneId
in thednsname
andhostedzoneid
parameters, respectively.
May throw InvalidInput. May throw InvalidDomainName.
Parameter dNSName
:
(Optional) For your first request to ListHostedZonesByName
,
include the dnsname
parameter only if you want to specify the
name of the first hosted zone in the response. If you don't include the
dnsname
parameter, Amazon Route 53 returns all of the hosted
zones that were created by the current AWS account, in ASCII order. For
subsequent requests, include both dnsname
and
hostedzoneid
parameters. For dnsname
, specify
the value of NextDNSName
from the previous response.
Parameter hostedZoneId
:
(Optional) For your first request to ListHostedZonesByName
,
do not include the hostedzoneid
parameter.
If you have more hosted zones than the value of maxitems
,
ListHostedZonesByName
returns only the first
maxitems
hosted zones. To get the next group of
maxitems
hosted zones, submit another request to
ListHostedZonesByName
and include both dnsname
and hostedzoneid
parameters. For the value of
hostedzoneid
, specify the value of the
NextHostedZoneId
element from the previous response.
Parameter maxItems
:
The maximum number of hosted zones to be included in the response body for
this request. If you have more than maxitems
hosted zones,
then the value of the IsTruncated
element in the response is
true, and the values of NextDNSName
and
NextHostedZoneId
specify the first hosted zone in the next
group of maxitems
hosted zones.
Implementation
Future<ListHostedZonesByNameResponse> listHostedZonesByName({
String? dNSName,
String? hostedZoneId,
String? maxItems,
}) async {
_s.validateStringLength(
'dNSName',
dNSName,
0,
1024,
);
_s.validateStringLength(
'hostedZoneId',
hostedZoneId,
0,
32,
);
final $query = <String, List<String>>{
if (dNSName != null) 'dnsname': [dNSName],
if (hostedZoneId != null) 'hostedzoneid': [hostedZoneId],
if (maxItems != null) 'maxitems': [maxItems],
};
final $result = await _protocol.send(
method: 'GET',
requestUri: '/2013-04-01/hostedzonesbyname',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return ListHostedZonesByNameResponse.fromXml($result.body);
}