listGroups method

Future<ListGroupsOutput> listGroups({
  1. List<GroupFilter>? filters,
  2. int? maxResults,
  3. String? nextToken,
})

Returns a list of existing resource groups in your account.

Minimum permissions

To run this command, you must have the following permissions:

  • resource-groups:ListGroups

May throw BadRequestException. May throw ForbiddenException. May throw MethodNotAllowedException. May throw TooManyRequestsException. May throw InternalServerErrorException.

Parameter filters : Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups operation.

  • resource-type - Filter the results to include only those of the specified resource types. Specify up to five resource types in the format AWS::ServiceCode::ResourceType . For example, AWS::EC2::Instance, or AWS::S3::Bucket.
  • configuration-type - Filter the results to include only those groups that have the specified configuration types attached. The current supported values are:
    • AWS:EC2::CapacityReservationPool
    • AWS:EC2::HostManagement

Parameter maxResults : The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

Parameter nextToken : The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value provided by a previous call's NextToken response to indicate where the output should continue from.

Implementation

Future<ListGroupsOutput> listGroups({
  List<GroupFilter>? filters,
  int? maxResults,
  String? nextToken,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    50,
  );
  _s.validateStringLength(
    'nextToken',
    nextToken,
    0,
    8192,
  );
  final $query = <String, List<String>>{
    if (maxResults != null) 'maxResults': [maxResults.toString()],
    if (nextToken != null) 'nextToken': [nextToken],
  };
  final $payload = <String, dynamic>{
    if (filters != null) 'Filters': filters,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/groups-list',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListGroupsOutput.fromJson(response);
}