public virtual void PrepMode_RemoveRoles(AmazonIdentityManagementServiceClient iamClient, params string[] roles)
{
foreach (var roleName in roles)
{
try
{
iamClient.GetRole(new GetRoleRequest {RoleName = roleName});
Console.WriteLine("Removing old role {0}.", roleName);
// Remove existing policies
var listRolePoliciesResponse =
iamClient.ListRolePolicies(new ListRolePoliciesRequest {RoleName = roleName});
foreach (var policyName in listRolePoliciesResponse.PolicyNames)
{
var deleteRolePolicyRequest = new DeleteRolePolicyRequest
{
PolicyName = policyName,
RoleName = roleName
};
iamClient.DeleteRolePolicy(deleteRolePolicyRequest);
}
iamClient.DeleteRole(new DeleteRoleRequest {RoleName = roleName});
}
catch (NoSuchEntityException)
{
// Role doesn't exist, so don't do anything.
// Gobble the exception and loop.
break;
}
}
}