All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xerox.amazonws.ec2.SpotInstanceRequestConfiguration Maven / Gradle / Ivy

package com.xerox.amazonws.ec2;

import java.util.Calendar;
import java.util.Map;

public class SpotInstanceRequestConfiguration {
    private double price;
    private int maxInstanceCount = 1;
    private SpotInstanceType type = SpotInstanceType.ONE_TIME;
    private Calendar validFrom;
    private Calendar validUntil;
    private String launchGroup;
    private String availabilityZoneGroup;

    public SpotInstanceRequestConfiguration(double price, int maxInstanceCount, SpotInstanceType type) {
        this.price = price;
        this.maxInstanceCount = maxInstanceCount;
        this.type = type;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public int getMaxInstanceCount() {
        return maxInstanceCount;
    }

    public void setMaxInstanceCount(int maxInstanceCount) {
        this.maxInstanceCount = maxInstanceCount;
    }

    public SpotInstanceType getType() {
        return type;
    }

    public void setType(SpotInstanceType type) {
        this.type = type;
    }

    public Calendar getValidFrom() {
        return validFrom;
    }

    public void setValidFrom(Calendar validFrom) {
        this.validFrom = validFrom;
    }

    public Calendar getValidUntil() {
        return validUntil;
    }

    public void setValidUntil(Calendar validUntil) {
        this.validUntil = validUntil;
    }

    public String getLaunchGroup() {
        return launchGroup;
    }

    public void setLaunchGroup(String launchGroup) {
        this.launchGroup = launchGroup;
    }

    public String getAvailabilityZoneGroup() {
        return availabilityZoneGroup;
    }

    public void setAvailabilityZoneGroup(String availabilityZoneGroup) {
        this.availabilityZoneGroup = availabilityZoneGroup;
    }

    void prepareQueryParams(Map params) {
        params.put("SpotPrice", "" + price);
        params.put("InstanceCount", "" + maxInstanceCount);
        params.put("Type", type.getAwsString());

        if (validFrom != null) {
            // todo
            params.put("ValidFrom", validFrom.toString());
        }

        if (validUntil != null) {
            // todo
            params.put("ValidUntil", validUntil.toString());
        }

        if (launchGroup != null) {
            params.put("LaunchGroup", launchGroup);
        }

        if (availabilityZoneGroup != null) {
            params.put("AvailabilityZoneGroup", availabilityZoneGroup);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy