deleteRolePolicy method

Future<void> deleteRolePolicy({
  1. required String policyName,
  2. required String roleName,
})

Deletes the specified inline policy that is embedded in the specified IAM role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

May throw NoSuchEntityException. May throw LimitExceededException. May throw UnmodifiableEntityException. May throw ServiceFailureException.

Parameter policyName : The name of the inline policy to delete from the specified IAM role.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

Parameter roleName : The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

Implementation

Future<void> deleteRolePolicy({
  required String policyName,
  required String roleName,
}) async {
  ArgumentError.checkNotNull(policyName, 'policyName');
  _s.validateStringLength(
    'policyName',
    policyName,
    1,
    128,
    isRequired: true,
  );
  ArgumentError.checkNotNull(roleName, 'roleName');
  _s.validateStringLength(
    'roleName',
    roleName,
    1,
    64,
    isRequired: true,
  );
  final $request = <String, dynamic>{};
  $request['PolicyName'] = policyName;
  $request['RoleName'] = roleName;
  await _protocol.send(
    $request,
    action: 'DeleteRolePolicy',
    version: '2010-05-08',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['DeleteRolePolicyRequest'],
    shapes: shapes,
  );
}