List of usage examples for com.amazonaws.services.ec2.model VolumeState Available
VolumeState Available
To view the source code for com.amazonaws.services.ec2.model VolumeState Available.
Click Source Link
From source file:com.vb.aws.services.compute.ec2.EC2UtilsImpl.java
/** * This method returns list of EBS volumes which are available. * @return returns list of EBS volumes which are available. *//*from w ww . j a va 2 s . co m*/ public List<Volume> getEBSVolumesAvailable(List<Volume> allEBSVolumes) { List<Volume> ebsVolumesAvailable = new ArrayList<>(); for (Volume volume : allEBSVolumes) { if (volume.getState().equalsIgnoreCase(VolumeState.Available.toString())) { ebsVolumesAvailable.add(volume); } } System.out.println("INFO : Number of EBS volumes not in use : " + ebsVolumesAvailable.size()); List<String> volumeIds = ebsVolumesAvailable.stream().map(e -> e.getVolumeId()) .collect(Collectors.toList()); System.out.println("INFO: EBS volumes not in use : " + volumeIds); return ebsVolumesAvailable; }
From source file:jp.primecloud.auto.process.aws.AwsCommonProcess.java
License:Open Source License
public Volume waitVolume(AwsProcessClient awsProcessClient, String volumeId) { // ???/*from www .j a v a2 s .c o m*/ Volume volume; while (true) { try { Thread.sleep(1000L * awsProcessClient.getDescribeInterval()); } catch (InterruptedException ignore) { } volume = describeVolume(awsProcessClient, volumeId); VolumeState state; try { state = VolumeState.fromValue(volume.getState()); } catch (IllegalArgumentException e) { // ??? AutoException exception = new AutoException("EPROCESS-000112", volume, volume.getState()); exception.addDetailInfo("result=" + ReflectionToStringBuilder.toString(volume)); throw exception; } // ????? if (state == VolumeState.Available || state == VolumeState.InUse || state == VolumeState.Deleted || state == VolumeState.Error) { break; } } return volume; }
From source file:jp.primecloud.auto.process.aws.AwsVolumeProcess.java
License:Open Source License
public void waitCreateVolume(AwsProcessClient awsProcessClient, Long instanceNo, Long volumeNo) { AwsVolume awsVolume = awsVolumeDao.read(volumeNo); String volumeId = awsVolume.getVolumeId(); // ???//from w w w . j a v a 2 s. co m Volume volume; try { volume = awsCommonProcess.waitVolume(awsProcessClient, volumeId); if (!StringUtils.equals(volume.getState(), VolumeState.Available.toString())) { // ? AutoException exception = new AutoException("EPROCESS-000113", volumeId, volume.getState()); exception.addDetailInfo("result=" + ReflectionToStringBuilder.toString(volume)); throw exception; } // if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-100122", volumeId)); } } catch (AutoException e) { // ? awsVolume = awsVolumeDao.read(volumeNo); awsVolume.setVolumeId(null); awsVolume.setStatus(null); awsVolumeDao.update(awsVolume); throw e; } // Component component = null; if (awsVolume.getComponentNo() != null) { component = componentDao.read(awsVolume.getComponentNo()); } Instance instance = instanceDao.read(instanceNo); processLogger.debug(component, instance, "AwsEbsCreateFinish", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsVolume.getVolumeId(), awsVolume.getSize() }); // awsVolume = awsVolumeDao.read(volumeNo); awsVolume.setStatus(volume.getState()); awsVolumeDao.update(awsVolume); }
From source file:jp.primecloud.auto.process.aws.AwsVolumeProcess.java
License:Open Source License
public void waitDetachVolume(AwsProcessClient awsProcessClient, Long instanceNo, Long volumeNo) { AwsVolume awsVolume = awsVolumeDao.read(volumeNo); String volumeId = awsVolume.getVolumeId(); String instanceId = awsVolume.getInstanceId(); Volume volume = null;// w w w .j av a 2s . c om try { // TODO: ???????????? int retry = 6; for (int i = 0; i < retry; i++) { volume = awsCommonProcess.waitVolume(awsProcessClient, volumeId); if (StringUtils.equals(volume.getState(), VolumeState.Available.toString())) { break; } } if (!StringUtils.equals(volume.getState(), VolumeState.Available.toString())) { // ????? AutoException exception = new AutoException("EPROCESS-000116", instanceId, volumeId, volume.getState()); exception.addDetailInfo("result=" + ReflectionToStringBuilder.toString(volume)); throw exception; } // if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-100126", volumeId, instanceId)); } } catch (AutoException e) { // ????? awsVolume = awsVolumeDao.read(volumeNo); awsVolume.setStatus(VolumeState.Error.toString()); awsVolume.setInstanceId(null); awsVolumeDao.update(awsVolume); throw e; } // Component component = null; if (awsVolume.getComponentNo() != null) { component = componentDao.read(awsVolume.getComponentNo()); } Instance instance = instanceDao.read(instanceNo); processLogger.debug(component, instance, "AwsEbsDetachFinish", new Object[] { instance.getInstanceName(), awsVolume.getVolumeId(), awsVolume.getDevice() }); // ? awsVolume = awsVolumeDao.read(volumeNo); awsVolume.setStatus(volume.getState()); awsVolume.setInstanceId(null); awsVolumeDao.update(awsVolume); }