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

com.softlayer.api.service.metric.tracking.object.bandwidth.Summary Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.metric.tracking.object.bandwidth;

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import java.math.BigDecimal;
import java.util.concurrent.Future;

/**
 * This data type provides commonly used bandwidth summary components for the current billing cycle. 
 *
 * @see SoftLayer_Metric_Tracking_Object_Bandwidth_Summary
 */
@ApiType("SoftLayer_Metric_Tracking_Object_Bandwidth_Summary")
public class Summary extends Entity {

    /**
     * This is the amount of bandwidth (measured in gigabytes) allocated for this tracking object. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected BigDecimal allocationAmount;

    public BigDecimal getAllocationAmount() {
        return allocationAmount;
    }

    public void setAllocationAmount(BigDecimal allocationAmount) {
        allocationAmountSpecified = true;
        this.allocationAmount = allocationAmount;
    }

    protected boolean allocationAmountSpecified;

    public boolean isAllocationAmountSpecified() {
        return allocationAmountSpecified;
    }

    public void unsetAllocationAmount() {
        allocationAmount = null;
        allocationAmountSpecified = false;
    }

    @ApiProperty(canBeNullOrNotSet = true)
    protected Long allocationId;

    public Long getAllocationId() {
        return allocationId;
    }

    public void setAllocationId(Long allocationId) {
        allocationIdSpecified = true;
        this.allocationId = allocationId;
    }

    protected boolean allocationIdSpecified;

    public boolean isAllocationIdSpecified() {
        return allocationIdSpecified;
    }

    public void unsetAllocationId() {
        allocationId = null;
        allocationIdSpecified = false;
    }

    /**
     * The amount of outbound bandwidth (measured in gigabytes) currently used this billing period. Same as $outboundBandwidthAmount. Aliased for backward compatability. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected BigDecimal amountOut;

    public BigDecimal getAmountOut() {
        return amountOut;
    }

    public void setAmountOut(BigDecimal amountOut) {
        amountOutSpecified = true;
        this.amountOut = amountOut;
    }

    protected boolean amountOutSpecified;

    public boolean isAmountOutSpecified() {
        return amountOutSpecified;
    }

    public void unsetAmountOut() {
        amountOut = null;
        amountOutSpecified = false;
    }

    /**
     * The daily average amount of outbound bandwidth usage. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected BigDecimal averageDailyUsage;

    public BigDecimal getAverageDailyUsage() {
        return averageDailyUsage;
    }

    public void setAverageDailyUsage(BigDecimal averageDailyUsage) {
        averageDailyUsageSpecified = true;
        this.averageDailyUsage = averageDailyUsage;
    }

    protected boolean averageDailyUsageSpecified;

    public boolean isAverageDailyUsageSpecified() {
        return averageDailyUsageSpecified;
    }

    public void unsetAverageDailyUsage() {
        averageDailyUsage = null;
        averageDailyUsageSpecified = false;
    }

    /**
     * A flag that tells whether or not this tracking object's bandwidth usage is already over the allocation. 1 means yes, 0 means no. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long currentlyOverAllocationFlag;

    public Long getCurrentlyOverAllocationFlag() {
        return currentlyOverAllocationFlag;
    }

    public void setCurrentlyOverAllocationFlag(Long currentlyOverAllocationFlag) {
        currentlyOverAllocationFlagSpecified = true;
        this.currentlyOverAllocationFlag = currentlyOverAllocationFlag;
    }

    protected boolean currentlyOverAllocationFlagSpecified;

    public boolean isCurrentlyOverAllocationFlagSpecified() {
        return currentlyOverAllocationFlagSpecified;
    }

    public void unsetCurrentlyOverAllocationFlag() {
        currentlyOverAllocationFlag = null;
        currentlyOverAllocationFlagSpecified = false;
    }

    /**
     * The metric tracking id for this resource. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        idSpecified = true;
        this.id = id;
    }

    protected boolean idSpecified;

    public boolean isIdSpecified() {
        return idSpecified;
    }

    public void unsetId() {
        id = null;
        idSpecified = false;
    }

    /**
     * The amount of outbound bandwidth (measured in gigabytes) currently used this billing period 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected BigDecimal outboundBandwidthAmount;

    public BigDecimal getOutboundBandwidthAmount() {
        return outboundBandwidthAmount;
    }

    public void setOutboundBandwidthAmount(BigDecimal outboundBandwidthAmount) {
        outboundBandwidthAmountSpecified = true;
        this.outboundBandwidthAmount = outboundBandwidthAmount;
    }

    protected boolean outboundBandwidthAmountSpecified;

    public boolean isOutboundBandwidthAmountSpecified() {
        return outboundBandwidthAmountSpecified;
    }

    public void unsetOutboundBandwidthAmount() {
        outboundBandwidthAmount = null;
        outboundBandwidthAmountSpecified = false;
    }

    /**
     * The amount of bandwidth (measured in gigabytes) of projected usage, using a basic average calculation of daily usage. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected BigDecimal projectedBandwidthUsage;

    public BigDecimal getProjectedBandwidthUsage() {
        return projectedBandwidthUsage;
    }

    public void setProjectedBandwidthUsage(BigDecimal projectedBandwidthUsage) {
        projectedBandwidthUsageSpecified = true;
        this.projectedBandwidthUsage = projectedBandwidthUsage;
    }

    protected boolean projectedBandwidthUsageSpecified;

    public boolean isProjectedBandwidthUsageSpecified() {
        return projectedBandwidthUsageSpecified;
    }

    public void unsetProjectedBandwidthUsage() {
        projectedBandwidthUsage = null;
        projectedBandwidthUsageSpecified = false;
    }

    /**
     * A flag that tells whether or not this tracking object's bandwidth usage is projected to go over the allocation, based on daily average usage. 1 means yes, 0 means no. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long projectedOverAllocationFlag;

    public Long getProjectedOverAllocationFlag() {
        return projectedOverAllocationFlag;
    }

    public void setProjectedOverAllocationFlag(Long projectedOverAllocationFlag) {
        projectedOverAllocationFlagSpecified = true;
        this.projectedOverAllocationFlag = projectedOverAllocationFlag;
    }

    protected boolean projectedOverAllocationFlagSpecified;

    public boolean isProjectedOverAllocationFlagSpecified() {
        return projectedOverAllocationFlagSpecified;
    }

    public void unsetProjectedOverAllocationFlag() {
        projectedOverAllocationFlag = null;
        projectedOverAllocationFlagSpecified = false;
    }

    public Service asService(ApiClient client) {
        return service(client, id);
    }

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    public static Service service(ApiClient client, Long id) {
        return client.createService(Service.class, id == null ? null : id.toString());
    }

    /**
     * @see SoftLayer_Metric_Tracking_Object_Bandwidth_Summary
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Metric_Tracking_Object_Bandwidth_Summary")
    public static interface Service extends com.softlayer.api.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * @see SoftLayer_Metric_Tracking_Object_Bandwidth_Summary::getObject
         */
        @ApiMethod(instanceRequired = true)
        public Summary getObject();

    }

    public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#getObject}
         */
        public Future getObject();

        public Future getObject(ResponseHandler callback);

    }

    public static class Mask extends com.softlayer.api.service.Entity.Mask {

        public Mask allocationAmount() {
            withLocalProperty("allocationAmount");
            return this;
        }

        public Mask allocationId() {
            withLocalProperty("allocationId");
            return this;
        }

        public Mask amountOut() {
            withLocalProperty("amountOut");
            return this;
        }

        public Mask averageDailyUsage() {
            withLocalProperty("averageDailyUsage");
            return this;
        }

        public Mask currentlyOverAllocationFlag() {
            withLocalProperty("currentlyOverAllocationFlag");
            return this;
        }

        public Mask id() {
            withLocalProperty("id");
            return this;
        }

        public Mask outboundBandwidthAmount() {
            withLocalProperty("outboundBandwidthAmount");
            return this;
        }

        public Mask projectedBandwidthUsage() {
            withLocalProperty("projectedBandwidthUsage");
            return this;
        }

        public Mask projectedOverAllocationFlag() {
            withLocalProperty("projectedOverAllocationFlag");
            return this;
        }

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy