/** * 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 QuickSight { namespace Model { /** */ class AWS_QUICKSIGHT_API UpdateUserRequest : public QuickSightRequest { public: UpdateUserRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateUser"; } Aws::String SerializePayload() const override; /** *

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The Amazon QuickSight user name that you want to update.

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

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline UpdateUserRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline UpdateUserRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

The ID for the AWS account that the user is in. Currently, you use the ID for * the AWS account that contains your Amazon QuickSight account.

*/ inline UpdateUserRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

The namespace. Currently, you should set this to default.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace. Currently, you should set this to default.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace. Currently, you should set this to default.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace. Currently, you should set this to default.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace. Currently, you should set this to default.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace. Currently, you should set this to default.

*/ inline UpdateUserRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace. Currently, you should set this to default.

*/ inline UpdateUserRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace. Currently, you should set this to default.

*/ inline UpdateUserRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The email address of the user that you want to update.

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

The Amazon QuickSight role of the user. The role can be one of the following * default security cohorts:

  • 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.

The name of the QuickSight role is * invisible to the user except for the console screens dealing with * permissions.

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

The Amazon QuickSight role of the user. The role can be one of the following * default security cohorts:

  • 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.

The name of the QuickSight role is * invisible to the user except for the console screens dealing with * permissions.

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

The Amazon QuickSight role of the user. The role can be one of the following * default security cohorts:

  • 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.

The name of the QuickSight role is * invisible to the user except for the console screens dealing with * permissions.

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

The Amazon QuickSight role of the user. The role can be one of the following * default security cohorts:

  • 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.

The name of the QuickSight role is * invisible to the user except for the console screens dealing with * permissions.

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

The Amazon QuickSight role of the user. The role can be one of the following * default security cohorts:

  • 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.

The name of the QuickSight role is * invisible to the user except for the console screens dealing with * permissions.

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

The Amazon QuickSight role of the user. The role can be one of the following * default security cohorts:

  • 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.

The name of the QuickSight role is * invisible to the user except for the console screens dealing with * permissions.

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

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

(Enterprise edition only) The name of the custom permissions profile that you * want to assign to this user. Customized permissions allows you to control a * user's access by restricting access the following operations:

  • *

    Create and update data sources

  • Create and update * datasets

  • Create and update email reports

  • *

    Subscribe to email reports

A set of custom permissions * includes any combination of these restrictions. Currently, you need to create * the profile names for custom permission sets by using the QuickSight console. * Then, you use the RegisterUser API operation to assign the named * set of permissions to a QuickSight user.

QuickSight custom permissions * are applied through IAM policies. Therefore, they override the permissions * typically granted by assigning QuickSight users to one of the default security * cohorts in QuickSight (admin, author, reader).

This feature is available * only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based * Federation for Single Sign-On (SSO).

*/ inline UpdateUserRequest& WithCustomPermissionsName(const char* value) { SetCustomPermissionsName(value); return *this;} /** *

A flag that you use to indicate that you want to remove all custom * permissions from this user. Using this parameter resets the user to the state it * was in before a custom permissions profile was applied. This parameter defaults * to NULL and it doesn't accept any other value.

*/ inline bool GetUnapplyCustomPermissions() const{ return m_unapplyCustomPermissions; } /** *

A flag that you use to indicate that you want to remove all custom * permissions from this user. Using this parameter resets the user to the state it * was in before a custom permissions profile was applied. This parameter defaults * to NULL and it doesn't accept any other value.

*/ inline bool UnapplyCustomPermissionsHasBeenSet() const { return m_unapplyCustomPermissionsHasBeenSet; } /** *

A flag that you use to indicate that you want to remove all custom * permissions from this user. Using this parameter resets the user to the state it * was in before a custom permissions profile was applied. This parameter defaults * to NULL and it doesn't accept any other value.

*/ inline void SetUnapplyCustomPermissions(bool value) { m_unapplyCustomPermissionsHasBeenSet = true; m_unapplyCustomPermissions = value; } /** *

A flag that you use to indicate that you want to remove all custom * permissions from this user. Using this parameter resets the user to the state it * was in before a custom permissions profile was applied. This parameter defaults * to NULL and it doesn't accept any other value.

*/ inline UpdateUserRequest& WithUnapplyCustomPermissions(bool value) { SetUnapplyCustomPermissions(value); return *this;} private: Aws::String m_userName; bool m_userNameHasBeenSet; Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet; Aws::String m_namespace; bool m_namespaceHasBeenSet; Aws::String m_email; bool m_emailHasBeenSet; UserRole m_role; bool m_roleHasBeenSet; Aws::String m_customPermissionsName; bool m_customPermissionsNameHasBeenSet; bool m_unapplyCustomPermissions; bool m_unapplyCustomPermissionsHasBeenSet; }; } // namespace Model } // namespace QuickSight } // namespace Aws