describeTrails method

Future<DescribeTrailsResponse> describeTrails({
  1. bool? includeShadowTrails,
  2. List<String>? trailNameList,
})

Retrieves settings for one or more trails associated with the current region for your account.

May throw UnsupportedOperationException. May throw OperationNotPermittedException. May throw InvalidTrailNameException.

Parameter includeShadowTrails : Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region, or in the case of an organization trail, the replication of an organization trail in member accounts. If you do not include shadow trails, organization trails in a member account and region replication trails will not be returned. The default is true.

Parameter trailNameList : Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

If an empty list is specified, information for the trail in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is false, then information for all trails in the current region is returned.
  • If an empty list is specified and IncludeShadowTrails is null or true, then information for all trails in the current region and any associated shadow trails in other regions is returned.

Implementation

Future<DescribeTrailsResponse> describeTrails({
  bool? includeShadowTrails,
  List<String>? trailNameList,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DescribeTrails'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (includeShadowTrails != null)
        'includeShadowTrails': includeShadowTrails,
      if (trailNameList != null) 'trailNameList': trailNameList,
    },
  );

  return DescribeTrailsResponse.fromJson(jsonResponse.body);
}