disablePolicyType method

Future<DisablePolicyTypeResponse> disablePolicyType({
  1. required PolicyType policyType,
  2. required String rootId,
})

Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

You can only call this operation from the management account or a member account that is a delegated administrator.

To view the status of available policy types in the organization, use ListRoots.

May throw AccessDeniedException. May throw AWSOrganizationsNotInUseException. May throw ConcurrentModificationException. May throw ConstraintViolationException. May throw InvalidInputException. May throw PolicyChangesInProgressException. May throw PolicyTypeNotEnabledException. May throw RootNotFoundException. May throw ServiceException. May throw TooManyRequestsException. May throw UnsupportedAPIEndpointException.

Parameter policyType : The policy type that you want to disable in this root. You can specify one of the following values:

Parameter rootId : ID for the root in which you want to disable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.

Implementation

Future<DisablePolicyTypeResponse> disablePolicyType({
  required PolicyType policyType,
  required String rootId,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSOrganizationsV20161128.DisablePolicyType'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'PolicyType': policyType.value,
      'RootId': rootId,
    },
  );

  return DisablePolicyTypeResponse.fromJson(jsonResponse.body);
}