Jump to Content

Class DeleteRoleCommandProtected

Deletes the specified role. Unlike the Amazon Web Services Management Console, when you delete a role programmatically, you must delete the items attached to the role manually, or the deletion fails. For more information, see Deleting an IAM role. Before attempting to delete a role, remove the following attached items:

Make sure that you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.


Use a bare-bones client and the command you need to make an API call.

import { IAMClient, DeleteRoleCommand } from "@aws-sdk/client-iam"; // ES Modules import
// const { IAMClient, DeleteRoleCommand } = require("@aws-sdk/client-iam"); // CommonJS import
const client = new IAMClient(config);
const command = new DeleteRoleCommand(input);
const response = await client.send(command);







ConcurrentModificationException (client fault)

The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again.


DeleteConflictException (client fault)

The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.


LimitExceededException (client fault)

The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.


NoSuchEntityException (client fault)

The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource.


ServiceFailureException (server fault)

The request processing has failed because of an unknown error, exception or failure.


UnmodifiableEntityException (client fault)

The request was rejected because service-linked roles are protected Amazon Web Services resources. Only the service that depends on the service-linked role can modify or delete the role on your behalf. The error message includes the name of the service that depends on this service-linked role. You must request the change through that service.


To delete an IAM role

// The following command removes the role named Test-Role.
const input = {
"RoleName": "Test-Role"
const command = new DeleteRoleCommand(input);
await client.send(command);
// example id: 053cdf74-9bda-44b8-bdbb-140fd5a32603




middlewareStack: MiddlewareStack<DeleteRoleCommandInput, DeleteRoleCommandOutput>