Example usage for com.amazonaws.services.ec2.model CreateSnapshotRequest CreateSnapshotRequest

List of usage examples for com.amazonaws.services.ec2.model CreateSnapshotRequest CreateSnapshotRequest

Introduction

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

Prototype

public CreateSnapshotRequest() 

Source Link

Document

Default constructor for CreateSnapshotRequest object.

Usage

From source file:HW1.java

License:Open Source License

public static String createSnapShotFromVolume(String volumeId) {
    CreateSnapshotRequest createsanpShotRequest1 = new CreateSnapshotRequest();
    createsanpShotRequest1.setVolumeId(volumeId);
    CreateSnapshotResult createSnapshotresult1 = ec2.createSnapshot(createsanpShotRequest1);
    String snapshotid = createSnapshotresult1.getSnapshot().getSnapshotId();

    return snapshotid;
}

From source file:com.dowdandassociates.gentoo.bootstrap.DefaultTestSnapshotProvider.java

License:Apache License

public Optional<Snapshot> get() {
    BootstrapInstanceInformation instanceInfo = bootstrapResultInformation.getInstanceInfo();
    Optional<Instance> instance = instanceInfo.getInstance();
    Optional<Volume> volume = instanceInfo.getVolume();
    Optional<Integer> exitStatus = bootstrapResultInformation.getExitStatus();

    if (!instance.isPresent()) {
        log.info("Instance is absent");
        return Optional.absent();
    }/*from  w  w w  .  j  a v  a 2s  . c o  m*/

    String instanceId = instance.get().getInstanceId();

    TerminateInstancesResult terminateInstancesResult = ec2Client
            .terminateInstances(new TerminateInstancesRequest().withInstanceIds(instanceId));

    if (!volume.isPresent()) {
        log.info("Volume is absent");
        return Optional.absent();
    }

    String volumeId = volume.get().getVolumeId();

    DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest()
            .withInstanceIds(instanceId);

    DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest().withVolumeIds(volumeId);
    try {
        while (true) {
            log.info("Sleeping for " + instanceSleep.get() + " ms");
            Thread.sleep(instanceSleep.get());
            DescribeInstancesResult describeInstancesResult = ec2Client
                    .describeInstances(describeInstancesRequest);
            String state = describeInstancesResult.getReservations().get(0).getInstances().get(0).getState()
                    .getName();
            log.info("Instance State = " + state);
            if ("terminated".equals(state)) {
                break;
            }
        }

        CreateSnapshotResult createSnapshotResult = ec2Client
                .createSnapshot(new CreateSnapshotRequest().withVolumeId(volumeId));

        log.info("SnapshotId = " + createSnapshotResult.getSnapshot().getSnapshotId());

        DescribeSnapshotsRequest describeSnapshotsRequest = new DescribeSnapshotsRequest()
                .withSnapshotIds(createSnapshotResult.getSnapshot().getSnapshotId());

        Snapshot snapshot;

        while (true) {
            log.info("Sleeping for " + snapshotSleep.get() + " ms");
            Thread.sleep(snapshotSleep.get());

            DescribeSnapshotsResult describeSnapshotsResult = ec2Client
                    .describeSnapshots(describeSnapshotsRequest);
            String state = describeSnapshotsResult.getSnapshots().get(0).getState();
            log.info("Snapshot State = " + state);
            if ("error".equals(state)) {
                return Optional.absent();
            }
            if ("completed".equals(state)) {
                snapshot = describeSnapshotsResult.getSnapshots().get(0);
                break;
            }
        }

        ec2Client.deleteVolume(new DeleteVolumeRequest().withVolumeId(volumeId));

        if (!exitStatus.isPresent()) {
            log.info("Exit status is not present");
            return Optional.absent();
        }

        log.info("exit status = " + exitStatus.get());

        if (0 != exitStatus.get()) {
            return Optional.absent();
        }

        return Optional.fromNullable(snapshot);
    } catch (InterruptedException e) {
        return Optional.absent();
    }
}

From source file:com.zotoh.cloudapi.aws.EBSSnapshot.java

License:Open Source License

@Override
public String create(String volId, String desc) throws InternalException, CloudException {
    tstEStrArg("volume-id", volId);
    desc = nsb(desc);/*from w w  w . ja  va2 s  .  c  om*/
    CreateSnapshotResult res = _svc.getCloud().getEC2()
            .createSnapshot(new CreateSnapshotRequest().withVolumeId(volId).withDescription(desc));
    com.amazonaws.services.ec2.model.Snapshot s = res == null ? null : res.getSnapshot();
    return s == null ? null : s.getSnapshotId();
}