searchGroups method

Future<SearchGroupsResponse> searchGroups({
  1. required String awsAccountId,
  2. required List<GroupSearchFilter> filters,
  3. required String namespace,
  4. int? maxResults,
  5. String? nextToken,
})

Use the SearchGroups operation to search groups in a specified Quick Sight namespace using the supplied filters.

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

Parameter awsAccountId : The ID for the Amazon Web Services account that the group is in. Currently, you use the ID for the Amazon Web Services account that contains your Amazon Quick Sight account.

Parameter filters : The structure for the search filters that you want to apply to your search.

Parameter namespace : The namespace that you want to search.

Parameter maxResults : The maximum number of results to return from this request.

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

Implementation

Future<SearchGroupsResponse> searchGroups({
  required String awsAccountId,
  required List<GroupSearchFilter> filters,
  required String namespace,
  int? maxResults,
  String? nextToken,
}) async {
  _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 $payload = <String, dynamic>{
    'Filters': filters,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/accounts/${Uri.encodeComponent(awsAccountId)}/namespaces/${Uri.encodeComponent(namespace)}/groups-search',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return SearchGroupsResponse.fromJson(response);
}