List of usage examples for com.amazonaws.services.ec2.model RunInstancesRequest withInstanceInitiatedShutdownBehavior
public RunInstancesRequest withInstanceInitiatedShutdownBehavior(
ShutdownBehavior instanceInitiatedShutdownBehavior)
Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).
From source file:com.rmn.qa.aws.AwsVmManager.java
License:Open Source License
public List<Instance> launchNodes(final String amiId, final String instanceType, final int numberToStart, final String userData, final boolean terminateOnShutdown) throws NodesCouldNotBeStartedException { RunInstancesRequest runRequest = new RunInstancesRequest(); runRequest.withImageId(amiId).withInstanceType(instanceType).withMinCount(numberToStart) .withMaxCount(numberToStart).withUserData(userData); if (terminateOnShutdown) { runRequest.withInstanceInitiatedShutdownBehavior("terminate"); }//from w w w. ja va 2 s.co m log.info("Setting image id: " + runRequest.getImageId()); log.info("Setting instance type: " + runRequest.getInstanceType()); Properties awsProperties = getAwsProperties(); String subnetKey = awsProperties.getProperty(region + "_subnet_id"); if (subnetKey != null) { log.info("Setting subnet: " + subnetKey); runRequest.withSubnetId(subnetKey); } String securityGroupKey = awsProperties.getProperty(region + "_security_group"); if (securityGroupKey != null) { String[] splitSecurityGroupdIds = securityGroupKey.split(","); List securityGroupIdsAryLst = new ArrayList(); for (int i = 0; i < splitSecurityGroupdIds.length; i++) { log.info("Setting security group(s): " + splitSecurityGroupdIds[i]); securityGroupIdsAryLst.add(splitSecurityGroupdIds[i]); } runRequest.setSecurityGroupIds(securityGroupIdsAryLst); } String keyName = awsProperties.getProperty(region + "_key_name"); if (keyName != null) { log.info("Setting keyname:" + keyName); runRequest.withKeyName(keyName); } log.info("Sending run request to AWS..."); RunInstancesResult runInstancesResult = getResults(runRequest, 0); log.info("Run request result returned. Adding tags"); // Tag the instances with the standard RMN AWS data List<Instance> instances = runInstancesResult.getReservation().getInstances(); if (instances.size() == 0) { throw new NodesCouldNotBeStartedException(String.format( "Error starting up nodes -- count was zero and did not match expected count of %d", numberToStart)); } associateTags(new Date().toString(), instances); return instances; }
From source file:com.xebialabs.overcast.host.Ec2CloudHost.java
License:Apache License
protected String runInstance() { RunInstancesRequest run = new RunInstancesRequest(amiId, 1, 1); run.withInstanceInitiatedShutdownBehavior("terminate"); if (amiInstanceType != null) { run.withInstanceType(amiInstanceType); }//ww w. j a v a 2 s . co m if (amiSecurityGroup != null) { run.withSecurityGroups(amiSecurityGroup); } if (amiKeyName != null) { run.withKeyName(amiKeyName); } if (amiAvailabilityZone != null) { run.withPlacement(new Placement(amiAvailabilityZone)); } RunInstancesResult result = ec2.runInstances(run); return result.getReservation().getInstances().get(0).getInstanceId(); }
From source file:de.fischer.thotti.ec2.EC2Executor.java
License:Apache License
void prepareRequestsPerServer(EC2RequestData requestData, RegionType region) { for (ServerRequestType server : region.getServerRequests()) { RunInstancesRequest request = new RunInstancesRequest(); request.withImageId(server.getAmiID()).withInstanceType(server.getInstanceType().value()) .withMinCount(server.getMinInstances().intValue()) .withMaxCount(server.getMaxInstances().intValue()).withKeyName(server.getKeyPair()); if (null != server.getOnShutdown()) request.withInstanceInitiatedShutdownBehavior(server.getOnShutdown().value()); addPlacementConstraints(request, region); requestData.getRegion(region.getName()).addRequest(request); }/*from www . jav a 2 s . co m*/ }