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

com.spotinst.sdkjava.model.ElastigroupInstanceTypes Maven / Gradle / Ivy

There is a newer version: 1.0.121
Show newest version
package com.spotinst.sdkjava.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.spotinst.sdkjava.model.bl.elastigroup.aws.ResourceRequirements;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * Created by aharontwizer on 8/26/15.
 */
public class ElastigroupInstanceTypes {
    //region Members
    @JsonIgnore
    private Set isSet;
    private String onDemand;
    private List onDemandTypes;
    private List spot;
    private List preferredspot;
    private List weights;
    private ResourceRequirements resourcerequirements;
    //endregion

    //region Constructors

    private ElastigroupInstanceTypes() {
        isSet = new HashSet<>();
    }

    //endregion

    //region Getters & Setters


    public Set getIsSet() {
        return isSet;
    }

    public void setIsSet(Set isSet) {
        this.isSet = isSet;
    }

    //region PreferredSpot
    public List getPreferredSpot() {
        return preferredspot;
    }

    public void setPreferredSpot(List preferredspot) {
        isSet.add("preferredSpot");
        this.preferredspot = preferredspot;
    }
    //endregion

    //region Spot
    public List getSpot() {
        return spot;
    }

    public void setSpot(List spot) {
        isSet.add("spot");
        this.spot = spot;
    }
    //endregion

    //region OD
    public String getOnDemand() {
        return onDemand;
    }

    public void setOnDemand(String onDemand) {
        isSet.add("onDemand");
        this.onDemand = onDemand;
    }

    public List getOnDemandTypes() {
        return onDemandTypes;
    }

    public void setOnDemandTypes(List onDemandTypes) {
        isSet.add("onDemandTypes");
        this.onDemandTypes = onDemandTypes;
    }

    public List getWeights() {
        return weights;
    }

    public void setWeights(List weights) {
        isSet.add("weights");
        this.weights = weights;
    }

    public ResourceRequirements getResourceRequirements() {
        return resourcerequirements;
    }

    public void setResourceRequirements(ResourceRequirements requirements) {
        isSet.add("resourceRequirements");
        this.resourcerequirements = requirements;
    }

    //endregion

    //endregion

    //region Builder class
    public static class Builder {
        private ElastigroupInstanceTypes instanceTypes;

        private Builder() {
            this.instanceTypes = new ElastigroupInstanceTypes();
        }

        public static Builder get() {
            return new Builder();
        }

        public Builder setOnDemandType(final String onDemandType) {
            instanceTypes.setOnDemand(onDemandType);
            return this;
        }

        public Builder setOnDemandTypes(final List onDemandTypes) {
            instanceTypes.setOnDemandTypes(onDemandTypes);
            return this;
        }

        public Builder setSpotTypes(final List spotTypes) {
            instanceTypes.setSpot(spotTypes);
            return this;
        }

        public Builder setPreferredSpotTypes(final List preferredSpotTypes) {
            instanceTypes.setPreferredSpot(preferredSpotTypes);
            return this;
        }

        public ElastigroupInstanceTypes build() {
            // TODO : Validations
            return instanceTypes;
        }

        public Builder setWeights(final List weights) {
            instanceTypes.setWeights(weights);
            return this;
        }

        public Builder setResourceRequirements(final ResourceRequirements requirements) {
            instanceTypes.setResourceRequirements(requirements);
            return this;
        }
    }
    //endregion
    //region isSet methods
    // Is onDemand Set boolean method
    @JsonIgnore
    public boolean isOnDemandSet() {
        return isSet.contains("onDemand");
    }

    @JsonIgnore
    public boolean isOnDemandTypesSet() {
        return isSet.contains("onDemandTypes");
    }

    // Is spot Set boolean method
    @JsonIgnore
    public boolean isSpotSet() {
        return isSet.contains("spot");
    }

    // Is spot Set boolean method
    @JsonIgnore
    public boolean isPreferredSpotSet() {
        return isSet.contains("preferredSpot");
    }

    // Is weights Set boolean method
    @JsonIgnore
    public boolean isWeightsSet() {
        return isSet.contains("weights");
    }

    @JsonIgnore
    public boolean isResourceRequirementsSet() {
        return isSet.contains("resourceRequirements");
    }
    //endregion
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy