private Instance instanceData(String myInstanceId, AmazonEC2 ec2) { return ec2.describeInstances(new DescribeInstancesRequest().withInstanceIds(myInstanceId)).getReservations().get(0).getInstances().get(0); }
public Reservation unmarshall(StaxUnmarshallerContext context) throws Exception { Reservation reservation = new Reservation(); int originalDepth = context.getCurrentDepth(); int targetDepth = originalDepth + 1; reservation.withGroups(new ArrayList<GroupIdentifier>()); continue; reservation.withGroups(GroupIdentifierStaxUnmarshaller.getInstance().unmarshall(context)); continue; reservation.withInstances(new ArrayList<Instance>()); continue; reservation.withInstances(InstanceStaxUnmarshaller.getInstance().unmarshall(context)); continue; reservation.setOwnerId(StringStaxUnmarshaller.getInstance().unmarshall(context)); continue; reservation.setRequesterId(StringStaxUnmarshaller.getInstance().unmarshall(context)); continue; reservation.setReservationId(StringStaxUnmarshaller.getInstance().unmarshall(context)); continue; reservation.withGroupNames(new ArrayList<String>()); continue; reservation.withGroupNames(StringStaxUnmarshaller.getInstance().unmarshall(context));
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getGroups() == null) ? 0 : getGroups().hashCode()); hashCode = prime * hashCode + ((getInstances() == null) ? 0 : getInstances().hashCode()); hashCode = prime * hashCode + ((getOwnerId() == null) ? 0 : getOwnerId().hashCode()); hashCode = prime * hashCode + ((getRequesterId() == null) ? 0 : getRequesterId().hashCode()); hashCode = prime * hashCode + ((getReservationId() == null) ? 0 : getReservationId().hashCode()); hashCode = prime * hashCode + ((getGroupNames() == null) ? 0 : getGroupNames().hashCode()); return hashCode; }
new DescribeInstancesRequest() .withFilters( new Filter("private-ip-address", ips) for (Reservation reservation : result.getReservations()) { instances.addAll(reservation.getInstances());
DescribeInstancesResult result = ec2Client.describeInstances(new DescribeInstancesRequest().withInstanceIds(instanceIds)); if (allInstancesStarted(result, port)) { List<Instance> resolvedInstances = newArrayList(); for (Reservation reservation : result.getReservations()) { for (com.amazonaws.services.ec2.model.Instance instance : reservation.getInstances()) { URI internalUri = null; if (instance.getPrivateIpAddress() != null) { internalUri = uriBuilder().scheme("http").host(instance.getPrivateIpAddress()).port(port).build(); if (instance.getPublicDnsName() != null) { externalUri = uriBuilder().scheme("http").host(instance.getPublicDnsName()).port(port).build();
AmazonEC2Client ec2 = new AmazonEC2Client(new PersistS3.H2OAWSCredentialsProviderChain()); ec2.setEndpoint("ec2." + region + ".amazonaws.com"); DescribeInstancesResult describeInstancesResult = ec2.describeInstances(); List<Reservation> reservations = describeInstancesResult.getReservations(); List<Instance> instances = new ArrayList<Instance>(); for( Instance instance : reservation.getInstances() ) { String ip = ip(instance); if( ip != null ) { String name = null; if( instance.getTags().size() > 0 ) name = instance.getTags().get(0).getValue(); if( NAME.equals(name) ) instances.add(instance); RunInstancesResult runRes = ec2.runInstances(run); ArrayList<String> ids = new ArrayList<String>(); for( Instance instance : runRes.getReservation().getInstances() ) ids.add(instance.getInstanceId());
boolean done = false; DescribeInstancesRequest request = new DescribeInstancesRequest(); while(!done) { DescribeInstancesResult response = ec2.describeInstances(request); for(Reservation reservation : response.getReservations()) { for(Instance instance : reservation.getInstances()) { System.out.printf( "Found instance with id %s, " + "state %s " + "and monitoring state %s", instance.getInstanceId(), instance.getImageId(), instance.getInstanceType(), instance.getState().getName(), instance.getMonitoring().getState()); request.setNextToken(response.getNextToken()); if(response.getNextToken() == null) { done = true;
private Instance getInstanceDescription(String instanceId) { DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest(); List<String> instanceIds = new ArrayList<>(1); instanceIds.add(instanceId); describeInstancesRequest.setInstanceIds(instanceIds); DescribeInstancesResult describeInstancesResult = getEc2Client().describeInstances(describeInstancesRequest); return describeInstancesResult.getReservations().get(0).getInstances().get(0); } }
if(instances.size()==0) continue; AmazonEC2Client ec2 = new AmazonEC2Client(awsCredentials); ec2.setEndpoint(beanstalkEndpoint.replace("elasticbeanstalk", "ec2")); List<String> instanceIds = new ArrayList<String>(); for (Instance instance : instances) { DescribeInstancesRequest desins = new DescribeInstancesRequest().withInstanceIds(instanceIds); DescribeInstancesResult desinres = ec2.describeInstances(desins); for (Reservation reservation : desinres.getReservations()) { for (com.amazonaws.services.ec2.model.Instance ins : reservation.getInstances()) { String ip = ins.getPublicIpAddress(); if(ip!=null && ip.length()>0) ips.add(ip);
private boolean waitForInstanceStatusRunning(Instance instance) { String instanceId = instance.getInstanceId(); DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest().withInstanceIds(instanceId); int counter = 0; while (counter++ < maxSleepIterations) { sleepMillis(sleepMillis); DescribeInstancesResult result = ec2.describeInstances(describeInstancesRequest); for (Reservation reservation : result.getReservations()) { for (Instance reserved : reservation.getInstances()) { if (reserved.getPublicIpAddress() != null && AWS_RUNNING_STATE.equals(reserved.getState().getName())) { return true; } } } } return false; }
public Map<String, Instance> findExistingInstances(final String instanceType) { final Map<String, Instance> instances = new HashMap<>(); final DescribeInstancesResult describeInstancesResult = this.ec2client.describeInstances(new DescribeInstancesRequest() .withFilters(this.getInstanceFilters(instanceType))); // Check for existing EC2 instances that fit the filter criteria and use those. for (final Reservation reservation : describeInstancesResult.getReservations()) { for (final Instance instance : reservation.getInstances()) { // If we found any existing EC2 instances put them into the instances variable. System.out.format("Reservations %s (%s): %s%n", instance.getInstanceId(), instance.getState().getName(), instance.getSecurityGroups().get(0).getGroupName()); instances.put(instance.getInstanceId(), instance); } } return instances; }
AmazonEC2Client ec2client = new AmazonEC2Client(credential); DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest(); DescribeInstancesResult describeInstancesResult = ec2client.describeInstances(describeInstancesRequest.withInstanceIds(ins_id)); if (describeInstancesResult.getReservations().size() == 0 || describeInstancesResult.getReservations().get(0).getInstances().size() == 0) { throw new GfacException("Instance not found:" + ins_id); this.instance = describeInstancesResult.getReservations().get(0).getInstances().get(0); if (this.instance.getKeyName() == null || !this.instance.getKeyName().equals(KEY_PAIR_NAME)) throw new GfacException("Keypair for instance:" + ins_id + " is not valid"); for (GroupIdentifier g : this.instance.getSecurityGroups()) { IpPermission ip = new IpPermission(); ip.setIpProtocol("tcp"); r.setGroupId(g.getGroupId()); try { ec2client.authorizeSecurityGroupIngress(r); } catch (AmazonServiceException as) {
private void addInstanceToAgentsFile(Instance instance) { String instanceId = instance.getInstanceId(); DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest().withInstanceIds(instanceId); DescribeInstancesResult result = ec2.describeInstances(describeInstancesRequest); for (Reservation reservation : result.getReservations()) { for (Instance reserved : reservation.getInstances()) { appendText(reserved.getPublicIpAddress() + ',' + reserved.getPrivateIpAddress() + NEW_LINE, agentsFile); componentRegistry.addAgent(reserved.getPublicIpAddress(), reserved.getPrivateIpAddress()); } } }
Optional<String> nextToken = empty(); do { final DescribeInstancesRequest request = new DescribeInstancesRequest(); if (nextToken.isPresent()) { request.setNextToken(nextToken.get()); } else { request.withFilters( new Filter("ip-address").withValues("*"), new Filter("instance-state-name").withValues("running")); final DescribeInstancesResult result = ec2Client.describeInstances(request); nextToken = Optional.ofNullable(trimToNull(result.getNextToken())); for (final Reservation reservation : result.getReservations()) { for (final Instance instance : reservation.getInstances()) { try { processInstance(account, region, instance); final Map<String, String> ec2Ctx = ImmutableMap.<String, String>builder() .putAll(accountRegionCtx) .put("ec2_instance_id", instance.getInstanceId()) .build(); jobExceptionHandler.onException(e, ec2Ctx);
Optional<String> nextToken = empty(); do { final DescribeInstancesRequest request = new DescribeInstancesRequest(); if (nextToken.isPresent()) { request.withNextToken(nextToken.get()); } else { request.withFilters(new Filter("instance-state-name").withValues("running")); final DescribeInstancesResult result = ec2Client.describeInstances(request); nextToken = Optional.ofNullable(trimToNull(result.getNextToken())); for (final Reservation reservation : result.getReservations()) { for (final Instance instance : reservation.getInstances()) { try { processInstance(ec2Client, account, region, instance); } catch (Exception e) { jobExceptionHandler.onException(e, ImmutableMap.<String, String>builder() .putAll(accountRegionCtx).put("ec2_instance_id", instance.getInstanceId()).build());
public void scanInstanceId(String... instanceIdList) { Arrays.asList(instanceIdList).forEach(instanceId -> { String token = null; DescribeInstancesRequest request = new DescribeInstancesRequest().withInstanceIds(instanceId); do { rateLimit(); DescribeInstancesResult results = getClient().describeInstances(); results.getReservations().forEach(reservation -> { reservation.getInstances().forEach(instance -> { try { writeInstance(instance); } catch (RuntimeException e) { maybeThrow(e); } }); }); request.setNextToken(results.getNextToken()); } while (tokenHasNext(token)); }); }
try { awsRateLimiter.acquire(); DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setInstanceIds(Arrays.asList(instanceId)); DescribeInstancesResult result = defaultClient.describeInstances(request); for (Reservation reservation : result.getReservations()) { for (Instance inst : reservation.getInstances()) { if (StringUtils.equals(inst.getInstanceId(), instanceId)) { ops.succeed(); return inst;
try { List<Instance> ret = new ArrayList<>(); DescribeInstancesRequest request = new DescribeInstancesRequest() .withMaxResults(1000) .withFilters(new Filter("availability-zone", Arrays.asList(zone.getZoneName()))) .withSdkClientExecutionTimeout( 600 * 1000) //10 minutes time out for total execution including retries DescribeInstancesResult result = client.describeInstances(request); while (result != null) { reservations.addAll(result.getReservations()); if (result.getNextToken() != null) { request.setNextToken(result.getNextToken()); result = client.describeInstances(request); } else { result = null; for (Instance inst : reservation.getInstances()) { ret.add(inst);
private static boolean allInstancesStarted(DescribeInstancesResult describeInstancesResult, int port) { for (Reservation reservation : describeInstancesResult.getReservations()) { for (com.amazonaws.services.ec2.model.Instance instance : reservation.getInstances()) { if (instance.getState() == null || instance.getState().getCode() == null) { return false; } // is it running? int state = instance.getState().getCode(); if (state == STATE_PENDING || instance.getPublicDnsName() == null) { return false; } // can we talk to it yet? try { Resources.toByteArray(new URL(format("http://%s:%s/v1/slot", instance.getPublicDnsName(), port))); } catch (Exception e) { return false; } } } return true; } }
sleep(INSTANCE_STATUS_SLEEP_MS); allStarted = true; describeInstancesResult = this.ec2client.describeInstances(describeInstancesRequest); for (final Reservation reservation : describeInstancesResult.getReservations()) { for (final Instance instance : reservation.getInstances()) { System.out.format("%s %s%n", instance.getInstanceId(), instance.getState().getName()); if (!instance.getState().getName().equals("running")) { allStarted = false; } else { while (!allInitialized) { sleep(INSTANCE_STATUS_SLEEP_MS); final DescribeInstanceStatusResult describeInstanceStatus = this.ec2client.describeInstanceStatus(describeInstanceStatusRequest); allInitialized = true; for (final InstanceStatus instanceStatus : describeInstanceStatus.getInstanceStatuses()) {