/** * 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 User { public: AWS_QUICKSIGHT_API User(); AWS_QUICKSIGHT_API User(Aws::Utils::Json::JsonView jsonValue); AWS_QUICKSIGHT_API User& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_QUICKSIGHT_API 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. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

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

The user's user name. This value is required if you are registering a user * that will be managed in Amazon QuickSight. In the output, the value for * UserName is N/A when the value for * IdentityType is IAM and the corresponding IAM user is * deleted.

*/ 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 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 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 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 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 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 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;} /** *

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

*/ inline const Aws::String& GetExternalLoginFederationProviderType() const{ return m_externalLoginFederationProviderType; } /** *

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

*/ inline bool ExternalLoginFederationProviderTypeHasBeenSet() const { return m_externalLoginFederationProviderTypeHasBeenSet; } /** *

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

*/ inline void SetExternalLoginFederationProviderType(const Aws::String& value) { m_externalLoginFederationProviderTypeHasBeenSet = true; m_externalLoginFederationProviderType = value; } /** *

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

*/ inline void SetExternalLoginFederationProviderType(Aws::String&& value) { m_externalLoginFederationProviderTypeHasBeenSet = true; m_externalLoginFederationProviderType = std::move(value); } /** *

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

*/ inline void SetExternalLoginFederationProviderType(const char* value) { m_externalLoginFederationProviderTypeHasBeenSet = true; m_externalLoginFederationProviderType.assign(value); } /** *

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

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

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

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

The type of supported external login provider that provides identity to let * the user federate into Amazon QuickSight with an associated IAM role. The type * can be one of the following.

  • COGNITO: Amazon * Cognito. The provider URL is cognito-identity.amazonaws.com.

  • * CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

*/ inline User& WithExternalLoginFederationProviderType(const char* value) { SetExternalLoginFederationProviderType(value); return *this;} /** *

The URL of the external login provider.

*/ inline const Aws::String& GetExternalLoginFederationProviderUrl() const{ return m_externalLoginFederationProviderUrl; } /** *

The URL of the external login provider.

*/ inline bool ExternalLoginFederationProviderUrlHasBeenSet() const { return m_externalLoginFederationProviderUrlHasBeenSet; } /** *

The URL of the external login provider.

*/ inline void SetExternalLoginFederationProviderUrl(const Aws::String& value) { m_externalLoginFederationProviderUrlHasBeenSet = true; m_externalLoginFederationProviderUrl = value; } /** *

The URL of the external login provider.

*/ inline void SetExternalLoginFederationProviderUrl(Aws::String&& value) { m_externalLoginFederationProviderUrlHasBeenSet = true; m_externalLoginFederationProviderUrl = std::move(value); } /** *

The URL of the external login provider.

*/ inline void SetExternalLoginFederationProviderUrl(const char* value) { m_externalLoginFederationProviderUrlHasBeenSet = true; m_externalLoginFederationProviderUrl.assign(value); } /** *

The URL of the external login provider.

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

The URL of the external login provider.

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

The URL of the external login provider.

*/ inline User& WithExternalLoginFederationProviderUrl(const char* value) { SetExternalLoginFederationProviderUrl(value); return *this;} /** *

The identity ID for the user in the external login provider.

*/ inline const Aws::String& GetExternalLoginId() const{ return m_externalLoginId; } /** *

The identity ID for the user in the external login provider.

*/ inline bool ExternalLoginIdHasBeenSet() const { return m_externalLoginIdHasBeenSet; } /** *

The identity ID for the user in the external login provider.

*/ inline void SetExternalLoginId(const Aws::String& value) { m_externalLoginIdHasBeenSet = true; m_externalLoginId = value; } /** *

The identity ID for the user in the external login provider.

*/ inline void SetExternalLoginId(Aws::String&& value) { m_externalLoginIdHasBeenSet = true; m_externalLoginId = std::move(value); } /** *

The identity ID for the user in the external login provider.

*/ inline void SetExternalLoginId(const char* value) { m_externalLoginIdHasBeenSet = true; m_externalLoginId.assign(value); } /** *

The identity ID for the user in the external login provider.

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

The identity ID for the user in the external login provider.

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

The identity ID for the user in the external login provider.

*/ inline User& WithExternalLoginId(const char* value) { SetExternalLoginId(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_userName; bool m_userNameHasBeenSet = false; Aws::String m_email; bool m_emailHasBeenSet = false; UserRole m_role; bool m_roleHasBeenSet = false; IdentityType m_identityType; bool m_identityTypeHasBeenSet = false; bool m_active; bool m_activeHasBeenSet = false; Aws::String m_principalId; bool m_principalIdHasBeenSet = false; Aws::String m_customPermissionsName; bool m_customPermissionsNameHasBeenSet = false; Aws::String m_externalLoginFederationProviderType; bool m_externalLoginFederationProviderTypeHasBeenSet = false; Aws::String m_externalLoginFederationProviderUrl; bool m_externalLoginFederationProviderUrlHasBeenSet = false; Aws::String m_externalLoginId; bool m_externalLoginIdHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws