Example usage for com.amazonaws.services.ec2.model DescribeSpotPriceHistoryResult setSpotPriceHistory

List of usage examples for com.amazonaws.services.ec2.model DescribeSpotPriceHistoryResult setSpotPriceHistory

Introduction

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

Prototype


public void setSpotPriceHistory(java.util.Collection<SpotPrice> spotPriceHistory) 

Source Link

Document

The historical Spot prices.

Usage

From source file:org.finra.dm.dao.impl.MockEc2OperationsImpl.java

License:Apache License

@Override
public DescribeSpotPriceHistoryResult describeSpotPriceHistory(AmazonEC2Client ec2Client,
        DescribeSpotPriceHistoryRequest describeSpotPriceHistoryRequest) {
    List<SpotPrice> spotPriceHistories = new ArrayList<>();

    String requestedAvailabilityZone = describeSpotPriceHistoryRequest.getAvailabilityZone();

    // Get availability zones to search for
    Set<MockAvailabilityZone> requestedAvailabilityZones = new HashSet<>();

    // If requested zone is specified, get and add
    if (requestedAvailabilityZone != null) {
        requestedAvailabilityZones.add(mockAvailabilityZones.get(requestedAvailabilityZone));
    }/* w w  w.j a v  a2s . co m*/
    // If requested zone is not specified, add all
    else {
        requestedAvailabilityZones.addAll(mockAvailabilityZones.values());
    }

    // Get instance types to search for
    List<String> requestedInstanceTypes = describeSpotPriceHistoryRequest.getInstanceTypes();
    // If not specified, add all instance types
    if (requestedInstanceTypes.isEmpty()) {
        requestedInstanceTypes.addAll(mockInstanceTypes);
    }

    // search for price for all AZ and instance types requested
    for (MockAvailabilityZone mockAvailabilityZone : requestedAvailabilityZones) {
        for (String requestedInstanceType : requestedInstanceTypes) {
            MockSpotPrice mockSpotPrice = mockAvailabilityZone.getSpotPrices().get(requestedInstanceType);
            if (mockSpotPrice != null) {
                spotPriceHistories.add(mockSpotPrice.toAwsObject());
            }
        }
    }

    DescribeSpotPriceHistoryResult describeSpotPriceHistoryResult = new DescribeSpotPriceHistoryResult();
    describeSpotPriceHistoryResult.setSpotPriceHistory(spotPriceHistories);
    return describeSpotPriceHistoryResult;
}