Example usage for com.amazonaws.services.ec2.model DescribeVolumesResult getVolumes

List of usage examples for com.amazonaws.services.ec2.model DescribeVolumesResult getVolumes

Introduction

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

Prototype


public java.util.List<Volume> getVolumes() 

Source Link

Document

Information about the volumes.

Usage

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);
    }
}