getAccountAuthorizationDetails method

Future<GetAccountAuthorizationDetailsResponse> getAccountAuthorizationDetails({
  1. List<EntityType>? filter,
  2. String? marker,
  3. int? maxItems,
})

Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account. You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters.

May throw ServiceFailureException.

Parameter filter : A list of entity types used to filter the results. Only the entities that match the types you specify are included in the output. Use the value LocalManagedPolicy to include customer managed policies.

The format for this parameter is a comma-separated (if more than one) list of strings. Each string value in the list must be one of the valid values listed below.

Parameter marker : Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

Parameter maxItems : Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

Implementation

Future<GetAccountAuthorizationDetailsResponse>
    getAccountAuthorizationDetails({
  List<EntityType>? filter,
  String? marker,
  int? maxItems,
}) async {
  _s.validateStringLength(
    'marker',
    marker,
    1,
    320,
  );
  _s.validateNumRange(
    'maxItems',
    maxItems,
    1,
    1000,
  );
  final $request = <String, dynamic>{};
  filter?.also(
      (arg) => $request['Filter'] = arg.map((e) => e.toValue()).toList());
  marker?.also((arg) => $request['Marker'] = arg);
  maxItems?.also((arg) => $request['MaxItems'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'GetAccountAuthorizationDetails',
    version: '2010-05-08',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['GetAccountAuthorizationDetailsRequest'],
    shapes: shapes,
    resultWrapper: 'GetAccountAuthorizationDetailsResult',
  );
  return GetAccountAuthorizationDetailsResponse.fromXml($result);
}