listFindingsReports method

Future<ListFindingsReportsResponse> listFindingsReports({
  1. required DateTime endTime,
  2. required String profilingGroupName,
  3. required DateTime startTime,
  4. bool? dailyReportsOnly,
  5. int? maxResults,
  6. String? nextToken,
})

List the available reports for a given profiling group and time range.

May throw InternalServerException. May throw ValidationException. May throw ThrottlingException. May throw ResourceNotFoundException.

Parameter endTime : The end time of the profile to get analysis data about. You must specify startTime and endTime. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

Parameter profilingGroupName : The name of the profiling group from which to search for analysis data.

Parameter startTime : The start time of the profile to get analysis data about. You must specify startTime and endTime. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

Parameter dailyReportsOnly : A Boolean value indicating whether to only return reports from daily profiles. If set to True, only analysis data from daily profiles is returned. If set to False, analysis data is returned from smaller time windows (for example, one hour).

Parameter maxResults : The maximum number of report results returned by ListFindingsReports in paginated output. When this parameter is used, ListFindingsReports only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFindingsReports request with the returned nextToken value.

Parameter nextToken : The nextToken value returned from a previous paginated ListFindingsReportsRequest request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

Implementation

Future<ListFindingsReportsResponse> listFindingsReports({
  required DateTime endTime,
  required String profilingGroupName,
  required DateTime startTime,
  bool? dailyReportsOnly,
  int? maxResults,
  String? nextToken,
}) async {
  ArgumentError.checkNotNull(endTime, 'endTime');
  ArgumentError.checkNotNull(profilingGroupName, 'profilingGroupName');
  _s.validateStringLength(
    'profilingGroupName',
    profilingGroupName,
    1,
    255,
    isRequired: true,
  );
  ArgumentError.checkNotNull(startTime, 'startTime');
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    1000,
  );
  _s.validateStringLength(
    'nextToken',
    nextToken,
    1,
    64,
  );
  final $query = <String, List<String>>{
    'endTime': [_s.iso8601ToJson(endTime).toString()],
    'startTime': [_s.iso8601ToJson(startTime).toString()],
    if (dailyReportsOnly != null)
      'dailyReportsOnly': [dailyReportsOnly.toString()],
    if (maxResults != null) 'maxResults': [maxResults.toString()],
    if (nextToken != null) 'nextToken': [nextToken],
  };
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri:
        '/internal/profilingGroups/${Uri.encodeComponent(profilingGroupName)}/findingsReports',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListFindingsReportsResponse.fromJson(response);
}