updateGroup method
Given the name of a user pool group, updates any of the properties for precedence, IAM role, or description. For more information about user pool groups, see Adding groups to a user pool.
Learn more
- Signing Amazon Web Services API Requests
- Using the Amazon Cognito user pools API and user pool endpoints
May throw InternalErrorException.
May throw InvalidParameterException.
May throw NotAuthorizedException.
May throw OperationNotEnabledException.
May throw ResourceNotFoundException.
May throw TooManyRequestsException.
Parameter groupName :
The name of the group that you want to update.
Parameter userPoolId :
The ID of the user pool that contains the group you want to update.
Parameter description :
A new description of the existing group.
Parameter precedence :
A non-negative integer value that specifies the precedence of this group
relative to the other groups that a user can belong to in the user pool.
Zero is the highest precedence value. Groups with lower
Precedence values take precedence over groups with higher or
null Precedence values. If a user belongs to two or more
groups, it is the group with the lowest precedence value whose role ARN is
given in the user's tokens for the cognito:roles and
cognito:preferred_role claims.
Two groups can have the same Precedence value. If this
happens, neither group takes precedence over the other. If two groups with
the same Precedence have the same role ARN, that role is used
in the cognito:preferred_role claim in tokens for users in
each group. If the two groups have different role ARNs, the
cognito:preferred_role claim isn't set in users' tokens.
The default Precedence value is null. The maximum
Precedence value is 2^31-1.
Parameter roleArn :
The Amazon Resource Name (ARN) of an IAM role that you want to associate
with the group. The role assignment contributes to the
cognito:roles and cognito:preferred_role claims
in group members' tokens.
Implementation
Future<UpdateGroupResponse> updateGroup({
required String groupName,
required String userPoolId,
String? description,
int? precedence,
String? roleArn,
}) async {
_s.validateNumRange(
'precedence',
precedence,
0,
1152921504606846976,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSCognitoIdentityProviderService.UpdateGroup'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'GroupName': groupName,
'UserPoolId': userPoolId,
if (description != null) 'Description': description,
if (precedence != null) 'Precedence': precedence,
if (roleArn != null) 'RoleArn': roleArn,
},
);
return UpdateGroupResponse.fromJson(jsonResponse.body);
}