Example usage for com.amazonaws.services.ec2.model RunInstancesRequest withInstanceInitiatedShutdownBehavior

List of usage examples for com.amazonaws.services.ec2.model RunInstancesRequest withInstanceInitiatedShutdownBehavior

Introduction

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

Prototype


public RunInstancesRequest withInstanceInitiatedShutdownBehavior(
        ShutdownBehavior instanceInitiatedShutdownBehavior) 

Source Link

Document

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Usage

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*/
}