Example usage for com.amazonaws.services.ec2 AmazonEC2 describeSnapshots

List of usage examples for com.amazonaws.services.ec2 AmazonEC2 describeSnapshots

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2 describeSnapshots.

Prototype

DescribeSnapshotsResult describeSnapshots(DescribeSnapshotsRequest describeSnapshotsRequest);

Source Link

Document

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

Usage

From source file:com.netflix.simianarmy.client.aws.AWSClient.java

License:Apache License

/**
 * Describe a set of specific EBS snapshots.
 *
 * @param snapshotIds the snapshot ids//from  ww  w .  j av a 2s . c o m
 * @return the snapshots
 */
public List<Snapshot> describeSnapshots(String... snapshotIds) {
    if (snapshotIds == null || snapshotIds.length == 0) {
        LOGGER.info(String.format("Getting all EBS snapshots in region %s.", region));
    } else {
        LOGGER.info(
                String.format("Getting EBS snapshotIds for %d ids in region %s.", snapshotIds.length, region));
    }

    AmazonEC2 ec2Client = ec2Client();
    DescribeSnapshotsRequest request = new DescribeSnapshotsRequest();
    // Set the owner id to self to avoid getting snapshots from other accounts.
    request.withOwnerIds(Arrays.<String>asList("self"));
    if (snapshotIds != null) {
        request.setSnapshotIds(Arrays.asList(snapshotIds));
    }
    DescribeSnapshotsResult result = ec2Client.describeSnapshots(request);
    List<Snapshot> snapshots = result.getSnapshots();

    LOGGER.info(String.format("Got %d EBS snapshots in region %s.", snapshots.size(), region));
    return snapshots;
}