use of com.amazonaws.services.ec2.model.Volume in project SimianArmy by Netflix.
the class EBSVolumeJanitorCrawler method getVolumeDescription.
private String getVolumeDescription(Volume volume) {
StringBuilder description = new StringBuilder();
Integer size = volume.getSize();
description.append(String.format("size=%s", size == null ? "unknown" : size));
for (Tag tag : volume.getTags()) {
description.append(String.format("; %s=%s", tag.getKey(), tag.getValue()));
}
return description.toString();
}
use of com.amazonaws.services.ec2.model.Volume in project SimianArmy by Netflix.
the class EBSVolumeJanitorCrawler method getVolumeResources.
private List<Resource> getVolumeResources(String... volumeIds) {
List<Resource> resources = new LinkedList<Resource>();
AWSClient awsClient = getAWSClient();
for (Volume volume : awsClient.describeVolumes(volumeIds)) {
Resource volumeResource = new AWSResource().withId(volume.getVolumeId()).withRegion(getAWSClient().region()).withResourceType(AWSResourceType.EBS_VOLUME).withLaunchTime(volume.getCreateTime());
for (Tag tag : volume.getTags()) {
LOGGER.info(String.format("Adding tag %s = %s to resource %s", tag.getKey(), tag.getValue(), volumeResource.getId()));
volumeResource.setTag(tag.getKey(), tag.getValue());
}
volumeResource.setOwnerEmail(getOwnerEmailForResource(volumeResource));
volumeResource.setDescription(getVolumeDescription(volume));
((AWSResource) volumeResource).setAWSResourceState(volume.getState());
resources.add(volumeResource);
}
return resources;
}
use of com.amazonaws.services.ec2.model.Volume in project SimianArmy by Netflix.
the class TestEBSVolumeJanitorCrawler method testVolumesWithResourceType.
@Test
public void testVolumesWithResourceType() {
Date createTime = new Date();
List<Volume> volumeList = createVolumeList(createTime);
EBSVolumeJanitorCrawler crawler = new EBSVolumeJanitorCrawler(createMockAWSClient(volumeList));
for (AWSResourceType resourceType : AWSResourceType.values()) {
List<Resource> resources = crawler.resources(resourceType);
if (resourceType == AWSResourceType.EBS_VOLUME) {
verifyVolumeList(resources, volumeList, createTime);
} else {
Assert.assertTrue(resources.isEmpty());
}
}
}
use of com.amazonaws.services.ec2.model.Volume in project SimianArmy by Netflix.
the class TestEBSVolumeJanitorCrawler method testResourceTypes.
@Test
public void testResourceTypes() {
Date createTime = new Date();
List<Volume> volumeList = createVolumeList(createTime);
EBSVolumeJanitorCrawler crawler = new EBSVolumeJanitorCrawler(createMockAWSClient(volumeList));
EnumSet<?> types = crawler.resourceTypes();
Assert.assertEquals(types.size(), 1);
Assert.assertEquals(types.iterator().next().name(), "EBS_VOLUME");
}
use of com.amazonaws.services.ec2.model.Volume in project SimianArmy by Netflix.
the class TestEBSVolumeJanitorCrawler method testVolumesWithNullIds.
@Test
public void testVolumesWithNullIds() {
Date createTime = new Date();
List<Volume> volumeList = createVolumeList(createTime);
EBSVolumeJanitorCrawler crawler = new EBSVolumeJanitorCrawler(createMockAWSClient(volumeList));
List<Resource> resources = crawler.resources();
verifyVolumeList(resources, volumeList, createTime);
}
Aggregations