Example usage for com.amazonaws.services.ec2.model TerminateInstancesRequest TerminateInstancesRequest

List of usage examples for com.amazonaws.services.ec2.model TerminateInstancesRequest TerminateInstancesRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model TerminateInstancesRequest TerminateInstancesRequest.

Prototype

public TerminateInstancesRequest() 

Source Link

Document

Default constructor for TerminateInstancesRequest object.

Usage

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);
}