/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/chime/Chime_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/chime/model/License.h> #include <aws/chime/model/UserType.h> #include <aws/chime/model/RegistrationStatus.h> #include <aws/chime/model/InviteStatus.h> #include <aws/core/utils/DateTime.h> #include <aws/chime/model/AlexaForBusinessMetadata.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Chime { namespace Model { /** * <p>The user on the Amazon Chime account.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/User">AWS API * Reference</a></p> */ class User { public: AWS_CHIME_API User(); AWS_CHIME_API User(Aws::Utils::Json::JsonView jsonValue); AWS_CHIME_API User& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CHIME_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>The user ID.</p> */ inline const Aws::String& GetUserId() const{ return m_userId; } /** * <p>The user ID.</p> */ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** * <p>The user ID.</p> */ inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } /** * <p>The user ID.</p> */ inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } /** * <p>The user ID.</p> */ inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } /** * <p>The user ID.</p> */ inline User& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** * <p>The user ID.</p> */ inline User& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** * <p>The user ID.</p> */ inline User& WithUserId(const char* value) { SetUserId(value); return *this;} /** * <p>The Amazon Chime account ID.</p> */ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** * <p>The Amazon Chime account ID.</p> */ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** * <p>The Amazon Chime account ID.</p> */ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** * <p>The Amazon Chime account ID.</p> */ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** * <p>The Amazon Chime account ID.</p> */ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** * <p>The Amazon Chime account ID.</p> */ inline User& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** * <p>The Amazon Chime account ID.</p> */ inline User& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** * <p>The Amazon Chime account ID.</p> */ inline User& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** * <p>The primary email address of the user.</p> */ inline const Aws::String& GetPrimaryEmail() const{ return m_primaryEmail; } /** * <p>The primary email address of the user.</p> */ inline bool PrimaryEmailHasBeenSet() const { return m_primaryEmailHasBeenSet; } /** * <p>The primary email address of the user.</p> */ inline void SetPrimaryEmail(const Aws::String& value) { m_primaryEmailHasBeenSet = true; m_primaryEmail = value; } /** * <p>The primary email address of the user.</p> */ inline void SetPrimaryEmail(Aws::String&& value) { m_primaryEmailHasBeenSet = true; m_primaryEmail = std::move(value); } /** * <p>The primary email address of the user.</p> */ inline void SetPrimaryEmail(const char* value) { m_primaryEmailHasBeenSet = true; m_primaryEmail.assign(value); } /** * <p>The primary email address of the user.</p> */ inline User& WithPrimaryEmail(const Aws::String& value) { SetPrimaryEmail(value); return *this;} /** * <p>The primary email address of the user.</p> */ inline User& WithPrimaryEmail(Aws::String&& value) { SetPrimaryEmail(std::move(value)); return *this;} /** * <p>The primary email address of the user.</p> */ inline User& WithPrimaryEmail(const char* value) { SetPrimaryEmail(value); return *this;} /** * <p>The primary phone number associated with the user.</p> */ inline const Aws::String& GetPrimaryProvisionedNumber() const{ return m_primaryProvisionedNumber; } /** * <p>The primary phone number associated with the user.</p> */ inline bool PrimaryProvisionedNumberHasBeenSet() const { return m_primaryProvisionedNumberHasBeenSet; } /** * <p>The primary phone number associated with the user.</p> */ inline void SetPrimaryProvisionedNumber(const Aws::String& value) { m_primaryProvisionedNumberHasBeenSet = true; m_primaryProvisionedNumber = value; } /** * <p>The primary phone number associated with the user.</p> */ inline void SetPrimaryProvisionedNumber(Aws::String&& value) { m_primaryProvisionedNumberHasBeenSet = true; m_primaryProvisionedNumber = std::move(value); } /** * <p>The primary phone number associated with the user.</p> */ inline void SetPrimaryProvisionedNumber(const char* value) { m_primaryProvisionedNumberHasBeenSet = true; m_primaryProvisionedNumber.assign(value); } /** * <p>The primary phone number associated with the user.</p> */ inline User& WithPrimaryProvisionedNumber(const Aws::String& value) { SetPrimaryProvisionedNumber(value); return *this;} /** * <p>The primary phone number associated with the user.</p> */ inline User& WithPrimaryProvisionedNumber(Aws::String&& value) { SetPrimaryProvisionedNumber(std::move(value)); return *this;} /** * <p>The primary phone number associated with the user.</p> */ inline User& WithPrimaryProvisionedNumber(const char* value) { SetPrimaryProvisionedNumber(value); return *this;} /** * <p>The display name of the user.</p> */ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** * <p>The display name of the user.</p> */ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** * <p>The display name of the user.</p> */ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** * <p>The display name of the user.</p> */ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** * <p>The display name of the user.</p> */ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** * <p>The display name of the user.</p> */ inline User& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** * <p>The display name of the user.</p> */ inline User& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** * <p>The display name of the user.</p> */ inline User& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** * <p>The license type for the user.</p> */ inline const License& GetLicenseType() const{ return m_licenseType; } /** * <p>The license type for the user.</p> */ inline bool LicenseTypeHasBeenSet() const { return m_licenseTypeHasBeenSet; } /** * <p>The license type for the user.</p> */ inline void SetLicenseType(const License& value) { m_licenseTypeHasBeenSet = true; m_licenseType = value; } /** * <p>The license type for the user.</p> */ inline void SetLicenseType(License&& value) { m_licenseTypeHasBeenSet = true; m_licenseType = std::move(value); } /** * <p>The license type for the user.</p> */ inline User& WithLicenseType(const License& value) { SetLicenseType(value); return *this;} /** * <p>The license type for the user.</p> */ inline User& WithLicenseType(License&& value) { SetLicenseType(std::move(value)); return *this;} /** * <p>The user type.</p> */ inline const UserType& GetUserType() const{ return m_userType; } /** * <p>The user type.</p> */ inline bool UserTypeHasBeenSet() const { return m_userTypeHasBeenSet; } /** * <p>The user type.</p> */ inline void SetUserType(const UserType& value) { m_userTypeHasBeenSet = true; m_userType = value; } /** * <p>The user type.</p> */ inline void SetUserType(UserType&& value) { m_userTypeHasBeenSet = true; m_userType = std::move(value); } /** * <p>The user type.</p> */ inline User& WithUserType(const UserType& value) { SetUserType(value); return *this;} /** * <p>The user type.</p> */ inline User& WithUserType(UserType&& value) { SetUserType(std::move(value)); return *this;} /** * <p>The user registration status.</p> */ inline const RegistrationStatus& GetUserRegistrationStatus() const{ return m_userRegistrationStatus; } /** * <p>The user registration status.</p> */ inline bool UserRegistrationStatusHasBeenSet() const { return m_userRegistrationStatusHasBeenSet; } /** * <p>The user registration status.</p> */ inline void SetUserRegistrationStatus(const RegistrationStatus& value) { m_userRegistrationStatusHasBeenSet = true; m_userRegistrationStatus = value; } /** * <p>The user registration status.</p> */ inline void SetUserRegistrationStatus(RegistrationStatus&& value) { m_userRegistrationStatusHasBeenSet = true; m_userRegistrationStatus = std::move(value); } /** * <p>The user registration status.</p> */ inline User& WithUserRegistrationStatus(const RegistrationStatus& value) { SetUserRegistrationStatus(value); return *this;} /** * <p>The user registration status.</p> */ inline User& WithUserRegistrationStatus(RegistrationStatus&& value) { SetUserRegistrationStatus(std::move(value)); return *this;} /** * <p>The user invite status.</p> */ inline const InviteStatus& GetUserInvitationStatus() const{ return m_userInvitationStatus; } /** * <p>The user invite status.</p> */ inline bool UserInvitationStatusHasBeenSet() const { return m_userInvitationStatusHasBeenSet; } /** * <p>The user invite status.</p> */ inline void SetUserInvitationStatus(const InviteStatus& value) { m_userInvitationStatusHasBeenSet = true; m_userInvitationStatus = value; } /** * <p>The user invite status.</p> */ inline void SetUserInvitationStatus(InviteStatus&& value) { m_userInvitationStatusHasBeenSet = true; m_userInvitationStatus = std::move(value); } /** * <p>The user invite status.</p> */ inline User& WithUserInvitationStatus(const InviteStatus& value) { SetUserInvitationStatus(value); return *this;} /** * <p>The user invite status.</p> */ inline User& WithUserInvitationStatus(InviteStatus&& value) { SetUserInvitationStatus(std::move(value)); return *this;} /** * <p>Date and time when the user is registered, in ISO 8601 format.</p> */ inline const Aws::Utils::DateTime& GetRegisteredOn() const{ return m_registeredOn; } /** * <p>Date and time when the user is registered, in ISO 8601 format.</p> */ inline bool RegisteredOnHasBeenSet() const { return m_registeredOnHasBeenSet; } /** * <p>Date and time when the user is registered, in ISO 8601 format.</p> */ inline void SetRegisteredOn(const Aws::Utils::DateTime& value) { m_registeredOnHasBeenSet = true; m_registeredOn = value; } /** * <p>Date and time when the user is registered, in ISO 8601 format.</p> */ inline void SetRegisteredOn(Aws::Utils::DateTime&& value) { m_registeredOnHasBeenSet = true; m_registeredOn = std::move(value); } /** * <p>Date and time when the user is registered, in ISO 8601 format.</p> */ inline User& WithRegisteredOn(const Aws::Utils::DateTime& value) { SetRegisteredOn(value); return *this;} /** * <p>Date and time when the user is registered, in ISO 8601 format.</p> */ inline User& WithRegisteredOn(Aws::Utils::DateTime&& value) { SetRegisteredOn(std::move(value)); return *this;} /** * <p>Date and time when the user is invited to the Amazon Chime account, in ISO * 8601 format.</p> */ inline const Aws::Utils::DateTime& GetInvitedOn() const{ return m_invitedOn; } /** * <p>Date and time when the user is invited to the Amazon Chime account, in ISO * 8601 format.</p> */ inline bool InvitedOnHasBeenSet() const { return m_invitedOnHasBeenSet; } /** * <p>Date and time when the user is invited to the Amazon Chime account, in ISO * 8601 format.</p> */ inline void SetInvitedOn(const Aws::Utils::DateTime& value) { m_invitedOnHasBeenSet = true; m_invitedOn = value; } /** * <p>Date and time when the user is invited to the Amazon Chime account, in ISO * 8601 format.</p> */ inline void SetInvitedOn(Aws::Utils::DateTime&& value) { m_invitedOnHasBeenSet = true; m_invitedOn = std::move(value); } /** * <p>Date and time when the user is invited to the Amazon Chime account, in ISO * 8601 format.</p> */ inline User& WithInvitedOn(const Aws::Utils::DateTime& value) { SetInvitedOn(value); return *this;} /** * <p>Date and time when the user is invited to the Amazon Chime account, in ISO * 8601 format.</p> */ inline User& WithInvitedOn(Aws::Utils::DateTime&& value) { SetInvitedOn(std::move(value)); return *this;} /** * <p>The Alexa for Business metadata.</p> */ inline const AlexaForBusinessMetadata& GetAlexaForBusinessMetadata() const{ return m_alexaForBusinessMetadata; } /** * <p>The Alexa for Business metadata.</p> */ inline bool AlexaForBusinessMetadataHasBeenSet() const { return m_alexaForBusinessMetadataHasBeenSet; } /** * <p>The Alexa for Business metadata.</p> */ inline void SetAlexaForBusinessMetadata(const AlexaForBusinessMetadata& value) { m_alexaForBusinessMetadataHasBeenSet = true; m_alexaForBusinessMetadata = value; } /** * <p>The Alexa for Business metadata.</p> */ inline void SetAlexaForBusinessMetadata(AlexaForBusinessMetadata&& value) { m_alexaForBusinessMetadataHasBeenSet = true; m_alexaForBusinessMetadata = std::move(value); } /** * <p>The Alexa for Business metadata.</p> */ inline User& WithAlexaForBusinessMetadata(const AlexaForBusinessMetadata& value) { SetAlexaForBusinessMetadata(value); return *this;} /** * <p>The Alexa for Business metadata.</p> */ inline User& WithAlexaForBusinessMetadata(AlexaForBusinessMetadata&& value) { SetAlexaForBusinessMetadata(std::move(value)); return *this;} /** * <p>The user's personal meeting PIN.</p> */ inline const Aws::String& GetPersonalPIN() const{ return m_personalPIN; } /** * <p>The user's personal meeting PIN.</p> */ inline bool PersonalPINHasBeenSet() const { return m_personalPINHasBeenSet; } /** * <p>The user's personal meeting PIN.</p> */ inline void SetPersonalPIN(const Aws::String& value) { m_personalPINHasBeenSet = true; m_personalPIN = value; } /** * <p>The user's personal meeting PIN.</p> */ inline void SetPersonalPIN(Aws::String&& value) { m_personalPINHasBeenSet = true; m_personalPIN = std::move(value); } /** * <p>The user's personal meeting PIN.</p> */ inline void SetPersonalPIN(const char* value) { m_personalPINHasBeenSet = true; m_personalPIN.assign(value); } /** * <p>The user's personal meeting PIN.</p> */ inline User& WithPersonalPIN(const Aws::String& value) { SetPersonalPIN(value); return *this;} /** * <p>The user's personal meeting PIN.</p> */ inline User& WithPersonalPIN(Aws::String&& value) { SetPersonalPIN(std::move(value)); return *this;} /** * <p>The user's personal meeting PIN.</p> */ inline User& WithPersonalPIN(const char* value) { SetPersonalPIN(value); return *this;} private: Aws::String m_userId; bool m_userIdHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_primaryEmail; bool m_primaryEmailHasBeenSet = false; Aws::String m_primaryProvisionedNumber; bool m_primaryProvisionedNumberHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; License m_licenseType; bool m_licenseTypeHasBeenSet = false; UserType m_userType; bool m_userTypeHasBeenSet = false; RegistrationStatus m_userRegistrationStatus; bool m_userRegistrationStatusHasBeenSet = false; InviteStatus m_userInvitationStatus; bool m_userInvitationStatusHasBeenSet = false; Aws::Utils::DateTime m_registeredOn; bool m_registeredOnHasBeenSet = false; Aws::Utils::DateTime m_invitedOn; bool m_invitedOnHasBeenSet = false; AlexaForBusinessMetadata m_alexaForBusinessMetadata; bool m_alexaForBusinessMetadataHasBeenSet = false; Aws::String m_personalPIN; bool m_personalPINHasBeenSet = false; }; } // namespace Model } // namespace Chime } // namespace Aws