listAttacks method

Future<ListAttacksResponse> listAttacks({
  1. TimeRange? endTime,
  2. int? maxResults,
  3. String? nextToken,
  4. List<String>? resourceArns,
  5. TimeRange? startTime,
})

Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.

May throw InternalErrorException. May throw InvalidOperationException. May throw InvalidParameterException.

Parameter endTime : The end of the time period for the attacks. This is a timestamp type. The request syntax listing for this call indicates a number type, but you can provide the time in any valid timestamp format setting.

Parameter maxResults : The greatest number of objects that you want Shield Advanced to return to the list request. Shield Advanced might return fewer objects than you indicate in this setting, even if more objects are available. If there are more objects remaining, Shield Advanced will always also return a NextToken value in the response.

The default setting is 20.

Parameter nextToken : When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, Shield Advanced includes a NextToken value in the response. You can retrieve the next batch of objects by requesting the list again and providing the token that was returned by the prior call in your request.

You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the MaxResults setting. Shield Advanced will not return more than MaxResults objects, but may return fewer, even if more objects are still available.

Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a NextToken value.

On your first call to a list operation, leave this setting empty.

Parameter resourceArns : The ARNs (Amazon Resource Names) of the resources that were attacked. If you leave this blank, all applicable resources for this account will be included.

Parameter startTime : The start of the time period for the attacks. This is a timestamp type. The request syntax listing for this call indicates a number type, but you can provide the time in any valid timestamp format setting.

Implementation

Future<ListAttacksResponse> listAttacks({
  TimeRange? endTime,
  int? maxResults,
  String? nextToken,
  List<String>? resourceArns,
  TimeRange? startTime,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    0,
    10000,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSShield_20160616.ListAttacks'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (endTime != null) 'EndTime': endTime,
      if (maxResults != null) 'MaxResults': maxResults,
      if (nextToken != null) 'NextToken': nextToken,
      if (resourceArns != null) 'ResourceArns': resourceArns,
      if (startTime != null) 'StartTime': startTime,
    },
  );

  return ListAttacksResponse.fromJson(jsonResponse.body);
}