List of usage examples for com.amazonaws.services.ec2.model TerminateInstancesRequest TerminateInstancesRequest
public TerminateInstancesRequest()
From source file:org.apache.provisionr.amazon.activities.TerminateInstances.java
License:Apache License
@Override public void execute(AmazonEC2 client, Pool pool, DelegateExecution execution) { @SuppressWarnings("unchecked") Optional<List<String>> instanceIds = Optional .fromNullable((List<String>) execution.getVariable(ProcessVariables.INSTANCE_IDS)); LOG.info(">> Terminating instances: {}", instanceIds); if (instanceIds.isPresent() && instanceIds.get().size() > 0) { client.terminateInstances(new TerminateInstancesRequest().withInstanceIds(instanceIds.get())); }// ww w . jav a2 s . c o m }
From source file:org.apache.usergrid.chop.api.store.amazon.EC2InstanceManager.java
License:Apache License
/** * Terminates instances with given Ids//from ww w . j a v a2s . c o m * * @param instanceIds */ @Override public void terminateInstances(final Collection<String> instanceIds) { if (instanceIds == null || instanceIds.size() == 0) { return; } TerminateInstancesRequest request = (new TerminateInstancesRequest()).withInstanceIds(instanceIds); client.terminateInstances(request); }
From source file:org.cloudifysource.esc.driver.provisioning.privateEc2.PrivateEC2CloudifyDriver.java
License:Open Source License
@Override public boolean stopMachine(final String serverIp, final long duration, final TimeUnit unit) throws CloudProvisioningException, TimeoutException, InterruptedException { if (logger.isLoggable(Level.FINEST)) { logger.finest(//from w w w. ja v a2s . c o m "Stopping new machine with the following thread: threadId=" + Thread.currentThread().getId() + " serviceName=" + this.serviceName + " serverIp=" + serverIp); } logger.info("Stopping instance server ip = " + serverIp + "..."); final DescribeInstancesRequest describeInstance = new DescribeInstancesRequest(); describeInstance.withFilters(new Filter("private-ip-address", Arrays.asList(serverIp))); final DescribeInstancesResult describeInstances = ec2.describeInstances(describeInstance); final Reservation reservation = describeInstances.getReservations().get(0); if (reservation != null && reservation.getInstances().get(0) != null) { final TerminateInstancesRequest tir = new TerminateInstancesRequest(); tir.withInstanceIds(reservation.getInstances().get(0).getInstanceId()); final TerminateInstancesResult terminateInstances = ec2.terminateInstances(tir); final String instanceId = terminateInstances.getTerminatingInstances().get(0).getInstanceId(); try { this.waitStopInstanceStatus(instanceId, duration, unit); } finally { // FIXME By default, cloudify doesn't delete tags. So we should keep it that way. // Remove instance Tags // if (!terminateInstances.getTerminatingInstances().isEmpty()) { // logger.fine("Deleting tags for instance id=" + instanceId); // DeleteTagsRequest deleteTagsRequest = new DeleteTagsRequest(); // deleteTagsRequest.setResources(Arrays.asList(instanceId)); // ec2.deleteTags(deleteTagsRequest); // } } } else { logger.warning("No instance to stop: " + reservation); } return true; }
From source file:org.cloudifysource.esc.driver.provisioning.privateEc2.PrivateEC2CloudifyDriver.java
License:Open Source License
private void handleProvisioningFailure(final int numberOfManagementMachines, final int numberOfErrors, final Exception firstCreationException, final MachineDetails[] createdManagementMachines) throws CloudProvisioningException { logger.severe("Of the required " + numberOfManagementMachines + " management machines, " + numberOfErrors + " failed to start."); if (numberOfManagementMachines > numberOfErrors) { logger.severe("Shutting down the other managememnt machines"); for (final MachineDetails machineDetails : createdManagementMachines) { if (machineDetails != null) { logger.severe("Shutting down machine: " + machineDetails); final TerminateInstancesRequest terminateInstancesRequest = new TerminateInstancesRequest(); terminateInstancesRequest.setInstanceIds(Arrays.asList(machineDetails.getMachineId())); ec2.terminateInstances(terminateInstancesRequest); }//from w w w .j av a 2s . c om } } throw new CloudProvisioningException( "One or more managememnt machines failed. The first encountered error was: " + firstCreationException.getMessage(), firstCreationException); }
From source file:org.cloudifysource.esc.driver.provisioning.privateEc2.PrivateEC2CloudifyDriver.java
License:Open Source License
@Override public void stopManagementMachines() throws TimeoutException, CloudProvisioningException { final MachineDetails[] managementServersMachineDetails = this.getManagementServersMachineDetails(); final List<String> ids = new ArrayList<String>(managementServersMachineDetails.length); for (final MachineDetails machineDetails : managementServersMachineDetails) { ids.add(machineDetails.getMachineId()); }//from w w w .j a va2s. com final TerminateInstancesRequest terminateInstancesRequest = new TerminateInstancesRequest(); terminateInstancesRequest.setInstanceIds(ids); logger.info("Terminating management instances... " + terminateInstancesRequest); ec2.terminateInstances(terminateInstancesRequest); }
From source file:org.deeplearning4j.aws.ec2.Ec2BoxCreator.java
License:Apache License
public List<InstanceStateChange> blowupBoxes() { TerminateInstancesRequest request = new TerminateInstancesRequest().withInstanceIds(boxesCreated); if (boxesCreated != null) { TerminateInstancesResult result = getEc2().terminateInstances(request); List<InstanceStateChange> change = result.getTerminatingInstances(); log.info("Boxes destroyed " + boxesCreated); return change; }// ww w . ja va2s . co m return Collections.emptyList(); }
From source file:org.excalibur.service.aws.ec2.EC2.java
License:Open Source License
@Override public void terminateInstances(String... instanceIds) { ec2_.terminateInstancesAsync(new TerminateInstancesRequest().withInstanceIds(instanceIds)); }
From source file:org.gridgain.grid.spi.cloud.ec2lite.GridEc2LiteCloudSpi.java
License:GNU General Public License
/** * Send request to Amazon EC2 to terminate given instances. * * @param instIds Instances IDs to terminate. Not {@code null} and not empty. * @throws GridSpiException Thrown if any exception occurs. *//*w w w . j a va2 s.c o m*/ private void terminateInstances(Collection<String> instIds) throws GridSpiException { assert !F.isEmpty(instIds); TerminateInstancesRequest req = new TerminateInstancesRequest().withInstanceIds(instIds); TerminateInstancesResult res; try { res = ec2.terminateInstances(req); } catch (AmazonClientException e) { throw new GridSpiException("Failed to perform terminate instances request.", e); } Collection<String> terminatedInstIds = F.transform(res.getTerminatingInstances(), new C1<InstanceStateChange, String>() { @Override public String apply(InstanceStateChange ist) { return ist.getInstanceId(); } }); if (instIds.size() != terminatedInstIds.size() || !instIds.containsAll(terminatedInstIds)) throw new GridSpiException("Instances were not successfully terminated."); }
From source file:org.gridgain.grid.util.ec2.GridEc2Helper.java
License:GNU General Public License
/** * @param instIds Instances' IDs./*w w w . jav a 2 s .co m*/ * @return List of terminated instances' IDs. * @throws GridException Thrown in case of any exception. */ public List<String> terminateInstances(Collection<String> instIds) throws GridException { TerminateInstancesRequest req = new TerminateInstancesRequest(); req.setInstanceIds(instIds); TerminateInstancesResult res; try { res = ec2.terminateInstances(req); } catch (AmazonClientException ex) { throw new GridException("Failed to perform EC2 terminate instances request: " + ex.getMessage(), ex); } List<String> termIds = new ArrayList<String>(); if (res.getTerminatingInstances() != null) for (InstanceStateChange isc : res.getTerminatingInstances()) termIds.add(isc.getInstanceId()); return termIds; }
From source file:pl.edu.agh.samm.tadapter.eucalyptus.EucalyptusTransportAdapter.java
License:Open Source License
private void stopOneInstanceAction(Resource clusterResource, String instanceId) { AmazonEC2Client client = ec2Clients.get(clusterResource); logger.info("Terminating instance: "); TerminateInstancesRequest stopInstancesRequest = new TerminateInstancesRequest(); List<String> instancesToStop = new LinkedList<String>(); instancesToStop.add(instanceId);//from w ww. j a v a2s. c o m stopInstancesRequest.setInstanceIds(instancesToStop); TerminateInstancesResult result = client.terminateInstances(stopInstancesRequest); logger.info("Instances terminated: " + instancesToStop); }