/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Route53Domains { /** *

Amazon Route 53 API actions let you register domain names and perform related * operations.

*/ class AWS_ROUTE53DOMAINS_API Route53DomainsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef Route53DomainsClientConfiguration ClientConfigurationType; typedef Route53DomainsEndpointProvider EndpointProviderType; /** * 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. */ Route53DomainsClient(const Aws::Route53Domains::Route53DomainsClientConfiguration& clientConfiguration = Aws::Route53Domains::Route53DomainsClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * 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. */ Route53DomainsClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::Route53Domains::Route53DomainsClientConfiguration& clientConfiguration = Aws::Route53Domains::Route53DomainsClientConfiguration()); /** * 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 */ Route53DomainsClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::Route53Domains::Route53DomainsClientConfiguration& clientConfiguration = Aws::Route53Domains::Route53DomainsClientConfiguration()); /* Legacy constructors due deprecation */ /** * 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. */ Route53DomainsClient(const Aws::Client::ClientConfiguration& 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. */ Route53DomainsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& 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 */ Route53DomainsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~Route53DomainsClient(); /** *

Accepts the transfer of a domain from another Amazon Web Services account to * the currentAmazon Web Services account. You initiate a transfer between Amazon * Web Services accounts using TransferDomainToAnotherAwsAccount.

*

If you use the CLI command at accept-domain-transfer-from-another-aws-account, * use JSON format as input instead of text because otherwise CLI will throw an * error from domain transfer input that includes single quotes.

Use either * ListOperations * or GetOperationDetail * to determine whether the operation succeeded. GetOperationDetail * provides additional information, for example, Domain Transfer from Aws * Account 111122223333 has been cancelled.

See Also:

AWS * API Reference

*/ virtual Model::AcceptDomainTransferFromAnotherAwsAccountOutcome AcceptDomainTransferFromAnotherAwsAccount(const Model::AcceptDomainTransferFromAnotherAwsAccountRequest& request) const; /** * A Callable wrapper for AcceptDomainTransferFromAnotherAwsAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AcceptDomainTransferFromAnotherAwsAccountOutcomeCallable AcceptDomainTransferFromAnotherAwsAccountCallable(const AcceptDomainTransferFromAnotherAwsAccountRequestT& request) const { return SubmitCallable(&Route53DomainsClient::AcceptDomainTransferFromAnotherAwsAccount, request); } /** * An Async wrapper for AcceptDomainTransferFromAnotherAwsAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AcceptDomainTransferFromAnotherAwsAccountAsync(const AcceptDomainTransferFromAnotherAwsAccountRequestT& request, const AcceptDomainTransferFromAnotherAwsAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::AcceptDomainTransferFromAnotherAwsAccount, request, handler, context); } /** *

Creates a delegation signer (DS) record in the registry zone for this domain * name.

Note that creating DS record at the registry impacts DNSSEC * validation of your DNS records. This action may render your domain name * unavailable on the internet if the steps are completed in the wrong order, or * with incorrect timing. For more information about DNSSEC signing, see Configuring * DNSSEC signing in the Route 53 developer guide.

See * Also:

AWS * API Reference

*/ virtual Model::AssociateDelegationSignerToDomainOutcome AssociateDelegationSignerToDomain(const Model::AssociateDelegationSignerToDomainRequest& request) const; /** * A Callable wrapper for AssociateDelegationSignerToDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateDelegationSignerToDomainOutcomeCallable AssociateDelegationSignerToDomainCallable(const AssociateDelegationSignerToDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::AssociateDelegationSignerToDomain, request); } /** * An Async wrapper for AssociateDelegationSignerToDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateDelegationSignerToDomainAsync(const AssociateDelegationSignerToDomainRequestT& request, const AssociateDelegationSignerToDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::AssociateDelegationSignerToDomain, request, handler, context); } /** *

Cancels the transfer of a domain from the current Amazon Web Services account * to another Amazon Web Services account. You initiate a transfer betweenAmazon * Web Services accounts using TransferDomainToAnotherAwsAccount. *

You must cancel the transfer before the other Amazon Web * Services account accepts the transfer using AcceptDomainTransferFromAnotherAwsAccount.

*

Use either ListOperations * or GetOperationDetail * to determine whether the operation succeeded. GetOperationDetail * provides additional information, for example, Domain Transfer from Aws * Account 111122223333 has been cancelled.

See Also:

AWS * API Reference

*/ virtual Model::CancelDomainTransferToAnotherAwsAccountOutcome CancelDomainTransferToAnotherAwsAccount(const Model::CancelDomainTransferToAnotherAwsAccountRequest& request) const; /** * A Callable wrapper for CancelDomainTransferToAnotherAwsAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CancelDomainTransferToAnotherAwsAccountOutcomeCallable CancelDomainTransferToAnotherAwsAccountCallable(const CancelDomainTransferToAnotherAwsAccountRequestT& request) const { return SubmitCallable(&Route53DomainsClient::CancelDomainTransferToAnotherAwsAccount, request); } /** * An Async wrapper for CancelDomainTransferToAnotherAwsAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CancelDomainTransferToAnotherAwsAccountAsync(const CancelDomainTransferToAnotherAwsAccountRequestT& request, const CancelDomainTransferToAnotherAwsAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::CancelDomainTransferToAnotherAwsAccount, request, handler, context); } /** *

This operation checks the availability of one domain name. Note that if the * availability status of a domain is pending, you must submit another request to * determine the availability of the domain name.

See Also:

AWS * API Reference

*/ virtual Model::CheckDomainAvailabilityOutcome CheckDomainAvailability(const Model::CheckDomainAvailabilityRequest& request) const; /** * A Callable wrapper for CheckDomainAvailability that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CheckDomainAvailabilityOutcomeCallable CheckDomainAvailabilityCallable(const CheckDomainAvailabilityRequestT& request) const { return SubmitCallable(&Route53DomainsClient::CheckDomainAvailability, request); } /** * An Async wrapper for CheckDomainAvailability that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CheckDomainAvailabilityAsync(const CheckDomainAvailabilityRequestT& request, const CheckDomainAvailabilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::CheckDomainAvailability, request, handler, context); } /** *

Checks whether a domain name can be transferred to Amazon Route 53. *

See Also:

AWS * API Reference

*/ virtual Model::CheckDomainTransferabilityOutcome CheckDomainTransferability(const Model::CheckDomainTransferabilityRequest& request) const; /** * A Callable wrapper for CheckDomainTransferability that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CheckDomainTransferabilityOutcomeCallable CheckDomainTransferabilityCallable(const CheckDomainTransferabilityRequestT& request) const { return SubmitCallable(&Route53DomainsClient::CheckDomainTransferability, request); } /** * An Async wrapper for CheckDomainTransferability that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CheckDomainTransferabilityAsync(const CheckDomainTransferabilityRequestT& request, const CheckDomainTransferabilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::CheckDomainTransferability, request, handler, context); } /** *

This operation deletes the specified domain. This action is permanent. For * more information, see Deleting * a domain name registration.

To transfer the domain registration to * another registrar, use the transfer process that’s provided by the registrar to * which you want to transfer the registration. Otherwise, the following apply:

*
  1. You can’t get a refund for the cost of a deleted domain * registration.

  2. The registry for the top-level domain might hold * the domain name for a brief time before releasing it for other users to register * (varies by registry).

  3. When the registration has been deleted, * we'll send you a confirmation to the registrant contact. The email will come * from noreply@domainnameverification.net or * noreply@registrar.amazon.com.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteDomainOutcome DeleteDomain(const Model::DeleteDomainRequest& request) const; /** * A Callable wrapper for DeleteDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDomainOutcomeCallable DeleteDomainCallable(const DeleteDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::DeleteDomain, request); } /** * An Async wrapper for DeleteDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDomainAsync(const DeleteDomainRequestT& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::DeleteDomain, request, handler, context); } /** *

This operation deletes the specified tags for a domain.

All tag * operations are eventually consistent; subsequent operations might not * immediately represent all issued operations.

See Also:

AWS * API Reference

*/ virtual Model::DeleteTagsForDomainOutcome DeleteTagsForDomain(const Model::DeleteTagsForDomainRequest& request) const; /** * A Callable wrapper for DeleteTagsForDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteTagsForDomainOutcomeCallable DeleteTagsForDomainCallable(const DeleteTagsForDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::DeleteTagsForDomain, request); } /** * An Async wrapper for DeleteTagsForDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteTagsForDomainAsync(const DeleteTagsForDomainRequestT& request, const DeleteTagsForDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::DeleteTagsForDomain, request, handler, context); } /** *

This operation disables automatic renewal of domain registration for the * specified domain.

See Also:

AWS * API Reference

*/ virtual Model::DisableDomainAutoRenewOutcome DisableDomainAutoRenew(const Model::DisableDomainAutoRenewRequest& request) const; /** * A Callable wrapper for DisableDomainAutoRenew that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisableDomainAutoRenewOutcomeCallable DisableDomainAutoRenewCallable(const DisableDomainAutoRenewRequestT& request) const { return SubmitCallable(&Route53DomainsClient::DisableDomainAutoRenew, request); } /** * An Async wrapper for DisableDomainAutoRenew that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisableDomainAutoRenewAsync(const DisableDomainAutoRenewRequestT& request, const DisableDomainAutoRenewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::DisableDomainAutoRenew, request, handler, context); } /** *

This operation removes the transfer lock on the domain (specifically the * clientTransferProhibited status) to allow domain transfers. We * recommend you refrain from performing this action unless you intend to transfer * the domain to a different registrar. Successful submission returns an operation * ID that you can use to track the progress and completion of the action. If the * request is not completed successfully, the domain registrant will be notified by * email.

See Also:

AWS * API Reference

*/ virtual Model::DisableDomainTransferLockOutcome DisableDomainTransferLock(const Model::DisableDomainTransferLockRequest& request) const; /** * A Callable wrapper for DisableDomainTransferLock that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisableDomainTransferLockOutcomeCallable DisableDomainTransferLockCallable(const DisableDomainTransferLockRequestT& request) const { return SubmitCallable(&Route53DomainsClient::DisableDomainTransferLock, request); } /** * An Async wrapper for DisableDomainTransferLock that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisableDomainTransferLockAsync(const DisableDomainTransferLockRequestT& request, const DisableDomainTransferLockResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::DisableDomainTransferLock, request, handler, context); } /** *

Deletes a delegation signer (DS) record in the registry zone for this domain * name.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateDelegationSignerFromDomainOutcome DisassociateDelegationSignerFromDomain(const Model::DisassociateDelegationSignerFromDomainRequest& request) const; /** * A Callable wrapper for DisassociateDelegationSignerFromDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateDelegationSignerFromDomainOutcomeCallable DisassociateDelegationSignerFromDomainCallable(const DisassociateDelegationSignerFromDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::DisassociateDelegationSignerFromDomain, request); } /** * An Async wrapper for DisassociateDelegationSignerFromDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateDelegationSignerFromDomainAsync(const DisassociateDelegationSignerFromDomainRequestT& request, const DisassociateDelegationSignerFromDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::DisassociateDelegationSignerFromDomain, request, handler, context); } /** *

This operation configures Amazon Route 53 to automatically renew the * specified domain before the domain registration expires. The cost of renewing * your domain registration is billed to your Amazon Web Services account.

*

The period during which you can renew a domain name varies by TLD. For a list * of TLDs and their renewal policies, see Domains * That You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide. Route 53 requires that you renew before the end of the * renewal period so we can complete processing before the deadline.

See * Also:

AWS * API Reference

*/ virtual Model::EnableDomainAutoRenewOutcome EnableDomainAutoRenew(const Model::EnableDomainAutoRenewRequest& request) const; /** * A Callable wrapper for EnableDomainAutoRenew that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::EnableDomainAutoRenewOutcomeCallable EnableDomainAutoRenewCallable(const EnableDomainAutoRenewRequestT& request) const { return SubmitCallable(&Route53DomainsClient::EnableDomainAutoRenew, request); } /** * An Async wrapper for EnableDomainAutoRenew that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void EnableDomainAutoRenewAsync(const EnableDomainAutoRenewRequestT& request, const EnableDomainAutoRenewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::EnableDomainAutoRenew, request, handler, context); } /** *

This operation sets the transfer lock on the domain (specifically the * clientTransferProhibited status) to prevent domain transfers. * Successful submission returns an operation ID that you can use to track the * progress and completion of the action. If the request is not completed * successfully, the domain registrant will be notified by email.

See * Also:

AWS * API Reference

*/ virtual Model::EnableDomainTransferLockOutcome EnableDomainTransferLock(const Model::EnableDomainTransferLockRequest& request) const; /** * A Callable wrapper for EnableDomainTransferLock that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::EnableDomainTransferLockOutcomeCallable EnableDomainTransferLockCallable(const EnableDomainTransferLockRequestT& request) const { return SubmitCallable(&Route53DomainsClient::EnableDomainTransferLock, request); } /** * An Async wrapper for EnableDomainTransferLock that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void EnableDomainTransferLockAsync(const EnableDomainTransferLockRequestT& request, const EnableDomainTransferLockResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::EnableDomainTransferLock, request, handler, context); } /** *

For operations that require confirmation that the email address for the * registrant contact is valid, such as registering a new domain, this operation * returns information about whether the registrant contact has responded.

*

If you want us to resend the email, use the * ResendContactReachabilityEmail operation.

See Also:

* AWS * API Reference

*/ virtual Model::GetContactReachabilityStatusOutcome GetContactReachabilityStatus(const Model::GetContactReachabilityStatusRequest& request) const; /** * A Callable wrapper for GetContactReachabilityStatus that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContactReachabilityStatusOutcomeCallable GetContactReachabilityStatusCallable(const GetContactReachabilityStatusRequestT& request) const { return SubmitCallable(&Route53DomainsClient::GetContactReachabilityStatus, request); } /** * An Async wrapper for GetContactReachabilityStatus that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContactReachabilityStatusAsync(const GetContactReachabilityStatusRequestT& request, const GetContactReachabilityStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::GetContactReachabilityStatus, request, handler, context); } /** *

This operation returns detailed information about a specified domain that is * associated with the current Amazon Web Services account. Contact information for * the domain is also returned as part of the output.

See Also:

AWS * API Reference

*/ virtual Model::GetDomainDetailOutcome GetDomainDetail(const Model::GetDomainDetailRequest& request) const; /** * A Callable wrapper for GetDomainDetail that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDomainDetailOutcomeCallable GetDomainDetailCallable(const GetDomainDetailRequestT& request) const { return SubmitCallable(&Route53DomainsClient::GetDomainDetail, request); } /** * An Async wrapper for GetDomainDetail that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDomainDetailAsync(const GetDomainDetailRequestT& request, const GetDomainDetailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::GetDomainDetail, request, handler, context); } /** *

The GetDomainSuggestions operation returns a list of suggested domain * names.

See Also:

AWS * API Reference

*/ virtual Model::GetDomainSuggestionsOutcome GetDomainSuggestions(const Model::GetDomainSuggestionsRequest& request) const; /** * A Callable wrapper for GetDomainSuggestions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDomainSuggestionsOutcomeCallable GetDomainSuggestionsCallable(const GetDomainSuggestionsRequestT& request) const { return SubmitCallable(&Route53DomainsClient::GetDomainSuggestions, request); } /** * An Async wrapper for GetDomainSuggestions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDomainSuggestionsAsync(const GetDomainSuggestionsRequestT& request, const GetDomainSuggestionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::GetDomainSuggestions, request, handler, context); } /** *

This operation returns the current status of an operation that is not * completed.

See Also:

AWS * API Reference

*/ virtual Model::GetOperationDetailOutcome GetOperationDetail(const Model::GetOperationDetailRequest& request) const; /** * A Callable wrapper for GetOperationDetail that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetOperationDetailOutcomeCallable GetOperationDetailCallable(const GetOperationDetailRequestT& request) const { return SubmitCallable(&Route53DomainsClient::GetOperationDetail, request); } /** * An Async wrapper for GetOperationDetail that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetOperationDetailAsync(const GetOperationDetailRequestT& request, const GetOperationDetailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::GetOperationDetail, request, handler, context); } /** *

This operation returns all the domain names registered with Amazon Route 53 * for the current Amazon Web Services account if no filtering conditions are * used.

See Also:

AWS * API Reference

*/ virtual Model::ListDomainsOutcome ListDomains(const Model::ListDomainsRequest& request) const; /** * A Callable wrapper for ListDomains that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDomainsOutcomeCallable ListDomainsCallable(const ListDomainsRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ListDomains, request); } /** * An Async wrapper for ListDomains that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDomainsAsync(const ListDomainsRequestT& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ListDomains, request, handler, context); } /** *

Returns information about all of the operations that return an operation ID * and that have ever been performed on domains that were registered by the current * account.

This command runs only in the us-east-1 Region.

See * Also:

AWS * API Reference

*/ virtual Model::ListOperationsOutcome ListOperations(const Model::ListOperationsRequest& request) const; /** * A Callable wrapper for ListOperations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListOperationsOutcomeCallable ListOperationsCallable(const ListOperationsRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ListOperations, request); } /** * An Async wrapper for ListOperations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListOperationsAsync(const ListOperationsRequestT& request, const ListOperationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ListOperations, request, handler, context); } /** *

Lists the following prices for either all the TLDs supported by Route 53, or * the specified TLD:

  • Registration

  • Transfer

    *
  • Owner change

  • Domain renewal

  • *

    Domain restoration

See Also:

AWS * API Reference

*/ virtual Model::ListPricesOutcome ListPrices(const Model::ListPricesRequest& request) const; /** * A Callable wrapper for ListPrices that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPricesOutcomeCallable ListPricesCallable(const ListPricesRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ListPrices, request); } /** * An Async wrapper for ListPrices that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPricesAsync(const ListPricesRequestT& request, const ListPricesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ListPrices, request, handler, context); } /** *

This operation returns all of the tags that are associated with the specified * domain.

All tag operations are eventually consistent; subsequent * operations might not immediately represent all issued operations.

See * Also:

AWS * API Reference

*/ virtual Model::ListTagsForDomainOutcome ListTagsForDomain(const Model::ListTagsForDomainRequest& request) const; /** * A Callable wrapper for ListTagsForDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForDomainOutcomeCallable ListTagsForDomainCallable(const ListTagsForDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ListTagsForDomain, request); } /** * An Async wrapper for ListTagsForDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForDomainAsync(const ListTagsForDomainRequestT& request, const ListTagsForDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ListTagsForDomain, request, handler, context); } /** *

Moves a domain from Amazon Web Services to another registrar.

*

Supported actions:

  • Changes the IPS tags of a .uk domain, and * pushes it to transit. Transit means that the domain is ready to be transferred * to another registrar.

See Also:

AWS * API Reference

*/ virtual Model::PushDomainOutcome PushDomain(const Model::PushDomainRequest& request) const; /** * A Callable wrapper for PushDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PushDomainOutcomeCallable PushDomainCallable(const PushDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::PushDomain, request); } /** * An Async wrapper for PushDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PushDomainAsync(const PushDomainRequestT& request, const PushDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::PushDomain, request, handler, context); } /** *

This operation registers a domain. For some top-level domains (TLDs), this * operation requires extra parameters.

When you register a domain, Amazon * Route 53 does the following:

  • Creates a Route 53 hosted zone * that has the same name as the domain. Route 53 assigns four name servers to your * hosted zone and automatically updates your domain registration with the names of * these name servers.

  • Enables auto renew, so your domain * registration will renew automatically each year. We'll notify you in advance of * the renewal date so you can choose whether to renew the registration.

  • *
  • Optionally enables privacy protection, so WHOIS queries return contact * for the registrar or the phrase "REDACTED FOR PRIVACY", or "On behalf of * <domain name> owner." If you don't enable privacy protection, WHOIS * queries return the information that you entered for the administrative, * registrant, and technical contacts.

    While some domains may allow * different privacy settings per contact, we recommend specifying the same privacy * setting for all contacts.

  • If registration is * successful, returns an operation ID that you can use to track the progress and * completion of the action. If the request is not completed successfully, the * domain registrant is notified by email.

  • Charges your Amazon * Web Services account an amount based on the top-level domain. For more * information, see Amazon Route * 53 Pricing.

See Also:

AWS * API Reference

*/ virtual Model::RegisterDomainOutcome RegisterDomain(const Model::RegisterDomainRequest& request) const; /** * A Callable wrapper for RegisterDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RegisterDomainOutcomeCallable RegisterDomainCallable(const RegisterDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::RegisterDomain, request); } /** * An Async wrapper for RegisterDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RegisterDomainAsync(const RegisterDomainRequestT& request, const RegisterDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::RegisterDomain, request, handler, context); } /** *

Rejects the transfer of a domain from another Amazon Web Services account to * the current Amazon Web Services account. You initiate a transfer betweenAmazon * Web Services accounts using TransferDomainToAnotherAwsAccount. *

Use either ListOperations * or GetOperationDetail * to determine whether the operation succeeded. GetOperationDetail * provides additional information, for example, Domain Transfer from Aws * Account 111122223333 has been cancelled.

See Also:

AWS * API Reference

*/ virtual Model::RejectDomainTransferFromAnotherAwsAccountOutcome RejectDomainTransferFromAnotherAwsAccount(const Model::RejectDomainTransferFromAnotherAwsAccountRequest& request) const; /** * A Callable wrapper for RejectDomainTransferFromAnotherAwsAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RejectDomainTransferFromAnotherAwsAccountOutcomeCallable RejectDomainTransferFromAnotherAwsAccountCallable(const RejectDomainTransferFromAnotherAwsAccountRequestT& request) const { return SubmitCallable(&Route53DomainsClient::RejectDomainTransferFromAnotherAwsAccount, request); } /** * An Async wrapper for RejectDomainTransferFromAnotherAwsAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RejectDomainTransferFromAnotherAwsAccountAsync(const RejectDomainTransferFromAnotherAwsAccountRequestT& request, const RejectDomainTransferFromAnotherAwsAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::RejectDomainTransferFromAnotherAwsAccount, request, handler, context); } /** *

This operation renews a domain for the specified number of years. The cost of * renewing your domain is billed to your Amazon Web Services account.

We * recommend that you renew your domain several weeks before the expiration date. * Some TLD registries delete domains before the expiration date if you haven't * renewed far enough in advance. For more information about renewing domain * registration, see Renewing * Registration for a Domain in the Amazon Route 53 Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::RenewDomainOutcome RenewDomain(const Model::RenewDomainRequest& request) const; /** * A Callable wrapper for RenewDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RenewDomainOutcomeCallable RenewDomainCallable(const RenewDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::RenewDomain, request); } /** * An Async wrapper for RenewDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RenewDomainAsync(const RenewDomainRequestT& request, const RenewDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::RenewDomain, request, handler, context); } /** *

For operations that require confirmation that the email address for the * registrant contact is valid, such as registering a new domain, this operation * resends the confirmation email to the current email address for the registrant * contact.

See Also:

AWS * API Reference

*/ virtual Model::ResendContactReachabilityEmailOutcome ResendContactReachabilityEmail(const Model::ResendContactReachabilityEmailRequest& request) const; /** * A Callable wrapper for ResendContactReachabilityEmail that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResendContactReachabilityEmailOutcomeCallable ResendContactReachabilityEmailCallable(const ResendContactReachabilityEmailRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ResendContactReachabilityEmail, request); } /** * An Async wrapper for ResendContactReachabilityEmail that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResendContactReachabilityEmailAsync(const ResendContactReachabilityEmailRequestT& request, const ResendContactReachabilityEmailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ResendContactReachabilityEmail, request, handler, context); } /** *

Resend the form of authorization email for this operation.

See * Also:

AWS * API Reference

*/ virtual Model::ResendOperationAuthorizationOutcome ResendOperationAuthorization(const Model::ResendOperationAuthorizationRequest& request) const; /** * A Callable wrapper for ResendOperationAuthorization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResendOperationAuthorizationOutcomeCallable ResendOperationAuthorizationCallable(const ResendOperationAuthorizationRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ResendOperationAuthorization, request); } /** * An Async wrapper for ResendOperationAuthorization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResendOperationAuthorizationAsync(const ResendOperationAuthorizationRequestT& request, const ResendOperationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ResendOperationAuthorization, request, handler, context); } /** *

This operation returns the authorization code for the domain. To transfer a * domain to another registrar, you provide this value to the new * registrar.

See Also:

AWS * API Reference

*/ virtual Model::RetrieveDomainAuthCodeOutcome RetrieveDomainAuthCode(const Model::RetrieveDomainAuthCodeRequest& request) const; /** * A Callable wrapper for RetrieveDomainAuthCode that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RetrieveDomainAuthCodeOutcomeCallable RetrieveDomainAuthCodeCallable(const RetrieveDomainAuthCodeRequestT& request) const { return SubmitCallable(&Route53DomainsClient::RetrieveDomainAuthCode, request); } /** * An Async wrapper for RetrieveDomainAuthCode that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RetrieveDomainAuthCodeAsync(const RetrieveDomainAuthCodeRequestT& request, const RetrieveDomainAuthCodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::RetrieveDomainAuthCode, request, handler, context); } /** *

Transfers a domain from another registrar to Amazon Route 53.

For * more information about transferring domains, see the following topics:

If the registrar for your domain is also * the DNS service provider for the domain, we highly recommend that you transfer * your DNS service to Route 53 or to another DNS service provider before you * transfer your registration. Some registrars provide free DNS service when you * purchase a domain registration. When you transfer the registration, the previous * registrar will not renew your domain registration and could end your DNS service * at any time.

If the registrar for your domain is also the DNS * service provider for the domain and you don't transfer DNS service to another * provider, your website, email, and the web applications associated with the * domain might become unavailable.

If the transfer is * successful, this method returns an operation ID that you can use to track the * progress and completion of the action. If the transfer doesn't complete * successfully, the domain registrant will be notified by email.

See * Also:

AWS * API Reference

*/ virtual Model::TransferDomainOutcome TransferDomain(const Model::TransferDomainRequest& request) const; /** * A Callable wrapper for TransferDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TransferDomainOutcomeCallable TransferDomainCallable(const TransferDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::TransferDomain, request); } /** * An Async wrapper for TransferDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TransferDomainAsync(const TransferDomainRequestT& request, const TransferDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::TransferDomain, request, handler, context); } /** *

Transfers a domain from the current Amazon Web Services account to another * Amazon Web Services account. Note the following:

When you transfer a domain from one Amazon Web * Services account to another, Route 53 doesn't transfer the hosted zone that is * associated with the domain. DNS resolution isn't affected if the domain and the * hosted zone are owned by separate accounts, so transferring the hosted zone is * optional. For information about transferring the hosted zone to another Amazon * Web Services account, see Migrating * a Hosted Zone to a Different Amazon Web Services Account in the Amazon * Route 53 Developer Guide.

Use either ListOperations * or GetOperationDetail * to determine whether the operation succeeded. GetOperationDetail * provides additional information, for example, Domain Transfer from Aws * Account 111122223333 has been cancelled.

See Also:

AWS * API Reference

*/ virtual Model::TransferDomainToAnotherAwsAccountOutcome TransferDomainToAnotherAwsAccount(const Model::TransferDomainToAnotherAwsAccountRequest& request) const; /** * A Callable wrapper for TransferDomainToAnotherAwsAccount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TransferDomainToAnotherAwsAccountOutcomeCallable TransferDomainToAnotherAwsAccountCallable(const TransferDomainToAnotherAwsAccountRequestT& request) const { return SubmitCallable(&Route53DomainsClient::TransferDomainToAnotherAwsAccount, request); } /** * An Async wrapper for TransferDomainToAnotherAwsAccount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TransferDomainToAnotherAwsAccountAsync(const TransferDomainToAnotherAwsAccountRequestT& request, const TransferDomainToAnotherAwsAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::TransferDomainToAnotherAwsAccount, request, handler, context); } /** *

This operation updates the contact information for a particular domain. You * must specify information for at least one contact: registrant, administrator, or * technical.

If the update is successful, this method returns an operation * ID that you can use to track the progress and completion of the operation. If * the request is not completed successfully, the domain registrant will be * notified by email.

See Also:

AWS * API Reference

*/ virtual Model::UpdateDomainContactOutcome UpdateDomainContact(const Model::UpdateDomainContactRequest& request) const; /** * A Callable wrapper for UpdateDomainContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDomainContactOutcomeCallable UpdateDomainContactCallable(const UpdateDomainContactRequestT& request) const { return SubmitCallable(&Route53DomainsClient::UpdateDomainContact, request); } /** * An Async wrapper for UpdateDomainContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDomainContactAsync(const UpdateDomainContactRequestT& request, const UpdateDomainContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::UpdateDomainContact, request, handler, context); } /** *

This operation updates the specified domain contact's privacy setting. When * privacy protection is enabled, your contact information is replaced with contact * information for the registrar or with the phrase "REDACTED FOR PRIVACY", or "On * behalf of <domain name> owner."

While some domains may allow * different privacy settings per contact, we recommend specifying the same privacy * setting for all contacts.

This operation affects only the contact * information for the specified contact type (administrative, registrant, or * technical). If the request succeeds, Amazon Route 53 returns an operation ID * that you can use with GetOperationDetail * to track the progress and completion of the action. If the request doesn't * complete successfully, the domain registrant will be notified by email.

*

By disabling the privacy service via API, you consent to the * publication of the contact information provided for this domain via the public * WHOIS database. You certify that you are the registrant of this domain name and * have the authority to make this decision. You may withdraw your consent at any * time by enabling privacy protection using either * UpdateDomainContactPrivacy or the Route 53 console. Enabling * privacy protection removes the contact information provided for this domain from * the WHOIS database. For more information on our privacy practices, see https://aws.amazon.com/privacy/.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateDomainContactPrivacyOutcome UpdateDomainContactPrivacy(const Model::UpdateDomainContactPrivacyRequest& request) const; /** * A Callable wrapper for UpdateDomainContactPrivacy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDomainContactPrivacyOutcomeCallable UpdateDomainContactPrivacyCallable(const UpdateDomainContactPrivacyRequestT& request) const { return SubmitCallable(&Route53DomainsClient::UpdateDomainContactPrivacy, request); } /** * An Async wrapper for UpdateDomainContactPrivacy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDomainContactPrivacyAsync(const UpdateDomainContactPrivacyRequestT& request, const UpdateDomainContactPrivacyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::UpdateDomainContactPrivacy, request, handler, context); } /** *

This operation replaces the current set of name servers for the domain with * the specified set of name servers. If you use Amazon Route 53 as your DNS * service, specify the four name servers in the delegation set for the hosted zone * for the domain.

If successful, this operation returns an operation ID * that you can use to track the progress and completion of the action. If the * request is not completed successfully, the domain registrant will be notified by * email.

See Also:

AWS * API Reference

*/ virtual Model::UpdateDomainNameserversOutcome UpdateDomainNameservers(const Model::UpdateDomainNameserversRequest& request) const; /** * A Callable wrapper for UpdateDomainNameservers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDomainNameserversOutcomeCallable UpdateDomainNameserversCallable(const UpdateDomainNameserversRequestT& request) const { return SubmitCallable(&Route53DomainsClient::UpdateDomainNameservers, request); } /** * An Async wrapper for UpdateDomainNameservers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDomainNameserversAsync(const UpdateDomainNameserversRequestT& request, const UpdateDomainNameserversResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::UpdateDomainNameservers, request, handler, context); } /** *

This operation adds or updates tags for a specified domain.

All tag * operations are eventually consistent; subsequent operations might not * immediately represent all issued operations.

See Also:

AWS * API Reference

*/ virtual Model::UpdateTagsForDomainOutcome UpdateTagsForDomain(const Model::UpdateTagsForDomainRequest& request) const; /** * A Callable wrapper for UpdateTagsForDomain that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateTagsForDomainOutcomeCallable UpdateTagsForDomainCallable(const UpdateTagsForDomainRequestT& request) const { return SubmitCallable(&Route53DomainsClient::UpdateTagsForDomain, request); } /** * An Async wrapper for UpdateTagsForDomain that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateTagsForDomainAsync(const UpdateTagsForDomainRequestT& request, const UpdateTagsForDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::UpdateTagsForDomain, request, handler, context); } /** *

Returns all the domain-related billing records for the current Amazon Web * Services account for a specified period

See Also:

AWS * API Reference

*/ virtual Model::ViewBillingOutcome ViewBilling(const Model::ViewBillingRequest& request) const; /** * A Callable wrapper for ViewBilling that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ViewBillingOutcomeCallable ViewBillingCallable(const ViewBillingRequestT& request) const { return SubmitCallable(&Route53DomainsClient::ViewBilling, request); } /** * An Async wrapper for ViewBilling that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ViewBillingAsync(const ViewBillingRequestT& request, const ViewBillingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Route53DomainsClient::ViewBilling, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const Route53DomainsClientConfiguration& clientConfiguration); Route53DomainsClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace Route53Domains } // namespace Aws