vsphere.DistributedVirtualSwitch

Explore with Pulumi AI

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.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 List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchPvlanMappingArgs>

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.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 []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<DistributedVirtualSwitchHostArgs>

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<DistributedVirtualSwitchPvlanMappingArgs>

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<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 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 DistributedVirtualSwitchHostArgs[]

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 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 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 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 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.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 List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchPvlanMappingArgs>

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.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 []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<DistributedVirtualSwitchHostArgs>

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<DistributedVirtualSwitchPvlanMappingArgs>

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<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 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 DistributedVirtualSwitchHostArgs[]

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 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 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 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 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

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

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

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.