getAggregateConfigRuleComplianceSummary method

Future<GetAggregateConfigRuleComplianceSummaryResponse> getAggregateConfigRuleComplianceSummary({
  1. required String configurationAggregatorName,
  2. ConfigRuleComplianceSummaryFilters? filters,
  3. ConfigRuleComplianceSummaryGroupKey? groupByKey,
  4. int? limit,
  5. String? nextToken,
})

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

May throw ValidationException. May throw InvalidLimitException. May throw InvalidNextTokenException. May throw NoSuchConfigurationAggregatorException.

Parameter configurationAggregatorName : The name of the configuration aggregator.

Parameter filters : Filters the results based on the ConfigRuleComplianceSummaryFilters object.

Parameter groupByKey : Groups the result based on ACCOUNT_ID or AWS_REGION.

Parameter limit : The maximum number of evaluation results returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, AWS Config uses the default.

Parameter nextToken : The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

Implementation

Future<GetAggregateConfigRuleComplianceSummaryResponse>
    getAggregateConfigRuleComplianceSummary({
  required String configurationAggregatorName,
  ConfigRuleComplianceSummaryFilters? filters,
  ConfigRuleComplianceSummaryGroupKey? groupByKey,
  int? limit,
  String? nextToken,
}) async {
  ArgumentError.checkNotNull(
      configurationAggregatorName, 'configurationAggregatorName');
  _s.validateStringLength(
    'configurationAggregatorName',
    configurationAggregatorName,
    1,
    256,
    isRequired: true,
  );
  _s.validateNumRange(
    'limit',
    limit,
    0,
    1000,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'StarlingDoveService.GetAggregateConfigRuleComplianceSummary'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ConfigurationAggregatorName': configurationAggregatorName,
      if (filters != null) 'Filters': filters,
      if (groupByKey != null) 'GroupByKey': groupByKey.toValue(),
      if (limit != null) 'Limit': limit,
      if (nextToken != null) 'NextToken': nextToken,
    },
  );

  return GetAggregateConfigRuleComplianceSummaryResponse.fromJson(
      jsonResponse.body);
}