Example usage for com.amazonaws.services.ec2.model DescribeVolumesRequest toString

List of usage examples for com.amazonaws.services.ec2.model DescribeVolumesRequest toString

Introduction

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

Prototype

@Override
public String toString() 

Source Link

Document

Returns a string representation of this object.

Usage

From source file:com.pearson.eidetic.aws.EC2ClientMethods.java

public static DescribeVolumesResult describeVolumes(AmazonEC2Client ec2Client,
        DescribeVolumesRequest describeVolumesRequest, Integer numRetries, Integer maxApiRequestsPerSecond,
        String uniqueAwsAccountIdentifier) {
    DescribeVolumesResult describeVolumesResult = null;
    for (int i = 0; i <= numRetries; i++) {
        try {//  w w  w.  j  a va 2  s.  co  m
            // if the initial download attempt failed, wait for i * 500ms 
            if (i > 0) {
                long sleepTimeInMilliseconds = 500 * i;
                Threads.sleepMilliseconds(sleepTimeInMilliseconds);
            }

            AtomicLong requestAttemptCounter = GlobalVariables.apiRequestAttemptCountersByAwsAccount
                    .get(uniqueAwsAccountIdentifier);
            long currentRequestCount = requestAttemptCounter.incrementAndGet();

            while (currentRequestCount > maxApiRequestsPerSecond) {
                Threads.sleepMilliseconds(50);
                currentRequestCount = requestAttemptCounter.incrementAndGet();
            }

            describeVolumesResult = ec2Client.describeVolumes(describeVolumesRequest);

            if (describeVolumesResult != null) {
                GlobalVariables.apiRequestCountersByAwsAccount.get(uniqueAwsAccountIdentifier)
                        .incrementAndGet();
                break;
            }
        } catch (Exception e) {
            logger.error("awsAccountNickname=\"" + uniqueAwsAccountIdentifier + "\","
                    + describeVolumesRequest.toString() + System.lineSeparator() + e.toString()
                    + System.lineSeparator() + StackTrace.getStringFromStackTrace(e));
        }
    }

    return describeVolumesResult;

}