Amazon Route 53

2014/11/06 - Amazon Route 53 - 8 new 5 updated api methods

GetHealthCheckLastFailureReason (new) Link ¶

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

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.

DeleteReusableDelegationSet (new) Link ¶

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

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.

ListReusableDelegationSets (new) Link ¶

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

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.

CreateReusableDelegationSet (new) Link ¶

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

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.

GetHealthCheckStatus (new) Link ¶

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

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.

AssociateVPCWithHostedZone (new) Link ¶

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

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.

DisassociateVPCFromHostedZone (new) Link ¶

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

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.

GetReusableDelegationSet (new) Link ¶

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

Request Syntax

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) --

ChangeResourceRecordSets (updated) Link ¶
Changes (request)
{'ChangeBatch': {'Changes': {'ResourceRecordSet': {'Region': {'eu-central-1'}}}}}

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

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.

CreateHostedZone (updated) Link ¶
Changes (request, response)
Request
{'DelegationSetId': 'string',
 'HostedZoneConfig': {'PrivateZone': 'boolean'},
 'VPC': {'VPCId': 'string',
         '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'}}
Response
{'DelegationSet': {'CallerReference': 'string', 'Id': 'string'},
 'HostedZone': {'Config': {'PrivateZone': 'boolean'}},
 'VPC': {'VPCId': 'string',
         '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'}}

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

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) --

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) --

      • 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.

GetHostedZone (updated) Link ¶
Changes (response)
{'DelegationSet': {'CallerReference': 'string', 'Id': 'string'},
 'HostedZone': {'Config': {'PrivateZone': 'boolean'}},
 'VPCs': [{'VPCId': 'string',
           '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'}]}

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

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) --

      • 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

ListHostedZones (updated) Link ¶
Changes (request, response)
Request
{'DelegationSetId': 'string'}
Response
{'HostedZones': {'Config': {'PrivateZone': 'boolean'}}}

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

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) --

        • 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.

ListResourceRecordSets (updated) Link ¶
Changes (response)
{'ResourceRecordSets': {'Region': {'eu-central-1'}}}

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

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.