1. Packages
  2. vSphere
  3. API Docs
  4. DistributedVirtualSwitch
vSphere v4.9.0 published on Tuesday, Nov 28, 2023 by Pulumi

vsphere.DistributedVirtualSwitch

Explore with Pulumi AI

vsphere logo
vSphere v4.9.0 published on Tuesday, Nov 28, 2023 by Pulumi

    Create DistributedVirtualSwitch Resource

    new DistributedVirtualSwitch(name: string, args: DistributedVirtualSwitchArgs, opts?: CustomResourceOptions);
    @overload
    def DistributedVirtualSwitch(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 active_uplinks: Optional[Sequence[str]] = None,
                                 allow_forged_transmits: Optional[bool] = None,
                                 allow_mac_changes: Optional[bool] = None,
                                 allow_promiscuous: Optional[bool] = None,
                                 backupnfc_maximum_mbit: Optional[int] = None,
                                 backupnfc_reservation_mbit: Optional[int] = None,
                                 backupnfc_share_count: Optional[int] = None,
                                 backupnfc_share_level: Optional[str] = None,
                                 block_all_ports: Optional[bool] = None,
                                 check_beacon: Optional[bool] = None,
                                 contact_detail: Optional[str] = None,
                                 contact_name: Optional[str] = None,
                                 custom_attributes: Optional[Mapping[str, str]] = None,
                                 datacenter_id: Optional[str] = None,
                                 description: Optional[str] = None,
                                 directpath_gen2_allowed: Optional[bool] = None,
                                 egress_shaping_average_bandwidth: Optional[int] = None,
                                 egress_shaping_burst_size: Optional[int] = None,
                                 egress_shaping_enabled: Optional[bool] = None,
                                 egress_shaping_peak_bandwidth: Optional[int] = None,
                                 failback: Optional[bool] = None,
                                 faulttolerance_maximum_mbit: Optional[int] = None,
                                 faulttolerance_reservation_mbit: Optional[int] = None,
                                 faulttolerance_share_count: Optional[int] = None,
                                 faulttolerance_share_level: Optional[str] = None,
                                 folder: Optional[str] = None,
                                 hbr_maximum_mbit: Optional[int] = None,
                                 hbr_reservation_mbit: Optional[int] = None,
                                 hbr_share_count: Optional[int] = None,
                                 hbr_share_level: Optional[str] = None,
                                 hosts: Optional[Sequence[DistributedVirtualSwitchHostArgs]] = None,
                                 ignore_other_pvlan_mappings: Optional[bool] = None,
                                 ingress_shaping_average_bandwidth: Optional[int] = None,
                                 ingress_shaping_burst_size: Optional[int] = None,
                                 ingress_shaping_enabled: Optional[bool] = None,
                                 ingress_shaping_peak_bandwidth: Optional[int] = None,
                                 ipv4_address: Optional[str] = None,
                                 iscsi_maximum_mbit: Optional[int] = None,
                                 iscsi_reservation_mbit: Optional[int] = None,
                                 iscsi_share_count: Optional[int] = None,
                                 iscsi_share_level: Optional[str] = None,
                                 lacp_api_version: Optional[str] = None,
                                 lacp_enabled: Optional[bool] = None,
                                 lacp_mode: Optional[str] = None,
                                 link_discovery_operation: Optional[str] = None,
                                 link_discovery_protocol: Optional[str] = None,
                                 management_maximum_mbit: Optional[int] = None,
                                 management_reservation_mbit: Optional[int] = None,
                                 management_share_count: Optional[int] = None,
                                 management_share_level: Optional[str] = None,
                                 max_mtu: Optional[int] = None,
                                 multicast_filtering_mode: Optional[str] = None,
                                 name: Optional[str] = None,
                                 netflow_active_flow_timeout: Optional[int] = None,
                                 netflow_collector_ip_address: Optional[str] = None,
                                 netflow_collector_port: Optional[int] = None,
                                 netflow_enabled: Optional[bool] = None,
                                 netflow_idle_flow_timeout: Optional[int] = None,
                                 netflow_internal_flows_only: Optional[bool] = None,
                                 netflow_observation_domain_id: Optional[int] = None,
                                 netflow_sampling_rate: Optional[int] = None,
                                 network_resource_control_enabled: Optional[bool] = None,
                                 network_resource_control_version: Optional[str] = None,
                                 nfs_maximum_mbit: Optional[int] = None,
                                 nfs_reservation_mbit: Optional[int] = None,
                                 nfs_share_count: Optional[int] = None,
                                 nfs_share_level: Optional[str] = None,
                                 notify_switches: Optional[bool] = None,
                                 port_private_secondary_vlan_id: Optional[int] = None,
                                 pvlan_mappings: Optional[Sequence[DistributedVirtualSwitchPvlanMappingArgs]] = None,
                                 standby_uplinks: Optional[Sequence[str]] = None,
                                 tags: Optional[Sequence[str]] = None,
                                 teaming_policy: Optional[str] = None,
                                 tx_uplink: Optional[bool] = None,
                                 uplinks: Optional[Sequence[str]] = None,
                                 vdp_maximum_mbit: Optional[int] = None,
                                 vdp_reservation_mbit: Optional[int] = None,
                                 vdp_share_count: Optional[int] = None,
                                 vdp_share_level: Optional[str] = None,
                                 version: Optional[str] = None,
                                 virtualmachine_maximum_mbit: Optional[int] = None,
                                 virtualmachine_reservation_mbit: Optional[int] = None,
                                 virtualmachine_share_count: Optional[int] = None,
                                 virtualmachine_share_level: Optional[str] = None,
                                 vlan_id: Optional[int] = None,
                                 vlan_ranges: Optional[Sequence[DistributedVirtualSwitchVlanRangeArgs]] = None,
                                 vmotion_maximum_mbit: Optional[int] = None,
                                 vmotion_reservation_mbit: Optional[int] = None,
                                 vmotion_share_count: Optional[int] = None,
                                 vmotion_share_level: Optional[str] = None,
                                 vsan_maximum_mbit: Optional[int] = None,
                                 vsan_reservation_mbit: Optional[int] = None,
                                 vsan_share_count: Optional[int] = None,
                                 vsan_share_level: Optional[str] = None)
    @overload
    def DistributedVirtualSwitch(resource_name: str,
                                 args: DistributedVirtualSwitchArgs,
                                 opts: Optional[ResourceOptions] = None)
    func NewDistributedVirtualSwitch(ctx *Context, name string, args DistributedVirtualSwitchArgs, opts ...ResourceOption) (*DistributedVirtualSwitch, error)
    public DistributedVirtualSwitch(string name, DistributedVirtualSwitchArgs args, CustomResourceOptions? opts = null)
    public DistributedVirtualSwitch(String name, DistributedVirtualSwitchArgs args)
    public DistributedVirtualSwitch(String name, DistributedVirtualSwitchArgs args, CustomResourceOptions options)
    
    type: vsphere:DistributedVirtualSwitch
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args DistributedVirtualSwitchArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DistributedVirtualSwitchArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DistributedVirtualSwitchArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DistributedVirtualSwitchArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DistributedVirtualSwitchArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    DistributedVirtualSwitch Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The DistributedVirtualSwitch resource accepts the following input properties:

    DatacenterId string

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    ActiveUplinks List<string>

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    AllowForgedTransmits bool

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    AllowMacChanges bool

    Controls whether or not the Media Access Control (MAC) address can be changed.

    AllowPromiscuous bool

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    BackupnfcMaximumMbit int

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    BackupnfcReservationMbit int

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    BackupnfcShareCount int

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    BackupnfcShareLevel string

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    BlockAllPorts bool

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    CheckBeacon bool

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    ContactDetail string

    The detailed contact information for the person who is responsible for the VDS.

    ContactName string

    The name of the person who is responsible for the VDS.

    CustomAttributes Dictionary<string, string>

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    Description string

    A detailed description for the VDS.

    DirectpathGen2Allowed bool

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    EgressShapingAverageBandwidth int

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    EgressShapingBurstSize int

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    EgressShapingEnabled bool

    true if the traffic shaper is enabled on the port for egress traffic.

    EgressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    Failback bool

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    FaulttoleranceMaximumMbit int

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceReservationMbit int

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceShareCount int

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    FaulttoleranceShareLevel string

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    Folder string

    The folder in which to create the VDS. Forces a new resource if changed.

    HbrMaximumMbit int

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    HbrReservationMbit int

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    HbrShareCount int

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    HbrShareLevel string

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    Hosts List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchHost>

    Use the host block to declare a host specification. The options are:

    IgnoreOtherPvlanMappings bool

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    IngressShapingAverageBandwidth int

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    IngressShapingBurstSize int

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    IngressShapingEnabled bool

    true if the traffic shaper is enabled on the port for ingress traffic.

    IngressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    Ipv4Address string

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    IscsiMaximumMbit int

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    IscsiReservationMbit int

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    IscsiShareCount int

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    IscsiShareLevel string

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    LacpApiVersion string

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    LacpEnabled bool

    Enables LACP for the ports that this policy applies to.

    LacpMode string

    The LACP mode. Can be one of active or passive.

    LinkDiscoveryOperation string

    Whether to advertise or listen for link discovery traffic.

    LinkDiscoveryProtocol string

    The discovery protocol type. Valid types are cdp and lldp.

    ManagementMaximumMbit int

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    ManagementReservationMbit int

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    ManagementShareCount int

    The amount of shares to allocate to the management traffic class for a custom share level.

    ManagementShareLevel string

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    MaxMtu int

    The maximum transmission unit (MTU) for the VDS.

    MulticastFilteringMode string

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    Name string

    The name of the VDS.

    NetflowActiveFlowTimeout int

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    NetflowCollectorIpAddress string

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    NetflowCollectorPort int

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    NetflowEnabled bool

    Enables Netflow on all ports that this policy applies to.

    NetflowIdleFlowTimeout int

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    NetflowInternalFlowsOnly bool

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    NetflowObservationDomainId int

    The observation domain ID for the Netflow collector.

    NetflowSamplingRate int

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    NetworkResourceControlEnabled bool

    Set to true to enable network I/O control. Default: false.

    NetworkResourceControlVersion string

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    NfsMaximumMbit int

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    NfsReservationMbit int

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    NfsShareCount int

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    NfsShareLevel string

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    NotifySwitches bool

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    PortPrivateSecondaryVlanId int

    Used to define a secondary VLAN ID when using private VLANs.

    PvlanMappings List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchPvlanMapping>

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    StandbyUplinks List<string>

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    Tags List<string>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    TeamingPolicy string

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    TxUplink bool

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    Uplinks List<string>

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    VdpMaximumMbit int

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    VdpReservationMbit int

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    VdpShareCount int

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    VdpShareLevel string

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    Version string

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    VirtualmachineMaximumMbit int

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineReservationMbit int

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineShareCount int

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    VirtualmachineShareLevel string

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    VlanId int

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    VlanRanges List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchVlanRange>

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    VmotionMaximumMbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    VmotionReservationMbit int

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    VmotionShareCount int

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    VmotionShareLevel string

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    VsanMaximumMbit int

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    VsanReservationMbit int

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    VsanShareCount int

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    VsanShareLevel string

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    DatacenterId string

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    ActiveUplinks []string

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    AllowForgedTransmits bool

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    AllowMacChanges bool

    Controls whether or not the Media Access Control (MAC) address can be changed.

    AllowPromiscuous bool

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    BackupnfcMaximumMbit int

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    BackupnfcReservationMbit int

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    BackupnfcShareCount int

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    BackupnfcShareLevel string

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    BlockAllPorts bool

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    CheckBeacon bool

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    ContactDetail string

    The detailed contact information for the person who is responsible for the VDS.

    ContactName string

    The name of the person who is responsible for the VDS.

    CustomAttributes map[string]string

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    Description string

    A detailed description for the VDS.

    DirectpathGen2Allowed bool

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    EgressShapingAverageBandwidth int

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    EgressShapingBurstSize int

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    EgressShapingEnabled bool

    true if the traffic shaper is enabled on the port for egress traffic.

    EgressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    Failback bool

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    FaulttoleranceMaximumMbit int

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceReservationMbit int

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceShareCount int

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    FaulttoleranceShareLevel string

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    Folder string

    The folder in which to create the VDS. Forces a new resource if changed.

    HbrMaximumMbit int

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    HbrReservationMbit int

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    HbrShareCount int

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    HbrShareLevel string

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    Hosts []DistributedVirtualSwitchHostArgs

    Use the host block to declare a host specification. The options are:

    IgnoreOtherPvlanMappings bool

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    IngressShapingAverageBandwidth int

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    IngressShapingBurstSize int

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    IngressShapingEnabled bool

    true if the traffic shaper is enabled on the port for ingress traffic.

    IngressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    Ipv4Address string

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    IscsiMaximumMbit int

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    IscsiReservationMbit int

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    IscsiShareCount int

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    IscsiShareLevel string

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    LacpApiVersion string

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    LacpEnabled bool

    Enables LACP for the ports that this policy applies to.

    LacpMode string

    The LACP mode. Can be one of active or passive.

    LinkDiscoveryOperation string

    Whether to advertise or listen for link discovery traffic.

    LinkDiscoveryProtocol string

    The discovery protocol type. Valid types are cdp and lldp.

    ManagementMaximumMbit int

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    ManagementReservationMbit int

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    ManagementShareCount int

    The amount of shares to allocate to the management traffic class for a custom share level.

    ManagementShareLevel string

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    MaxMtu int

    The maximum transmission unit (MTU) for the VDS.

    MulticastFilteringMode string

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    Name string

    The name of the VDS.

    NetflowActiveFlowTimeout int

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    NetflowCollectorIpAddress string

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    NetflowCollectorPort int

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    NetflowEnabled bool

    Enables Netflow on all ports that this policy applies to.

    NetflowIdleFlowTimeout int

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    NetflowInternalFlowsOnly bool

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    NetflowObservationDomainId int

    The observation domain ID for the Netflow collector.

    NetflowSamplingRate int

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    NetworkResourceControlEnabled bool

    Set to true to enable network I/O control. Default: false.

    NetworkResourceControlVersion string

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    NfsMaximumMbit int

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    NfsReservationMbit int

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    NfsShareCount int

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    NfsShareLevel string

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    NotifySwitches bool

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    PortPrivateSecondaryVlanId int

    Used to define a secondary VLAN ID when using private VLANs.

    PvlanMappings []DistributedVirtualSwitchPvlanMappingArgs

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    StandbyUplinks []string

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    Tags []string

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    TeamingPolicy string

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    TxUplink bool

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    Uplinks []string

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    VdpMaximumMbit int

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    VdpReservationMbit int

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    VdpShareCount int

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    VdpShareLevel string

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    Version string

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    VirtualmachineMaximumMbit int

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineReservationMbit int

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineShareCount int

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    VirtualmachineShareLevel string

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    VlanId int

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    VlanRanges []DistributedVirtualSwitchVlanRangeArgs

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    VmotionMaximumMbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    VmotionReservationMbit int

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    VmotionShareCount int

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    VmotionShareLevel string

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    VsanMaximumMbit int

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    VsanReservationMbit int

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    VsanShareCount int

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    VsanShareLevel string

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    datacenterId String

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    activeUplinks List<String>

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allowForgedTransmits Boolean

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allowMacChanges Boolean

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allowPromiscuous Boolean

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfcMaximumMbit Integer

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfcReservationMbit Integer

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfcShareCount Integer

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfcShareLevel String

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    blockAllPorts Boolean

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    checkBeacon Boolean

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    contactDetail String

    The detailed contact information for the person who is responsible for the VDS.

    contactName String

    The name of the person who is responsible for the VDS.

    customAttributes Map<String,String>

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    description String

    A detailed description for the VDS.

    directpathGen2Allowed Boolean

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egressShapingAverageBandwidth Integer

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egressShapingBurstSize Integer

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for egress traffic.

    egressShapingPeakBandwidth Integer

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback Boolean

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttoleranceMaximumMbit Integer

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceReservationMbit Integer

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceShareCount Integer

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttoleranceShareLevel String

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder String

    The folder in which to create the VDS. Forces a new resource if changed.

    hbrMaximumMbit Integer

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbrReservationMbit Integer

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbrShareCount Integer

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbrShareLevel String

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts List<DistributedVirtualSwitchHost>

    Use the host block to declare a host specification. The options are:

    ignoreOtherPvlanMappings Boolean

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingressShapingAverageBandwidth Integer

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingressShapingBurstSize Integer

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingressShapingPeakBandwidth Integer

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4Address String

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsiMaximumMbit Integer

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsiReservationMbit Integer

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsiShareCount Integer

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsiShareLevel String

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacpApiVersion String

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacpEnabled Boolean

    Enables LACP for the ports that this policy applies to.

    lacpMode String

    The LACP mode. Can be one of active or passive.

    linkDiscoveryOperation String

    Whether to advertise or listen for link discovery traffic.

    linkDiscoveryProtocol String

    The discovery protocol type. Valid types are cdp and lldp.

    managementMaximumMbit Integer

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    managementReservationMbit Integer

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    managementShareCount Integer

    The amount of shares to allocate to the management traffic class for a custom share level.

    managementShareLevel String

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    maxMtu Integer

    The maximum transmission unit (MTU) for the VDS.

    multicastFilteringMode String

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name String

    The name of the VDS.

    netflowActiveFlowTimeout Integer

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflowCollectorIpAddress String

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflowCollectorPort Integer

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflowEnabled Boolean

    Enables Netflow on all ports that this policy applies to.

    netflowIdleFlowTimeout Integer

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflowInternalFlowsOnly Boolean

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflowObservationDomainId Integer

    The observation domain ID for the Netflow collector.

    netflowSamplingRate Integer

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    networkResourceControlEnabled Boolean

    Set to true to enable network I/O control. Default: false.

    networkResourceControlVersion String

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfsMaximumMbit Integer

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfsReservationMbit Integer

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfsShareCount Integer

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfsShareLevel String

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notifySwitches Boolean

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    portPrivateSecondaryVlanId Integer

    Used to define a secondary VLAN ID when using private VLANs.

    pvlanMappings List<DistributedVirtualSwitchPvlanMapping>

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standbyUplinks List<String>

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags List<String>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy String

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    txUplink Boolean

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks List<String>

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdpMaximumMbit Integer

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdpReservationMbit Integer

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdpShareCount Integer

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdpShareLevel String

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version String

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachineMaximumMbit Integer

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineReservationMbit Integer

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineShareCount Integer

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachineShareLevel String

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlanId Integer

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlanRanges List<DistributedVirtualSwitchVlanRange>

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotionMaximumMbit Integer

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotionReservationMbit Integer

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotionShareCount Integer

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotionShareLevel String

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsanMaximumMbit Integer

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsanReservationMbit Integer

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsanShareCount Integer

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsanShareLevel String

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    datacenterId string

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    activeUplinks string[]

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allowForgedTransmits boolean

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allowMacChanges boolean

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allowPromiscuous boolean

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfcMaximumMbit number

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfcReservationMbit number

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfcShareCount number

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfcShareLevel string

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    blockAllPorts boolean

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    checkBeacon boolean

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    contactDetail string

    The detailed contact information for the person who is responsible for the VDS.

    contactName string

    The name of the person who is responsible for the VDS.

    customAttributes {[key: string]: string}

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    description string

    A detailed description for the VDS.

    directpathGen2Allowed boolean

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egressShapingAverageBandwidth number

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egressShapingBurstSize number

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egressShapingEnabled boolean

    true if the traffic shaper is enabled on the port for egress traffic.

    egressShapingPeakBandwidth number

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback boolean

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttoleranceMaximumMbit number

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceReservationMbit number

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceShareCount number

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttoleranceShareLevel string

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder string

    The folder in which to create the VDS. Forces a new resource if changed.

    hbrMaximumMbit number

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbrReservationMbit number

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbrShareCount number

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbrShareLevel string

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts DistributedVirtualSwitchHost[]

    Use the host block to declare a host specification. The options are:

    ignoreOtherPvlanMappings boolean

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingressShapingAverageBandwidth number

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingressShapingBurstSize number

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingressShapingEnabled boolean

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingressShapingPeakBandwidth number

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4Address string

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsiMaximumMbit number

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsiReservationMbit number

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsiShareCount number

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsiShareLevel string

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacpApiVersion string

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacpEnabled boolean

    Enables LACP for the ports that this policy applies to.

    lacpMode string

    The LACP mode. Can be one of active or passive.

    linkDiscoveryOperation string

    Whether to advertise or listen for link discovery traffic.

    linkDiscoveryProtocol string

    The discovery protocol type. Valid types are cdp and lldp.

    managementMaximumMbit number

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    managementReservationMbit number

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    managementShareCount number

    The amount of shares to allocate to the management traffic class for a custom share level.

    managementShareLevel string

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    maxMtu number

    The maximum transmission unit (MTU) for the VDS.

    multicastFilteringMode string

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name string

    The name of the VDS.

    netflowActiveFlowTimeout number

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflowCollectorIpAddress string

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflowCollectorPort number

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflowEnabled boolean

    Enables Netflow on all ports that this policy applies to.

    netflowIdleFlowTimeout number

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflowInternalFlowsOnly boolean

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflowObservationDomainId number

    The observation domain ID for the Netflow collector.

    netflowSamplingRate number

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    networkResourceControlEnabled boolean

    Set to true to enable network I/O control. Default: false.

    networkResourceControlVersion string

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfsMaximumMbit number

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfsReservationMbit number

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfsShareCount number

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfsShareLevel string

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notifySwitches boolean

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    portPrivateSecondaryVlanId number

    Used to define a secondary VLAN ID when using private VLANs.

    pvlanMappings DistributedVirtualSwitchPvlanMapping[]

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standbyUplinks string[]

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags string[]

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy string

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    txUplink boolean

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks string[]

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdpMaximumMbit number

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdpReservationMbit number

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdpShareCount number

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdpShareLevel string

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version string

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachineMaximumMbit number

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineReservationMbit number

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineShareCount number

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachineShareLevel string

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlanId number

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlanRanges DistributedVirtualSwitchVlanRange[]

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotionMaximumMbit number

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotionReservationMbit number

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotionShareCount number

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotionShareLevel string

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsanMaximumMbit number

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsanReservationMbit number

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsanShareCount number

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsanShareLevel string

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    datacenter_id str

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    active_uplinks Sequence[str]

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allow_forged_transmits bool

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allow_mac_changes bool

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allow_promiscuous bool

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfc_maximum_mbit int

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfc_reservation_mbit int

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfc_share_count int

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfc_share_level str

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    block_all_ports bool

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    check_beacon bool

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    contact_detail str

    The detailed contact information for the person who is responsible for the VDS.

    contact_name str

    The name of the person who is responsible for the VDS.

    custom_attributes Mapping[str, str]

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    description str

    A detailed description for the VDS.

    directpath_gen2_allowed bool

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egress_shaping_average_bandwidth int

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egress_shaping_burst_size int

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egress_shaping_enabled bool

    true if the traffic shaper is enabled on the port for egress traffic.

    egress_shaping_peak_bandwidth int

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback bool

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttolerance_maximum_mbit int

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttolerance_reservation_mbit int

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttolerance_share_count int

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttolerance_share_level str

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder str

    The folder in which to create the VDS. Forces a new resource if changed.

    hbr_maximum_mbit int

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbr_reservation_mbit int

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbr_share_count int

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbr_share_level str

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts Sequence[DistributedVirtualSwitchHostArgs]

    Use the host block to declare a host specification. The options are:

    ignore_other_pvlan_mappings bool

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingress_shaping_average_bandwidth int

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingress_shaping_burst_size int

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingress_shaping_enabled bool

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingress_shaping_peak_bandwidth int

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4_address str

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsi_maximum_mbit int

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsi_reservation_mbit int

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsi_share_count int

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsi_share_level str

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacp_api_version str

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacp_enabled bool

    Enables LACP for the ports that this policy applies to.

    lacp_mode str

    The LACP mode. Can be one of active or passive.

    link_discovery_operation str

    Whether to advertise or listen for link discovery traffic.

    link_discovery_protocol str

    The discovery protocol type. Valid types are cdp and lldp.

    management_maximum_mbit int

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    management_reservation_mbit int

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    management_share_count int

    The amount of shares to allocate to the management traffic class for a custom share level.

    management_share_level str

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    max_mtu int

    The maximum transmission unit (MTU) for the VDS.

    multicast_filtering_mode str

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name str

    The name of the VDS.

    netflow_active_flow_timeout int

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflow_collector_ip_address str

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflow_collector_port int

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflow_enabled bool

    Enables Netflow on all ports that this policy applies to.

    netflow_idle_flow_timeout int

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflow_internal_flows_only bool

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflow_observation_domain_id int

    The observation domain ID for the Netflow collector.

    netflow_sampling_rate int

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    network_resource_control_enabled bool

    Set to true to enable network I/O control. Default: false.

    network_resource_control_version str

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfs_maximum_mbit int

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfs_reservation_mbit int

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfs_share_count int

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfs_share_level str

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notify_switches bool

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    port_private_secondary_vlan_id int

    Used to define a secondary VLAN ID when using private VLANs.

    pvlan_mappings Sequence[DistributedVirtualSwitchPvlanMappingArgs]

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standby_uplinks Sequence[str]

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags Sequence[str]

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teaming_policy str

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    tx_uplink bool

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks Sequence[str]

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdp_maximum_mbit int

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdp_reservation_mbit int

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdp_share_count int

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdp_share_level str

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version str

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachine_maximum_mbit int

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachine_reservation_mbit int

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachine_share_count int

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachine_share_level str

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlan_id int

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlan_ranges Sequence[DistributedVirtualSwitchVlanRangeArgs]

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotion_maximum_mbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotion_reservation_mbit int

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotion_share_count int

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotion_share_level str

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsan_maximum_mbit int

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsan_reservation_mbit int

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsan_share_count int

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsan_share_level str

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    datacenterId String

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    activeUplinks List<String>

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allowForgedTransmits Boolean

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allowMacChanges Boolean

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allowPromiscuous Boolean

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfcMaximumMbit Number

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfcReservationMbit Number

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfcShareCount Number

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfcShareLevel String

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    blockAllPorts Boolean

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    checkBeacon Boolean

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    contactDetail String

    The detailed contact information for the person who is responsible for the VDS.

    contactName String

    The name of the person who is responsible for the VDS.

    customAttributes Map<String>

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    description String

    A detailed description for the VDS.

    directpathGen2Allowed Boolean

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egressShapingAverageBandwidth Number

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egressShapingBurstSize Number

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for egress traffic.

    egressShapingPeakBandwidth Number

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback Boolean

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttoleranceMaximumMbit Number

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceReservationMbit Number

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceShareCount Number

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttoleranceShareLevel String

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder String

    The folder in which to create the VDS. Forces a new resource if changed.

    hbrMaximumMbit Number

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbrReservationMbit Number

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbrShareCount Number

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbrShareLevel String

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts List<Property Map>

    Use the host block to declare a host specification. The options are:

    ignoreOtherPvlanMappings Boolean

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingressShapingAverageBandwidth Number

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingressShapingBurstSize Number

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingressShapingPeakBandwidth Number

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4Address String

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsiMaximumMbit Number

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsiReservationMbit Number

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsiShareCount Number

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsiShareLevel String

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacpApiVersion String

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacpEnabled Boolean

    Enables LACP for the ports that this policy applies to.

    lacpMode String

    The LACP mode. Can be one of active or passive.

    linkDiscoveryOperation String

    Whether to advertise or listen for link discovery traffic.

    linkDiscoveryProtocol String

    The discovery protocol type. Valid types are cdp and lldp.

    managementMaximumMbit Number

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    managementReservationMbit Number

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    managementShareCount Number

    The amount of shares to allocate to the management traffic class for a custom share level.

    managementShareLevel String

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    maxMtu Number

    The maximum transmission unit (MTU) for the VDS.

    multicastFilteringMode String

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name String

    The name of the VDS.

    netflowActiveFlowTimeout Number

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflowCollectorIpAddress String

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflowCollectorPort Number

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflowEnabled Boolean

    Enables Netflow on all ports that this policy applies to.

    netflowIdleFlowTimeout Number

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflowInternalFlowsOnly Boolean

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflowObservationDomainId Number

    The observation domain ID for the Netflow collector.

    netflowSamplingRate Number

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    networkResourceControlEnabled Boolean

    Set to true to enable network I/O control. Default: false.

    networkResourceControlVersion String

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfsMaximumMbit Number

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfsReservationMbit Number

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfsShareCount Number

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfsShareLevel String

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notifySwitches Boolean

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    portPrivateSecondaryVlanId Number

    Used to define a secondary VLAN ID when using private VLANs.

    pvlanMappings List<Property Map>

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standbyUplinks List<String>

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags List<String>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy String

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    txUplink Boolean

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks List<String>

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdpMaximumMbit Number

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdpReservationMbit Number

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdpShareCount Number

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdpShareLevel String

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version String

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachineMaximumMbit Number

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineReservationMbit Number

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineShareCount Number

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachineShareLevel String

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlanId Number

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlanRanges List<Property Map>

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotionMaximumMbit Number

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotionReservationMbit Number

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotionShareCount Number

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotionShareLevel String

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsanMaximumMbit Number

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsanReservationMbit Number

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsanShareCount Number

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsanShareLevel String

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the DistributedVirtualSwitch resource produces the following output properties:

    ConfigVersion string

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    Id string

    The provider-assigned unique ID for this managed resource.

    ConfigVersion string

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    Id string

    The provider-assigned unique ID for this managed resource.

    configVersion String

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    id String

    The provider-assigned unique ID for this managed resource.

    configVersion string

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    id string

    The provider-assigned unique ID for this managed resource.

    config_version str

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    id str

    The provider-assigned unique ID for this managed resource.

    configVersion String

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    id String

    The provider-assigned unique ID for this managed resource.

    Look up Existing DistributedVirtualSwitch Resource

    Get an existing DistributedVirtualSwitch resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DistributedVirtualSwitchState, opts?: CustomResourceOptions): DistributedVirtualSwitch
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_uplinks: Optional[Sequence[str]] = None,
            allow_forged_transmits: Optional[bool] = None,
            allow_mac_changes: Optional[bool] = None,
            allow_promiscuous: Optional[bool] = None,
            backupnfc_maximum_mbit: Optional[int] = None,
            backupnfc_reservation_mbit: Optional[int] = None,
            backupnfc_share_count: Optional[int] = None,
            backupnfc_share_level: Optional[str] = None,
            block_all_ports: Optional[bool] = None,
            check_beacon: Optional[bool] = None,
            config_version: Optional[str] = None,
            contact_detail: Optional[str] = None,
            contact_name: Optional[str] = None,
            custom_attributes: Optional[Mapping[str, str]] = None,
            datacenter_id: Optional[str] = None,
            description: Optional[str] = None,
            directpath_gen2_allowed: Optional[bool] = None,
            egress_shaping_average_bandwidth: Optional[int] = None,
            egress_shaping_burst_size: Optional[int] = None,
            egress_shaping_enabled: Optional[bool] = None,
            egress_shaping_peak_bandwidth: Optional[int] = None,
            failback: Optional[bool] = None,
            faulttolerance_maximum_mbit: Optional[int] = None,
            faulttolerance_reservation_mbit: Optional[int] = None,
            faulttolerance_share_count: Optional[int] = None,
            faulttolerance_share_level: Optional[str] = None,
            folder: Optional[str] = None,
            hbr_maximum_mbit: Optional[int] = None,
            hbr_reservation_mbit: Optional[int] = None,
            hbr_share_count: Optional[int] = None,
            hbr_share_level: Optional[str] = None,
            hosts: Optional[Sequence[DistributedVirtualSwitchHostArgs]] = None,
            ignore_other_pvlan_mappings: Optional[bool] = None,
            ingress_shaping_average_bandwidth: Optional[int] = None,
            ingress_shaping_burst_size: Optional[int] = None,
            ingress_shaping_enabled: Optional[bool] = None,
            ingress_shaping_peak_bandwidth: Optional[int] = None,
            ipv4_address: Optional[str] = None,
            iscsi_maximum_mbit: Optional[int] = None,
            iscsi_reservation_mbit: Optional[int] = None,
            iscsi_share_count: Optional[int] = None,
            iscsi_share_level: Optional[str] = None,
            lacp_api_version: Optional[str] = None,
            lacp_enabled: Optional[bool] = None,
            lacp_mode: Optional[str] = None,
            link_discovery_operation: Optional[str] = None,
            link_discovery_protocol: Optional[str] = None,
            management_maximum_mbit: Optional[int] = None,
            management_reservation_mbit: Optional[int] = None,
            management_share_count: Optional[int] = None,
            management_share_level: Optional[str] = None,
            max_mtu: Optional[int] = None,
            multicast_filtering_mode: Optional[str] = None,
            name: Optional[str] = None,
            netflow_active_flow_timeout: Optional[int] = None,
            netflow_collector_ip_address: Optional[str] = None,
            netflow_collector_port: Optional[int] = None,
            netflow_enabled: Optional[bool] = None,
            netflow_idle_flow_timeout: Optional[int] = None,
            netflow_internal_flows_only: Optional[bool] = None,
            netflow_observation_domain_id: Optional[int] = None,
            netflow_sampling_rate: Optional[int] = None,
            network_resource_control_enabled: Optional[bool] = None,
            network_resource_control_version: Optional[str] = None,
            nfs_maximum_mbit: Optional[int] = None,
            nfs_reservation_mbit: Optional[int] = None,
            nfs_share_count: Optional[int] = None,
            nfs_share_level: Optional[str] = None,
            notify_switches: Optional[bool] = None,
            port_private_secondary_vlan_id: Optional[int] = None,
            pvlan_mappings: Optional[Sequence[DistributedVirtualSwitchPvlanMappingArgs]] = None,
            standby_uplinks: Optional[Sequence[str]] = None,
            tags: Optional[Sequence[str]] = None,
            teaming_policy: Optional[str] = None,
            tx_uplink: Optional[bool] = None,
            uplinks: Optional[Sequence[str]] = None,
            vdp_maximum_mbit: Optional[int] = None,
            vdp_reservation_mbit: Optional[int] = None,
            vdp_share_count: Optional[int] = None,
            vdp_share_level: Optional[str] = None,
            version: Optional[str] = None,
            virtualmachine_maximum_mbit: Optional[int] = None,
            virtualmachine_reservation_mbit: Optional[int] = None,
            virtualmachine_share_count: Optional[int] = None,
            virtualmachine_share_level: Optional[str] = None,
            vlan_id: Optional[int] = None,
            vlan_ranges: Optional[Sequence[DistributedVirtualSwitchVlanRangeArgs]] = None,
            vmotion_maximum_mbit: Optional[int] = None,
            vmotion_reservation_mbit: Optional[int] = None,
            vmotion_share_count: Optional[int] = None,
            vmotion_share_level: Optional[str] = None,
            vsan_maximum_mbit: Optional[int] = None,
            vsan_reservation_mbit: Optional[int] = None,
            vsan_share_count: Optional[int] = None,
            vsan_share_level: Optional[str] = None) -> DistributedVirtualSwitch
    func GetDistributedVirtualSwitch(ctx *Context, name string, id IDInput, state *DistributedVirtualSwitchState, opts ...ResourceOption) (*DistributedVirtualSwitch, error)
    public static DistributedVirtualSwitch Get(string name, Input<string> id, DistributedVirtualSwitchState? state, CustomResourceOptions? opts = null)
    public static DistributedVirtualSwitch get(String name, Output<String> id, DistributedVirtualSwitchState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ActiveUplinks List<string>

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    AllowForgedTransmits bool

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    AllowMacChanges bool

    Controls whether or not the Media Access Control (MAC) address can be changed.

    AllowPromiscuous bool

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    BackupnfcMaximumMbit int

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    BackupnfcReservationMbit int

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    BackupnfcShareCount int

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    BackupnfcShareLevel string

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    BlockAllPorts bool

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    CheckBeacon bool

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    ConfigVersion string

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    ContactDetail string

    The detailed contact information for the person who is responsible for the VDS.

    ContactName string

    The name of the person who is responsible for the VDS.

    CustomAttributes Dictionary<string, string>

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    DatacenterId string

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    Description string

    A detailed description for the VDS.

    DirectpathGen2Allowed bool

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    EgressShapingAverageBandwidth int

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    EgressShapingBurstSize int

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    EgressShapingEnabled bool

    true if the traffic shaper is enabled on the port for egress traffic.

    EgressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    Failback bool

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    FaulttoleranceMaximumMbit int

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceReservationMbit int

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceShareCount int

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    FaulttoleranceShareLevel string

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    Folder string

    The folder in which to create the VDS. Forces a new resource if changed.

    HbrMaximumMbit int

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    HbrReservationMbit int

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    HbrShareCount int

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    HbrShareLevel string

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    Hosts List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchHost>

    Use the host block to declare a host specification. The options are:

    IgnoreOtherPvlanMappings bool

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    IngressShapingAverageBandwidth int

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    IngressShapingBurstSize int

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    IngressShapingEnabled bool

    true if the traffic shaper is enabled on the port for ingress traffic.

    IngressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    Ipv4Address string

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    IscsiMaximumMbit int

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    IscsiReservationMbit int

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    IscsiShareCount int

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    IscsiShareLevel string

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    LacpApiVersion string

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    LacpEnabled bool

    Enables LACP for the ports that this policy applies to.

    LacpMode string

    The LACP mode. Can be one of active or passive.

    LinkDiscoveryOperation string

    Whether to advertise or listen for link discovery traffic.

    LinkDiscoveryProtocol string

    The discovery protocol type. Valid types are cdp and lldp.

    ManagementMaximumMbit int

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    ManagementReservationMbit int

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    ManagementShareCount int

    The amount of shares to allocate to the management traffic class for a custom share level.

    ManagementShareLevel string

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    MaxMtu int

    The maximum transmission unit (MTU) for the VDS.

    MulticastFilteringMode string

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    Name string

    The name of the VDS.

    NetflowActiveFlowTimeout int

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    NetflowCollectorIpAddress string

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    NetflowCollectorPort int

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    NetflowEnabled bool

    Enables Netflow on all ports that this policy applies to.

    NetflowIdleFlowTimeout int

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    NetflowInternalFlowsOnly bool

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    NetflowObservationDomainId int

    The observation domain ID for the Netflow collector.

    NetflowSamplingRate int

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    NetworkResourceControlEnabled bool

    Set to true to enable network I/O control. Default: false.

    NetworkResourceControlVersion string

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    NfsMaximumMbit int

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    NfsReservationMbit int

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    NfsShareCount int

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    NfsShareLevel string

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    NotifySwitches bool

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    PortPrivateSecondaryVlanId int

    Used to define a secondary VLAN ID when using private VLANs.

    PvlanMappings List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchPvlanMapping>

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    StandbyUplinks List<string>

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    Tags List<string>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    TeamingPolicy string

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    TxUplink bool

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    Uplinks List<string>

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    VdpMaximumMbit int

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    VdpReservationMbit int

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    VdpShareCount int

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    VdpShareLevel string

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    Version string

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    VirtualmachineMaximumMbit int

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineReservationMbit int

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineShareCount int

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    VirtualmachineShareLevel string

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    VlanId int

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    VlanRanges List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchVlanRange>

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    VmotionMaximumMbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    VmotionReservationMbit int

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    VmotionShareCount int

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    VmotionShareLevel string

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    VsanMaximumMbit int

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    VsanReservationMbit int

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    VsanShareCount int

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    VsanShareLevel string

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    ActiveUplinks []string

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    AllowForgedTransmits bool

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    AllowMacChanges bool

    Controls whether or not the Media Access Control (MAC) address can be changed.

    AllowPromiscuous bool

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    BackupnfcMaximumMbit int

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    BackupnfcReservationMbit int

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    BackupnfcShareCount int

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    BackupnfcShareLevel string

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    BlockAllPorts bool

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    CheckBeacon bool

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    ConfigVersion string

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    ContactDetail string

    The detailed contact information for the person who is responsible for the VDS.

    ContactName string

    The name of the person who is responsible for the VDS.

    CustomAttributes map[string]string

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    DatacenterId string

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    Description string

    A detailed description for the VDS.

    DirectpathGen2Allowed bool

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    EgressShapingAverageBandwidth int

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    EgressShapingBurstSize int

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    EgressShapingEnabled bool

    true if the traffic shaper is enabled on the port for egress traffic.

    EgressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    Failback bool

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    FaulttoleranceMaximumMbit int

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceReservationMbit int

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    FaulttoleranceShareCount int

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    FaulttoleranceShareLevel string

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    Folder string

    The folder in which to create the VDS. Forces a new resource if changed.

    HbrMaximumMbit int

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    HbrReservationMbit int

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    HbrShareCount int

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    HbrShareLevel string

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    Hosts []DistributedVirtualSwitchHostArgs

    Use the host block to declare a host specification. The options are:

    IgnoreOtherPvlanMappings bool

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    IngressShapingAverageBandwidth int

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    IngressShapingBurstSize int

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    IngressShapingEnabled bool

    true if the traffic shaper is enabled on the port for ingress traffic.

    IngressShapingPeakBandwidth int

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    Ipv4Address string

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    IscsiMaximumMbit int

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    IscsiReservationMbit int

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    IscsiShareCount int

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    IscsiShareLevel string

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    LacpApiVersion string

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    LacpEnabled bool

    Enables LACP for the ports that this policy applies to.

    LacpMode string

    The LACP mode. Can be one of active or passive.

    LinkDiscoveryOperation string

    Whether to advertise or listen for link discovery traffic.

    LinkDiscoveryProtocol string

    The discovery protocol type. Valid types are cdp and lldp.

    ManagementMaximumMbit int

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    ManagementReservationMbit int

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    ManagementShareCount int

    The amount of shares to allocate to the management traffic class for a custom share level.

    ManagementShareLevel string

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    MaxMtu int

    The maximum transmission unit (MTU) for the VDS.

    MulticastFilteringMode string

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    Name string

    The name of the VDS.

    NetflowActiveFlowTimeout int

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    NetflowCollectorIpAddress string

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    NetflowCollectorPort int

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    NetflowEnabled bool

    Enables Netflow on all ports that this policy applies to.

    NetflowIdleFlowTimeout int

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    NetflowInternalFlowsOnly bool

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    NetflowObservationDomainId int

    The observation domain ID for the Netflow collector.

    NetflowSamplingRate int

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    NetworkResourceControlEnabled bool

    Set to true to enable network I/O control. Default: false.

    NetworkResourceControlVersion string

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    NfsMaximumMbit int

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    NfsReservationMbit int

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    NfsShareCount int

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    NfsShareLevel string

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    NotifySwitches bool

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    PortPrivateSecondaryVlanId int

    Used to define a secondary VLAN ID when using private VLANs.

    PvlanMappings []DistributedVirtualSwitchPvlanMappingArgs

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    StandbyUplinks []string

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    Tags []string

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    TeamingPolicy string

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    TxUplink bool

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    Uplinks []string

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    VdpMaximumMbit int

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    VdpReservationMbit int

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    VdpShareCount int

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    VdpShareLevel string

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    Version string

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    VirtualmachineMaximumMbit int

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineReservationMbit int

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    VirtualmachineShareCount int

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    VirtualmachineShareLevel string

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    VlanId int

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    VlanRanges []DistributedVirtualSwitchVlanRangeArgs

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    VmotionMaximumMbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    VmotionReservationMbit int

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    VmotionShareCount int

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    VmotionShareLevel string

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    VsanMaximumMbit int

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    VsanReservationMbit int

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    VsanShareCount int

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    VsanShareLevel string

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    activeUplinks List<String>

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allowForgedTransmits Boolean

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allowMacChanges Boolean

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allowPromiscuous Boolean

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfcMaximumMbit Integer

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfcReservationMbit Integer

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfcShareCount Integer

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfcShareLevel String

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    blockAllPorts Boolean

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    checkBeacon Boolean

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    configVersion String

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    contactDetail String

    The detailed contact information for the person who is responsible for the VDS.

    contactName String

    The name of the person who is responsible for the VDS.

    customAttributes Map<String,String>

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    datacenterId String

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    description String

    A detailed description for the VDS.

    directpathGen2Allowed Boolean

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egressShapingAverageBandwidth Integer

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egressShapingBurstSize Integer

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for egress traffic.

    egressShapingPeakBandwidth Integer

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback Boolean

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttoleranceMaximumMbit Integer

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceReservationMbit Integer

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceShareCount Integer

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttoleranceShareLevel String

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder String

    The folder in which to create the VDS. Forces a new resource if changed.

    hbrMaximumMbit Integer

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbrReservationMbit Integer

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbrShareCount Integer

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbrShareLevel String

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts List<DistributedVirtualSwitchHost>

    Use the host block to declare a host specification. The options are:

    ignoreOtherPvlanMappings Boolean

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingressShapingAverageBandwidth Integer

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingressShapingBurstSize Integer

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingressShapingPeakBandwidth Integer

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4Address String

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsiMaximumMbit Integer

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsiReservationMbit Integer

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsiShareCount Integer

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsiShareLevel String

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacpApiVersion String

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacpEnabled Boolean

    Enables LACP for the ports that this policy applies to.

    lacpMode String

    The LACP mode. Can be one of active or passive.

    linkDiscoveryOperation String

    Whether to advertise or listen for link discovery traffic.

    linkDiscoveryProtocol String

    The discovery protocol type. Valid types are cdp and lldp.

    managementMaximumMbit Integer

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    managementReservationMbit Integer

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    managementShareCount Integer

    The amount of shares to allocate to the management traffic class for a custom share level.

    managementShareLevel String

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    maxMtu Integer

    The maximum transmission unit (MTU) for the VDS.

    multicastFilteringMode String

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name String

    The name of the VDS.

    netflowActiveFlowTimeout Integer

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflowCollectorIpAddress String

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflowCollectorPort Integer

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflowEnabled Boolean

    Enables Netflow on all ports that this policy applies to.

    netflowIdleFlowTimeout Integer

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflowInternalFlowsOnly Boolean

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflowObservationDomainId Integer

    The observation domain ID for the Netflow collector.

    netflowSamplingRate Integer

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    networkResourceControlEnabled Boolean

    Set to true to enable network I/O control. Default: false.

    networkResourceControlVersion String

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfsMaximumMbit Integer

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfsReservationMbit Integer

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfsShareCount Integer

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfsShareLevel String

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notifySwitches Boolean

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    portPrivateSecondaryVlanId Integer

    Used to define a secondary VLAN ID when using private VLANs.

    pvlanMappings List<DistributedVirtualSwitchPvlanMapping>

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standbyUplinks List<String>

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags List<String>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy String

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    txUplink Boolean

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks List<String>

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdpMaximumMbit Integer

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdpReservationMbit Integer

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdpShareCount Integer

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdpShareLevel String

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version String

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachineMaximumMbit Integer

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineReservationMbit Integer

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineShareCount Integer

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachineShareLevel String

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlanId Integer

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlanRanges List<DistributedVirtualSwitchVlanRange>

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotionMaximumMbit Integer

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotionReservationMbit Integer

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotionShareCount Integer

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotionShareLevel String

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsanMaximumMbit Integer

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsanReservationMbit Integer

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsanShareCount Integer

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsanShareLevel String

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    activeUplinks string[]

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allowForgedTransmits boolean

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allowMacChanges boolean

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allowPromiscuous boolean

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfcMaximumMbit number

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfcReservationMbit number

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfcShareCount number

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfcShareLevel string

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    blockAllPorts boolean

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    checkBeacon boolean

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    configVersion string

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    contactDetail string

    The detailed contact information for the person who is responsible for the VDS.

    contactName string

    The name of the person who is responsible for the VDS.

    customAttributes {[key: string]: string}

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    datacenterId string

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    description string

    A detailed description for the VDS.

    directpathGen2Allowed boolean

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egressShapingAverageBandwidth number

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egressShapingBurstSize number

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egressShapingEnabled boolean

    true if the traffic shaper is enabled on the port for egress traffic.

    egressShapingPeakBandwidth number

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback boolean

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttoleranceMaximumMbit number

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceReservationMbit number

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceShareCount number

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttoleranceShareLevel string

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder string

    The folder in which to create the VDS. Forces a new resource if changed.

    hbrMaximumMbit number

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbrReservationMbit number

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbrShareCount number

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbrShareLevel string

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts DistributedVirtualSwitchHost[]

    Use the host block to declare a host specification. The options are:

    ignoreOtherPvlanMappings boolean

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingressShapingAverageBandwidth number

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingressShapingBurstSize number

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingressShapingEnabled boolean

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingressShapingPeakBandwidth number

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4Address string

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsiMaximumMbit number

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsiReservationMbit number

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsiShareCount number

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsiShareLevel string

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacpApiVersion string

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacpEnabled boolean

    Enables LACP for the ports that this policy applies to.

    lacpMode string

    The LACP mode. Can be one of active or passive.

    linkDiscoveryOperation string

    Whether to advertise or listen for link discovery traffic.

    linkDiscoveryProtocol string

    The discovery protocol type. Valid types are cdp and lldp.

    managementMaximumMbit number

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    managementReservationMbit number

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    managementShareCount number

    The amount of shares to allocate to the management traffic class for a custom share level.

    managementShareLevel string

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    maxMtu number

    The maximum transmission unit (MTU) for the VDS.

    multicastFilteringMode string

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name string

    The name of the VDS.

    netflowActiveFlowTimeout number

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflowCollectorIpAddress string

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflowCollectorPort number

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflowEnabled boolean

    Enables Netflow on all ports that this policy applies to.

    netflowIdleFlowTimeout number

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflowInternalFlowsOnly boolean

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflowObservationDomainId number

    The observation domain ID for the Netflow collector.

    netflowSamplingRate number

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    networkResourceControlEnabled boolean

    Set to true to enable network I/O control. Default: false.

    networkResourceControlVersion string

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfsMaximumMbit number

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfsReservationMbit number

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfsShareCount number

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfsShareLevel string

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notifySwitches boolean

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    portPrivateSecondaryVlanId number

    Used to define a secondary VLAN ID when using private VLANs.

    pvlanMappings DistributedVirtualSwitchPvlanMapping[]

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standbyUplinks string[]

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags string[]

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy string

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    txUplink boolean

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks string[]

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdpMaximumMbit number

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdpReservationMbit number

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdpShareCount number

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdpShareLevel string

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version string

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachineMaximumMbit number

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineReservationMbit number

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineShareCount number

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachineShareLevel string

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlanId number

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlanRanges DistributedVirtualSwitchVlanRange[]

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotionMaximumMbit number

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotionReservationMbit number

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotionShareCount number

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotionShareLevel string

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsanMaximumMbit number

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsanReservationMbit number

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsanShareCount number

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsanShareLevel string

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    active_uplinks Sequence[str]

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allow_forged_transmits bool

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allow_mac_changes bool

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allow_promiscuous bool

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfc_maximum_mbit int

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfc_reservation_mbit int

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfc_share_count int

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfc_share_level str

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    block_all_ports bool

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    check_beacon bool

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    config_version str

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    contact_detail str

    The detailed contact information for the person who is responsible for the VDS.

    contact_name str

    The name of the person who is responsible for the VDS.

    custom_attributes Mapping[str, str]

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    datacenter_id str

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    description str

    A detailed description for the VDS.

    directpath_gen2_allowed bool

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egress_shaping_average_bandwidth int

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egress_shaping_burst_size int

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egress_shaping_enabled bool

    true if the traffic shaper is enabled on the port for egress traffic.

    egress_shaping_peak_bandwidth int

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback bool

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttolerance_maximum_mbit int

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttolerance_reservation_mbit int

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttolerance_share_count int

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttolerance_share_level str

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder str

    The folder in which to create the VDS. Forces a new resource if changed.

    hbr_maximum_mbit int

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbr_reservation_mbit int

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbr_share_count int

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbr_share_level str

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts Sequence[DistributedVirtualSwitchHostArgs]

    Use the host block to declare a host specification. The options are:

    ignore_other_pvlan_mappings bool

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingress_shaping_average_bandwidth int

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingress_shaping_burst_size int

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingress_shaping_enabled bool

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingress_shaping_peak_bandwidth int

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4_address str

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsi_maximum_mbit int

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsi_reservation_mbit int

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsi_share_count int

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsi_share_level str

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacp_api_version str

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacp_enabled bool

    Enables LACP for the ports that this policy applies to.

    lacp_mode str

    The LACP mode. Can be one of active or passive.

    link_discovery_operation str

    Whether to advertise or listen for link discovery traffic.

    link_discovery_protocol str

    The discovery protocol type. Valid types are cdp and lldp.

    management_maximum_mbit int

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    management_reservation_mbit int

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    management_share_count int

    The amount of shares to allocate to the management traffic class for a custom share level.

    management_share_level str

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    max_mtu int

    The maximum transmission unit (MTU) for the VDS.

    multicast_filtering_mode str

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name str

    The name of the VDS.

    netflow_active_flow_timeout int

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflow_collector_ip_address str

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflow_collector_port int

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflow_enabled bool

    Enables Netflow on all ports that this policy applies to.

    netflow_idle_flow_timeout int

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflow_internal_flows_only bool

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflow_observation_domain_id int

    The observation domain ID for the Netflow collector.

    netflow_sampling_rate int

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    network_resource_control_enabled bool

    Set to true to enable network I/O control. Default: false.

    network_resource_control_version str

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfs_maximum_mbit int

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfs_reservation_mbit int

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfs_share_count int

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfs_share_level str

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notify_switches bool

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    port_private_secondary_vlan_id int

    Used to define a secondary VLAN ID when using private VLANs.

    pvlan_mappings Sequence[DistributedVirtualSwitchPvlanMappingArgs]

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standby_uplinks Sequence[str]

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags Sequence[str]

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teaming_policy str

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    tx_uplink bool

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks Sequence[str]

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdp_maximum_mbit int

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdp_reservation_mbit int

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdp_share_count int

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdp_share_level str

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version str

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachine_maximum_mbit int

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachine_reservation_mbit int

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachine_share_count int

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachine_share_level str

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlan_id int

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlan_ranges Sequence[DistributedVirtualSwitchVlanRangeArgs]

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotion_maximum_mbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotion_reservation_mbit int

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotion_share_count int

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotion_share_level str

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsan_maximum_mbit int

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsan_reservation_mbit int

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsan_share_count int

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsan_share_level str

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    activeUplinks List<String>

    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    allowForgedTransmits Boolean

    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.

    allowMacChanges Boolean

    Controls whether or not the Media Access Control (MAC) address can be changed.

    allowPromiscuous Boolean

    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.

    backupnfcMaximumMbit Number

    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.

    backupnfcReservationMbit Number

    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.

    backupnfcShareCount Number

    The amount of shares to allocate to the backupNfc traffic class for a custom share level.

    backupnfcShareLevel String

    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.

    blockAllPorts Boolean

    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.

    checkBeacon Boolean

    Enables beacon probing as an additional measure to detect NIC failure.

    NOTE: VMware recommends using a minimum of 3 NICs when using beacon probing.

    configVersion String

    The current version of the VDS configuration, incremented by subsequent updates to the VDS.

    contactDetail String

    The detailed contact information for the person who is responsible for the VDS.

    contactName String

    The name of the person who is responsible for the VDS.

    customAttributes Map<String>

    Map of custom attribute ids to attribute value strings to set for VDS.

    NOTE: Custom attributes are unsupported on direct ESXi host connections and requires vCenter Server.

    datacenterId String

    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.

    description String

    A detailed description for the VDS.

    directpathGen2Allowed Boolean

    Allow VMDirectPath Gen2 for the ports for which this policy applies to.

    egressShapingAverageBandwidth Number

    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.

    egressShapingBurstSize Number

    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.

    egressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for egress traffic.

    egressShapingPeakBandwidth Number

    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.

    failback Boolean

    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.

    faulttoleranceMaximumMbit Number

    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceReservationMbit Number

    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.

    faulttoleranceShareCount Number

    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.

    faulttoleranceShareLevel String

    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.

    folder String

    The folder in which to create the VDS. Forces a new resource if changed.

    hbrMaximumMbit Number

    The maximum allowed usage for the hbr traffic class, in Mbits/sec.

    hbrReservationMbit Number

    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.

    hbrShareCount Number

    The amount of shares to allocate to the hbr traffic class for a custom share level.

    hbrShareLevel String

    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.

    hosts List<Property Map>

    Use the host block to declare a host specification. The options are:

    ignoreOtherPvlanMappings Boolean

    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.

    ingressShapingAverageBandwidth Number

    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.

    ingressShapingBurstSize Number

    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.

    ingressShapingEnabled Boolean

    true if the traffic shaper is enabled on the port for ingress traffic.

    ingressShapingPeakBandwidth Number

    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.

    ipv4Address String

    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.

    iscsiMaximumMbit Number

    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.

    iscsiReservationMbit Number

    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.

    iscsiShareCount Number

    The amount of shares to allocate to the iSCSI traffic class for a custom share level.

    iscsiShareLevel String

    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.

    lacpApiVersion String

    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.

    lacpEnabled Boolean

    Enables LACP for the ports that this policy applies to.

    lacpMode String

    The LACP mode. Can be one of active or passive.

    linkDiscoveryOperation String

    Whether to advertise or listen for link discovery traffic.

    linkDiscoveryProtocol String

    The discovery protocol type. Valid types are cdp and lldp.

    managementMaximumMbit Number

    The maximum allowed usage for the management traffic class, in Mbits/sec.

    managementReservationMbit Number

    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.

    managementShareCount Number

    The amount of shares to allocate to the management traffic class for a custom share level.

    managementShareLevel String

    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.

    maxMtu Number

    The maximum transmission unit (MTU) for the VDS.

    multicastFilteringMode String

    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.

    name String

    The name of the VDS.

    netflowActiveFlowTimeout Number

    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.

    netflowCollectorIpAddress String

    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.

    netflowCollectorPort Number

    Port for the Netflow collector. This must be set before Netflow can be enabled.

    netflowEnabled Boolean

    Enables Netflow on all ports that this policy applies to.

    netflowIdleFlowTimeout Number

    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.

    netflowInternalFlowsOnly Boolean

    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.

    netflowObservationDomainId Number

    The observation domain ID for the Netflow collector.

    netflowSamplingRate Number

    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%.

    networkResourceControlEnabled Boolean

    Set to true to enable network I/O control. Default: false.

    networkResourceControlVersion String

    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.

    nfsMaximumMbit Number

    The maximum allowed usage for the nfs traffic class, in Mbits/sec.

    nfsReservationMbit Number

    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.

    nfsShareCount Number

    The amount of shares to allocate to the nfs traffic class for a custom share level.

    nfsShareLevel String

    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.

    notifySwitches Boolean

    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.

    portPrivateSecondaryVlanId Number

    Used to define a secondary VLAN ID when using private VLANs.

    pvlanMappings List<Property Map>

    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:

    standbyUplinks List<String>

    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.

    tags List<String>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy String

    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.

    txUplink Boolean

    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.

    uplinks List<String>

    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.

    vdpMaximumMbit Number

    The maximum allowed usage for the vdp traffic class, in Mbits/sec.

    vdpReservationMbit Number

    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.

    vdpShareCount Number

    The amount of shares to allocate to the vdp traffic class for a custom share level.

    vdpShareLevel String

    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.

    version String

    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.

    virtualmachineMaximumMbit Number

    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineReservationMbit Number

    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.

    virtualmachineShareCount Number

    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.

    virtualmachineShareLevel String

    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.

    vlanId Number

    The VLAN ID for single VLAN mode. 0 denotes no VLAN.

    vlanRanges List<Property Map>

    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    

    const vds = new vsphere.DistributedVirtualSwitch("vds", {vlanRanges: [ { maxVlan: 199, minVlan: 100, }, { maxVlan: 399, minVlan: 300, }, ]});

    import pulumi
    import pulumi_vsphere as vsphere
    
    vds = vsphere.DistributedVirtualSwitch("vds", vlan_ranges=[
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=199,
            min_vlan=100,
        ),
        vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=399,
            min_vlan=300,
        ),
    ])
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vds = new VSphere.DistributedVirtualSwitch("vds", new()
        {
            VlanRanges = new[]
            {
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 199,
                    MinVlan = 100,
                },
                new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
                {
                    MaxVlan = 399,
                    MinVlan = 300,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewDistributedVirtualSwitch(ctx, "vds", &vsphere.DistributedVirtualSwitchArgs{
    			VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(199),
    					MinVlan: pulumi.Int(100),
    				},
    				&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    					MaxVlan: pulumi.Int(399),
    					MinVlan: pulumi.Int(300),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.DistributedVirtualSwitch;
    import com.pulumi.vsphere.DistributedVirtualSwitchArgs;
    import com.pulumi.vsphere.inputs.DistributedVirtualSwitchVlanRangeArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vds = new DistributedVirtualSwitch("vds", DistributedVirtualSwitchArgs.builder()        
                .vlanRanges(            
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(199)
                        .minVlan(100)
                        .build(),
                    DistributedVirtualSwitchVlanRangeArgs.builder()
                        .maxVlan(399)
                        .minVlan(300)
                        .build())
                .build());
    
        }
    }
    
    resources:
      vds:
        type: vsphere:DistributedVirtualSwitch
        properties:
          vlanRanges:
            - maxVlan: 199
              minVlan: 100
            - maxVlan: 399
              minVlan: 300
    
    vmotionMaximumMbit Number

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.

    vmotionReservationMbit Number

    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.

    vmotionShareCount Number

    The amount of shares to allocate to the vmotion traffic class for a custom share level.

    vmotionShareLevel String

    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.

    vsanMaximumMbit Number

    The maximum allowed usage for the vsan traffic class, in Mbits/sec.

    vsanReservationMbit Number

    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.

    vsanShareCount Number

    The amount of shares to allocate to the vsan traffic class for a custom share level.

    vsanShareLevel String

    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    Supporting Types

    DistributedVirtualSwitchHost, DistributedVirtualSwitchHostArgs

    HostSystemId string

    The host system ID of the host to add to the VDS.

    Devices List<string>

    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    HostSystemId string

    The host system ID of the host to add to the VDS.

    Devices []string

    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    hostSystemId String

    The host system ID of the host to add to the VDS.

    devices List<String>

    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    hostSystemId string

    The host system ID of the host to add to the VDS.

    devices string[]

    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    host_system_id str

    The host system ID of the host to add to the VDS.

    devices Sequence[str]

    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    hostSystemId String

    The host system ID of the host to add to the VDS.

    devices List<String>

    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    DistributedVirtualSwitchPvlanMapping, DistributedVirtualSwitchPvlanMappingArgs

    PrimaryVlanId int

    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    PvlanType string

    The private VLAN type. Valid values are promiscuous, community and isolated.

    SecondaryVlanId int

    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    PrimaryVlanId int

    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    PvlanType string

    The private VLAN type. Valid values are promiscuous, community and isolated.

    SecondaryVlanId int

    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    primaryVlanId Integer

    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    pvlanType String

    The private VLAN type. Valid values are promiscuous, community and isolated.

    secondaryVlanId Integer

    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    primaryVlanId number

    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    pvlanType string

    The private VLAN type. Valid values are promiscuous, community and isolated.

    secondaryVlanId number

    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    primary_vlan_id int

    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    pvlan_type str

    The private VLAN type. Valid values are promiscuous, community and isolated.

    secondary_vlan_id int

    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    primaryVlanId Number

    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    pvlanType String

    The private VLAN type. Valid values are promiscuous, community and isolated.

    secondaryVlanId Number

    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    DistributedVirtualSwitchVlanRange, DistributedVirtualSwitchVlanRangeArgs

    maxVlan Integer
    minVlan Integer
    maxVlan number
    minVlan number
    maxVlan Number
    minVlan Number

    Package Details

    Repository
    vSphere pulumi/pulumi-vsphere
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the vsphere Terraform Provider.

    vsphere logo
    vSphere v4.9.0 published on Tuesday, Nov 28, 2023 by Pulumi