listPoliciesForTarget method

Future<ListPoliciesForTargetResponse> listPoliciesForTarget({
  1. required PolicyType filter,
  2. required String targetId,
  3. int? maxResults,
  4. String? nextToken,
})

Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list. This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an AWS service.

May throw AccessDeniedException. May throw AWSOrganizationsNotInUseException. May throw InvalidInputException. May throw ServiceException. May throw TargetNotFoundException. May throw TooManyRequestsException. May throw UnsupportedAPIEndpointException.

Parameter filter : The type of policy that you want to include in the returned list. You must specify one of the following values:

Parameter targetId : The unique identifier (ID) of the root, organizational unit, or account whose policies you want to list.

The regex pattern for a target ID string requires one of the following:

  • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
  • Account - A string that consists of exactly 12 digits.
  • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.

Parameter maxResults : The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

Parameter nextToken : The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

Implementation

Future<ListPoliciesForTargetResponse> listPoliciesForTarget({
  required PolicyType filter,
  required String targetId,
  int? maxResults,
  String? nextToken,
}) async {
  ArgumentError.checkNotNull(filter, 'filter');
  ArgumentError.checkNotNull(targetId, 'targetId');
  _s.validateStringLength(
    'targetId',
    targetId,
    0,
    100,
    isRequired: true,
  );
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    20,
  );
  _s.validateStringLength(
    'nextToken',
    nextToken,
    0,
    100000,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSOrganizationsV20161128.ListPoliciesForTarget'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'Filter': filter.toValue(),
      'TargetId': targetId,
      if (maxResults != null) 'MaxResults': maxResults,
      if (nextToken != null) 'NextToken': nextToken,
    },
  );

  return ListPoliciesForTargetResponse.fromJson(jsonResponse.body);
}