getIamPolicy method

Future<Policy> getIamPolicy(
  1. GetIamPolicyRequest request,
  2. String resource, {
  3. String? $fields,
})

Gets the access control policy for an organization resource.

The policy may be empty if no such policy or resource exists. The resource field should be the organization's resource name, for example: "organizations/123". Authorization requires the IAM permission resourcemanager.organizations.getIamPolicy on the specified organization.

request - The metadata request object.

Request parameters:

resource - REQUIRED: The resource for which the policy is being requested. See Resource names for the appropriate value for this field. Value must have pattern ^organizations/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Policy.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Policy> getIamPolicy(
  GetIamPolicyRequest request,
  core.String resource, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v3/' + core.Uri.encodeFull('$resource') + ':getIamPolicy';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>);
}