createGroup method
Creates a new group in the specified user pool. 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 GroupExistsException.
May throw InternalErrorException.
May throw InvalidParameterException.
May throw LimitExceededException.
May throw NotAuthorizedException.
May throw OperationNotEnabledException.
May throw ResourceNotFoundException.
May throw TooManyRequestsException.
Parameter groupName :
A name for the group. This name must be unique in your user pool.
Parameter userPoolId :
The ID of the user pool where you want to create a user group.
Parameter description :
A description of the group that you're creating.
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) for the IAM role that you want to associate
with the group. A group role primarily declares a preferred role for the
credentials that you get from an identity pool. Amazon Cognito ID tokens
have a cognito:preferred_role claim that presents the
highest-precedence group that a user belongs to. Both ID and access tokens
also contain a cognito:groups claim that list all the groups
that a user is a member of.
Implementation
Future<CreateGroupResponse> createGroup({
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.CreateGroup'
};
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 CreateGroupResponse.fromJson(jsonResponse.body);
}