Reputation: 29767
I'm attempting to describe running ec2 instances that I'm using with the following code:
DescribeInstancesResult describeInstancesRequest = ec2.describeInstances();
List<Reservation> reservations = describeInstancesRequest.getReservations();
Set<Instance> instances = new HashSet<Instance>();
for (Reservation reservation : reservations) {
instances.addAll(reservation.getInstances());
}
System.out.println("You have " + instances.size() + " Amazon EC2 instance(s) running.");
I'm getting a return result of 0. I'm guessing this is because the default AZ is set to US-East.
My instances are running in US-West.
How do I change the AZ?
Upvotes: 1
Views: 1041
Reputation: 791
For those coming across this post, the current way to do this is:
AmazonEC2 ec2 = new AmazonEC2Client(new StaticCredentialsProvider(new BasicAWSCredentials("your-aws-access-key-here", "your-aws-secret-here")));
DescribeInstancesRequest request = new DescribeInstancesRequest();
Filter filter = new Filter()
.withName("availability-zone")
.withValues("us-east-1a");
request.withFilters(filter);
DescribeInstancesResult result = ec2.describeInstances(request);
List<Reservation> reservations = result.getReservations();
Upvotes: 1
Reputation: 29767
You can set the endpoint like this:
ec2.setEndpoint("ec2.us-west-1.amazonaws.com");
Upvotes: 1