private Instance instanceData(String myInstanceId, AmazonEC2 ec2) { return ec2.describeInstances(new DescribeInstancesRequest().withInstanceIds(myInstanceId)).getReservations().get(0).getInstances().get(0); }
/** * Queries instances with given Ids on AWS * * @param instanceIds List of instance IDs * @return */ protected Collection<com.amazonaws.services.ec2.model.Instance> getEC2Instances( Collection<String> instanceIds ) { if( instanceIds == null || instanceIds.size() == 0 ) { return new ArrayList<com.amazonaws.services.ec2.model.Instance>(); } Collection<com.amazonaws.services.ec2.model.Instance> instances = new LinkedList<com.amazonaws.services.ec2.model.Instance>(); DescribeInstancesRequest request = new DescribeInstancesRequest(); request = request.withInstanceIds( instanceIds ); DescribeInstancesResult result = null; try { result = client.describeInstances( request ); } catch ( Exception e ) { LOG.error( "Error while getting instance information from AWS.", e ); return Collections.EMPTY_LIST; } for ( Reservation reservation : result.getReservations() ) { for ( com.amazonaws.services.ec2.model.Instance in : reservation.getInstances() ) { instances.add( in ); } } return instances; }
/** {@inheritDoc} */ @Override public Collection<InetSocketAddress> getRegisteredAddresses() throws IgniteSpiException { initClients(); List<String> instanceIds = new ArrayList<>(); DescribeLoadBalancersRequest req = new DescribeLoadBalancersRequest().withLoadBalancerNames(loadBalancerName); List<LoadBalancerDescription> descs = amazonELBClient.describeLoadBalancers(req).getLoadBalancerDescriptions(); for (LoadBalancerDescription desc : descs) { for (Instance instance : desc.getInstances()) instanceIds.add(instance.getInstanceId()); } DescribeInstancesRequest instReq = new DescribeInstancesRequest().withInstanceIds(instanceIds); List<Reservation> reservations = amazonEC2Client.describeInstances(instReq).getReservations(); List<InetSocketAddress> addrs = new ArrayList<>(); for (Reservation reservation : reservations) { List<com.amazonaws.services.ec2.model.Instance> instances = reservation.getInstances(); for (com.amazonaws.services.ec2.model.Instance instance : instances) addrs.add(new InetSocketAddress(instance.getPrivateIpAddress(), 0)); } return addrs; }
public String retriableCall() throws IllegalStateException { DescribeInstancesRequest desc = new DescribeInstancesRequest().withInstanceIds(getInstanceId()); DescribeInstancesResult res = client.describeInstances(desc); for (Reservation resr : res.getReservations()) { for (Instance ins : resr.getInstances()) { for (com.amazonaws.services.ec2.model.Tag tag : ins.getTags()) { if (tag.getKey().equals("aws:autoscaling:groupName")) return tag.getValue(); } } } throw new IllegalStateException("Couldn't determine ASG name"); } }.call();
request.withInstanceIds(ids); DescribeInstancesResult result = ec2.describeInstances(request); List<Reservation> reservations = result.getReservations();
DescribeInstancesRequest dis = ( new DescribeInstancesRequest() ).withInstanceIds( instanceIdCopy ); DescribeInstancesResult disresult = client.describeInstances( dis );
public CompletableFuture<List<Instance>> getInstances(List<String> instanceIds, boolean requirePrivateAccessible) { return describeInstances(new DescribeInstancesRequest().withInstanceIds(instanceIds)) .thenApply(DescribeInstancesResult::getReservations) .thenApply(rs -> rs.stream().flatMap(r -> r.getInstances().stream())) .thenApply(instances -> instances.filter(accessible(requirePrivateAccessible))) .thenApply(instances -> instances.collect(Collectors.toList())); }
public boolean checkInstanceInService(String instanceId) { DescribeInstancesResult instancesResult = awsEc2Client.describeInstances(new DescribeInstancesRequest().withInstanceIds(instanceId)); return instancesResult.getReservations().stream() .flatMap(r -> r.getInstances().stream()) .filter(instance -> instance.getInstanceId().equals(instanceId)) .map(this::toEc2Instance).findFirst().map(ec2Instance -> ec2Instance.isReachable(activeConfiguration.getAwsPrivateIp(), activeConfiguration.getPort(), log)).orElse(false); }
private String lookupIpOfInstance(String instanceId) throws Exception { DescribeInstancesResult r=ec2Client.describeInstances( new DescribeInstancesRequest().withInstanceIds(instanceId) ); List<Reservation> instances=r.getReservations(); if(instances.size() != 1) throw new Exception("Could not find instance ["+instanceId+"]"); return instances.get(0).getInstances().get(0).getPublicIpAddress(); }
@Override public List<Instance> getInstances(List<String> instanceIds) { checkNotNull(instanceIds); checkArgument(!isEmpty(instanceIds), "must supply at least one instance id"); DescribeInstancesRequest request = new DescribeInstancesRequest().withInstanceIds(instanceIds); DescribeInstancesResult result = client.describeInstances(request); return getInstances(result); }
private Instance instanceData(String myInstanceId, AmazonEC2 ec2) { return ec2.describeInstances(new DescribeInstancesRequest().withInstanceIds(myInstanceId)).getReservations().get(0).getInstances().get(0); }
private List<Tag> getInstanceTags(String instanceId) { final List<Tag> tags = new ArrayList<>(); final DescribeInstancesRequest request = new DescribeInstancesRequest().withInstanceIds(singletonList(instanceId)); final DescribeInstancesResult response = getEc2().describeInstances( request ); for (final Reservation res : response.getReservations()) for (final Instance inst : res.getInstances()) { final List<Tag> instanceTags = inst.getTags(); if (instanceTags != null && instanceTags.size() > 0) tags.addAll(instanceTags); } return tags; }
private List<Reservation> fetchReservations(final AmazonEC2Client amazonEC2Client, final CloudTrailEvent event, final List<String> instanceIds){ final DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest(); DescribeInstancesResult describeInstancesResult = null; try { describeInstancesResult = amazonEC2Client .describeInstances(describeInstancesRequest.withInstanceIds(instanceIds)); } catch (final AmazonServiceException e) { LOG.warn("Subnet plugin: {}", e.getErrorMessage()); return null; } return describeInstancesResult.getReservations(); }
private String findIpAddress(String instanceId) { DescribeInstancesResult result=ec2Client.describeInstances(new DescribeInstancesRequest().withInstanceIds(instanceId)); return result.getReservations().get(0).getInstances().get(0).getPublicIpAddress(); };
@Override public Instance call() throws NotFoundException { DescribeInstancesRequest request = new DescribeInstancesRequest().withInstanceIds(this.instanceId); DescribeInstancesResult result = getClient().getApi().describeInstances(request); if (result.getReservations().isEmpty()) { throw new NotFoundException(format("DescribeInstances: no such instance exists: '%s'", this.instanceId)); } Reservation reservation = getOnlyElement(result.getReservations()); Instance instance = getOnlyElement(reservation.getInstances()); return instance; }
private boolean instanceStarting(String instanceId) { DescribeInstancesResult result=ec2Client.describeInstances(new DescribeInstancesRequest().withInstanceIds(instanceId)); return result.getReservations().get(0).getInstances().get(0).getState().getName().equals(InstanceStateName.Pending.toString()); };
public String waitUntilRunningAndGetPublicDnsName() { // Give Amazon some time to settle before we ask it for information sleep(5); for (;;) { DescribeInstancesRequest describe = new DescribeInstancesRequest().withInstanceIds(newArrayList(instanceId)); Instance instance = ec2.describeInstances(describe).getReservations().get(0).getInstances().get(0); if (instance.getState().getName().equals("running")) { return instance.getPublicDnsName(); } logger.info("Instance {} is still {}. Waiting...", instanceId, instance.getState().getName()); sleep(1); } }
public String waitUntilRunningAndGetPublicDnsName() { // Give Amazon some time to settle before we ask it for information sleep(5); for (; ; ) { DescribeInstancesRequest describe = new DescribeInstancesRequest().withInstanceIds(asList(instanceId)); Instance instance = ec2.describeInstances(describe).getReservations().get(0).getInstances().get(0); if (instance.getState().getName().equals("running")) { return instance.getPublicDnsName(); } logger.info("Instance {} is still {}. Waiting...", instanceId, instance.getState().getName()); sleep(1); } }
@Override public List<Instance> call() { List<Instance> instances = new ArrayList<>(); DescribeInstancesRequest request = new DescribeInstancesRequest(); request.withInstanceIds(this.instanceIds); request.withFilters(this.filters); // paginate through result as long as there is another response token boolean moreResults = false; do { DescribeInstancesResult result = getClient().getApi().describeInstances(request); instances.addAll(instances(result)); moreResults = result.getNextToken() != null && !result.getNextToken().equals(""); request.setNextToken(result.getNextToken()); } while (moreResults); return instances; }
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()); } } }