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

com.softlayer.api.service.network.Component Maven / Gradle / Ivy

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

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.Hardware;
import com.softlayer.api.service.container.Graph;
import com.softlayer.api.service.container.network.port.Statistic;
import com.softlayer.api.service.hardware.component.remotemanagement.User;
import com.softlayer.api.service.hardware.component.remotemanagement.command.Request;
import com.softlayer.api.service.metric.tracking.Object;
import com.softlayer.api.service.network.Subnet;
import com.softlayer.api.service.network.Vlan;
import com.softlayer.api.service.network.bandwidth.version1.Interface;
import com.softlayer.api.service.network.component.Firewall;
import com.softlayer.api.service.network.component.Group;
import com.softlayer.api.service.network.component.duplex.Mode;
import com.softlayer.api.service.network.component.network.vlan.Trunk;
import com.softlayer.api.service.network.subnet.IpAddress;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;

/**
 * Every piece of hardware running in SoftLayer's datacenters connected to the public, private, or management networks (where applicable) have a corresponding network component. These network components are modeled by the SoftLayer_Network_Component data type. These data types reflect the servers' local ethernet and remote management interfaces. 
 *
 * @see SoftLayer_Network_Component
 */
@ApiType("SoftLayer_Network_Component")
public class Component extends Entity {

    /**
     * Reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) command currently executing by the server's remote management card.
     */
    @ApiProperty
    protected Request activeCommand;

    public Request getActiveCommand() {
        return activeCommand;
    }

    public void setActiveCommand(Request activeCommand) {
        this.activeCommand = activeCommand;
    }

    /**
     * The network component linking this object to a child device
     */
    @ApiProperty
    protected Component downlinkComponent;

    public Component getDownlinkComponent() {
        return downlinkComponent;
    }

    public void setDownlinkComponent(Component downlinkComponent) {
        this.downlinkComponent = downlinkComponent;
    }

    /**
     * The duplex mode of a network component.
     */
    @ApiProperty
    protected Mode duplexMode;

    public Mode getDuplexMode() {
        return duplexMode;
    }

    public void setDuplexMode(Mode duplexMode) {
        this.duplexMode = duplexMode;
    }

    /**
     * The hardware that a network component resides in.
     */
    @ApiProperty
    protected Hardware hardware;

    public Hardware getHardware() {
        return hardware;
    }

    public void setHardware(Hardware hardware) {
        this.hardware = hardware;
    }

    @ApiProperty
    protected Boolean highAvailabilityFirewallFlag;

    public Boolean getHighAvailabilityFirewallFlag() {
        return highAvailabilityFirewallFlag;
    }

    public void setHighAvailabilityFirewallFlag(Boolean highAvailabilityFirewallFlag) {
        this.highAvailabilityFirewallFlag = highAvailabilityFirewallFlag;
    }

    /**
     * [DEPRECATED] A hardware switch's interface to the bandwidth pod.
     */
    @ApiProperty("interface")
    protected Interface componentInterface;

    public Interface getComponentInterface() {
        return componentInterface;
    }

    public void setComponentInterface(Interface componentInterface) {
        this.componentInterface = componentInterface;
    }

    /**
     * The records of all IP addresses bound to a network component.
     */
    @ApiProperty
    protected List ipAddressBindings;

    public List getIpAddressBindings() {
        if (ipAddressBindings == null) {
            ipAddressBindings = new ArrayList();
        }
        return ipAddressBindings;
    }

    @ApiProperty
    protected List ipAddresses;

    public List getIpAddresses() {
        if (ipAddresses == null) {
            ipAddresses = new ArrayList();
        }
        return ipAddresses;
    }

    /**
     * Last reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) command issued to the server's remote management card.
     */
    @ApiProperty
    protected Request lastCommand;

    public Request getLastCommand() {
        return lastCommand;
    }

    public void setLastCommand(Request lastCommand) {
        this.lastCommand = lastCommand;
    }

    /**
     * The metric tracking object for this network component.
     */
    @ApiProperty
    protected Object metricTrackingObject;

    public Object getMetricTrackingObject() {
        return metricTrackingObject;
    }

    public void setMetricTrackingObject(Object metricTrackingObject) {
        this.metricTrackingObject = metricTrackingObject;
    }

    /**
     * The upstream network component firewall.
     */
    @ApiProperty
    protected Firewall networkComponentFirewall;

    public Firewall getNetworkComponentFirewall() {
        return networkComponentFirewall;
    }

    public void setNetworkComponentFirewall(Firewall networkComponentFirewall) {
        this.networkComponentFirewall = networkComponentFirewall;
    }

    /**
     * A network component's associated group.
     */
    @ApiProperty
    protected Group networkComponentGroup;

    public Group getNetworkComponentGroup() {
        return networkComponentGroup;
    }

    public void setNetworkComponentGroup(Group networkComponentGroup) {
        this.networkComponentGroup = networkComponentGroup;
    }

    /**
     * All network devices in SoftLayer's network hierarchy that this device is connected to.
     */
    @ApiProperty
    protected List networkHardware;

    public List getNetworkHardware() {
        if (networkHardware == null) {
            networkHardware = new ArrayList();
        }
        return networkHardware;
    }

    /**
     * The VLAN that a network component's subnet is associated with.
     */
    @ApiProperty
    protected Vlan networkVlan;

    public Vlan getNetworkVlan() {
        return networkVlan;
    }

    public void setNetworkVlan(Vlan networkVlan) {
        this.networkVlan = networkVlan;
    }

    /**
     * The VLANs that are trunked to this network component.
     */
    @ApiProperty
    protected List networkVlanTrunks;

    public List getNetworkVlanTrunks() {
        if (networkVlanTrunks == null) {
            networkVlanTrunks = new ArrayList();
        }
        return networkVlanTrunks;
    }

    /**
     * The primary IPv4 Address record for a network component.
     */
    @ApiProperty
    protected IpAddress primaryIpAddressRecord;

    public IpAddress getPrimaryIpAddressRecord() {
        return primaryIpAddressRecord;
    }

    public void setPrimaryIpAddressRecord(IpAddress primaryIpAddressRecord) {
        this.primaryIpAddressRecord = primaryIpAddressRecord;
    }

    /**
     * The subnet of the primary IP address assigned to this network component.
     */
    @ApiProperty
    protected Subnet primarySubnet;

    public Subnet getPrimarySubnet() {
        return primarySubnet;
    }

    public void setPrimarySubnet(Subnet primarySubnet) {
        this.primarySubnet = primarySubnet;
    }

    /**
     * The primary IPv6 Address record for a network component.
     */
    @ApiProperty
    protected IpAddress primaryVersion6IpAddressRecord;

    public IpAddress getPrimaryVersion6IpAddressRecord() {
        return primaryVersion6IpAddressRecord;
    }

    public void setPrimaryVersion6IpAddressRecord(IpAddress primaryVersion6IpAddressRecord) {
        this.primaryVersion6IpAddressRecord = primaryVersion6IpAddressRecord;
    }

    /**
     * The last five reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) commands issued to the server's remote management card.
     */
    @ApiProperty
    protected List recentCommands;

    public List getRecentCommands() {
        if (recentCommands == null) {
            recentCommands = new ArrayList();
        }
        return recentCommands;
    }

    /**
     * Indicates whether the network component is participating in a group of two or more components capable of being operationally redundant, if enabled.
     */
    @ApiProperty
    protected Boolean redundancyCapableFlag;

    public Boolean getRedundancyCapableFlag() {
        return redundancyCapableFlag;
    }

    public void setRedundancyCapableFlag(Boolean redundancyCapableFlag) {
        this.redundancyCapableFlag = redundancyCapableFlag;
    }

    /**
     * Indicates whether the network component is participating in a group of two or more components which is actively providing link redundancy.
     */
    @ApiProperty
    protected Boolean redundancyEnabledFlag;

    public Boolean getRedundancyEnabledFlag() {
        return redundancyEnabledFlag;
    }

    public void setRedundancyEnabledFlag(Boolean redundancyEnabledFlag) {
        this.redundancyEnabledFlag = redundancyEnabledFlag;
    }

    /**
     * User(s) credentials to issue commands and/or interact with the server's remote management card.
     */
    @ApiProperty
    protected List remoteManagementUsers;

    public List getRemoteManagementUsers() {
        if (remoteManagementUsers == null) {
            remoteManagementUsers = new ArrayList();
        }
        return remoteManagementUsers;
    }

    /**
     * A network component's routers.
     */
    @ApiProperty
    protected Hardware router;

    public Hardware getRouter() {
        return router;
    }

    public void setRouter(Hardware router) {
        this.router = router;
    }

    /**
     * Whether a network component's primary ip address is from a storage network subnet or not.
     */
    @ApiProperty
    protected Boolean storageNetworkFlag;

    public Boolean getStorageNetworkFlag() {
        return storageNetworkFlag;
    }

    public void setStorageNetworkFlag(Boolean storageNetworkFlag) {
        this.storageNetworkFlag = storageNetworkFlag;
    }

    /**
     * A network component's subnets. A subnet is a group of IP addresses
     */
    @ApiProperty
    protected List subnets;

    public List getSubnets() {
        if (subnets == null) {
            subnets = new ArrayList();
        }
        return subnets;
    }

    /**
     * The network component linking this object to parent
     */
    @ApiProperty
    protected Component uplinkComponent;

    public Component getUplinkComponent() {
        return uplinkComponent;
    }

    public void setUplinkComponent(Component uplinkComponent) {
        this.uplinkComponent = uplinkComponent;
    }

    /**
     * The duplex mode of the uplink network component linking to this object
     */
    @ApiProperty
    protected Mode uplinkDuplexMode;

    public Mode getUplinkDuplexMode() {
        return uplinkDuplexMode;
    }

    public void setUplinkDuplexMode(Mode uplinkDuplexMode) {
        this.uplinkDuplexMode = uplinkDuplexMode;
    }

    /**
     * A network component's Duplex mode. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String duplexModeId;

    public String getDuplexModeId() {
        return duplexModeId;
    }

    public void setDuplexModeId(String duplexModeId) {
        duplexModeIdSpecified = true;
        this.duplexModeId = duplexModeId;
    }

    protected boolean duplexModeIdSpecified;

    public boolean isDuplexModeIdSpecified() {
        return duplexModeIdSpecified;
    }

    public void unsetDuplexModeId() {
        duplexModeId = null;
        duplexModeIdSpecified = false;
    }

    /**
     * The internal identifier of the hardware that a network component belongs to.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long hardwareId;

    public Long getHardwareId() {
        return hardwareId;
    }

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

    protected boolean hardwareIdSpecified;

    public boolean isHardwareIdSpecified() {
        return hardwareIdSpecified;
    }

    public void unsetHardwareId() {
        hardwareId = null;
        hardwareIdSpecified = false;
    }

    /**
     * A network component'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 IP address of an IPMI-based management network component.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String ipmiIpAddress;

    public String getIpmiIpAddress() {
        return ipmiIpAddress;
    }

    public void setIpmiIpAddress(String ipmiIpAddress) {
        ipmiIpAddressSpecified = true;
        this.ipmiIpAddress = ipmiIpAddress;
    }

    protected boolean ipmiIpAddressSpecified;

    public boolean isIpmiIpAddressSpecified() {
        return ipmiIpAddressSpecified;
    }

    public void unsetIpmiIpAddress() {
        ipmiIpAddress = null;
        ipmiIpAddressSpecified = false;
    }

    /**
     * The MAC address of an IPMI-based management network component.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String ipmiMacAddress;

    public String getIpmiMacAddress() {
        return ipmiMacAddress;
    }

    public void setIpmiMacAddress(String ipmiMacAddress) {
        ipmiMacAddressSpecified = true;
        this.ipmiMacAddress = ipmiMacAddress;
    }

    protected boolean ipmiMacAddressSpecified;

    public boolean isIpmiMacAddressSpecified() {
        return ipmiMacAddressSpecified;
    }

    public void unsetIpmiMacAddress() {
        ipmiMacAddress = null;
        ipmiMacAddressSpecified = false;
    }

    /**
     * A network component's unique MAC address. IPMI-based management network interfaces may not have a MAC address.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String macAddress;

    public String getMacAddress() {
        return macAddress;
    }

    public void setMacAddress(String macAddress) {
        macAddressSpecified = true;
        this.macAddress = macAddress;
    }

    protected boolean macAddressSpecified;

    public boolean isMacAddressSpecified() {
        return macAddressSpecified;
    }

    public void unsetMacAddress() {
        macAddress = null;
        macAddressSpecified = false;
    }

    /**
     * A network component's maximum allowed speed, measured in Mbit per second. ''maxSpeed'' is determined by the capabilities of the network interface and the port speed purchased on your SoftLayer server. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long maxSpeed;

    public Long getMaxSpeed() {
        return maxSpeed;
    }

    public void setMaxSpeed(Long maxSpeed) {
        maxSpeedSpecified = true;
        this.maxSpeed = maxSpeed;
    }

    protected boolean maxSpeedSpecified;

    public boolean isMaxSpeedSpecified() {
        return maxSpeedSpecified;
    }

    public void unsetMaxSpeed() {
        maxSpeed = null;
        maxSpeedSpecified = false;
    }

    /**
     * The date a network component was last modified.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar modifyDate;

    public GregorianCalendar getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(GregorianCalendar modifyDate) {
        modifyDateSpecified = true;
        this.modifyDate = modifyDate;
    }

    protected boolean modifyDateSpecified;

    public boolean isModifyDateSpecified() {
        return modifyDateSpecified;
    }

    public void unsetModifyDate() {
        modifyDate = null;
        modifyDateSpecified = false;
    }

    /**
     * A network component's short name. For most servers this is the string "eth" for ethernet ports or "mgmt" for remote management ports. Use this in conjunction with the ''port'' property to identify a network component. For instance, the "eth0" interface on a server has the network component name "eth" and port 0. 
     */
    @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;
    }

    /**
     * The unique internal id of the network VLAN that the port belongs to.
     */
    @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;
    }

    /**
     * A network component's port number. Most hardware has more than one network interface. The port property separates these interfaces. Use this in conjunction with the ''name'' property to identify a network component. For instance, the "eth0" interface on a server has the network component name "eth" and port 0. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long port;

    public Long getPort() {
        return port;
    }

    public void setPort(Long port) {
        portSpecified = true;
        this.port = port;
    }

    protected boolean portSpecified;

    public boolean isPortSpecified() {
        return portSpecified;
    }

    public void unsetPort() {
        port = null;
        portSpecified = false;
    }

    /**
     * A network component's primary IP address. IPMI-based management network interfaces may not have an IP address.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String primaryIpAddress;

    public String getPrimaryIpAddress() {
        return primaryIpAddress;
    }

    public void setPrimaryIpAddress(String primaryIpAddress) {
        primaryIpAddressSpecified = true;
        this.primaryIpAddress = primaryIpAddress;
    }

    protected boolean primaryIpAddressSpecified;

    public boolean isPrimaryIpAddressSpecified() {
        return primaryIpAddressSpecified;
    }

    public void unsetPrimaryIpAddress() {
        primaryIpAddress = null;
        primaryIpAddressSpecified = false;
    }

    /**
     * A network component's speed, measured in Mbit per second.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long speed;

    public Long getSpeed() {
        return speed;
    }

    public void setSpeed(Long speed) {
        speedSpecified = true;
        this.speed = speed;
    }

    protected boolean speedSpecified;

    public boolean isSpeedSpecified() {
        return speedSpecified;
    }

    public void unsetSpeed() {
        speed = null;
        speedSpecified = false;
    }

    /**
     * A network component's status. This can take one of four possible values: "ACTIVE", "DISABLE", "USER_OFF", or "MACWAIT". "ACTIVE" network components are enabled and in use on a servers. "DISABLE" status components have been administratively disabled by SoftLayer accounting or abuse. "USER_OFF" components have been administratively disabled by you, the user. "MACWAIT" components only exist on network components that have not been provisioned. You should never see a network interface in MACWAIT state. If you happen to see one please contact SoftLayer support. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String status;

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        statusSpecified = true;
        this.status = status;
    }

    protected boolean statusSpecified;

    public boolean isStatusSpecified() {
        return statusSpecified;
    }

    public void unsetStatus() {
        status = null;
        statusSpecified = false;
    }

    /**
     * A count of the records of all IP addresses bound to a network component.
     */
    @ApiProperty
    protected Long ipAddressBindingCount;

    public Long getIpAddressBindingCount() {
        return ipAddressBindingCount;
    }

    public void setIpAddressBindingCount(Long ipAddressBindingCount) {
        this.ipAddressBindingCount = ipAddressBindingCount;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long ipAddressCount;

    public Long getIpAddressCount() {
        return ipAddressCount;
    }

    public void setIpAddressCount(Long ipAddressCount) {
        this.ipAddressCount = ipAddressCount;
    }

    /**
     * A count of all network devices in SoftLayer's network hierarchy that this device is connected to.
     */
    @ApiProperty
    protected Long networkHardwareCount;

    public Long getNetworkHardwareCount() {
        return networkHardwareCount;
    }

    public void setNetworkHardwareCount(Long networkHardwareCount) {
        this.networkHardwareCount = networkHardwareCount;
    }

    /**
     * A count of the VLANs that are trunked to this network component.
     */
    @ApiProperty
    protected Long networkVlanTrunkCount;

    public Long getNetworkVlanTrunkCount() {
        return networkVlanTrunkCount;
    }

    public void setNetworkVlanTrunkCount(Long networkVlanTrunkCount) {
        this.networkVlanTrunkCount = networkVlanTrunkCount;
    }

    /**
     * A count of the last five reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) commands issued to the server's remote management card.
     */
    @ApiProperty
    protected Long recentCommandCount;

    public Long getRecentCommandCount() {
        return recentCommandCount;
    }

    public void setRecentCommandCount(Long recentCommandCount) {
        this.recentCommandCount = recentCommandCount;
    }

    /**
     * A count of user(s) credentials to issue commands and/or interact with the server's remote management card.
     */
    @ApiProperty
    protected Long remoteManagementUserCount;

    public Long getRemoteManagementUserCount() {
        return remoteManagementUserCount;
    }

    public void setRemoteManagementUserCount(Long remoteManagementUserCount) {
        this.remoteManagementUserCount = remoteManagementUserCount;
    }

    /**
     * A count of a network component's subnets. A subnet is a group of IP addresses
     */
    @ApiProperty
    protected Long subnetCount;

    public Long getSubnetCount() {
        return subnetCount;
    }

    public void setSubnetCount(Long subnetCount) {
        this.subnetCount = subnetCount;
    }

    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_Network_Component
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Network_Component")
    public static interface Service extends com.softlayer.api.Service {

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

        /**
         * Add VLANs as trunks to a network component. The VLANs given must be assigned to your account, and on the router to which this network component is connected. The current native VLAN (networkVlanId/networkVlan) cannot be added as a trunk. This method should be called on a network component attached directly to customer assigned hardware, though all trunking operations will occur on the uplinkComponent. A current list of VLAN trunks for a network component on a customer server can be found at 'uplinkComponent->networkVlanTrunks'. 
*
* This method returns an array of SoftLayer_Network_Vlans which were added as trunks. Any requested trunks which are already trunked will be silently ignored, and will not be returned.
*
* Configuration of network hardware is done asynchronously, do not depend on the return of this call as an indication that the newly trunked VLANs will be accessible. * * @see SoftLayer_Network_Component::addNetworkVlanTrunks */ @ApiMethod(instanceRequired = true) public List addNetworkVlanTrunks(List networkVlans); /** * This method will remove all VLANs trunked to this network component. The native VLAN (networkVlanId/networkVlan) will remain active, and cannot be removed via the API. Returns a list of SoftLayer_Network_Vlan objects for which the trunks were removed. * * @see SoftLayer_Network_Component::clearNetworkVlanTrunks */ @ApiMethod(instanceRequired = true) public List clearNetworkVlanTrunks(); /** * Retrieve bandwidth graph by date. * * @see SoftLayer_Network_Component::getCustomBandwidthDataByDate */ @ApiMethod(instanceRequired = true) public Graph getCustomBandwidthDataByDate(Graph graphData); /** * @see SoftLayer_Network_Component::getObject */ @ApiMethod(instanceRequired = true) public Component getObject(); /** *
* **DEPRECATED - This operation will cease to function after April 4th, 2016 and will be removed from v3.2**
* Retrieve various network statistics. The network statistics are retrieved from the network device using snmpget. Below is a list of statistics retrieved:
* * Administrative Status
* * Operational Status
* * Maximum Transmission Unit
* * In Octets
* * Out Octets
* * In Unicast Packets
* * Out Unicast Packets
* * In Multicast Packets
* * Out Multicast Packets * * @see SoftLayer_Network_Component::getPortStatistics */ @ApiMethod(instanceRequired = true) public Statistic getPortStatistics(); /** * Remove one or more VLANs currently attached to the uplinkComponent of this networkComponent. The VLANs given must be assigned to your account, and on the router the network component is connected to. If any VLANs not currently trunked are given, they will be silently ignored.
*
* This method should be called on a network component attached directly to customer assigned hardware, though all trunking operations will occur on the uplinkComponent. A current list of VLAN trunks for a network component on a customer server can be found at 'uplinkComponent->networkVlanTrunks'.
*
* Configuration of network hardware is done asynchronously, do not depend on the return of this call as an indication that the removed VLANs will be inaccessible. * * @see SoftLayer_Network_Component::removeNetworkVlanTrunks */ @ApiMethod(instanceRequired = true) public List removeNetworkVlanTrunks(List networkVlans); /** * Reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) command currently executing by the server's remote management card. * * @see SoftLayer_Network_Component::getActiveCommand */ @ApiMethod(instanceRequired = true) public Request getActiveCommand(); /** * The network component linking this object to a child device * * @see SoftLayer_Network_Component::getDownlinkComponent */ @ApiMethod(instanceRequired = true) public Component getDownlinkComponent(); /** * The duplex mode of a network component. * * @see SoftLayer_Network_Component::getDuplexMode */ @ApiMethod(instanceRequired = true) public Mode getDuplexMode(); /** * The hardware that a network component resides in. * * @see SoftLayer_Network_Component::getHardware */ @ApiMethod(instanceRequired = true) public Hardware getHardware(); /** * @see SoftLayer_Network_Component::getHighAvailabilityFirewallFlag */ @ApiMethod(instanceRequired = true) public Boolean getHighAvailabilityFirewallFlag(); /** * [DEPRECATED] A hardware switch's interface to the bandwidth pod. * * @see SoftLayer_Network_Component::getComponentInterface */ @ApiMethod(instanceRequired = true) public Interface getComponentInterface(); /** * The records of all IP addresses bound to a network component. * * @see SoftLayer_Network_Component::getIpAddressBindings */ @ApiMethod(instanceRequired = true) public List getIpAddressBindings(); /** * @see SoftLayer_Network_Component::getIpAddresses */ @ApiMethod(instanceRequired = true) public List getIpAddresses(); /** * Last reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) command issued to the server's remote management card. * * @see SoftLayer_Network_Component::getLastCommand */ @ApiMethod(instanceRequired = true) public Request getLastCommand(); /** * The metric tracking object for this network component. * * @see SoftLayer_Network_Component::getMetricTrackingObject */ @ApiMethod(instanceRequired = true) public Object getMetricTrackingObject(); /** * The upstream network component firewall. * * @see SoftLayer_Network_Component::getNetworkComponentFirewall */ @ApiMethod(instanceRequired = true) public Firewall getNetworkComponentFirewall(); /** * A network component's associated group. * * @see SoftLayer_Network_Component::getNetworkComponentGroup */ @ApiMethod(instanceRequired = true) public Group getNetworkComponentGroup(); /** * All network devices in SoftLayer's network hierarchy that this device is connected to. * * @see SoftLayer_Network_Component::getNetworkHardware */ @ApiMethod(instanceRequired = true) public List getNetworkHardware(); /** * The VLAN that a network component's subnet is associated with. * * @see SoftLayer_Network_Component::getNetworkVlan */ @ApiMethod(instanceRequired = true) public Vlan getNetworkVlan(); /** * The VLANs that are trunked to this network component. * * @see SoftLayer_Network_Component::getNetworkVlanTrunks */ @ApiMethod(instanceRequired = true) public List getNetworkVlanTrunks(); /** * The primary IPv4 Address record for a network component. * * @see SoftLayer_Network_Component::getPrimaryIpAddressRecord */ @ApiMethod(instanceRequired = true) public IpAddress getPrimaryIpAddressRecord(); /** * The subnet of the primary IP address assigned to this network component. * * @see SoftLayer_Network_Component::getPrimarySubnet */ @ApiMethod(instanceRequired = true) public Subnet getPrimarySubnet(); /** * The primary IPv6 Address record for a network component. * * @see SoftLayer_Network_Component::getPrimaryVersion6IpAddressRecord */ @ApiMethod(instanceRequired = true) public IpAddress getPrimaryVersion6IpAddressRecord(); /** * The last five reboot/power (rebootDefault, rebootSoft, rebootHard, powerOn, powerOff and powerCycle) commands issued to the server's remote management card. * * @see SoftLayer_Network_Component::getRecentCommands */ @ApiMethod(instanceRequired = true) public List getRecentCommands(); /** * Indicates whether the network component is participating in a group of two or more components capable of being operationally redundant, if enabled. * * @see SoftLayer_Network_Component::getRedundancyCapableFlag */ @ApiMethod(instanceRequired = true) public Boolean getRedundancyCapableFlag(); /** * Indicates whether the network component is participating in a group of two or more components which is actively providing link redundancy. * * @see SoftLayer_Network_Component::getRedundancyEnabledFlag */ @ApiMethod(instanceRequired = true) public Boolean getRedundancyEnabledFlag(); /** * User(s) credentials to issue commands and/or interact with the server's remote management card. * * @see SoftLayer_Network_Component::getRemoteManagementUsers */ @ApiMethod(instanceRequired = true) public List getRemoteManagementUsers(); /** * A network component's routers. * * @see SoftLayer_Network_Component::getRouter */ @ApiMethod(instanceRequired = true) public Hardware getRouter(); /** * Whether a network component's primary ip address is from a storage network subnet or not. * * @see SoftLayer_Network_Component::getStorageNetworkFlag */ @ApiMethod(instanceRequired = true) public Boolean getStorageNetworkFlag(); /** * A network component's subnets. A subnet is a group of IP addresses * * @see SoftLayer_Network_Component::getSubnets */ @ApiMethod(instanceRequired = true) public List getSubnets(); /** * The network component linking this object to parent * * @see SoftLayer_Network_Component::getUplinkComponent */ @ApiMethod(instanceRequired = true) public Component getUplinkComponent(); /** * The duplex mode of the uplink network component linking to this object * * @see SoftLayer_Network_Component::getUplinkDuplexMode */ @ApiMethod(instanceRequired = true) public Mode getUplinkDuplexMode(); } 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#addNetworkVlanTrunks} */ public Future> addNetworkVlanTrunks(List networkVlans); public Future addNetworkVlanTrunks(List networkVlans, ResponseHandler> callback); /** * Async version of {@link Service#clearNetworkVlanTrunks} */ public Future> clearNetworkVlanTrunks(); public Future clearNetworkVlanTrunks(ResponseHandler> callback); /** * Async version of {@link Service#getCustomBandwidthDataByDate} */ public Future getCustomBandwidthDataByDate(Graph graphData); public Future getCustomBandwidthDataByDate(Graph graphData, ResponseHandler callback); /** * Async version of {@link Service#getObject} */ public Future getObject(); public Future getObject(ResponseHandler callback); /** * Async version of {@link Service#getPortStatistics} */ public Future getPortStatistics(); public Future getPortStatistics(ResponseHandler callback); /** * Async version of {@link Service#removeNetworkVlanTrunks} */ public Future> removeNetworkVlanTrunks(List networkVlans); public Future removeNetworkVlanTrunks(List networkVlans, ResponseHandler> callback); /** * Async version of {@link Service#getActiveCommand} */ public Future getActiveCommand(); /** * Async callback version of {@link Service#getActiveCommand} */ public Future getActiveCommand(ResponseHandler callback); /** * Async version of {@link Service#getDownlinkComponent} */ public Future getDownlinkComponent(); /** * Async callback version of {@link Service#getDownlinkComponent} */ public Future getDownlinkComponent(ResponseHandler callback); /** * Async version of {@link Service#getDuplexMode} */ public Future getDuplexMode(); /** * Async callback version of {@link Service#getDuplexMode} */ public Future getDuplexMode(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#getHighAvailabilityFirewallFlag} */ public Future getHighAvailabilityFirewallFlag(); /** * Async callback version of {@link Service#getHighAvailabilityFirewallFlag} */ public Future getHighAvailabilityFirewallFlag(ResponseHandler callback); /** * Async version of {@link Service#getComponentInterface} */ public Future getComponentInterface(); /** * Async callback version of {@link Service#getComponentInterface} */ public Future getComponentInterface(ResponseHandler callback); /** * Async version of {@link Service#getIpAddressBindings} */ public Future> getIpAddressBindings(); /** * Async callback version of {@link Service#getIpAddressBindings} */ public Future getIpAddressBindings(ResponseHandler> callback); /** * Async version of {@link Service#getIpAddresses} */ public Future> getIpAddresses(); /** * Async callback version of {@link Service#getIpAddresses} */ public Future getIpAddresses(ResponseHandler> callback); /** * Async version of {@link Service#getLastCommand} */ public Future getLastCommand(); /** * Async callback version of {@link Service#getLastCommand} */ public Future getLastCommand(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#getNetworkComponentFirewall} */ public Future getNetworkComponentFirewall(); /** * Async callback version of {@link Service#getNetworkComponentFirewall} */ public Future getNetworkComponentFirewall(ResponseHandler callback); /** * Async version of {@link Service#getNetworkComponentGroup} */ public Future getNetworkComponentGroup(); /** * Async callback version of {@link Service#getNetworkComponentGroup} */ public Future getNetworkComponentGroup(ResponseHandler callback); /** * Async version of {@link Service#getNetworkHardware} */ public Future> getNetworkHardware(); /** * Async callback version of {@link Service#getNetworkHardware} */ public Future getNetworkHardware(ResponseHandler> callback); /** * Async version of {@link Service#getNetworkVlan} */ public Future getNetworkVlan(); /** * Async callback version of {@link Service#getNetworkVlan} */ public Future getNetworkVlan(ResponseHandler callback); /** * Async version of {@link Service#getNetworkVlanTrunks} */ public Future> getNetworkVlanTrunks(); /** * Async callback version of {@link Service#getNetworkVlanTrunks} */ public Future getNetworkVlanTrunks(ResponseHandler> callback); /** * Async version of {@link Service#getPrimaryIpAddressRecord} */ public Future getPrimaryIpAddressRecord(); /** * Async callback version of {@link Service#getPrimaryIpAddressRecord} */ public Future getPrimaryIpAddressRecord(ResponseHandler callback); /** * Async version of {@link Service#getPrimarySubnet} */ public Future getPrimarySubnet(); /** * Async callback version of {@link Service#getPrimarySubnet} */ public Future getPrimarySubnet(ResponseHandler callback); /** * Async version of {@link Service#getPrimaryVersion6IpAddressRecord} */ public Future getPrimaryVersion6IpAddressRecord(); /** * Async callback version of {@link Service#getPrimaryVersion6IpAddressRecord} */ public Future getPrimaryVersion6IpAddressRecord(ResponseHandler callback); /** * Async version of {@link Service#getRecentCommands} */ public Future> getRecentCommands(); /** * Async callback version of {@link Service#getRecentCommands} */ public Future getRecentCommands(ResponseHandler> callback); /** * Async version of {@link Service#getRedundancyCapableFlag} */ public Future getRedundancyCapableFlag(); /** * Async callback version of {@link Service#getRedundancyCapableFlag} */ public Future getRedundancyCapableFlag(ResponseHandler callback); /** * Async version of {@link Service#getRedundancyEnabledFlag} */ public Future getRedundancyEnabledFlag(); /** * Async callback version of {@link Service#getRedundancyEnabledFlag} */ public Future getRedundancyEnabledFlag(ResponseHandler callback); /** * Async version of {@link Service#getRemoteManagementUsers} */ public Future> getRemoteManagementUsers(); /** * Async callback version of {@link Service#getRemoteManagementUsers} */ public Future getRemoteManagementUsers(ResponseHandler> callback); /** * Async version of {@link Service#getRouter} */ public Future getRouter(); /** * Async callback version of {@link Service#getRouter} */ public Future getRouter(ResponseHandler callback); /** * Async version of {@link Service#getStorageNetworkFlag} */ public Future getStorageNetworkFlag(); /** * Async callback version of {@link Service#getStorageNetworkFlag} */ public Future getStorageNetworkFlag(ResponseHandler callback); /** * Async version of {@link Service#getSubnets} */ public Future> getSubnets(); /** * Async callback version of {@link Service#getSubnets} */ public Future getSubnets(ResponseHandler> callback); /** * Async version of {@link Service#getUplinkComponent} */ public Future getUplinkComponent(); /** * Async callback version of {@link Service#getUplinkComponent} */ public Future getUplinkComponent(ResponseHandler callback); /** * Async version of {@link Service#getUplinkDuplexMode} */ public Future getUplinkDuplexMode(); /** * Async callback version of {@link Service#getUplinkDuplexMode} */ public Future getUplinkDuplexMode(ResponseHandler callback); } public static class Mask extends com.softlayer.api.service.Entity.Mask { public com.softlayer.api.service.hardware.component.remotemanagement.command.Request.Mask activeCommand() { return withSubMask("activeCommand", com.softlayer.api.service.hardware.component.remotemanagement.command.Request.Mask.class); } public Component.Mask downlinkComponent() { return withSubMask("downlinkComponent", Component.Mask.class); } public com.softlayer.api.service.network.component.duplex.Mode.Mask duplexMode() { return withSubMask("duplexMode", com.softlayer.api.service.network.component.duplex.Mode.Mask.class); } public com.softlayer.api.service.Hardware.Mask hardware() { return withSubMask("hardware", com.softlayer.api.service.Hardware.Mask.class); } public Mask highAvailabilityFirewallFlag() { withLocalProperty("highAvailabilityFirewallFlag"); return this; } public com.softlayer.api.service.network.bandwidth.version1.Interface.Mask componentInterface() { return withSubMask("interface", com.softlayer.api.service.network.bandwidth.version1.Interface.Mask.class); } public com.softlayer.api.service.network.component.IpAddress.Mask ipAddressBindings() { return withSubMask("ipAddressBindings", com.softlayer.api.service.network.component.IpAddress.Mask.class); } public com.softlayer.api.service.network.subnet.IpAddress.Mask ipAddresses() { return withSubMask("ipAddresses", com.softlayer.api.service.network.subnet.IpAddress.Mask.class); } public com.softlayer.api.service.hardware.component.remotemanagement.command.Request.Mask lastCommand() { return withSubMask("lastCommand", com.softlayer.api.service.hardware.component.remotemanagement.command.Request.Mask.class); } public com.softlayer.api.service.metric.tracking.Object.Mask metricTrackingObject() { return withSubMask("metricTrackingObject", com.softlayer.api.service.metric.tracking.Object.Mask.class); } public com.softlayer.api.service.network.component.Firewall.Mask networkComponentFirewall() { return withSubMask("networkComponentFirewall", com.softlayer.api.service.network.component.Firewall.Mask.class); } public com.softlayer.api.service.network.component.Group.Mask networkComponentGroup() { return withSubMask("networkComponentGroup", com.softlayer.api.service.network.component.Group.Mask.class); } public com.softlayer.api.service.Hardware.Mask networkHardware() { return withSubMask("networkHardware", com.softlayer.api.service.Hardware.Mask.class); } public Vlan.Mask networkVlan() { return withSubMask("networkVlan", Vlan.Mask.class); } public com.softlayer.api.service.network.component.network.vlan.Trunk.Mask networkVlanTrunks() { return withSubMask("networkVlanTrunks", com.softlayer.api.service.network.component.network.vlan.Trunk.Mask.class); } public com.softlayer.api.service.network.subnet.IpAddress.Mask primaryIpAddressRecord() { return withSubMask("primaryIpAddressRecord", com.softlayer.api.service.network.subnet.IpAddress.Mask.class); } public Subnet.Mask primarySubnet() { return withSubMask("primarySubnet", Subnet.Mask.class); } public com.softlayer.api.service.network.subnet.IpAddress.Mask primaryVersion6IpAddressRecord() { return withSubMask("primaryVersion6IpAddressRecord", com.softlayer.api.service.network.subnet.IpAddress.Mask.class); } public com.softlayer.api.service.hardware.component.remotemanagement.command.Request.Mask recentCommands() { return withSubMask("recentCommands", com.softlayer.api.service.hardware.component.remotemanagement.command.Request.Mask.class); } public Mask redundancyCapableFlag() { withLocalProperty("redundancyCapableFlag"); return this; } public Mask redundancyEnabledFlag() { withLocalProperty("redundancyEnabledFlag"); return this; } public com.softlayer.api.service.hardware.component.remotemanagement.User.Mask remoteManagementUsers() { return withSubMask("remoteManagementUsers", com.softlayer.api.service.hardware.component.remotemanagement.User.Mask.class); } public com.softlayer.api.service.Hardware.Mask router() { return withSubMask("router", com.softlayer.api.service.Hardware.Mask.class); } public Mask storageNetworkFlag() { withLocalProperty("storageNetworkFlag"); return this; } public Subnet.Mask subnets() { return withSubMask("subnets", Subnet.Mask.class); } public Component.Mask uplinkComponent() { return withSubMask("uplinkComponent", Component.Mask.class); } public com.softlayer.api.service.network.component.duplex.Mode.Mask uplinkDuplexMode() { return withSubMask("uplinkDuplexMode", com.softlayer.api.service.network.component.duplex.Mode.Mask.class); } public Mask duplexModeId() { withLocalProperty("duplexModeId"); return this; } public Mask hardwareId() { withLocalProperty("hardwareId"); return this; } public Mask id() { withLocalProperty("id"); return this; } public Mask ipmiIpAddress() { withLocalProperty("ipmiIpAddress"); return this; } public Mask ipmiMacAddress() { withLocalProperty("ipmiMacAddress"); return this; } public Mask macAddress() { withLocalProperty("macAddress"); return this; } public Mask maxSpeed() { withLocalProperty("maxSpeed"); return this; } public Mask modifyDate() { withLocalProperty("modifyDate"); return this; } public Mask name() { withLocalProperty("name"); return this; } public Mask networkVlanId() { withLocalProperty("networkVlanId"); return this; } public Mask port() { withLocalProperty("port"); return this; } public Mask primaryIpAddress() { withLocalProperty("primaryIpAddress"); return this; } public Mask speed() { withLocalProperty("speed"); return this; } public Mask status() { withLocalProperty("status"); return this; } public Mask ipAddressBindingCount() { withLocalProperty("ipAddressBindingCount"); return this; } public Mask ipAddressCount() { withLocalProperty("ipAddressCount"); return this; } public Mask networkHardwareCount() { withLocalProperty("networkHardwareCount"); return this; } public Mask networkVlanTrunkCount() { withLocalProperty("networkVlanTrunkCount"); return this; } public Mask recentCommandCount() { withLocalProperty("recentCommandCount"); return this; } public Mask remoteManagementUserCount() { withLocalProperty("remoteManagementUserCount"); return this; } public Mask subnetCount() { withLocalProperty("subnetCount"); return this; } } }