/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CustomerProfiles { namespace Model { /** *

The standard profile of a customer.

See Also:

AWS * API Reference

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

The unique identifier of a customer profile.

*/ inline const Aws::String& GetProfileId() const{ return m_profileId; } /** *

The unique identifier of a customer profile.

*/ inline bool ProfileIdHasBeenSet() const { return m_profileIdHasBeenSet; } /** *

The unique identifier of a customer profile.

*/ inline void SetProfileId(const Aws::String& value) { m_profileIdHasBeenSet = true; m_profileId = value; } /** *

The unique identifier of a customer profile.

*/ inline void SetProfileId(Aws::String&& value) { m_profileIdHasBeenSet = true; m_profileId = std::move(value); } /** *

The unique identifier of a customer profile.

*/ inline void SetProfileId(const char* value) { m_profileIdHasBeenSet = true; m_profileId.assign(value); } /** *

The unique identifier of a customer profile.

*/ inline Profile& WithProfileId(const Aws::String& value) { SetProfileId(value); return *this;} /** *

The unique identifier of a customer profile.

*/ inline Profile& WithProfileId(Aws::String&& value) { SetProfileId(std::move(value)); return *this;} /** *

The unique identifier of a customer profile.

*/ inline Profile& WithProfileId(const char* value) { SetProfileId(value); return *this;} /** *

A unique account number that you have given to the customer.

*/ inline const Aws::String& GetAccountNumber() const{ return m_accountNumber; } /** *

A unique account number that you have given to the customer.

*/ inline bool AccountNumberHasBeenSet() const { return m_accountNumberHasBeenSet; } /** *

A unique account number that you have given to the customer.

*/ inline void SetAccountNumber(const Aws::String& value) { m_accountNumberHasBeenSet = true; m_accountNumber = value; } /** *

A unique account number that you have given to the customer.

*/ inline void SetAccountNumber(Aws::String&& value) { m_accountNumberHasBeenSet = true; m_accountNumber = std::move(value); } /** *

A unique account number that you have given to the customer.

*/ inline void SetAccountNumber(const char* value) { m_accountNumberHasBeenSet = true; m_accountNumber.assign(value); } /** *

A unique account number that you have given to the customer.

*/ inline Profile& WithAccountNumber(const Aws::String& value) { SetAccountNumber(value); return *this;} /** *

A unique account number that you have given to the customer.

*/ inline Profile& WithAccountNumber(Aws::String&& value) { SetAccountNumber(std::move(value)); return *this;} /** *

A unique account number that you have given to the customer.

*/ inline Profile& WithAccountNumber(const char* value) { SetAccountNumber(value); return *this;} /** *

Any additional information relevant to the customer’s profile.

*/ inline const Aws::String& GetAdditionalInformation() const{ return m_additionalInformation; } /** *

Any additional information relevant to the customer’s profile.

*/ inline bool AdditionalInformationHasBeenSet() const { return m_additionalInformationHasBeenSet; } /** *

Any additional information relevant to the customer’s profile.

*/ inline void SetAdditionalInformation(const Aws::String& value) { m_additionalInformationHasBeenSet = true; m_additionalInformation = value; } /** *

Any additional information relevant to the customer’s profile.

*/ inline void SetAdditionalInformation(Aws::String&& value) { m_additionalInformationHasBeenSet = true; m_additionalInformation = std::move(value); } /** *

Any additional information relevant to the customer’s profile.

*/ inline void SetAdditionalInformation(const char* value) { m_additionalInformationHasBeenSet = true; m_additionalInformation.assign(value); } /** *

Any additional information relevant to the customer’s profile.

*/ inline Profile& WithAdditionalInformation(const Aws::String& value) { SetAdditionalInformation(value); return *this;} /** *

Any additional information relevant to the customer’s profile.

*/ inline Profile& WithAdditionalInformation(Aws::String&& value) { SetAdditionalInformation(std::move(value)); return *this;} /** *

Any additional information relevant to the customer’s profile.

*/ inline Profile& WithAdditionalInformation(const char* value) { SetAdditionalInformation(value); return *this;} /** *

The type of profile used to describe the customer.

*/ inline const PartyType& GetPartyType() const{ return m_partyType; } /** *

The type of profile used to describe the customer.

*/ inline bool PartyTypeHasBeenSet() const { return m_partyTypeHasBeenSet; } /** *

The type of profile used to describe the customer.

*/ inline void SetPartyType(const PartyType& value) { m_partyTypeHasBeenSet = true; m_partyType = value; } /** *

The type of profile used to describe the customer.

*/ inline void SetPartyType(PartyType&& value) { m_partyTypeHasBeenSet = true; m_partyType = std::move(value); } /** *

The type of profile used to describe the customer.

*/ inline Profile& WithPartyType(const PartyType& value) { SetPartyType(value); return *this;} /** *

The type of profile used to describe the customer.

*/ inline Profile& WithPartyType(PartyType&& value) { SetPartyType(std::move(value)); return *this;} /** *

The name of the customer’s business.

*/ inline const Aws::String& GetBusinessName() const{ return m_businessName; } /** *

The name of the customer’s business.

*/ inline bool BusinessNameHasBeenSet() const { return m_businessNameHasBeenSet; } /** *

The name of the customer’s business.

*/ inline void SetBusinessName(const Aws::String& value) { m_businessNameHasBeenSet = true; m_businessName = value; } /** *

The name of the customer’s business.

*/ inline void SetBusinessName(Aws::String&& value) { m_businessNameHasBeenSet = true; m_businessName = std::move(value); } /** *

The name of the customer’s business.

*/ inline void SetBusinessName(const char* value) { m_businessNameHasBeenSet = true; m_businessName.assign(value); } /** *

The name of the customer’s business.

*/ inline Profile& WithBusinessName(const Aws::String& value) { SetBusinessName(value); return *this;} /** *

The name of the customer’s business.

*/ inline Profile& WithBusinessName(Aws::String&& value) { SetBusinessName(std::move(value)); return *this;} /** *

The name of the customer’s business.

*/ inline Profile& WithBusinessName(const char* value) { SetBusinessName(value); return *this;} /** *

The customer’s first name.

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

The customer’s first name.

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

The customer’s first name.

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

The customer’s first name.

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

The customer’s first name.

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

The customer’s first name.

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

The customer’s first name.

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

The customer’s first name.

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

The customer’s middle name.

*/ inline const Aws::String& GetMiddleName() const{ return m_middleName; } /** *

The customer’s middle name.

*/ inline bool MiddleNameHasBeenSet() const { return m_middleNameHasBeenSet; } /** *

The customer’s middle name.

*/ inline void SetMiddleName(const Aws::String& value) { m_middleNameHasBeenSet = true; m_middleName = value; } /** *

The customer’s middle name.

*/ inline void SetMiddleName(Aws::String&& value) { m_middleNameHasBeenSet = true; m_middleName = std::move(value); } /** *

The customer’s middle name.

*/ inline void SetMiddleName(const char* value) { m_middleNameHasBeenSet = true; m_middleName.assign(value); } /** *

The customer’s middle name.

*/ inline Profile& WithMiddleName(const Aws::String& value) { SetMiddleName(value); return *this;} /** *

The customer’s middle name.

*/ inline Profile& WithMiddleName(Aws::String&& value) { SetMiddleName(std::move(value)); return *this;} /** *

The customer’s middle name.

*/ inline Profile& WithMiddleName(const char* value) { SetMiddleName(value); return *this;} /** *

The customer’s last name.

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

The customer’s last name.

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

The customer’s last name.

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

The customer’s last name.

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

The customer’s last name.

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

The customer’s last name.

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

The customer’s last name.

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

The customer’s last name.

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

The customer’s birth date.

*/ inline const Aws::String& GetBirthDate() const{ return m_birthDate; } /** *

The customer’s birth date.

*/ inline bool BirthDateHasBeenSet() const { return m_birthDateHasBeenSet; } /** *

The customer’s birth date.

*/ inline void SetBirthDate(const Aws::String& value) { m_birthDateHasBeenSet = true; m_birthDate = value; } /** *

The customer’s birth date.

*/ inline void SetBirthDate(Aws::String&& value) { m_birthDateHasBeenSet = true; m_birthDate = std::move(value); } /** *

The customer’s birth date.

*/ inline void SetBirthDate(const char* value) { m_birthDateHasBeenSet = true; m_birthDate.assign(value); } /** *

The customer’s birth date.

*/ inline Profile& WithBirthDate(const Aws::String& value) { SetBirthDate(value); return *this;} /** *

The customer’s birth date.

*/ inline Profile& WithBirthDate(Aws::String&& value) { SetBirthDate(std::move(value)); return *this;} /** *

The customer’s birth date.

*/ inline Profile& WithBirthDate(const char* value) { SetBirthDate(value); return *this;} /** *

The gender with which the customer identifies.

*/ inline const Gender& GetGender() const{ return m_gender; } /** *

The gender with which the customer identifies.

*/ inline bool GenderHasBeenSet() const { return m_genderHasBeenSet; } /** *

The gender with which the customer identifies.

*/ inline void SetGender(const Gender& value) { m_genderHasBeenSet = true; m_gender = value; } /** *

The gender with which the customer identifies.

*/ inline void SetGender(Gender&& value) { m_genderHasBeenSet = true; m_gender = std::move(value); } /** *

The gender with which the customer identifies.

*/ inline Profile& WithGender(const Gender& value) { SetGender(value); return *this;} /** *

The gender with which the customer identifies.

*/ inline Profile& WithGender(Gender&& value) { SetGender(std::move(value)); return *this;} /** *

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer's phone number, which has not been specified as a mobile, home, * or business number.

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

The customer’s mobile phone number.

*/ inline const Aws::String& GetMobilePhoneNumber() const{ return m_mobilePhoneNumber; } /** *

The customer’s mobile phone number.

*/ inline bool MobilePhoneNumberHasBeenSet() const { return m_mobilePhoneNumberHasBeenSet; } /** *

The customer’s mobile phone number.

*/ inline void SetMobilePhoneNumber(const Aws::String& value) { m_mobilePhoneNumberHasBeenSet = true; m_mobilePhoneNumber = value; } /** *

The customer’s mobile phone number.

*/ inline void SetMobilePhoneNumber(Aws::String&& value) { m_mobilePhoneNumberHasBeenSet = true; m_mobilePhoneNumber = std::move(value); } /** *

The customer’s mobile phone number.

*/ inline void SetMobilePhoneNumber(const char* value) { m_mobilePhoneNumberHasBeenSet = true; m_mobilePhoneNumber.assign(value); } /** *

The customer’s mobile phone number.

*/ inline Profile& WithMobilePhoneNumber(const Aws::String& value) { SetMobilePhoneNumber(value); return *this;} /** *

The customer’s mobile phone number.

*/ inline Profile& WithMobilePhoneNumber(Aws::String&& value) { SetMobilePhoneNumber(std::move(value)); return *this;} /** *

The customer’s mobile phone number.

*/ inline Profile& WithMobilePhoneNumber(const char* value) { SetMobilePhoneNumber(value); return *this;} /** *

The customer’s home phone number.

*/ inline const Aws::String& GetHomePhoneNumber() const{ return m_homePhoneNumber; } /** *

The customer’s home phone number.

*/ inline bool HomePhoneNumberHasBeenSet() const { return m_homePhoneNumberHasBeenSet; } /** *

The customer’s home phone number.

*/ inline void SetHomePhoneNumber(const Aws::String& value) { m_homePhoneNumberHasBeenSet = true; m_homePhoneNumber = value; } /** *

The customer’s home phone number.

*/ inline void SetHomePhoneNumber(Aws::String&& value) { m_homePhoneNumberHasBeenSet = true; m_homePhoneNumber = std::move(value); } /** *

The customer’s home phone number.

*/ inline void SetHomePhoneNumber(const char* value) { m_homePhoneNumberHasBeenSet = true; m_homePhoneNumber.assign(value); } /** *

The customer’s home phone number.

*/ inline Profile& WithHomePhoneNumber(const Aws::String& value) { SetHomePhoneNumber(value); return *this;} /** *

The customer’s home phone number.

*/ inline Profile& WithHomePhoneNumber(Aws::String&& value) { SetHomePhoneNumber(std::move(value)); return *this;} /** *

The customer’s home phone number.

*/ inline Profile& WithHomePhoneNumber(const char* value) { SetHomePhoneNumber(value); return *this;} /** *

The customer’s home phone number.

*/ inline const Aws::String& GetBusinessPhoneNumber() const{ return m_businessPhoneNumber; } /** *

The customer’s home phone number.

*/ inline bool BusinessPhoneNumberHasBeenSet() const { return m_businessPhoneNumberHasBeenSet; } /** *

The customer’s home phone number.

*/ inline void SetBusinessPhoneNumber(const Aws::String& value) { m_businessPhoneNumberHasBeenSet = true; m_businessPhoneNumber = value; } /** *

The customer’s home phone number.

*/ inline void SetBusinessPhoneNumber(Aws::String&& value) { m_businessPhoneNumberHasBeenSet = true; m_businessPhoneNumber = std::move(value); } /** *

The customer’s home phone number.

*/ inline void SetBusinessPhoneNumber(const char* value) { m_businessPhoneNumberHasBeenSet = true; m_businessPhoneNumber.assign(value); } /** *

The customer’s home phone number.

*/ inline Profile& WithBusinessPhoneNumber(const Aws::String& value) { SetBusinessPhoneNumber(value); return *this;} /** *

The customer’s home phone number.

*/ inline Profile& WithBusinessPhoneNumber(Aws::String&& value) { SetBusinessPhoneNumber(std::move(value)); return *this;} /** *

The customer’s home phone number.

*/ inline Profile& WithBusinessPhoneNumber(const char* value) { SetBusinessPhoneNumber(value); return *this;} /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; } /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; } /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; } /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); } /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); } /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline Profile& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;} /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline Profile& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;} /** *

The customer’s email address, which has not been specified as a personal or * business address.

*/ inline Profile& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;} /** *

The customer’s personal email address.

*/ inline const Aws::String& GetPersonalEmailAddress() const{ return m_personalEmailAddress; } /** *

The customer’s personal email address.

*/ inline bool PersonalEmailAddressHasBeenSet() const { return m_personalEmailAddressHasBeenSet; } /** *

The customer’s personal email address.

*/ inline void SetPersonalEmailAddress(const Aws::String& value) { m_personalEmailAddressHasBeenSet = true; m_personalEmailAddress = value; } /** *

The customer’s personal email address.

*/ inline void SetPersonalEmailAddress(Aws::String&& value) { m_personalEmailAddressHasBeenSet = true; m_personalEmailAddress = std::move(value); } /** *

The customer’s personal email address.

*/ inline void SetPersonalEmailAddress(const char* value) { m_personalEmailAddressHasBeenSet = true; m_personalEmailAddress.assign(value); } /** *

The customer’s personal email address.

*/ inline Profile& WithPersonalEmailAddress(const Aws::String& value) { SetPersonalEmailAddress(value); return *this;} /** *

The customer’s personal email address.

*/ inline Profile& WithPersonalEmailAddress(Aws::String&& value) { SetPersonalEmailAddress(std::move(value)); return *this;} /** *

The customer’s personal email address.

*/ inline Profile& WithPersonalEmailAddress(const char* value) { SetPersonalEmailAddress(value); return *this;} /** *

The customer’s business email address.

*/ inline const Aws::String& GetBusinessEmailAddress() const{ return m_businessEmailAddress; } /** *

The customer’s business email address.

*/ inline bool BusinessEmailAddressHasBeenSet() const { return m_businessEmailAddressHasBeenSet; } /** *

The customer’s business email address.

*/ inline void SetBusinessEmailAddress(const Aws::String& value) { m_businessEmailAddressHasBeenSet = true; m_businessEmailAddress = value; } /** *

The customer’s business email address.

*/ inline void SetBusinessEmailAddress(Aws::String&& value) { m_businessEmailAddressHasBeenSet = true; m_businessEmailAddress = std::move(value); } /** *

The customer’s business email address.

*/ inline void SetBusinessEmailAddress(const char* value) { m_businessEmailAddressHasBeenSet = true; m_businessEmailAddress.assign(value); } /** *

The customer’s business email address.

*/ inline Profile& WithBusinessEmailAddress(const Aws::String& value) { SetBusinessEmailAddress(value); return *this;} /** *

The customer’s business email address.

*/ inline Profile& WithBusinessEmailAddress(Aws::String&& value) { SetBusinessEmailAddress(std::move(value)); return *this;} /** *

The customer’s business email address.

*/ inline Profile& WithBusinessEmailAddress(const char* value) { SetBusinessEmailAddress(value); return *this;} /** *

A generic address associated with the customer that is not mailing, shipping, * or billing.

*/ inline const Address& GetAddress() const{ return m_address; } /** *

A generic address associated with the customer that is not mailing, shipping, * or billing.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

A generic address associated with the customer that is not mailing, shipping, * or billing.

*/ inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } /** *

A generic address associated with the customer that is not mailing, shipping, * or billing.

*/ inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

A generic address associated with the customer that is not mailing, shipping, * or billing.

*/ inline Profile& WithAddress(const Address& value) { SetAddress(value); return *this;} /** *

A generic address associated with the customer that is not mailing, shipping, * or billing.

*/ inline Profile& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} /** *

The customer’s shipping address.

*/ inline const Address& GetShippingAddress() const{ return m_shippingAddress; } /** *

The customer’s shipping address.

*/ inline bool ShippingAddressHasBeenSet() const { return m_shippingAddressHasBeenSet; } /** *

The customer’s shipping address.

*/ inline void SetShippingAddress(const Address& value) { m_shippingAddressHasBeenSet = true; m_shippingAddress = value; } /** *

The customer’s shipping address.

*/ inline void SetShippingAddress(Address&& value) { m_shippingAddressHasBeenSet = true; m_shippingAddress = std::move(value); } /** *

The customer’s shipping address.

*/ inline Profile& WithShippingAddress(const Address& value) { SetShippingAddress(value); return *this;} /** *

The customer’s shipping address.

*/ inline Profile& WithShippingAddress(Address&& value) { SetShippingAddress(std::move(value)); return *this;} /** *

The customer’s mailing address.

*/ inline const Address& GetMailingAddress() const{ return m_mailingAddress; } /** *

The customer’s mailing address.

*/ inline bool MailingAddressHasBeenSet() const { return m_mailingAddressHasBeenSet; } /** *

The customer’s mailing address.

*/ inline void SetMailingAddress(const Address& value) { m_mailingAddressHasBeenSet = true; m_mailingAddress = value; } /** *

The customer’s mailing address.

*/ inline void SetMailingAddress(Address&& value) { m_mailingAddressHasBeenSet = true; m_mailingAddress = std::move(value); } /** *

The customer’s mailing address.

*/ inline Profile& WithMailingAddress(const Address& value) { SetMailingAddress(value); return *this;} /** *

The customer’s mailing address.

*/ inline Profile& WithMailingAddress(Address&& value) { SetMailingAddress(std::move(value)); return *this;} /** *

The customer’s billing address.

*/ inline const Address& GetBillingAddress() const{ return m_billingAddress; } /** *

The customer’s billing address.

*/ inline bool BillingAddressHasBeenSet() const { return m_billingAddressHasBeenSet; } /** *

The customer’s billing address.

*/ inline void SetBillingAddress(const Address& value) { m_billingAddressHasBeenSet = true; m_billingAddress = value; } /** *

The customer’s billing address.

*/ inline void SetBillingAddress(Address&& value) { m_billingAddressHasBeenSet = true; m_billingAddress = std::move(value); } /** *

The customer’s billing address.

*/ inline Profile& WithBillingAddress(const Address& value) { SetBillingAddress(value); return *this;} /** *

The customer’s billing address.

*/ inline Profile& WithBillingAddress(Address&& value) { SetBillingAddress(std::move(value)); return *this;} /** *

A key value pair of attributes of a customer profile.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

A key value pair of attributes of a customer profile.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

A key value pair of attributes of a customer profile.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

A key value pair of attributes of a customer profile.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A key value pair of attributes of a customer profile.

*/ inline Profile& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline const Aws::Vector& GetFoundByItems() const{ return m_foundByItems; } /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline bool FoundByItemsHasBeenSet() const { return m_foundByItemsHasBeenSet; } /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline void SetFoundByItems(const Aws::Vector& value) { m_foundByItemsHasBeenSet = true; m_foundByItems = value; } /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline void SetFoundByItems(Aws::Vector&& value) { m_foundByItemsHasBeenSet = true; m_foundByItems = std::move(value); } /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline Profile& WithFoundByItems(const Aws::Vector& value) { SetFoundByItems(value); return *this;} /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline Profile& WithFoundByItems(Aws::Vector&& value) { SetFoundByItems(std::move(value)); return *this;} /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline Profile& AddFoundByItems(const FoundByKeyValue& value) { m_foundByItemsHasBeenSet = true; m_foundByItems.push_back(value); return *this; } /** *

A list of items used to find a profile returned in a SearchProfiles * response. An item is a key-value(s) pair that matches an attribute in the * profile.

If the optional AdditionalSearchKeys parameter was * included in the SearchProfiles * request, the FoundByItems list should be interpreted based on the * LogicalOperator used in the request:

  • * AND - The profile included in the response matched all of the * search keys specified in the request. The FoundByItems will include * all of the key-value(s) pairs that were specified in the request (as this is a * requirement of AND search logic).

  • * OR - The profile included in the response matched at least one of * the search keys specified in the request. The FoundByItems will * include each of the key-value(s) pairs that the profile was found by.

  • *

The OR relationship is the default behavior if the * LogicalOperator parameter is not included in the SearchProfiles * request.

*/ inline Profile& AddFoundByItems(FoundByKeyValue&& value) { m_foundByItemsHasBeenSet = true; m_foundByItems.push_back(std::move(value)); return *this; } /** *

An alternative to PartyType which accepts any string as input.

*/ inline const Aws::String& GetPartyTypeString() const{ return m_partyTypeString; } /** *

An alternative to PartyType which accepts any string as input.

*/ inline bool PartyTypeStringHasBeenSet() const { return m_partyTypeStringHasBeenSet; } /** *

An alternative to PartyType which accepts any string as input.

*/ inline void SetPartyTypeString(const Aws::String& value) { m_partyTypeStringHasBeenSet = true; m_partyTypeString = value; } /** *

An alternative to PartyType which accepts any string as input.

*/ inline void SetPartyTypeString(Aws::String&& value) { m_partyTypeStringHasBeenSet = true; m_partyTypeString = std::move(value); } /** *

An alternative to PartyType which accepts any string as input.

*/ inline void SetPartyTypeString(const char* value) { m_partyTypeStringHasBeenSet = true; m_partyTypeString.assign(value); } /** *

An alternative to PartyType which accepts any string as input.

*/ inline Profile& WithPartyTypeString(const Aws::String& value) { SetPartyTypeString(value); return *this;} /** *

An alternative to PartyType which accepts any string as input.

*/ inline Profile& WithPartyTypeString(Aws::String&& value) { SetPartyTypeString(std::move(value)); return *this;} /** *

An alternative to PartyType which accepts any string as input.

*/ inline Profile& WithPartyTypeString(const char* value) { SetPartyTypeString(value); return *this;} /** *

An alternative to Gender which accepts any string as input.

*/ inline const Aws::String& GetGenderString() const{ return m_genderString; } /** *

An alternative to Gender which accepts any string as input.

*/ inline bool GenderStringHasBeenSet() const { return m_genderStringHasBeenSet; } /** *

An alternative to Gender which accepts any string as input.

*/ inline void SetGenderString(const Aws::String& value) { m_genderStringHasBeenSet = true; m_genderString = value; } /** *

An alternative to Gender which accepts any string as input.

*/ inline void SetGenderString(Aws::String&& value) { m_genderStringHasBeenSet = true; m_genderString = std::move(value); } /** *

An alternative to Gender which accepts any string as input.

*/ inline void SetGenderString(const char* value) { m_genderStringHasBeenSet = true; m_genderString.assign(value); } /** *

An alternative to Gender which accepts any string as input.

*/ inline Profile& WithGenderString(const Aws::String& value) { SetGenderString(value); return *this;} /** *

An alternative to Gender which accepts any string as input.

*/ inline Profile& WithGenderString(Aws::String&& value) { SetGenderString(std::move(value)); return *this;} /** *

An alternative to Gender which accepts any string as input.

*/ inline Profile& WithGenderString(const char* value) { SetGenderString(value); return *this;} private: Aws::String m_profileId; bool m_profileIdHasBeenSet = false; Aws::String m_accountNumber; bool m_accountNumberHasBeenSet = false; Aws::String m_additionalInformation; bool m_additionalInformationHasBeenSet = false; PartyType m_partyType; bool m_partyTypeHasBeenSet = false; Aws::String m_businessName; bool m_businessNameHasBeenSet = false; Aws::String m_firstName; bool m_firstNameHasBeenSet = false; Aws::String m_middleName; bool m_middleNameHasBeenSet = false; Aws::String m_lastName; bool m_lastNameHasBeenSet = false; Aws::String m_birthDate; bool m_birthDateHasBeenSet = false; Gender m_gender; bool m_genderHasBeenSet = false; Aws::String m_phoneNumber; bool m_phoneNumberHasBeenSet = false; Aws::String m_mobilePhoneNumber; bool m_mobilePhoneNumberHasBeenSet = false; Aws::String m_homePhoneNumber; bool m_homePhoneNumberHasBeenSet = false; Aws::String m_businessPhoneNumber; bool m_businessPhoneNumberHasBeenSet = false; Aws::String m_emailAddress; bool m_emailAddressHasBeenSet = false; Aws::String m_personalEmailAddress; bool m_personalEmailAddressHasBeenSet = false; Aws::String m_businessEmailAddress; bool m_businessEmailAddressHasBeenSet = false; Address m_address; bool m_addressHasBeenSet = false; Address m_shippingAddress; bool m_shippingAddressHasBeenSet = false; Address m_mailingAddress; bool m_mailingAddressHasBeenSet = false; Address m_billingAddress; bool m_billingAddressHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; Aws::Vector m_foundByItems; bool m_foundByItemsHasBeenSet = false; Aws::String m_partyTypeString; bool m_partyTypeStringHasBeenSet = false; Aws::String m_genderString; bool m_genderStringHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws