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

com.softlayer.api.service.virtual.storage.Repository Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.virtual.storage;

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.Account;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.Location;
import com.softlayer.api.service.billing.Item;
import com.softlayer.api.service.container.bandwidth.GraphOutputs;
import com.softlayer.api.service.metric.tracking.object.Data;
import com.softlayer.api.service.virtual.Guest;
import com.softlayer.api.service.virtual.disk.Image;
import com.softlayer.api.service.virtual.storage.repository.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Virtual_Storage_Repository represents a web based storage system that can be accessed through many types of devices, interfaces, and other resources. 
 *
 * @see SoftLayer_Virtual_Storage_Repository
 */
@ApiType("SoftLayer_Virtual_Storage_Repository")
public class Repository extends Entity {

    /**
     * The [[SoftLayer_Account|account]] that a storage repository belongs to.
     */
    @ApiProperty
    protected Account account;

    public Account getAccount() {
        return account;
    }

    public void setAccount(Account account) {
        this.account = account;
    }

    /**
     * The current billing item for a storage repository.
     */
    @ApiProperty
    protected Item billingItem;

    public Item getBillingItem() {
        return billingItem;
    }

    public void setBillingItem(Item billingItem) {
        this.billingItem = billingItem;
    }

    /**
     * The datacenter that a virtual storage repository resides in.
     */
    @ApiProperty
    protected Location datacenter;

    public Location getDatacenter() {
        return datacenter;
    }

    public void setDatacenter(Location datacenter) {
        this.datacenter = datacenter;
    }

    /**
     * The [[SoftLayer_Virtual_Disk_Image|disk images]] that are in a storage repository. Disk images are the virtual hard drives for a virtual guest.
     */
    @ApiProperty
    protected List diskImages;

    public List getDiskImages() {
        if (diskImages == null) {
            diskImages = new ArrayList();
        }
        return diskImages;
    }

    /**
     * The computing instances that have disk images in a storage repository.
     */
    @ApiProperty
    protected List guests;

    public List getGuests() {
        if (guests == null) {
            guests = new ArrayList();
        }
        return guests;
    }

    @ApiProperty
    protected com.softlayer.api.service.metric.tracking.object.virtual.storage.Repository metricTrackingObject;

    public com.softlayer.api.service.metric.tracking.object.virtual.storage.Repository getMetricTrackingObject() {
        return metricTrackingObject;
    }

    public void setMetricTrackingObject(com.softlayer.api.service.metric.tracking.object.virtual.storage.Repository metricTrackingObject) {
        this.metricTrackingObject = metricTrackingObject;
    }

    /**
     * The current billing item for a public storage repository.
     */
    @ApiProperty
    protected Item publicImageBillingItem;

    public Item getPublicImageBillingItem() {
        return publicImageBillingItem;
    }

    public void setPublicImageBillingItem(Item publicImageBillingItem) {
        this.publicImageBillingItem = publicImageBillingItem;
    }

    /**
     * A storage repository's [[SoftLayer_Virtual_Storage_Repository_Type|type]].
     */
    @ApiProperty
    protected Type type;

    public Type getType() {
        return type;
    }

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

    /**
     * A storage repositories capacity measured in Giga-Bytes (GB) 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected BigDecimal capacity;

    public BigDecimal getCapacity() {
        return capacity;
    }

    public void setCapacity(BigDecimal capacity) {
        capacitySpecified = true;
        this.capacity = capacity;
    }

    protected boolean capacitySpecified;

    public boolean isCapacitySpecified() {
        return capacitySpecified;
    }

    public void unsetCapacity() {
        capacity = null;
        capacitySpecified = false;
    }

    /**
     * A storage repositories description that describes its purpose or contents 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String description;

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        descriptionSpecified = true;
        this.description = description;
    }

    protected boolean descriptionSpecified;

    public boolean isDescriptionSpecified() {
        return descriptionSpecified;
    }

    public void unsetDescription() {
        description = null;
        descriptionSpecified = false;
    }

    /**
     * Unique ID for a storage repository. 
     */
    @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;
    }

    /**
     * A storage repositories name that describes its purpose or contents 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        nameSpecified = true;
        this.name = name;
    }

    protected boolean nameSpecified;

    public boolean isNameSpecified() {
        return nameSpecified;
    }

    public void unsetName() {
        name = null;
        nameSpecified = false;
    }

    @ApiProperty(canBeNullOrNotSet = true)
    protected Long publicFlag;

    public Long getPublicFlag() {
        return publicFlag;
    }

    public void setPublicFlag(Long publicFlag) {
        publicFlagSpecified = true;
        this.publicFlag = publicFlag;
    }

    protected boolean publicFlagSpecified;

    public boolean isPublicFlagSpecified() {
        return publicFlagSpecified;
    }

    public void unsetPublicFlag() {
        publicFlag = null;
        publicFlagSpecified = false;
    }

    /**
     * A storage repositories [[SoftLayer_Virtual_Storage_Repository_Type|type]] ID 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long typeId;

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        typeIdSpecified = true;
        this.typeId = typeId;
    }

    protected boolean typeIdSpecified;

    public boolean isTypeIdSpecified() {
        return typeIdSpecified;
    }

    public void unsetTypeId() {
        typeId = null;
        typeIdSpecified = false;
    }

    /**
     * A count of the [[SoftLayer_Virtual_Disk_Image|disk images]] that are in a storage repository. Disk images are the virtual hard drives for a virtual guest.
     */
    @ApiProperty
    protected Long diskImageCount;

    public Long getDiskImageCount() {
        return diskImageCount;
    }

    public void setDiskImageCount(Long diskImageCount) {
        this.diskImageCount = diskImageCount;
    }

    /**
     * A count of the computing instances that have disk images in a storage repository.
     */
    @ApiProperty
    protected Long guestCount;

    public Long getGuestCount() {
        return guestCount;
    }

    public void setGuestCount(Long guestCount) {
        this.guestCount = guestCount;
    }

    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());
    }

    /**
     * Storage Repositories are storage systems that are accessible through the internet and can be accessed through many types of devices, interfaces, and other resources such as NFS (Network File System).  They can contain 1 or more [[SoftLayer_Virtual_Disk_Image]] and can be attached to more than one [[SoftLayer_Virtual_Host|host]]. 
     *
     * @see SoftLayer_Virtual_Storage_Repository
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Virtual_Storage_Repository")
    public static interface Service extends com.softlayer.api.Service {

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

        /**
         * Returns the archive storage disk usage fee rate per gigabyte. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getArchiveDiskUsageRatePerGb
         */
        @ApiMethod(instanceRequired = true)
        public BigDecimal getArchiveDiskUsageRatePerGb();

        /**
         * Returns the average disk space usage for a storage repository. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getAverageDiskUsageMetricDataFromInfluxByDate
         */
        @ApiMethod(instanceRequired = true)
        public BigDecimal getAverageDiskUsageMetricDataFromInfluxByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        /**
         * Returns the average disk space usage for a storage repository. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getAverageUsageMetricDataByDate
         */
        @ApiMethod(instanceRequired = true)
        public BigDecimal getAverageUsageMetricDataByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        /**
         * @see SoftLayer_Virtual_Storage_Repository::getObject
         */
        @ApiMethod(instanceRequired = true)
        public Repository getObject();

        /**
         * Returns the public image storage disk usage fee rate per gigabyte. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getPublicImageDiskUsageRatePerGb
         */
        @ApiMethod(instanceRequired = true)
        public BigDecimal getPublicImageDiskUsageRatePerGb();

        /**
         * Returns the public image storage locations. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getStorageLocations
         */
        @ApiMethod(instanceRequired = true)
        public List getStorageLocations();

        /**
         * Retrieve disk usage data on a [[SoftLayer_Virtual_Guest|Cloud Computing Instance]] image for the time range you provide.  Each data entry objects contain ''dateTime'' and ''counter'' properties. ''dateTime'' property indicates the time that the disk usage data was measured and ''counter'' property holds the disk usage in bytes. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getUsageMetricDataByDate
         */
        @ApiMethod(instanceRequired = true)
        public List getUsageMetricDataByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        /**
         * Returns a disk usage image based on disk usage specified by the input parameters. 
         *
         * @see SoftLayer_Virtual_Storage_Repository::getUsageMetricImageByDate
         */
        @ApiMethod(instanceRequired = true)
        public GraphOutputs getUsageMetricImageByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        /**
         * The [[SoftLayer_Account|account]] that a storage repository belongs to.
         *
         * @see SoftLayer_Virtual_Storage_Repository::getAccount
         */
        @ApiMethod(instanceRequired = true)
        public Account getAccount();

        /**
         * The current billing item for a storage repository.
         *
         * @see SoftLayer_Virtual_Storage_Repository::getBillingItem
         */
        @ApiMethod(instanceRequired = true)
        public Item getBillingItem();

        /**
         * The datacenter that a virtual storage repository resides in.
         *
         * @see SoftLayer_Virtual_Storage_Repository::getDatacenter
         */
        @ApiMethod(instanceRequired = true)
        public Location getDatacenter();

        /**
         * The [[SoftLayer_Virtual_Disk_Image|disk images]] that are in a storage repository. Disk images are the virtual hard drives for a virtual guest.
         *
         * @see SoftLayer_Virtual_Storage_Repository::getDiskImages
         */
        @ApiMethod(instanceRequired = true)
        public List getDiskImages();

        /**
         * The computing instances that have disk images in a storage repository.
         *
         * @see SoftLayer_Virtual_Storage_Repository::getGuests
         */
        @ApiMethod(instanceRequired = true)
        public List getGuests();

        /**
         * @see SoftLayer_Virtual_Storage_Repository::getMetricTrackingObject
         */
        @ApiMethod(instanceRequired = true)
        public com.softlayer.api.service.metric.tracking.object.virtual.storage.Repository getMetricTrackingObject();

        /**
         * The current billing item for a public storage repository.
         *
         * @see SoftLayer_Virtual_Storage_Repository::getPublicImageBillingItem
         */
        @ApiMethod(instanceRequired = true)
        public Item getPublicImageBillingItem();

        /**
         * A storage repository's [[SoftLayer_Virtual_Storage_Repository_Type|type]].
         *
         * @see SoftLayer_Virtual_Storage_Repository::getType
         */
        @ApiMethod(instanceRequired = true)
        public Type getType();

    }

    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#getArchiveDiskUsageRatePerGb}
         */
        public Future getArchiveDiskUsageRatePerGb();

        public Future getArchiveDiskUsageRatePerGb(ResponseHandler callback);

        /**
         * Async version of {@link Service#getAverageDiskUsageMetricDataFromInfluxByDate}
         */
        public Future getAverageDiskUsageMetricDataFromInfluxByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        public Future getAverageDiskUsageMetricDataFromInfluxByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime, ResponseHandler callback);

        /**
         * Async version of {@link Service#getAverageUsageMetricDataByDate}
         */
        public Future getAverageUsageMetricDataByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        public Future getAverageUsageMetricDataByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime, ResponseHandler callback);

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

        public Future getObject(ResponseHandler callback);

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

        public Future getPublicImageDiskUsageRatePerGb(ResponseHandler callback);

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

        public Future getStorageLocations(ResponseHandler> callback);

        /**
         * Async version of {@link Service#getUsageMetricDataByDate}
         */
        public Future> getUsageMetricDataByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        public Future getUsageMetricDataByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime, ResponseHandler> callback);

        /**
         * Async version of {@link Service#getUsageMetricImageByDate}
         */
        public Future getUsageMetricImageByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime);

        public Future getUsageMetricImageByDate(GregorianCalendar startDateTime, GregorianCalendar endDateTime, ResponseHandler callback);

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

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

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

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

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

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

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

        /**
         * Async callback version of {@link Service#getDiskImages}
         */
        public Future getDiskImages(ResponseHandler> callback);

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

        /**
         * Async callback version of {@link Service#getGuests}
         */
        public Future getGuests(ResponseHandler> callback);

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

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

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

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

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

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

    }

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

        public com.softlayer.api.service.Account.Mask account() {
            return withSubMask("account", com.softlayer.api.service.Account.Mask.class);
        }

        public com.softlayer.api.service.billing.Item.Mask billingItem() {
            return withSubMask("billingItem", com.softlayer.api.service.billing.Item.Mask.class);
        }

        public com.softlayer.api.service.Location.Mask datacenter() {
            return withSubMask("datacenter", com.softlayer.api.service.Location.Mask.class);
        }

        public com.softlayer.api.service.virtual.disk.Image.Mask diskImages() {
            return withSubMask("diskImages", com.softlayer.api.service.virtual.disk.Image.Mask.class);
        }

        public com.softlayer.api.service.virtual.Guest.Mask guests() {
            return withSubMask("guests", com.softlayer.api.service.virtual.Guest.Mask.class);
        }

        public com.softlayer.api.service.metric.tracking.object.virtual.storage.Repository.Mask metricTrackingObject() {
            return withSubMask("metricTrackingObject", com.softlayer.api.service.metric.tracking.object.virtual.storage.Repository.Mask.class);
        }

        public com.softlayer.api.service.billing.Item.Mask publicImageBillingItem() {
            return withSubMask("publicImageBillingItem", com.softlayer.api.service.billing.Item.Mask.class);
        }

        public com.softlayer.api.service.virtual.storage.repository.Type.Mask type() {
            return withSubMask("type", com.softlayer.api.service.virtual.storage.repository.Type.Mask.class);
        }

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

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

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

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

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

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy