

.. _Creating, Changing, and Deleting Resource Record Sets Using the Route 53 API: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/RRSchanges.html#RRSchanges_API
.. _Creating Alias Resource Record Sets: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingAliasRRSets.html
.. _Deleting a Hosted Zone: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeleteHostedZone.html
.. _NS and SOA Records that Route 53 Creates for a Hosted Zone: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html


*******
Route53
*******

.. contents:: Table of Contents
   :depth: 2


======
Client
======



.. py:class:: Route53.Client

  A low-level client representing Amazon Route 53::

    
    import boto3
    
    client = boto3.client('route53')

  
  These are the available methods:
  
  *   :py:meth:`associate_vpc_with_hosted_zone`

  
  *   :py:meth:`can_paginate`

  
  *   :py:meth:`change_resource_record_sets`

  
  *   :py:meth:`change_tags_for_resource`

  
  *   :py:meth:`create_health_check`

  
  *   :py:meth:`create_hosted_zone`

  
  *   :py:meth:`create_reusable_delegation_set`

  
  *   :py:meth:`delete_health_check`

  
  *   :py:meth:`delete_hosted_zone`

  
  *   :py:meth:`delete_reusable_delegation_set`

  
  *   :py:meth:`disassociate_vpc_from_hosted_zone`

  
  *   :py:meth:`generate_presigned_url`

  
  *   :py:meth:`get_change`

  
  *   :py:meth:`get_checker_ip_ranges`

  
  *   :py:meth:`get_geo_location`

  
  *   :py:meth:`get_health_check`

  
  *   :py:meth:`get_health_check_count`

  
  *   :py:meth:`get_health_check_last_failure_reason`

  
  *   :py:meth:`get_health_check_status`

  
  *   :py:meth:`get_hosted_zone`

  
  *   :py:meth:`get_hosted_zone_count`

  
  *   :py:meth:`get_paginator`

  
  *   :py:meth:`get_reusable_delegation_set`

  
  *   :py:meth:`get_waiter`

  
  *   :py:meth:`list_geo_locations`

  
  *   :py:meth:`list_health_checks`

  
  *   :py:meth:`list_hosted_zones`

  
  *   :py:meth:`list_hosted_zones_by_name`

  
  *   :py:meth:`list_resource_record_sets`

  
  *   :py:meth:`list_reusable_delegation_sets`

  
  *   :py:meth:`list_tags_for_resource`

  
  *   :py:meth:`list_tags_for_resources`

  
  *   :py:meth:`update_health_check`

  
  *   :py:meth:`update_hosted_zone_comment`

  

  .. py:method:: associate_vpc_with_hosted_zone(**kwargs)

    

    This action associates a VPC with an hosted zone. 

     

    To associate a VPC with an hosted zone, send a ``POST`` request to the ``2013-04-01/hostedzone/*hosted zone ID* /associatevpc`` resource. The request body must include an XML document with a ``AssociateVPCWithHostedZoneRequest`` element. The response returns the ``AssociateVPCWithHostedZoneResponse`` element that contains ``ChangeInfo`` for you to track the progress of the ``AssociateVPCWithHostedZoneRequest`` you made. See ``GetChange`` operation for how to track the progress of your change.

    

    **Request Syntax** 
    ::

      response = client.associate_vpc_with_hosted_zone(
          HostedZoneId='string',
          VPC={
              'VPCRegion': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
              'VPCId': 'string'
          },
          Comment='string'
      )
    :type HostedZoneId: string
    :param HostedZoneId: **[REQUIRED]** 

      The ID of the hosted zone you want to associate your VPC with.

       

      Note that you cannot associate a VPC with a hosted zone that doesn't have an existing VPC association.

      

    
    :type VPC: dict
    :param VPC: **[REQUIRED]** 

      The VPC that you want your hosted zone to be associated with. 

      

    
      - **VPCRegion** *(string) --* 

      
      - **VPCId** *(string) --* 

        A VPC ID

        

      
    
    :type Comment: string
    :param Comment: 

      *Optional:* Any comments you want to include about a ``AssociateVPCWithHostedZoneRequest`` .

      

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

      
      ::

        {
            'ChangeInfo': {
                'Id': 'string',
                'Status': 'PENDING'|'INSYNC',
                'SubmittedAt': datetime(2015, 1, 1),
                'Comment': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing the response information for the request.

        
        

        - **ChangeInfo** *(dict) --* 

          A complex type that contains the ID, the status, and the date and time of your ``AssociateVPCWithHostedZoneRequest`` .

          
          

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

            The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

            
          

          - **Status** *(string) --* 

            The current state of the request. ``PENDING`` indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

             

            Valid Values: ``PENDING`` | ``INSYNC`` 

            
          

          - **SubmittedAt** *(datetime) --* 

            The date and time the change was submitted, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

            
          

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

            A complex type that describes change information about changes made to your hosted zone.

             

            This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

            
      
    

  .. py:method:: can_paginate(operation_name)

        
    Check if an operation can be paginated.
    
    :type operation_name: string
    :param operation_name: The operation name.  This is the same name
        as the method name on the client.  For example, if the
        method name is ``create_foo``, and you'd normally invoke the
        operation as ``client.create_foo(**kwargs)``, if the
        ``create_foo`` operation can be paginated, you can use the
        call ``client.get_paginator("create_foo")``.
    
    :return: ``True`` if the operation can be paginated,
        ``False`` otherwise.


  .. py:method:: change_resource_record_sets(**kwargs)

    

    Use this action to create or change your authoritative DNS information. To use this action, send a ``POST`` request to the ``2013-04-01/hostedzone/*hosted Zone ID* /rrset`` resource. The request body must include an XML document with a ``ChangeResourceRecordSetsRequest`` element.

     

    Changes are a list of change items and are considered transactional. For more information on transactional changes, also known as change batches, see `Creating, Changing, and Deleting Resource Record Sets Using the Route 53 API`_ in the *Amazon Route 53 Developer Guide* .

     

    .. warning::

      Due to the nature of transactional changes, you cannot delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Route 53 returns an ``InvalidChangeBatch`` error.

     

    In response to a ``ChangeResourceRecordSets`` request, your DNS data is changed on all Route 53 DNS servers. Initially, the status of a change is ``PENDING`` . This means the change has not yet propagated to all the authoritative Route 53 DNS servers. When the change is propagated to all hosts, the change returns a status of ``INSYNC`` .

     

    Note the following limitations on a ``ChangeResourceRecordSets`` request:

     

    - A request cannot contain more than 100 Change elements.

     

    - A request cannot contain more than 1000 ResourceRecord elements.

     

    The sum of the number of characters (including spaces) in all ``Value`` elements in a request cannot exceed 32,000 characters.

    

    **Request Syntax** 
    ::

      response = client.change_resource_record_sets(
          HostedZoneId='string',
          ChangeBatch={
              'Comment': 'string',
              'Changes': [
                  {
                      'Action': 'CREATE'|'DELETE'|'UPSERT',
                      'ResourceRecordSet': {
                          'Name': 'string',
                          'Type': 'SOA'|'A'|'TXT'|'NS'|'CNAME'|'MX'|'PTR'|'SRV'|'SPF'|'AAAA',
                          'SetIdentifier': 'string',
                          'Weight': 123,
                          'Region': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
                          'GeoLocation': {
                              'ContinentCode': 'string',
                              'CountryCode': 'string',
                              'SubdivisionCode': 'string'
                          },
                          'Failover': 'PRIMARY'|'SECONDARY',
                          'TTL': 123,
                          'ResourceRecords': [
                              {
                                  'Value': 'string'
                              },
                          ],
                          'AliasTarget': {
                              'HostedZoneId': 'string',
                              'DNSName': 'string',
                              'EvaluateTargetHealth': True|False
                          },
                          'HealthCheckId': 'string'
                      }
                  },
              ]
          }
      )
    :type HostedZoneId: string
    :param HostedZoneId: **[REQUIRED]** 

      The ID of the hosted zone that contains the resource record sets that you want to change.

      

    
    :type ChangeBatch: dict
    :param ChangeBatch: **[REQUIRED]** 

      A complex type that contains an optional comment and the ``Changes`` element.

      

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

        *Optional:* Any comments you want to include about a change batch request.

        

      
      - **Changes** *(list) --* **[REQUIRED]** 

        A complex type that contains one ``Change`` element for each resource record set that you want to create or delete.

        

      
        - *(dict) --* 

          A complex type that contains the information for each change in a change batch request.

          

        
          - **Action** *(string) --* **[REQUIRED]** 

            The action to perform.

             

            Valid values: ``CREATE`` | ``DELETE`` | ``UPSERT`` 

            

          
          - **ResourceRecordSet** *(dict) --* **[REQUIRED]** 

            Information about the resource record set to create or delete.

            

          
            - **Name** *(string) --* **[REQUIRED]** 

              The domain name of the current resource record set.

              

            
            - **Type** *(string) --* **[REQUIRED]** 

              The type of the current resource record set.

              

            
            - **SetIdentifier** *(string) --* 

              *Weighted, Latency, Geo, and Failover resource record sets only:* An identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type.

              

            
            - **Weight** *(integer) --* 

              *Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines what portion of traffic for the current resource record set is routed to the associated location.

              

            
            - **Region** *(string) --* 

              *Latency-based resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that specifies the AWS region for the current resource record set.

              

            
            - **GeoLocation** *(dict) --* 

              *Geo location resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that specifies the geo location for the current resource record set.

              

            
              - **ContinentCode** *(string) --* 

                The code for a continent geo location. Note: only continent locations have a continent code.

                 

                Valid values: ``AF`` | ``AN`` | ``AS`` | ``EU`` | ``OC`` | ``NA`` | ``SA`` 

                 

                Constraint: Specifying ``ContinentCode`` with either ``CountryCode`` or ``SubdivisionCode`` returns an  InvalidInput error.

                

              
              - **CountryCode** *(string) --* 

                The code for a country geo location. The default location uses '*' for the country code and will match all locations that are not matched by a geo location.

                 

                The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

                

              
              - **SubdivisionCode** *(string) --* 

                The code for a country's subdivision (e.g., a province of Canada). A subdivision code is only valid with the appropriate country code.

                 

                Constraint: Specifying ``SubdivisionCode`` without ``CountryCode`` returns an  InvalidInput error.

                

              
            
            - **Failover** *(string) --* 

              *Failover resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that indicates whether the current resource record set is a primary or secondary resource record set. A failover set may contain at most one resource record set marked as primary and one resource record set marked as secondary. A resource record set marked as primary will be returned if any of the following are true: (1) an associated health check is passing, (2) if the resource record set is an alias with the evaluate target health and at least one target resource record set is healthy, (3) both the primary and secondary resource record set are failing health checks or (4) there is no secondary resource record set. A secondary resource record set will be returned if: (1) the primary is failing a health check and either the secondary is passing a health check or has no associated health check, or (2) there is no primary resource record set. 

               

              Valid values: ``PRIMARY`` | ``SECONDARY`` 

              

            
            - **TTL** *(integer) --* 

              The cache time to live for the current resource record set.

              

            
            - **ResourceRecords** *(list) --* 

              A complex type that contains the resource records for the current resource record set.

              

            
              - *(dict) --* 

                A complex type that contains the value of the ``Value`` element for the current resource record set.

                

              
                - **Value** *(string) --* **[REQUIRED]** 

                  The value of the ``Value`` element for the current resource record set.

                  

                
              
          
            - **AliasTarget** *(dict) --* 

              *Alias resource record sets only:* Information about the AWS resource to which you are redirecting traffic.

              

            
              - **HostedZoneId** *(string) --* **[REQUIRED]** 

                *Alias resource record sets only:* The value of the hosted zone ID for the AWS resource.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .

              
              - **DNSName** *(string) --* **[REQUIRED]** 

                *Alias resource record sets only:* The external DNS name associated with the AWS Resource.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .

              
              - **EvaluateTargetHealth** *(boolean) --* **[REQUIRED]** 

                *Alias resource record sets only:* A boolean value that indicates whether this Resource Record Set should respect the health status of any health checks associated with the ALIAS target record which it is linked to.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .

              
            
            - **HealthCheckId** *(string) --* 

              *Health Check resource record sets only, not required for alias resource record sets:* An identifier that is used to identify health check associated with the resource record set.

              

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

      
      ::

        {
            'ChangeInfo': {
                'Id': 'string',
                'Status': 'PENDING'|'INSYNC',
                'SubmittedAt': datetime(2015, 1, 1),
                'Comment': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing the response for the request.

        
        

        - **ChangeInfo** *(dict) --* 

          A complex type that contains information about changes made to your hosted zone.

           

          This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

          
          

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

            The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

            
          

          - **Status** *(string) --* 

            The current state of the request. ``PENDING`` indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

             

            Valid Values: ``PENDING`` | ``INSYNC`` 

            
          

          - **SubmittedAt** *(datetime) --* 

            The date and time the change was submitted, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

            
          

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

            A complex type that describes change information about changes made to your hosted zone.

             

            This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

            
      
    

  .. py:method:: change_tags_for_resource(**kwargs)

    

    **Request Syntax** 
    ::

      response = client.change_tags_for_resource(
          ResourceType='healthcheck'|'hostedzone',
          ResourceId='string',
          AddTags=[
              {
                  'Key': 'string',
                  'Value': 'string'
              },
          ],
          RemoveTagKeys=[
              'string',
          ]
      )
    :type ResourceType: string
    :param ResourceType: **[REQUIRED]** 

      The type of the resource.

       

      - The resource type for health checks is ``healthcheck`` .

       

      - The resource type for hosted zones is ``hostedzone`` .

      

    
    :type ResourceId: string
    :param ResourceId: **[REQUIRED]** 

      The ID of the resource for which you want to add, change, or delete tags.

      

    
    :type AddTags: list
    :param AddTags: 

      A complex type that contains a list of ``Tag`` elements. Each ``Tag`` element identifies a tag that you want to add or update for the specified resource.

      

    
      - *(dict) --* 

        A single tag containing a key and value.

        

      
        - **Key** *(string) --* 

          The key for a ``Tag`` .

          

        
        - **Value** *(string) --* 

          The value for a ``Tag`` .

          

        
      
  
    :type RemoveTagKeys: list
    :param RemoveTagKeys: 

      A list of ``Tag`` keys that you want to remove from the specified resource.

      

    
      - *(string) --* 

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

      
      ::

        {}
        
      **Response Structure** 

      

      - *(dict) --* 

        Empty response for the request.

        
    

  .. py:method:: create_health_check(**kwargs)

    

    This action creates a new health check.

     

    To create a new health check, send a ``POST`` request to the ``2013-04-01/healthcheck`` resource. The request body must include an XML document with a ``CreateHealthCheckRequest`` element. The response returns the ``CreateHealthCheckResponse`` element that contains metadata about the health check.

    

    **Request Syntax** 
    ::

      response = client.create_health_check(
          CallerReference='string',
          HealthCheckConfig={
              'IPAddress': 'string',
              'Port': 123,
              'Type': 'HTTP'|'HTTPS'|'HTTP_STR_MATCH'|'HTTPS_STR_MATCH'|'TCP',
              'ResourcePath': 'string',
              'FullyQualifiedDomainName': 'string',
              'SearchString': 'string',
              'RequestInterval': 123,
              'FailureThreshold': 123
          }
      )
    :type CallerReference: string
    :param CallerReference: **[REQUIRED]** 

      A unique string that identifies the request and that allows failed ``CreateHealthCheck`` requests to be retried without the risk of executing the operation twice. You must use a unique ``CallerReference`` string every time you create a health check. ``CallerReference`` can be any unique string; you might choose to use a string that identifies your project.

       

      Valid characters are any Unicode code points that are legal in an XML 1.0 document. The UTF-8 encoding of the value must be less than 128 bytes.

      

    
    :type HealthCheckConfig: dict
    :param HealthCheckConfig: **[REQUIRED]** 

      A complex type that contains health check configuration.

      

    
      - **IPAddress** *(string) --* 

        IP Address of the instance being checked. 

        

      
      - **Port** *(integer) --* 

        Port on which connection will be opened to the instance to health check. For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.

        

      
      - **Type** *(string) --* **[REQUIRED]** 

        The type of health check to be performed. Currently supported types are TCP, HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH.

        

      
      - **ResourcePath** *(string) --* 

        Path to ping on the instance to check the health. Required for HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks, HTTP request is issued to the instance on the given port and path.

        

      
      - **FullyQualifiedDomainName** *(string) --* 

        Fully qualified domain name of the instance to be health checked.

        

      
      - **SearchString** *(string) --* 

        A string to search for in the body of a health check response. Required for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.

        

      
      - **RequestInterval** *(integer) --* 

        The number of seconds between the time that Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

         

        Each Route 53 health checker makes requests at this interval. Valid values are 10 and 30. The default value is 30.

        

      
      - **FailureThreshold** *(integer) --* 

        The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

         

        Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

        

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

      
      ::

        {
            'HealthCheck': {
                'Id': 'string',
                'CallerReference': 'string',
                'HealthCheckConfig': {
                    'IPAddress': 'string',
                    'Port': 123,
                    'Type': 'HTTP'|'HTTPS'|'HTTP_STR_MATCH'|'HTTPS_STR_MATCH'|'TCP',
                    'ResourcePath': 'string',
                    'FullyQualifiedDomainName': 'string',
                    'SearchString': 'string',
                    'RequestInterval': 123,
                    'FailureThreshold': 123
                },
                'HealthCheckVersion': 123
            },
            'Location': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing the response information for the new health check.

        
        

        - **HealthCheck** *(dict) --* 

          A complex type that contains identifying information about the health check.

          
          

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

            The ID of the specified health check.

            
          

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

            A unique string that identifies the request to create the health check.

            
          

          - **HealthCheckConfig** *(dict) --* 

            A complex type that contains the health check configuration.

            
            

            - **IPAddress** *(string) --* 

              IP Address of the instance being checked. 

              
            

            - **Port** *(integer) --* 

              Port on which connection will be opened to the instance to health check. For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.

              
            

            - **Type** *(string) --* 

              The type of health check to be performed. Currently supported types are TCP, HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH.

              
            

            - **ResourcePath** *(string) --* 

              Path to ping on the instance to check the health. Required for HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks, HTTP request is issued to the instance on the given port and path.

              
            

            - **FullyQualifiedDomainName** *(string) --* 

              Fully qualified domain name of the instance to be health checked.

              
            

            - **SearchString** *(string) --* 

              A string to search for in the body of a health check response. Required for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.

              
            

            - **RequestInterval** *(integer) --* 

              The number of seconds between the time that Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

               

              Each Route 53 health checker makes requests at this interval. Valid values are 10 and 30. The default value is 30.

              
            

            - **FailureThreshold** *(integer) --* 

              The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

               

              Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

              
        
          

          - **HealthCheckVersion** *(integer) --* 

            The version of the health check. You can optionally pass this value in a call to ``UpdateHealthCheck`` to prevent overwriting another change to the health check.

            
      
        

        - **Location** *(string) --* 

          The unique URL representing the new health check.

          
    

  .. py:method:: create_hosted_zone(**kwargs)

    

    This action creates a new hosted zone.

     

    To create a new hosted zone, send a ``POST`` request to the ``2013-04-01/hostedzone`` resource. The request body must include an XML document with a ``CreateHostedZoneRequest`` element. The response returns the ``CreateHostedZoneResponse`` element that contains metadata about the hosted zone.

     

    Route 53 automatically creates a default SOA record and four NS records for the zone. The NS records in the hosted zone are the name servers you give your registrar to delegate your domain to. For more information about SOA and NS records, see `NS and SOA Records that Route 53 Creates for a Hosted Zone`_ in the *Amazon Route 53 Developer Guide* .

     

    When you create a zone, its initial status is ``PENDING`` . This means that it is not yet available on all DNS servers. The status of the zone changes to ``INSYNC`` when the NS and SOA records are available on all Route 53 DNS servers. 

     

    When trying to create a hosted zone using a reusable delegation set, you could specify an optional DelegationSetId, and Route53 would assign those 4 NS records for the zone, instead of alloting a new one.

    

    **Request Syntax** 
    ::

      response = client.create_hosted_zone(
          Name='string',
          VPC={
              'VPCRegion': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
              'VPCId': 'string'
          },
          CallerReference='string',
          HostedZoneConfig={
              'Comment': 'string',
              'PrivateZone': True|False
          },
          DelegationSetId='string'
      )
    :type Name: string
    :param Name: **[REQUIRED]** 

      The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

       

      This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

      

    
    :type VPC: dict
    :param VPC: 

      The VPC that you want your hosted zone to be associated with. By providing this parameter, your newly created hosted cannot be resolved anywhere other than the given VPC.

      

    
      - **VPCRegion** *(string) --* 

      
      - **VPCId** *(string) --* 

        A VPC ID

        

      
    
    :type CallerReference: string
    :param CallerReference: **[REQUIRED]** 

      A unique string that identifies the request and that allows failed ``CreateHostedZone`` requests to be retried without the risk of executing the operation twice. You must use a unique ``CallerReference`` string every time you create a hosted zone. ``CallerReference`` can be any unique string; you might choose to use a string that identifies your project, such as ``DNSMigration_01`` .

       

      Valid characters are any Unicode code points that are legal in an XML 1.0 document. The UTF-8 encoding of the value must be less than 128 bytes.

      

    
    :type HostedZoneConfig: dict
    :param HostedZoneConfig: 

      A complex type that contains an optional comment about your hosted zone.

      

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

        An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

        

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

        A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

        

      
    
    :type DelegationSetId: string
    :param DelegationSetId: 

      The delegation set id of the reusable delgation set whose NS records you want to assign to the new hosted zone.

      

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

      
      ::

        {
            'HostedZone': {
                'Id': 'string',
                'Name': 'string',
                'CallerReference': 'string',
                'Config': {
                    'Comment': 'string',
                    'PrivateZone': True|False
                },
                'ResourceRecordSetCount': 123
            },
            'ChangeInfo': {
                'Id': 'string',
                'Status': 'PENDING'|'INSYNC',
                'SubmittedAt': datetime(2015, 1, 1),
                'Comment': 'string'
            },
            'DelegationSet': {
                'Id': 'string',
                'CallerReference': 'string',
                'NameServers': [
                    'string',
                ]
            },
            'VPC': {
                'VPCRegion': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
                'VPCId': 'string'
            },
            'Location': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing the response information for the new hosted zone.

        
        

        - **HostedZone** *(dict) --* 

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

          
          

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

            The ID of the specified hosted zone.

            
          

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

            The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

             

            This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

            
          

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

            A unique string that identifies the request to create the hosted zone.

            
          

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

            A complex type that contains the ``Comment`` element.

            
            

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

              An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

              
            

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

              A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

              
        
          

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

            Total number of resource record sets in the hosted zone.

            
      
        

        - **ChangeInfo** *(dict) --* 

          A complex type that contains information about the request to create a hosted zone. This includes an ID that you use when you call the  GetChange action to get the current status of the change request.

          
          

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

            The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

            
          

          - **Status** *(string) --* 

            The current state of the request. ``PENDING`` indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

             

            Valid Values: ``PENDING`` | ``INSYNC`` 

            
          

          - **SubmittedAt** *(datetime) --* 

            The date and time the change was submitted, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

            
          

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

            A complex type that describes change information about changes made to your hosted zone.

             

            This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

            
      
        

        - **DelegationSet** *(dict) --* 

          A complex type that contains name server information.

          
          

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

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

          - **NameServers** *(list) --* 

            A complex type that contains the authoritative name servers for the hosted zone. Use the method provided by your domain registrar to add an NS record to your domain for each ``NameServer`` that is assigned to your hosted zone.

            
            

            - *(string) --* 
        
      
        

        - **VPC** *(dict) --* 
          

          - **VPCRegion** *(string) --* 
          

          - **VPCId** *(string) --* 

            A VPC ID

            
      
        

        - **Location** *(string) --* 

          The unique URL representing the new hosted zone.

          
    

  .. py:method:: create_reusable_delegation_set(**kwargs)

    

    This action creates a reusable delegationSet.

     

    To create a new reusable delegationSet, send a ``POST`` request to the ``2013-04-01/delegationset`` resource. The request body must include an XML document with a ``CreateReusableDelegationSetRequest`` element. The response returns the ``CreateReusableDelegationSetResponse`` element that contains metadata about the delegationSet. 

     

    If the optional parameter HostedZoneId is specified, it marks the delegationSet associated with that particular hosted zone as reusable. 

    

    **Request Syntax** 
    ::

      response = client.create_reusable_delegation_set(
          CallerReference='string',
          HostedZoneId='string'
      )
    :type CallerReference: string
    :param CallerReference: **[REQUIRED]** 

      A unique string that identifies the request and that allows failed ``CreateReusableDelegationSet`` requests to be retried without the risk of executing the operation twice. You must use a unique ``CallerReference`` string every time you create a reusable delegation set. ``CallerReference`` can be any unique string; you might choose to use a string that identifies your project, such as ``DNSMigration_01`` .

       

      Valid characters are any Unicode code points that are legal in an XML 1.0 document. The UTF-8 encoding of the value must be less than 128 bytes.

      

    
    :type HostedZoneId: string
    :param HostedZoneId: 

      The ID of the hosted zone whose delegation set you want to mark as reusable. It is an optional parameter.

      

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

      
      ::

        {
            'DelegationSet': {
                'Id': 'string',
                'CallerReference': 'string',
                'NameServers': [
                    'string',
                ]
            },
            'Location': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 
        

        - **DelegationSet** *(dict) --* 

          A complex type that contains name server information.

          
          

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

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

          - **NameServers** *(list) --* 

            A complex type that contains the authoritative name servers for the hosted zone. Use the method provided by your domain registrar to add an NS record to your domain for each ``NameServer`` that is assigned to your hosted zone.

            
            

            - *(string) --* 
        
      
        

        - **Location** *(string) --* 

          The unique URL representing the new reusbale delegation set.

          
    

  .. py:method:: delete_health_check(**kwargs)

    

    This action deletes a health check. To delete a health check, send a ``DELETE`` request to the ``2013-04-01/healthcheck/*health check ID*`` resource.

     

    .. warning::

      You can delete a health check only if there are no resource record sets associated with this health check. If resource record sets are associated with this health check, you must disassociate them before you can delete your health check. If you try to delete a health check that is associated with resource record sets, Route 53 will deny your request with a ``HealthCheckInUse`` error. For information about disassociating the records from your health check, see  ChangeResourceRecordSets .

    

    **Request Syntax** 
    ::

      response = client.delete_health_check(
          HealthCheckId='string'
      )
    :type HealthCheckId: string
    :param HealthCheckId: **[REQUIRED]** 

      The ID of the health check to delete.

      

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

      
      ::

        {}
        
      **Response Structure** 

      

      - *(dict) --* 

        Empty response for the request.

        
    

  .. py:method:: delete_hosted_zone(**kwargs)

    

    This action deletes a hosted zone. To delete a hosted zone, send a ``DELETE`` request to the ``2013-04-01/hostedzone/*hosted zone ID*`` resource.

     

    For more information about deleting a hosted zone, see `Deleting a Hosted Zone`_ in the *Amazon Route 53 Developer Guide* .

     

    .. warning::

      You can delete a hosted zone only if there are no resource record sets other than the default SOA record and NS resource record sets. If your hosted zone contains other resource record sets, you must delete them before you can delete your hosted zone. If you try to delete a hosted zone that contains other resource record sets, Route 53 will deny your request with a ``HostedZoneNotEmpty`` error. For information about deleting records from your hosted zone, see  ChangeResourceRecordSets .

    

    **Request Syntax** 
    ::

      response = client.delete_hosted_zone(
          Id='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the hosted zone you want to delete.

      

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

      
      ::

        {
            'ChangeInfo': {
                'Id': 'string',
                'Status': 'PENDING'|'INSYNC',
                'SubmittedAt': datetime(2015, 1, 1),
                'Comment': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing the response information for the request.

        
        

        - **ChangeInfo** *(dict) --* 

          A complex type that contains the ID, the status, and the date and time of your delete request.

          
          

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

            The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

            
          

          - **Status** *(string) --* 

            The current state of the request. ``PENDING`` indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

             

            Valid Values: ``PENDING`` | ``INSYNC`` 

            
          

          - **SubmittedAt** *(datetime) --* 

            The date and time the change was submitted, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

            
          

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

            A complex type that describes change information about changes made to your hosted zone.

             

            This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

            
      
    

  .. py:method:: delete_reusable_delegation_set(**kwargs)

    

    This action deletes a reusable delegation set. To delete a reusable delegation set, send a ``DELETE`` request to the ``2013-04-01/delegationset/*delegation set ID*`` resource.

     

    .. warning::

      You can delete a reusable delegation set only if there are no associated hosted zones. If your reusable delegation set contains associated hosted zones, you must delete them before you can delete your reusable delegation set. If you try to delete a reusable delegation set that contains associated hosted zones, Route 53 will deny your request with a ``DelegationSetInUse`` error.

    

    **Request Syntax** 
    ::

      response = client.delete_reusable_delegation_set(
          Id='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the reusable delegation set you want to delete.

      

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

      
      ::

        {}
        
      **Response Structure** 

      

      - *(dict) --* 

        Empty response for the request.

        
    

  .. py:method:: disassociate_vpc_from_hosted_zone(**kwargs)

    

    This action disassociates a VPC from an hosted zone. 

     

    To disassociate a VPC to a hosted zone, send a ``POST`` request to the ``2013-04-01/hostedzone/*hosted zone ID* /disassociatevpc`` resource. The request body must include an XML document with a ``DisassociateVPCFromHostedZoneRequest`` element. The response returns the ``DisassociateVPCFromHostedZoneResponse`` element that contains ``ChangeInfo`` for you to track the progress of the ``DisassociateVPCFromHostedZoneRequest`` you made. See ``GetChange`` operation for how to track the progress of your change.

    

    **Request Syntax** 
    ::

      response = client.disassociate_vpc_from_hosted_zone(
          HostedZoneId='string',
          VPC={
              'VPCRegion': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
              'VPCId': 'string'
          },
          Comment='string'
      )
    :type HostedZoneId: string
    :param HostedZoneId: **[REQUIRED]** 

      The ID of the hosted zone you want to disassociate your VPC from.

       

      Note that you cannot disassociate the last VPC from a hosted zone.

      

    
    :type VPC: dict
    :param VPC: **[REQUIRED]** 

      The VPC that you want your hosted zone to be disassociated from. 

      

    
      - **VPCRegion** *(string) --* 

      
      - **VPCId** *(string) --* 

        A VPC ID

        

      
    
    :type Comment: string
    :param Comment: 

      *Optional:* Any comments you want to include about a ``DisassociateVPCFromHostedZoneRequest`` .

      

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

      
      ::

        {
            'ChangeInfo': {
                'Id': 'string',
                'Status': 'PENDING'|'INSYNC',
                'SubmittedAt': datetime(2015, 1, 1),
                'Comment': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing the response information for the request.

        
        

        - **ChangeInfo** *(dict) --* 

          A complex type that contains the ID, the status, and the date and time of your ``DisassociateVPCFromHostedZoneRequest`` .

          
          

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

            The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

            
          

          - **Status** *(string) --* 

            The current state of the request. ``PENDING`` indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

             

            Valid Values: ``PENDING`` | ``INSYNC`` 

            
          

          - **SubmittedAt** *(datetime) --* 

            The date and time the change was submitted, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

            
          

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

            A complex type that describes change information about changes made to your hosted zone.

             

            This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

            
      
    

  .. py:method:: generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)

        
    Generate a presigned url given a client, its method, and arguments
    
    :type ClientMethod: string
    :param ClientMethod: The client method to presign for
    
    :type Params: dict
    :param Params: The parameters normally passed to
        ``ClientMethod``.
    
    :type ExpiresIn: int
    :param ExpiresIn: The number of seconds the presigned url is valid
        for. By default it expires in an hour (3600 seconds)
    
    :type HttpMethod: string
    :param HttpMethod: The http method to use on the generated url. By
        default, the http method is whatever is used in the method's model.
    
    :returns: The presigned url


  .. py:method:: get_change(**kwargs)

    

    This action returns the current status of a change batch request. The status is one of the following values:

     

    - ``PENDING`` indicates that the changes in this request have not replicated to all Route 53 DNS servers. This is the initial status of all change batch requests.

     

    - ``INSYNC`` indicates that the changes have replicated to all Amazon Route 53 DNS servers. 

    

    **Request Syntax** 
    ::

      response = client.get_change(
          Id='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the change batch request. The value that you specify here is the value that ``ChangeResourceRecordSets`` returned in the Id element when you submitted the request.

      

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

      
      ::

        {
            'ChangeInfo': {
                'Id': 'string',
                'Status': 'PENDING'|'INSYNC',
                'SubmittedAt': datetime(2015, 1, 1),
                'Comment': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the ``ChangeInfo`` element.

        
        

        - **ChangeInfo** *(dict) --* 

          A complex type that contains information about the specified change batch, including the change batch ID, the status of the change, and the date and time of the request.

          
          

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

            The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

            
          

          - **Status** *(string) --* 

            The current state of the request. ``PENDING`` indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

             

            Valid Values: ``PENDING`` | ``INSYNC`` 

            
          

          - **SubmittedAt** *(datetime) --* 

            The date and time the change was submitted, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

            
          

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

            A complex type that describes change information about changes made to your hosted zone.

             

            This element contains an ID that you use when performing a  GetChange action to get detailed information about the change.

            
      
    

  .. py:method:: get_checker_ip_ranges()

    

    To retrieve a list of the IP ranges used by Amazon Route 53 health checkers to check the health of your resources, send a ``GET`` request to the ``2013-04-01/checkeripranges`` resource. You can use these IP addresses to configure router and firewall rules to allow health checkers to check the health of your resources.

    

    **Request Syntax** 
    ::

      response = client.get_checker_ip_ranges()
      
    
    :rtype: dict
    :returns: 
      
      **Response Syntax** 

      
      ::

        {
            'CheckerIpRanges': [
                'string',
            ]
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the ``CheckerIpRanges`` element.

        
        

        - **CheckerIpRanges** *(list) --* 

          A complex type that contains sorted list of IP ranges in CIDR format for Amazon Route 53 health checkers.

          
          

          - *(string) --* 
      
    

  .. py:method:: get_geo_location(**kwargs)

    

    To retrieve a single geo location, send a ``GET`` request to the ``2013-04-01/geolocation`` resource with one of these options: continentcode | countrycode | countrycode and subdivisioncode.

    

    **Request Syntax** 
    ::

      response = client.get_geo_location(
          ContinentCode='string',
          CountryCode='string',
          SubdivisionCode='string'
      )
    :type ContinentCode: string
    :param ContinentCode: 

      The code for a continent geo location. Note: only continent locations have a continent code.

       

      Valid values: ``AF`` | ``AN`` | ``AS`` | ``EU`` | ``OC`` | ``NA`` | ``SA`` 

       

      Constraint: Specifying ``ContinentCode`` with either ``CountryCode`` or ``SubdivisionCode`` returns an  InvalidInput error.

      

    
    :type CountryCode: string
    :param CountryCode: 

      The code for a country geo location. The default location uses '*' for the country code and will match all locations that are not matched by a geo location.

       

      The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

      

    
    :type SubdivisionCode: string
    :param SubdivisionCode: 

      The code for a country's subdivision (e.g., a province of Canada). A subdivision code is only valid with the appropriate country code.

       

      Constraint: Specifying ``SubdivisionCode`` without ``CountryCode`` returns an  InvalidInput error.

      

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

      
      ::

        {
            'GeoLocationDetails': {
                'ContinentCode': 'string',
                'ContinentName': 'string',
                'CountryCode': 'string',
                'CountryName': 'string',
                'SubdivisionCode': 'string',
                'SubdivisionName': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing information about the specified geo location.

        
        

        - **GeoLocationDetails** *(dict) --* 

          A complex type that contains the information about the specified geo location.

          
          

          - **ContinentCode** *(string) --* 

            The code for a continent geo location. Note: only continent locations have a continent code.

            
          

          - **ContinentName** *(string) --* 

            The name of the continent. This element is only present if ``ContinentCode`` is also present.

            
          

          - **CountryCode** *(string) --* 

            The code for a country geo location. The default location uses '*' for the country code and will match all locations that are not matched by a geo location.

             

            The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

            
          

          - **CountryName** *(string) --* 

            The name of the country. This element is only present if ``CountryCode`` is also present.

            
          

          - **SubdivisionCode** *(string) --* 

            The code for a country's subdivision (e.g., a province of Canada). A subdivision code is only valid with the appropriate country code.

            
          

          - **SubdivisionName** *(string) --* 

            The name of the subdivision. This element is only present if ``SubdivisionCode`` is also present.

            
      
    

  .. py:method:: get_health_check(**kwargs)

    

    To retrieve the health check, send a ``GET`` request to the ``2013-04-01/healthcheck/*health check ID*`` resource. 

    

    **Request Syntax** 
    ::

      response = client.get_health_check(
          HealthCheckId='string'
      )
    :type HealthCheckId: string
    :param HealthCheckId: **[REQUIRED]** 

      The ID of the health check to retrieve.

      

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

      
      ::

        {
            'HealthCheck': {
                'Id': 'string',
                'CallerReference': 'string',
                'HealthCheckConfig': {
                    'IPAddress': 'string',
                    'Port': 123,
                    'Type': 'HTTP'|'HTTPS'|'HTTP_STR_MATCH'|'HTTPS_STR_MATCH'|'TCP',
                    'ResourcePath': 'string',
                    'FullyQualifiedDomainName': 'string',
                    'SearchString': 'string',
                    'RequestInterval': 123,
                    'FailureThreshold': 123
                },
                'HealthCheckVersion': 123
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing information about the specified health check.

        
        

        - **HealthCheck** *(dict) --* 

          A complex type that contains the information about the specified health check.

          
          

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

            The ID of the specified health check.

            
          

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

            A unique string that identifies the request to create the health check.

            
          

          - **HealthCheckConfig** *(dict) --* 

            A complex type that contains the health check configuration.

            
            

            - **IPAddress** *(string) --* 

              IP Address of the instance being checked. 

              
            

            - **Port** *(integer) --* 

              Port on which connection will be opened to the instance to health check. For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.

              
            

            - **Type** *(string) --* 

              The type of health check to be performed. Currently supported types are TCP, HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH.

              
            

            - **ResourcePath** *(string) --* 

              Path to ping on the instance to check the health. Required for HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks, HTTP request is issued to the instance on the given port and path.

              
            

            - **FullyQualifiedDomainName** *(string) --* 

              Fully qualified domain name of the instance to be health checked.

              
            

            - **SearchString** *(string) --* 

              A string to search for in the body of a health check response. Required for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.

              
            

            - **RequestInterval** *(integer) --* 

              The number of seconds between the time that Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

               

              Each Route 53 health checker makes requests at this interval. Valid values are 10 and 30. The default value is 30.

              
            

            - **FailureThreshold** *(integer) --* 

              The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

               

              Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

              
        
          

          - **HealthCheckVersion** *(integer) --* 

            The version of the health check. You can optionally pass this value in a call to ``UpdateHealthCheck`` to prevent overwriting another change to the health check.

            
      
    

  .. py:method:: get_health_check_count()

    

    To retrieve a count of all your health checks, send a ``GET`` request to the ``2013-04-01/healthcheckcount`` resource.

    

    **Request Syntax** 
    ::

      response = client.get_health_check_count()
      
    
    :rtype: dict
    :returns: 
      
      **Response Syntax** 

      
      ::

        {
            'HealthCheckCount': 123
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the count of health checks associated with the current AWS account.

        
        

        - **HealthCheckCount** *(integer) --* 

          The number of health checks associated with the current AWS account.

          
    

  .. py:method:: get_health_check_last_failure_reason(**kwargs)

    

    If you want to learn why a health check is currently failing or why it failed most recently (if at all), you can get the failure reason for the most recent failure. Send a ``GET`` request to the ``2013-04-01/healthcheck/*health check ID* /lastfailurereason`` resource.

    

    **Request Syntax** 
    ::

      response = client.get_health_check_last_failure_reason(
          HealthCheckId='string'
      )
    :type HealthCheckId: string
    :param HealthCheckId: **[REQUIRED]** 

      The ID of the health check for which you want to retrieve the reason for the most recent failure.

      

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

      
      ::

        {
            'HealthCheckObservations': [
                {
                    'IPAddress': 'string',
                    'StatusReport': {
                        'Status': 'string',
                        'CheckedTime': datetime(2015, 1, 1)
                    }
                },
            ]
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains information about the most recent failure for the specified health check.

        
        

        - **HealthCheckObservations** *(list) --* 

          A list that contains one ``HealthCheckObservation`` element for each Route 53 health checker.

          
          

          - *(dict) --* 

            A complex type that contains the IP address of a Route 53 health checker and the reason for the health check status.

            
            

            - **IPAddress** *(string) --* 

              The IP address of the Route 53 health checker that performed the health check.

              
            

            - **StatusReport** *(dict) --* 

              A complex type that contains information about the health check status for the current observation.

              
              

              - **Status** *(string) --* 

                The observed health check status.

                
              

              - **CheckedTime** *(datetime) --* 

                The date and time the health check status was observed, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

                
          
        
      
    

  .. py:method:: get_health_check_status(**kwargs)

    

    To retrieve the health check status, send a ``GET`` request to the ``2013-04-01/healthcheck/*health check ID* /status`` resource. You can use this call to get a health check's current status. 

    

    **Request Syntax** 
    ::

      response = client.get_health_check_status(
          HealthCheckId='string'
      )
    :type HealthCheckId: string
    :param HealthCheckId: **[REQUIRED]** 

      The ID of the health check for which you want to retrieve the most recent status.

      

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

      
      ::

        {
            'HealthCheckObservations': [
                {
                    'IPAddress': 'string',
                    'StatusReport': {
                        'Status': 'string',
                        'CheckedTime': datetime(2015, 1, 1)
                    }
                },
            ]
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains information about the status of the specified health check.

        
        

        - **HealthCheckObservations** *(list) --* 

          A list that contains one ``HealthCheckObservation`` element for each Route 53 health checker.

          
          

          - *(dict) --* 

            A complex type that contains the IP address of a Route 53 health checker and the reason for the health check status.

            
            

            - **IPAddress** *(string) --* 

              The IP address of the Route 53 health checker that performed the health check.

              
            

            - **StatusReport** *(dict) --* 

              A complex type that contains information about the health check status for the current observation.

              
              

              - **Status** *(string) --* 

                The observed health check status.

                
              

              - **CheckedTime** *(datetime) --* 

                The date and time the health check status was observed, in the format ``YYYY-MM-DDThh:mm:ssZ`` , as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The ``Z`` after the time indicates that the time is listed in Coordinated Universal Time (UTC), which is synonymous with Greenwich Mean Time in this context.

                
          
        
      
    

  .. py:method:: get_hosted_zone(**kwargs)

    

    To retrieve the delegation set for a hosted zone, send a ``GET`` request to the ``2013-04-01/hostedzone/*hosted zone ID*`` resource. The delegation set is the four Route 53 name servers that were assigned to the hosted zone when you created it.

    

    **Request Syntax** 
    ::

      response = client.get_hosted_zone(
          Id='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the hosted zone for which you want to get a list of the name servers in the delegation set.

      

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

      
      ::

        {
            'HostedZone': {
                'Id': 'string',
                'Name': 'string',
                'CallerReference': 'string',
                'Config': {
                    'Comment': 'string',
                    'PrivateZone': True|False
                },
                'ResourceRecordSetCount': 123
            },
            'DelegationSet': {
                'Id': 'string',
                'CallerReference': 'string',
                'NameServers': [
                    'string',
                ]
            },
            'VPCs': [
                {
                    'VPCRegion': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
                    'VPCId': 'string'
                },
            ]
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing information about the specified hosted zone.

        
        

        - **HostedZone** *(dict) --* 

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

          
          

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

            The ID of the specified hosted zone.

            
          

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

            The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

             

            This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

            
          

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

            A unique string that identifies the request to create the hosted zone.

            
          

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

            A complex type that contains the ``Comment`` element.

            
            

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

              An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

              
            

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

              A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

              
        
          

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

            Total number of resource record sets in the hosted zone.

            
      
        

        - **DelegationSet** *(dict) --* 

          A complex type that contains information about the name servers for the specified hosted zone.

          
          

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

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

          - **NameServers** *(list) --* 

            A complex type that contains the authoritative name servers for the hosted zone. Use the method provided by your domain registrar to add an NS record to your domain for each ``NameServer`` that is assigned to your hosted zone.

            
            

            - *(string) --* 
        
      
        

        - **VPCs** *(list) --* 

          A complex type that contains information about VPCs associated with the specified hosted zone.

          
          

          - *(dict) --* 
            

            - **VPCRegion** *(string) --* 
            

            - **VPCId** *(string) --* 

              A VPC ID

              
        
      
    

  .. py:method:: get_hosted_zone_count()

    

    To retrieve a count of all your hosted zones, send a ``GET`` request to the ``2013-04-01/hostedzonecount`` resource.

    

    **Request Syntax** 
    ::

      response = client.get_hosted_zone_count()
      
    
    :rtype: dict
    :returns: 
      
      **Response Syntax** 

      
      ::

        {
            'HostedZoneCount': 123
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the count of hosted zones associated with the current AWS account.

        
        

        - **HostedZoneCount** *(integer) --* 

          The number of hosted zones associated with the current AWS account.

          
    

  .. py:method:: get_paginator(operation_name)

        
    Create a paginator for an operation.
    
    :type operation_name: string
    :param operation_name: The operation name.  This is the same name
        as the method name on the client.  For example, if the
        method name is ``create_foo``, and you'd normally invoke the
        operation as ``client.create_foo(**kwargs)``, if the
        ``create_foo`` operation can be paginated, you can use the
        call ``client.get_paginator("create_foo")``.
    
    :raise OperationNotPageableError: Raised if the operation is not
        pageable.  You can use the ``client.can_paginate`` method to
        check if an operation is pageable.
    
    :rtype: L{botocore.paginate.Paginator}
    :return: A paginator object.


  .. py:method:: get_reusable_delegation_set(**kwargs)

    

    To retrieve the reusable delegation set, send a ``GET`` request to the ``2013-04-01/delegationset/*delegation set ID*`` resource.

    

    **Request Syntax** 
    ::

      response = client.get_reusable_delegation_set(
          Id='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the reusable delegation set for which you want to get a list of the name server.

      

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

      
      ::

        {
            'DelegationSet': {
                'Id': 'string',
                'CallerReference': 'string',
                'NameServers': [
                    'string',
                ]
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing information about the specified reusable delegation set.

        
        

        - **DelegationSet** *(dict) --* 

          A complex type that contains the information about the nameservers for the specified delegation set ID.

          
          

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

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

          - **NameServers** *(list) --* 

            A complex type that contains the authoritative name servers for the hosted zone. Use the method provided by your domain registrar to add an NS record to your domain for each ``NameServer`` that is assigned to your hosted zone.

            
            

            - *(string) --* 
        
      
    

  .. py:method:: get_waiter(waiter_name)

        


  .. py:method:: list_geo_locations(**kwargs)

    

    To retrieve a list of supported geo locations, send a ``GET`` request to the ``2013-04-01/geolocations`` resource. The response to this request includes a ``GeoLocationDetailsList`` element with zero, one, or multiple ``GeoLocationDetails`` child elements. The list is sorted by country code, and then subdivision code, followed by continents at the end of the list. 

     

    By default, the list of geo locations is displayed on a single page. You can control the length of the page that is displayed by using the ``MaxItems`` parameter. If the list is truncated, ``IsTruncated`` will be set to *true* and a combination of ``NextContinentCode, NextCountryCode, NextSubdivisionCode`` will be populated. You can pass these as parameters to ``StartContinentCode, StartCountryCode, StartSubdivisionCode`` to control the geo location that the list begins with. 

    

    **Request Syntax** 
    ::

      response = client.list_geo_locations(
          StartContinentCode='string',
          StartCountryCode='string',
          StartSubdivisionCode='string',
          MaxItems='string'
      )
    :type StartContinentCode: string
    :param StartContinentCode: 

      The first continent code in the lexicographic ordering of geo locations that you want the ``ListGeoLocations`` request to list. For non-continent geo locations, this should be null.

       

      Valid values: ``AF`` | ``AN`` | ``AS`` | ``EU`` | ``OC`` | ``NA`` | ``SA`` 

       

      Constraint: Specifying ``ContinentCode`` with either ``CountryCode`` or ``SubdivisionCode`` returns an  InvalidInput error.

      

    
    :type StartCountryCode: string
    :param StartCountryCode: 

      The first country code in the lexicographic ordering of geo locations that you want the ``ListGeoLocations`` request to list.

       

      The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

      

    
    :type StartSubdivisionCode: string
    :param StartSubdivisionCode: 

      The first subdivision code in the lexicographic ordering of geo locations that you want the ``ListGeoLocations`` request to list.

       

      Constraint: Specifying ``SubdivisionCode`` without ``CountryCode`` returns an  InvalidInput error.

      

    
    :type MaxItems: string
    :param MaxItems: 

      The maximum number of geo locations you want in the response body.

      

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

      
      ::

        {
            'GeoLocationDetailsList': [
                {
                    'ContinentCode': 'string',
                    'ContinentName': 'string',
                    'CountryCode': 'string',
                    'CountryName': 'string',
                    'SubdivisionCode': 'string',
                    'SubdivisionName': 'string'
                },
            ],
            'IsTruncated': True|False,
            'NextContinentCode': 'string',
            'NextCountryCode': 'string',
            'NextSubdivisionCode': 'string',
            'MaxItems': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains information about the geo locations that are returned by the request and information about the response.

        
        

        - **GeoLocationDetailsList** *(list) --* 

          A complex type that contains information about the geo locations that are returned by the request.

          
          

          - *(dict) --* 

            A complex type that contains information about a ``GeoLocation`` .

            
            

            - **ContinentCode** *(string) --* 

              The code for a continent geo location. Note: only continent locations have a continent code.

              
            

            - **ContinentName** *(string) --* 

              The name of the continent. This element is only present if ``ContinentCode`` is also present.

              
            

            - **CountryCode** *(string) --* 

              The code for a country geo location. The default location uses '*' for the country code and will match all locations that are not matched by a geo location.

               

              The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

              
            

            - **CountryName** *(string) --* 

              The name of the country. This element is only present if ``CountryCode`` is also present.

              
            

            - **SubdivisionCode** *(string) --* 

              The code for a country's subdivision (e.g., a province of Canada). A subdivision code is only valid with the appropriate country code.

              
            

            - **SubdivisionName** *(string) --* 

              The name of the subdivision. This element is only present if ``SubdivisionCode`` is also present.

              
        
      
        

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

          A flag that indicates whether there are more geo locations to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the values included in the  ListGeoLocationsResponse$NextContinentCode ,  ListGeoLocationsResponse$NextCountryCode and  ListGeoLocationsResponse$NextSubdivisionCode elements.

           

          Valid Values: ``true`` | ``false`` 

          
        

        - **NextContinentCode** *(string) --* 

          If the results were truncated, the continent code of the next geo location in the list. This element is present only if  ListGeoLocationsResponse$IsTruncated is true and the next geo location to list is a continent location. 

          
        

        - **NextCountryCode** *(string) --* 

          If the results were truncated, the country code of the next geo location in the list. This element is present only if  ListGeoLocationsResponse$IsTruncated is true and the next geo location to list is not a continent location. 

          
        

        - **NextSubdivisionCode** *(string) --* 

          If the results were truncated, the subdivision code of the next geo location in the list. This element is present only if  ListGeoLocationsResponse$IsTruncated is true and the next geo location has a subdivision. 

          
        

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

          The maximum number of records you requested. The maximum value of ``MaxItems`` is 100.

          
    

  .. py:method:: list_health_checks(**kwargs)

    

    To retrieve a list of your health checks, send a ``GET`` request to the ``2013-04-01/healthcheck`` resource. The response to this request includes a ``HealthChecks`` element with zero, one, or multiple ``HealthCheck`` child elements. By default, the list of health checks is displayed on a single page. You can control the length of the page that is displayed by using the ``MaxItems`` parameter. You can use the ``Marker`` parameter to control the health check that the list begins with. 

     

    .. note::

      Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    

    **Request Syntax** 
    ::

      response = client.list_health_checks(
          Marker='string',
          MaxItems='string'
      )
    :type Marker: string
    :param Marker: 

      If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

      

    
    :type MaxItems: string
    :param MaxItems: 

      Specify the maximum number of health checks to return per page of results.

      

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

      
      ::

        {
            'HealthChecks': [
                {
                    'Id': 'string',
                    'CallerReference': 'string',
                    'HealthCheckConfig': {
                        'IPAddress': 'string',
                        'Port': 123,
                        'Type': 'HTTP'|'HTTPS'|'HTTP_STR_MATCH'|'HTTPS_STR_MATCH'|'TCP',
                        'ResourcePath': 'string',
                        'FullyQualifiedDomainName': 'string',
                        'SearchString': 'string',
                        'RequestInterval': 123,
                        'FailureThreshold': 123
                    },
                    'HealthCheckVersion': 123
                },
            ],
            'Marker': 'string',
            'IsTruncated': True|False,
            'NextMarker': 'string',
            'MaxItems': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the response for the request.

        
        

        - **HealthChecks** *(list) --* 

          A complex type that contains information about the health checks associated with the current AWS account.

          
          

          - *(dict) --* 

            A complex type that contains identifying information about the health check.

            
            

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

              The ID of the specified health check.

              
            

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

              A unique string that identifies the request to create the health check.

              
            

            - **HealthCheckConfig** *(dict) --* 

              A complex type that contains the health check configuration.

              
              

              - **IPAddress** *(string) --* 

                IP Address of the instance being checked. 

                
              

              - **Port** *(integer) --* 

                Port on which connection will be opened to the instance to health check. For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.

                
              

              - **Type** *(string) --* 

                The type of health check to be performed. Currently supported types are TCP, HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH.

                
              

              - **ResourcePath** *(string) --* 

                Path to ping on the instance to check the health. Required for HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks, HTTP request is issued to the instance on the given port and path.

                
              

              - **FullyQualifiedDomainName** *(string) --* 

                Fully qualified domain name of the instance to be health checked.

                
              

              - **SearchString** *(string) --* 

                A string to search for in the body of a health check response. Required for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.

                
              

              - **RequestInterval** *(integer) --* 

                The number of seconds between the time that Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

                 

                Each Route 53 health checker makes requests at this interval. Valid values are 10 and 30. The default value is 30.

                
              

              - **FailureThreshold** *(integer) --* 

                The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

                 

                Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

                
          
            

            - **HealthCheckVersion** *(integer) --* 

              The version of the health check. You can optionally pass this value in a call to ``UpdateHealthCheck`` to prevent overwriting another change to the health check.

              
        
      
        

        - **Marker** *(string) --* 

          If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

          
        

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

          A flag indicating whether there are more health checks to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the ``Marker`` element.

           

          Valid Values: ``true`` | ``false`` 

          
        

        - **NextMarker** *(string) --* 

          Indicates where to continue listing health checks. If  ListHealthChecksResponse$IsTruncated is ``true`` , make another request to ``ListHealthChecks`` and include the value of the ``NextMarker`` element in the ``Marker`` element to get the next page of results.

          
        

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

          The maximum number of health checks to be included in the response body. If the number of health checks associated with this AWS account exceeds ``MaxItems`` , the value of  ListHealthChecksResponse$IsTruncated in the response is ``true`` . Call ``ListHealthChecks`` again and specify the value of  ListHealthChecksResponse$NextMarker in the  ListHostedZonesRequest$Marker element to get the next page of results.

          
    

  .. py:method:: list_hosted_zones(**kwargs)

    

    To retrieve a list of your hosted zones, send a ``GET`` request to the ``2013-04-01/hostedzone`` resource. The response to this request includes a ``HostedZones`` element with zero, one, or multiple ``HostedZone`` child elements. By default, the list of hosted zones is displayed on a single page. You can control the length of the page that is displayed by using the ``MaxItems`` parameter. You can use the ``Marker`` parameter to control the hosted zone that the list begins with. 

     

    .. note::

      Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    

    **Request Syntax** 
    ::

      response = client.list_hosted_zones(
          Marker='string',
          MaxItems='string',
          DelegationSetId='string'
      )
    :type Marker: string
    :param Marker: 

      If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

      

    
    :type MaxItems: string
    :param MaxItems: 

      Specify the maximum number of hosted zones to return per page of results.

      

    
    :type DelegationSetId: string
    :param DelegationSetId: 

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

      
      ::

        {
            'HostedZones': [
                {
                    'Id': 'string',
                    'Name': 'string',
                    'CallerReference': 'string',
                    'Config': {
                        'Comment': 'string',
                        'PrivateZone': True|False
                    },
                    'ResourceRecordSetCount': 123
                },
            ],
            'Marker': 'string',
            'IsTruncated': True|False,
            'NextMarker': 'string',
            'MaxItems': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the response for the request.

        
        

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

          A complex type that contains information about the hosted zones associated with the current AWS account.

          
          

          - *(dict) --* 

            A complex type that contain information about the specified hosted zone.

            
            

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

              The ID of the specified hosted zone.

              
            

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

              The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

               

              This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

              
            

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

              A unique string that identifies the request to create the hosted zone.

              
            

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

              A complex type that contains the ``Comment`` element.

              
              

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

                An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

                
              

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

                A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

                
          
            

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

              Total number of resource record sets in the hosted zone.

              
        
      
        

        - **Marker** *(string) --* 

          If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

          
        

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

          A flag indicating whether there are more hosted zones to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the ``Marker`` element.

           

          Valid Values: ``true`` | ``false`` 

          
        

        - **NextMarker** *(string) --* 

          Indicates where to continue listing hosted zones. If  ListHostedZonesResponse$IsTruncated is ``true`` , make another request to ``ListHostedZones`` and include the value of the ``NextMarker`` element in the ``Marker`` element to get the next page of results.

          
        

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

          The maximum number of hosted zones to be included in the response body. If the number of hosted zones associated with this AWS account exceeds ``MaxItems`` , the value of  ListHostedZonesResponse$IsTruncated in the response is ``true`` . Call ``ListHostedZones`` again and specify the value of  ListHostedZonesResponse$NextMarker in the  ListHostedZonesRequest$Marker element to get the next page of results.

          
    

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

    

    To retrieve a list of your hosted zones in lexicographic order, send a ``GET`` request to the ``2013-04-01/hostedzonesbyname`` resource. The response to this request includes a ``HostedZones`` element with zero or more ``HostedZone`` child elements lexicographically ordered by DNS name. By default, the list of hosted zones is displayed on a single page. You can control the length of the page that is displayed by using the ``MaxItems`` parameter. You can use the ``DNSName`` and ``HostedZoneId`` parameters to control the hosted zone that the list begins with.

     

    .. note::

      Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    

    **Request Syntax** 
    ::

      response = client.list_hosted_zones_by_name(
          DNSName='string',
          HostedZoneId='string',
          MaxItems='string'
      )
    :type DNSName: string
    :param DNSName: 

      The first name in the lexicographic ordering of domain names that you want the ``ListHostedZonesByNameRequest`` request to list.

       

      If the request returned more than one page of results, submit another request and specify the value of ``NextDNSName`` and ``NextHostedZoneId`` from the last response in the ``DNSName`` and ``HostedZoneId`` parameters to get the next page of results.

      

    
    :type HostedZoneId: string
    :param HostedZoneId: 

      If the request returned more than one page of results, submit another request and specify the value of ``NextDNSName`` and ``NextHostedZoneId`` from the last response in the ``DNSName`` and ``HostedZoneId`` parameters to get the next page of results.

      

    
    :type MaxItems: string
    :param MaxItems: 

      Specify the maximum number of hosted zones to return per page of results.

      

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

      
      ::

        {
            'HostedZones': [
                {
                    'Id': 'string',
                    'Name': 'string',
                    'CallerReference': 'string',
                    'Config': {
                        'Comment': 'string',
                        'PrivateZone': True|False
                    },
                    'ResourceRecordSetCount': 123
                },
            ],
            'DNSName': 'string',
            'HostedZoneId': 'string',
            'IsTruncated': True|False,
            'NextDNSName': 'string',
            'NextHostedZoneId': 'string',
            'MaxItems': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the response for the request.

        
        

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

          A complex type that contains information about the hosted zones associated with the current AWS account.

          
          

          - *(dict) --* 

            A complex type that contain information about the specified hosted zone.

            
            

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

              The ID of the specified hosted zone.

              
            

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

              The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

               

              This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

              
            

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

              A unique string that identifies the request to create the hosted zone.

              
            

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

              A complex type that contains the ``Comment`` element.

              
              

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

                An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

                
              

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

                A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

                
          
            

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

              Total number of resource record sets in the hosted zone.

              
        
      
        

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

          The ``DNSName`` value sent in the request.

          
        

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

          The ``HostedZoneId`` value sent in the request.

          
        

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

          A flag indicating whether there are more hosted zones to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the ``NextDNSName`` and ``NextHostedZoneId`` elements.

           

          Valid Values: ``true`` | ``false`` 

          
        

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

          If  ListHostedZonesByNameResponse$IsTruncated is ``true`` , there are more hosted zones associated with the current AWS account. To get the next page of results, make another request to ``ListHostedZonesByName`` . Specify the value of  ListHostedZonesByNameResponse$NextDNSName in the  ListHostedZonesByNameRequest$DNSName element and  ListHostedZonesByNameResponse$NextHostedZoneId in the  ListHostedZonesByNameRequest$HostedZoneId element.

          
        

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

          If  ListHostedZonesByNameResponse$IsTruncated is ``true`` , there are more hosted zones associated with the current AWS account. To get the next page of results, make another request to ``ListHostedZonesByName`` . Specify the value of  ListHostedZonesByNameResponse$NextDNSName in the  ListHostedZonesByNameRequest$DNSName element and  ListHostedZonesByNameResponse$NextHostedZoneId in the  ListHostedZonesByNameRequest$HostedZoneId element.

          
        

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

          The maximum number of hosted zones to be included in the response body. If the number of hosted zones associated with this AWS account exceeds ``MaxItems`` , the value of  ListHostedZonesByNameResponse$IsTruncated in the response is ``true`` . Call ``ListHostedZonesByName`` again and specify the value of  ListHostedZonesByNameResponse$NextDNSName and  ListHostedZonesByNameResponse$NextHostedZoneId elements respectively to get the next page of results.

          
    

  .. py:method:: list_resource_record_sets(**kwargs)

    

    Imagine all the resource record sets in a zone listed out in front of you. Imagine them sorted lexicographically first by DNS name (with the labels reversed, like "com.amazon.www" for example), and secondarily, lexicographically by record type. This operation retrieves at most MaxItems resource record sets from this list, in order, starting at a position specified by the Name and Type arguments:

     

     
    * If both Name and Type are omitted, this means start the results at the first RRSET in the HostedZone.
     
    * If Name is specified but Type is omitted, this means start the results at the first RRSET in the list whose name is greater than or equal to Name. 
     
    * If both Name and Type are specified, this means start the results at the first RRSET in the list whose name is greater than or equal to Name and whose type is greater than or equal to Type.
     
    * It is an error to specify the Type but not the Name.
     

     

    Use ListResourceRecordSets to retrieve a single known record set by specifying the record set's name and type, and setting MaxItems = 1

     

    To retrieve all the records in a HostedZone, first pause any processes making calls to ChangeResourceRecordSets. Initially call ListResourceRecordSets without a Name and Type to get the first page of record sets. For subsequent calls, set Name and Type to the NextName and NextType values returned by the previous response. 

     

    In the presence of concurrent ChangeResourceRecordSets calls, there is no consistency of results across calls to ListResourceRecordSets. The only way to get a consistent multi-page snapshot of all RRSETs in a zone is to stop making changes while pagination is in progress.

     

    However, the results from ListResourceRecordSets are consistent within a page. If MakeChange calls are taking place concurrently, the result of each one will either be completely visible in your results or not at all. You will not see partial changes, or changes that do not ultimately succeed. (This follows from the fact that MakeChange is atomic) 

     

    The results from ListResourceRecordSets are strongly consistent with ChangeResourceRecordSets. To be precise, if a single process makes a call to ChangeResourceRecordSets and receives a successful response, the effects of that change will be visible in a subsequent call to ListResourceRecordSets by that process.

    

    **Request Syntax** 
    ::

      response = client.list_resource_record_sets(
          HostedZoneId='string',
          StartRecordName='string',
          StartRecordType='SOA'|'A'|'TXT'|'NS'|'CNAME'|'MX'|'PTR'|'SRV'|'SPF'|'AAAA',
          StartRecordIdentifier='string',
          MaxItems='string'
      )
    :type HostedZoneId: string
    :param HostedZoneId: **[REQUIRED]** 

      The ID of the hosted zone that contains the resource record sets that you want to get.

      

    
    :type StartRecordName: string
    :param StartRecordName: 

      The first name in the lexicographic ordering of domain names that you want the ``ListResourceRecordSets`` request to list.

      

    
    :type StartRecordType: string
    :param StartRecordType: 

      The DNS type at which to begin the listing of resource record sets. 

       

      Valid values: ``A`` | ``AAAA`` | ``CNAME`` | ``MX`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` 

       

      Values for Weighted Resource Record Sets: ``A`` | ``AAAA`` | ``CNAME`` | ``TXT`` 

       

      Values for Regional Resource Record Sets: ``A`` | ``AAAA`` | ``CNAME`` | ``TXT`` 

       

      Values for Alias Resource Record Sets: ``A`` | ``AAAA`` 

       

      Constraint: Specifying ``type`` without specifying ``name`` returns an  InvalidInput error.

      

    
    :type StartRecordIdentifier: string
    :param StartRecordIdentifier: 

      *Weighted resource record sets only:* If results were truncated for a given DNS name and type, specify the value of ``ListResourceRecordSetsResponse$NextRecordIdentifier`` from the previous response to get the next resource record set that has the current DNS name and type.

      

    
    :type MaxItems: string
    :param MaxItems: 

      The maximum number of records you want in the response body.

      

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

      
      ::

        {
            'ResourceRecordSets': [
                {
                    'Name': 'string',
                    'Type': 'SOA'|'A'|'TXT'|'NS'|'CNAME'|'MX'|'PTR'|'SRV'|'SPF'|'AAAA',
                    'SetIdentifier': 'string',
                    'Weight': 123,
                    'Region': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
                    'GeoLocation': {
                        'ContinentCode': 'string',
                        'CountryCode': 'string',
                        'SubdivisionCode': 'string'
                    },
                    'Failover': 'PRIMARY'|'SECONDARY',
                    'TTL': 123,
                    'ResourceRecords': [
                        {
                            'Value': 'string'
                        },
                    ],
                    'AliasTarget': {
                        'HostedZoneId': 'string',
                        'DNSName': 'string',
                        'EvaluateTargetHealth': True|False
                    },
                    'HealthCheckId': 'string'
                },
            ],
            'IsTruncated': True|False,
            'NextRecordName': 'string',
            'NextRecordType': 'SOA'|'A'|'TXT'|'NS'|'CNAME'|'MX'|'PTR'|'SRV'|'SPF'|'AAAA',
            'NextRecordIdentifier': 'string',
            'MaxItems': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains information about the resource record sets that are returned by the request and information about the response.

        
        

        - **ResourceRecordSets** *(list) --* 

          A complex type that contains information about the resource record sets that are returned by the request.

          
          

          - *(dict) --* 

            A complex type that contains information about the current resource record set.

            
            

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

              The domain name of the current resource record set.

              
            

            - **Type** *(string) --* 

              The type of the current resource record set.

              
            

            - **SetIdentifier** *(string) --* 

              *Weighted, Latency, Geo, and Failover resource record sets only:* An identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type.

              
            

            - **Weight** *(integer) --* 

              *Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines what portion of traffic for the current resource record set is routed to the associated location.

              
            

            - **Region** *(string) --* 

              *Latency-based resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that specifies the AWS region for the current resource record set.

              
            

            - **GeoLocation** *(dict) --* 

              *Geo location resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that specifies the geo location for the current resource record set.

              
              

              - **ContinentCode** *(string) --* 

                The code for a continent geo location. Note: only continent locations have a continent code.

                 

                Valid values: ``AF`` | ``AN`` | ``AS`` | ``EU`` | ``OC`` | ``NA`` | ``SA`` 

                 

                Constraint: Specifying ``ContinentCode`` with either ``CountryCode`` or ``SubdivisionCode`` returns an  InvalidInput error.

                
              

              - **CountryCode** *(string) --* 

                The code for a country geo location. The default location uses '*' for the country code and will match all locations that are not matched by a geo location.

                 

                The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

                
              

              - **SubdivisionCode** *(string) --* 

                The code for a country's subdivision (e.g., a province of Canada). A subdivision code is only valid with the appropriate country code.

                 

                Constraint: Specifying ``SubdivisionCode`` without ``CountryCode`` returns an  InvalidInput error.

                
          
            

            - **Failover** *(string) --* 

              *Failover resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that indicates whether the current resource record set is a primary or secondary resource record set. A failover set may contain at most one resource record set marked as primary and one resource record set marked as secondary. A resource record set marked as primary will be returned if any of the following are true: (1) an associated health check is passing, (2) if the resource record set is an alias with the evaluate target health and at least one target resource record set is healthy, (3) both the primary and secondary resource record set are failing health checks or (4) there is no secondary resource record set. A secondary resource record set will be returned if: (1) the primary is failing a health check and either the secondary is passing a health check or has no associated health check, or (2) there is no primary resource record set. 

               

              Valid values: ``PRIMARY`` | ``SECONDARY`` 

              
            

            - **TTL** *(integer) --* 

              The cache time to live for the current resource record set.

              
            

            - **ResourceRecords** *(list) --* 

              A complex type that contains the resource records for the current resource record set.

              
              

              - *(dict) --* 

                A complex type that contains the value of the ``Value`` element for the current resource record set.

                
                

                - **Value** *(string) --* 

                  The value of the ``Value`` element for the current resource record set.

                  
            
          
            

            - **AliasTarget** *(dict) --* 

              *Alias resource record sets only:* Information about the AWS resource to which you are redirecting traffic.

              
              

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

                *Alias resource record sets only:* The value of the hosted zone ID for the AWS resource.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .
              

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

                *Alias resource record sets only:* The external DNS name associated with the AWS Resource.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .
              

              - **EvaluateTargetHealth** *(boolean) --* 

                *Alias resource record sets only:* A boolean value that indicates whether this Resource Record Set should respect the health status of any health checks associated with the ALIAS target record which it is linked to.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .
          
            

            - **HealthCheckId** *(string) --* 

              *Health Check resource record sets only, not required for alias resource record sets:* An identifier that is used to identify health check associated with the resource record set.

              
        
      
        

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

          A flag that indicates whether there are more resource record sets to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the  ListResourceRecordSetsResponse$NextRecordName element.

           

          Valid Values: ``true`` | ``false`` 

          
        

        - **NextRecordName** *(string) --* 

          If the results were truncated, the name of the next record in the list. This element is present only if  ListResourceRecordSetsResponse$IsTruncated is true. 

          
        

        - **NextRecordType** *(string) --* 

          If the results were truncated, the type of the next record in the list. This element is present only if  ListResourceRecordSetsResponse$IsTruncated is true. 

          
        

        - **NextRecordIdentifier** *(string) --* 

          *Weighted resource record sets only:* If results were truncated for a given DNS name and type, the value of ``SetIdentifier`` for the next resource record set that has the current DNS name and type.

          
        

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

          The maximum number of records you requested. The maximum value of ``MaxItems`` is 100.

          
    

  .. py:method:: list_reusable_delegation_sets(**kwargs)

    

    To retrieve a list of your reusable delegation sets, send a ``GET`` request to the ``2013-04-01/delegationset`` resource. The response to this request includes a ``DelegationSets`` element with zero, one, or multiple ``DelegationSet`` child elements. By default, the list of delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the ``MaxItems`` parameter. You can use the ``Marker`` parameter to control the delegation set that the list begins with. 

     

    .. note::

      Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    

    **Request Syntax** 
    ::

      response = client.list_reusable_delegation_sets(
          Marker='string',
          MaxItems='string'
      )
    :type Marker: string
    :param Marker: 

      If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

      

    
    :type MaxItems: string
    :param MaxItems: 

      Specify the maximum number of reusable delegation sets to return per page of results.

      

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

      
      ::

        {
            'DelegationSets': [
                {
                    'Id': 'string',
                    'CallerReference': 'string',
                    'NameServers': [
                        'string',
                    ]
                },
            ],
            'Marker': 'string',
            'IsTruncated': True|False,
            'NextMarker': 'string',
            'MaxItems': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the response for the request.

        
        

        - **DelegationSets** *(list) --* 

          A complex type that contains information about the reusable delegation sets associated with the current AWS account.

          
          

          - *(dict) --* 

            A complex type that contains name server information.

            
            

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

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

            - **NameServers** *(list) --* 

              A complex type that contains the authoritative name servers for the hosted zone. Use the method provided by your domain registrar to add an NS record to your domain for each ``NameServer`` that is assigned to your hosted zone.

              
              

              - *(string) --* 
          
        
      
        

        - **Marker** *(string) --* 

          If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

          
        

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

          A flag indicating whether there are more reusable delegation sets to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the ``Marker`` element.

           

          Valid Values: ``true`` | ``false`` 

          
        

        - **NextMarker** *(string) --* 

          Indicates where to continue listing reusable delegation sets. If  ListReusableDelegationSetsResponse$IsTruncated is ``true`` , make another request to ``ListReusableDelegationSets`` and include the value of the ``NextMarker`` element in the ``Marker`` element to get the next page of results.

          
        

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

          The maximum number of reusable delegation sets to be included in the response body. If the number of reusable delegation sets associated with this AWS account exceeds ``MaxItems`` , the value of  ListReusablDelegationSetsResponse$IsTruncated in the response is ``true`` . Call ``ListReusableDelegationSets`` again and specify the value of  ListReusableDelegationSetsResponse$NextMarker in the  ListReusableDelegationSetsRequest$Marker element to get the next page of results.

          
    

  .. py:method:: list_tags_for_resource(**kwargs)

    

    **Request Syntax** 
    ::

      response = client.list_tags_for_resource(
          ResourceType='healthcheck'|'hostedzone',
          ResourceId='string'
      )
    :type ResourceType: string
    :param ResourceType: **[REQUIRED]** 

      The type of the resource.

       

      - The resource type for health checks is ``healthcheck`` .

       

      - The resource type for hosted zones is ``hostedzone`` .

      

    
    :type ResourceId: string
    :param ResourceId: **[REQUIRED]** 

      The ID of the resource for which you want to retrieve tags.

      

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

      
      ::

        {
            'ResourceTagSet': {
                'ResourceType': 'healthcheck'|'hostedzone',
                'ResourceId': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing tags for the specified resource.

        
        

        - **ResourceTagSet** *(dict) --* 

          A ``ResourceTagSet`` containing tags associated with the specified resource.

          
          

          - **ResourceType** *(string) --* 

            The type of the resource.

             

            - The resource type for health checks is ``healthcheck`` .

             

            - The resource type for hosted zones is ``hostedzone`` .

            
          

          - **ResourceId** *(string) --* 

            The ID for the specified resource.

            
          

          - **Tags** *(list) --* 

            The tags associated with the specified resource.

            
            

            - *(dict) --* 

              A single tag containing a key and value.

              
              

              - **Key** *(string) --* 

                The key for a ``Tag`` .

                
              

              - **Value** *(string) --* 

                The value for a ``Tag`` .

                
          
        
      
    

  .. py:method:: list_tags_for_resources(**kwargs)

    

    **Request Syntax** 
    ::

      response = client.list_tags_for_resources(
          ResourceType='healthcheck'|'hostedzone',
          ResourceIds=[
              'string',
          ]
      )
    :type ResourceType: string
    :param ResourceType: **[REQUIRED]** 

      The type of the resources.

       

      - The resource type for health checks is ``healthcheck`` .

       

      - The resource type for hosted zones is ``hostedzone`` .

      

    
    :type ResourceIds: list
    :param ResourceIds: **[REQUIRED]** 

      A complex type that contains the ResourceId element for each resource for which you want to get a list of tags.

      

    
      - *(string) --* 

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

      
      ::

        {
            'ResourceTagSets': [
                {
                    'ResourceType': 'healthcheck'|'hostedzone',
                    'ResourceId': 'string',
                    'Tags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ]
                },
            ]
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing tags for the specified resources.

        
        

        - **ResourceTagSets** *(list) --* 

          A list of ``ResourceTagSet`` s containing tags associated with the specified resources.

          
          

          - *(dict) --* 

            A complex type containing a resource and its associated tags.

            
            

            - **ResourceType** *(string) --* 

              The type of the resource.

               

              - The resource type for health checks is ``healthcheck`` .

               

              - The resource type for hosted zones is ``hostedzone`` .

              
            

            - **ResourceId** *(string) --* 

              The ID for the specified resource.

              
            

            - **Tags** *(list) --* 

              The tags associated with the specified resource.

              
              

              - *(dict) --* 

                A single tag containing a key and value.

                
                

                - **Key** *(string) --* 

                  The key for a ``Tag`` .

                  
                

                - **Value** *(string) --* 

                  The value for a ``Tag`` .

                  
            
          
        
      
    

  .. py:method:: update_health_check(**kwargs)

    

    This action updates an existing health check.

     

    To update a health check, send a ``POST`` request to the ``2013-04-01/healthcheck/*health check ID*`` resource. The request body must include an XML document with an ``UpdateHealthCheckRequest`` element. The response returns an ``UpdateHealthCheckResponse`` element, which contains metadata about the health check.

    

    **Request Syntax** 
    ::

      response = client.update_health_check(
          HealthCheckId='string',
          HealthCheckVersion=123,
          IPAddress='string',
          Port=123,
          ResourcePath='string',
          FullyQualifiedDomainName='string',
          SearchString='string',
          FailureThreshold=123
      )
    :type HealthCheckId: string
    :param HealthCheckId: **[REQUIRED]** 

      The ID of the health check to update.

      

    
    :type HealthCheckVersion: integer
    :param HealthCheckVersion: 

      Optional. When you specify a health check version, Route 53 compares this value with the current value in the health check, which prevents you from updating the health check when the versions don't match. Using ``HealthCheckVersion`` lets you prevent overwriting another change to the health check.

      

    
    :type IPAddress: string
    :param IPAddress: 

      The IP address of the resource that you want to check.

       

      Specify this value only if you want to change it.

      

    
    :type Port: integer
    :param Port: 

      The port on which you want Route 53 to open a connection to perform health checks.

       

      Specify this value only if you want to change it.

      

    
    :type ResourcePath: string
    :param ResourcePath: 

      The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. 

       

      Specify this value only if you want to change it.

      

    
    :type FullyQualifiedDomainName: string
    :param FullyQualifiedDomainName: 

      Fully qualified domain name of the instance to be health checked.

       

      Specify this value only if you want to change it.

      

    
    :type SearchString: string
    :param SearchString: 

      If the value of ``Type`` is ``HTTP_STR_MATCH`` or ``HTTP_STR_MATCH`` , the string that you want Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy. 

       

      Specify this value only if you want to change it.

      

    
    :type FailureThreshold: integer
    :param FailureThreshold: 

      The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

       

      Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

       

      Specify this value only if you want to change it.

      

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

      
      ::

        {
            'HealthCheck': {
                'Id': 'string',
                'CallerReference': 'string',
                'HealthCheckConfig': {
                    'IPAddress': 'string',
                    'Port': 123,
                    'Type': 'HTTP'|'HTTPS'|'HTTP_STR_MATCH'|'HTTPS_STR_MATCH'|'TCP',
                    'ResourcePath': 'string',
                    'FullyQualifiedDomainName': 'string',
                    'SearchString': 'string',
                    'RequestInterval': 123,
                    'FailureThreshold': 123
                },
                'HealthCheckVersion': 123
            }
        }
      **Response Structure** 

      

      - *(dict) --* 
        

        - **HealthCheck** *(dict) --* 

          A complex type that contains identifying information about the health check.

          
          

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

            The ID of the specified health check.

            
          

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

            A unique string that identifies the request to create the health check.

            
          

          - **HealthCheckConfig** *(dict) --* 

            A complex type that contains the health check configuration.

            
            

            - **IPAddress** *(string) --* 

              IP Address of the instance being checked. 

              
            

            - **Port** *(integer) --* 

              Port on which connection will be opened to the instance to health check. For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.

              
            

            - **Type** *(string) --* 

              The type of health check to be performed. Currently supported types are TCP, HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH.

              
            

            - **ResourcePath** *(string) --* 

              Path to ping on the instance to check the health. Required for HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks, HTTP request is issued to the instance on the given port and path.

              
            

            - **FullyQualifiedDomainName** *(string) --* 

              Fully qualified domain name of the instance to be health checked.

              
            

            - **SearchString** *(string) --* 

              A string to search for in the body of a health check response. Required for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.

              
            

            - **RequestInterval** *(integer) --* 

              The number of seconds between the time that Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

               

              Each Route 53 health checker makes requests at this interval. Valid values are 10 and 30. The default value is 30.

              
            

            - **FailureThreshold** *(integer) --* 

              The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

               

              Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

              
        
          

          - **HealthCheckVersion** *(integer) --* 

            The version of the health check. You can optionally pass this value in a call to ``UpdateHealthCheck`` to prevent overwriting another change to the health check.

            
      
    

  .. py:method:: update_hosted_zone_comment(**kwargs)

    

    To update the hosted zone comment, send a ``POST`` request to the ``2013-04-01/hostedzone/*hosted zone ID*`` resource. The request body must include an XML document with a ``UpdateHostedZoneCommentRequest`` element. The response to this request includes the modified ``HostedZone`` element.

     

    .. note::

      The comment can have a maximum length of 256 characters.

    

    **Request Syntax** 
    ::

      response = client.update_hosted_zone_comment(
          Id='string',
          Comment='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the hosted zone you want to update.

      

    
    :type Comment: string
    :param Comment: 

      A comment about your hosted zone.

      

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

      
      ::

        {
            'HostedZone': {
                'Id': 'string',
                'Name': 'string',
                'CallerReference': 'string',
                'Config': {
                    'Comment': 'string',
                    'PrivateZone': True|False
                },
                'ResourceRecordSetCount': 123
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type containing information about the specified hosted zone after the update.

        
        

        - **HostedZone** *(dict) --* 

          A complex type that contain information about the specified hosted zone.

          
          

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

            The ID of the specified hosted zone.

            
          

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

            The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

             

            This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

            
          

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

            A unique string that identifies the request to create the hosted zone.

            
          

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

            A complex type that contains the ``Comment`` element.

            
            

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

              An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

              
            

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

              A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

              
        
          

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

            Total number of resource record sets in the hosted zone.

            
      
    

==========
Paginators
==========


The available paginators are:

* :py:class:`Route53.Paginator.list_health_checks`


* :py:class:`Route53.Paginator.list_hosted_zones`


* :py:class:`Route53.Paginator.list_resource_record_sets`



.. py:class:: Route53.Paginator.list_health_checks

  ::

    
    paginator = client.get_paginator('list_health_checks')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`Route53.Client.list_health_checks`.

    **Request Syntax** 
    ::

      response_iterator = paginator.paginate(
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'HealthChecks': [
                {
                    'Id': 'string',
                    'CallerReference': 'string',
                    'HealthCheckConfig': {
                        'IPAddress': 'string',
                        'Port': 123,
                        'Type': 'HTTP'|'HTTPS'|'HTTP_STR_MATCH'|'HTTPS_STR_MATCH'|'TCP',
                        'ResourcePath': 'string',
                        'FullyQualifiedDomainName': 'string',
                        'SearchString': 'string',
                        'RequestInterval': 123,
                        'FailureThreshold': 123
                    },
                    'HealthCheckVersion': 123
                },
            ],
            'Marker': 'string',
            'IsTruncated': True|False,
            'MaxItems': 'string',
            'NextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the response for the request.

        
        

        - **HealthChecks** *(list) --* 

          A complex type that contains information about the health checks associated with the current AWS account.

          
          

          - *(dict) --* 

            A complex type that contains identifying information about the health check.

            
            

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

              The ID of the specified health check.

              
            

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

              A unique string that identifies the request to create the health check.

              
            

            - **HealthCheckConfig** *(dict) --* 

              A complex type that contains the health check configuration.

              
              

              - **IPAddress** *(string) --* 

                IP Address of the instance being checked. 

                
              

              - **Port** *(integer) --* 

                Port on which connection will be opened to the instance to health check. For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.

                
              

              - **Type** *(string) --* 

                The type of health check to be performed. Currently supported types are TCP, HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH.

                
              

              - **ResourcePath** *(string) --* 

                Path to ping on the instance to check the health. Required for HTTP, HTTPS, HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks, HTTP request is issued to the instance on the given port and path.

                
              

              - **FullyQualifiedDomainName** *(string) --* 

                Fully qualified domain name of the instance to be health checked.

                
              

              - **SearchString** *(string) --* 

                A string to search for in the body of a health check response. Required for HTTP_STR_MATCH and HTTPS_STR_MATCH health checks.

                
              

              - **RequestInterval** *(integer) --* 

                The number of seconds between the time that Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

                 

                Each Route 53 health checker makes requests at this interval. Valid values are 10 and 30. The default value is 30.

                
              

              - **FailureThreshold** *(integer) --* 

                The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

                 

                Valid values are integers between 1 and 10. For more information, see "How Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon Route 53 Developer Guide.

                
          
            

            - **HealthCheckVersion** *(integer) --* 

              The version of the health check. You can optionally pass this value in a call to ``UpdateHealthCheck`` to prevent overwriting another change to the health check.

              
        
      
        

        - **Marker** *(string) --* 

          If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

          
        

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

          A flag indicating whether there are more health checks to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the ``Marker`` element.

           

          Valid Values: ``true`` | ``false`` 

          
        

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

          The maximum number of health checks to be included in the response body. If the number of health checks associated with this AWS account exceeds ``MaxItems`` , the value of  ListHealthChecksResponse$IsTruncated in the response is ``true`` . Call ``ListHealthChecks`` again and specify the value of  ListHealthChecksResponse$NextMarker in the  ListHostedZonesRequest$Marker element to get the next page of results.

          
        

        - **NextToken** *(string) --* 

          A token to resume pagination.

          
    

.. py:class:: Route53.Paginator.list_hosted_zones

  ::

    
    paginator = client.get_paginator('list_hosted_zones')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`Route53.Client.list_hosted_zones`.

    **Request Syntax** 
    ::

      response_iterator = paginator.paginate(
          DelegationSetId='string',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
    :type DelegationSetId: string
    :param DelegationSetId: 

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'HostedZones': [
                {
                    'Id': 'string',
                    'Name': 'string',
                    'CallerReference': 'string',
                    'Config': {
                        'Comment': 'string',
                        'PrivateZone': True|False
                    },
                    'ResourceRecordSetCount': 123
                },
            ],
            'Marker': 'string',
            'IsTruncated': True|False,
            'MaxItems': 'string',
            'NextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains the response for the request.

        
        

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

          A complex type that contains information about the hosted zones associated with the current AWS account.

          
          

          - *(dict) --* 

            A complex type that contain information about the specified hosted zone.

            
            

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

              The ID of the specified hosted zone.

              
            

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

              The name of the domain. This must be a fully-specified domain, for example, www.example.com. The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

               

              This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of ``NameServers`` elements returned in ``DelegationSet`` .

              
            

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

              A unique string that identifies the request to create the hosted zone.

              
            

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

              A complex type that contains the ``Comment`` element.

              
              

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

                An optional comment about your hosted zone. If you don't want to specify a comment, you can omit the ``HostedZoneConfig`` and ``Comment`` elements from the XML document.

                
              

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

                A value that indicates whether this is a private hosted zone. The value is returned in the response; do not specify it in the request.

                
          
            

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

              Total number of resource record sets in the hosted zone.

              
        
      
        

        - **Marker** *(string) --* 

          If the request returned more than one page of results, submit another request and specify the value of ``NextMarker`` from the last response in the ``marker`` parameter to get the next page of results.

          
        

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

          A flag indicating whether there are more hosted zones to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the ``Marker`` element.

           

          Valid Values: ``true`` | ``false`` 

          
        

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

          The maximum number of hosted zones to be included in the response body. If the number of hosted zones associated with this AWS account exceeds ``MaxItems`` , the value of  ListHostedZonesResponse$IsTruncated in the response is ``true`` . Call ``ListHostedZones`` again and specify the value of  ListHostedZonesResponse$NextMarker in the  ListHostedZonesRequest$Marker element to get the next page of results.

          
        

        - **NextToken** *(string) --* 

          A token to resume pagination.

          
    

.. py:class:: Route53.Paginator.list_resource_record_sets

  ::

    
    paginator = client.get_paginator('list_resource_record_sets')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`Route53.Client.list_resource_record_sets`.

    **Request Syntax** 
    ::

      response_iterator = paginator.paginate(
          HostedZoneId='string',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
    :type HostedZoneId: string
    :param HostedZoneId: **[REQUIRED]** 

      The ID of the hosted zone that contains the resource record sets that you want to get.

      

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'ResourceRecordSets': [
                {
                    'Name': 'string',
                    'Type': 'SOA'|'A'|'TXT'|'NS'|'CNAME'|'MX'|'PTR'|'SRV'|'SPF'|'AAAA',
                    'SetIdentifier': 'string',
                    'Weight': 123,
                    'Region': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1',
                    'GeoLocation': {
                        'ContinentCode': 'string',
                        'CountryCode': 'string',
                        'SubdivisionCode': 'string'
                    },
                    'Failover': 'PRIMARY'|'SECONDARY',
                    'TTL': 123,
                    'ResourceRecords': [
                        {
                            'Value': 'string'
                        },
                    ],
                    'AliasTarget': {
                        'HostedZoneId': 'string',
                        'DNSName': 'string',
                        'EvaluateTargetHealth': True|False
                    },
                    'HealthCheckId': 'string'
                },
            ],
            'IsTruncated': True|False,
            'MaxItems': 'string',
            'NextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        A complex type that contains information about the resource record sets that are returned by the request and information about the response.

        
        

        - **ResourceRecordSets** *(list) --* 

          A complex type that contains information about the resource record sets that are returned by the request.

          
          

          - *(dict) --* 

            A complex type that contains information about the current resource record set.

            
            

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

              The domain name of the current resource record set.

              
            

            - **Type** *(string) --* 

              The type of the current resource record set.

              
            

            - **SetIdentifier** *(string) --* 

              *Weighted, Latency, Geo, and Failover resource record sets only:* An identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type.

              
            

            - **Weight** *(integer) --* 

              *Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines what portion of traffic for the current resource record set is routed to the associated location.

              
            

            - **Region** *(string) --* 

              *Latency-based resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that specifies the AWS region for the current resource record set.

              
            

            - **GeoLocation** *(dict) --* 

              *Geo location resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that specifies the geo location for the current resource record set.

              
              

              - **ContinentCode** *(string) --* 

                The code for a continent geo location. Note: only continent locations have a continent code.

                 

                Valid values: ``AF`` | ``AN`` | ``AS`` | ``EU`` | ``OC`` | ``NA`` | ``SA`` 

                 

                Constraint: Specifying ``ContinentCode`` with either ``CountryCode`` or ``SubdivisionCode`` returns an  InvalidInput error.

                
              

              - **CountryCode** *(string) --* 

                The code for a country geo location. The default location uses '*' for the country code and will match all locations that are not matched by a geo location.

                 

                The default geo location uses a ``*`` for the country code. All other country codes follow the ISO 3166 two-character code.

                
              

              - **SubdivisionCode** *(string) --* 

                The code for a country's subdivision (e.g., a province of Canada). A subdivision code is only valid with the appropriate country code.

                 

                Constraint: Specifying ``SubdivisionCode`` without ``CountryCode`` returns an  InvalidInput error.

                
          
            

            - **Failover** *(string) --* 

              *Failover resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that indicates whether the current resource record set is a primary or secondary resource record set. A failover set may contain at most one resource record set marked as primary and one resource record set marked as secondary. A resource record set marked as primary will be returned if any of the following are true: (1) an associated health check is passing, (2) if the resource record set is an alias with the evaluate target health and at least one target resource record set is healthy, (3) both the primary and secondary resource record set are failing health checks or (4) there is no secondary resource record set. A secondary resource record set will be returned if: (1) the primary is failing a health check and either the secondary is passing a health check or has no associated health check, or (2) there is no primary resource record set. 

               

              Valid values: ``PRIMARY`` | ``SECONDARY`` 

              
            

            - **TTL** *(integer) --* 

              The cache time to live for the current resource record set.

              
            

            - **ResourceRecords** *(list) --* 

              A complex type that contains the resource records for the current resource record set.

              
              

              - *(dict) --* 

                A complex type that contains the value of the ``Value`` element for the current resource record set.

                
                

                - **Value** *(string) --* 

                  The value of the ``Value`` element for the current resource record set.

                  
            
          
            

            - **AliasTarget** *(dict) --* 

              *Alias resource record sets only:* Information about the AWS resource to which you are redirecting traffic.

              
              

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

                *Alias resource record sets only:* The value of the hosted zone ID for the AWS resource.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .
              

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

                *Alias resource record sets only:* The external DNS name associated with the AWS Resource.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .
              

              - **EvaluateTargetHealth** *(boolean) --* 

                *Alias resource record sets only:* A boolean value that indicates whether this Resource Record Set should respect the health status of any health checks associated with the ALIAS target record which it is linked to.

                 

                For more information and an example, see `Creating Alias Resource Record Sets`_ in the *Amazon Route 53 Developer Guide* 

                .
          
            

            - **HealthCheckId** *(string) --* 

              *Health Check resource record sets only, not required for alias resource record sets:* An identifier that is used to identify health check associated with the resource record set.

              
        
      
        

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

          A flag that indicates whether there are more resource record sets to be listed. If your results were truncated, you can make a follow-up request for the next page of results by using the  ListResourceRecordSetsResponse$NextRecordName element.

           

          Valid Values: ``true`` | ``false`` 

          
        

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

          The maximum number of records you requested. The maximum value of ``MaxItems`` is 100.

          
        

        - **NextToken** *(string) --* 

          A token to resume pagination.

          
    

=======
Waiters
=======


The available waiters are:

* :py:class:`Route53.Waiter.resource_record_sets_changed`



.. py:class:: Route53.Waiter.resource_record_sets_changed

  ::

    
    waiter = client.get_waiter('resource_record_sets_changed')

  
  

  .. py:method:: wait(**kwargs)

    This polls :py:meth:`Route53.Client.get_change` every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.

    **Request Syntax** 
    ::

      waiter.wait(
          Id='string'
      )
    :type Id: string
    :param Id: **[REQUIRED]** 

      The ID of the change batch request. The value that you specify here is the value that ``ChangeResourceRecordSets`` returned in the Id element when you submitted the request.

      

    
    
    :returns: None