List of usage examples for com.amazonaws.services.ec2.model TerminateInstancesRequest TerminateInstancesRequest
public TerminateInstancesRequest(java.util.List<String> instanceIds)
From source file:com.github.vatbub.awsvpnlauncher.Main.java
License:Apache License
/** * Terminates all AWS instances that were started using this app * * @see #launch()//ww w . j a v a 2 s . co m */ private static void terminate() { String instanceIdsPrefValue = prefs.getPreference("instanceIDs", ""); if (instanceIdsPrefValue.equals("")) { throw new IllegalStateException( "No instance was started with this script so no instance can be terminated. Launch a new instance using the launch command prior to terminate it."); } FOKLogger.info(Main.class.getName(), "Sending the termination request to AWS EC2..."); List<String> instanceIds = Arrays.asList(instanceIdsPrefValue.split(";")); for (String instanceId : instanceIds) { try { List<String> instanceIdCopy = new ArrayList<>(); instanceIdCopy.add(instanceId); TerminateInstancesRequest request = new TerminateInstancesRequest(instanceIdCopy); TerminateInstancesResult result = client.terminateInstances(request); for (InstanceStateChange item : result.getTerminatingInstances()) { FOKLogger.info(Main.class.getName(), "Terminated instance: " + item.getInstanceId() + ", instance state changed from " + item.getPreviousState() + " to " + item.getCurrentState()); } } catch (AmazonEC2Exception e) { FOKLogger.severe(Main.class.getName(), "Could not terminate instance " + instanceId + ": " + e.getMessage()); } } try { String cloudflareAPIKey = prefs.getPreference(Property.cloudflareAPIKey); String cloudflareEmail = prefs.getPreference(Property.cloudflareEmail); String targetDomain = prefs.getPreference(Property.cloudflareTargetZoneId); String cloudflareRecordID = prefs.getPreference("cloudflareRecordID", "0"); CloudflareAccess cloudflareAccess = new CloudflareAccess(cloudflareEmail, cloudflareAPIKey); DNSDeleteRecord cloudFlareDeleteDNSRecordRequest = new DNSDeleteRecord(cloudflareAccess, targetDomain, cloudflareRecordID); FOKLogger.info(Main.class.getName(), "Deleting the DNS record on cloudflare..."); JSONObject cloudflareResult = cloudFlareDeleteDNSRecordRequest.executeBasic(); if (cloudflareResult == null) { FOKLogger.severe(Main.class.getName(), "Something went wrong while deleting the DNS record for the vpn server on Cloudflare."); } else { prefs.setPreference("cloudflareRecordID", "0"); FOKLogger.info(Main.class.getName(), "The DNS record for the VPN Server was successfully deleted"); FOKLogger.fine(Main.class.getName(), "Cloudflare request result:"); FOKLogger.fine(Main.class.getName(), cloudflareResult.toString()); } } catch (PropertyNotConfiguredException e) { FOKLogger.info(Main.class.getName(), "Cloudflare config is not defined, not sending the ip to cloudflare"); } catch (CloudflareError e) { FOKLogger.log(Main.class.getName(), Level.SEVERE, "Something went wrong while deleting the DNS record for the vpn server on Cloudflare.", e); } // Delete the config value prefs.setPreference("instanceIDs", ""); }
From source file:com.metamx.druid.indexing.coordinator.scaling.EC2AutoScalingStrategy.java
License:Open Source License
@Override public AutoScalingData<Instance> terminate(List<String> ips) { if (ips.isEmpty()) { return new AutoScalingData<Instance>(Lists.<String>newArrayList(), Lists.<Instance>newArrayList()); }/*from w w w . j ava 2 s . c o m*/ DescribeInstancesResult result = amazonEC2Client.describeInstances( new DescribeInstancesRequest().withFilters(new Filter("private-ip-address", ips))); List<Instance> instances = Lists.newArrayList(); for (Reservation reservation : result.getReservations()) { instances.addAll(reservation.getInstances()); } try { log.info("Terminating instance[%s]", instances); amazonEC2Client.terminateInstances( new TerminateInstancesRequest(Lists.transform(instances, new Function<Instance, String>() { @Override public String apply(Instance input) { return input.getInstanceId(); } }))); return new AutoScalingData<Instance>(Lists.transform(ips, new Function<String, String>() { @Override public String apply(@Nullable String input) { return String.format("%s:%s", input, config.getWorkerPort()); } }), instances); } catch (Exception e) { log.error(e, "Unable to terminate any instances."); } return null; }
From source file:com.metamx.druid.merger.coordinator.scaling.EC2AutoScalingStrategy.java
License:Open Source License
@Override public AutoScalingData<Instance> terminate(List<String> ids) { DescribeInstancesResult result = amazonEC2Client.describeInstances( new DescribeInstancesRequest().withFilters(new Filter("private-ip-address", ids))); List<Instance> instances = Lists.newArrayList(); for (Reservation reservation : result.getReservations()) { instances.addAll(reservation.getInstances()); }/*from www .j av a 2 s. c om*/ try { log.info("Terminating instance[%s]", instances); amazonEC2Client.terminateInstances( new TerminateInstancesRequest(Lists.transform(instances, new Function<Instance, String>() { @Override public String apply(Instance input) { return input.getInstanceId(); } }))); return new AutoScalingData<Instance>(Lists.transform(ids, new Function<String, String>() { @Override public String apply(@Nullable String input) { return String.format("%s:%s", input, config.getWorkerPort()); } }), instances); } catch (Exception e) { log.error(e, "Unable to terminate any instances."); } return null; }
From source file:com.netflix.simianarmy.aws.AWSClient.java
License:Apache License
/** {@inheritDoc} */ @Override//www .j a v a 2s .com public void terminateInstance(String instanceId) { try { ec2Client().terminateInstances(new TerminateInstancesRequest(Arrays.asList(instanceId))); } catch (AmazonServiceException e) { if (e.getErrorCode().equals("InvalidInstanceID.NotFound")) { throw new NotFoundException("AWS instance " + instanceId + " not found", e); } throw e; } }
From source file:com.netflix.simianarmy.client.aws.AWSClient.java
License:Apache License
/** {@inheritDoc} */ @Override//w w w . j a v a2s .co m public void terminateInstance(String instanceId) { Validate.notEmpty(instanceId); LOGGER.info(String.format("Terminating instance %s in region %s.", instanceId, region)); try { ec2Client().terminateInstances(new TerminateInstancesRequest(Arrays.asList(instanceId))); } catch (AmazonServiceException e) { if (e.getErrorCode().equals("InvalidInstanceID.NotFound")) { throw new NotFoundException("AWS instance " + instanceId + " not found", e); } throw e; } }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Terminates the instances with the specified instance IDs. * * @param instanceIDs/*from w w w . ja va2 s . co m*/ * @return */ public TerminateInstancesResult terminateInstances(List<String> instanceIDs) { TerminateInstancesRequest term = new TerminateInstancesRequest(instanceIDs); TerminateInstancesResult r = ec2Client.terminateInstances(term); deleteClusterGroupIfNecessary(); return (r); }
From source file:com.vmware.photon.controller.model.adapters.awsadapter.AWSInstanceService.java
License:Open Source License
private void deleteInstance(AWSAllocation aws) { if (aws.computeRequest.isMockRequest || aws.computeRequest.requestType == InstanceRequestType.DELETE_DOCUMENTS_ONLY) { deleteComputeResource(this, aws.child, aws.computeRequest); return;//from w ww . j a v a2s . c o m } String instanceId = aws.child.id; if (instanceId == null) { aws.error = new IllegalStateException("AWS InstanceId not available"); aws.stage = AWSStages.ERROR; handleAllocation(aws); return; } List<String> instanceIdList = new ArrayList<String>(); instanceIdList.add(instanceId); TerminateInstancesRequest termRequest = new TerminateInstancesRequest(instanceIdList); StatelessService service = this; AsyncHandler<TerminateInstancesRequest, TerminateInstancesResult> terminateHandler = buildTerminationCallbackHandler( service, aws.computeRequest, aws.child, aws.amazonEC2Client, instanceId, aws.taskExpirationMicros); aws.amazonEC2Client.terminateInstancesAsync(termRequest, terminateHandler); }
From source file:com.xebialabs.overcast.host.Ec2CloudHost.java
License:Apache License
@Override public void teardown() { ec2.terminateInstances(new TerminateInstancesRequest(newArrayList(instanceId))); }
From source file:edu.umass.cs.aws.support.AWSEC2.java
License:Apache License
/** * Terminate an instance//from ww w . j ava2 s. c o m * * @param ec2 * @param createdInstanceId */ public static void terminateInstance(AmazonEC2 ec2, String createdInstanceId) { System.out.println("Terminating Instance:" + createdInstanceId); List<String> instanceIds = new LinkedList<>(); instanceIds.add(createdInstanceId); TerminateInstancesRequest tir = new TerminateInstancesRequest(instanceIds); ec2.terminateInstances(tir); }
From source file:eu.optimis.interopt.provider.aws.AmazonClient.java
License:Apache License
@Override public void terminate(String serviceId) throws UnknownServiceException { AmazonEC2 ec2 = getAmazonEC2Client(); log.info("Terminating service..."); List<VMProperties> vms = queryServiceProperties(serviceId); List<String> instances = new ArrayList<String>(); for (VMProperties vm : vms) { if (!(vm.getStatus().equals(InstanceStateName.Terminated.toString()) || vm.getStatus().equals(InstanceStateName.ShuttingDown.toString()))) { instances.add(vm.getId());/*from ww w.j a v a2 s .com*/ log.debug("Instance to stop: " + vm.getId()); } } if (instances.size() == 0) { log.info("There are no instances to be terminated!"); return; } TerminateInstancesRequest req = new TerminateInstancesRequest(instances); try { ec2.terminateInstances(req); } catch (AmazonServiceException e) { log.error("Service termination has failed: "); log.error(printServiceException(e)); throw new UnknownServiceException("Service termination has failed: " + e.getMessage()); } }