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
DNSNameandHostedZoneIdelements in the response contain the values, if any, specified for thednsnameandhostedzoneidparameters in the request that produced the current response. -
The
MaxItemselement in the response contains the value, if any, that you specified for themaxitemsparameter in the request that produced the current response. -
If the value of
IsTruncatedin the response is true, there are more hosted zones associated with the current AWS account.If
IsTruncatedis false, this response includes the last hosted zone that is associated with the current account. TheNextDNSNameelement andNextHostedZoneIdelements are omitted from the response. -
The
NextDNSNameandNextHostedZoneIdelements 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 ofNextDNSNameandNextHostedZoneIdin thednsnameandhostedzoneidparameters, 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);
}