lookupEvents method

Future<LookupEventsResponse> lookupEvents({
  1. DateTime? endTime,
  2. EventCategory? eventCategory,
  3. List<LookupAttribute>? lookupAttributes,
  4. int? maxResults,
  5. String? nextToken,
  6. DateTime? startTime,
})

Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

  • AWS access key
  • Event ID
  • Event name
  • Event source
  • Read only
  • Resource name
  • Resource type
  • User name
Lookup supports the following attributes for Insights events:
  • Event ID
  • Event name
  • Event source
All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

May throw InvalidLookupAttributesException. May throw InvalidTimeRangeException. May throw InvalidMaxResultsException. May throw InvalidNextTokenException. May throw InvalidEventCategoryException. May throw UnsupportedOperationException. May throw OperationNotPermittedException.

Parameter endTime : Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.

Parameter eventCategory : Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, if you do not specify insight as the value of EventCategory, no Insights events are returned.

Parameter lookupAttributes : Contains a list of lookup attributes. Currently the list can contain only one item.

Parameter maxResults : The number of events to return. Possible values are 1 through 50. The default is 50.

Parameter nextToken : The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

Parameter startTime : Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.

Implementation

Future<LookupEventsResponse> lookupEvents({
  DateTime? endTime,
  EventCategory? eventCategory,
  List<LookupAttribute>? lookupAttributes,
  int? maxResults,
  String? nextToken,
  DateTime? startTime,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    50,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.LookupEvents'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (endTime != null) 'EndTime': unixTimestampToJson(endTime),
      if (eventCategory != null) 'EventCategory': eventCategory.toValue(),
      if (lookupAttributes != null) 'LookupAttributes': lookupAttributes,
      if (maxResults != null) 'MaxResults': maxResults,
      if (nextToken != null) 'NextToken': nextToken,
      if (startTime != null) 'StartTime': unixTimestampToJson(startTime),
    },
  );

  return LookupEventsResponse.fromJson(jsonResponse.body);
}