List of usage examples for com.amazonaws.services.ec2.model DescribeVolumesResult getVolumes
public java.util.List<Volume> getVolumes()
Information about the volumes.
From source file:HW1.java
License:Open Source License
public static String getVolumeState(String volumeId) { DescribeVolumesRequest dv = new DescribeVolumesRequest(); List<String> v_list = new ArrayList<String>(); v_list.add(volumeId);/* w w w . java 2 s .c o m*/ dv.setVolumeIds(v_list); DescribeVolumesResult dr = ec2.describeVolumes(dv); String state = dr.getVolumes().get(0).getState(); return state; }
From source file:virtualIT.java
License:Open Source License
private void defaultVolumeRequest(int userId) { String instanceId = null;/*from www . j av a2 s .com*/ String volumeId; DescribeVolumesResult describeVolumeResult = ec2.describeVolumes(); List<Volume> volumeData = describeVolumeResult.getVolumes(); for (Volume item : volumeData) { volumeId = item.getVolumeId(); List<VolumeAttachment> volumeAttachment = item.getAttachments(); for (VolumeAttachment data : volumeAttachment) { instanceId = data.getInstanceId(); } //instanceIdList.add(instanceId); rootvolumeIdList.add(volumeId); mapUserRootVol.put(userId, volumeId); } }
From source file:EbsAttach.java
License:Open Source License
public static void main(String[] args) throws Exception { init();/*from w w w. ja va 2s.c o m*/ try { DescribeAvailabilityZonesResult availabilityZonesResult = ec2.describeAvailabilityZones(); System.out.println("You have access to " + availabilityZonesResult.getAvailabilityZones().size() + " Availability Zones."); DescribeInstancesResult describeInstancesRequest = ec2.describeInstances(); List<Reservation> reservations = describeInstancesRequest.getReservations(); Set<Instance> instances = new HashSet<Instance>(); for (Reservation reservation : reservations) { instances.addAll(reservation.getInstances()); } System.out.println("You have " + instances.size() + " Amazon EC2 instance(s) running."); for (Instance ins : instances) { // instance id String instanceId = ins.getInstanceId(); // instance state InstanceState is = ins.getState(); System.out.println(instanceId + " " + is.getName()); } System.out.println("Attached Instance id: " + attachedInsId); /********************************************* * * #1 Create New Volume * *********************************************/ System.out.println("==========================================="); System.out.println("#1 Volume State before Creating"); System.out.println("==========================================="); DescribeVolumesResult describeVolumesResult = ec2.describeVolumes(); List<Volume> volumes = describeVolumesResult.getVolumes(); for (Volume volume : volumes) { String volumeId = volume.getVolumeId(); String volumeAvbZone = volume.getAvailabilityZone(); String volumeSize = String.valueOf(volume.getSize()); String volumeState = volume.getState(); System.out.println(volumeId + "\t" + volumeSize + "\t" + volumeAvbZone + "\t" + volumeState); } CreateVolumeRequest createVolumeRequest = new CreateVolumeRequest().withSize(4).withVolumeType("gp2") .withAvailabilityZone("us-east-1a"); CreateVolumeResult createVolumeResult = ec2.createVolume(createVolumeRequest); String createdVolumeId = createVolumeResult.getVolume().getVolumeId(); System.out.println("# Created a volume # ID: " + createdVolumeId); /********************************************* * * #2 Attach the created new Volume * *********************************************/ System.out.println("==========================================="); System.out.println("#2 Volume State after Creating"); System.out.println("==========================================="); describeVolumesResult = ec2.describeVolumes(); volumes = describeVolumesResult.getVolumes(); for (Volume volume : volumes) { String volumeId = volume.getVolumeId(); String volumeAvbZone = volume.getAvailabilityZone(); String volumeSize = String.valueOf(volume.getSize()); String volumeState = volume.getState(); System.out.println(volumeId + "\t" + volumeSize + "\t" + volumeAvbZone + "\t" + volumeState); } //wait new volume is available System.out.println("# Waiting new Volume is available"); boolean avail = false; while (true) { Thread.sleep(1000); describeVolumesResult = ec2.describeVolumes(); volumes = describeVolumesResult.getVolumes(); for (Volume volume : volumes) { if (volume.getVolumeId().equals(createdVolumeId) && volume.getState().equals("available")) { avail = true; break; } } if (avail) break; } System.out.println("New Volume is available now."); AttachVolumeRequest attachVolumeRequest = new AttachVolumeRequest().withVolumeId(createdVolumeId) .withInstanceId(attachedInsId).withDevice("/dev/sdn"); AttachVolumeResult attachVolumeResult = ec2.attachVolume(attachVolumeRequest); VolumeAttachment volumeAttachment = attachVolumeResult.getAttachment(); System.out.println( volumeAttachment.getVolumeId() + " is attached on " + volumeAttachment.getAttachTime()); /********************************************* * * #3 SSh to instance and run command * *********************************************/ System.out.println("==========================================="); System.out.println("#2 Ssh and mount disk"); System.out.println("==========================================="); Session session = null; Channel openChannel = null; String keyDir = KEYDIR; String user = "ec2-user"; String host = publicDNSName; String command = "df -h;" + "sudo mkfs -t ext3 /dev/xvdn;" + "sudo mkdir /minihw3;" + "sudo mount /dev/xvdn /minihw3;" + "df -h"; boolean isConnect = false; while (!isConnect) { JSch jsch = new JSch(); System.out.println("Waiting 5 seconds for SSH being available."); Thread.sleep(5 * 1000); try { jsch.addIdentity(keyDir); } catch (JSchException e) { System.out.println(e.getMessage()); } try { session = jsch.getSession(user, host, 22); Properties config = new Properties(); config.put("StrictHostKeyChecking", "no"); session.setConfig(config); session.connect(); System.out.println("SSH Connection Established."); isConnect = true; openChannel = session.openChannel("exec"); ((ChannelExec) openChannel).setPty(true); ((ChannelExec) openChannel).setCommand(command); openChannel.setInputStream(null); ((ChannelExec) openChannel).setErrStream(System.err); int exitStatus = openChannel.getExitStatus(); System.out.println("exit-status: " + exitStatus); InputStream in = openChannel.getInputStream(); System.out.println("Exxcute remote cammand :" + command); openChannel.connect(); byte[] tmp = new byte[1024]; while (true) { while (in.available() > 0) { int i = in.read(tmp, 0, 1024); if (i < 0) break; System.out.print(new String(tmp, 0, i)); } if (openChannel.isClosed()) { if (in.available() > 0) continue; System.out.println("exit-status: " + openChannel.getExitStatus()); break; } try { Thread.sleep(1000); } catch (Exception ee) { } } } catch (JSchException | IOException e) { System.out.println(e.getMessage()); } finally { if (openChannel != null && !openChannel.isClosed()) { openChannel.disconnect(); System.out.println("Channel Disconnected"); } if (session != null && session.isConnected()) { session.disconnect(); System.out.println("Session Disconnected"); } } } } catch (AmazonServiceException ase) { System.out.println("Caught Exception: " + ase.getMessage()); System.out.println("Reponse Status Code: " + ase.getStatusCode()); System.out.println("Error Code: " + ase.getErrorCode()); System.out.println("Request ID: " + ase.getRequestId()); } }
From source file:com.cloudera.director.aws.ec2.EC2Provider.java
License:Apache License
/** * Get EBS volumes attached to the specified virtual instance id. * * @return list of ebs volumes/*from w w w .j a v a 2s.c om*/ */ @VisibleForTesting List<Volume> getVolumes(String virtualInstanceId) { String ec2InstanceId = getOnlyElement( getEC2InstanceIdsByVirtualInstanceId(Collections.singletonList(virtualInstanceId)).values()); DescribeInstanceAttributeResult results = client .describeInstanceAttribute(new DescribeInstanceAttributeRequest().withInstanceId(ec2InstanceId) .withAttribute(InstanceAttributeName.BlockDeviceMapping)); List<InstanceBlockDeviceMapping> blockDeviceMappings = results.getInstanceAttribute() .getBlockDeviceMappings(); List<String> volumeIds = Lists.newArrayList(); for (InstanceBlockDeviceMapping mapping : blockDeviceMappings) { volumeIds.add(mapping.getEbs().getVolumeId()); } DescribeVolumesResult volumeResults = client .describeVolumes(new DescribeVolumesRequest().withVolumeIds(volumeIds)); return volumeResults.getVolumes(); }
From source file:com.dowdandassociates.gentoo.bootstrap.AbstractBootstrapInstanceInformationProvider.java
License:Apache License
protected void attachVolume(Optional<Instance> instance, Optional<Volume> volume) { if (instance.isPresent() && volume.isPresent()) { AttachVolumeResult result = ec2Client.attachVolume(new AttachVolumeRequest() .withInstanceId(instance.get().getInstanceId()).withVolumeId(volume.get().getVolumeId()) .withDevice(blockDeviceInformation.getSDevice())); try {//ww w. j a va 2s . c o m DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest() .withVolumeIds(volume.get().getVolumeId()); String instanceId = instance.get().getInstanceId(); boolean waiting = true; do { log.info("Sleeping for " + sleep.get() + " ms"); Thread.sleep(sleep.get()); DescribeVolumesResult describeVolumesResult = ec2Client.describeVolumes(describeVolumesRequest); if (describeVolumesResult.getVolumes().isEmpty()) { return; } Volume bootstrapVolume = describeVolumesResult.getVolumes().get(0); List<VolumeAttachment> attachments = bootstrapVolume.getAttachments(); for (VolumeAttachment attachment : attachments) { if (!instanceId.equals(attachment.getInstanceId())) { continue; } String attachmentState = attachment.getState(); log.info("Attachment state = " + attachmentState); if ("attaching".equals(attachmentState)) { break; } if (!"attached".equals(attachmentState)) { return; } waiting = false; break; } } while (waiting); } catch (InterruptedException e) { } } }
From source file:com.dowdandassociates.gentoo.bootstrap.EbsOnDemandBootstrapInstanceInformationProvider.java
License:Apache License
@Override protected Optional<Volume> generateVolume(Optional<Instance> instance) { if (!instance.isPresent()) { return Optional.absent(); }// ww w. j a va 2 s.c o m log.info("AvailabilityZone=" + instance.get().getPlacement().getAvailabilityZone()); log.info("Size=" + volumeSize.get().toString()); CreateVolumeResult createVolumeResult = getEc2Client().createVolume( new CreateVolumeRequest().withAvailabilityZone(instance.get().getPlacement().getAvailabilityZone()) .withSize(volumeSize.get())); log.info("volume id = " + createVolumeResult.getVolume().getVolumeId()); DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest() .withVolumeIds(createVolumeResult.getVolume().getVolumeId()); try { while (true) { log.info("Sleeping for " + sleep.get().toString() + " ms"); Thread.sleep(sleep.get()); DescribeVolumesResult describeVolumesResult = getEc2Client() .describeVolumes(describeVolumesRequest); Volume volume = describeVolumesResult.getVolumes().get(0); String state = volume.getState(); log.info("volume state = " + state); if ("creating".equals(state)) { continue; } if (!"available".equals(state)) { return Optional.absent(); } return Optional.fromNullable(volume); } } catch (InterruptedException e) { return Optional.absent(); } }
From source file:com.dowdandassociates.gentoo.bootstrap.SimpleBootstrapInstanceInformationProvider.java
License:Apache License
@Override protected Optional<Volume> generateVolume(Optional<Instance> instance) { log.info("Get Bootstrap Volume"); if (null == volumeId.get()) { return Optional.absent(); }/*from w w w.java 2 s .c o m*/ DescribeVolumesResult result = getEc2Client().describeVolumes(new DescribeVolumesRequest() .withFilters(new Filter().withName("volume-id").withValues(volumeId.get()))); if (result.getVolumes().isEmpty()) { return Optional.absent(); } return Optional.fromNullable(result.getVolumes().get(0)); }
From source file:com.dowdandassociates.gentoo.bootstrap.SnapshotOnDemandBootstrapInstanceInformationProvider.java
License:Apache License
@Override protected Optional<Volume> generateVolume(Optional<Instance> instance) { if (!instance.isPresent()) { log.error("Instance is not present"); return Optional.absent(); }/*from w w w. j a va2 s. co m*/ if (null == snapshotId.get()) { log.error("SnapshotId not set"); return Optional.absent(); } log.info("AvailabilityZone=" + instance.get().getPlacement().getAvailabilityZone()); log.info("SnapshotId = " + snapshotId.get().toString()); CreateVolumeResult createVolumeResult = getEc2Client().createVolume( new CreateVolumeRequest().withAvailabilityZone(instance.get().getPlacement().getAvailabilityZone()) .withSnapshotId(snapshotId.get())); DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest() .withVolumeIds(createVolumeResult.getVolume().getVolumeId()); try { while (true) { log.info("Sleeping for " + sleep.get().toString() + " ms"); Thread.sleep(sleep.get()); DescribeVolumesResult describeVolumesResult = getEc2Client() .describeVolumes(describeVolumesRequest); Volume volume = describeVolumesResult.getVolumes().get(0); String state = volume.getState(); log.info("volume state = " + state); if ("creating".equals(state)) { continue; } if (!"available".equals(state)) { return Optional.absent(); } return Optional.fromNullable(volume); } } catch (InterruptedException e) { return Optional.absent(); } }
From source file:com.hpcloud.daas.ec2.AwsConsoleApp.java
License:Open Source License
public static void describeVolumes() { try {//from w w w . j a v a 2s . com DescribeVolumesResult volumesResult = ec2.describeVolumes(); System.out.println("You have access to " + volumesResult.getVolumes().size() + " Volumes."); for (Volume vol : volumesResult.getVolumes()) { System.out.println(vol); } } catch (AmazonServiceException ase) { System.out.println("Caught Exception: " + ase.getMessage()); System.out.println("Reponse Status Code: " + ase.getStatusCode()); System.out.println("Error Code: " + ase.getErrorCode()); System.out.println("Request ID: " + ase.getRequestId()); } }
From source file:com.liferay.amazontools.AMICleaner.java
License:Open Source License
protected void deleteAvailableVolumes() { DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest(); Filter filter = new Filter(); filter.setName("status"); filter.withValues("available"); describeVolumesRequest.withFilters(filter); DescribeVolumesResult describeVolumesResult = amazonEC2Client.describeVolumes(describeVolumesRequest); List<Volume> volumes = describeVolumesResult.getVolumes(); for (int i = 0; i < volumes.size(); i++) { DeleteVolumeRequest deleteVolumeRequest = new DeleteVolumeRequest(); Volume volume = volumes.get(i);/*w w w . j a va 2 s. c om*/ deleteVolumeRequest.setVolumeId(volume.getVolumeId()); amazonEC2Client.deleteVolume(deleteVolumeRequest); } }