Class StandardHostSwitch

  • All Implemented Interfaces:
    com.vmware.vapi.bindings.StaticStructure, com.vmware.vapi.bindings.Structure, java.io.Serializable

    public final class StandardHostSwitch
    extends java.lang.Object
    implements java.io.Serializable, com.vmware.vapi.bindings.StaticStructure
    Standard host switch specification
    See Also:
    Serialized Form
    • Field Detail

      • HOST_SWITCH_MODE_STANDARD

        public static final java.lang.String HOST_SWITCH_MODE_STANDARD
        See Also:
        Constant Field Values
      • HOST_SWITCH_MODE_ENS

        public static final java.lang.String HOST_SWITCH_MODE_ENS
        See Also:
        Constant Field Values
      • HOST_SWITCH_MODE_ENS_INTERRUPT

        public static final java.lang.String HOST_SWITCH_MODE_ENS_INTERRUPT
        See Also:
        Constant Field Values
      • HOST_SWITCH_MODE_LEGACY

        public static final java.lang.String HOST_SWITCH_MODE_LEGACY
        See Also:
        Constant Field Values
      • HOST_SWITCH_TYPE_NVDS

        public static final java.lang.String HOST_SWITCH_TYPE_NVDS
        See Also:
        Constant Field Values
      • HOST_SWITCH_TYPE_VDS

        public static final java.lang.String HOST_SWITCH_TYPE_VDS
        See Also:
        Constant Field Values
      • __dynamicStructureFields

        protected com.vmware.vapi.data.StructValue __dynamicStructureFields
    • Constructor Detail

      • StandardHostSwitch

        public StandardHostSwitch()
        Default constructor.
      • StandardHostSwitch

        protected StandardHostSwitch​(com.vmware.vapi.data.StructValue __dynamicStructureFields)
    • Method Detail

      • getCpuConfig

        public java.util.List<CpuCoreConfigForEnhancedNetworkingStackSwitch> getCpuConfig()
        CPU configuration specifies number of Logical cpu cores (Lcores) per Non Uniform Memory Access (NUMA) node dedicated to Enhanced Networking Stack enabled HostSwitch to get the best performance. If CPU configuration is not mentioned, the default value of numa_node_index will be '0' and default value of num_lcores will be '1'.
        Returns:
        The current value of the property.
      • setCpuConfig

        public void setCpuConfig​(java.util.List<CpuCoreConfigForEnhancedNetworkingStackSwitch> cpuConfig)
        CPU configuration specifies number of Logical cpu cores (Lcores) per Non Uniform Memory Access (NUMA) node dedicated to Enhanced Networking Stack enabled HostSwitch to get the best performance. If CPU configuration is not mentioned, the default value of numa_node_index will be '0' and default value of num_lcores will be '1'.
        Parameters:
        cpuConfig - New value for the property.
      • getHostSwitchId

        public java.lang.String getHostSwitchId()
        This field is writable only in case of VDS type HostSwitch and system generated for NVDS type. For VDS type host switch, This field is used to lookup a VDS from corresponding Compute Manager and then can be configured for logical networking. For NVDS type host switch, This field is system generated and if provided will be overwritten.
        Returns:
        The current value of the property.
      • setHostSwitchId

        public void setHostSwitchId​(java.lang.String hostSwitchId)
        This field is writable only in case of VDS type HostSwitch and system generated for NVDS type. For VDS type host switch, This field is used to lookup a VDS from corresponding Compute Manager and then can be configured for logical networking. For NVDS type host switch, This field is system generated and if provided will be overwritten.
        Parameters:
        hostSwitchId - New value for the property.
      • getHostSwitchMode

        public java.lang.String getHostSwitchMode()
        Possible values are: STANDARD - This mode applies to all transport nodes. The realized host switch mode will be chosen automatically (best applicable as per uplink capabilities) by the data-plane in the transport node and may change in future. ENS - This is the Enhanced Data Path switch mode for ESX host tranport node. This mode provides accelerated networking performances but also introduces additional prerequisites. In order to benefit from this mode, workloads will be need to be compiled with DPDK and will use VMXNET3 for their vNIC. This mode is only available on ESX hypervisor (6.7 and above, recommended 6.7 U2 and above) and unavailable on KVM, EDGE and Public Cloud Gateway. Not all NSX features are available in this mode, please consult the documentation. ENS_INTERRUPT - This is an interrupt driven variant of the Enhanced Data Path mode. Please, consult your account representative for applicability. This mode is available only on ESX hypervisor (7.0 and above). LEGACY - This mode applies to all transport nodes. This mode was formerly called as STANDARD and is realized as pktHandle. IMPORTANT: ENS and ENS_INTERRUPT modes require a higher tier of NSX licenses. ENS and ENS_INTERRUPT with classic Nic - NSX advanced or higher ENS with SmartNic : NSX Enterprise Plus or higher. Please consult NSX documentation for complete details.
        Returns:
        The current value of the property.
      • setHostSwitchMode

        public void setHostSwitchMode​(java.lang.String hostSwitchMode)
        Possible values are: STANDARD - This mode applies to all transport nodes. The realized host switch mode will be chosen automatically (best applicable as per uplink capabilities) by the data-plane in the transport node and may change in future. ENS - This is the Enhanced Data Path switch mode for ESX host tranport node. This mode provides accelerated networking performances but also introduces additional prerequisites. In order to benefit from this mode, workloads will be need to be compiled with DPDK and will use VMXNET3 for their vNIC. This mode is only available on ESX hypervisor (6.7 and above, recommended 6.7 U2 and above) and unavailable on KVM, EDGE and Public Cloud Gateway. Not all NSX features are available in this mode, please consult the documentation. ENS_INTERRUPT - This is an interrupt driven variant of the Enhanced Data Path mode. Please, consult your account representative for applicability. This mode is available only on ESX hypervisor (7.0 and above). LEGACY - This mode applies to all transport nodes. This mode was formerly called as STANDARD and is realized as pktHandle. IMPORTANT: ENS and ENS_INTERRUPT modes require a higher tier of NSX licenses. ENS and ENS_INTERRUPT with classic Nic - NSX advanced or higher ENS with SmartNic : NSX Enterprise Plus or higher. Please consult NSX documentation for complete details.
        Parameters:
        hostSwitchMode - New value for the property.
      • getHostSwitchName

        @Deprecated
        public java.lang.String getHostSwitchName()
        Deprecated.
        This field is writable only in case of NVDS type HostSwitch and system generated for VDS type. For NVDS type host switch, If this name is unset or empty then the default host switch name will be used. The name must be unique among all host switches specified in a given transport node; unset name, empty name and the default host switch name are considered the same in terms of uniqueness. For VDS type host switch, Manager fetches VDS name from corresponding Compute Manager and populates this field. If VDS name is given (correct or incorrect) it is ignored and overwritten with correct one.
        Returns:
        The current value of the property.
      • setHostSwitchName

        @Deprecated
        public void setHostSwitchName​(java.lang.String hostSwitchName)
        Deprecated.
        This field is writable only in case of NVDS type HostSwitch and system generated for VDS type. For NVDS type host switch, If this name is unset or empty then the default host switch name will be used. The name must be unique among all host switches specified in a given transport node; unset name, empty name and the default host switch name are considered the same in terms of uniqueness. For VDS type host switch, Manager fetches VDS name from corresponding Compute Manager and populates this field. If VDS name is given (correct or incorrect) it is ignored and overwritten with correct one.
        Parameters:
        hostSwitchName - New value for the property.
      • getHostSwitchProfileIds

        public java.util.List<HostSwitchProfileTypeIdEntry> getHostSwitchProfileIds()
        Host switch profiles bound to this host switch. If a profile ID is not provided for any HostSwitchProfileType that is supported by the transport node, the corresponding default profile will be bound to the host switch. If transport node is created using Policy APIs, use policyPaths instead of UUIDs.
        Returns:
        The current value of the property.
      • setHostSwitchProfileIds

        public void setHostSwitchProfileIds​(java.util.List<HostSwitchProfileTypeIdEntry> hostSwitchProfileIds)
        Host switch profiles bound to this host switch. If a profile ID is not provided for any HostSwitchProfileType that is supported by the transport node, the corresponding default profile will be bound to the host switch. If transport node is created using Policy APIs, use policyPaths instead of UUIDs.
        Parameters:
        hostSwitchProfileIds - New value for the property.
      • getHostSwitchType

        public java.lang.String getHostSwitchType()
        Possible values are: VDS represents VMware vSphere Distributed Switch from vSphere that is used as HostSwitch through TransportNode or TransportNodeProfile configuration. When VDS is used as a HostSwitch, Hosts have to be added to VDS from vSphere and VDS instance is created on Hosts. To configure NSX on such hosts, you can use this VDS as a HostSwitch from NSX manager. vCenter has the ownership of MTU, LAG, NIOC and LLDP configuration of such VDS backed HostSwitch. Remaining configuration (e.g. UplinkHostswitchProfile) will be managed by NSX. NVDS represents NSX Virtual Switch which is NSX native HostSwitch. All configurations of NVDS will be managed by NSX. HostSwitch of type NVDS has been deprecated on ESX hosts that are managed by a vCenter Server.
        Returns:
        The current value of the property.
      • setHostSwitchType

        public void setHostSwitchType​(java.lang.String hostSwitchType)
        Possible values are: VDS represents VMware vSphere Distributed Switch from vSphere that is used as HostSwitch through TransportNode or TransportNodeProfile configuration. When VDS is used as a HostSwitch, Hosts have to be added to VDS from vSphere and VDS instance is created on Hosts. To configure NSX on such hosts, you can use this VDS as a HostSwitch from NSX manager. vCenter has the ownership of MTU, LAG, NIOC and LLDP configuration of such VDS backed HostSwitch. Remaining configuration (e.g. UplinkHostswitchProfile) will be managed by NSX. NVDS represents NSX Virtual Switch which is NSX native HostSwitch. All configurations of NVDS will be managed by NSX. HostSwitch of type NVDS has been deprecated on ESX hosts that are managed by a vCenter Server.
        Parameters:
        hostSwitchType - New value for the property.
      • getIpAssignmentSpec

        public com.vmware.vapi.bindings.Structure getIpAssignmentSpec()
        Returns:
        The current value of the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined in IpAssignmentSpec. When methods return a value of this class as a return value, the property will contain all the properties defined in IpAssignmentSpec.
      • setIpAssignmentSpec

        public void setIpAssignmentSpec​(com.vmware.vapi.bindings.Structure ipAssignmentSpec)
        Parameters:
        ipAssignmentSpec - New value for the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined in IpAssignmentSpec. When methods return a value of this class as a return value, the property will contain all the properties defined in IpAssignmentSpec.
      • getIpv6AssignmentSpec

        public com.vmware.vapi.bindings.Structure getIpv6AssignmentSpec()
        Returns:
        The current value of the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined in Ipv6AssignmentSpec. When methods return a value of this class as a return value, the property will contain all the properties defined in Ipv6AssignmentSpec.
      • setIpv6AssignmentSpec

        public void setIpv6AssignmentSpec​(com.vmware.vapi.bindings.Structure ipv6AssignmentSpec)
        Parameters:
        ipv6AssignmentSpec - New value for the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined in Ipv6AssignmentSpec. When methods return a value of this class as a return value, the property will contain all the properties defined in Ipv6AssignmentSpec.
      • getIsMigratePnics

        public java.lang.Boolean getIsMigratePnics()
        When using the Quick Start workflow on 7.0 and above vCenter clusters, if the pnics specified in the pnics field are used by a single VSS HostSwitch, then they are migrated over to recommended VDS HostSwitch. If any two pnics are not used by the same VSS HostSwitch or VDS HostSwitch, it is not supported. In such cases, please migrate them in multiple steps, one VSS HostSwitch or VDS HostSwitch at a time.
        Returns:
        The current value of the property.
      • setIsMigratePnics

        public void setIsMigratePnics​(java.lang.Boolean isMigratePnics)
        When using the Quick Start workflow on 7.0 and above vCenter clusters, if the pnics specified in the pnics field are used by a single VSS HostSwitch, then they are migrated over to recommended VDS HostSwitch. If any two pnics are not used by the same VSS HostSwitch or VDS HostSwitch, it is not supported. In such cases, please migrate them in multiple steps, one VSS HostSwitch or VDS HostSwitch at a time.
        Parameters:
        isMigratePnics - New value for the property.
      • getPnics

        public java.util.List<Pnic> getPnics()
        When using the Quick Start workflow on 7.0 and above vCenter clusters, pnic information will be populated by the recommendation engine when providing a VDS HostSwitch based recommendation for a VSS HostSwitch.
        Returns:
        The current value of the property.
      • setPnics

        public void setPnics​(java.util.List<Pnic> pnics)
        When using the Quick Start workflow on 7.0 and above vCenter clusters, pnic information will be populated by the recommendation engine when providing a VDS HostSwitch based recommendation for a VSS HostSwitch.
        Parameters:
        pnics - New value for the property.
      • getPnicsUninstallMigration

        @Deprecated
        public java.util.List<Pnic> getPnicsUninstallMigration()
        Deprecated.
        This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The pnics to be migrated out to a non N-VDS switch during transport node deletion.
        Returns:
        The current value of the property.
      • setPnicsUninstallMigration

        @Deprecated
        public void setPnicsUninstallMigration​(java.util.List<Pnic> pnicsUninstallMigration)
        Deprecated.
        This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The pnics to be migrated out to a non N-VDS switch during transport node deletion.
        Parameters:
        pnicsUninstallMigration - New value for the property.
      • getPortgroupTransportZoneId

        public java.lang.String getPortgroupTransportZoneId()
        A transport zone will be created for each DVS found across all hosts in a cluster that is installed for NSX on DVPG. This field, populated by NSX, is the ID of the transport zone created for the DVS this host switch represents. All discovered segments created for the DVPGs found on the DVS will have this ID specified as the transport zone id. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Returns:
        The current value of the property.
      • setPortgroupTransportZoneId

        public void setPortgroupTransportZoneId​(java.lang.String portgroupTransportZoneId)
        A transport zone will be created for each DVS found across all hosts in a cluster that is installed for NSX on DVPG. This field, populated by NSX, is the ID of the transport zone created for the DVS this host switch represents. All discovered segments created for the DVPGs found on the DVS will have this ID specified as the transport zone id. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.
        Parameters:
        portgroupTransportZoneId - New value for the property.
      • getTransportNodeProfileSubConfigs

        public java.util.List<TransportNodeProfileSubConfig> getTransportNodeProfileSubConfigs()
        This field is supported only for Tranport Node Profile Configurations. This field is used for adding a subset of the host switch configuration under a Transport Node Profile. This field is applicable only for a VDS based host switch and not for an NVDS based host switch.
        Returns:
        The current value of the property.
      • setTransportNodeProfileSubConfigs

        public void setTransportNodeProfileSubConfigs​(java.util.List<TransportNodeProfileSubConfig> transportNodeProfileSubConfigs)
        This field is supported only for Tranport Node Profile Configurations. This field is used for adding a subset of the host switch configuration under a Transport Node Profile. This field is applicable only for a VDS based host switch and not for an NVDS based host switch.
        Parameters:
        transportNodeProfileSubConfigs - New value for the property.
      • getTransportZoneEndpoints

        public java.util.List<TransportZoneEndPoint> getTransportZoneEndpoints()
        List of TransportZones that are to be associated with specified host switch. If this property is specified, host_switch_mode at StandardHostSwitch level must be specified.
        Returns:
        The current value of the property.
      • setTransportZoneEndpoints

        public void setTransportZoneEndpoints​(java.util.List<TransportZoneEndPoint> transportZoneEndpoints)
        List of TransportZones that are to be associated with specified host switch. If this property is specified, host_switch_mode at StandardHostSwitch level must be specified.
        Parameters:
        transportZoneEndpoints - New value for the property.
      • getUplinks

        public java.util.List<VdsUplink> getUplinks()
        If VDS is used as a HostSwitch this attribute must be specified. You can associate uplinks from UplinkHostSwitchProfile to either VDS uplink or LAG. VDS uplink or LAG will inherit the global VDS level teaming policy from vSphere. NSX managed uplink or LAG will have NSX teaming policy configured through UplinkHostSwitchProfile.
        Returns:
        The current value of the property.
      • setUplinks

        public void setUplinks​(java.util.List<VdsUplink> uplinks)
        If VDS is used as a HostSwitch this attribute must be specified. You can associate uplinks from UplinkHostSwitchProfile to either VDS uplink or LAG. VDS uplink or LAG will inherit the global VDS level teaming policy from vSphere. NSX managed uplink or LAG will have NSX teaming policy configured through UplinkHostSwitchProfile.
        Parameters:
        uplinks - New value for the property.
      • getVmkInstallMigration

        public java.util.List<VmknicNetwork> getVmkInstallMigration()
        When using the Quick Start workflow on 7.0 and above vCenter clusters, vmnk_install_migration will be populated by the recommendation engine when providing a VDS HostSwitch based recommendation for a VSS HostSwitch. It will contain The vmk interfaces and the associated logical switches on the HostSwitch. The state of this field is realized on the transport node during creation
        Returns:
        The current value of the property.
      • setVmkInstallMigration

        public void setVmkInstallMigration​(java.util.List<VmknicNetwork> vmkInstallMigration)
        When using the Quick Start workflow on 7.0 and above vCenter clusters, vmnk_install_migration will be populated by the recommendation engine when providing a VDS HostSwitch based recommendation for a VSS HostSwitch. It will contain The vmk interfaces and the associated logical switches on the HostSwitch. The state of this field is realized on the transport node during creation
        Parameters:
        vmkInstallMigration - New value for the property.
      • getVmkUninstallMigration

        @Deprecated
        public java.util.List<VmknicNetwork> getVmkUninstallMigration()
        Deprecated.
        This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The vmk interfaces and the associated portgroups on the VSS/DVS. This field is realized on the host during transport node deletion or NSX uninstallation to specify the destination for all vmks on N-VDS switches.
        Returns:
        The current value of the property.
      • setVmkUninstallMigration

        @Deprecated
        public void setVmkUninstallMigration​(java.util.List<VmknicNetwork> vmkUninstallMigration)
        Deprecated.
        This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The vmk interfaces and the associated portgroups on the VSS/DVS. This field is realized on the host during transport node deletion or NSX uninstallation to specify the destination for all vmks on N-VDS switches.
        Parameters:
        vmkUninstallMigration - New value for the property.
      • _getType

        public com.vmware.vapi.bindings.type.StructType _getType()
        Specified by:
        _getType in interface com.vmware.vapi.bindings.StaticStructure
      • _getDataValue

        public com.vmware.vapi.data.StructValue _getDataValue()
        Specified by:
        _getDataValue in interface com.vmware.vapi.bindings.Structure
      • _updateDataValue

        protected void _updateDataValue​(com.vmware.vapi.data.StructValue structValue)
      • _validate

        public void _validate()
        Specified by:
        _validate in interface com.vmware.vapi.bindings.StaticStructure
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface com.vmware.vapi.bindings.StaticStructure
        Overrides:
        toString in class java.lang.Object
      • _hasTypeNameOf

        public boolean _hasTypeNameOf​(java.lang.Class<? extends com.vmware.vapi.bindings.Structure> clazz)
        Specified by:
        _hasTypeNameOf in interface com.vmware.vapi.bindings.Structure
      • _convertTo

        public <T extends com.vmware.vapi.bindings.Structure> T _convertTo​(java.lang.Class<T> clazz)
        Specified by:
        _convertTo in interface com.vmware.vapi.bindings.Structure
      • _setDynamicField

        public void _setDynamicField​(java.lang.String fieldName,
                                     com.vmware.vapi.data.DataValue fieldValue)
        Specified by:
        _setDynamicField in interface com.vmware.vapi.bindings.StaticStructure
      • _getDynamicField

        public com.vmware.vapi.data.DataValue _getDynamicField​(java.lang.String fieldName)
        Specified by:
        _getDynamicField in interface com.vmware.vapi.bindings.StaticStructure
      • _getDynamicFieldNames

        public java.util.Set<java.lang.String> _getDynamicFieldNames()
        Specified by:
        _getDynamicFieldNames in interface com.vmware.vapi.bindings.StaticStructure
      • _getClassType

        public static com.vmware.vapi.bindings.type.StructType _getClassType()
        WARNING: Internal method, subject to change in future versions.
        Returns:
        StructType instance representing the static bindings type for this Structure.
      • _getCanonicalName

        public java.lang.String _getCanonicalName()
        Specified by:
        _getCanonicalName in interface com.vmware.vapi.bindings.Structure
      • _getCanonicalTypeName

        public static java.lang.String _getCanonicalTypeName()
        Returns the canonical type name. See _getCanonicalName().
        Returns:
        canonical type name
      • _newInstance

        public static StandardHostSwitch _newInstance​(com.vmware.vapi.data.StructValue structValue)
        WARNING: Internal method, subject to change in future versions.
        Returns new instance of this binding class and injects the provided data value.
        WARNING: The returned object is not fully initialized.
        Parameters:
        structValue - the source of the data contained in the binding object. Could contain more data than fields of this class can describe i.e. newer version of the binding object. Could be null.
        Returns:
        the static bindings StructType
      • _newInstance2

        public static StandardHostSwitch _newInstance2​(com.vmware.vapi.data.StructValue structValue)
        WARNING: Internal method, subject to change in future versions.
        Serves as a versioning mechanism.