7#include <aws/customer-profiles/CustomerProfiles_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/customer-profiles/model/PartyType.h>
10#include <aws/customer-profiles/model/Gender.h>
11#include <aws/customer-profiles/model/Address.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/customer-profiles/model/ProfileType.h>
15#include <aws/customer-profiles/model/EngagementPreferences.h>
16#include <aws/customer-profiles/model/FoundByKeyValue.h>
29namespace CustomerProfiles
42 AWS_CUSTOMERPROFILES_API
Profile() =
default;
54 template<
typename ProfileIdT = Aws::String>
55 void SetProfileId(ProfileIdT&& value) { m_profileIdHasBeenSet =
true; m_profileId = std::forward<ProfileIdT>(value); }
56 template<
typename ProfileIdT = Aws::String>
66 template<
typename AccountNumberT = Aws::String>
67 void SetAccountNumber(AccountNumberT&& value) { m_accountNumberHasBeenSet =
true; m_accountNumber = std::forward<AccountNumberT>(value); }
68 template<
typename AccountNumberT = Aws::String>
78 template<
typename AdditionalInformationT = Aws::String>
79 void SetAdditionalInformation(AdditionalInformationT&& value) { m_additionalInformationHasBeenSet =
true; m_additionalInformation = std::forward<AdditionalInformationT>(value); }
80 template<
typename AdditionalInformationT = Aws::String>
100 template<
typename BusinessNameT = Aws::String>
101 void SetBusinessName(BusinessNameT&& value) { m_businessNameHasBeenSet =
true; m_businessName = std::forward<BusinessNameT>(value); }
102 template<
typename BusinessNameT = Aws::String>
112 template<
typename FirstNameT = Aws::String>
113 void SetFirstName(FirstNameT&& value) { m_firstNameHasBeenSet =
true; m_firstName = std::forward<FirstNameT>(value); }
114 template<
typename FirstNameT = Aws::String>
124 template<
typename M
iddleNameT = Aws::String>
125 void SetMiddleName(MiddleNameT&& value) { m_middleNameHasBeenSet =
true; m_middleName = std::forward<MiddleNameT>(value); }
126 template<
typename M
iddleNameT = Aws::String>
136 template<
typename LastNameT = Aws::String>
137 void SetLastName(LastNameT&& value) { m_lastNameHasBeenSet =
true; m_lastName = std::forward<LastNameT>(value); }
138 template<
typename LastNameT = Aws::String>
148 template<
typename BirthDateT = Aws::String>
149 void SetBirthDate(BirthDateT&& value) { m_birthDateHasBeenSet =
true; m_birthDate = std::forward<BirthDateT>(value); }
150 template<
typename BirthDateT = Aws::String>
171 template<
typename PhoneNumberT = Aws::String>
172 void SetPhoneNumber(PhoneNumberT&& value) { m_phoneNumberHasBeenSet =
true; m_phoneNumber = std::forward<PhoneNumberT>(value); }
173 template<
typename PhoneNumberT = Aws::String>
183 template<
typename MobilePhoneNumberT = Aws::String>
184 void SetMobilePhoneNumber(MobilePhoneNumberT&& value) { m_mobilePhoneNumberHasBeenSet =
true; m_mobilePhoneNumber = std::forward<MobilePhoneNumberT>(value); }
185 template<
typename MobilePhoneNumberT = Aws::String>
195 template<
typename HomePhoneNumberT = Aws::String>
196 void SetHomePhoneNumber(HomePhoneNumberT&& value) { m_homePhoneNumberHasBeenSet =
true; m_homePhoneNumber = std::forward<HomePhoneNumberT>(value); }
197 template<
typename HomePhoneNumberT = Aws::String>
207 template<
typename BusinessPhoneNumberT = Aws::String>
208 void SetBusinessPhoneNumber(BusinessPhoneNumberT&& value) { m_businessPhoneNumberHasBeenSet =
true; m_businessPhoneNumber = std::forward<BusinessPhoneNumberT>(value); }
209 template<
typename BusinessPhoneNumberT = Aws::String>
220 template<
typename EmailAddressT = Aws::String>
221 void SetEmailAddress(EmailAddressT&& value) { m_emailAddressHasBeenSet =
true; m_emailAddress = std::forward<EmailAddressT>(value); }
222 template<
typename EmailAddressT = Aws::String>
232 template<
typename PersonalEmailAddressT = Aws::String>
233 void SetPersonalEmailAddress(PersonalEmailAddressT&& value) { m_personalEmailAddressHasBeenSet =
true; m_personalEmailAddress = std::forward<PersonalEmailAddressT>(value); }
234 template<
typename PersonalEmailAddressT = Aws::String>
244 template<
typename BusinessEmailAddressT = Aws::String>
245 void SetBusinessEmailAddress(BusinessEmailAddressT&& value) { m_businessEmailAddressHasBeenSet =
true; m_businessEmailAddress = std::forward<BusinessEmailAddressT>(value); }
246 template<
typename BusinessEmailAddressT = Aws::String>
257 template<
typename AddressT = Address>
258 void SetAddress(AddressT&& value) { m_addressHasBeenSet =
true; m_address = std::forward<AddressT>(value); }
259 template<
typename AddressT = Address>
269 template<
typename ShippingAddressT = Address>
270 void SetShippingAddress(ShippingAddressT&& value) { m_shippingAddressHasBeenSet =
true; m_shippingAddress = std::forward<ShippingAddressT>(value); }
271 template<
typename ShippingAddressT = Address>
281 template<
typename MailingAddressT = Address>
282 void SetMailingAddress(MailingAddressT&& value) { m_mailingAddressHasBeenSet =
true; m_mailingAddress = std::forward<MailingAddressT>(value); }
283 template<
typename MailingAddressT = Address>
293 template<
typename BillingAddressT = Address>
294 void SetBillingAddress(BillingAddressT&& value) { m_billingAddressHasBeenSet =
true; m_billingAddress = std::forward<BillingAddressT>(value); }
295 template<
typename BillingAddressT = Address>
305 template<
typename AttributesT = Aws::Map<Aws::String, Aws::String>>
306 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet =
true; m_attributes = std::forward<AttributesT>(value); }
307 template<
typename AttributesT = Aws::Map<Aws::String, Aws::String>>
309 template<
typename AttributesKeyT = Aws::String,
typename AttributesValueT = Aws::String>
311 m_attributesHasBeenSet =
true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
return *
this;
339 template<
typename FoundByItemsT = Aws::Vector<FoundByKeyValue>>
340 void SetFoundByItems(FoundByItemsT&& value) { m_foundByItemsHasBeenSet =
true; m_foundByItems = std::forward<FoundByItemsT>(value); }
341 template<
typename FoundByItemsT = Aws::Vector<FoundByKeyValue>>
343 template<
typename FoundByItemsT = FoundByKeyValue>
344 Profile&
AddFoundByItems(FoundByItemsT&& value) { m_foundByItemsHasBeenSet =
true; m_foundByItems.emplace_back(std::forward<FoundByItemsT>(value));
return *
this; }
353 template<
typename PartyTypeStringT = Aws::String>
354 void SetPartyTypeString(PartyTypeStringT&& value) { m_partyTypeStringHasBeenSet =
true; m_partyTypeString = std::forward<PartyTypeStringT>(value); }
355 template<
typename PartyTypeStringT = Aws::String>
365 template<
typename GenderStringT = Aws::String>
366 void SetGenderString(GenderStringT&& value) { m_genderStringHasBeenSet =
true; m_genderString = std::forward<GenderStringT>(value); }
367 template<
typename GenderStringT = Aws::String>
387 template<
typename EngagementPreferencesT = EngagementPreferences>
388 void SetEngagementPreferences(EngagementPreferencesT&& value) { m_engagementPreferencesHasBeenSet =
true; m_engagementPreferences = std::forward<EngagementPreferencesT>(value); }
389 template<
typename EngagementPreferencesT = EngagementPreferences>
395 bool m_profileIdHasBeenSet =
false;
398 bool m_accountNumberHasBeenSet =
false;
401 bool m_additionalInformationHasBeenSet =
false;
404 bool m_partyTypeHasBeenSet =
false;
407 bool m_businessNameHasBeenSet =
false;
410 bool m_firstNameHasBeenSet =
false;
413 bool m_middleNameHasBeenSet =
false;
416 bool m_lastNameHasBeenSet =
false;
419 bool m_birthDateHasBeenSet =
false;
422 bool m_genderHasBeenSet =
false;
425 bool m_phoneNumberHasBeenSet =
false;
428 bool m_mobilePhoneNumberHasBeenSet =
false;
431 bool m_homePhoneNumberHasBeenSet =
false;
434 bool m_businessPhoneNumberHasBeenSet =
false;
437 bool m_emailAddressHasBeenSet =
false;
440 bool m_personalEmailAddressHasBeenSet =
false;
443 bool m_businessEmailAddressHasBeenSet =
false;
446 bool m_addressHasBeenSet =
false;
448 Address m_shippingAddress;
449 bool m_shippingAddressHasBeenSet =
false;
451 Address m_mailingAddress;
452 bool m_mailingAddressHasBeenSet =
false;
454 Address m_billingAddress;
455 bool m_billingAddressHasBeenSet =
false;
458 bool m_attributesHasBeenSet =
false;
461 bool m_foundByItemsHasBeenSet =
false;
464 bool m_partyTypeStringHasBeenSet =
false;
467 bool m_genderStringHasBeenSet =
false;
470 bool m_profileTypeHasBeenSet =
false;
472 EngagementPreferences m_engagementPreferences;
473 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