/** * 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 IdentityStore { namespace Model { /** */ class CreateUserRequest : public IdentityStoreRequest { public: AWS_IDENTITYSTORE_API CreateUserRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateUser"; } AWS_IDENTITYSTORE_API Aws::String SerializePayload() const override; AWS_IDENTITYSTORE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The globally unique identifier for the identity store.

*/ inline const Aws::String& GetIdentityStoreId() const{ return m_identityStoreId; } /** *

The globally unique identifier for the identity store.

*/ inline bool IdentityStoreIdHasBeenSet() const { return m_identityStoreIdHasBeenSet; } /** *

The globally unique identifier for the identity store.

*/ inline void SetIdentityStoreId(const Aws::String& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = value; } /** *

The globally unique identifier for the identity store.

*/ inline void SetIdentityStoreId(Aws::String&& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = std::move(value); } /** *

The globally unique identifier for the identity store.

*/ inline void SetIdentityStoreId(const char* value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId.assign(value); } /** *

The globally unique identifier for the identity store.

*/ inline CreateUserRequest& WithIdentityStoreId(const Aws::String& value) { SetIdentityStoreId(value); return *this;} /** *

The globally unique identifier for the identity store.

*/ inline CreateUserRequest& WithIdentityStoreId(Aws::String&& value) { SetIdentityStoreId(std::move(value)); return *this;} /** *

The globally unique identifier for the identity store.

*/ inline CreateUserRequest& WithIdentityStoreId(const char* value) { SetIdentityStoreId(value); return *this;} /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline const Aws::String& GetUserName() const{ return m_userName; } /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; } /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); } /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); } /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline CreateUserRequest& WithUserName(const Aws::String& value) { SetUserName(value); return *this;} /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline CreateUserRequest& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;} /** *

A unique string used to identify the user. The length limit is 128 * characters. This value can consist of letters, accented characters, symbols, * numbers, and punctuation. This value is specified at the time the user is * created and stored as an attribute of the user object in the identity store. * "Administrator" and "AWSAdministrators" are reserved names and can't be used for * users or groups.

*/ inline CreateUserRequest& WithUserName(const char* value) { SetUserName(value); return *this;} /** *

An object containing the name of the user.

*/ inline const Name& GetName() const{ return m_name; } /** *

An object containing the name of the user.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

An object containing the name of the user.

*/ inline void SetName(const Name& value) { m_nameHasBeenSet = true; m_name = value; } /** *

An object containing the name of the user.

*/ inline void SetName(Name&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

An object containing the name of the user.

*/ inline CreateUserRequest& WithName(const Name& value) { SetName(value); return *this;} /** *

An object containing the name of the user.

*/ inline CreateUserRequest& WithName(Name&& value) { SetName(std::move(value)); return *this;} /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline CreateUserRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline CreateUserRequest& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

A string containing the name of the user. This value is typically formatted * for display when the user is referenced. For example, "John Doe."

*/ inline CreateUserRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

A string containing an alternate name for the user.

*/ inline const Aws::String& GetNickName() const{ return m_nickName; } /** *

A string containing an alternate name for the user.

*/ inline bool NickNameHasBeenSet() const { return m_nickNameHasBeenSet; } /** *

A string containing an alternate name for the user.

*/ inline void SetNickName(const Aws::String& value) { m_nickNameHasBeenSet = true; m_nickName = value; } /** *

A string containing an alternate name for the user.

*/ inline void SetNickName(Aws::String&& value) { m_nickNameHasBeenSet = true; m_nickName = std::move(value); } /** *

A string containing an alternate name for the user.

*/ inline void SetNickName(const char* value) { m_nickNameHasBeenSet = true; m_nickName.assign(value); } /** *

A string containing an alternate name for the user.

*/ inline CreateUserRequest& WithNickName(const Aws::String& value) { SetNickName(value); return *this;} /** *

A string containing an alternate name for the user.

*/ inline CreateUserRequest& WithNickName(Aws::String&& value) { SetNickName(std::move(value)); return *this;} /** *

A string containing an alternate name for the user.

*/ inline CreateUserRequest& WithNickName(const char* value) { SetNickName(value); return *this;} /** *

A string containing a URL that might be associated with the user.

*/ inline const Aws::String& GetProfileUrl() const{ return m_profileUrl; } /** *

A string containing a URL that might be associated with the user.

*/ inline bool ProfileUrlHasBeenSet() const { return m_profileUrlHasBeenSet; } /** *

A string containing a URL that might be associated with the user.

*/ inline void SetProfileUrl(const Aws::String& value) { m_profileUrlHasBeenSet = true; m_profileUrl = value; } /** *

A string containing a URL that might be associated with the user.

*/ inline void SetProfileUrl(Aws::String&& value) { m_profileUrlHasBeenSet = true; m_profileUrl = std::move(value); } /** *

A string containing a URL that might be associated with the user.

*/ inline void SetProfileUrl(const char* value) { m_profileUrlHasBeenSet = true; m_profileUrl.assign(value); } /** *

A string containing a URL that might be associated with the user.

*/ inline CreateUserRequest& WithProfileUrl(const Aws::String& value) { SetProfileUrl(value); return *this;} /** *

A string containing a URL that might be associated with the user.

*/ inline CreateUserRequest& WithProfileUrl(Aws::String&& value) { SetProfileUrl(std::move(value)); return *this;} /** *

A string containing a URL that might be associated with the user.

*/ inline CreateUserRequest& WithProfileUrl(const char* value) { SetProfileUrl(value); return *this;} /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline const Aws::Vector& GetEmails() const{ return m_emails; } /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline bool EmailsHasBeenSet() const { return m_emailsHasBeenSet; } /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline void SetEmails(const Aws::Vector& value) { m_emailsHasBeenSet = true; m_emails = value; } /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline void SetEmails(Aws::Vector&& value) { m_emailsHasBeenSet = true; m_emails = std::move(value); } /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline CreateUserRequest& WithEmails(const Aws::Vector& value) { SetEmails(value); return *this;} /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline CreateUserRequest& WithEmails(Aws::Vector&& value) { SetEmails(std::move(value)); return *this;} /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline CreateUserRequest& AddEmails(const Email& value) { m_emailsHasBeenSet = true; m_emails.push_back(value); return *this; } /** *

A list of Email objects containing email addresses associated * with the user.

*/ inline CreateUserRequest& AddEmails(Email&& value) { m_emailsHasBeenSet = true; m_emails.push_back(std::move(value)); return *this; } /** *

A list of Address objects containing addresses associated with * the user.

*/ inline const Aws::Vector
& GetAddresses() const{ return m_addresses; } /** *

A list of Address objects containing addresses associated with * the user.

*/ inline bool AddressesHasBeenSet() const { return m_addressesHasBeenSet; } /** *

A list of Address objects containing addresses associated with * the user.

*/ inline void SetAddresses(const Aws::Vector
& value) { m_addressesHasBeenSet = true; m_addresses = value; } /** *

A list of Address objects containing addresses associated with * the user.

*/ inline void SetAddresses(Aws::Vector
&& value) { m_addressesHasBeenSet = true; m_addresses = std::move(value); } /** *

A list of Address objects containing addresses associated with * the user.

*/ inline CreateUserRequest& WithAddresses(const Aws::Vector
& value) { SetAddresses(value); return *this;} /** *

A list of Address objects containing addresses associated with * the user.

*/ inline CreateUserRequest& WithAddresses(Aws::Vector
&& value) { SetAddresses(std::move(value)); return *this;} /** *

A list of Address objects containing addresses associated with * the user.

*/ inline CreateUserRequest& AddAddresses(const Address& value) { m_addressesHasBeenSet = true; m_addresses.push_back(value); return *this; } /** *

A list of Address objects containing addresses associated with * the user.

*/ inline CreateUserRequest& AddAddresses(Address&& value) { m_addressesHasBeenSet = true; m_addresses.push_back(std::move(value)); return *this; } /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline const Aws::Vector& GetPhoneNumbers() const{ return m_phoneNumbers; } /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline bool PhoneNumbersHasBeenSet() const { return m_phoneNumbersHasBeenSet; } /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline void SetPhoneNumbers(const Aws::Vector& value) { m_phoneNumbersHasBeenSet = true; m_phoneNumbers = value; } /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline void SetPhoneNumbers(Aws::Vector&& value) { m_phoneNumbersHasBeenSet = true; m_phoneNumbers = std::move(value); } /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline CreateUserRequest& WithPhoneNumbers(const Aws::Vector& value) { SetPhoneNumbers(value); return *this;} /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline CreateUserRequest& WithPhoneNumbers(Aws::Vector&& value) { SetPhoneNumbers(std::move(value)); return *this;} /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline CreateUserRequest& AddPhoneNumbers(const PhoneNumber& value) { m_phoneNumbersHasBeenSet = true; m_phoneNumbers.push_back(value); return *this; } /** *

A list of PhoneNumber objects containing phone numbers * associated with the user.

*/ inline CreateUserRequest& AddPhoneNumbers(PhoneNumber&& value) { m_phoneNumbersHasBeenSet = true; m_phoneNumbers.push_back(std::move(value)); return *this; } /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline const Aws::String& GetUserType() const{ return m_userType; } /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline bool UserTypeHasBeenSet() const { return m_userTypeHasBeenSet; } /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline void SetUserType(const Aws::String& value) { m_userTypeHasBeenSet = true; m_userType = value; } /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline void SetUserType(Aws::String&& value) { m_userTypeHasBeenSet = true; m_userType = std::move(value); } /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline void SetUserType(const char* value) { m_userTypeHasBeenSet = true; m_userType.assign(value); } /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline CreateUserRequest& WithUserType(const Aws::String& value) { SetUserType(value); return *this;} /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline CreateUserRequest& WithUserType(Aws::String&& value) { SetUserType(std::move(value)); return *this;} /** *

A string indicating the type of user. Possible values are left unspecified. * The value can vary based on your specific use case.

*/ inline CreateUserRequest& WithUserType(const char* value) { SetUserType(value); return *this;} /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline CreateUserRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline CreateUserRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

A string containing the title of the user. Possible values are left * unspecified. The value can vary based on your specific use case.

*/ inline CreateUserRequest& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline const Aws::String& GetPreferredLanguage() const{ return m_preferredLanguage; } /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline bool PreferredLanguageHasBeenSet() const { return m_preferredLanguageHasBeenSet; } /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline void SetPreferredLanguage(const Aws::String& value) { m_preferredLanguageHasBeenSet = true; m_preferredLanguage = value; } /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline void SetPreferredLanguage(Aws::String&& value) { m_preferredLanguageHasBeenSet = true; m_preferredLanguage = std::move(value); } /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline void SetPreferredLanguage(const char* value) { m_preferredLanguageHasBeenSet = true; m_preferredLanguage.assign(value); } /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline CreateUserRequest& WithPreferredLanguage(const Aws::String& value) { SetPreferredLanguage(value); return *this;} /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline CreateUserRequest& WithPreferredLanguage(Aws::String&& value) { SetPreferredLanguage(std::move(value)); return *this;} /** *

A string containing the preferred language of the user. For example, * "American English" or "en-us."

*/ inline CreateUserRequest& WithPreferredLanguage(const char* value) { SetPreferredLanguage(value); return *this;} /** *

A string containing the geographical region or location of the user.

*/ inline const Aws::String& GetLocale() const{ return m_locale; } /** *

A string containing the geographical region or location of the user.

*/ inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; } /** *

A string containing the geographical region or location of the user.

*/ inline void SetLocale(const Aws::String& value) { m_localeHasBeenSet = true; m_locale = value; } /** *

A string containing the geographical region or location of the user.

*/ inline void SetLocale(Aws::String&& value) { m_localeHasBeenSet = true; m_locale = std::move(value); } /** *

A string containing the geographical region or location of the user.

*/ inline void SetLocale(const char* value) { m_localeHasBeenSet = true; m_locale.assign(value); } /** *

A string containing the geographical region or location of the user.

*/ inline CreateUserRequest& WithLocale(const Aws::String& value) { SetLocale(value); return *this;} /** *

A string containing the geographical region or location of the user.

*/ inline CreateUserRequest& WithLocale(Aws::String&& value) { SetLocale(std::move(value)); return *this;} /** *

A string containing the geographical region or location of the user.

*/ inline CreateUserRequest& WithLocale(const char* value) { SetLocale(value); return *this;} /** *

A string containing the time zone of the user.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

A string containing the time zone of the user.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

A string containing the time zone of the user.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

A string containing the time zone of the user.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

A string containing the time zone of the user.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

A string containing the time zone of the user.

*/ inline CreateUserRequest& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

A string containing the time zone of the user.

*/ inline CreateUserRequest& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

A string containing the time zone of the user.

*/ inline CreateUserRequest& WithTimezone(const char* value) { SetTimezone(value); return *this;} private: Aws::String m_identityStoreId; bool m_identityStoreIdHasBeenSet = false; Aws::String m_userName; bool m_userNameHasBeenSet = false; Name m_name; bool m_nameHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; Aws::String m_nickName; bool m_nickNameHasBeenSet = false; Aws::String m_profileUrl; bool m_profileUrlHasBeenSet = false; Aws::Vector m_emails; bool m_emailsHasBeenSet = false; Aws::Vector
m_addresses; bool m_addressesHasBeenSet = false; Aws::Vector m_phoneNumbers; bool m_phoneNumbersHasBeenSet = false; Aws::String m_userType; bool m_userTypeHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_preferredLanguage; bool m_preferredLanguageHasBeenSet = false; Aws::String m_locale; bool m_localeHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; }; } // namespace Model } // namespace IdentityStore } // namespace Aws