Example usage for com.amazonaws.services.ec2.model AttachVolumeRequest withInstanceId

List of usage examples for com.amazonaws.services.ec2.model AttachVolumeRequest withInstanceId

Introduction

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

Prototype


public AttachVolumeRequest withInstanceId(String instanceId) 

Source Link

Document

The ID of the instance.

Usage

From source file:edu.umass.cs.aws.support.AWSEC2.java

License:Apache License

/**
 * Creates a volume and attaches and mounts it on the instance at the specified mount point.
 *
 * @param ec2// w  w w.j a v a  2s . com
 * @param instanceId
 * @param mountPoint
 * @return the id of the volume
 */
public static String createAndAttachVolume(AmazonEC2 ec2, String instanceId, String mountPoint) {
    // ATTACH A VOLUME
    Instance instance = findInstance(ec2, instanceId);
    String zone = instance.getPlacement().getAvailabilityZone();
    CreateVolumeRequest newVolumeRequest = new CreateVolumeRequest();
    newVolumeRequest.setSize(1); //1.0GB
    newVolumeRequest.setAvailabilityZone(zone);// set its available zone, it may change.

    CreateVolumeResult volumeResult = ec2.createVolume(newVolumeRequest);

    Volume v1 = volumeResult.getVolume();
    String volumeID = v1.getVolumeId();
    AttachVolumeRequest avr = new AttachVolumeRequest();//begin to attach the volume to instance
    avr.withInstanceId(instanceId);
    avr.withVolumeId(volumeID);
    avr.withDevice(mountPoint); //mount it
    ec2.attachVolume(avr);
    System.out.println("EBS volume has been attached and the volume ID is: " + volumeID);
    return (volumeID);
}

From source file:jp.primecloud.auto.process.aws.AwsVolumeProcess.java

License:Open Source License

public void attachVolume(AwsProcessClient awsProcessClient, Long instanceNo, Long volumeNo) {
    AwsInstance awsInstance = awsInstanceDao.read(instanceNo);
    AwsVolume awsVolume = awsVolumeDao.read(volumeNo);
    String volumeId = awsVolume.getVolumeId();

    ///*www  .j  ava 2  s  . c  o  m*/
    Component component = null;
    if (awsVolume.getComponentNo() != null) {
        component = componentDao.read(awsVolume.getComponentNo());
    }
    Instance instance = instanceDao.read(instanceNo);
    processLogger.debug(component, instance, "AwsEbsAttach",
            new Object[] { instance.getInstanceName(), awsVolume.getVolumeId(), awsVolume.getDevice() });

    // ??
    AttachVolumeRequest request = new AttachVolumeRequest();
    request.withVolumeId(volumeId);
    request.withInstanceId(awsInstance.getInstanceId());
    request.withDevice(awsVolume.getDevice());
    AttachVolumeResult result = awsProcessClient.getEc2Client().attachVolume(request);
    VolumeAttachment attachment = result.getAttachment();

    // 
    if (log.isInfoEnabled()) {
        log.info(MessageUtils.getMessage("IPROCESS-100123", volumeId, attachment.getInstanceId()));
    }

    // ?
    awsVolume.setInstanceId(attachment.getInstanceId());
    awsVolumeDao.update(awsVolume);
}