/** * Terminates instances with given Ids * * @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 ); }
private void terminateInstances(List<Instance> instances) { List<String> ids = new ArrayList<String>(); for (Instance instance : instances) { ids.add(instance.getInstanceId()); } TerminateInstancesRequest terminateInstancesRequest = new TerminateInstancesRequest(); terminateInstancesRequest.withInstanceIds(ids); ec2.terminateInstances(terminateInstancesRequest); }
/** * Will send a request to amazon to terminate all instances in the given list. * * @param instanceIds * @param ec2Client */ public void terminateInstances(List<String> instanceIds, AmazonEC2 ec2Client) { TerminateInstancesRequest request = new TerminateInstancesRequest().withInstanceIds(instanceIds); ec2Client.terminateInstances(request); }
@Override public void terminateInstancesNoWait(List<String> instanceIds) { checkArgument(!isEmpty(instanceIds), "must provide at least 1 instance id"); checkArgument(!hasBlanks(instanceIds), "blank instance id's not allowed"); TerminateInstancesRequest request = new TerminateInstancesRequest().withInstanceIds(instanceIds); client.terminateInstances(request); }
/** * Terminate instances * * @param instanceIds */ public static void terminateInstances(String... instanceIds) { // terminate TerminateInstancesRequest request = new TerminateInstancesRequest(); getEC2Client().terminateInstances(request.withInstanceIds(instanceIds)); }
/** * Terminate instances * * @param instanceIds */ public static void terminateInstances(String... instanceIds) { // terminate TerminateInstancesRequest request = new TerminateInstancesRequest(); getEC2Client().terminateInstances(request.withInstanceIds(instanceIds)); }
default void terminateInstancesInAutoScalingGroup(Task task, AmazonEC2 amazonEC2, AutoScalingGroup autoScalingGroup) { String serverGroupName = autoScalingGroup.getAutoScalingGroupName(); List<String> instanceIds = autoScalingGroup .getInstances() .stream() .map(Instance::getInstanceId) .collect(Collectors.toList()); int terminatedCount = 0; for (List<String> partition : Lists.partition(instanceIds, MAX_SIMULTANEOUS_TERMINATIONS)) { try { terminatedCount += partition.size(); task.updateStatus( PHASE, String.format("Terminating %d of %d instances in %s", terminatedCount, instanceIds.size(), serverGroupName) ); amazonEC2.terminateInstances(new TerminateInstancesRequest().withInstanceIds(partition)); } catch (Exception e) { task.updateStatus( PHASE, String.format("Unable to terminate instances, reason: '%s'", e.getMessage()) ); } } } }
@Override public void terminateVM( String instanceId ) throws IaasException { try { TerminateInstancesRequest terminateInstancesRequest = new TerminateInstancesRequest(); terminateInstancesRequest.withInstanceIds( instanceId ); this.ec2.terminateInstances( terminateInstancesRequest ); } catch( AmazonServiceException e ) { this.logger.severe( "An error occurred on Amazon while terminating the machine. " + e.getMessage()); throw new IaasException( e ); } catch( AmazonClientException e ) { this.logger.severe( "An error occurred while terminating a machine on Amazon EC2. " + e.getMessage()); throw new IaasException( e ); } }
@Override public TerminateInstancesResult call() { TerminateInstancesRequest request = new TerminateInstancesRequest().withInstanceIds(this.instanceIds); TerminateInstancesResult result = getClient().getApi().terminateInstances(request); awaitTermination(this.instanceIds); return result; }
terminateRequest.withInstanceIds(instanceId);