searchGroups method
Searches the specified directory for a group. You can find groups that
match the SearchString parameter with the value of their
attributes included in the SearchString parameter.
This operation supports pagination with the use of the
NextToken request and response parameters. If more results
are available, the SearchGroups.NextToken member contains a
token that you pass in the next call to SearchGroups. This
retrieves the next set of items.
You can also specify a maximum number of return results with the
MaxResults parameter.
May throw AccessDeniedException.
May throw DirectoryUnavailableException.
May throw InternalServerException.
May throw ThrottlingException.
May throw ValidationException.
Parameter directoryId :
The identifier (ID) of the directory that's associated with the group.
Parameter searchAttributes :
One or more data attributes that are used to search for a group. For a
list of supported attributes, see Directory
Service Data Attributes.
Parameter searchString :
The attribute value that you want to search for.
Parameter maxResults :
The maximum number of results to be returned per request.
Parameter nextToken :
An encoded paging token for paginated calls that can be passed back to
retrieve the next page.
Parameter realm :
The domain name that's associated with the group.
This value is case insensitive.
Implementation
Future<SearchGroupsResult> searchGroups({
required String directoryId,
required List<String> searchAttributes,
required String searchString,
int? maxResults,
String? nextToken,
String? realm,
}) async {
_s.validateNumRange(
'maxResults',
maxResults,
1,
250,
);
final $query = <String, List<String>>{
'DirectoryId': [directoryId],
};
final $payload = <String, dynamic>{
'SearchAttributes': searchAttributes,
'SearchString': searchString,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (realm != null) 'Realm': realm,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/Groups/SearchGroups',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return SearchGroupsResult.fromJson(response);
}