/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/connect/Connect_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Connect { namespace Model { /** * <p>Contains information about the identity of a user.</p><p><h3>See Also:</h3> * <a * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UserIdentityInfo">AWS * API Reference</a></p> */ class UserIdentityInfo { public: AWS_CONNECT_API UserIdentityInfo(); AWS_CONNECT_API UserIdentityInfo(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API UserIdentityInfo& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline const Aws::String& GetFirstName() const{ return m_firstName; } /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline bool FirstNameHasBeenSet() const { return m_firstNameHasBeenSet; } /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline void SetFirstName(const Aws::String& value) { m_firstNameHasBeenSet = true; m_firstName = value; } /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline void SetFirstName(Aws::String&& value) { m_firstNameHasBeenSet = true; m_firstName = std::move(value); } /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline void SetFirstName(const char* value) { m_firstNameHasBeenSet = true; m_firstName.assign(value); } /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline UserIdentityInfo& WithFirstName(const Aws::String& value) { SetFirstName(value); return *this;} /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline UserIdentityInfo& WithFirstName(Aws::String&& value) { SetFirstName(std::move(value)); return *this;} /** * <p>The first name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline UserIdentityInfo& WithFirstName(const char* value) { SetFirstName(value); return *this;} /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline const Aws::String& GetLastName() const{ return m_lastName; } /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline bool LastNameHasBeenSet() const { return m_lastNameHasBeenSet; } /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline void SetLastName(const Aws::String& value) { m_lastNameHasBeenSet = true; m_lastName = value; } /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline void SetLastName(Aws::String&& value) { m_lastNameHasBeenSet = true; m_lastName = std::move(value); } /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline void SetLastName(const char* value) { m_lastNameHasBeenSet = true; m_lastName.assign(value); } /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline UserIdentityInfo& WithLastName(const Aws::String& value) { SetLastName(value); return *this;} /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline UserIdentityInfo& WithLastName(Aws::String&& value) { SetLastName(std::move(value)); return *this;} /** * <p>The last name. This is required if you are using Amazon Connect or SAML for * identity management.</p> */ inline UserIdentityInfo& WithLastName(const char* value) { SetLastName(value); return *this;} /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline const Aws::String& GetEmail() const{ return m_email; } /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline UserIdentityInfo& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline UserIdentityInfo& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} /** * <p>The email address. If you are using SAML for identity management and include * this parameter, an error is returned.</p> */ inline UserIdentityInfo& WithEmail(const char* value) { SetEmail(value); return *this;} /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline const Aws::String& GetSecondaryEmail() const{ return m_secondaryEmail; } /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline bool SecondaryEmailHasBeenSet() const { return m_secondaryEmailHasBeenSet; } /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline void SetSecondaryEmail(const Aws::String& value) { m_secondaryEmailHasBeenSet = true; m_secondaryEmail = value; } /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline void SetSecondaryEmail(Aws::String&& value) { m_secondaryEmailHasBeenSet = true; m_secondaryEmail = std::move(value); } /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline void SetSecondaryEmail(const char* value) { m_secondaryEmailHasBeenSet = true; m_secondaryEmail.assign(value); } /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline UserIdentityInfo& WithSecondaryEmail(const Aws::String& value) { SetSecondaryEmail(value); return *this;} /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline UserIdentityInfo& WithSecondaryEmail(Aws::String&& value) { SetSecondaryEmail(std::move(value)); return *this;} /** * <p>The user's secondary email address. If you provide a secondary email, the * user receives email notifications - other than password reset notifications - to * this email address instead of to their primary email address.</p> <p>Pattern: * <code>(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}</code> </p> */ inline UserIdentityInfo& WithSecondaryEmail(const char* value) { SetSecondaryEmail(value); return *this;} /** * <p>The user's mobile number.</p> */ inline const Aws::String& GetMobile() const{ return m_mobile; } /** * <p>The user's mobile number.</p> */ inline bool MobileHasBeenSet() const { return m_mobileHasBeenSet; } /** * <p>The user's mobile number.</p> */ inline void SetMobile(const Aws::String& value) { m_mobileHasBeenSet = true; m_mobile = value; } /** * <p>The user's mobile number.</p> */ inline void SetMobile(Aws::String&& value) { m_mobileHasBeenSet = true; m_mobile = std::move(value); } /** * <p>The user's mobile number.</p> */ inline void SetMobile(const char* value) { m_mobileHasBeenSet = true; m_mobile.assign(value); } /** * <p>The user's mobile number.</p> */ inline UserIdentityInfo& WithMobile(const Aws::String& value) { SetMobile(value); return *this;} /** * <p>The user's mobile number.</p> */ inline UserIdentityInfo& WithMobile(Aws::String&& value) { SetMobile(std::move(value)); return *this;} /** * <p>The user's mobile number.</p> */ inline UserIdentityInfo& WithMobile(const char* value) { SetMobile(value); return *this;} private: Aws::String m_firstName; bool m_firstNameHasBeenSet = false; Aws::String m_lastName; bool m_lastNameHasBeenSet = false; Aws::String m_email; bool m_emailHasBeenSet = false; Aws::String m_secondaryEmail; bool m_secondaryEmailHasBeenSet = false; Aws::String m_mobile; bool m_mobileHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws