addNetworkVlanTrunks


SoftLayer_Network_Component::addNetworkVlanTrunks

Add VLAN trunks to a network component

Description

Add VLANs as trunks to a network component. The VLANs given must be assigned to your account and belong to the same pod in which this network component and its hardware reside. The current native VLAN cannot be added as a trunk.

This method should be called on a network component of assigned hardware. 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 VLANs which are already trunked will be ignored and will not be returned.

Affected VLANs will not yet be operational as trunks on the network upon return of this call, but activation will have been scheduled and should be considered imminent. The trunking records associated with the affected VLANs will maintain an ‘isUpdating’ value of ‘1’ so long as this is the case.

Note that in the event of an “internal system error” some VLANs may still have been affected and scheduled for activation.


Parameters

Name Type Description
networkVlans SoftLayer_Network_Vlan[] An array of Network_Vlan objects with the ‘id’ or ‘vlanNumber’

Required Headers

Optional Headers

Return Values

Error Handling

  • Throw the error ‘Invalid value provided for 'id and vlanNumber'’ if sufficient data was not provided from which to retrieve a VLAN record.
  • Throw the error ‘The following VLAN IDs|numbers are not valid’ if a VLAN record could not be retrieved for the provided data.
  • Throw the error ‘Insufficient permissions to modify server’ if the user lacks access to the associated hardware.
  • Throw the error ‘Hardware is not supported for customer-managed trunking’ if trunking cannot be modified for the associated hardware.
  • Throw the error ‘Component is not supported for customer-managed trunking’ if trunking cannot be modified on the given component.
  • Throw the error ‘VLAN does not belong to the same pod as component ’ if a given VLAN is not associated with the same network as the given component.
  • Throw the error ‘VLAN is directly attached, and thus not eligible for trunking’ if a given VLAN is attached natively to the given component.
  • Throw the error ‘Trunking management is not available to gateway inside VLANs’ if a given VLAN is already associated to this gateway.
  • Throw the error ‘Server is not currently available for VLAN trunk modification’ if the associated hardware cannot be modified at this time. Try again later.
  • Throw the error ‘The network is undergoing maintenance and requests to modify trunking cannot be fulfilled at this time’ if the network is undergoing maintenance. Try again later.
  • Throw the error ‘A pending API request to update trunks for network component exists’ if a trunking request for this component is in-progress. Try again later.
curl -g -u $SL_USER:$SL_APIKEY -X POST -d '{"parameters": [SoftLayer_Network_Vlan]}' \
'https://api.softlayer.com/rest/v3.1/SoftLayer_Network_Component/{SoftLayer_Network_ComponentID}/addNetworkVlanTrunks'