listInsightsMetricData method
Returns Insights metrics data for trails that have enabled Insights. The
request must include the EventSource, EventName,
and InsightType parameters.
If the InsightType is set to
ApiErrorRateInsight, the request must also include the
ErrorCode parameter.
The following are the available time periods for
ListInsightsMetricData. Each cutoff is inclusive.
- Data points with a period of 60 seconds (1-minute) are available for 15 days.
- Data points with a period of 300 seconds (5-minute) are available for 63 days.
- Data points with a period of 3600 seconds (1 hour) are available for 90 days.
ListInsightsMetricData operation, you must have the
following permissions:
-
If
ListInsightsMetricDatais invoked withTrailNameparameter, access to theListInsightsMetricDataAPI operation is linked to thecloudtrail:LookupEventsaction andcloudtrail:ListInsightsData. To use this operation, you must have permissions to perform thecloudtrail:LookupEventsandcloudtrail:ListInsightsDataaction on the specific trail. -
If
ListInsightsMetricDatais invoked withoutTrailNameparameter, access to theListInsightsMetricDataAPI operation is linked to thecloudtrail:LookupEventsaction only. To use this operation, you must have permissions to perform thecloudtrail:LookupEventsaction.
May throw InvalidParameterException.
May throw InvalidTrailNameException.
May throw OperationNotPermittedException.
May throw UnsupportedOperationException.
Parameter eventName :
The name of the event, typically the Amazon Web Services API on which
unusual levels of activity were recorded.
Parameter eventSource :
The Amazon Web Services service to which the request was made, such as
iam.amazonaws.com or s3.amazonaws.com.
Parameter insightType :
The type of CloudTrail Insights event, which is either
ApiCallRateInsight or ApiErrorRateInsight. The
ApiCallRateInsight Insights type analyzes write-only
management API calls that are aggregated per minute against a baseline API
call volume. The ApiErrorRateInsight Insights type analyzes
management API calls that result in error codes.
Parameter dataType :
Type of data points to return. Valid values are NonZeroData
and FillWithZeros. The default is NonZeroData.
Parameter endTime :
Specifies, in UTC, the end time for time-series data. The value specified
is exclusive; results include data points up to the specified time stamp.
The default is the time of request.
Parameter errorCode :
Conditionally required if the InsightType parameter is set to
ApiErrorRateInsight.
If returning metrics for the ApiErrorRateInsight Insights
type, this is the error to retrieve data for. For example,
AccessDenied.
Parameter maxResults :
The maximum number of data points to return. Valid values are integers
from 1 to 21600. The default value is 21600.
Parameter nextToken :
Returned if all datapoints can't be returned in a single call. For
example, due to reaching MaxResults.
Add this parameter to the request to continue retrieving results starting from the last evaluated point.
Parameter period :
Granularity of data to retrieve, in seconds. Valid values are
60, 300, and 3600. If you specify
any other value, you will get an error. The default is 3600 seconds.
Parameter startTime :
Specifies, in UTC, the start time for time-series data. The value
specified is inclusive; results include data points with the specified
time stamp.
The default is 90 days before the time of request.
Parameter trailName :
The Amazon Resource Name(ARN) or name of the trail for which you want to
retrieve Insights metrics data. This parameter should only be provided to
fetch Insights metrics data generated on trails logging data events. This
parameter is not required for Insights metric data generated on trails
logging management events.
Implementation
Future<ListInsightsMetricDataResponse> listInsightsMetricData({
required String eventName,
required String eventSource,
required InsightType insightType,
InsightsMetricDataType? dataType,
DateTime? endTime,
String? errorCode,
int? maxResults,
String? nextToken,
int? period,
DateTime? startTime,
String? trailName,
}) async {
_s.validateNumRange(
'maxResults',
maxResults,
1,
21600,
);
_s.validateNumRange(
'period',
period,
60,
3600,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'CloudTrail_20131101.ListInsightsMetricData'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'EventName': eventName,
'EventSource': eventSource,
'InsightType': insightType.value,
if (dataType != null) 'DataType': dataType.value,
if (endTime != null) 'EndTime': unixTimestampToJson(endTime),
if (errorCode != null) 'ErrorCode': errorCode,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (period != null) 'Period': period,
if (startTime != null) 'StartTime': unixTimestampToJson(startTime),
if (trailName != null) 'TrailName': trailName,
},
);
return ListInsightsMetricDataResponse.fromJson(jsonResponse.body);
}