/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace Route53 { namespace Model { class AssociateVPCWithHostedZoneRequest; class ChangeResourceRecordSetsRequest; class ChangeTagsForResourceRequest; class CreateHealthCheckRequest; class CreateHostedZoneRequest; class CreateQueryLoggingConfigRequest; class CreateReusableDelegationSetRequest; class CreateTrafficPolicyRequest; class CreateTrafficPolicyInstanceRequest; class CreateTrafficPolicyVersionRequest; class CreateVPCAssociationAuthorizationRequest; class DeleteHealthCheckRequest; class DeleteHostedZoneRequest; class DeleteQueryLoggingConfigRequest; class DeleteReusableDelegationSetRequest; class DeleteTrafficPolicyRequest; class DeleteTrafficPolicyInstanceRequest; class DeleteVPCAssociationAuthorizationRequest; class DisassociateVPCFromHostedZoneRequest; class GetAccountLimitRequest; class GetChangeRequest; class GetCheckerIpRangesRequest; class GetGeoLocationRequest; class GetHealthCheckRequest; class GetHealthCheckCountRequest; class GetHealthCheckLastFailureReasonRequest; class GetHealthCheckStatusRequest; class GetHostedZoneRequest; class GetHostedZoneCountRequest; class GetHostedZoneLimitRequest; class GetQueryLoggingConfigRequest; class GetReusableDelegationSetRequest; class GetReusableDelegationSetLimitRequest; class GetTrafficPolicyRequest; class GetTrafficPolicyInstanceRequest; class GetTrafficPolicyInstanceCountRequest; class ListGeoLocationsRequest; class ListHealthChecksRequest; class ListHostedZonesRequest; class ListHostedZonesByNameRequest; class ListHostedZonesByVPCRequest; class ListQueryLoggingConfigsRequest; class ListResourceRecordSetsRequest; class ListReusableDelegationSetsRequest; class ListTagsForResourceRequest; class ListTagsForResourcesRequest; class ListTrafficPoliciesRequest; class ListTrafficPolicyInstancesRequest; class ListTrafficPolicyInstancesByHostedZoneRequest; class ListTrafficPolicyInstancesByPolicyRequest; class ListTrafficPolicyVersionsRequest; class ListVPCAssociationAuthorizationsRequest; class TestDNSAnswerRequest; class UpdateHealthCheckRequest; class UpdateHostedZoneCommentRequest; class UpdateTrafficPolicyCommentRequest; class UpdateTrafficPolicyInstanceRequest; typedef Aws::Utils::Outcome AssociateVPCWithHostedZoneOutcome; typedef Aws::Utils::Outcome ChangeResourceRecordSetsOutcome; typedef Aws::Utils::Outcome ChangeTagsForResourceOutcome; typedef Aws::Utils::Outcome CreateHealthCheckOutcome; typedef Aws::Utils::Outcome CreateHostedZoneOutcome; typedef Aws::Utils::Outcome CreateQueryLoggingConfigOutcome; typedef Aws::Utils::Outcome CreateReusableDelegationSetOutcome; typedef Aws::Utils::Outcome CreateTrafficPolicyOutcome; typedef Aws::Utils::Outcome CreateTrafficPolicyInstanceOutcome; typedef Aws::Utils::Outcome CreateTrafficPolicyVersionOutcome; typedef Aws::Utils::Outcome CreateVPCAssociationAuthorizationOutcome; typedef Aws::Utils::Outcome DeleteHealthCheckOutcome; typedef Aws::Utils::Outcome DeleteHostedZoneOutcome; typedef Aws::Utils::Outcome DeleteQueryLoggingConfigOutcome; typedef Aws::Utils::Outcome DeleteReusableDelegationSetOutcome; typedef Aws::Utils::Outcome DeleteTrafficPolicyOutcome; typedef Aws::Utils::Outcome DeleteTrafficPolicyInstanceOutcome; typedef Aws::Utils::Outcome DeleteVPCAssociationAuthorizationOutcome; typedef Aws::Utils::Outcome DisassociateVPCFromHostedZoneOutcome; typedef Aws::Utils::Outcome GetAccountLimitOutcome; typedef Aws::Utils::Outcome GetChangeOutcome; typedef Aws::Utils::Outcome GetCheckerIpRangesOutcome; typedef Aws::Utils::Outcome GetGeoLocationOutcome; typedef Aws::Utils::Outcome GetHealthCheckOutcome; typedef Aws::Utils::Outcome GetHealthCheckCountOutcome; typedef Aws::Utils::Outcome GetHealthCheckLastFailureReasonOutcome; typedef Aws::Utils::Outcome GetHealthCheckStatusOutcome; typedef Aws::Utils::Outcome GetHostedZoneOutcome; typedef Aws::Utils::Outcome GetHostedZoneCountOutcome; typedef Aws::Utils::Outcome GetHostedZoneLimitOutcome; typedef Aws::Utils::Outcome GetQueryLoggingConfigOutcome; typedef Aws::Utils::Outcome GetReusableDelegationSetOutcome; typedef Aws::Utils::Outcome GetReusableDelegationSetLimitOutcome; typedef Aws::Utils::Outcome GetTrafficPolicyOutcome; typedef Aws::Utils::Outcome GetTrafficPolicyInstanceOutcome; typedef Aws::Utils::Outcome GetTrafficPolicyInstanceCountOutcome; typedef Aws::Utils::Outcome ListGeoLocationsOutcome; typedef Aws::Utils::Outcome ListHealthChecksOutcome; typedef Aws::Utils::Outcome ListHostedZonesOutcome; typedef Aws::Utils::Outcome ListHostedZonesByNameOutcome; typedef Aws::Utils::Outcome ListHostedZonesByVPCOutcome; typedef Aws::Utils::Outcome ListQueryLoggingConfigsOutcome; typedef Aws::Utils::Outcome ListResourceRecordSetsOutcome; typedef Aws::Utils::Outcome ListReusableDelegationSetsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTagsForResourcesOutcome; typedef Aws::Utils::Outcome ListTrafficPoliciesOutcome; typedef Aws::Utils::Outcome ListTrafficPolicyInstancesOutcome; typedef Aws::Utils::Outcome ListTrafficPolicyInstancesByHostedZoneOutcome; typedef Aws::Utils::Outcome ListTrafficPolicyInstancesByPolicyOutcome; typedef Aws::Utils::Outcome ListTrafficPolicyVersionsOutcome; typedef Aws::Utils::Outcome ListVPCAssociationAuthorizationsOutcome; typedef Aws::Utils::Outcome TestDNSAnswerOutcome; typedef Aws::Utils::Outcome UpdateHealthCheckOutcome; typedef Aws::Utils::Outcome UpdateHostedZoneCommentOutcome; typedef Aws::Utils::Outcome UpdateTrafficPolicyCommentOutcome; typedef Aws::Utils::Outcome UpdateTrafficPolicyInstanceOutcome; typedef std::future AssociateVPCWithHostedZoneOutcomeCallable; typedef std::future ChangeResourceRecordSetsOutcomeCallable; typedef std::future ChangeTagsForResourceOutcomeCallable; typedef std::future CreateHealthCheckOutcomeCallable; typedef std::future CreateHostedZoneOutcomeCallable; typedef std::future CreateQueryLoggingConfigOutcomeCallable; typedef std::future CreateReusableDelegationSetOutcomeCallable; typedef std::future CreateTrafficPolicyOutcomeCallable; typedef std::future CreateTrafficPolicyInstanceOutcomeCallable; typedef std::future CreateTrafficPolicyVersionOutcomeCallable; typedef std::future CreateVPCAssociationAuthorizationOutcomeCallable; typedef std::future DeleteHealthCheckOutcomeCallable; typedef std::future DeleteHostedZoneOutcomeCallable; typedef std::future DeleteQueryLoggingConfigOutcomeCallable; typedef std::future DeleteReusableDelegationSetOutcomeCallable; typedef std::future DeleteTrafficPolicyOutcomeCallable; typedef std::future DeleteTrafficPolicyInstanceOutcomeCallable; typedef std::future DeleteVPCAssociationAuthorizationOutcomeCallable; typedef std::future DisassociateVPCFromHostedZoneOutcomeCallable; typedef std::future GetAccountLimitOutcomeCallable; typedef std::future GetChangeOutcomeCallable; typedef std::future GetCheckerIpRangesOutcomeCallable; typedef std::future GetGeoLocationOutcomeCallable; typedef std::future GetHealthCheckOutcomeCallable; typedef std::future GetHealthCheckCountOutcomeCallable; typedef std::future GetHealthCheckLastFailureReasonOutcomeCallable; typedef std::future GetHealthCheckStatusOutcomeCallable; typedef std::future GetHostedZoneOutcomeCallable; typedef std::future GetHostedZoneCountOutcomeCallable; typedef std::future GetHostedZoneLimitOutcomeCallable; typedef std::future GetQueryLoggingConfigOutcomeCallable; typedef std::future GetReusableDelegationSetOutcomeCallable; typedef std::future GetReusableDelegationSetLimitOutcomeCallable; typedef std::future GetTrafficPolicyOutcomeCallable; typedef std::future GetTrafficPolicyInstanceOutcomeCallable; typedef std::future GetTrafficPolicyInstanceCountOutcomeCallable; typedef std::future ListGeoLocationsOutcomeCallable; typedef std::future ListHealthChecksOutcomeCallable; typedef std::future ListHostedZonesOutcomeCallable; typedef std::future ListHostedZonesByNameOutcomeCallable; typedef std::future ListHostedZonesByVPCOutcomeCallable; typedef std::future ListQueryLoggingConfigsOutcomeCallable; typedef std::future ListResourceRecordSetsOutcomeCallable; typedef std::future ListReusableDelegationSetsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTagsForResourcesOutcomeCallable; typedef std::future ListTrafficPoliciesOutcomeCallable; typedef std::future ListTrafficPolicyInstancesOutcomeCallable; typedef std::future ListTrafficPolicyInstancesByHostedZoneOutcomeCallable; typedef std::future ListTrafficPolicyInstancesByPolicyOutcomeCallable; typedef std::future ListTrafficPolicyVersionsOutcomeCallable; typedef std::future ListVPCAssociationAuthorizationsOutcomeCallable; typedef std::future TestDNSAnswerOutcomeCallable; typedef std::future UpdateHealthCheckOutcomeCallable; typedef std::future UpdateHostedZoneCommentOutcomeCallable; typedef std::future UpdateTrafficPolicyCommentOutcomeCallable; typedef std::future UpdateTrafficPolicyInstanceOutcomeCallable; } // namespace Model class Route53Client; typedef std::function&) > AssociateVPCWithHostedZoneResponseReceivedHandler; typedef std::function&) > ChangeResourceRecordSetsResponseReceivedHandler; typedef std::function&) > ChangeTagsForResourceResponseReceivedHandler; typedef std::function&) > CreateHealthCheckResponseReceivedHandler; typedef std::function&) > CreateHostedZoneResponseReceivedHandler; typedef std::function&) > CreateQueryLoggingConfigResponseReceivedHandler; typedef std::function&) > CreateReusableDelegationSetResponseReceivedHandler; typedef std::function&) > CreateTrafficPolicyResponseReceivedHandler; typedef std::function&) > CreateTrafficPolicyInstanceResponseReceivedHandler; typedef std::function&) > CreateTrafficPolicyVersionResponseReceivedHandler; typedef std::function&) > CreateVPCAssociationAuthorizationResponseReceivedHandler; typedef std::function&) > DeleteHealthCheckResponseReceivedHandler; typedef std::function&) > DeleteHostedZoneResponseReceivedHandler; typedef std::function&) > DeleteQueryLoggingConfigResponseReceivedHandler; typedef std::function&) > DeleteReusableDelegationSetResponseReceivedHandler; typedef std::function&) > DeleteTrafficPolicyResponseReceivedHandler; typedef std::function&) > DeleteTrafficPolicyInstanceResponseReceivedHandler; typedef std::function&) > DeleteVPCAssociationAuthorizationResponseReceivedHandler; typedef std::function&) > DisassociateVPCFromHostedZoneResponseReceivedHandler; typedef std::function&) > GetAccountLimitResponseReceivedHandler; typedef std::function&) > GetChangeResponseReceivedHandler; typedef std::function&) > GetCheckerIpRangesResponseReceivedHandler; typedef std::function&) > GetGeoLocationResponseReceivedHandler; typedef std::function&) > GetHealthCheckResponseReceivedHandler; typedef std::function&) > GetHealthCheckCountResponseReceivedHandler; typedef std::function&) > GetHealthCheckLastFailureReasonResponseReceivedHandler; typedef std::function&) > GetHealthCheckStatusResponseReceivedHandler; typedef std::function&) > GetHostedZoneResponseReceivedHandler; typedef std::function&) > GetHostedZoneCountResponseReceivedHandler; typedef std::function&) > GetHostedZoneLimitResponseReceivedHandler; typedef std::function&) > GetQueryLoggingConfigResponseReceivedHandler; typedef std::function&) > GetReusableDelegationSetResponseReceivedHandler; typedef std::function&) > GetReusableDelegationSetLimitResponseReceivedHandler; typedef std::function&) > GetTrafficPolicyResponseReceivedHandler; typedef std::function&) > GetTrafficPolicyInstanceResponseReceivedHandler; typedef std::function&) > GetTrafficPolicyInstanceCountResponseReceivedHandler; typedef std::function&) > ListGeoLocationsResponseReceivedHandler; typedef std::function&) > ListHealthChecksResponseReceivedHandler; typedef std::function&) > ListHostedZonesResponseReceivedHandler; typedef std::function&) > ListHostedZonesByNameResponseReceivedHandler; typedef std::function&) > ListHostedZonesByVPCResponseReceivedHandler; typedef std::function&) > ListQueryLoggingConfigsResponseReceivedHandler; typedef std::function&) > ListResourceRecordSetsResponseReceivedHandler; typedef std::function&) > ListReusableDelegationSetsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTagsForResourcesResponseReceivedHandler; typedef std::function&) > ListTrafficPoliciesResponseReceivedHandler; typedef std::function&) > ListTrafficPolicyInstancesResponseReceivedHandler; typedef std::function&) > ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler; typedef std::function&) > ListTrafficPolicyInstancesByPolicyResponseReceivedHandler; typedef std::function&) > ListTrafficPolicyVersionsResponseReceivedHandler; typedef std::function&) > ListVPCAssociationAuthorizationsResponseReceivedHandler; typedef std::function&) > TestDNSAnswerResponseReceivedHandler; typedef std::function&) > UpdateHealthCheckResponseReceivedHandler; typedef std::function&) > UpdateHostedZoneCommentResponseReceivedHandler; typedef std::function&) > UpdateTrafficPolicyCommentResponseReceivedHandler; typedef std::function&) > UpdateTrafficPolicyInstanceResponseReceivedHandler; /** *

Amazon Route 53 is a highly available and scalable Domain Name System (DNS) * web service.

*/ class AWS_ROUTE53_API Route53Client : public Aws::Client::AWSXMLClient { public: typedef Aws::Client::AWSXMLClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ Route53Client(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ Route53Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ Route53Client(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~Route53Client(); /** *

Associates an Amazon VPC with a private hosted zone.

To * perform the association, the VPC and the private hosted zone must already exist. * Also, you can't convert a public hosted zone into a private hosted zone.

*

If you want to associate a VPC that was created by one AWS account * with a private hosted zone that was created by a different account, do one of * the following:

  • Use the AWS account that created the private * hosted zone to submit a CreateVPCAssociationAuthorization * request. Then use the account that created the VPC to submit an * AssociateVPCWithHostedZone request.

  • If a subnet * in the VPC was shared with another account, you can use the account that the * subnet was shared with to submit an AssociateVPCWithHostedZone * request. For more information about sharing subnets, see Working * with Shared VPCs.

See Also:

AWS * API Reference

*/ virtual Model::AssociateVPCWithHostedZoneOutcome AssociateVPCWithHostedZone(const Model::AssociateVPCWithHostedZoneRequest& request) const; /** *

Associates an Amazon VPC with a private hosted zone.

To * perform the association, the VPC and the private hosted zone must already exist. * Also, you can't convert a public hosted zone into a private hosted zone.

*

If you want to associate a VPC that was created by one AWS account * with a private hosted zone that was created by a different account, do one of * the following:

  • Use the AWS account that created the private * hosted zone to submit a CreateVPCAssociationAuthorization * request. Then use the account that created the VPC to submit an * AssociateVPCWithHostedZone request.

  • If a subnet * in the VPC was shared with another account, you can use the account that the * subnet was shared with to submit an AssociateVPCWithHostedZone * request. For more information about sharing subnets, see Working * with Shared VPCs.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateVPCWithHostedZoneOutcomeCallable AssociateVPCWithHostedZoneCallable(const Model::AssociateVPCWithHostedZoneRequest& request) const; /** *

Associates an Amazon VPC with a private hosted zone.

To * perform the association, the VPC and the private hosted zone must already exist. * Also, you can't convert a public hosted zone into a private hosted zone.

*

If you want to associate a VPC that was created by one AWS account * with a private hosted zone that was created by a different account, do one of * the following:

  • Use the AWS account that created the private * hosted zone to submit a CreateVPCAssociationAuthorization * request. Then use the account that created the VPC to submit an * AssociateVPCWithHostedZone request.

  • If a subnet * in the VPC was shared with another account, you can use the account that the * subnet was shared with to submit an AssociateVPCWithHostedZone * request. For more information about sharing subnets, see Working * with Shared VPCs.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateVPCWithHostedZoneAsync(const Model::AssociateVPCWithHostedZoneRequest& request, const AssociateVPCWithHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates, changes, or deletes a resource record set, which contains * authoritative DNS information for a specified domain name or subdomain name. For * example, you can use ChangeResourceRecordSets to create a resource * record set that routes traffic for test.example.com to a web server that has an * IP address of 192.0.2.44.

Deleting Resource Record Sets

*

To delete a resource record set, you must specify all the same values that * you specified when you created it.

Change Batches and Transactional * Changes

The request body must include a document with a * ChangeResourceRecordSetsRequest element. The request body contains * a list of change items, known as a change batch. Change batches are considered * transactional changes. Route 53 validates the changes in the request and then * either makes all or none of the changes in the change batch request. This * ensures that DNS routing isn't adversely affected by partial changes to the * resource record sets in a hosted zone.

For example, suppose a change * batch request contains two changes: it deletes the CNAME resource * record set for www.example.com and creates an alias resource record set for * www.example.com. If validation for both records succeeds, Route 53 deletes the * first resource record set and creates the second resource record set in a single * operation. If validation for either the DELETE or the * CREATE action fails, then the request is canceled, and the original * CNAME record continues to exist.

If you try to delete * the same resource record set more than once in a single change batch, Route 53 * returns an InvalidChangeBatch error.

Traffic * Flow

To create resource record sets for complex routing * configurations, use either the traffic flow visual editor in the Route 53 * console or the API actions for traffic policies and traffic policy instances. * Save the configuration as a traffic policy, then associate the traffic policy * with one or more domain names (such as example.com) or subdomain names (such as * www.example.com), in the same hosted zone or in multiple hosted zones. You can * roll back the updates if the new configuration isn't performing as expected. For * more information, see Using * Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer * Guide.

Create, Delete, and Upsert

Use * ChangeResourceRecordsSetsRequest to perform the following * actions:

  • CREATE: Creates a resource record set * that has the specified values.

  • DELETE: Deletes * an existing resource record set that has the specified values.

  • *

    UPSERT: If a resource record set does not already exist, AWS * creates it. If a resource set does exist, Route 53 updates it with the values in * the request.

Syntaxes for Creating, Updating, and * Deleting Resource Record Sets

The syntax for a request depends on * the type of resource record set that you want to create, delete, or update, such * as weighted, alias, or failover. The XML elements in your request must appear in * the order listed in the syntax.

For an example for each type of resource * record set, see "Examples."

Don't refer to the syntax in the "Parameter * Syntax" section, which includes all of the elements for every kind of resource * record set that you can create, delete, or update by using * ChangeResourceRecordSets.

Change Propagation to Route * 53 DNS Servers

When you submit a * ChangeResourceRecordSets request, Route 53 propagates your changes * to all of the Route 53 authoritative DNS servers. While your changes are * propagating, GetChange returns a status of PENDING. * When propagation is complete, GetChange returns a status of * INSYNC. Changes generally propagate to all Route 53 name servers * within 60 seconds. For more information, see GetChange.

*

Limits on ChangeResourceRecordSets Requests

For information * about the limits on a ChangeResourceRecordSets request, see Limits * in the Amazon Route 53 Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::ChangeResourceRecordSetsOutcome ChangeResourceRecordSets(const Model::ChangeResourceRecordSetsRequest& request) const; /** *

Creates, changes, or deletes a resource record set, which contains * authoritative DNS information for a specified domain name or subdomain name. For * example, you can use ChangeResourceRecordSets to create a resource * record set that routes traffic for test.example.com to a web server that has an * IP address of 192.0.2.44.

Deleting Resource Record Sets

*

To delete a resource record set, you must specify all the same values that * you specified when you created it.

Change Batches and Transactional * Changes

The request body must include a document with a * ChangeResourceRecordSetsRequest element. The request body contains * a list of change items, known as a change batch. Change batches are considered * transactional changes. Route 53 validates the changes in the request and then * either makes all or none of the changes in the change batch request. This * ensures that DNS routing isn't adversely affected by partial changes to the * resource record sets in a hosted zone.

For example, suppose a change * batch request contains two changes: it deletes the CNAME resource * record set for www.example.com and creates an alias resource record set for * www.example.com. If validation for both records succeeds, Route 53 deletes the * first resource record set and creates the second resource record set in a single * operation. If validation for either the DELETE or the * CREATE action fails, then the request is canceled, and the original * CNAME record continues to exist.

If you try to delete * the same resource record set more than once in a single change batch, Route 53 * returns an InvalidChangeBatch error.

Traffic * Flow

To create resource record sets for complex routing * configurations, use either the traffic flow visual editor in the Route 53 * console or the API actions for traffic policies and traffic policy instances. * Save the configuration as a traffic policy, then associate the traffic policy * with one or more domain names (such as example.com) or subdomain names (such as * www.example.com), in the same hosted zone or in multiple hosted zones. You can * roll back the updates if the new configuration isn't performing as expected. For * more information, see Using * Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer * Guide.

Create, Delete, and Upsert

Use * ChangeResourceRecordsSetsRequest to perform the following * actions:

  • CREATE: Creates a resource record set * that has the specified values.

  • DELETE: Deletes * an existing resource record set that has the specified values.

  • *

    UPSERT: If a resource record set does not already exist, AWS * creates it. If a resource set does exist, Route 53 updates it with the values in * the request.

Syntaxes for Creating, Updating, and * Deleting Resource Record Sets

The syntax for a request depends on * the type of resource record set that you want to create, delete, or update, such * as weighted, alias, or failover. The XML elements in your request must appear in * the order listed in the syntax.

For an example for each type of resource * record set, see "Examples."

Don't refer to the syntax in the "Parameter * Syntax" section, which includes all of the elements for every kind of resource * record set that you can create, delete, or update by using * ChangeResourceRecordSets.

Change Propagation to Route * 53 DNS Servers

When you submit a * ChangeResourceRecordSets request, Route 53 propagates your changes * to all of the Route 53 authoritative DNS servers. While your changes are * propagating, GetChange returns a status of PENDING. * When propagation is complete, GetChange returns a status of * INSYNC. Changes generally propagate to all Route 53 name servers * within 60 seconds. For more information, see GetChange.

*

Limits on ChangeResourceRecordSets Requests

For information * about the limits on a ChangeResourceRecordSets request, see Limits * in the Amazon Route 53 Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ChangeResourceRecordSetsOutcomeCallable ChangeResourceRecordSetsCallable(const Model::ChangeResourceRecordSetsRequest& request) const; /** *

Creates, changes, or deletes a resource record set, which contains * authoritative DNS information for a specified domain name or subdomain name. For * example, you can use ChangeResourceRecordSets to create a resource * record set that routes traffic for test.example.com to a web server that has an * IP address of 192.0.2.44.

Deleting Resource Record Sets

*

To delete a resource record set, you must specify all the same values that * you specified when you created it.

Change Batches and Transactional * Changes

The request body must include a document with a * ChangeResourceRecordSetsRequest element. The request body contains * a list of change items, known as a change batch. Change batches are considered * transactional changes. Route 53 validates the changes in the request and then * either makes all or none of the changes in the change batch request. This * ensures that DNS routing isn't adversely affected by partial changes to the * resource record sets in a hosted zone.

For example, suppose a change * batch request contains two changes: it deletes the CNAME resource * record set for www.example.com and creates an alias resource record set for * www.example.com. If validation for both records succeeds, Route 53 deletes the * first resource record set and creates the second resource record set in a single * operation. If validation for either the DELETE or the * CREATE action fails, then the request is canceled, and the original * CNAME record continues to exist.

If you try to delete * the same resource record set more than once in a single change batch, Route 53 * returns an InvalidChangeBatch error.

Traffic * Flow

To create resource record sets for complex routing * configurations, use either the traffic flow visual editor in the Route 53 * console or the API actions for traffic policies and traffic policy instances. * Save the configuration as a traffic policy, then associate the traffic policy * with one or more domain names (such as example.com) or subdomain names (such as * www.example.com), in the same hosted zone or in multiple hosted zones. You can * roll back the updates if the new configuration isn't performing as expected. For * more information, see Using * Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer * Guide.

Create, Delete, and Upsert

Use * ChangeResourceRecordsSetsRequest to perform the following * actions:

  • CREATE: Creates a resource record set * that has the specified values.

  • DELETE: Deletes * an existing resource record set that has the specified values.

  • *

    UPSERT: If a resource record set does not already exist, AWS * creates it. If a resource set does exist, Route 53 updates it with the values in * the request.

Syntaxes for Creating, Updating, and * Deleting Resource Record Sets

The syntax for a request depends on * the type of resource record set that you want to create, delete, or update, such * as weighted, alias, or failover. The XML elements in your request must appear in * the order listed in the syntax.

For an example for each type of resource * record set, see "Examples."

Don't refer to the syntax in the "Parameter * Syntax" section, which includes all of the elements for every kind of resource * record set that you can create, delete, or update by using * ChangeResourceRecordSets.

Change Propagation to Route * 53 DNS Servers

When you submit a * ChangeResourceRecordSets request, Route 53 propagates your changes * to all of the Route 53 authoritative DNS servers. While your changes are * propagating, GetChange returns a status of PENDING. * When propagation is complete, GetChange returns a status of * INSYNC. Changes generally propagate to all Route 53 name servers * within 60 seconds. For more information, see GetChange.

*

Limits on ChangeResourceRecordSets Requests

For information * about the limits on a ChangeResourceRecordSets request, see Limits * in the Amazon Route 53 Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ChangeResourceRecordSetsAsync(const Model::ChangeResourceRecordSetsRequest& request, const ChangeResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds, edits, or deletes tags for a health check or a hosted zone.

For * information about using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::ChangeTagsForResourceOutcome ChangeTagsForResource(const Model::ChangeTagsForResourceRequest& request) const; /** *

Adds, edits, or deletes tags for a health check or a hosted zone.

For * information about using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ChangeTagsForResourceOutcomeCallable ChangeTagsForResourceCallable(const Model::ChangeTagsForResourceRequest& request) const; /** *

Adds, edits, or deletes tags for a health check or a hosted zone.

For * information about using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ChangeTagsForResourceAsync(const Model::ChangeTagsForResourceRequest& request, const ChangeTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new health check.

For information about adding health checks * to resource record sets, see HealthCheckId * in ChangeResourceRecordSets. *

ELB Load Balancers

If you're registering EC2 instances * with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route * 53 health checks for the EC2 instances. When you register an EC2 instance with a * load balancer, you configure settings for an ELB health check, which performs a * similar function to a Route 53 health check.

Private Hosted Zones *

You can associate health checks with failover resource record sets in a * private hosted zone. Note the following:

  • Route 53 health * checkers are outside the VPC. To check the health of an endpoint within a VPC by * IP address, you must assign a public IP address to the instance in the VPC.

    *
  • You can configure a health checker to check the health of an * external resource that the instance relies on, such as a database server.

    *
  • You can create a CloudWatch metric, associate an alarm with the * metric, and then create a health check that is based on the state of the alarm. * For example, you might create a CloudWatch metric that checks the status of the * Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, * and then create a health check that is based on the state of the alarm. For * information about creating CloudWatch metrics and alarms by using the CloudWatch * console, see the Amazon * CloudWatch User Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateHealthCheckOutcome CreateHealthCheck(const Model::CreateHealthCheckRequest& request) const; /** *

Creates a new health check.

For information about adding health checks * to resource record sets, see HealthCheckId * in ChangeResourceRecordSets. *

ELB Load Balancers

If you're registering EC2 instances * with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route * 53 health checks for the EC2 instances. When you register an EC2 instance with a * load balancer, you configure settings for an ELB health check, which performs a * similar function to a Route 53 health check.

Private Hosted Zones *

You can associate health checks with failover resource record sets in a * private hosted zone. Note the following:

  • Route 53 health * checkers are outside the VPC. To check the health of an endpoint within a VPC by * IP address, you must assign a public IP address to the instance in the VPC.

    *
  • You can configure a health checker to check the health of an * external resource that the instance relies on, such as a database server.

    *
  • You can create a CloudWatch metric, associate an alarm with the * metric, and then create a health check that is based on the state of the alarm. * For example, you might create a CloudWatch metric that checks the status of the * Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, * and then create a health check that is based on the state of the alarm. For * information about creating CloudWatch metrics and alarms by using the CloudWatch * console, see the Amazon * CloudWatch User Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateHealthCheckOutcomeCallable CreateHealthCheckCallable(const Model::CreateHealthCheckRequest& request) const; /** *

Creates a new health check.

For information about adding health checks * to resource record sets, see HealthCheckId * in ChangeResourceRecordSets. *

ELB Load Balancers

If you're registering EC2 instances * with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route * 53 health checks for the EC2 instances. When you register an EC2 instance with a * load balancer, you configure settings for an ELB health check, which performs a * similar function to a Route 53 health check.

Private Hosted Zones *

You can associate health checks with failover resource record sets in a * private hosted zone. Note the following:

  • Route 53 health * checkers are outside the VPC. To check the health of an endpoint within a VPC by * IP address, you must assign a public IP address to the instance in the VPC.

    *
  • You can configure a health checker to check the health of an * external resource that the instance relies on, such as a database server.

    *
  • You can create a CloudWatch metric, associate an alarm with the * metric, and then create a health check that is based on the state of the alarm. * For example, you might create a CloudWatch metric that checks the status of the * Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, * and then create a health check that is based on the state of the alarm. For * information about creating CloudWatch metrics and alarms by using the CloudWatch * console, see the Amazon * CloudWatch User Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateHealthCheckAsync(const Model::CreateHealthCheckRequest& request, const CreateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new public or private hosted zone. You create records in a public * hosted zone to define how you want to route traffic on the internet for a * domain, such as example.com, and its subdomains (apex.example.com, * acme.example.com). You create records in a private hosted zone to define how you * want to route traffic for a domain and its subdomains within one or more Amazon * Virtual Private Clouds (Amazon VPCs).

You can't convert a * public hosted zone to a private hosted zone or vice versa. Instead, you must * create a new hosted zone with the same name and create new resource record * sets.

For more information about charges for hosted zones, * see Amazon Route 53 * Pricing.

Note the following:

  • You can't create a * hosted zone for a top-level domain (TLD) such as .com.

  • For * public hosted zones, Route 53 automatically creates a default SOA record and * four NS records for the zone. 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.

    If you want to use the same name servers * for multiple public hosted zones, you can optionally associate a reusable * delegation set with the hosted zone. See the DelegationSetId * element.

  • If your domain is registered with a registrar other * than Route 53, you must update the name servers with your registrar to make * Route 53 the DNS service for the domain. For more information, see Migrating * DNS Service for an Existing Domain to Amazon Route 53 in the Amazon Route * 53 Developer Guide.

When you submit a * CreateHostedZone request, the initial status of the hosted zone is * PENDING. For public hosted zones, this means that the NS and SOA * records are not yet available on all Route 53 DNS servers. When the NS and SOA * records are available, the status of the zone changes to * INSYNC.

See Also:

AWS * API Reference

*/ virtual Model::CreateHostedZoneOutcome CreateHostedZone(const Model::CreateHostedZoneRequest& request) const; /** *

Creates a new public or private hosted zone. You create records in a public * hosted zone to define how you want to route traffic on the internet for a * domain, such as example.com, and its subdomains (apex.example.com, * acme.example.com). You create records in a private hosted zone to define how you * want to route traffic for a domain and its subdomains within one or more Amazon * Virtual Private Clouds (Amazon VPCs).

You can't convert a * public hosted zone to a private hosted zone or vice versa. Instead, you must * create a new hosted zone with the same name and create new resource record * sets.

For more information about charges for hosted zones, * see Amazon Route 53 * Pricing.

Note the following:

  • You can't create a * hosted zone for a top-level domain (TLD) such as .com.

  • For * public hosted zones, Route 53 automatically creates a default SOA record and * four NS records for the zone. 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.

    If you want to use the same name servers * for multiple public hosted zones, you can optionally associate a reusable * delegation set with the hosted zone. See the DelegationSetId * element.

  • If your domain is registered with a registrar other * than Route 53, you must update the name servers with your registrar to make * Route 53 the DNS service for the domain. For more information, see Migrating * DNS Service for an Existing Domain to Amazon Route 53 in the Amazon Route * 53 Developer Guide.

When you submit a * CreateHostedZone request, the initial status of the hosted zone is * PENDING. For public hosted zones, this means that the NS and SOA * records are not yet available on all Route 53 DNS servers. When the NS and SOA * records are available, the status of the zone changes to * INSYNC.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateHostedZoneOutcomeCallable CreateHostedZoneCallable(const Model::CreateHostedZoneRequest& request) const; /** *

Creates a new public or private hosted zone. You create records in a public * hosted zone to define how you want to route traffic on the internet for a * domain, such as example.com, and its subdomains (apex.example.com, * acme.example.com). You create records in a private hosted zone to define how you * want to route traffic for a domain and its subdomains within one or more Amazon * Virtual Private Clouds (Amazon VPCs).

You can't convert a * public hosted zone to a private hosted zone or vice versa. Instead, you must * create a new hosted zone with the same name and create new resource record * sets.

For more information about charges for hosted zones, * see Amazon Route 53 * Pricing.

Note the following:

  • You can't create a * hosted zone for a top-level domain (TLD) such as .com.

  • For * public hosted zones, Route 53 automatically creates a default SOA record and * four NS records for the zone. 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.

    If you want to use the same name servers * for multiple public hosted zones, you can optionally associate a reusable * delegation set with the hosted zone. See the DelegationSetId * element.

  • If your domain is registered with a registrar other * than Route 53, you must update the name servers with your registrar to make * Route 53 the DNS service for the domain. For more information, see Migrating * DNS Service for an Existing Domain to Amazon Route 53 in the Amazon Route * 53 Developer Guide.

When you submit a * CreateHostedZone request, the initial status of the hosted zone is * PENDING. For public hosted zones, this means that the NS and SOA * records are not yet available on all Route 53 DNS servers. When the NS and SOA * records are available, the status of the zone changes to * INSYNC.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateHostedZoneAsync(const Model::CreateHostedZoneRequest& request, const CreateHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a configuration for DNS query logging. After you create a query * logging configuration, Amazon Route 53 begins to publish log data to an Amazon * CloudWatch Logs log group.

DNS query logs contain information about the * queries that Route 53 receives for a specified public hosted zone, such as the * following:

  • Route 53 edge location that responded to the DNS * query

  • Domain or subdomain that was requested

  • *

    DNS record type, such as A or AAAA

  • DNS response code, such * as NoError or ServFail

Log * Group and Resource Policy

Before you create a query logging * configuration, perform the following operations.

If you create a * query logging configuration using the Route 53 console, Route 53 performs these * operations automatically.

  1. Create a CloudWatch Logs log * group, and make note of the ARN, which you specify when you create a query * logging configuration. Note the following:

    • You must create the * log group in the us-east-1 region.

    • You must use the same AWS * account to create the log group and the hosted zone that you want to configure * query logging for.

    • When you create log groups for query * logging, we recommend that you use a consistent prefix, for example:

      * /aws/route53/hosted zone name

      In the next step, * you'll create a resource policy, which controls access to one or more log groups * and the associated AWS resources, such as Route 53 hosted zones. There's a limit * on the number of resource policies that you can create, so we recommend that you * use a consistent prefix so you can use the same resource policy for all the log * groups that you create for query logging.

  2. Create a * CloudWatch Logs resource policy, and give it the permissions that Route 53 needs * to create log streams and to send query logs to log streams. For the value of * Resource, specify the ARN for the log group that you created in the * previous step. To use the same resource policy for all the CloudWatch Logs log * groups that you created for query logging configurations, replace the hosted * zone name with *, for example:

    * arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/ *

    *

    You can't use the CloudWatch console to create or edit a resource * policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS * CLI.

Log Streams and Edge Locations
*

When Route 53 finishes creating the configuration for DNS query logging, it * does the following:

  • Creates a log stream for an edge location * the first time that the edge location responds to DNS queries for the specified * hosted zone. That log stream is used to log all queries that Route 53 responds * to for that edge location.

  • Begins to send query logs to the * applicable log stream.

The name of each log stream is in the * following format:

hosted zone ID/edge location code *

The edge location code is a three-letter code and an arbitrarily * assigned number, for example, DFW3. The three-letter code typically corresponds * with the International Air Transport Association airport code for an airport * near the edge location. (These abbreviations might change in the future.) For a * list of edge locations, see "The Route 53 Global Network" on the Route 53 Product Details * page.

Queries That Are Logged

Query logs contain only * the queries that DNS resolvers forward to Route 53. If a DNS resolver has * already cached the response to a query (such as the IP address for a load * balancer for example.com), the resolver will continue to return the cached * response. It doesn't forward another query to Route 53 until the TTL for the * corresponding resource record set expires. Depending on how many DNS queries are * submitted for a resource record set, and depending on the TTL for that resource * record set, query logs might contain information about only one query out of * every several thousand queries that are submitted to DNS. For more information * about how DNS works, see Routing * Internet Traffic to Your Website or Web Application in the Amazon Route * 53 Developer Guide.

Log File Format

For a list of * the values in each query log and the format of each value, see Logging * DNS Queries in the Amazon Route 53 Developer Guide.

*
Pricing

For information about charges for query logs, see Amazon CloudWatch * Pricing.

How to Stop Logging

If you want Route 53 * to stop sending query logs to CloudWatch Logs, delete the query logging * configuration. For more information, see DeleteQueryLoggingConfig.

*

See Also:

AWS * API Reference

*/ virtual Model::CreateQueryLoggingConfigOutcome CreateQueryLoggingConfig(const Model::CreateQueryLoggingConfigRequest& request) const; /** *

Creates a configuration for DNS query logging. After you create a query * logging configuration, Amazon Route 53 begins to publish log data to an Amazon * CloudWatch Logs log group.

DNS query logs contain information about the * queries that Route 53 receives for a specified public hosted zone, such as the * following:

  • Route 53 edge location that responded to the DNS * query

  • Domain or subdomain that was requested

  • *

    DNS record type, such as A or AAAA

  • DNS response code, such * as NoError or ServFail

Log * Group and Resource Policy

Before you create a query logging * configuration, perform the following operations.

If you create a * query logging configuration using the Route 53 console, Route 53 performs these * operations automatically.

  1. Create a CloudWatch Logs log * group, and make note of the ARN, which you specify when you create a query * logging configuration. Note the following:

    • You must create the * log group in the us-east-1 region.

    • You must use the same AWS * account to create the log group and the hosted zone that you want to configure * query logging for.

    • When you create log groups for query * logging, we recommend that you use a consistent prefix, for example:

      * /aws/route53/hosted zone name

      In the next step, * you'll create a resource policy, which controls access to one or more log groups * and the associated AWS resources, such as Route 53 hosted zones. There's a limit * on the number of resource policies that you can create, so we recommend that you * use a consistent prefix so you can use the same resource policy for all the log * groups that you create for query logging.

  2. Create a * CloudWatch Logs resource policy, and give it the permissions that Route 53 needs * to create log streams and to send query logs to log streams. For the value of * Resource, specify the ARN for the log group that you created in the * previous step. To use the same resource policy for all the CloudWatch Logs log * groups that you created for query logging configurations, replace the hosted * zone name with *, for example:

    * arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/ *

    *

    You can't use the CloudWatch console to create or edit a resource * policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS * CLI.

Log Streams and Edge Locations
*

When Route 53 finishes creating the configuration for DNS query logging, it * does the following:

  • Creates a log stream for an edge location * the first time that the edge location responds to DNS queries for the specified * hosted zone. That log stream is used to log all queries that Route 53 responds * to for that edge location.

  • Begins to send query logs to the * applicable log stream.

The name of each log stream is in the * following format:

hosted zone ID/edge location code *

The edge location code is a three-letter code and an arbitrarily * assigned number, for example, DFW3. The three-letter code typically corresponds * with the International Air Transport Association airport code for an airport * near the edge location. (These abbreviations might change in the future.) For a * list of edge locations, see "The Route 53 Global Network" on the Route 53 Product Details * page.

Queries That Are Logged

Query logs contain only * the queries that DNS resolvers forward to Route 53. If a DNS resolver has * already cached the response to a query (such as the IP address for a load * balancer for example.com), the resolver will continue to return the cached * response. It doesn't forward another query to Route 53 until the TTL for the * corresponding resource record set expires. Depending on how many DNS queries are * submitted for a resource record set, and depending on the TTL for that resource * record set, query logs might contain information about only one query out of * every several thousand queries that are submitted to DNS. For more information * about how DNS works, see Routing * Internet Traffic to Your Website or Web Application in the Amazon Route * 53 Developer Guide.

Log File Format

For a list of * the values in each query log and the format of each value, see Logging * DNS Queries in the Amazon Route 53 Developer Guide.

*
Pricing

For information about charges for query logs, see Amazon CloudWatch * Pricing.

How to Stop Logging

If you want Route 53 * to stop sending query logs to CloudWatch Logs, delete the query logging * configuration. For more information, see DeleteQueryLoggingConfig.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateQueryLoggingConfigOutcomeCallable CreateQueryLoggingConfigCallable(const Model::CreateQueryLoggingConfigRequest& request) const; /** *

Creates a configuration for DNS query logging. After you create a query * logging configuration, Amazon Route 53 begins to publish log data to an Amazon * CloudWatch Logs log group.

DNS query logs contain information about the * queries that Route 53 receives for a specified public hosted zone, such as the * following:

  • Route 53 edge location that responded to the DNS * query

  • Domain or subdomain that was requested

  • *

    DNS record type, such as A or AAAA

  • DNS response code, such * as NoError or ServFail

Log * Group and Resource Policy

Before you create a query logging * configuration, perform the following operations.

If you create a * query logging configuration using the Route 53 console, Route 53 performs these * operations automatically.

  1. Create a CloudWatch Logs log * group, and make note of the ARN, which you specify when you create a query * logging configuration. Note the following:

    • You must create the * log group in the us-east-1 region.

    • You must use the same AWS * account to create the log group and the hosted zone that you want to configure * query logging for.

    • When you create log groups for query * logging, we recommend that you use a consistent prefix, for example:

      * /aws/route53/hosted zone name

      In the next step, * you'll create a resource policy, which controls access to one or more log groups * and the associated AWS resources, such as Route 53 hosted zones. There's a limit * on the number of resource policies that you can create, so we recommend that you * use a consistent prefix so you can use the same resource policy for all the log * groups that you create for query logging.

  2. Create a * CloudWatch Logs resource policy, and give it the permissions that Route 53 needs * to create log streams and to send query logs to log streams. For the value of * Resource, specify the ARN for the log group that you created in the * previous step. To use the same resource policy for all the CloudWatch Logs log * groups that you created for query logging configurations, replace the hosted * zone name with *, for example:

    * arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/ *

    *

    You can't use the CloudWatch console to create or edit a resource * policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS * CLI.

Log Streams and Edge Locations
*

When Route 53 finishes creating the configuration for DNS query logging, it * does the following:

  • Creates a log stream for an edge location * the first time that the edge location responds to DNS queries for the specified * hosted zone. That log stream is used to log all queries that Route 53 responds * to for that edge location.

  • Begins to send query logs to the * applicable log stream.

The name of each log stream is in the * following format:

hosted zone ID/edge location code *

The edge location code is a three-letter code and an arbitrarily * assigned number, for example, DFW3. The three-letter code typically corresponds * with the International Air Transport Association airport code for an airport * near the edge location. (These abbreviations might change in the future.) For a * list of edge locations, see "The Route 53 Global Network" on the Route 53 Product Details * page.

Queries That Are Logged

Query logs contain only * the queries that DNS resolvers forward to Route 53. If a DNS resolver has * already cached the response to a query (such as the IP address for a load * balancer for example.com), the resolver will continue to return the cached * response. It doesn't forward another query to Route 53 until the TTL for the * corresponding resource record set expires. Depending on how many DNS queries are * submitted for a resource record set, and depending on the TTL for that resource * record set, query logs might contain information about only one query out of * every several thousand queries that are submitted to DNS. For more information * about how DNS works, see Routing * Internet Traffic to Your Website or Web Application in the Amazon Route * 53 Developer Guide.

Log File Format

For a list of * the values in each query log and the format of each value, see Logging * DNS Queries in the Amazon Route 53 Developer Guide.

*
Pricing

For information about charges for query logs, see Amazon CloudWatch * Pricing.

How to Stop Logging

If you want Route 53 * to stop sending query logs to CloudWatch Logs, delete the query logging * configuration. For more information, see DeleteQueryLoggingConfig.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateQueryLoggingConfigAsync(const Model::CreateQueryLoggingConfigRequest& request, const CreateQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a delegation set (a group of four name servers) that can be reused by * multiple hosted zones that were created by the same AWS account.

You can * also create a reusable delegation set that uses the four name servers that are * associated with an existing hosted zone. Specify the hosted zone ID in the * CreateReusableDelegationSet request.

You can't * associate a reusable delegation set with a private hosted zone.

*

For information about using a reusable delegation set to configure white * label name servers, see Configuring * White Label Name Servers.

The process for migrating existing hosted * zones to use a reusable delegation set is comparable to the process for * configuring white label name servers. You need to perform the following * steps:

  1. Create a reusable delegation set.

  2. *

    Recreate hosted zones, and reduce the TTL to 60 seconds or less.

  3. *
  4. Recreate resource record sets in the new hosted zones.

  5. *

    Change the registrar's name servers to use the name servers for the new * hosted zones.

  6. Monitor traffic for the website or * application.

  7. Change TTLs back to their original values.

    *

If you want to migrate existing hosted zones to use a reusable * delegation set, the existing hosted zones can't use any of the name servers that * are assigned to the reusable delegation set. If one or more hosted zones do use * one or more name servers that are assigned to the reusable delegation set, you * can do one of the following:

  • For small numbers of hosted * zones—up to a few hundred—it's relatively easy to create reusable delegation * sets until you get one that has four name servers that don't overlap with any of * the name servers in your hosted zones.

  • For larger numbers of * hosted zones, the easiest solution is to use more than one reusable delegation * set.

  • For larger numbers of hosted zones, you can also migrate * hosted zones that have overlapping name servers to hosted zones that don't have * overlapping name servers, then migrate the hosted zones again to use the * reusable delegation set.

See Also:

AWS * API Reference

*/ virtual Model::CreateReusableDelegationSetOutcome CreateReusableDelegationSet(const Model::CreateReusableDelegationSetRequest& request) const; /** *

Creates a delegation set (a group of four name servers) that can be reused by * multiple hosted zones that were created by the same AWS account.

You can * also create a reusable delegation set that uses the four name servers that are * associated with an existing hosted zone. Specify the hosted zone ID in the * CreateReusableDelegationSet request.

You can't * associate a reusable delegation set with a private hosted zone.

*

For information about using a reusable delegation set to configure white * label name servers, see Configuring * White Label Name Servers.

The process for migrating existing hosted * zones to use a reusable delegation set is comparable to the process for * configuring white label name servers. You need to perform the following * steps:

  1. Create a reusable delegation set.

  2. *

    Recreate hosted zones, and reduce the TTL to 60 seconds or less.

  3. *
  4. Recreate resource record sets in the new hosted zones.

  5. *

    Change the registrar's name servers to use the name servers for the new * hosted zones.

  6. Monitor traffic for the website or * application.

  7. Change TTLs back to their original values.

    *

If you want to migrate existing hosted zones to use a reusable * delegation set, the existing hosted zones can't use any of the name servers that * are assigned to the reusable delegation set. If one or more hosted zones do use * one or more name servers that are assigned to the reusable delegation set, you * can do one of the following:

  • For small numbers of hosted * zones—up to a few hundred—it's relatively easy to create reusable delegation * sets until you get one that has four name servers that don't overlap with any of * the name servers in your hosted zones.

  • For larger numbers of * hosted zones, the easiest solution is to use more than one reusable delegation * set.

  • For larger numbers of hosted zones, you can also migrate * hosted zones that have overlapping name servers to hosted zones that don't have * overlapping name servers, then migrate the hosted zones again to use the * reusable delegation set.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateReusableDelegationSetOutcomeCallable CreateReusableDelegationSetCallable(const Model::CreateReusableDelegationSetRequest& request) const; /** *

Creates a delegation set (a group of four name servers) that can be reused by * multiple hosted zones that were created by the same AWS account.

You can * also create a reusable delegation set that uses the four name servers that are * associated with an existing hosted zone. Specify the hosted zone ID in the * CreateReusableDelegationSet request.

You can't * associate a reusable delegation set with a private hosted zone.

*

For information about using a reusable delegation set to configure white * label name servers, see Configuring * White Label Name Servers.

The process for migrating existing hosted * zones to use a reusable delegation set is comparable to the process for * configuring white label name servers. You need to perform the following * steps:

  1. Create a reusable delegation set.

  2. *

    Recreate hosted zones, and reduce the TTL to 60 seconds or less.

  3. *
  4. Recreate resource record sets in the new hosted zones.

  5. *

    Change the registrar's name servers to use the name servers for the new * hosted zones.

  6. Monitor traffic for the website or * application.

  7. Change TTLs back to their original values.

    *

If you want to migrate existing hosted zones to use a reusable * delegation set, the existing hosted zones can't use any of the name servers that * are assigned to the reusable delegation set. If one or more hosted zones do use * one or more name servers that are assigned to the reusable delegation set, you * can do one of the following:

  • For small numbers of hosted * zones—up to a few hundred—it's relatively easy to create reusable delegation * sets until you get one that has four name servers that don't overlap with any of * the name servers in your hosted zones.

  • For larger numbers of * hosted zones, the easiest solution is to use more than one reusable delegation * set.

  • For larger numbers of hosted zones, you can also migrate * hosted zones that have overlapping name servers to hosted zones that don't have * overlapping name servers, then migrate the hosted zones again to use the * reusable delegation set.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateReusableDelegationSetAsync(const Model::CreateReusableDelegationSetRequest& request, const CreateReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a traffic policy, which you use to create multiple DNS resource * record sets for one domain name (such as example.com) or one subdomain name * (such as www.example.com).

See Also:

AWS * API Reference

*/ virtual Model::CreateTrafficPolicyOutcome CreateTrafficPolicy(const Model::CreateTrafficPolicyRequest& request) const; /** *

Creates a traffic policy, which you use to create multiple DNS resource * record sets for one domain name (such as example.com) or one subdomain name * (such as www.example.com).

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateTrafficPolicyOutcomeCallable CreateTrafficPolicyCallable(const Model::CreateTrafficPolicyRequest& request) const; /** *

Creates a traffic policy, which you use to create multiple DNS resource * record sets for one domain name (such as example.com) or one subdomain name * (such as www.example.com).

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateTrafficPolicyAsync(const Model::CreateTrafficPolicyRequest& request, const CreateTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates resource record sets in a specified hosted zone based on the settings * in a specified traffic policy version. In addition, * CreateTrafficPolicyInstance associates the resource record sets * with a specified domain name (such as example.com) or subdomain name (such as * www.example.com). Amazon Route 53 responds to DNS queries for the domain or * subdomain name by using the resource record sets that * CreateTrafficPolicyInstance created.

See Also:

AWS * API Reference

*/ virtual Model::CreateTrafficPolicyInstanceOutcome CreateTrafficPolicyInstance(const Model::CreateTrafficPolicyInstanceRequest& request) const; /** *

Creates resource record sets in a specified hosted zone based on the settings * in a specified traffic policy version. In addition, * CreateTrafficPolicyInstance associates the resource record sets * with a specified domain name (such as example.com) or subdomain name (such as * www.example.com). Amazon Route 53 responds to DNS queries for the domain or * subdomain name by using the resource record sets that * CreateTrafficPolicyInstance created.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateTrafficPolicyInstanceOutcomeCallable CreateTrafficPolicyInstanceCallable(const Model::CreateTrafficPolicyInstanceRequest& request) const; /** *

Creates resource record sets in a specified hosted zone based on the settings * in a specified traffic policy version. In addition, * CreateTrafficPolicyInstance associates the resource record sets * with a specified domain name (such as example.com) or subdomain name (such as * www.example.com). Amazon Route 53 responds to DNS queries for the domain or * subdomain name by using the resource record sets that * CreateTrafficPolicyInstance created.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateTrafficPolicyInstanceAsync(const Model::CreateTrafficPolicyInstanceRequest& request, const CreateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new version of an existing traffic policy. When you create a new * version of a traffic policy, you specify the ID of the traffic policy that you * want to update and a JSON-formatted document that describes the new version. You * use traffic policies to create multiple DNS resource record sets for one domain * name (such as example.com) or one subdomain name (such as www.example.com). You * can create a maximum of 1000 versions of a traffic policy. If you reach the * limit and need to create another version, you'll need to start a new traffic * policy.

See Also:

AWS * API Reference

*/ virtual Model::CreateTrafficPolicyVersionOutcome CreateTrafficPolicyVersion(const Model::CreateTrafficPolicyVersionRequest& request) const; /** *

Creates a new version of an existing traffic policy. When you create a new * version of a traffic policy, you specify the ID of the traffic policy that you * want to update and a JSON-formatted document that describes the new version. You * use traffic policies to create multiple DNS resource record sets for one domain * name (such as example.com) or one subdomain name (such as www.example.com). You * can create a maximum of 1000 versions of a traffic policy. If you reach the * limit and need to create another version, you'll need to start a new traffic * policy.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateTrafficPolicyVersionOutcomeCallable CreateTrafficPolicyVersionCallable(const Model::CreateTrafficPolicyVersionRequest& request) const; /** *

Creates a new version of an existing traffic policy. When you create a new * version of a traffic policy, you specify the ID of the traffic policy that you * want to update and a JSON-formatted document that describes the new version. You * use traffic policies to create multiple DNS resource record sets for one domain * name (such as example.com) or one subdomain name (such as www.example.com). You * can create a maximum of 1000 versions of a traffic policy. If you reach the * limit and need to create another version, you'll need to start a new traffic * policy.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateTrafficPolicyVersionAsync(const Model::CreateTrafficPolicyVersionRequest& request, const CreateTrafficPolicyVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Authorizes the AWS account that created a specified VPC to submit an * AssociateVPCWithHostedZone request to associate the VPC with a * specified hosted zone that was created by a different account. To submit a * CreateVPCAssociationAuthorization request, you must use the account * that created the hosted zone. After you authorize the association, use the * account that created the VPC to submit an * AssociateVPCWithHostedZone request.

If you want to * associate multiple VPCs that you created by using one account with a hosted zone * that you created by using a different account, you must submit one authorization * request for each VPC.

See Also:

AWS * API Reference

*/ virtual Model::CreateVPCAssociationAuthorizationOutcome CreateVPCAssociationAuthorization(const Model::CreateVPCAssociationAuthorizationRequest& request) const; /** *

Authorizes the AWS account that created a specified VPC to submit an * AssociateVPCWithHostedZone request to associate the VPC with a * specified hosted zone that was created by a different account. To submit a * CreateVPCAssociationAuthorization request, you must use the account * that created the hosted zone. After you authorize the association, use the * account that created the VPC to submit an * AssociateVPCWithHostedZone request.

If you want to * associate multiple VPCs that you created by using one account with a hosted zone * that you created by using a different account, you must submit one authorization * request for each VPC.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateVPCAssociationAuthorizationOutcomeCallable CreateVPCAssociationAuthorizationCallable(const Model::CreateVPCAssociationAuthorizationRequest& request) const; /** *

Authorizes the AWS account that created a specified VPC to submit an * AssociateVPCWithHostedZone request to associate the VPC with a * specified hosted zone that was created by a different account. To submit a * CreateVPCAssociationAuthorization request, you must use the account * that created the hosted zone. After you authorize the association, use the * account that created the VPC to submit an * AssociateVPCWithHostedZone request.

If you want to * associate multiple VPCs that you created by using one account with a hosted zone * that you created by using a different account, you must submit one authorization * request for each VPC.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateVPCAssociationAuthorizationAsync(const Model::CreateVPCAssociationAuthorizationRequest& request, const CreateVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a health check.

Amazon Route 53 does not prevent * you from deleting a health check even if the health check is associated with one * or more resource record sets. If you delete a health check and you don't update * the associated resource record sets, the future status of the health check can't * be predicted and may change. This will affect the routing of DNS queries for * your DNS failover configuration. For more information, see Replacing * and Deleting Health Checks in the Amazon Route 53 Developer * Guide.

If you're using AWS Cloud Map and you configured * Cloud Map to create a Route 53 health check when you register an instance, you * can't use the Route 53 DeleteHealthCheck command to delete the * health check. The health check is deleted automatically when you deregister the * instance; there can be a delay of several hours before the health check is * deleted from Route 53.

See Also:

AWS * API Reference

*/ virtual Model::DeleteHealthCheckOutcome DeleteHealthCheck(const Model::DeleteHealthCheckRequest& request) const; /** *

Deletes a health check.

Amazon Route 53 does not prevent * you from deleting a health check even if the health check is associated with one * or more resource record sets. If you delete a health check and you don't update * the associated resource record sets, the future status of the health check can't * be predicted and may change. This will affect the routing of DNS queries for * your DNS failover configuration. For more information, see Replacing * and Deleting Health Checks in the Amazon Route 53 Developer * Guide.

If you're using AWS Cloud Map and you configured * Cloud Map to create a Route 53 health check when you register an instance, you * can't use the Route 53 DeleteHealthCheck command to delete the * health check. The health check is deleted automatically when you deregister the * instance; there can be a delay of several hours before the health check is * deleted from Route 53.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteHealthCheckOutcomeCallable DeleteHealthCheckCallable(const Model::DeleteHealthCheckRequest& request) const; /** *

Deletes a health check.

Amazon Route 53 does not prevent * you from deleting a health check even if the health check is associated with one * or more resource record sets. If you delete a health check and you don't update * the associated resource record sets, the future status of the health check can't * be predicted and may change. This will affect the routing of DNS queries for * your DNS failover configuration. For more information, see Replacing * and Deleting Health Checks in the Amazon Route 53 Developer * Guide.

If you're using AWS Cloud Map and you configured * Cloud Map to create a Route 53 health check when you register an instance, you * can't use the Route 53 DeleteHealthCheck command to delete the * health check. The health check is deleted automatically when you deregister the * instance; there can be a delay of several hours before the health check is * deleted from Route 53.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteHealthCheckAsync(const Model::DeleteHealthCheckRequest& request, const DeleteHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a hosted zone.

If the hosted zone was created by another * service, such as AWS Cloud Map, see Deleting * Public Hosted Zones That Were Created by Another Service in the Amazon * Route 53 Developer Guide for information about how to delete it. (The * process is the same for public and private hosted zones that were created by * another service.)

If you want to keep your domain registration but you * want to stop routing internet traffic to your website or web application, we * recommend that you delete resource record sets in the hosted zone instead of * deleting the hosted zone.

If you delete a hosted zone, you * can't undelete it. You must create a new hosted zone and update the name servers * for your domain registration, which can require up to 48 hours to take effect. * (If you delegated responsibility for a subdomain to a hosted zone and you delete * the child hosted zone, you must update the name servers in the parent hosted * zone.) In addition, if you delete a hosted zone, someone could hijack the domain * and route traffic to their own resources using your domain name.

*

If you want to avoid the monthly charge for the hosted zone, you * can transfer DNS service for the domain to a free DNS service. When you transfer * DNS service, you have to update the name servers for the domain registration. If * the domain is registered with Route 53, see UpdateDomainNameservers * for information about how to replace Route 53 name servers with name servers for * the new DNS service. If the domain is registered with another registrar, use the * method provided by the registrar to update name servers for the domain * registration. For more information, perform an internet search on "free DNS * service."

You can delete a hosted zone only if it contains only the * default SOA record and NS resource record sets. If the hosted zone contains * other resource record sets, you must delete them before you can delete the * hosted zone. If you try to delete a hosted zone that contains other resource * record sets, the request fails, and Route 53 returns a * HostedZoneNotEmpty error. For information about deleting records * from your hosted zone, see ChangeResourceRecordSets.

*

To verify that the hosted zone has been deleted, do one of the following:

*
  • Use the GetHostedZone action to request information * about the hosted zone.

  • Use the ListHostedZones * action to get a list of the hosted zones associated with the current AWS * account.

See Also:

AWS * API Reference

*/ virtual Model::DeleteHostedZoneOutcome DeleteHostedZone(const Model::DeleteHostedZoneRequest& request) const; /** *

Deletes a hosted zone.

If the hosted zone was created by another * service, such as AWS Cloud Map, see Deleting * Public Hosted Zones That Were Created by Another Service in the Amazon * Route 53 Developer Guide for information about how to delete it. (The * process is the same for public and private hosted zones that were created by * another service.)

If you want to keep your domain registration but you * want to stop routing internet traffic to your website or web application, we * recommend that you delete resource record sets in the hosted zone instead of * deleting the hosted zone.

If you delete a hosted zone, you * can't undelete it. You must create a new hosted zone and update the name servers * for your domain registration, which can require up to 48 hours to take effect. * (If you delegated responsibility for a subdomain to a hosted zone and you delete * the child hosted zone, you must update the name servers in the parent hosted * zone.) In addition, if you delete a hosted zone, someone could hijack the domain * and route traffic to their own resources using your domain name.

*

If you want to avoid the monthly charge for the hosted zone, you * can transfer DNS service for the domain to a free DNS service. When you transfer * DNS service, you have to update the name servers for the domain registration. If * the domain is registered with Route 53, see UpdateDomainNameservers * for information about how to replace Route 53 name servers with name servers for * the new DNS service. If the domain is registered with another registrar, use the * method provided by the registrar to update name servers for the domain * registration. For more information, perform an internet search on "free DNS * service."

You can delete a hosted zone only if it contains only the * default SOA record and NS resource record sets. If the hosted zone contains * other resource record sets, you must delete them before you can delete the * hosted zone. If you try to delete a hosted zone that contains other resource * record sets, the request fails, and Route 53 returns a * HostedZoneNotEmpty error. For information about deleting records * from your hosted zone, see ChangeResourceRecordSets.

*

To verify that the hosted zone has been deleted, do one of the following:

*
  • Use the GetHostedZone action to request information * about the hosted zone.

  • Use the ListHostedZones * action to get a list of the hosted zones associated with the current AWS * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteHostedZoneOutcomeCallable DeleteHostedZoneCallable(const Model::DeleteHostedZoneRequest& request) const; /** *

Deletes a hosted zone.

If the hosted zone was created by another * service, such as AWS Cloud Map, see Deleting * Public Hosted Zones That Were Created by Another Service in the Amazon * Route 53 Developer Guide for information about how to delete it. (The * process is the same for public and private hosted zones that were created by * another service.)

If you want to keep your domain registration but you * want to stop routing internet traffic to your website or web application, we * recommend that you delete resource record sets in the hosted zone instead of * deleting the hosted zone.

If you delete a hosted zone, you * can't undelete it. You must create a new hosted zone and update the name servers * for your domain registration, which can require up to 48 hours to take effect. * (If you delegated responsibility for a subdomain to a hosted zone and you delete * the child hosted zone, you must update the name servers in the parent hosted * zone.) In addition, if you delete a hosted zone, someone could hijack the domain * and route traffic to their own resources using your domain name.

*

If you want to avoid the monthly charge for the hosted zone, you * can transfer DNS service for the domain to a free DNS service. When you transfer * DNS service, you have to update the name servers for the domain registration. If * the domain is registered with Route 53, see UpdateDomainNameservers * for information about how to replace Route 53 name servers with name servers for * the new DNS service. If the domain is registered with another registrar, use the * method provided by the registrar to update name servers for the domain * registration. For more information, perform an internet search on "free DNS * service."

You can delete a hosted zone only if it contains only the * default SOA record and NS resource record sets. If the hosted zone contains * other resource record sets, you must delete them before you can delete the * hosted zone. If you try to delete a hosted zone that contains other resource * record sets, the request fails, and Route 53 returns a * HostedZoneNotEmpty error. For information about deleting records * from your hosted zone, see ChangeResourceRecordSets.

*

To verify that the hosted zone has been deleted, do one of the following:

*
  • Use the GetHostedZone action to request information * about the hosted zone.

  • Use the ListHostedZones * action to get a list of the hosted zones associated with the current AWS * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteHostedZoneAsync(const Model::DeleteHostedZoneRequest& request, const DeleteHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a configuration for DNS query logging. If you delete a configuration, * Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't * delete any logs that are already in CloudWatch Logs.

For more information * about DNS query logs, see CreateQueryLoggingConfig.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteQueryLoggingConfigOutcome DeleteQueryLoggingConfig(const Model::DeleteQueryLoggingConfigRequest& request) const; /** *

Deletes a configuration for DNS query logging. If you delete a configuration, * Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't * delete any logs that are already in CloudWatch Logs.

For more information * about DNS query logs, see CreateQueryLoggingConfig.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteQueryLoggingConfigOutcomeCallable DeleteQueryLoggingConfigCallable(const Model::DeleteQueryLoggingConfigRequest& request) const; /** *

Deletes a configuration for DNS query logging. If you delete a configuration, * Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't * delete any logs that are already in CloudWatch Logs.

For more information * about DNS query logs, see CreateQueryLoggingConfig.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteQueryLoggingConfigAsync(const Model::DeleteQueryLoggingConfigRequest& request, const DeleteQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a reusable delegation set.

You can delete a * reusable delegation set only if it isn't associated with any hosted zones.

*

To verify that the reusable delegation set is not associated * with any hosted zones, submit a GetReusableDelegationSet * request and specify the ID of the reusable delegation set that you want to * delete.

See Also:

AWS * API Reference

*/ virtual Model::DeleteReusableDelegationSetOutcome DeleteReusableDelegationSet(const Model::DeleteReusableDelegationSetRequest& request) const; /** *

Deletes a reusable delegation set.

You can delete a * reusable delegation set only if it isn't associated with any hosted zones.

*

To verify that the reusable delegation set is not associated * with any hosted zones, submit a GetReusableDelegationSet * request and specify the ID of the reusable delegation set that you want to * delete.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteReusableDelegationSetOutcomeCallable DeleteReusableDelegationSetCallable(const Model::DeleteReusableDelegationSetRequest& request) const; /** *

Deletes a reusable delegation set.

You can delete a * reusable delegation set only if it isn't associated with any hosted zones.

*

To verify that the reusable delegation set is not associated * with any hosted zones, submit a GetReusableDelegationSet * request and specify the ID of the reusable delegation set that you want to * delete.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteReusableDelegationSetAsync(const Model::DeleteReusableDelegationSetRequest& request, const DeleteReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a traffic policy.

See Also:

AWS * API Reference

*/ virtual Model::DeleteTrafficPolicyOutcome DeleteTrafficPolicy(const Model::DeleteTrafficPolicyRequest& request) const; /** *

Deletes a traffic policy.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteTrafficPolicyOutcomeCallable DeleteTrafficPolicyCallable(const Model::DeleteTrafficPolicyRequest& request) const; /** *

Deletes a traffic policy.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteTrafficPolicyAsync(const Model::DeleteTrafficPolicyRequest& request, const DeleteTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a traffic policy instance and all of the resource record sets that * Amazon Route 53 created when you created the instance.

In the * Route 53 console, traffic policy instances are known as policy records.

*

See Also:

AWS * API Reference

*/ virtual Model::DeleteTrafficPolicyInstanceOutcome DeleteTrafficPolicyInstance(const Model::DeleteTrafficPolicyInstanceRequest& request) const; /** *

Deletes a traffic policy instance and all of the resource record sets that * Amazon Route 53 created when you created the instance.

In the * Route 53 console, traffic policy instances are known as policy records.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteTrafficPolicyInstanceOutcomeCallable DeleteTrafficPolicyInstanceCallable(const Model::DeleteTrafficPolicyInstanceRequest& request) const; /** *

Deletes a traffic policy instance and all of the resource record sets that * Amazon Route 53 created when you created the instance.

In the * Route 53 console, traffic policy instances are known as policy records.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteTrafficPolicyInstanceAsync(const Model::DeleteTrafficPolicyInstanceRequest& request, const DeleteTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes authorization to submit an AssociateVPCWithHostedZone * request to associate a specified VPC with a hosted zone that was created by a * different account. You must use the account that created the hosted zone to * submit a DeleteVPCAssociationAuthorization request.

*

Sending this request only prevents the AWS account that created the VPC from * associating the VPC with the Amazon Route 53 hosted zone in the future. If the * VPC is already associated with the hosted zone, * DeleteVPCAssociationAuthorization won't disassociate the VPC from * the hosted zone. If you want to delete an existing association, use * DisassociateVPCFromHostedZone.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteVPCAssociationAuthorizationOutcome DeleteVPCAssociationAuthorization(const Model::DeleteVPCAssociationAuthorizationRequest& request) const; /** *

Removes authorization to submit an AssociateVPCWithHostedZone * request to associate a specified VPC with a hosted zone that was created by a * different account. You must use the account that created the hosted zone to * submit a DeleteVPCAssociationAuthorization request.

*

Sending this request only prevents the AWS account that created the VPC from * associating the VPC with the Amazon Route 53 hosted zone in the future. If the * VPC is already associated with the hosted zone, * DeleteVPCAssociationAuthorization won't disassociate the VPC from * the hosted zone. If you want to delete an existing association, use * DisassociateVPCFromHostedZone.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteVPCAssociationAuthorizationOutcomeCallable DeleteVPCAssociationAuthorizationCallable(const Model::DeleteVPCAssociationAuthorizationRequest& request) const; /** *

Removes authorization to submit an AssociateVPCWithHostedZone * request to associate a specified VPC with a hosted zone that was created by a * different account. You must use the account that created the hosted zone to * submit a DeleteVPCAssociationAuthorization request.

*

Sending this request only prevents the AWS account that created the VPC from * associating the VPC with the Amazon Route 53 hosted zone in the future. If the * VPC is already associated with the hosted zone, * DeleteVPCAssociationAuthorization won't disassociate the VPC from * the hosted zone. If you want to delete an existing association, use * DisassociateVPCFromHostedZone.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteVPCAssociationAuthorizationAsync(const Model::DeleteVPCAssociationAuthorizationRequest& request, const DeleteVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon * Route 53 private hosted zone. Note the following:

  • You can't * disassociate the last Amazon VPC from a private hosted zone.

  • *

    You can't convert a private hosted zone into a public hosted zone.

  • *
  • You can submit a DisassociateVPCFromHostedZone request * using either the account that created the hosted zone or the account that * created the Amazon VPC.

  • Some services, such as AWS Cloud Map * and Amazon Elastic File System (Amazon EFS) automatically create hosted zones * and associate VPCs with the hosted zones. A service can create a hosted zone * using your account or using its own account. You can disassociate a VPC from a * hosted zone only if the service created the hosted zone using your account.

    *

    When you run DisassociateVPCFromHostedZone, * if the hosted zone has a value for OwningAccount, you can use * DisassociateVPCFromHostedZone. If the hosted zone has a value for * OwningService, you can't use * DisassociateVPCFromHostedZone.

See Also:

* AWS * API Reference

*/ virtual Model::DisassociateVPCFromHostedZoneOutcome DisassociateVPCFromHostedZone(const Model::DisassociateVPCFromHostedZoneRequest& request) const; /** *

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon * Route 53 private hosted zone. Note the following:

  • You can't * disassociate the last Amazon VPC from a private hosted zone.

  • *

    You can't convert a private hosted zone into a public hosted zone.

  • *
  • You can submit a DisassociateVPCFromHostedZone request * using either the account that created the hosted zone or the account that * created the Amazon VPC.

  • Some services, such as AWS Cloud Map * and Amazon Elastic File System (Amazon EFS) automatically create hosted zones * and associate VPCs with the hosted zones. A service can create a hosted zone * using your account or using its own account. You can disassociate a VPC from a * hosted zone only if the service created the hosted zone using your account.

    *

    When you run DisassociateVPCFromHostedZone, * if the hosted zone has a value for OwningAccount, you can use * DisassociateVPCFromHostedZone. If the hosted zone has a value for * OwningService, you can't use * DisassociateVPCFromHostedZone.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateVPCFromHostedZoneOutcomeCallable DisassociateVPCFromHostedZoneCallable(const Model::DisassociateVPCFromHostedZoneRequest& request) const; /** *

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon * Route 53 private hosted zone. Note the following:

  • You can't * disassociate the last Amazon VPC from a private hosted zone.

  • *

    You can't convert a private hosted zone into a public hosted zone.

  • *
  • You can submit a DisassociateVPCFromHostedZone request * using either the account that created the hosted zone or the account that * created the Amazon VPC.

  • Some services, such as AWS Cloud Map * and Amazon Elastic File System (Amazon EFS) automatically create hosted zones * and associate VPCs with the hosted zones. A service can create a hosted zone * using your account or using its own account. You can disassociate a VPC from a * hosted zone only if the service created the hosted zone using your account.

    *

    When you run DisassociateVPCFromHostedZone, * if the hosted zone has a value for OwningAccount, you can use * DisassociateVPCFromHostedZone. If the hosted zone has a value for * OwningService, you can't use * DisassociateVPCFromHostedZone.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateVPCFromHostedZoneAsync(const Model::DisassociateVPCFromHostedZoneRequest& request, const DisassociateVPCFromHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the specified limit for the current account, for example, the maximum * number of health checks that you can create using the account.

For the * default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

You can also view account limits in AWS Trusted * Advisor. Sign in to the AWS Management Console and open the Trusted Advisor * console at https://console.aws.amazon.com/trustedadvisor/. * Then choose Service limits in the navigation pane.

See * Also:

AWS * API Reference

*/ virtual Model::GetAccountLimitOutcome GetAccountLimit(const Model::GetAccountLimitRequest& request) const; /** *

Gets the specified limit for the current account, for example, the maximum * number of health checks that you can create using the account.

For the * default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

You can also view account limits in AWS Trusted * Advisor. Sign in to the AWS Management Console and open the Trusted Advisor * console at https://console.aws.amazon.com/trustedadvisor/. * Then choose Service limits in the navigation pane.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetAccountLimitOutcomeCallable GetAccountLimitCallable(const Model::GetAccountLimitRequest& request) const; /** *

Gets the specified limit for the current account, for example, the maximum * number of health checks that you can create using the account.

For the * default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

You can also view account limits in AWS Trusted * Advisor. Sign in to the AWS Management Console and open the Trusted Advisor * console at https://console.aws.amazon.com/trustedadvisor/. * Then choose Service limits in the navigation pane.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetAccountLimitAsync(const Model::GetAccountLimitRequest& request, const GetAccountLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 propagated to all Amazon Route 53 DNS servers. * This is the initial status of all change batch requests.

  • * INSYNC indicates that the changes have propagated to all Route 53 * DNS servers.

See Also:

AWS * API Reference

*/ virtual Model::GetChangeOutcome GetChange(const Model::GetChangeRequest& request) const; /** *

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 propagated to all Amazon Route 53 DNS servers. * This is the initial status of all change batch requests.

  • * INSYNC indicates that the changes have propagated to all Route 53 * DNS servers.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetChangeOutcomeCallable GetChangeCallable(const Model::GetChangeRequest& request) const; /** *

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 propagated to all Amazon Route 53 DNS servers. * This is the initial status of all change batch requests.

  • * INSYNC indicates that the changes have propagated to all Route 53 * DNS servers.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetChangeAsync(const Model::GetChangeRequest& request, const GetChangeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

GetCheckerIpRanges still works, but we recommend * that you download ip-ranges.json, which includes IP address ranges for all AWS * services. For more information, see IP * Address Ranges of Amazon Route 53 Servers in the Amazon Route 53 * Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::GetCheckerIpRangesOutcome GetCheckerIpRanges(const Model::GetCheckerIpRangesRequest& request) const; /** *

GetCheckerIpRanges still works, but we recommend * that you download ip-ranges.json, which includes IP address ranges for all AWS * services. For more information, see IP * Address Ranges of Amazon Route 53 Servers in the Amazon Route 53 * Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetCheckerIpRangesOutcomeCallable GetCheckerIpRangesCallable(const Model::GetCheckerIpRangesRequest& request) const; /** *

GetCheckerIpRanges still works, but we recommend * that you download ip-ranges.json, which includes IP address ranges for all AWS * services. For more information, see IP * Address Ranges of Amazon Route 53 Servers in the Amazon Route 53 * Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetCheckerIpRangesAsync(const Model::GetCheckerIpRangesRequest& request, const GetCheckerIpRangesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about whether a specified geographic location is supported * for Amazon Route 53 geolocation resource record sets.

Use the following * syntax to determine whether a continent is supported for geolocation:

* GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a * continent

Use the following syntax to determine whether a * country is supported for geolocation:

GET * /2013-04-01/geolocation?countrycode=two-character country code *

Use the following syntax to determine whether a subdivision of a country * is supported for geolocation:

GET * /2013-04-01/geolocation?countrycode=two-character country * code&subdivisioncode=subdivision code

See * Also:

AWS * API Reference

*/ virtual Model::GetGeoLocationOutcome GetGeoLocation(const Model::GetGeoLocationRequest& request) const; /** *

Gets information about whether a specified geographic location is supported * for Amazon Route 53 geolocation resource record sets.

Use the following * syntax to determine whether a continent is supported for geolocation:

* GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a * continent

Use the following syntax to determine whether a * country is supported for geolocation:

GET * /2013-04-01/geolocation?countrycode=two-character country code *

Use the following syntax to determine whether a subdivision of a country * is supported for geolocation:

GET * /2013-04-01/geolocation?countrycode=two-character country * code&subdivisioncode=subdivision code

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetGeoLocationOutcomeCallable GetGeoLocationCallable(const Model::GetGeoLocationRequest& request) const; /** *

Gets information about whether a specified geographic location is supported * for Amazon Route 53 geolocation resource record sets.

Use the following * syntax to determine whether a continent is supported for geolocation:

* GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a * continent

Use the following syntax to determine whether a * country is supported for geolocation:

GET * /2013-04-01/geolocation?countrycode=two-character country code *

Use the following syntax to determine whether a subdivision of a country * is supported for geolocation:

GET * /2013-04-01/geolocation?countrycode=two-character country * code&subdivisioncode=subdivision code

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetGeoLocationAsync(const Model::GetGeoLocationRequest& request, const GetGeoLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about a specified health check.

See Also:

* AWS * API Reference

*/ virtual Model::GetHealthCheckOutcome GetHealthCheck(const Model::GetHealthCheckRequest& request) const; /** *

Gets information about a specified health check.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHealthCheckOutcomeCallable GetHealthCheckCallable(const Model::GetHealthCheckRequest& request) const; /** *

Gets information about a specified health check.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHealthCheckAsync(const Model::GetHealthCheckRequest& request, const GetHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves the number of health checks that are associated with the current * AWS account.

See Also:

AWS * API Reference

*/ virtual Model::GetHealthCheckCountOutcome GetHealthCheckCount(const Model::GetHealthCheckCountRequest& request) const; /** *

Retrieves the number of health checks that are associated with the current * AWS account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHealthCheckCountOutcomeCallable GetHealthCheckCountCallable(const Model::GetHealthCheckCountRequest& request) const; /** *

Retrieves the number of health checks that are associated with the current * AWS account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHealthCheckCountAsync(const Model::GetHealthCheckCountRequest& request, const GetHealthCheckCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the reason that a specified health check failed most * recently.

See Also:

AWS * API Reference

*/ virtual Model::GetHealthCheckLastFailureReasonOutcome GetHealthCheckLastFailureReason(const Model::GetHealthCheckLastFailureReasonRequest& request) const; /** *

Gets the reason that a specified health check failed most * recently.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHealthCheckLastFailureReasonOutcomeCallable GetHealthCheckLastFailureReasonCallable(const Model::GetHealthCheckLastFailureReasonRequest& request) const; /** *

Gets the reason that a specified health check failed most * recently.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHealthCheckLastFailureReasonAsync(const Model::GetHealthCheckLastFailureReasonRequest& request, const GetHealthCheckLastFailureReasonResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets status of a specified health check.

See Also:

AWS * API Reference

*/ virtual Model::GetHealthCheckStatusOutcome GetHealthCheckStatus(const Model::GetHealthCheckStatusRequest& request) const; /** *

Gets status of a specified health check.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHealthCheckStatusOutcomeCallable GetHealthCheckStatusCallable(const Model::GetHealthCheckStatusRequest& request) const; /** *

Gets status of a specified health check.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHealthCheckStatusAsync(const Model::GetHealthCheckStatusRequest& request, const GetHealthCheckStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about a specified hosted zone including the four name * servers assigned to the hosted zone.

See Also:

AWS * API Reference

*/ virtual Model::GetHostedZoneOutcome GetHostedZone(const Model::GetHostedZoneRequest& request) const; /** *

Gets information about a specified hosted zone including the four name * servers assigned to the hosted zone.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHostedZoneOutcomeCallable GetHostedZoneCallable(const Model::GetHostedZoneRequest& request) const; /** *

Gets information about a specified hosted zone including the four name * servers assigned to the hosted zone.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHostedZoneAsync(const Model::GetHostedZoneRequest& request, const GetHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves the number of hosted zones that are associated with the current AWS * account.

See Also:

AWS * API Reference

*/ virtual Model::GetHostedZoneCountOutcome GetHostedZoneCount(const Model::GetHostedZoneCountRequest& request) const; /** *

Retrieves the number of hosted zones that are associated with the current AWS * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHostedZoneCountOutcomeCallable GetHostedZoneCountCallable(const Model::GetHostedZoneCountRequest& request) const; /** *

Retrieves the number of hosted zones that are associated with the current AWS * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHostedZoneCountAsync(const Model::GetHostedZoneCountRequest& request, const GetHostedZoneCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the specified limit for a specified hosted zone, for example, the * maximum number of records that you can create in the hosted zone.

For * the default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

See Also:

AWS * API Reference

*/ virtual Model::GetHostedZoneLimitOutcome GetHostedZoneLimit(const Model::GetHostedZoneLimitRequest& request) const; /** *

Gets the specified limit for a specified hosted zone, for example, the * maximum number of records that you can create in the hosted zone.

For * the default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetHostedZoneLimitOutcomeCallable GetHostedZoneLimitCallable(const Model::GetHostedZoneLimitRequest& request) const; /** *

Gets the specified limit for a specified hosted zone, for example, the * maximum number of records that you can create in the hosted zone.

For * the default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetHostedZoneLimitAsync(const Model::GetHostedZoneLimitRequest& request, const GetHostedZoneLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about a specified configuration for DNS query logging.

*

For more information about DNS query logs, see CreateQueryLoggingConfig * and Logging * DNS Queries.

See Also:

AWS * API Reference

*/ virtual Model::GetQueryLoggingConfigOutcome GetQueryLoggingConfig(const Model::GetQueryLoggingConfigRequest& request) const; /** *

Gets information about a specified configuration for DNS query logging.

*

For more information about DNS query logs, see CreateQueryLoggingConfig * and Logging * DNS Queries.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetQueryLoggingConfigOutcomeCallable GetQueryLoggingConfigCallable(const Model::GetQueryLoggingConfigRequest& request) const; /** *

Gets information about a specified configuration for DNS query logging.

*

For more information about DNS query logs, see CreateQueryLoggingConfig * and Logging * DNS Queries.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetQueryLoggingConfigAsync(const Model::GetQueryLoggingConfigRequest& request, const GetQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves information about a specified reusable delegation set, including * the four name servers that are assigned to the delegation set.

See * Also:

AWS * API Reference

*/ virtual Model::GetReusableDelegationSetOutcome GetReusableDelegationSet(const Model::GetReusableDelegationSetRequest& request) const; /** *

Retrieves information about a specified reusable delegation set, including * the four name servers that are assigned to the delegation set.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetReusableDelegationSetOutcomeCallable GetReusableDelegationSetCallable(const Model::GetReusableDelegationSetRequest& request) const; /** *

Retrieves information about a specified reusable delegation set, including * the four name servers that are assigned to the delegation set.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetReusableDelegationSetAsync(const Model::GetReusableDelegationSetRequest& request, const GetReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the maximum number of hosted zones that you can associate with the * specified reusable delegation set.

For the default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

See Also:

AWS * API Reference

*/ virtual Model::GetReusableDelegationSetLimitOutcome GetReusableDelegationSetLimit(const Model::GetReusableDelegationSetLimitRequest& request) const; /** *

Gets the maximum number of hosted zones that you can associate with the * specified reusable delegation set.

For the default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetReusableDelegationSetLimitOutcomeCallable GetReusableDelegationSetLimitCallable(const Model::GetReusableDelegationSetLimitRequest& request) const; /** *

Gets the maximum number of hosted zones that you can associate with the * specified reusable delegation set.

For the default limit, see Limits * in the Amazon Route 53 Developer Guide. To request a higher limit, open * a case.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetReusableDelegationSetLimitAsync(const Model::GetReusableDelegationSetLimitRequest& request, const GetReusableDelegationSetLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about a specific traffic policy version.

See * Also:

AWS * API Reference

*/ virtual Model::GetTrafficPolicyOutcome GetTrafficPolicy(const Model::GetTrafficPolicyRequest& request) const; /** *

Gets information about a specific traffic policy version.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetTrafficPolicyOutcomeCallable GetTrafficPolicyCallable(const Model::GetTrafficPolicyRequest& request) const; /** *

Gets information about a specific traffic policy version.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetTrafficPolicyAsync(const Model::GetTrafficPolicyRequest& request, const GetTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about a specified traffic policy instance.

*

After you submit a CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

In the Route 53 console, traffic policy * instances are known as policy records.

See Also:

AWS * API Reference

*/ virtual Model::GetTrafficPolicyInstanceOutcome GetTrafficPolicyInstance(const Model::GetTrafficPolicyInstanceRequest& request) const; /** *

Gets information about a specified traffic policy instance.

*

After you submit a CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

In the Route 53 console, traffic policy * instances are known as policy records.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetTrafficPolicyInstanceOutcomeCallable GetTrafficPolicyInstanceCallable(const Model::GetTrafficPolicyInstanceRequest& request) const; /** *

Gets information about a specified traffic policy instance.

*

After you submit a CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

In the Route 53 console, traffic policy * instances are known as policy records.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetTrafficPolicyInstanceAsync(const Model::GetTrafficPolicyInstanceRequest& request, const GetTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the number of traffic policy instances that are associated with the * current AWS account.

See Also:

AWS * API Reference

*/ virtual Model::GetTrafficPolicyInstanceCountOutcome GetTrafficPolicyInstanceCount(const Model::GetTrafficPolicyInstanceCountRequest& request) const; /** *

Gets the number of traffic policy instances that are associated with the * current AWS account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetTrafficPolicyInstanceCountOutcomeCallable GetTrafficPolicyInstanceCountCallable(const Model::GetTrafficPolicyInstanceCountRequest& request) const; /** *

Gets the number of traffic policy instances that are associated with the * current AWS account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetTrafficPolicyInstanceCountAsync(const Model::GetTrafficPolicyInstanceCountRequest& request, const GetTrafficPolicyInstanceCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of supported geographic locations.

Countries are * listed first, and continents are listed last. If Amazon Route 53 supports * subdivisions for a country (for example, states or provinces), the subdivisions * for that country are listed in alphabetical order immediately after the * corresponding country.

For a list of supported geolocation codes, see the * GeoLocation * data type.

See Also:

AWS * API Reference

*/ virtual Model::ListGeoLocationsOutcome ListGeoLocations(const Model::ListGeoLocationsRequest& request) const; /** *

Retrieves a list of supported geographic locations.

Countries are * listed first, and continents are listed last. If Amazon Route 53 supports * subdivisions for a country (for example, states or provinces), the subdivisions * for that country are listed in alphabetical order immediately after the * corresponding country.

For a list of supported geolocation codes, see the * GeoLocation * data type.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListGeoLocationsOutcomeCallable ListGeoLocationsCallable(const Model::ListGeoLocationsRequest& request) const; /** *

Retrieves a list of supported geographic locations.

Countries are * listed first, and continents are listed last. If Amazon Route 53 supports * subdivisions for a country (for example, states or provinces), the subdivisions * for that country are listed in alphabetical order immediately after the * corresponding country.

For a list of supported geolocation codes, see the * GeoLocation * data type.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListGeoLocationsAsync(const Model::ListGeoLocationsRequest& request, const ListGeoLocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieve a list of the health checks that are associated with the current AWS * account.

See Also:

AWS * API Reference

*/ virtual Model::ListHealthChecksOutcome ListHealthChecks(const Model::ListHealthChecksRequest& request) const; /** *

Retrieve a list of the health checks that are associated with the current AWS * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListHealthChecksOutcomeCallable ListHealthChecksCallable(const Model::ListHealthChecksRequest& request) const; /** *

Retrieve a list of the health checks that are associated with the current AWS * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListHealthChecksAsync(const Model::ListHealthChecksRequest& request, const ListHealthChecksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of the public and private hosted zones that are associated * with the current AWS account. The response includes a HostedZones * child element for each hosted zone.

Amazon Route 53 returns a maximum of * 100 items in each response. If you have a lot of hosted zones, you can use the * maxitems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

*/ virtual Model::ListHostedZonesOutcome ListHostedZones(const Model::ListHostedZonesRequest& request) const; /** *

Retrieves a list of the public and private hosted zones that are associated * with the current AWS account. The response includes a HostedZones * child element for each hosted zone.

Amazon Route 53 returns a maximum of * 100 items in each response. If you have a lot of hosted zones, you can use the * maxitems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListHostedZonesOutcomeCallable ListHostedZonesCallable(const Model::ListHostedZonesRequest& request) const; /** *

Retrieves a list of the public and private hosted zones that are associated * with the current AWS account. The response includes a HostedZones * child element for each hosted zone.

Amazon Route 53 returns a maximum of * 100 items in each response. If you have a lot of hosted zones, you can use the * maxitems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListHostedZonesAsync(const Model::ListHostedZonesRequest& request, const ListHostedZonesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of your hosted zones in lexicographic order. The response * includes a HostedZones child element for each hosted zone created * by the current AWS account.

ListHostedZonesByName sorts * hosted zones by name with the labels reversed. For example:

* com.example.www.

Note the trailing dot, which can change * the sort order in some circumstances.

If the domain name includes escape * characters or Punycode, ListHostedZonesByName alphabetizes the * domain name using the escaped or Punycoded value, which is the format that * Amazon Route 53 saves in its database. For example, to create a hosted zone for * exämple.com, you specify ex\344mple.com for the domain name. * ListHostedZonesByName alphabetizes it as:

* com.ex\344mple.

The labels are reversed and alphabetized * using the escaped value. For more information about valid domain name formats, * including internationalized domain names, see DNS * Domain Name Format in the Amazon Route 53 Developer Guide.

*

Route 53 returns up to 100 items in each response. If you have a lot of * hosted zones, use the MaxItems parameter to list them in groups of * up to 100. The response includes values that help navigate from one group of * MaxItems hosted zones to the next:

  • The * DNSName and HostedZoneId elements in the response * contain the values, if any, specified for the dnsname and * hostedzoneid parameters in the request that produced the current * response.

  • The MaxItems element in the response * contains the value, if any, that you specified for the maxitems * parameter in the request that produced the current response.

  • *

    If the value of IsTruncated in the response is true, there are * more hosted zones associated with the current AWS account.

    If * IsTruncated is false, this response includes the last hosted zone * that is associated with the current account. The NextDNSName * element and NextHostedZoneId elements are omitted from the * response.

  • The NextDNSName and * NextHostedZoneId elements in the response contain the domain name * and the hosted zone ID of the next hosted zone that is associated with the * current AWS account. If you want to list more hosted zones, make another call to * ListHostedZonesByName, and specify the value of * NextDNSName and NextHostedZoneId in the * dnsname and hostedzoneid parameters, respectively.

    *

See Also:

AWS * API Reference

*/ virtual Model::ListHostedZonesByNameOutcome ListHostedZonesByName(const Model::ListHostedZonesByNameRequest& request) const; /** *

Retrieves a list of your hosted zones in lexicographic order. The response * includes a HostedZones child element for each hosted zone created * by the current AWS account.

ListHostedZonesByName sorts * hosted zones by name with the labels reversed. For example:

* com.example.www.

Note the trailing dot, which can change * the sort order in some circumstances.

If the domain name includes escape * characters or Punycode, ListHostedZonesByName alphabetizes the * domain name using the escaped or Punycoded value, which is the format that * Amazon Route 53 saves in its database. For example, to create a hosted zone for * exämple.com, you specify ex\344mple.com for the domain name. * ListHostedZonesByName alphabetizes it as:

* com.ex\344mple.

The labels are reversed and alphabetized * using the escaped value. For more information about valid domain name formats, * including internationalized domain names, see DNS * Domain Name Format in the Amazon Route 53 Developer Guide.

*

Route 53 returns up to 100 items in each response. If you have a lot of * hosted zones, use the MaxItems parameter to list them in groups of * up to 100. The response includes values that help navigate from one group of * MaxItems hosted zones to the next:

  • The * DNSName and HostedZoneId elements in the response * contain the values, if any, specified for the dnsname and * hostedzoneid parameters in the request that produced the current * response.

  • The MaxItems element in the response * contains the value, if any, that you specified for the maxitems * parameter in the request that produced the current response.

  • *

    If the value of IsTruncated in the response is true, there are * more hosted zones associated with the current AWS account.

    If * IsTruncated is false, this response includes the last hosted zone * that is associated with the current account. The NextDNSName * element and NextHostedZoneId elements are omitted from the * response.

  • The NextDNSName and * NextHostedZoneId elements in the response contain the domain name * and the hosted zone ID of the next hosted zone that is associated with the * current AWS account. If you want to list more hosted zones, make another call to * ListHostedZonesByName, and specify the value of * NextDNSName and NextHostedZoneId in the * dnsname and hostedzoneid parameters, respectively.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListHostedZonesByNameOutcomeCallable ListHostedZonesByNameCallable(const Model::ListHostedZonesByNameRequest& request) const; /** *

Retrieves a list of your hosted zones in lexicographic order. The response * includes a HostedZones child element for each hosted zone created * by the current AWS account.

ListHostedZonesByName sorts * hosted zones by name with the labels reversed. For example:

* com.example.www.

Note the trailing dot, which can change * the sort order in some circumstances.

If the domain name includes escape * characters or Punycode, ListHostedZonesByName alphabetizes the * domain name using the escaped or Punycoded value, which is the format that * Amazon Route 53 saves in its database. For example, to create a hosted zone for * exämple.com, you specify ex\344mple.com for the domain name. * ListHostedZonesByName alphabetizes it as:

* com.ex\344mple.

The labels are reversed and alphabetized * using the escaped value. For more information about valid domain name formats, * including internationalized domain names, see DNS * Domain Name Format in the Amazon Route 53 Developer Guide.

*

Route 53 returns up to 100 items in each response. If you have a lot of * hosted zones, use the MaxItems parameter to list them in groups of * up to 100. The response includes values that help navigate from one group of * MaxItems hosted zones to the next:

  • The * DNSName and HostedZoneId elements in the response * contain the values, if any, specified for the dnsname and * hostedzoneid parameters in the request that produced the current * response.

  • The MaxItems element in the response * contains the value, if any, that you specified for the maxitems * parameter in the request that produced the current response.

  • *

    If the value of IsTruncated in the response is true, there are * more hosted zones associated with the current AWS account.

    If * IsTruncated is false, this response includes the last hosted zone * that is associated with the current account. The NextDNSName * element and NextHostedZoneId elements are omitted from the * response.

  • The NextDNSName and * NextHostedZoneId elements in the response contain the domain name * and the hosted zone ID of the next hosted zone that is associated with the * current AWS account. If you want to list more hosted zones, make another call to * ListHostedZonesByName, and specify the value of * NextDNSName and NextHostedZoneId in the * dnsname and hostedzoneid parameters, respectively.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListHostedZonesByNameAsync(const Model::ListHostedZonesByNameRequest& request, const ListHostedZonesByNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all the private hosted zones that a specified VPC is associated with, * regardless of which AWS account or AWS service owns the hosted zones. The * HostedZoneOwner structure in the response contains one of the * following values:

  • An OwningAccount element, which * contains the account number of either the current AWS account or another AWS * account. Some services, such as AWS Cloud Map, create hosted zones using the * current account.

  • An OwningService element, which * identifies the AWS service that created and owns the hosted zone. For example, * if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the * value of Owner is efs.amazonaws.com.

  • *

See Also:

AWS * API Reference

*/ virtual Model::ListHostedZonesByVPCOutcome ListHostedZonesByVPC(const Model::ListHostedZonesByVPCRequest& request) const; /** *

Lists all the private hosted zones that a specified VPC is associated with, * regardless of which AWS account or AWS service owns the hosted zones. The * HostedZoneOwner structure in the response contains one of the * following values:

  • An OwningAccount element, which * contains the account number of either the current AWS account or another AWS * account. Some services, such as AWS Cloud Map, create hosted zones using the * current account.

  • An OwningService element, which * identifies the AWS service that created and owns the hosted zone. For example, * if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the * value of Owner is efs.amazonaws.com.

  • *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListHostedZonesByVPCOutcomeCallable ListHostedZonesByVPCCallable(const Model::ListHostedZonesByVPCRequest& request) const; /** *

Lists all the private hosted zones that a specified VPC is associated with, * regardless of which AWS account or AWS service owns the hosted zones. The * HostedZoneOwner structure in the response contains one of the * following values:

  • An OwningAccount element, which * contains the account number of either the current AWS account or another AWS * account. Some services, such as AWS Cloud Map, create hosted zones using the * current account.

  • An OwningService element, which * identifies the AWS service that created and owns the hosted zone. For example, * if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the * value of Owner is efs.amazonaws.com.

  • *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListHostedZonesByVPCAsync(const Model::ListHostedZonesByVPCRequest& request, const ListHostedZonesByVPCResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the configurations for DNS query logging that are associated with the * current AWS account or the configuration that is associated with a specified * hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. * Additional information, including the format of DNS query logs, appears in Logging * DNS Queries in the Amazon Route 53 Developer Guide.

See * Also:

AWS * API Reference

*/ virtual Model::ListQueryLoggingConfigsOutcome ListQueryLoggingConfigs(const Model::ListQueryLoggingConfigsRequest& request) const; /** *

Lists the configurations for DNS query logging that are associated with the * current AWS account or the configuration that is associated with a specified * hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. * Additional information, including the format of DNS query logs, appears in Logging * DNS Queries in the Amazon Route 53 Developer Guide.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListQueryLoggingConfigsOutcomeCallable ListQueryLoggingConfigsCallable(const Model::ListQueryLoggingConfigsRequest& request) const; /** *

Lists the configurations for DNS query logging that are associated with the * current AWS account or the configuration that is associated with a specified * hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. * Additional information, including the format of DNS query logs, appears in Logging * DNS Queries in the Amazon Route 53 Developer Guide.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListQueryLoggingConfigsAsync(const Model::ListQueryLoggingConfigsRequest& request, const ListQueryLoggingConfigsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the resource record sets in a specified hosted zone.

* ListResourceRecordSets returns up to 100 resource record sets at a * time in ASCII order, beginning at a position specified by the name * and type elements.

Sort order

* ListResourceRecordSets sorts results first by DNS name with the * labels reversed, for example:

com.example.www.

Note * the trailing dot, which can change the sort order when the record name contains * characters that appear before . (decimal 46) in the ASCII table. * These characters include the following: ! " # $ % & ' ( ) * + , * -

When multiple records have the same DNS name, * ListResourceRecordSets sorts results by the record type.

* Specifying where to start listing records

You can use the name * and type elements to specify the resource record set that the list begins * with:

If you do not specify Name or Type

The results * begin with the first resource record set that the hosted zone contains.

*
If you specify Name but not Type

The results begin with * the first resource record set in the list whose name is greater than or equal to * Name.

If you specify Type but not Name
*

Amazon Route 53 returns the InvalidInput error.

If * you specify both Name and Type

The results begin with the first * resource record set in the list whose name is greater than or equal to * Name, and whose type is greater than or equal to * Type.

Resource record sets that are * PENDING

This action returns the most current version of the records. * This includes records that are PENDING, and that are not yet * available on all Route 53 DNS servers.

Changing resource record * sets

To ensure that you get an accurate listing of the resource * record sets for a hosted zone at a point in time, do not submit a * ChangeResourceRecordSets request while you're paging through the * results of a ListResourceRecordSets request. If you do, some pages * may display results without the latest changes while other pages display results * with the latest changes.

Displaying the next page of results

*

If a ListResourceRecordSets command returns more than one page * of results, the value of IsTruncated is true. To * display the next page of results, get the values of NextRecordName, * NextRecordType, and NextRecordIdentifier (if any) from * the response. Then submit another ListResourceRecordSets request, * and specify those values for StartRecordName, * StartRecordType, and * StartRecordIdentifier.

See Also:

AWS * API Reference

*/ virtual Model::ListResourceRecordSetsOutcome ListResourceRecordSets(const Model::ListResourceRecordSetsRequest& request) const; /** *

Lists the resource record sets in a specified hosted zone.

* ListResourceRecordSets returns up to 100 resource record sets at a * time in ASCII order, beginning at a position specified by the name * and type elements.

Sort order

* ListResourceRecordSets sorts results first by DNS name with the * labels reversed, for example:

com.example.www.

Note * the trailing dot, which can change the sort order when the record name contains * characters that appear before . (decimal 46) in the ASCII table. * These characters include the following: ! " # $ % & ' ( ) * + , * -

When multiple records have the same DNS name, * ListResourceRecordSets sorts results by the record type.

* Specifying where to start listing records

You can use the name * and type elements to specify the resource record set that the list begins * with:

If you do not specify Name or Type

The results * begin with the first resource record set that the hosted zone contains.

*
If you specify Name but not Type

The results begin with * the first resource record set in the list whose name is greater than or equal to * Name.

If you specify Type but not Name
*

Amazon Route 53 returns the InvalidInput error.

If * you specify both Name and Type

The results begin with the first * resource record set in the list whose name is greater than or equal to * Name, and whose type is greater than or equal to * Type.

Resource record sets that are * PENDING

This action returns the most current version of the records. * This includes records that are PENDING, and that are not yet * available on all Route 53 DNS servers.

Changing resource record * sets

To ensure that you get an accurate listing of the resource * record sets for a hosted zone at a point in time, do not submit a * ChangeResourceRecordSets request while you're paging through the * results of a ListResourceRecordSets request. If you do, some pages * may display results without the latest changes while other pages display results * with the latest changes.

Displaying the next page of results

*

If a ListResourceRecordSets command returns more than one page * of results, the value of IsTruncated is true. To * display the next page of results, get the values of NextRecordName, * NextRecordType, and NextRecordIdentifier (if any) from * the response. Then submit another ListResourceRecordSets request, * and specify those values for StartRecordName, * StartRecordType, and * StartRecordIdentifier.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListResourceRecordSetsOutcomeCallable ListResourceRecordSetsCallable(const Model::ListResourceRecordSetsRequest& request) const; /** *

Lists the resource record sets in a specified hosted zone.

* ListResourceRecordSets returns up to 100 resource record sets at a * time in ASCII order, beginning at a position specified by the name * and type elements.

Sort order

* ListResourceRecordSets sorts results first by DNS name with the * labels reversed, for example:

com.example.www.

Note * the trailing dot, which can change the sort order when the record name contains * characters that appear before . (decimal 46) in the ASCII table. * These characters include the following: ! " # $ % & ' ( ) * + , * -

When multiple records have the same DNS name, * ListResourceRecordSets sorts results by the record type.

* Specifying where to start listing records

You can use the name * and type elements to specify the resource record set that the list begins * with:

If you do not specify Name or Type

The results * begin with the first resource record set that the hosted zone contains.

*
If you specify Name but not Type

The results begin with * the first resource record set in the list whose name is greater than or equal to * Name.

If you specify Type but not Name
*

Amazon Route 53 returns the InvalidInput error.

If * you specify both Name and Type

The results begin with the first * resource record set in the list whose name is greater than or equal to * Name, and whose type is greater than or equal to * Type.

Resource record sets that are * PENDING

This action returns the most current version of the records. * This includes records that are PENDING, and that are not yet * available on all Route 53 DNS servers.

Changing resource record * sets

To ensure that you get an accurate listing of the resource * record sets for a hosted zone at a point in time, do not submit a * ChangeResourceRecordSets request while you're paging through the * results of a ListResourceRecordSets request. If you do, some pages * may display results without the latest changes while other pages display results * with the latest changes.

Displaying the next page of results

*

If a ListResourceRecordSets command returns more than one page * of results, the value of IsTruncated is true. To * display the next page of results, get the values of NextRecordName, * NextRecordType, and NextRecordIdentifier (if any) from * the response. Then submit another ListResourceRecordSets request, * and specify those values for StartRecordName, * StartRecordType, and * StartRecordIdentifier.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListResourceRecordSetsAsync(const Model::ListResourceRecordSetsRequest& request, const ListResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of the reusable delegation sets that are associated with the * current AWS account.

See Also:

AWS * API Reference

*/ virtual Model::ListReusableDelegationSetsOutcome ListReusableDelegationSets(const Model::ListReusableDelegationSetsRequest& request) const; /** *

Retrieves a list of the reusable delegation sets that are associated with the * current AWS account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListReusableDelegationSetsOutcomeCallable ListReusableDelegationSetsCallable(const Model::ListReusableDelegationSetsRequest& request) const; /** *

Retrieves a list of the reusable delegation sets that are associated with the * current AWS account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListReusableDelegationSetsAsync(const Model::ListReusableDelegationSetsRequest& request, const ListReusableDelegationSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists tags for one health check or hosted zone.

For information about * using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Lists tags for one health check or hosted zone.

For information about * using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Lists tags for one health check or hosted zone.

For information about * using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists tags for up to 10 health checks or hosted zones.

For information * about using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourcesOutcome ListTagsForResources(const Model::ListTagsForResourcesRequest& request) const; /** *

Lists tags for up to 10 health checks or hosted zones.

For information * about using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourcesOutcomeCallable ListTagsForResourcesCallable(const Model::ListTagsForResourcesRequest& request) const; /** *

Lists tags for up to 10 health checks or hosted zones.

For information * about using tags for cost allocation, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourcesAsync(const Model::ListTagsForResourcesRequest& request, const ListTagsForResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about the latest version for every traffic policy that is * associated with the current AWS account. Policies are listed in the order that * they were created in.

See Also:

AWS * API Reference

*/ virtual Model::ListTrafficPoliciesOutcome ListTrafficPolicies(const Model::ListTrafficPoliciesRequest& request) const; /** *

Gets information about the latest version for every traffic policy that is * associated with the current AWS account. Policies are listed in the order that * they were created in.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTrafficPoliciesOutcomeCallable ListTrafficPoliciesCallable(const Model::ListTrafficPoliciesRequest& request) const; /** *

Gets information about the latest version for every traffic policy that is * associated with the current AWS account. Policies are listed in the order that * they were created in.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTrafficPoliciesAsync(const Model::ListTrafficPoliciesRequest& request, const ListTrafficPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about the traffic policy instances that you created by using * the current AWS account.

After you submit an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

*/ virtual Model::ListTrafficPolicyInstancesOutcome ListTrafficPolicyInstances(const Model::ListTrafficPolicyInstancesRequest& request) const; /** *

Gets information about the traffic policy instances that you created by using * the current AWS account.

After you submit an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTrafficPolicyInstancesOutcomeCallable ListTrafficPolicyInstancesCallable(const Model::ListTrafficPolicyInstancesRequest& request) const; /** *

Gets information about the traffic policy instances that you created by using * the current AWS account.

After you submit an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTrafficPolicyInstancesAsync(const Model::ListTrafficPolicyInstancesRequest& request, const ListTrafficPolicyInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about the traffic policy instances that you created in a * specified hosted zone.

After you submit a * CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

*/ virtual Model::ListTrafficPolicyInstancesByHostedZoneOutcome ListTrafficPolicyInstancesByHostedZone(const Model::ListTrafficPolicyInstancesByHostedZoneRequest& request) const; /** *

Gets information about the traffic policy instances that you created in a * specified hosted zone.

After you submit a * CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTrafficPolicyInstancesByHostedZoneOutcomeCallable ListTrafficPolicyInstancesByHostedZoneCallable(const Model::ListTrafficPolicyInstancesByHostedZoneRequest& request) const; /** *

Gets information about the traffic policy instances that you created in a * specified hosted zone.

After you submit a * CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTrafficPolicyInstancesByHostedZoneAsync(const Model::ListTrafficPolicyInstancesByHostedZoneRequest& request, const ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about the traffic policy instances that you created by using * a specify traffic policy version.

After you submit a * CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

*/ virtual Model::ListTrafficPolicyInstancesByPolicyOutcome ListTrafficPolicyInstancesByPolicy(const Model::ListTrafficPolicyInstancesByPolicyRequest& request) const; /** *

Gets information about the traffic policy instances that you created by using * a specify traffic policy version.

After you submit a * CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTrafficPolicyInstancesByPolicyOutcomeCallable ListTrafficPolicyInstancesByPolicyCallable(const Model::ListTrafficPolicyInstancesByPolicyRequest& request) const; /** *

Gets information about the traffic policy instances that you created by using * a specify traffic policy version.

After you submit a * CreateTrafficPolicyInstance or an * UpdateTrafficPolicyInstance request, there's a brief delay while * Amazon Route 53 creates the resource record sets that are specified in the * traffic policy definition. For more information, see the State * response element.

Route 53 returns a maximum of 100 items in each * response. If you have a lot of traffic policy instances, you can use the * MaxItems parameter to list them in groups of up to * 100.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTrafficPolicyInstancesByPolicyAsync(const Model::ListTrafficPolicyInstancesByPolicyRequest& request, const ListTrafficPolicyInstancesByPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about all of the versions for a specified traffic * policy.

Traffic policy versions are listed in numerical order by * VersionNumber.

See Also:

AWS * API Reference

*/ virtual Model::ListTrafficPolicyVersionsOutcome ListTrafficPolicyVersions(const Model::ListTrafficPolicyVersionsRequest& request) const; /** *

Gets information about all of the versions for a specified traffic * policy.

Traffic policy versions are listed in numerical order by * VersionNumber.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTrafficPolicyVersionsOutcomeCallable ListTrafficPolicyVersionsCallable(const Model::ListTrafficPolicyVersionsRequest& request) const; /** *

Gets information about all of the versions for a specified traffic * policy.

Traffic policy versions are listed in numerical order by * VersionNumber.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTrafficPolicyVersionsAsync(const Model::ListTrafficPolicyVersionsRequest& request, const ListTrafficPolicyVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a list of the VPCs that were created by other accounts and that can be * associated with a specified hosted zone because you've submitted one or more * CreateVPCAssociationAuthorization requests.

The response * includes a VPCs element with a VPC child element for * each VPC that can be associated with the hosted zone.

See Also:

* AWS * API Reference

*/ virtual Model::ListVPCAssociationAuthorizationsOutcome ListVPCAssociationAuthorizations(const Model::ListVPCAssociationAuthorizationsRequest& request) const; /** *

Gets a list of the VPCs that were created by other accounts and that can be * associated with a specified hosted zone because you've submitted one or more * CreateVPCAssociationAuthorization requests.

The response * includes a VPCs element with a VPC child element for * each VPC that can be associated with the hosted zone.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListVPCAssociationAuthorizationsOutcomeCallable ListVPCAssociationAuthorizationsCallable(const Model::ListVPCAssociationAuthorizationsRequest& request) const; /** *

Gets a list of the VPCs that were created by other accounts and that can be * associated with a specified hosted zone because you've submitted one or more * CreateVPCAssociationAuthorization requests.

The response * includes a VPCs element with a VPC child element for * each VPC that can be associated with the hosted zone.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListVPCAssociationAuthorizationsAsync(const Model::ListVPCAssociationAuthorizationsRequest& request, const ListVPCAssociationAuthorizationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the value that Amazon Route 53 returns in response to a DNS request for * a specified record name and type. You can optionally specify the IP address of a * DNS resolver, an EDNS0 client subnet IP address, and a subnet mask. *

See Also:

AWS * API Reference

*/ virtual Model::TestDNSAnswerOutcome TestDNSAnswer(const Model::TestDNSAnswerRequest& request) const; /** *

Gets the value that Amazon Route 53 returns in response to a DNS request for * a specified record name and type. You can optionally specify the IP address of a * DNS resolver, an EDNS0 client subnet IP address, and a subnet mask. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TestDNSAnswerOutcomeCallable TestDNSAnswerCallable(const Model::TestDNSAnswerRequest& request) const; /** *

Gets the value that Amazon Route 53 returns in response to a DNS request for * a specified record name and type. You can optionally specify the IP address of a * DNS resolver, an EDNS0 client subnet IP address, and a subnet mask. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TestDNSAnswerAsync(const Model::TestDNSAnswerRequest& request, const TestDNSAnswerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates an existing health check. Note that some values can't be updated. *

For more information about updating health checks, see Creating, * Updating, and Deleting Health Checks in the Amazon Route 53 Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateHealthCheckOutcome UpdateHealthCheck(const Model::UpdateHealthCheckRequest& request) const; /** *

Updates an existing health check. Note that some values can't be updated. *

For more information about updating health checks, see Creating, * Updating, and Deleting Health Checks in the Amazon Route 53 Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateHealthCheckOutcomeCallable UpdateHealthCheckCallable(const Model::UpdateHealthCheckRequest& request) const; /** *

Updates an existing health check. Note that some values can't be updated. *

For more information about updating health checks, see Creating, * Updating, and Deleting Health Checks in the Amazon Route 53 Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateHealthCheckAsync(const Model::UpdateHealthCheckRequest& request, const UpdateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the comment for a specified hosted zone.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateHostedZoneCommentOutcome UpdateHostedZoneComment(const Model::UpdateHostedZoneCommentRequest& request) const; /** *

Updates the comment for a specified hosted zone.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateHostedZoneCommentOutcomeCallable UpdateHostedZoneCommentCallable(const Model::UpdateHostedZoneCommentRequest& request) const; /** *

Updates the comment for a specified hosted zone.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateHostedZoneCommentAsync(const Model::UpdateHostedZoneCommentRequest& request, const UpdateHostedZoneCommentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the comment for a specified traffic policy version.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateTrafficPolicyCommentOutcome UpdateTrafficPolicyComment(const Model::UpdateTrafficPolicyCommentRequest& request) const; /** *

Updates the comment for a specified traffic policy version.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateTrafficPolicyCommentOutcomeCallable UpdateTrafficPolicyCommentCallable(const Model::UpdateTrafficPolicyCommentRequest& request) const; /** *

Updates the comment for a specified traffic policy version.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateTrafficPolicyCommentAsync(const Model::UpdateTrafficPolicyCommentRequest& request, const UpdateTrafficPolicyCommentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the resource record sets in a specified hosted zone that were created * based on the settings in a specified traffic policy version.

When you * update a traffic policy instance, Amazon Route 53 continues to respond to DNS * queries for the root resource record set name (such as example.com) while it * replaces one group of resource record sets with another. Route 53 performs the * following operations:

  1. Route 53 creates a new group of resource * record sets based on the specified traffic policy. This is true regardless of * how significant the differences are between the existing resource record sets * and the new resource record sets.

  2. When all of the new * resource record sets have been created, Route 53 starts to respond to DNS * queries for the root resource record set name (such as example.com) by using the * new resource record sets.

  3. Route 53 deletes the old group of * resource record sets that are associated with the root resource record set * name.

See Also:

AWS * API Reference

*/ virtual Model::UpdateTrafficPolicyInstanceOutcome UpdateTrafficPolicyInstance(const Model::UpdateTrafficPolicyInstanceRequest& request) const; /** *

Updates the resource record sets in a specified hosted zone that were created * based on the settings in a specified traffic policy version.

When you * update a traffic policy instance, Amazon Route 53 continues to respond to DNS * queries for the root resource record set name (such as example.com) while it * replaces one group of resource record sets with another. Route 53 performs the * following operations:

  1. Route 53 creates a new group of resource * record sets based on the specified traffic policy. This is true regardless of * how significant the differences are between the existing resource record sets * and the new resource record sets.

  2. When all of the new * resource record sets have been created, Route 53 starts to respond to DNS * queries for the root resource record set name (such as example.com) by using the * new resource record sets.

  3. Route 53 deletes the old group of * resource record sets that are associated with the root resource record set * name.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateTrafficPolicyInstanceOutcomeCallable UpdateTrafficPolicyInstanceCallable(const Model::UpdateTrafficPolicyInstanceRequest& request) const; /** *

Updates the resource record sets in a specified hosted zone that were created * based on the settings in a specified traffic policy version.

When you * update a traffic policy instance, Amazon Route 53 continues to respond to DNS * queries for the root resource record set name (such as example.com) while it * replaces one group of resource record sets with another. Route 53 performs the * following operations:

  1. Route 53 creates a new group of resource * record sets based on the specified traffic policy. This is true regardless of * how significant the differences are between the existing resource record sets * and the new resource record sets.

  2. When all of the new * resource record sets have been created, Route 53 starts to respond to DNS * queries for the root resource record set name (such as example.com) by using the * new resource record sets.

  3. Route 53 deletes the old group of * resource record sets that are associated with the root resource record set * name.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateTrafficPolicyInstanceAsync(const Model::UpdateTrafficPolicyInstanceRequest& request, const UpdateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateVPCWithHostedZoneAsyncHelper(const Model::AssociateVPCWithHostedZoneRequest& request, const AssociateVPCWithHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ChangeResourceRecordSetsAsyncHelper(const Model::ChangeResourceRecordSetsRequest& request, const ChangeResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ChangeTagsForResourceAsyncHelper(const Model::ChangeTagsForResourceRequest& request, const ChangeTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateHealthCheckAsyncHelper(const Model::CreateHealthCheckRequest& request, const CreateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateHostedZoneAsyncHelper(const Model::CreateHostedZoneRequest& request, const CreateHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateQueryLoggingConfigAsyncHelper(const Model::CreateQueryLoggingConfigRequest& request, const CreateQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateReusableDelegationSetAsyncHelper(const Model::CreateReusableDelegationSetRequest& request, const CreateReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateTrafficPolicyAsyncHelper(const Model::CreateTrafficPolicyRequest& request, const CreateTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateTrafficPolicyInstanceAsyncHelper(const Model::CreateTrafficPolicyInstanceRequest& request, const CreateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateTrafficPolicyVersionAsyncHelper(const Model::CreateTrafficPolicyVersionRequest& request, const CreateTrafficPolicyVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateVPCAssociationAuthorizationAsyncHelper(const Model::CreateVPCAssociationAuthorizationRequest& request, const CreateVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteHealthCheckAsyncHelper(const Model::DeleteHealthCheckRequest& request, const DeleteHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteHostedZoneAsyncHelper(const Model::DeleteHostedZoneRequest& request, const DeleteHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteQueryLoggingConfigAsyncHelper(const Model::DeleteQueryLoggingConfigRequest& request, const DeleteQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteReusableDelegationSetAsyncHelper(const Model::DeleteReusableDelegationSetRequest& request, const DeleteReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteTrafficPolicyAsyncHelper(const Model::DeleteTrafficPolicyRequest& request, const DeleteTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteTrafficPolicyInstanceAsyncHelper(const Model::DeleteTrafficPolicyInstanceRequest& request, const DeleteTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteVPCAssociationAuthorizationAsyncHelper(const Model::DeleteVPCAssociationAuthorizationRequest& request, const DeleteVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateVPCFromHostedZoneAsyncHelper(const Model::DisassociateVPCFromHostedZoneRequest& request, const DisassociateVPCFromHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetAccountLimitAsyncHelper(const Model::GetAccountLimitRequest& request, const GetAccountLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetChangeAsyncHelper(const Model::GetChangeRequest& request, const GetChangeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetCheckerIpRangesAsyncHelper(const Model::GetCheckerIpRangesRequest& request, const GetCheckerIpRangesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetGeoLocationAsyncHelper(const Model::GetGeoLocationRequest& request, const GetGeoLocationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHealthCheckAsyncHelper(const Model::GetHealthCheckRequest& request, const GetHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHealthCheckCountAsyncHelper(const Model::GetHealthCheckCountRequest& request, const GetHealthCheckCountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHealthCheckLastFailureReasonAsyncHelper(const Model::GetHealthCheckLastFailureReasonRequest& request, const GetHealthCheckLastFailureReasonResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHealthCheckStatusAsyncHelper(const Model::GetHealthCheckStatusRequest& request, const GetHealthCheckStatusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHostedZoneAsyncHelper(const Model::GetHostedZoneRequest& request, const GetHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHostedZoneCountAsyncHelper(const Model::GetHostedZoneCountRequest& request, const GetHostedZoneCountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetHostedZoneLimitAsyncHelper(const Model::GetHostedZoneLimitRequest& request, const GetHostedZoneLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetQueryLoggingConfigAsyncHelper(const Model::GetQueryLoggingConfigRequest& request, const GetQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetReusableDelegationSetAsyncHelper(const Model::GetReusableDelegationSetRequest& request, const GetReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetReusableDelegationSetLimitAsyncHelper(const Model::GetReusableDelegationSetLimitRequest& request, const GetReusableDelegationSetLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetTrafficPolicyAsyncHelper(const Model::GetTrafficPolicyRequest& request, const GetTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetTrafficPolicyInstanceAsyncHelper(const Model::GetTrafficPolicyInstanceRequest& request, const GetTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetTrafficPolicyInstanceCountAsyncHelper(const Model::GetTrafficPolicyInstanceCountRequest& request, const GetTrafficPolicyInstanceCountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListGeoLocationsAsyncHelper(const Model::ListGeoLocationsRequest& request, const ListGeoLocationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListHealthChecksAsyncHelper(const Model::ListHealthChecksRequest& request, const ListHealthChecksResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListHostedZonesAsyncHelper(const Model::ListHostedZonesRequest& request, const ListHostedZonesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListHostedZonesByNameAsyncHelper(const Model::ListHostedZonesByNameRequest& request, const ListHostedZonesByNameResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListHostedZonesByVPCAsyncHelper(const Model::ListHostedZonesByVPCRequest& request, const ListHostedZonesByVPCResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListQueryLoggingConfigsAsyncHelper(const Model::ListQueryLoggingConfigsRequest& request, const ListQueryLoggingConfigsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListResourceRecordSetsAsyncHelper(const Model::ListResourceRecordSetsRequest& request, const ListResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListReusableDelegationSetsAsyncHelper(const Model::ListReusableDelegationSetsRequest& request, const ListReusableDelegationSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourcesAsyncHelper(const Model::ListTagsForResourcesRequest& request, const ListTagsForResourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTrafficPoliciesAsyncHelper(const Model::ListTrafficPoliciesRequest& request, const ListTrafficPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTrafficPolicyInstancesAsyncHelper(const Model::ListTrafficPolicyInstancesRequest& request, const ListTrafficPolicyInstancesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTrafficPolicyInstancesByHostedZoneAsyncHelper(const Model::ListTrafficPolicyInstancesByHostedZoneRequest& request, const ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTrafficPolicyInstancesByPolicyAsyncHelper(const Model::ListTrafficPolicyInstancesByPolicyRequest& request, const ListTrafficPolicyInstancesByPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTrafficPolicyVersionsAsyncHelper(const Model::ListTrafficPolicyVersionsRequest& request, const ListTrafficPolicyVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListVPCAssociationAuthorizationsAsyncHelper(const Model::ListVPCAssociationAuthorizationsRequest& request, const ListVPCAssociationAuthorizationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TestDNSAnswerAsyncHelper(const Model::TestDNSAnswerRequest& request, const TestDNSAnswerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateHealthCheckAsyncHelper(const Model::UpdateHealthCheckRequest& request, const UpdateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateHostedZoneCommentAsyncHelper(const Model::UpdateHostedZoneCommentRequest& request, const UpdateHostedZoneCommentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateTrafficPolicyCommentAsyncHelper(const Model::UpdateTrafficPolicyCommentRequest& request, const UpdateTrafficPolicyCommentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateTrafficPolicyInstanceAsyncHelper(const Model::UpdateTrafficPolicyInstanceRequest& request, const UpdateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace Route53 } // namespace Aws