Hi,

I'm trying to destroy a cluster I created using Whirr (v. 0.8.0) and am getting authorization errors.  I'm starting a hadoop (CDH 3) cluster using EC2 c1.xlarge instances.  I have no problems doing this.  However when I attempt to destroy the cluster using the same properties file, I get the following error:

******
Destroying ccore113 cluster
Exception in thread "main" org.jclouds.rest.AuthorizationException: You are not authorized to perform this operation.
    at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.refineException(ParseAWSErrorFromXmlContent.java:123)
    at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:92)
    at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.shouldContinue(BaseHttpCommandExecutorService.java:197)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:167)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:135)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
    at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:132)
    at org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
    at org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
    at org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:248)
    at org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:148)
    at $Proxy70.terminateInstancesInRegion(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:164)
    at $Proxy71.terminateInstancesInRegion(Unknown Source)
    at org.jclouds.ec2.compute.strategy.EC2DestroyNodeStrategy.destroyInstanceInRegion(EC2DestroyNodeStrategy.java:105)
    at org.jclouds.aws.ec2.compute.strategy.AWSEC2DestroyNodeStrategy.destroyInstanceInRegion(AWSEC2DestroyNodeStrategy.java:70)
    at org.jclouds.ec2.compute.strategy.EC2DestroyNodeStrategy.destroyNode(EC2DestroyNodeStrategy.java:78)
    at org.jclouds.compute.internal.BaseComputeService$2.apply(BaseComputeService.java:297)
    at org.jclouds.compute.internal.BaseComputeService$2.apply(BaseComputeService.java:292)
    at org.jclouds.predicates.RetryablePredicate.apply(RetryablePredicate.java:76)
    at org.jclouds.compute.internal.BaseComputeService.doDestroyNode(BaseComputeService.java:309)
    at org.jclouds.compute.internal.BaseComputeService$1$1.call(BaseComputeService.java:264)
    at org.jclouds.compute.internal.BaseComputeService$1$1.call(BaseComputeService.java:259)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
    at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:132)
    at org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
    at org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
    at org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:248)
    at org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:148)
    at $Proxy70.terminateInstancesInRegion(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:164)
    at $Proxy71.terminateInstancesInRegion(Unknown Source)
    at org.jclouds.ec2.compute.strategy.EC2DestroyNodeStrategy.destroyInstanceInRegion(EC2DestroyNodeStrategy.java:105)
    at org.jclouds.aws.ec2.compute.strategy.AWSEC2DestroyNodeStrategy.destroyInstanceInRegion(AWSEC2DestroyNodeStrategy.java:70)
    at org.jclouds.ec2.compute.strategy.EC2DestroyNodeStrategy.destroyNode(EC2DestroyNodeStrategy.java:78)
    at org.jclouds.compute.internal.BaseComputeService$2.apply(BaseComputeService.java:297)
    at org.jclouds.compute.internal.BaseComputeService$2.apply(BaseComputeService.java:292)
    at org.jclouds.predicates.RetryablePredicate.apply(RetryablePredicate.java:76)
    at org.jclouds.compute.internal.BaseComputeService.doDestroyNode(BaseComputeService.java:309)
    at org.jclouds.compute.internal.BaseComputeService$1$1.call(BaseComputeService.java:264)
    at org.jclouds.compute.internal.BaseComputeService$1$1.call(BaseComputeService.java:259)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
    at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
    at org.jclouds.compute.internal.BaseComputeService$1.apply(BaseComputeService.java:259)
    at org.jclouds.compute.internal.BaseComputeService$1.apply(BaseComputeService.java:254)
    at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:98)
    at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
    at org.jclouds.compute.internal.BaseComputeService.destroyNodesMatching(BaseComputeService.java:253)
    at org.apache.whirr.actions.DestroyClusterAction.postRunScriptsActions(DestroyClusterAction.java:66)
    at org.apache.whirr.actions.ScriptBasedClusterAction.doAction(ScriptBasedClusterAction.java:153)
    at org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:126)
    at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:233)
    at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:226)
    at org.apache.whirr.cli.command.DestroyClusterCommand.run(DestroyClusterCommand.java:69)
    at org.apache.whirr.cli.command.DestroyClusterCommand.run(DestroyClusterCommand.java:58)
    at org.apache.whirr.cli.Main.run(Main.java:69)
    at org.apache.whirr.cli.Main.main(Main.java:102)
    at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
    at org.jclouds.compute.internal.BaseComputeService$1.apply(BaseComputeService.java:259)
    at org.jclouds.compute.internal.BaseComputeService$1.apply(BaseComputeService.java:254)
    at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:98)
    at org.jclouds.concurrent.FutureIterables.transformParallel(FutureIterables.java:86)
    at org.jclouds.compute.internal.BaseComputeService.destroyNodesMatching(BaseComputeService.java:253)
    at org.apache.whirr.actions.DestroyClusterAction.postRunScriptsActions(DestroyClusterAction.java:66)
    at org.apache.whirr.actions.ScriptBasedClusterAction.doAction(ScriptBasedClusterAction.java:153)
    at org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:126)
    at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:233)
    at org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:226)
    at org.apache.whirr.cli.command.DestroyClusterCommand.run(DestroyClusterCommand.java:69)
    at org.apache.whirr.cli.command.DestroyClusterCommand.run(DestroyClusterCommand.java:58)
    at org.apache.whirr.cli.Main.run(Main.java:69)
    at org.apache.whirr.cli.Main.main(Main.java:102)
Caused by: org.jclouds.aws.AWSResponseException: request POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 403, error: AWSError{requestId='bb40cc37-03ce-44c5-886a-4374d172a582', requestToken='null', code='UnauthorizedOperation', message='You are not authorized to perform this operation.', context='{Response=, Errors=}'}
    at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:78)
    at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:69)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.shouldContinue(BaseHttpCommandExecutorService.java:197)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:167)
    at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:135)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
*****

Can anyone provide some insight?  I've been able to destroy clusters before; this only started happening over the past month or so. Please let me know if I can give any other information that might be useful.

Thanks!