updateUser method
Updates an Amazon QuickSight user.
May throw AccessDeniedException. May throw InvalidParameterValueException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw PreconditionNotMetException. May throw InternalFailureException. May throw ResourceUnavailableException.
Parameter 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.
Parameter email
:
The email address of the user that you want to update.
Parameter namespace
:
The namespace. Currently, you should set this to default
.
Parameter 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.
Parameter userName
:
The Amazon QuickSight user name that you want to update.
Parameter 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
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).
Parameter 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.
Implementation
Future<UpdateUserResponse> updateUser({
required String awsAccountId,
required String email,
required String namespace,
required UserRole role,
required String userName,
String? customPermissionsName,
bool? unapplyCustomPermissions,
}) async {
ArgumentError.checkNotNull(awsAccountId, 'awsAccountId');
_s.validateStringLength(
'awsAccountId',
awsAccountId,
12,
12,
isRequired: true,
);
ArgumentError.checkNotNull(email, 'email');
ArgumentError.checkNotNull(namespace, 'namespace');
_s.validateStringLength(
'namespace',
namespace,
0,
64,
isRequired: true,
);
ArgumentError.checkNotNull(role, 'role');
ArgumentError.checkNotNull(userName, 'userName');
_s.validateStringLength(
'userName',
userName,
1,
1152921504606846976,
isRequired: true,
);
_s.validateStringLength(
'customPermissionsName',
customPermissionsName,
1,
64,
);
final $payload = <String, dynamic>{
'Email': email,
'Role': role.toValue(),
if (customPermissionsName != null)
'CustomPermissionsName': customPermissionsName,
if (unapplyCustomPermissions != null)
'UnapplyCustomPermissions': unapplyCustomPermissions,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri:
'/accounts/${Uri.encodeComponent(awsAccountId)}/namespaces/${Uri.encodeComponent(namespace)}/users/${Uri.encodeComponent(userName)}',
exceptionFnMap: _exceptionFns,
);
return UpdateUserResponse.fromJson(response);
}