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

com.softlayer.api.service.network.gateway.Vlan Maven / Gradle / Ivy

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

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 com.softlayer.api.service.network.Gateway;
import java.util.List;
import java.util.concurrent.Future;

/**
 * An inside VLAN is a VLAN which is attached to a network gateway and can be routed or bypassed. 
 *
 * @see SoftLayer_Network_Gateway_Vlan
 */
@ApiType("SoftLayer_Network_Gateway_Vlan")
public class Vlan extends Entity {

    /**
     * The gateway this VLAN is attached to.
     */
    @ApiProperty
    protected Gateway networkGateway;

    public Gateway getNetworkGateway() {
        return networkGateway;
    }

    public void setNetworkGateway(Gateway networkGateway) {
        this.networkGateway = networkGateway;
    }

    /**
     * The network VLAN record.
     */
    @ApiProperty
    protected com.softlayer.api.service.network.Vlan networkVlan;

    public com.softlayer.api.service.network.Vlan getNetworkVlan() {
        return networkVlan;
    }

    public void setNetworkVlan(com.softlayer.api.service.network.Vlan networkVlan) {
        this.networkVlan = networkVlan;
    }

    /**
     * If true, this VLAN is bypassed. If false, it is routed through the gateway. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Boolean bypassFlag;

    public Boolean getBypassFlag() {
        return bypassFlag;
    }

    public void setBypassFlag(Boolean bypassFlag) {
        bypassFlagSpecified = true;
        this.bypassFlag = bypassFlag;
    }

    protected boolean bypassFlagSpecified;

    public boolean isBypassFlagSpecified() {
        return bypassFlagSpecified;
    }

    public void unsetBypassFlag() {
        bypassFlag = null;
        bypassFlagSpecified = false;
    }

    /**
     * A gateway VLAN's internal identifier. 
     */
    @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 internal identifier of the gateway this VLAN is attached to. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long networkGatewayId;

    public Long getNetworkGatewayId() {
        return networkGatewayId;
    }

    public void setNetworkGatewayId(Long networkGatewayId) {
        networkGatewayIdSpecified = true;
        this.networkGatewayId = networkGatewayId;
    }

    protected boolean networkGatewayIdSpecified;

    public boolean isNetworkGatewayIdSpecified() {
        return networkGatewayIdSpecified;
    }

    public void unsetNetworkGatewayId() {
        networkGatewayId = null;
        networkGatewayIdSpecified = false;
    }

    /**
     * The internal identifier of the network VLAN. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long networkVlanId;

    public Long getNetworkVlanId() {
        return networkVlanId;
    }

    public void setNetworkVlanId(Long networkVlanId) {
        networkVlanIdSpecified = true;
        this.networkVlanId = networkVlanId;
    }

    protected boolean networkVlanIdSpecified;

    public boolean isNetworkVlanIdSpecified() {
        return networkVlanIdSpecified;
    }

    public void unsetNetworkVlanId() {
        networkVlanId = null;
        networkVlanIdSpecified = 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());
    }

    /**
     * An inside VLAN is a VLAN which is attached to a network gateway and can be routed or bypassed. 
     *
     * @see SoftLayer_Network_Gateway_Vlan
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Network_Gateway_Vlan")
    public static interface Service extends com.softlayer.api.Service {

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

        /**
         * Start the asynchronous process to bypass/unroute the VLAN from this gateway. 
         *
         * @see SoftLayer_Network_Gateway_Vlan::bypass
         */
        @ApiMethod(instanceRequired = true)
        public Void bypass();

        /**
         * Create a new VLAN attachment. If the bypassFlag is false, this will also create an asynchronous process to route the VLAN through the gateway. 
         *
         * @see SoftLayer_Network_Gateway_Vlan::createObject
         */
        @ApiMethod
        public Vlan createObject(Vlan templateObject);

        /**
         * Create multiple new VLAN attachments. If the bypassFlag is false, this will also create an asynchronous process to route the VLANs through the gateway. 
         *
         * @see SoftLayer_Network_Gateway_Vlan::createObjects
         */
        @ApiMethod
        public List createObjects(List templateObjects);

        /**
         * Start the asynchronous process to detach this VLANs from the gateway. 
         *
         * @see SoftLayer_Network_Gateway_Vlan::deleteObject
         */
        @ApiMethod(instanceRequired = true)
        public Void deleteObject();

        /**
         * Detach several VLANs. This will not detach them right away, but rather start an asynchronous process to detach. 
         *
         * @see SoftLayer_Network_Gateway_Vlan::deleteObjects
         */
        @ApiMethod
        public Boolean deleteObjects(List templateObjects);

        /**
         * @see SoftLayer_Network_Gateway_Vlan::getObject
         */
        @ApiMethod(instanceRequired = true)
        public Vlan getObject();

        /**
         * Start the asynchronous process to route the VLAN to this gateway. 
         *
         * @see SoftLayer_Network_Gateway_Vlan::unbypass
         */
        @ApiMethod(instanceRequired = true)
        public Void unbypass();

        /**
         * The gateway this VLAN is attached to.
         *
         * @see SoftLayer_Network_Gateway_Vlan::getNetworkGateway
         */
        @ApiMethod(instanceRequired = true)
        public Gateway getNetworkGateway();

        /**
         * The network VLAN record.
         *
         * @see SoftLayer_Network_Gateway_Vlan::getNetworkVlan
         */
        @ApiMethod(instanceRequired = true)
        public com.softlayer.api.service.network.Vlan getNetworkVlan();

    }

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

        public Future bypass(ResponseHandler callback);

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

        public Future createObject(Vlan templateObject, ResponseHandler callback);

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

        public Future createObjects(List templateObjects, ResponseHandler> callback);

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

        public Future deleteObject(ResponseHandler callback);

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

        public Future deleteObjects(List templateObjects, ResponseHandler callback);

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

        public Future getObject(ResponseHandler callback);

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

        public Future unbypass(ResponseHandler callback);

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

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

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

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

    }

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

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

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

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

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy