/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Route53Domains { namespace Model { /** *

ContactDetail includes the following elements.

See Also:

AWS * API Reference

*/ class ContactDetail { public: AWS_ROUTE53DOMAINS_API ContactDetail(); AWS_ROUTE53DOMAINS_API ContactDetail(Aws::Utils::Json::JsonView jsonValue); AWS_ROUTE53DOMAINS_API ContactDetail& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ROUTE53DOMAINS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

First name of contact.

*/ inline const Aws::String& GetFirstName() const{ return m_firstName; } /** *

First name of contact.

*/ inline bool FirstNameHasBeenSet() const { return m_firstNameHasBeenSet; } /** *

First name of contact.

*/ inline void SetFirstName(const Aws::String& value) { m_firstNameHasBeenSet = true; m_firstName = value; } /** *

First name of contact.

*/ inline void SetFirstName(Aws::String&& value) { m_firstNameHasBeenSet = true; m_firstName = std::move(value); } /** *

First name of contact.

*/ inline void SetFirstName(const char* value) { m_firstNameHasBeenSet = true; m_firstName.assign(value); } /** *

First name of contact.

*/ inline ContactDetail& WithFirstName(const Aws::String& value) { SetFirstName(value); return *this;} /** *

First name of contact.

*/ inline ContactDetail& WithFirstName(Aws::String&& value) { SetFirstName(std::move(value)); return *this;} /** *

First name of contact.

*/ inline ContactDetail& WithFirstName(const char* value) { SetFirstName(value); return *this;} /** *

Last name of contact.

*/ inline const Aws::String& GetLastName() const{ return m_lastName; } /** *

Last name of contact.

*/ inline bool LastNameHasBeenSet() const { return m_lastNameHasBeenSet; } /** *

Last name of contact.

*/ inline void SetLastName(const Aws::String& value) { m_lastNameHasBeenSet = true; m_lastName = value; } /** *

Last name of contact.

*/ inline void SetLastName(Aws::String&& value) { m_lastNameHasBeenSet = true; m_lastName = std::move(value); } /** *

Last name of contact.

*/ inline void SetLastName(const char* value) { m_lastNameHasBeenSet = true; m_lastName.assign(value); } /** *

Last name of contact.

*/ inline ContactDetail& WithLastName(const Aws::String& value) { SetLastName(value); return *this;} /** *

Last name of contact.

*/ inline ContactDetail& WithLastName(Aws::String&& value) { SetLastName(std::move(value)); return *this;} /** *

Last name of contact.

*/ inline ContactDetail& WithLastName(const char* value) { SetLastName(value); return *this;} /** *

Indicates whether the contact is a person, company, association, or public * organization. Note the following:

  • If you specify a value other * than PERSON, you must also specify a value for * OrganizationName.

  • For some TLDs, the privacy * protection available depends on the value that you specify for Contact * Type. For the privacy protection settings for your TLD, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide

  • For .es domains, the value of * ContactType must be PERSON for all three contacts.

    *
*/ inline const ContactType& GetContactType() const{ return m_contactType; } /** *

Indicates whether the contact is a person, company, association, or public * organization. Note the following:

  • If you specify a value other * than PERSON, you must also specify a value for * OrganizationName.

  • For some TLDs, the privacy * protection available depends on the value that you specify for Contact * Type. For the privacy protection settings for your TLD, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide

  • For .es domains, the value of * ContactType must be PERSON for all three contacts.

    *
*/ inline bool ContactTypeHasBeenSet() const { return m_contactTypeHasBeenSet; } /** *

Indicates whether the contact is a person, company, association, or public * organization. Note the following:

  • If you specify a value other * than PERSON, you must also specify a value for * OrganizationName.

  • For some TLDs, the privacy * protection available depends on the value that you specify for Contact * Type. For the privacy protection settings for your TLD, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide

  • For .es domains, the value of * ContactType must be PERSON for all three contacts.

    *
*/ inline void SetContactType(const ContactType& value) { m_contactTypeHasBeenSet = true; m_contactType = value; } /** *

Indicates whether the contact is a person, company, association, or public * organization. Note the following:

  • If you specify a value other * than PERSON, you must also specify a value for * OrganizationName.

  • For some TLDs, the privacy * protection available depends on the value that you specify for Contact * Type. For the privacy protection settings for your TLD, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide

  • For .es domains, the value of * ContactType must be PERSON for all three contacts.

    *
*/ inline void SetContactType(ContactType&& value) { m_contactTypeHasBeenSet = true; m_contactType = std::move(value); } /** *

Indicates whether the contact is a person, company, association, or public * organization. Note the following:

  • If you specify a value other * than PERSON, you must also specify a value for * OrganizationName.

  • For some TLDs, the privacy * protection available depends on the value that you specify for Contact * Type. For the privacy protection settings for your TLD, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide

  • For .es domains, the value of * ContactType must be PERSON for all three contacts.

    *
*/ inline ContactDetail& WithContactType(const ContactType& value) { SetContactType(value); return *this;} /** *

Indicates whether the contact is a person, company, association, or public * organization. Note the following:

  • If you specify a value other * than PERSON, you must also specify a value for * OrganizationName.

  • For some TLDs, the privacy * protection available depends on the value that you specify for Contact * Type. For the privacy protection settings for your TLD, see Domains * that You Can Register with Amazon Route 53 in the Amazon Route 53 * Developer Guide

  • For .es domains, the value of * ContactType must be PERSON for all three contacts.

    *
*/ inline ContactDetail& WithContactType(ContactType&& value) { SetContactType(std::move(value)); return *this;} /** *

Name of the organization for contact types other than * PERSON.

*/ inline const Aws::String& GetOrganizationName() const{ return m_organizationName; } /** *

Name of the organization for contact types other than * PERSON.

*/ inline bool OrganizationNameHasBeenSet() const { return m_organizationNameHasBeenSet; } /** *

Name of the organization for contact types other than * PERSON.

*/ inline void SetOrganizationName(const Aws::String& value) { m_organizationNameHasBeenSet = true; m_organizationName = value; } /** *

Name of the organization for contact types other than * PERSON.

*/ inline void SetOrganizationName(Aws::String&& value) { m_organizationNameHasBeenSet = true; m_organizationName = std::move(value); } /** *

Name of the organization for contact types other than * PERSON.

*/ inline void SetOrganizationName(const char* value) { m_organizationNameHasBeenSet = true; m_organizationName.assign(value); } /** *

Name of the organization for contact types other than * PERSON.

*/ inline ContactDetail& WithOrganizationName(const Aws::String& value) { SetOrganizationName(value); return *this;} /** *

Name of the organization for contact types other than * PERSON.

*/ inline ContactDetail& WithOrganizationName(Aws::String&& value) { SetOrganizationName(std::move(value)); return *this;} /** *

Name of the organization for contact types other than * PERSON.

*/ inline ContactDetail& WithOrganizationName(const char* value) { SetOrganizationName(value); return *this;} /** *

First line of the contact's address.

*/ inline const Aws::String& GetAddressLine1() const{ return m_addressLine1; } /** *

First line of the contact's address.

*/ inline bool AddressLine1HasBeenSet() const { return m_addressLine1HasBeenSet; } /** *

First line of the contact's address.

*/ inline void SetAddressLine1(const Aws::String& value) { m_addressLine1HasBeenSet = true; m_addressLine1 = value; } /** *

First line of the contact's address.

*/ inline void SetAddressLine1(Aws::String&& value) { m_addressLine1HasBeenSet = true; m_addressLine1 = std::move(value); } /** *

First line of the contact's address.

*/ inline void SetAddressLine1(const char* value) { m_addressLine1HasBeenSet = true; m_addressLine1.assign(value); } /** *

First line of the contact's address.

*/ inline ContactDetail& WithAddressLine1(const Aws::String& value) { SetAddressLine1(value); return *this;} /** *

First line of the contact's address.

*/ inline ContactDetail& WithAddressLine1(Aws::String&& value) { SetAddressLine1(std::move(value)); return *this;} /** *

First line of the contact's address.

*/ inline ContactDetail& WithAddressLine1(const char* value) { SetAddressLine1(value); return *this;} /** *

Second line of contact's address, if any.

*/ inline const Aws::String& GetAddressLine2() const{ return m_addressLine2; } /** *

Second line of contact's address, if any.

*/ inline bool AddressLine2HasBeenSet() const { return m_addressLine2HasBeenSet; } /** *

Second line of contact's address, if any.

*/ inline void SetAddressLine2(const Aws::String& value) { m_addressLine2HasBeenSet = true; m_addressLine2 = value; } /** *

Second line of contact's address, if any.

*/ inline void SetAddressLine2(Aws::String&& value) { m_addressLine2HasBeenSet = true; m_addressLine2 = std::move(value); } /** *

Second line of contact's address, if any.

*/ inline void SetAddressLine2(const char* value) { m_addressLine2HasBeenSet = true; m_addressLine2.assign(value); } /** *

Second line of contact's address, if any.

*/ inline ContactDetail& WithAddressLine2(const Aws::String& value) { SetAddressLine2(value); return *this;} /** *

Second line of contact's address, if any.

*/ inline ContactDetail& WithAddressLine2(Aws::String&& value) { SetAddressLine2(std::move(value)); return *this;} /** *

Second line of contact's address, if any.

*/ inline ContactDetail& WithAddressLine2(const char* value) { SetAddressLine2(value); return *this;} /** *

The city of the contact's address.

*/ inline const Aws::String& GetCity() const{ return m_city; } /** *

The city of the contact's address.

*/ inline bool CityHasBeenSet() const { return m_cityHasBeenSet; } /** *

The city of the contact's address.

*/ inline void SetCity(const Aws::String& value) { m_cityHasBeenSet = true; m_city = value; } /** *

The city of the contact's address.

*/ inline void SetCity(Aws::String&& value) { m_cityHasBeenSet = true; m_city = std::move(value); } /** *

The city of the contact's address.

*/ inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); } /** *

The city of the contact's address.

*/ inline ContactDetail& WithCity(const Aws::String& value) { SetCity(value); return *this;} /** *

The city of the contact's address.

*/ inline ContactDetail& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;} /** *

The city of the contact's address.

*/ inline ContactDetail& WithCity(const char* value) { SetCity(value); return *this;} /** *

The state or province of the contact's city.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

The state or province of the contact's city.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state or province of the contact's city.

*/ inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state or province of the contact's city.

*/ inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state or province of the contact's city.

*/ inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); } /** *

The state or province of the contact's city.

*/ inline ContactDetail& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

The state or province of the contact's city.

*/ inline ContactDetail& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

The state or province of the contact's city.

*/ inline ContactDetail& WithState(const char* value) { SetState(value); return *this;} /** *

Code for the country of the contact's address.

*/ inline const CountryCode& GetCountryCode() const{ return m_countryCode; } /** *

Code for the country of the contact's address.

*/ inline bool CountryCodeHasBeenSet() const { return m_countryCodeHasBeenSet; } /** *

Code for the country of the contact's address.

*/ inline void SetCountryCode(const CountryCode& value) { m_countryCodeHasBeenSet = true; m_countryCode = value; } /** *

Code for the country of the contact's address.

*/ inline void SetCountryCode(CountryCode&& value) { m_countryCodeHasBeenSet = true; m_countryCode = std::move(value); } /** *

Code for the country of the contact's address.

*/ inline ContactDetail& WithCountryCode(const CountryCode& value) { SetCountryCode(value); return *this;} /** *

Code for the country of the contact's address.

*/ inline ContactDetail& WithCountryCode(CountryCode&& value) { SetCountryCode(std::move(value)); return *this;} /** *

The zip or postal code of the contact's address.

*/ inline const Aws::String& GetZipCode() const{ return m_zipCode; } /** *

The zip or postal code of the contact's address.

*/ inline bool ZipCodeHasBeenSet() const { return m_zipCodeHasBeenSet; } /** *

The zip or postal code of the contact's address.

*/ inline void SetZipCode(const Aws::String& value) { m_zipCodeHasBeenSet = true; m_zipCode = value; } /** *

The zip or postal code of the contact's address.

*/ inline void SetZipCode(Aws::String&& value) { m_zipCodeHasBeenSet = true; m_zipCode = std::move(value); } /** *

The zip or postal code of the contact's address.

*/ inline void SetZipCode(const char* value) { m_zipCodeHasBeenSet = true; m_zipCode.assign(value); } /** *

The zip or postal code of the contact's address.

*/ inline ContactDetail& WithZipCode(const Aws::String& value) { SetZipCode(value); return *this;} /** *

The zip or postal code of the contact's address.

*/ inline ContactDetail& WithZipCode(Aws::String&& value) { SetZipCode(std::move(value)); return *this;} /** *

The zip or postal code of the contact's address.

*/ inline ContactDetail& WithZipCode(const char* value) { SetZipCode(value); return *this;} /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline const Aws::String& GetPhoneNumber() const{ return m_phoneNumber; } /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; } /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline void SetPhoneNumber(const Aws::String& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = value; } /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline void SetPhoneNumber(Aws::String&& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = std::move(value); } /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline void SetPhoneNumber(const char* value) { m_phoneNumberHasBeenSet = true; m_phoneNumber.assign(value); } /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline ContactDetail& WithPhoneNumber(const Aws::String& value) { SetPhoneNumber(value); return *this;} /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline ContactDetail& WithPhoneNumber(Aws::String&& value) { SetPhoneNumber(std::move(value)); return *this;} /** *

The phone number of the contact.

Constraints: Phone number must be * specified in the format "+[country dialing code].[number including any area * code>]". For example, a US phone number might appear as * "+1.1234567890".

*/ inline ContactDetail& WithPhoneNumber(const char* value) { SetPhoneNumber(value); return *this;} /** *

Email address of the contact.

*/ inline const Aws::String& GetEmail() const{ return m_email; } /** *

Email address of the contact.

*/ inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } /** *

Email address of the contact.

*/ inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } /** *

Email address of the contact.

*/ inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } /** *

Email address of the contact.

*/ inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } /** *

Email address of the contact.

*/ inline ContactDetail& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} /** *

Email address of the contact.

*/ inline ContactDetail& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} /** *

Email address of the contact.

*/ inline ContactDetail& WithEmail(const char* value) { SetEmail(value); return *this;} /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline const Aws::String& GetFax() const{ return m_fax; } /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline bool FaxHasBeenSet() const { return m_faxHasBeenSet; } /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline void SetFax(const Aws::String& value) { m_faxHasBeenSet = true; m_fax = value; } /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline void SetFax(Aws::String&& value) { m_faxHasBeenSet = true; m_fax = std::move(value); } /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline void SetFax(const char* value) { m_faxHasBeenSet = true; m_fax.assign(value); } /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline ContactDetail& WithFax(const Aws::String& value) { SetFax(value); return *this;} /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline ContactDetail& WithFax(Aws::String&& value) { SetFax(std::move(value)); return *this;} /** *

Fax number of the contact.

Constraints: Phone number must be specified * in the format "+[country dialing code].[number including any area code]". For * example, a US phone number might appear as "+1.1234567890".

*/ inline ContactDetail& WithFax(const char* value) { SetFax(value); return *this;} /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline const Aws::Vector& GetExtraParams() const{ return m_extraParams; } /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline bool ExtraParamsHasBeenSet() const { return m_extraParamsHasBeenSet; } /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline void SetExtraParams(const Aws::Vector& value) { m_extraParamsHasBeenSet = true; m_extraParams = value; } /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline void SetExtraParams(Aws::Vector&& value) { m_extraParamsHasBeenSet = true; m_extraParams = std::move(value); } /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline ContactDetail& WithExtraParams(const Aws::Vector& value) { SetExtraParams(value); return *this;} /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline ContactDetail& WithExtraParams(Aws::Vector&& value) { SetExtraParams(std::move(value)); return *this;} /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline ContactDetail& AddExtraParams(const ExtraParam& value) { m_extraParamsHasBeenSet = true; m_extraParams.push_back(value); return *this; } /** *

A list of name-value pairs for parameters required by certain top-level * domains.

*/ inline ContactDetail& AddExtraParams(ExtraParam&& value) { m_extraParamsHasBeenSet = true; m_extraParams.push_back(std::move(value)); return *this; } private: Aws::String m_firstName; bool m_firstNameHasBeenSet = false; Aws::String m_lastName; bool m_lastNameHasBeenSet = false; ContactType m_contactType; bool m_contactTypeHasBeenSet = false; Aws::String m_organizationName; bool m_organizationNameHasBeenSet = false; Aws::String m_addressLine1; bool m_addressLine1HasBeenSet = false; Aws::String m_addressLine2; bool m_addressLine2HasBeenSet = false; Aws::String m_city; bool m_cityHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; CountryCode m_countryCode; bool m_countryCodeHasBeenSet = false; Aws::String m_zipCode; bool m_zipCodeHasBeenSet = false; Aws::String m_phoneNumber; bool m_phoneNumberHasBeenSet = false; Aws::String m_email; bool m_emailHasBeenSet = false; Aws::String m_fax; bool m_faxHasBeenSet = false; Aws::Vector m_extraParams; bool m_extraParamsHasBeenSet = false; }; } // namespace Model } // namespace Route53Domains } // namespace Aws