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

com.softlayer.api.service.hardware.Router Maven / Gradle / Ivy

The newest version!
package com.softlayer.api.service.hardware;

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.Hardware;
import com.softlayer.api.service.hardware.Switch;
import com.softlayer.api.service.network.Subnet;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Hardware_Router data type contains general information relating to a single SoftLayer router. 
 *
 * @see SoftLayer_Hardware_Router
 */
@ApiType("SoftLayer_Hardware_Router")
public class Router extends Switch {

    /**
     * Associated subnets for a router object.
     */
    @ApiProperty
    protected List boundSubnets;

    public List getBoundSubnets() {
        if (boundSubnets == null) {
            boundSubnets = new ArrayList();
        }
        return boundSubnets;
    }

    /**
     * A flag indicating that a VLAN on the router can be assigned to a host that has local disk functionality.
     */
    @ApiProperty
    protected Boolean localDiskStorageCapabilityFlag;

    public Boolean getLocalDiskStorageCapabilityFlag() {
        return localDiskStorageCapabilityFlag;
    }

    public void setLocalDiskStorageCapabilityFlag(Boolean localDiskStorageCapabilityFlag) {
        this.localDiskStorageCapabilityFlag = localDiskStorageCapabilityFlag;
    }

    /**
     * A flag indicating that a VLAN on the router can be assigned to a host that has SAN disk functionality.
     */
    @ApiProperty
    protected Boolean sanStorageCapabilityFlag;

    public Boolean getSanStorageCapabilityFlag() {
        return sanStorageCapabilityFlag;
    }

    public void setSanStorageCapabilityFlag(Boolean sanStorageCapabilityFlag) {
        this.sanStorageCapabilityFlag = sanStorageCapabilityFlag;
    }

    /**
     * A count of associated subnets for a router object.
     */
    @ApiProperty
    protected Long boundSubnetCount;

    public Long getBoundSubnetCount() {
        return boundSubnetCount;
    }

    public void setBoundSubnetCount(Long boundSubnetCount) {
        this.boundSubnetCount = boundSubnetCount;
    }

    public Service asService(ApiClient client) {
        if (id != null) {
            return service(client, id);
        } else {
            return service(client, globalIdentifier);
        }
    }

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

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

    /**
     * This service provides access to the device responsible for routing a particular SoftLayer Router. 
     *
     * @see SoftLayer_Hardware_Router
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Hardware_Router")
    public static interface Service extends Hardware.Service {

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

        /**
         * @see SoftLayer_Hardware_Router::getObject
         */
        @ApiMethod(value = "getObject", instanceRequired = true)
        public Router getObjectForRouter();

        /**
         * Associated subnets for a router object.
         *
         * @see SoftLayer_Hardware_Router::getBoundSubnets
         */
        @ApiMethod(instanceRequired = true)
        public List getBoundSubnets();

        /**
         * A flag indicating that a VLAN on the router can be assigned to a host that has local disk functionality.
         *
         * @see SoftLayer_Hardware_Router::getLocalDiskStorageCapabilityFlag
         */
        @ApiMethod(instanceRequired = true)
        public Boolean getLocalDiskStorageCapabilityFlag();

        /**
         * A flag indicating that a VLAN on the router can be assigned to a host that has SAN disk functionality.
         *
         * @see SoftLayer_Hardware_Router::getSanStorageCapabilityFlag
         */
        @ApiMethod(instanceRequired = true)
        public Boolean getSanStorageCapabilityFlag();

    }

    public static interface ServiceAsync extends Hardware.ServiceAsync {

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

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

        public Future getObjectForRouter(ResponseHandler callback);

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

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

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

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

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

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

    }

    public static class Mask extends Switch.Mask {

        public com.softlayer.api.service.network.Subnet.Mask boundSubnets() {
            return withSubMask("boundSubnets", com.softlayer.api.service.network.Subnet.Mask.class);
        }

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy