/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AppStream { namespace Model { /** *

Describes a user in the user pool.

See Also:

AWS API * Reference

*/ class User { public: AWS_APPSTREAM_API User(); AWS_APPSTREAM_API User(Aws::Utils::Json::JsonView jsonValue); AWS_APPSTREAM_API User& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APPSTREAM_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ARN of the user.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the user.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN of the user.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN of the user.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN of the user.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN of the user.

*/ inline User& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the user.

*/ inline User& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the user.

*/ inline User& WithArn(const char* value) { SetArn(value); return *this;} /** *

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

The email address of the user.

Users' email addresses are * case-sensitive.

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

Specifies whether the user in the user pool is enabled.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Specifies whether the user in the user pool is enabled.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Specifies whether the user in the user pool is enabled.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Specifies whether the user in the user pool is enabled.

*/ inline User& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline User& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline User& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the user in the user pool. The status can be one of the * following:

  • UNCONFIRMED – The user is created but not * confirmed.

  • CONFIRMED – The user is confirmed.

  • *

    ARCHIVED – The user is no longer active.

  • COMPROMISED – The * user is disabled because of a potential security threat.

  • *

    UNKNOWN – The user status is not known.

*/ inline User& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The first name, or given name, of the user.

*/ inline const Aws::String& GetFirstName() const{ return m_firstName; } /** *

The first name, or given name, of the user.

*/ inline bool FirstNameHasBeenSet() const { return m_firstNameHasBeenSet; } /** *

The first name, or given name, of the user.

*/ inline void SetFirstName(const Aws::String& value) { m_firstNameHasBeenSet = true; m_firstName = value; } /** *

The first name, or given name, of the user.

*/ inline void SetFirstName(Aws::String&& value) { m_firstNameHasBeenSet = true; m_firstName = std::move(value); } /** *

The first name, or given name, of the user.

*/ inline void SetFirstName(const char* value) { m_firstNameHasBeenSet = true; m_firstName.assign(value); } /** *

The first name, or given name, of the user.

*/ inline User& WithFirstName(const Aws::String& value) { SetFirstName(value); return *this;} /** *

The first name, or given name, of the user.

*/ inline User& WithFirstName(Aws::String&& value) { SetFirstName(std::move(value)); return *this;} /** *

The first name, or given name, of the user.

*/ inline User& WithFirstName(const char* value) { SetFirstName(value); return *this;} /** *

The last name, or surname, of the user.

*/ inline const Aws::String& GetLastName() const{ return m_lastName; } /** *

The last name, or surname, of the user.

*/ inline bool LastNameHasBeenSet() const { return m_lastNameHasBeenSet; } /** *

The last name, or surname, of the user.

*/ inline void SetLastName(const Aws::String& value) { m_lastNameHasBeenSet = true; m_lastName = value; } /** *

The last name, or surname, of the user.

*/ inline void SetLastName(Aws::String&& value) { m_lastNameHasBeenSet = true; m_lastName = std::move(value); } /** *

The last name, or surname, of the user.

*/ inline void SetLastName(const char* value) { m_lastNameHasBeenSet = true; m_lastName.assign(value); } /** *

The last name, or surname, of the user.

*/ inline User& WithLastName(const Aws::String& value) { SetLastName(value); return *this;} /** *

The last name, or surname, of the user.

*/ inline User& WithLastName(Aws::String&& value) { SetLastName(std::move(value)); return *this;} /** *

The last name, or surname, of the user.

*/ inline User& WithLastName(const char* value) { SetLastName(value); return *this;} /** *

The date and time the user was created in the user pool.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

The date and time the user was created in the user pool.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

The date and time the user was created in the user pool.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

The date and time the user was created in the user pool.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

The date and time the user was created in the user pool.

*/ inline User& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

The date and time the user was created in the user pool.

*/ inline User& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The authentication type for the user.

*/ inline const AuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

The authentication type for the user.

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

The authentication type for the user.

*/ inline void SetAuthenticationType(const AuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

The authentication type for the user.

*/ inline void SetAuthenticationType(AuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

The authentication type for the user.

*/ inline User& WithAuthenticationType(const AuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

The authentication type for the user.

*/ inline User& WithAuthenticationType(AuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_userName; bool m_userNameHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_firstName; bool m_firstNameHasBeenSet = false; Aws::String m_lastName; bool m_lastNameHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; AuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; }; } // namespace Model } // namespace AppStream } // namespace Aws