/** * 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 QuickSight { namespace Model { /** *

A registered user of Amazon QuickSight.

See Also:

AWS API * Reference

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The Amazon Resource Name (ARN) for the user.

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

The user's user name.

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

The user's user name.

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

The user's user name.

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

The user's user name.

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

The user's user name.

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

The user's user name.

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

The user's user name.

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

The user's user name.

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

The user's email address.

*/ inline const Aws::String& GetEmail() const{ return m_email; } /** *

The user's email address.

*/ inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } /** *

The user's email address.

*/ inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } /** *

The user's email address.

*/ inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } /** *

The user's email address.

*/ inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } /** *

The user's email address.

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

The user's email address.

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

The user's email address.

*/ inline User& WithEmail(const char* value) { SetEmail(value); return *this;} /** *

The Amazon QuickSight role for the user. The user role can be one of the * following:.

  • READER: A user who has read-only * access to dashboards.

  • AUTHOR: A user who can * create data sources, datasets, analyses, and dashboards.

  • * ADMIN: A user who is an author, who can also manage Amazon * QuickSight settings.

  • RESTRICTED_READER: This * role isn't currently available for use.

  • * RESTRICTED_AUTHOR: This role isn't currently available for use.

    *
*/ inline const UserRole& GetRole() const{ return m_role; } /** *

The Amazon QuickSight role for the user. The user role can be one of the * following:.

  • READER: A user who has read-only * access to dashboards.

  • AUTHOR: A user who can * create data sources, datasets, analyses, and dashboards.

  • * ADMIN: A user who is an author, who can also manage Amazon * QuickSight settings.

  • RESTRICTED_READER: This * role isn't currently available for use.

  • * RESTRICTED_AUTHOR: This role isn't currently available for use.

    *
*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The Amazon QuickSight role for the user. The user role can be one of the * following:.

  • READER: A user who has read-only * access to dashboards.

  • AUTHOR: A user who can * create data sources, datasets, analyses, and dashboards.

  • * ADMIN: A user who is an author, who can also manage Amazon * QuickSight settings.

  • RESTRICTED_READER: This * role isn't currently available for use.

  • * RESTRICTED_AUTHOR: This role isn't currently available for use.

    *
*/ inline void SetRole(const UserRole& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The Amazon QuickSight role for the user. The user role can be one of the * following:.

  • READER: A user who has read-only * access to dashboards.

  • AUTHOR: A user who can * create data sources, datasets, analyses, and dashboards.

  • * ADMIN: A user who is an author, who can also manage Amazon * QuickSight settings.

  • RESTRICTED_READER: This * role isn't currently available for use.

  • * RESTRICTED_AUTHOR: This role isn't currently available for use.

    *
*/ inline void SetRole(UserRole&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The Amazon QuickSight role for the user. The user role can be one of the * following:.

  • READER: A user who has read-only * access to dashboards.

  • AUTHOR: A user who can * create data sources, datasets, analyses, and dashboards.

  • * ADMIN: A user who is an author, who can also manage Amazon * QuickSight settings.

  • RESTRICTED_READER: This * role isn't currently available for use.

  • * RESTRICTED_AUTHOR: This role isn't currently available for use.

    *
*/ inline User& WithRole(const UserRole& value) { SetRole(value); return *this;} /** *

The Amazon QuickSight role for the user. The user role can be one of the * following:.

  • READER: A user who has read-only * access to dashboards.

  • AUTHOR: A user who can * create data sources, datasets, analyses, and dashboards.

  • * ADMIN: A user who is an author, who can also manage Amazon * QuickSight settings.

  • RESTRICTED_READER: This * role isn't currently available for use.

  • * RESTRICTED_AUTHOR: This role isn't currently available for use.

    *
*/ inline User& WithRole(UserRole&& value) { SetRole(std::move(value)); return *this;} /** *

The type of identity authentication used by the user.

*/ inline const IdentityType& GetIdentityType() const{ return m_identityType; } /** *

The type of identity authentication used by the user.

*/ inline bool IdentityTypeHasBeenSet() const { return m_identityTypeHasBeenSet; } /** *

The type of identity authentication used by the user.

*/ inline void SetIdentityType(const IdentityType& value) { m_identityTypeHasBeenSet = true; m_identityType = value; } /** *

The type of identity authentication used by the user.

*/ inline void SetIdentityType(IdentityType&& value) { m_identityTypeHasBeenSet = true; m_identityType = std::move(value); } /** *

The type of identity authentication used by the user.

*/ inline User& WithIdentityType(const IdentityType& value) { SetIdentityType(value); return *this;} /** *

The type of identity authentication used by the user.

*/ inline User& WithIdentityType(IdentityType&& value) { SetIdentityType(std::move(value)); return *this;} /** *

The active status of user. When you create an Amazon QuickSight user that’s * not an IAM user or an Active Directory user, that user is inactive until they * sign in and provide a password.

*/ inline bool GetActive() const{ return m_active; } /** *

The active status of user. When you create an Amazon QuickSight user that’s * not an IAM user or an Active Directory user, that user is inactive until they * sign in and provide a password.

*/ inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; } /** *

The active status of user. When you create an Amazon QuickSight user that’s * not an IAM user or an Active Directory user, that user is inactive until they * sign in and provide a password.

*/ inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; } /** *

The active status of user. When you create an Amazon QuickSight user that’s * not an IAM user or an Active Directory user, that user is inactive until they * sign in and provide a password.

*/ inline User& WithActive(bool value) { SetActive(value); return *this;} /** *

The principal ID of the user.

*/ inline const Aws::String& GetPrincipalId() const{ return m_principalId; } /** *

The principal ID of the user.

*/ inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } /** *

The principal ID of the user.

*/ inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } /** *

The principal ID of the user.

*/ inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } /** *

The principal ID of the user.

*/ inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } /** *

The principal ID of the user.

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

The principal ID of the user.

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

The principal ID of the user.

*/ inline User& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} /** *

The custom permissions profile associated with this user.

*/ inline const Aws::String& GetCustomPermissionsName() const{ return m_customPermissionsName; } /** *

The custom permissions profile associated with this user.

*/ inline bool CustomPermissionsNameHasBeenSet() const { return m_customPermissionsNameHasBeenSet; } /** *

The custom permissions profile associated with this user.

*/ inline void SetCustomPermissionsName(const Aws::String& value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName = value; } /** *

The custom permissions profile associated with this user.

*/ inline void SetCustomPermissionsName(Aws::String&& value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName = std::move(value); } /** *

The custom permissions profile associated with this user.

*/ inline void SetCustomPermissionsName(const char* value) { m_customPermissionsNameHasBeenSet = true; m_customPermissionsName.assign(value); } /** *

The custom permissions profile associated with this user.

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

The custom permissions profile associated with this user.

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

The custom permissions profile associated with this user.

*/ inline User& WithCustomPermissionsName(const char* value) { SetCustomPermissionsName(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet; Aws::String m_userName; bool m_userNameHasBeenSet; Aws::String m_email; bool m_emailHasBeenSet; UserRole m_role; bool m_roleHasBeenSet; IdentityType m_identityType; bool m_identityTypeHasBeenSet; bool m_active; bool m_activeHasBeenSet; Aws::String m_principalId; bool m_principalIdHasBeenSet; Aws::String m_customPermissionsName; bool m_customPermissionsNameHasBeenSet; }; } // namespace Model } // namespace QuickSight } // namespace Aws