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

com.softlayer.api.service.scale.asset.Hardware Maven / Gradle / Ivy

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

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.scale.Asset;
import java.util.concurrent.Future;

/**
 * A hardware asset is a fixed asset of scale group. It is not automatically scaled up or down in any way. Its purpose is to provide information (e.g. metrics) to policies to affect scaling decisions. Currently hardware assets are unsupported. 
 *
 * @see SoftLayer_Scale_Asset_Hardware
 */
@ApiType("SoftLayer_Scale_Asset_Hardware")
public class Hardware extends Asset {

    /**
     * The hardware for this asset.
     */
    @ApiProperty
    protected com.softlayer.api.service.Hardware hardware;

    public com.softlayer.api.service.Hardware getHardware() {
        return hardware;
    }

    public void setHardware(com.softlayer.api.service.Hardware hardware) {
        this.hardware = hardware;
    }

    /**
     * The identifier of the hardware for this asset.
     */
    @ApiProperty
    protected Long hardwareId;

    public Long getHardwareId() {
        return hardwareId;
    }

    public void setHardwareId(Long hardwareId) {
        this.hardwareId = hardwareId;
    }

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

    /**
     * A hardware asset is a fixed asset of scale group. It is not automatically scaled up or down in any way. Its purpose is to provide information (e.g. metrics) to policies to affect scaling decisions. Currently hardware assets are unsupported. 
     *
     * @see SoftLayer_Scale_Asset_Hardware
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Scale_Asset_Hardware")
    public static interface Service extends Asset.Service {

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

        /**
         * @see SoftLayer_Scale_Asset_Hardware::createObject
         */
        @ApiMethod
        public Hardware createObject(Hardware templateObject);

        /**
         * @see SoftLayer_Scale_Asset_Hardware::getObject
         */
        @ApiMethod(value = "getObject", instanceRequired = true)
        public Hardware getObjectForHardware();

        /**
         * The hardware for this asset.
         *
         * @see SoftLayer_Scale_Asset_Hardware::getHardware
         */
        @ApiMethod(instanceRequired = true)
        public com.softlayer.api.service.Hardware getHardware();

        /**
         * The identifier of the hardware for this asset.
         *
         * @see SoftLayer_Scale_Asset_Hardware::getHardwareId
         */
        @ApiMethod(instanceRequired = true)
        public Long getHardwareId();

    }

    public static interface ServiceAsync extends Asset.ServiceAsync {

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

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

        public Future createObject(Hardware templateObject, ResponseHandler callback);

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

        public Future getObjectForHardware(ResponseHandler callback);

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

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

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

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

    }

    public static class Mask extends com.softlayer.api.service.scale.Asset.Mask {

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy