:doc:`Route53 <../../route53>` / Client / list_hosted_zones_by_name

*************************
list_hosted_zones_by_name
*************************



.. py:method:: Route53.Client.list_hosted_zones_by_name(**kwargs)

  

  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 Amazon Web Services 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 <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html>`__ 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`` and ``HostedZoneId`` elements in the response contain the values, if any, specified for the ``dnsname`` and ``hostedzoneid`` parameters in the request that produced the current response.
   
  * The ``MaxItems`` element in the response contains the value, if any, that you specified for the ``maxitems`` 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 Amazon Web Services account. If ``IsTruncated`` is false, this response includes the last hosted zone that is associated with the current account. The ``NextDNSName`` element and ``NextHostedZoneId`` elements are omitted from the response.
   
  * The ``NextDNSName`` and ``NextHostedZoneId`` elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current Amazon Web Services account. If you want to list more hosted zones, make another call to ``ListHostedZonesByName``, and specify the value of ``NextDNSName`` and ``NextHostedZoneId`` in the ``dnsname`` and ``hostedzoneid`` parameters, respectively.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByName>`_  


  **Request Syntax**
  ::

    response = client.list_hosted_zones_by_name(
        DNSName='string',
        HostedZoneId='string',
        MaxItems='string'
    )
    
  :type DNSName: string
  :param 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 Amazon Web Services account, in ASCII order. For subsequent requests, include both ``dnsname`` and ``hostedzoneid`` parameters. For ``dnsname``, specify the value of ``NextDNSName`` from the previous response.

    

  
  :type HostedZoneId: string
  :param 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.

    

  
  :type MaxItems: string
  :param 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.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'HostedZones': [
              {
                  'Id': 'string',
                  'Name': 'string',
                  'CallerReference': 'string',
                  'Config': {
                      'Comment': 'string',
                      'PrivateZone': True|False
                  },
                  'ResourceRecordSetCount': 123,
                  'LinkedService': {
                      'ServicePrincipal': 'string',
                      'Description': 'string'
                  },
                  'Features': {
                      'AcceleratedRecoveryStatus': 'ENABLING'|'ENABLE_FAILED'|'ENABLING_HOSTED_ZONE_LOCKED'|'ENABLED'|'DISABLING'|'DISABLE_FAILED'|'DISABLED'|'DISABLING_HOSTED_ZONE_LOCKED',
                      'FailureReasons': {
                          'AcceleratedRecovery': 'string'
                      }
                  }
              },
          ],
          'DNSName': 'string',
          'HostedZoneId': 'string',
          'IsTruncated': True|False,
          'NextDNSName': 'string',
          'NextHostedZoneId': 'string',
          'MaxItems': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      A complex type that contains the response information for the request.

      
      

      - **HostedZones** *(list) --* 

        A complex type that contains general information about the hosted zone.

        
        

        - *(dict) --* 

          A complex type that contains general information about the hosted zone.

          
          

          - **Id** *(string) --* 

            The ID that Amazon Route 53 assigned to the hosted zone when you created it.

            
          

          - **Name** *(string) --* 

            The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

             

            For information about how to specify characters other than ``a-z``, ``0-9``, and ``-`` (hyphen) and how to specify internationalized domain names, see `CreateHostedZone <https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html>`__.

            
          

          - **CallerReference** *(string) --* 

            The value that you specified for ``CallerReference`` when you created the hosted zone.

            
          

          - **Config** *(dict) --* 

            A complex type that includes the ``Comment`` and ``PrivateZone`` elements. If you omitted the ``HostedZoneConfig`` and ``Comment`` elements from the request, the ``Config`` and ``Comment`` elements don't appear in the response.

            
            

            - **Comment** *(string) --* 

              Any comments that you want to include about the hosted zone.

              
            

            - **PrivateZone** *(boolean) --* 

              A value that indicates whether this is a private hosted zone.

              
        
          

          - **ResourceRecordSetCount** *(integer) --* 

            The number of resource record sets in the hosted zone.

            
          

          - **LinkedService** *(dict) --* 

            If the hosted zone was created by another service, the service that created the hosted zone. When a hosted zone is created by another service, you can't edit or delete it using Route 53.

            
            

            - **ServicePrincipal** *(string) --* 

              If the health check or hosted zone was created by another service, the service that created the resource. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

              
            

            - **Description** *(string) --* 

              If the health check or hosted zone was created by another service, an optional description that can be provided by the other service. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

              
        
          

          - **Features** *(dict) --* 

            The features configuration for the hosted zone, including accelerated recovery settings and status information.

            
            

            - **AcceleratedRecoveryStatus** *(string) --* 

              The current status of accelerated recovery for the hosted zone.

              
            

            - **FailureReasons** *(dict) --* 

              Information about any failures that occurred when attempting to enable or configure features for the hosted zone.

              
              

              - **AcceleratedRecovery** *(string) --* 

                The reason why accelerated recovery failed to be enabled or disabled for the hosted zone, if applicable.

                
          
        
      
    
      

      - **DNSName** *(string) --* 

        For the second and subsequent calls to ``ListHostedZonesByName``, ``DNSName`` is the value that you specified for the ``dnsname`` parameter in the request that produced the current response.

        
      

      - **HostedZoneId** *(string) --* 

        The ID that Amazon Route 53 assigned to the hosted zone when you created it.

        
      

      - **IsTruncated** *(boolean) --* 

        A flag that indicates whether there are more hosted zones to be listed. If the response was truncated, you can get the next group of ``maxitems`` hosted zones by calling ``ListHostedZonesByName`` again and specifying the values of ``NextDNSName`` and ``NextHostedZoneId`` elements in the ``dnsname`` and ``hostedzoneid`` parameters.

        
      

      - **NextDNSName** *(string) --* 

        If ``IsTruncated`` is true, the value of ``NextDNSName`` is the name of the first hosted zone in the next group of ``maxitems`` hosted zones. Call ``ListHostedZonesByName`` again and specify the value of ``NextDNSName`` and ``NextHostedZoneId`` in the ``dnsname`` and ``hostedzoneid`` parameters, respectively.

         

        This element is present only if ``IsTruncated`` is ``true``.

        
      

      - **NextHostedZoneId** *(string) --* 

        If ``IsTruncated`` is ``true``, the value of ``NextHostedZoneId`` identifies the first hosted zone in the next group of ``maxitems`` hosted zones. Call ``ListHostedZonesByName`` again and specify the value of ``NextDNSName`` and ``NextHostedZoneId`` in the ``dnsname`` and ``hostedzoneid`` parameters, respectively.

         

        This element is present only if ``IsTruncated`` is ``true``.

        
      

      - **MaxItems** *(string) --* 

        The value that you specified for the ``maxitems`` parameter in the call to ``ListHostedZonesByName`` that produced the current response.

        
  
  **Exceptions**
  
  *   :py:class:`Route53.Client.exceptions.InvalidInput`

  
  *   :py:class:`Route53.Client.exceptions.InvalidDomainName`

  