List of usage examples for com.amazonaws.services.ec2.model AttachVolumeRequest withInstanceId
public AttachVolumeRequest withInstanceId(String instanceId)
The ID of the instance.
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); }