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

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

Introduction

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

Prototype


public String getUserData() 

Source Link

Document

The user data to make available to the instance.

Usage

From source file:jp.primecloud.auto.aws.typica.EucaEc2Client.java

License:Open Source License

@Override
public RunInstancesResult runInstances(RunInstancesRequest runInstancesRequest) {
    // InstanceType
    InstanceType type = InstanceType.getTypeFromString(runInstancesRequest.getInstanceType());

    // AvailabilityZone
    String availabilityZone = null;
    if (runInstancesRequest.getPlacement() != null) {
        availabilityZone = runInstancesRequest.getPlacement().getAvailabilityZone();
    }//from ww  w. j a  va2s . c  om

    // UserData
    String userData = runInstancesRequest.getUserData();
    if (userData != null) {
        userData = new String(Base64.decodeBase64(userData.getBytes()));

        // ??3???????
        int len = userData.getBytes().length;
        int mod = len % 3;
        if (mod != 0) {
            for (int i = 0; i < 3 - mod; i++) {
                userData += ';';
            }
        }
    }

    try {
        ReservationDescription description = jec2.runInstances(runInstancesRequest.getImageId(),
                runInstancesRequest.getMinCount(), runInstancesRequest.getMaxCount(),
                runInstancesRequest.getSecurityGroups(), userData, runInstancesRequest.getKeyName(), true, type,
                availabilityZone, runInstancesRequest.getKernelId(), runInstancesRequest.getRamdiskId(), null);
        Reservation reservation = new ReservationConverter().convert(description);
        return new RunInstancesResult().withReservation(reservation);
    } catch (EC2Exception e) {
        throw new AmazonClientException(e);
    }
}