/** * 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 namespace Aws { namespace Route53Domains { namespace Model { /** *

The TransferDomain request includes the following elements.

See * Also:

AWS * API Reference

*/ class TransferDomainRequest : public Route53DomainsRequest { public: AWS_ROUTE53DOMAINS_API TransferDomainRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "TransferDomain"; } AWS_ROUTE53DOMAINS_API Aws::String SerializePayload() const override; AWS_ROUTE53DOMAINS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline TransferDomainRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline TransferDomainRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The name of the domain that you want to transfer to Route 53. The top-level * domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of * supported TLDs, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide.

The domain name can contain only the following * characters:

  • Letters a through z. Domain names are not case * sensitive.

  • Numbers 0 through 9.

  • Hyphen (-). * You can't specify a hyphen at the beginning or end of a label.

  • *

    Period (.) to separate the labels in the name, such as the . in * example.com.

*/ inline TransferDomainRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

Reserved for future use.

*/ inline const Aws::String& GetIdnLangCode() const{ return m_idnLangCode; } /** *

Reserved for future use.

*/ inline bool IdnLangCodeHasBeenSet() const { return m_idnLangCodeHasBeenSet; } /** *

Reserved for future use.

*/ inline void SetIdnLangCode(const Aws::String& value) { m_idnLangCodeHasBeenSet = true; m_idnLangCode = value; } /** *

Reserved for future use.

*/ inline void SetIdnLangCode(Aws::String&& value) { m_idnLangCodeHasBeenSet = true; m_idnLangCode = std::move(value); } /** *

Reserved for future use.

*/ inline void SetIdnLangCode(const char* value) { m_idnLangCodeHasBeenSet = true; m_idnLangCode.assign(value); } /** *

Reserved for future use.

*/ inline TransferDomainRequest& WithIdnLangCode(const Aws::String& value) { SetIdnLangCode(value); return *this;} /** *

Reserved for future use.

*/ inline TransferDomainRequest& WithIdnLangCode(Aws::String&& value) { SetIdnLangCode(std::move(value)); return *this;} /** *

Reserved for future use.

*/ inline TransferDomainRequest& WithIdnLangCode(const char* value) { SetIdnLangCode(value); return *this;} /** *

The number of years that you want to register the domain for. Domains are * registered for a minimum of one year. The maximum period depends on the * top-level domain.

Default: 1

*/ inline int GetDurationInYears() const{ return m_durationInYears; } /** *

The number of years that you want to register the domain for. Domains are * registered for a minimum of one year. The maximum period depends on the * top-level domain.

Default: 1

*/ inline bool DurationInYearsHasBeenSet() const { return m_durationInYearsHasBeenSet; } /** *

The number of years that you want to register the domain for. Domains are * registered for a minimum of one year. The maximum period depends on the * top-level domain.

Default: 1

*/ inline void SetDurationInYears(int value) { m_durationInYearsHasBeenSet = true; m_durationInYears = value; } /** *

The number of years that you want to register the domain for. Domains are * registered for a minimum of one year. The maximum period depends on the * top-level domain.

Default: 1

*/ inline TransferDomainRequest& WithDurationInYears(int value) { SetDurationInYears(value); return *this;} /** *

Contains details for the host and glue IP addresses.

*/ inline const Aws::Vector& GetNameservers() const{ return m_nameservers; } /** *

Contains details for the host and glue IP addresses.

*/ inline bool NameserversHasBeenSet() const { return m_nameserversHasBeenSet; } /** *

Contains details for the host and glue IP addresses.

*/ inline void SetNameservers(const Aws::Vector& value) { m_nameserversHasBeenSet = true; m_nameservers = value; } /** *

Contains details for the host and glue IP addresses.

*/ inline void SetNameservers(Aws::Vector&& value) { m_nameserversHasBeenSet = true; m_nameservers = std::move(value); } /** *

Contains details for the host and glue IP addresses.

*/ inline TransferDomainRequest& WithNameservers(const Aws::Vector& value) { SetNameservers(value); return *this;} /** *

Contains details for the host and glue IP addresses.

*/ inline TransferDomainRequest& WithNameservers(Aws::Vector&& value) { SetNameservers(std::move(value)); return *this;} /** *

Contains details for the host and glue IP addresses.

*/ inline TransferDomainRequest& AddNameservers(const Nameserver& value) { m_nameserversHasBeenSet = true; m_nameservers.push_back(value); return *this; } /** *

Contains details for the host and glue IP addresses.

*/ inline TransferDomainRequest& AddNameservers(Nameserver&& value) { m_nameserversHasBeenSet = true; m_nameservers.push_back(std::move(value)); return *this; } /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline const Aws::String& GetAuthCode() const{ return m_authCode; } /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline bool AuthCodeHasBeenSet() const { return m_authCodeHasBeenSet; } /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline void SetAuthCode(const Aws::String& value) { m_authCodeHasBeenSet = true; m_authCode = value; } /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline void SetAuthCode(Aws::String&& value) { m_authCodeHasBeenSet = true; m_authCode = std::move(value); } /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline void SetAuthCode(const char* value) { m_authCodeHasBeenSet = true; m_authCode.assign(value); } /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline TransferDomainRequest& WithAuthCode(const Aws::String& value) { SetAuthCode(value); return *this;} /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline TransferDomainRequest& WithAuthCode(Aws::String&& value) { SetAuthCode(std::move(value)); return *this;} /** *

The authorization code for the domain. You get this value from the current * registrar.

*/ inline TransferDomainRequest& WithAuthCode(const char* value) { SetAuthCode(value); return *this;} /** *

Indicates whether the domain will be automatically renewed (true) or not * (false). Auto renewal only takes effect after the account is charged.

*

Default: true

*/ inline bool GetAutoRenew() const{ return m_autoRenew; } /** *

Indicates whether the domain will be automatically renewed (true) or not * (false). Auto renewal only takes effect after the account is charged.

*

Default: true

*/ inline bool AutoRenewHasBeenSet() const { return m_autoRenewHasBeenSet; } /** *

Indicates whether the domain will be automatically renewed (true) or not * (false). Auto renewal only takes effect after the account is charged.

*

Default: true

*/ inline void SetAutoRenew(bool value) { m_autoRenewHasBeenSet = true; m_autoRenew = value; } /** *

Indicates whether the domain will be automatically renewed (true) or not * (false). Auto renewal only takes effect after the account is charged.

*

Default: true

*/ inline TransferDomainRequest& WithAutoRenew(bool value) { SetAutoRenew(value); return *this;} /** *

Provides detailed contact information.

*/ inline const ContactDetail& GetAdminContact() const{ return m_adminContact; } /** *

Provides detailed contact information.

*/ inline bool AdminContactHasBeenSet() const { return m_adminContactHasBeenSet; } /** *

Provides detailed contact information.

*/ inline void SetAdminContact(const ContactDetail& value) { m_adminContactHasBeenSet = true; m_adminContact = value; } /** *

Provides detailed contact information.

*/ inline void SetAdminContact(ContactDetail&& value) { m_adminContactHasBeenSet = true; m_adminContact = std::move(value); } /** *

Provides detailed contact information.

*/ inline TransferDomainRequest& WithAdminContact(const ContactDetail& value) { SetAdminContact(value); return *this;} /** *

Provides detailed contact information.

*/ inline TransferDomainRequest& WithAdminContact(ContactDetail&& value) { SetAdminContact(std::move(value)); return *this;} /** *

Provides detailed contact information.

*/ inline const ContactDetail& GetRegistrantContact() const{ return m_registrantContact; } /** *

Provides detailed contact information.

*/ inline bool RegistrantContactHasBeenSet() const { return m_registrantContactHasBeenSet; } /** *

Provides detailed contact information.

*/ inline void SetRegistrantContact(const ContactDetail& value) { m_registrantContactHasBeenSet = true; m_registrantContact = value; } /** *

Provides detailed contact information.

*/ inline void SetRegistrantContact(ContactDetail&& value) { m_registrantContactHasBeenSet = true; m_registrantContact = std::move(value); } /** *

Provides detailed contact information.

*/ inline TransferDomainRequest& WithRegistrantContact(const ContactDetail& value) { SetRegistrantContact(value); return *this;} /** *

Provides detailed contact information.

*/ inline TransferDomainRequest& WithRegistrantContact(ContactDetail&& value) { SetRegistrantContact(std::move(value)); return *this;} /** *

Provides detailed contact information.

*/ inline const ContactDetail& GetTechContact() const{ return m_techContact; } /** *

Provides detailed contact information.

*/ inline bool TechContactHasBeenSet() const { return m_techContactHasBeenSet; } /** *

Provides detailed contact information.

*/ inline void SetTechContact(const ContactDetail& value) { m_techContactHasBeenSet = true; m_techContact = value; } /** *

Provides detailed contact information.

*/ inline void SetTechContact(ContactDetail&& value) { m_techContactHasBeenSet = true; m_techContact = std::move(value); } /** *

Provides detailed contact information.

*/ inline TransferDomainRequest& WithTechContact(const ContactDetail& value) { SetTechContact(value); return *this;} /** *

Provides detailed contact information.

*/ inline TransferDomainRequest& WithTechContact(ContactDetail&& value) { SetTechContact(std::move(value)); return *this;} /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * for the registrar, 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.

Default: true

*/ inline bool GetPrivacyProtectAdminContact() const{ return m_privacyProtectAdminContact; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * for the registrar, 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.

Default: true

*/ inline bool PrivacyProtectAdminContactHasBeenSet() const { return m_privacyProtectAdminContactHasBeenSet; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * for the registrar, 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.

Default: true

*/ inline void SetPrivacyProtectAdminContact(bool value) { m_privacyProtectAdminContactHasBeenSet = true; m_privacyProtectAdminContact = value; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * for the registrar, 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.

Default: true

*/ inline TransferDomainRequest& WithPrivacyProtectAdminContact(bool value) { SetPrivacyProtectAdminContact(value); return *this;} /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the registrant contact (domain owner).

You must specify the same * privacy setting for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline bool GetPrivacyProtectRegistrantContact() const{ return m_privacyProtectRegistrantContact; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the registrant contact (domain owner).

You must specify the same * privacy setting for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline bool PrivacyProtectRegistrantContactHasBeenSet() const { return m_privacyProtectRegistrantContactHasBeenSet; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the registrant contact (domain owner).

You must specify the same * privacy setting for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline void SetPrivacyProtectRegistrantContact(bool value) { m_privacyProtectRegistrantContactHasBeenSet = true; m_privacyProtectRegistrantContact = value; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the registrant contact (domain owner).

You must specify the same * privacy setting for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline TransferDomainRequest& WithPrivacyProtectRegistrantContact(bool value) { SetPrivacyProtectRegistrantContact(value); return *this;} /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the technical contact.

You must specify the same privacy setting * for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline bool GetPrivacyProtectTechContact() const{ return m_privacyProtectTechContact; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the technical contact.

You must specify the same privacy setting * for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline bool PrivacyProtectTechContactHasBeenSet() const { return m_privacyProtectTechContactHasBeenSet; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the technical contact.

You must specify the same privacy setting * for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline void SetPrivacyProtectTechContact(bool value) { m_privacyProtectTechContactHasBeenSet = true; m_privacyProtectTechContact = value; } /** *

Whether you want to conceal contact information from WHOIS queries. If you * specify true, WHOIS ("who is") queries return contact information * either for Amazon Registrar (for .com, .net, and .org domains) or for our * registrar associate, Gandi (for all other TLDs). If you specify * false, WHOIS queries return the information that you entered for * the technical contact.

You must specify the same privacy setting * for the administrative, registrant, and technical contacts.

*

Default: true

*/ inline TransferDomainRequest& WithPrivacyProtectTechContact(bool value) { SetPrivacyProtectTechContact(value); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_idnLangCode; bool m_idnLangCodeHasBeenSet = false; int m_durationInYears; bool m_durationInYearsHasBeenSet = false; Aws::Vector m_nameservers; bool m_nameserversHasBeenSet = false; Aws::String m_authCode; bool m_authCodeHasBeenSet = false; bool m_autoRenew; bool m_autoRenewHasBeenSet = false; ContactDetail m_adminContact; bool m_adminContactHasBeenSet = false; ContactDetail m_registrantContact; bool m_registrantContactHasBeenSet = false; ContactDetail m_techContact; bool m_techContactHasBeenSet = false; bool m_privacyProtectAdminContact; bool m_privacyProtectAdminContactHasBeenSet = false; bool m_privacyProtectRegistrantContact; bool m_privacyProtectRegistrantContactHasBeenSet = false; bool m_privacyProtectTechContact; bool m_privacyProtectTechContactHasBeenSet = false; }; } // namespace Model } // namespace Route53Domains } // namespace Aws