listGroups method

Future<ListGroupsResponse> listGroups({
  1. required String awsAccountId,
  2. required String namespace,
  3. int? maxResults,
  4. String? nextToken,
})

Lists all user groups in Amazon QuickSight.

May throw AccessDeniedException. May throw InvalidParameterValueException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw InvalidNextTokenException. May throw PreconditionNotMetException. May throw InternalFailureException. May throw ResourceUnavailableException.

Parameter awsAccountId : The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

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

Parameter maxResults : The maximum number of results to return.

Parameter nextToken : A pagination token that can be used in a subsequent request.

Implementation

Future<ListGroupsResponse> listGroups({
  required String awsAccountId,
  required String namespace,
  int? maxResults,
  String? nextToken,
}) async {
  ArgumentError.checkNotNull(awsAccountId, 'awsAccountId');
  _s.validateStringLength(
    'awsAccountId',
    awsAccountId,
    12,
    12,
    isRequired: true,
  );
  ArgumentError.checkNotNull(namespace, 'namespace');
  _s.validateStringLength(
    'namespace',
    namespace,
    0,
    64,
    isRequired: true,
  );
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    100,
  );
  final $query = <String, List<String>>{
    if (maxResults != null) 'max-results': [maxResults.toString()],
    if (nextToken != null) 'next-token': [nextToken],
  };
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri:
        '/accounts/${Uri.encodeComponent(awsAccountId)}/namespaces/${Uri.encodeComponent(namespace)}/groups',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListGroupsResponse.fromJson(response);
}