List of usage examples for com.amazonaws.services.ec2.model CreateSnapshotRequest CreateSnapshotRequest
public CreateSnapshotRequest()
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(); }