7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/customer-profiles/CustomerProfiles_EXPORTS.h>
11#include <aws/customer-profiles/model/Address.h>
12#include <aws/customer-profiles/model/EngagementPreferences.h>
13#include <aws/customer-profiles/model/FoundByKeyValue.h>
14#include <aws/customer-profiles/model/Gender.h>
15#include <aws/customer-profiles/model/PartyType.h>
16#include <aws/customer-profiles/model/ProfileType.h>
27namespace CustomerProfiles {
37 AWS_CUSTOMERPROFILES_API
Profile() =
default;
48 template <
typename ProfileIdT = Aws::String>
50 m_profileIdHasBeenSet =
true;
51 m_profileId = std::forward<ProfileIdT>(value);
53 template <
typename ProfileIdT = Aws::String>
66 template <
typename AccountNumberT = Aws::String>
68 m_accountNumberHasBeenSet =
true;
69 m_accountNumber = std::forward<AccountNumberT>(value);
71 template <
typename AccountNumberT = Aws::String>
84 template <
typename AdditionalInformationT = Aws::String>
86 m_additionalInformationHasBeenSet =
true;
87 m_additionalInformation = std::forward<AdditionalInformationT>(value);
89 template <
typename AdditionalInformationT = Aws::String>
103 m_partyTypeHasBeenSet =
true;
118 template <
typename BusinessNameT = Aws::String>
120 m_businessNameHasBeenSet =
true;
121 m_businessName = std::forward<BusinessNameT>(value);
123 template <
typename BusinessNameT = Aws::String>
136 template <
typename FirstNameT = Aws::String>
138 m_firstNameHasBeenSet =
true;
139 m_firstName = std::forward<FirstNameT>(value);
141 template <
typename FirstNameT = Aws::String>
154 template <
typename M
iddleNameT = Aws::String>
156 m_middleNameHasBeenSet =
true;
157 m_middleName = std::forward<MiddleNameT>(value);
159 template <
typename M
iddleNameT = Aws::String>
172 template <
typename LastNameT = Aws::String>
174 m_lastNameHasBeenSet =
true;
175 m_lastName = std::forward<LastNameT>(value);
177 template <
typename LastNameT = Aws::String>
190 template <
typename BirthDateT = Aws::String>
192 m_birthDateHasBeenSet =
true;
193 m_birthDate = std::forward<BirthDateT>(value);
195 template <
typename BirthDateT = Aws::String>
209 m_genderHasBeenSet =
true;
225 template <
typename PhoneNumberT = Aws::String>
227 m_phoneNumberHasBeenSet =
true;
228 m_phoneNumber = std::forward<PhoneNumberT>(value);
230 template <
typename PhoneNumberT = Aws::String>
243 template <
typename MobilePhoneNumberT = Aws::String>
245 m_mobilePhoneNumberHasBeenSet =
true;
246 m_mobilePhoneNumber = std::forward<MobilePhoneNumberT>(value);
248 template <
typename MobilePhoneNumberT = Aws::String>
261 template <
typename HomePhoneNumberT = Aws::String>
263 m_homePhoneNumberHasBeenSet =
true;
264 m_homePhoneNumber = std::forward<HomePhoneNumberT>(value);
266 template <
typename HomePhoneNumberT = Aws::String>
279 template <
typename BusinessPhoneNumberT = Aws::String>
281 m_businessPhoneNumberHasBeenSet =
true;
282 m_businessPhoneNumber = std::forward<BusinessPhoneNumberT>(value);
284 template <
typename BusinessPhoneNumberT = Aws::String>
298 template <
typename EmailAddressT = Aws::String>
300 m_emailAddressHasBeenSet =
true;
301 m_emailAddress = std::forward<EmailAddressT>(value);
303 template <
typename EmailAddressT = Aws::String>
316 template <
typename PersonalEmailAddressT = Aws::String>
318 m_personalEmailAddressHasBeenSet =
true;
319 m_personalEmailAddress = std::forward<PersonalEmailAddressT>(value);
321 template <
typename PersonalEmailAddressT = Aws::String>
334 template <
typename BusinessEmailAddressT = Aws::String>
336 m_businessEmailAddressHasBeenSet =
true;
337 m_businessEmailAddress = std::forward<BusinessEmailAddressT>(value);
339 template <
typename BusinessEmailAddressT = Aws::String>
353 template <
typename AddressT = Address>
355 m_addressHasBeenSet =
true;
356 m_address = std::forward<AddressT>(value);
358 template <
typename AddressT = Address>
371 template <
typename ShippingAddressT = Address>
373 m_shippingAddressHasBeenSet =
true;
374 m_shippingAddress = std::forward<ShippingAddressT>(value);
376 template <
typename ShippingAddressT = Address>
389 template <
typename MailingAddressT = Address>
391 m_mailingAddressHasBeenSet =
true;
392 m_mailingAddress = std::forward<MailingAddressT>(value);
394 template <
typename MailingAddressT = Address>
407 template <
typename BillingAddressT = Address>
409 m_billingAddressHasBeenSet =
true;
410 m_billingAddress = std::forward<BillingAddressT>(value);
412 template <
typename BillingAddressT = Address>
425 template <
typename AttributesT = Aws::Map<Aws::String, Aws::String>>
427 m_attributesHasBeenSet =
true;
428 m_attributes = std::forward<AttributesT>(value);
430 template <
typename AttributesT = Aws::Map<Aws::String, Aws::String>>
435 template <
typename AttributesKeyT = Aws::String,
typename AttributesValueT = Aws::String>
437 m_attributesHasBeenSet =
true;
438 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
467 template <
typename FoundByItemsT = Aws::Vector<FoundByKeyValue>>
469 m_foundByItemsHasBeenSet =
true;
470 m_foundByItems = std::forward<FoundByItemsT>(value);
472 template <
typename FoundByItemsT = Aws::Vector<FoundByKeyValue>>
477 template <
typename FoundByItemsT = FoundByKeyValue>
479 m_foundByItemsHasBeenSet =
true;
480 m_foundByItems.emplace_back(std::forward<FoundByItemsT>(value));
491 template <
typename PartyTypeStringT = Aws::String>
493 m_partyTypeStringHasBeenSet =
true;
494 m_partyTypeString = std::forward<PartyTypeStringT>(value);
496 template <
typename PartyTypeStringT = Aws::String>
509 template <
typename GenderStringT = Aws::String>
511 m_genderStringHasBeenSet =
true;
512 m_genderString = std::forward<GenderStringT>(value);
514 template <
typename GenderStringT = Aws::String>
528 m_profileTypeHasBeenSet =
true;
529 m_profileType = value;
543 template <
typename EngagementPreferencesT = EngagementPreferences>
545 m_engagementPreferencesHasBeenSet =
true;
546 m_engagementPreferences = std::forward<EngagementPreferencesT>(value);
548 template <
typename EngagementPreferencesT = EngagementPreferences>
591 Address m_shippingAddress;
593 Address m_mailingAddress;
595 Address m_billingAddress;
607 EngagementPreferences m_engagementPreferences;
608 bool m_profileIdHasBeenSet =
false;
609 bool m_accountNumberHasBeenSet =
false;
610 bool m_additionalInformationHasBeenSet =
false;
611 bool m_partyTypeHasBeenSet =
false;
612 bool m_businessNameHasBeenSet =
false;
613 bool m_firstNameHasBeenSet =
false;
614 bool m_middleNameHasBeenSet =
false;
615 bool m_lastNameHasBeenSet =
false;
616 bool m_birthDateHasBeenSet =
false;
617 bool m_genderHasBeenSet =
false;
618 bool m_phoneNumberHasBeenSet =
false;
619 bool m_mobilePhoneNumberHasBeenSet =
false;
620 bool m_homePhoneNumberHasBeenSet =
false;
621 bool m_businessPhoneNumberHasBeenSet =
false;
622 bool m_emailAddressHasBeenSet =
false;
623 bool m_personalEmailAddressHasBeenSet =
false;
624 bool m_businessEmailAddressHasBeenSet =
false;
625 bool m_addressHasBeenSet =
false;
626 bool m_shippingAddressHasBeenSet =
false;
627 bool m_mailingAddressHasBeenSet =
false;
628 bool m_billingAddressHasBeenSet =
false;
629 bool m_attributesHasBeenSet =
false;
630 bool m_foundByItemsHasBeenSet =
false;
631 bool m_partyTypeStringHasBeenSet =
false;
632 bool m_genderStringHasBeenSet =
false;
633 bool m_profileTypeHasBeenSet =
false;
634 bool m_engagementPreferencesHasBeenSet =
false;
void SetBusinessEmailAddress(BusinessEmailAddressT &&value)
bool ShippingAddressHasBeenSet() const
Profile & WithProfileId(ProfileIdT &&value)
const Aws::String & GetMiddleName() const
Profile & WithShippingAddress(ShippingAddressT &&value)
bool ProfileTypeHasBeenSet() const
Profile & WithFoundByItems(FoundByItemsT &&value)
void SetAttributes(AttributesT &&value)
const Aws::String & GetGenderString() const
bool EngagementPreferencesHasBeenSet() const
void SetBillingAddress(BillingAddressT &&value)
const Aws::String & GetPartyTypeString() const
const Aws::String & GetBusinessPhoneNumber() const
Profile & WithEmailAddress(EmailAddressT &&value)
bool AddressHasBeenSet() const
void SetAccountNumber(AccountNumberT &&value)
Profile & WithGenderString(GenderStringT &&value)
Profile & WithMiddleName(MiddleNameT &&value)
bool BirthDateHasBeenSet() const
Profile & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
bool MiddleNameHasBeenSet() const
bool GenderHasBeenSet() const
const Aws::String & GetAdditionalInformation() const
void SetHomePhoneNumber(HomePhoneNumberT &&value)
const Aws::String & GetPhoneNumber() const
Profile & WithAddress(AddressT &&value)
const Aws::String & GetHomePhoneNumber() const
Profile & WithPartyTypeString(PartyTypeStringT &&value)
bool BusinessEmailAddressHasBeenSet() const
Profile & WithMobilePhoneNumber(MobilePhoneNumberT &&value)
const Aws::String & GetBusinessEmailAddress() const
const Address & GetAddress() const
bool BusinessNameHasBeenSet() const
void SetFirstName(FirstNameT &&value)
bool BusinessPhoneNumberHasBeenSet() const
Profile & WithBusinessName(BusinessNameT &&value)
Profile & WithGender(Gender value)
void SetLastName(LastNameT &&value)
void SetShippingAddress(ShippingAddressT &&value)
bool ProfileIdHasBeenSet() const
const Aws::String & GetAccountNumber() const
bool FirstNameHasBeenSet() const
void SetMailingAddress(MailingAddressT &&value)
void SetEngagementPreferences(EngagementPreferencesT &&value)
void SetGenderString(GenderStringT &&value)
Profile & WithBusinessPhoneNumber(BusinessPhoneNumberT &&value)
bool HomePhoneNumberHasBeenSet() const
Profile & WithFirstName(FirstNameT &&value)
bool FoundByItemsHasBeenSet() const
void SetProfileType(ProfileType value)
Profile & WithBillingAddress(BillingAddressT &&value)
const Aws::String & GetBirthDate() const
PartyType GetPartyType() const
Profile & WithAccountNumber(AccountNumberT &&value)
bool EmailAddressHasBeenSet() const
const Address & GetBillingAddress() const
bool AccountNumberHasBeenSet() const
const Aws::String & GetPersonalEmailAddress() const
AWS_CUSTOMERPROFILES_API Profile(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetProfileId() const
AWS_CUSTOMERPROFILES_API Profile & operator=(Aws::Utils::Json::JsonView jsonValue)
ProfileType GetProfileType() const
Profile & WithPhoneNumber(PhoneNumberT &&value)
bool PartyTypeHasBeenSet() const
bool AttributesHasBeenSet() const
bool PhoneNumberHasBeenSet() const
const Aws::String & GetLastName() const
void SetGender(Gender value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
Profile & WithLastName(LastNameT &&value)
void SetPhoneNumber(PhoneNumberT &&value)
const EngagementPreferences & GetEngagementPreferences() const
const Address & GetShippingAddress() const
void SetMobilePhoneNumber(MobilePhoneNumberT &&value)
bool GenderStringHasBeenSet() const
bool MobilePhoneNumberHasBeenSet() const
void SetPersonalEmailAddress(PersonalEmailAddressT &&value)
Profile & WithPartyType(PartyType value)
void SetAdditionalInformation(AdditionalInformationT &&value)
const Aws::String & GetFirstName() const
void SetBirthDate(BirthDateT &&value)
Profile & AddFoundByItems(FoundByItemsT &&value)
Profile & WithEngagementPreferences(EngagementPreferencesT &&value)
void SetBusinessPhoneNumber(BusinessPhoneNumberT &&value)
bool PartyTypeStringHasBeenSet() const
Profile & WithAdditionalInformation(AdditionalInformationT &&value)
Profile & WithMailingAddress(MailingAddressT &&value)
void SetFoundByItems(FoundByItemsT &&value)
Profile & WithBusinessEmailAddress(BusinessEmailAddressT &&value)
Profile & WithBirthDate(BirthDateT &&value)
const Address & GetMailingAddress() const
void SetEmailAddress(EmailAddressT &&value)
const Aws::String & GetEmailAddress() const
const Aws::String & GetMobilePhoneNumber() const
bool BillingAddressHasBeenSet() const
Profile & WithAttributes(AttributesT &&value)
bool AdditionalInformationHasBeenSet() const
void SetBusinessName(BusinessNameT &&value)
void SetPartyTypeString(PartyTypeStringT &&value)
bool MailingAddressHasBeenSet() const
AWS_CUSTOMERPROFILES_API Profile()=default
void SetAddress(AddressT &&value)
void SetMiddleName(MiddleNameT &&value)
const Aws::Vector< FoundByKeyValue > & GetFoundByItems() const
AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const
void SetPartyType(PartyType value)
bool PersonalEmailAddressHasBeenSet() const
Profile & WithPersonalEmailAddress(PersonalEmailAddressT &&value)
const Aws::String & GetBusinessName() const
bool LastNameHasBeenSet() const
Profile & WithHomePhoneNumber(HomePhoneNumberT &&value)
Profile & WithProfileType(ProfileType value)
void SetProfileId(ProfileIdT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue