1. Packages
  2. vSphere
  3. API Docs
  4. DistributedVirtualSwitch
vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi

vsphere.DistributedVirtualSwitch

Explore with Pulumi AI

vsphere logo
vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi

    Create DistributedVirtualSwitch Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DistributedVirtualSwitch(name: string, args: DistributedVirtualSwitchArgs, opts?: CustomResourceOptions);
    @overload
    def DistributedVirtualSwitch(resource_name: str,
                                 args: DistributedVirtualSwitchArgs,
                                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def DistributedVirtualSwitch(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 datacenter_id: Optional[str] = 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,
                                 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)
    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.
    
    

    Parameters

    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.

    Example

    The following reference example uses placeholder values for all input properties.

    var distributedVirtualSwitchResource = new VSphere.DistributedVirtualSwitch("distributedVirtualSwitchResource", new()
    {
        DatacenterId = "string",
        ActiveUplinks = new[]
        {
            "string",
        },
        AllowForgedTransmits = false,
        AllowMacChanges = false,
        AllowPromiscuous = false,
        BackupnfcMaximumMbit = 0,
        BackupnfcReservationMbit = 0,
        BackupnfcShareCount = 0,
        BackupnfcShareLevel = "string",
        BlockAllPorts = false,
        CheckBeacon = false,
        ContactDetail = "string",
        ContactName = "string",
        CustomAttributes = 
        {
            { "string", "string" },
        },
        Description = "string",
        DirectpathGen2Allowed = false,
        EgressShapingAverageBandwidth = 0,
        EgressShapingBurstSize = 0,
        EgressShapingEnabled = false,
        EgressShapingPeakBandwidth = 0,
        Failback = false,
        FaulttoleranceMaximumMbit = 0,
        FaulttoleranceReservationMbit = 0,
        FaulttoleranceShareCount = 0,
        FaulttoleranceShareLevel = "string",
        Folder = "string",
        HbrMaximumMbit = 0,
        HbrReservationMbit = 0,
        HbrShareCount = 0,
        HbrShareLevel = "string",
        Hosts = new[]
        {
            new VSphere.Inputs.DistributedVirtualSwitchHostArgs
            {
                HostSystemId = "string",
                Devices = new[]
                {
                    "string",
                },
            },
        },
        IgnoreOtherPvlanMappings = false,
        IngressShapingAverageBandwidth = 0,
        IngressShapingBurstSize = 0,
        IngressShapingEnabled = false,
        IngressShapingPeakBandwidth = 0,
        Ipv4Address = "string",
        IscsiMaximumMbit = 0,
        IscsiReservationMbit = 0,
        IscsiShareCount = 0,
        IscsiShareLevel = "string",
        LacpApiVersion = "string",
        LacpEnabled = false,
        LacpMode = "string",
        LinkDiscoveryOperation = "string",
        LinkDiscoveryProtocol = "string",
        ManagementMaximumMbit = 0,
        ManagementReservationMbit = 0,
        ManagementShareCount = 0,
        ManagementShareLevel = "string",
        MaxMtu = 0,
        MulticastFilteringMode = "string",
        Name = "string",
        NetflowActiveFlowTimeout = 0,
        NetflowCollectorIpAddress = "string",
        NetflowCollectorPort = 0,
        NetflowEnabled = false,
        NetflowIdleFlowTimeout = 0,
        NetflowInternalFlowsOnly = false,
        NetflowObservationDomainId = 0,
        NetflowSamplingRate = 0,
        NetworkResourceControlEnabled = false,
        NetworkResourceControlVersion = "string",
        NfsMaximumMbit = 0,
        NfsReservationMbit = 0,
        NfsShareCount = 0,
        NfsShareLevel = "string",
        NotifySwitches = false,
        PortPrivateSecondaryVlanId = 0,
        PvlanMappings = new[]
        {
            new VSphere.Inputs.DistributedVirtualSwitchPvlanMappingArgs
            {
                PrimaryVlanId = 0,
                PvlanType = "string",
                SecondaryVlanId = 0,
            },
        },
        StandbyUplinks = new[]
        {
            "string",
        },
        Tags = new[]
        {
            "string",
        },
        TeamingPolicy = "string",
        TxUplink = false,
        Uplinks = new[]
        {
            "string",
        },
        VdpMaximumMbit = 0,
        VdpReservationMbit = 0,
        VdpShareCount = 0,
        VdpShareLevel = "string",
        Version = "string",
        VirtualmachineMaximumMbit = 0,
        VirtualmachineReservationMbit = 0,
        VirtualmachineShareCount = 0,
        VirtualmachineShareLevel = "string",
        VlanId = 0,
        VlanRanges = new[]
        {
            new VSphere.Inputs.DistributedVirtualSwitchVlanRangeArgs
            {
                MaxVlan = 0,
                MinVlan = 0,
            },
        },
        VmotionMaximumMbit = 0,
        VmotionReservationMbit = 0,
        VmotionShareCount = 0,
        VmotionShareLevel = "string",
        VsanMaximumMbit = 0,
        VsanReservationMbit = 0,
        VsanShareCount = 0,
        VsanShareLevel = "string",
    });
    
    example, err := vsphere.NewDistributedVirtualSwitch(ctx, "distributedVirtualSwitchResource", &vsphere.DistributedVirtualSwitchArgs{
    	DatacenterId: pulumi.String("string"),
    	ActiveUplinks: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AllowForgedTransmits:     pulumi.Bool(false),
    	AllowMacChanges:          pulumi.Bool(false),
    	AllowPromiscuous:         pulumi.Bool(false),
    	BackupnfcMaximumMbit:     pulumi.Int(0),
    	BackupnfcReservationMbit: pulumi.Int(0),
    	BackupnfcShareCount:      pulumi.Int(0),
    	BackupnfcShareLevel:      pulumi.String("string"),
    	BlockAllPorts:            pulumi.Bool(false),
    	CheckBeacon:              pulumi.Bool(false),
    	ContactDetail:            pulumi.String("string"),
    	ContactName:              pulumi.String("string"),
    	CustomAttributes: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Description:                   pulumi.String("string"),
    	DirectpathGen2Allowed:         pulumi.Bool(false),
    	EgressShapingAverageBandwidth: pulumi.Int(0),
    	EgressShapingBurstSize:        pulumi.Int(0),
    	EgressShapingEnabled:          pulumi.Bool(false),
    	EgressShapingPeakBandwidth:    pulumi.Int(0),
    	Failback:                      pulumi.Bool(false),
    	FaulttoleranceMaximumMbit:     pulumi.Int(0),
    	FaulttoleranceReservationMbit: pulumi.Int(0),
    	FaulttoleranceShareCount:      pulumi.Int(0),
    	FaulttoleranceShareLevel:      pulumi.String("string"),
    	Folder:                        pulumi.String("string"),
    	HbrMaximumMbit:                pulumi.Int(0),
    	HbrReservationMbit:            pulumi.Int(0),
    	HbrShareCount:                 pulumi.Int(0),
    	HbrShareLevel:                 pulumi.String("string"),
    	Hosts: vsphere.DistributedVirtualSwitchHostArray{
    		&vsphere.DistributedVirtualSwitchHostArgs{
    			HostSystemId: pulumi.String("string"),
    			Devices: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	IgnoreOtherPvlanMappings:       pulumi.Bool(false),
    	IngressShapingAverageBandwidth: pulumi.Int(0),
    	IngressShapingBurstSize:        pulumi.Int(0),
    	IngressShapingEnabled:          pulumi.Bool(false),
    	IngressShapingPeakBandwidth:    pulumi.Int(0),
    	Ipv4Address:                    pulumi.String("string"),
    	IscsiMaximumMbit:               pulumi.Int(0),
    	IscsiReservationMbit:           pulumi.Int(0),
    	IscsiShareCount:                pulumi.Int(0),
    	IscsiShareLevel:                pulumi.String("string"),
    	LacpApiVersion:                 pulumi.String("string"),
    	LacpEnabled:                    pulumi.Bool(false),
    	LacpMode:                       pulumi.String("string"),
    	LinkDiscoveryOperation:         pulumi.String("string"),
    	LinkDiscoveryProtocol:          pulumi.String("string"),
    	ManagementMaximumMbit:          pulumi.Int(0),
    	ManagementReservationMbit:      pulumi.Int(0),
    	ManagementShareCount:           pulumi.Int(0),
    	ManagementShareLevel:           pulumi.String("string"),
    	MaxMtu:                         pulumi.Int(0),
    	MulticastFilteringMode:         pulumi.String("string"),
    	Name:                           pulumi.String("string"),
    	NetflowActiveFlowTimeout:       pulumi.Int(0),
    	NetflowCollectorIpAddress:      pulumi.String("string"),
    	NetflowCollectorPort:           pulumi.Int(0),
    	NetflowEnabled:                 pulumi.Bool(false),
    	NetflowIdleFlowTimeout:         pulumi.Int(0),
    	NetflowInternalFlowsOnly:       pulumi.Bool(false),
    	NetflowObservationDomainId:     pulumi.Int(0),
    	NetflowSamplingRate:            pulumi.Int(0),
    	NetworkResourceControlEnabled:  pulumi.Bool(false),
    	NetworkResourceControlVersion:  pulumi.String("string"),
    	NfsMaximumMbit:                 pulumi.Int(0),
    	NfsReservationMbit:             pulumi.Int(0),
    	NfsShareCount:                  pulumi.Int(0),
    	NfsShareLevel:                  pulumi.String("string"),
    	NotifySwitches:                 pulumi.Bool(false),
    	PortPrivateSecondaryVlanId:     pulumi.Int(0),
    	PvlanMappings: vsphere.DistributedVirtualSwitchPvlanMappingArray{
    		&vsphere.DistributedVirtualSwitchPvlanMappingArgs{
    			PrimaryVlanId:   pulumi.Int(0),
    			PvlanType:       pulumi.String("string"),
    			SecondaryVlanId: pulumi.Int(0),
    		},
    	},
    	StandbyUplinks: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TeamingPolicy: pulumi.String("string"),
    	TxUplink:      pulumi.Bool(false),
    	Uplinks: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	VdpMaximumMbit:                pulumi.Int(0),
    	VdpReservationMbit:            pulumi.Int(0),
    	VdpShareCount:                 pulumi.Int(0),
    	VdpShareLevel:                 pulumi.String("string"),
    	Version:                       pulumi.String("string"),
    	VirtualmachineMaximumMbit:     pulumi.Int(0),
    	VirtualmachineReservationMbit: pulumi.Int(0),
    	VirtualmachineShareCount:      pulumi.Int(0),
    	VirtualmachineShareLevel:      pulumi.String("string"),
    	VlanId:                        pulumi.Int(0),
    	VlanRanges: vsphere.DistributedVirtualSwitchVlanRangeArray{
    		&vsphere.DistributedVirtualSwitchVlanRangeArgs{
    			MaxVlan: pulumi.Int(0),
    			MinVlan: pulumi.Int(0),
    		},
    	},
    	VmotionMaximumMbit:     pulumi.Int(0),
    	VmotionReservationMbit: pulumi.Int(0),
    	VmotionShareCount:      pulumi.Int(0),
    	VmotionShareLevel:      pulumi.String("string"),
    	VsanMaximumMbit:        pulumi.Int(0),
    	VsanReservationMbit:    pulumi.Int(0),
    	VsanShareCount:         pulumi.Int(0),
    	VsanShareLevel:         pulumi.String("string"),
    })
    
    var distributedVirtualSwitchResource = new DistributedVirtualSwitch("distributedVirtualSwitchResource", DistributedVirtualSwitchArgs.builder()        
        .datacenterId("string")
        .activeUplinks("string")
        .allowForgedTransmits(false)
        .allowMacChanges(false)
        .allowPromiscuous(false)
        .backupnfcMaximumMbit(0)
        .backupnfcReservationMbit(0)
        .backupnfcShareCount(0)
        .backupnfcShareLevel("string")
        .blockAllPorts(false)
        .checkBeacon(false)
        .contactDetail("string")
        .contactName("string")
        .customAttributes(Map.of("string", "string"))
        .description("string")
        .directpathGen2Allowed(false)
        .egressShapingAverageBandwidth(0)
        .egressShapingBurstSize(0)
        .egressShapingEnabled(false)
        .egressShapingPeakBandwidth(0)
        .failback(false)
        .faulttoleranceMaximumMbit(0)
        .faulttoleranceReservationMbit(0)
        .faulttoleranceShareCount(0)
        .faulttoleranceShareLevel("string")
        .folder("string")
        .hbrMaximumMbit(0)
        .hbrReservationMbit(0)
        .hbrShareCount(0)
        .hbrShareLevel("string")
        .hosts(DistributedVirtualSwitchHostArgs.builder()
            .hostSystemId("string")
            .devices("string")
            .build())
        .ignoreOtherPvlanMappings(false)
        .ingressShapingAverageBandwidth(0)
        .ingressShapingBurstSize(0)
        .ingressShapingEnabled(false)
        .ingressShapingPeakBandwidth(0)
        .ipv4Address("string")
        .iscsiMaximumMbit(0)
        .iscsiReservationMbit(0)
        .iscsiShareCount(0)
        .iscsiShareLevel("string")
        .lacpApiVersion("string")
        .lacpEnabled(false)
        .lacpMode("string")
        .linkDiscoveryOperation("string")
        .linkDiscoveryProtocol("string")
        .managementMaximumMbit(0)
        .managementReservationMbit(0)
        .managementShareCount(0)
        .managementShareLevel("string")
        .maxMtu(0)
        .multicastFilteringMode("string")
        .name("string")
        .netflowActiveFlowTimeout(0)
        .netflowCollectorIpAddress("string")
        .netflowCollectorPort(0)
        .netflowEnabled(false)
        .netflowIdleFlowTimeout(0)
        .netflowInternalFlowsOnly(false)
        .netflowObservationDomainId(0)
        .netflowSamplingRate(0)
        .networkResourceControlEnabled(false)
        .networkResourceControlVersion("string")
        .nfsMaximumMbit(0)
        .nfsReservationMbit(0)
        .nfsShareCount(0)
        .nfsShareLevel("string")
        .notifySwitches(false)
        .portPrivateSecondaryVlanId(0)
        .pvlanMappings(DistributedVirtualSwitchPvlanMappingArgs.builder()
            .primaryVlanId(0)
            .pvlanType("string")
            .secondaryVlanId(0)
            .build())
        .standbyUplinks("string")
        .tags("string")
        .teamingPolicy("string")
        .txUplink(false)
        .uplinks("string")
        .vdpMaximumMbit(0)
        .vdpReservationMbit(0)
        .vdpShareCount(0)
        .vdpShareLevel("string")
        .version("string")
        .virtualmachineMaximumMbit(0)
        .virtualmachineReservationMbit(0)
        .virtualmachineShareCount(0)
        .virtualmachineShareLevel("string")
        .vlanId(0)
        .vlanRanges(DistributedVirtualSwitchVlanRangeArgs.builder()
            .maxVlan(0)
            .minVlan(0)
            .build())
        .vmotionMaximumMbit(0)
        .vmotionReservationMbit(0)
        .vmotionShareCount(0)
        .vmotionShareLevel("string")
        .vsanMaximumMbit(0)
        .vsanReservationMbit(0)
        .vsanShareCount(0)
        .vsanShareLevel("string")
        .build());
    
    distributed_virtual_switch_resource = vsphere.DistributedVirtualSwitch("distributedVirtualSwitchResource",
        datacenter_id="string",
        active_uplinks=["string"],
        allow_forged_transmits=False,
        allow_mac_changes=False,
        allow_promiscuous=False,
        backupnfc_maximum_mbit=0,
        backupnfc_reservation_mbit=0,
        backupnfc_share_count=0,
        backupnfc_share_level="string",
        block_all_ports=False,
        check_beacon=False,
        contact_detail="string",
        contact_name="string",
        custom_attributes={
            "string": "string",
        },
        description="string",
        directpath_gen2_allowed=False,
        egress_shaping_average_bandwidth=0,
        egress_shaping_burst_size=0,
        egress_shaping_enabled=False,
        egress_shaping_peak_bandwidth=0,
        failback=False,
        faulttolerance_maximum_mbit=0,
        faulttolerance_reservation_mbit=0,
        faulttolerance_share_count=0,
        faulttolerance_share_level="string",
        folder="string",
        hbr_maximum_mbit=0,
        hbr_reservation_mbit=0,
        hbr_share_count=0,
        hbr_share_level="string",
        hosts=[vsphere.DistributedVirtualSwitchHostArgs(
            host_system_id="string",
            devices=["string"],
        )],
        ignore_other_pvlan_mappings=False,
        ingress_shaping_average_bandwidth=0,
        ingress_shaping_burst_size=0,
        ingress_shaping_enabled=False,
        ingress_shaping_peak_bandwidth=0,
        ipv4_address="string",
        iscsi_maximum_mbit=0,
        iscsi_reservation_mbit=0,
        iscsi_share_count=0,
        iscsi_share_level="string",
        lacp_api_version="string",
        lacp_enabled=False,
        lacp_mode="string",
        link_discovery_operation="string",
        link_discovery_protocol="string",
        management_maximum_mbit=0,
        management_reservation_mbit=0,
        management_share_count=0,
        management_share_level="string",
        max_mtu=0,
        multicast_filtering_mode="string",
        name="string",
        netflow_active_flow_timeout=0,
        netflow_collector_ip_address="string",
        netflow_collector_port=0,
        netflow_enabled=False,
        netflow_idle_flow_timeout=0,
        netflow_internal_flows_only=False,
        netflow_observation_domain_id=0,
        netflow_sampling_rate=0,
        network_resource_control_enabled=False,
        network_resource_control_version="string",
        nfs_maximum_mbit=0,
        nfs_reservation_mbit=0,
        nfs_share_count=0,
        nfs_share_level="string",
        notify_switches=False,
        port_private_secondary_vlan_id=0,
        pvlan_mappings=[vsphere.DistributedVirtualSwitchPvlanMappingArgs(
            primary_vlan_id=0,
            pvlan_type="string",
            secondary_vlan_id=0,
        )],
        standby_uplinks=["string"],
        tags=["string"],
        teaming_policy="string",
        tx_uplink=False,
        uplinks=["string"],
        vdp_maximum_mbit=0,
        vdp_reservation_mbit=0,
        vdp_share_count=0,
        vdp_share_level="string",
        version="string",
        virtualmachine_maximum_mbit=0,
        virtualmachine_reservation_mbit=0,
        virtualmachine_share_count=0,
        virtualmachine_share_level="string",
        vlan_id=0,
        vlan_ranges=[vsphere.DistributedVirtualSwitchVlanRangeArgs(
            max_vlan=0,
            min_vlan=0,
        )],
        vmotion_maximum_mbit=0,
        vmotion_reservation_mbit=0,
        vmotion_share_count=0,
        vmotion_share_level="string",
        vsan_maximum_mbit=0,
        vsan_reservation_mbit=0,
        vsan_share_count=0,
        vsan_share_level="string")
    
    const distributedVirtualSwitchResource = new vsphere.DistributedVirtualSwitch("distributedVirtualSwitchResource", {
        datacenterId: "string",
        activeUplinks: ["string"],
        allowForgedTransmits: false,
        allowMacChanges: false,
        allowPromiscuous: false,
        backupnfcMaximumMbit: 0,
        backupnfcReservationMbit: 0,
        backupnfcShareCount: 0,
        backupnfcShareLevel: "string",
        blockAllPorts: false,
        checkBeacon: false,
        contactDetail: "string",
        contactName: "string",
        customAttributes: {
            string: "string",
        },
        description: "string",
        directpathGen2Allowed: false,
        egressShapingAverageBandwidth: 0,
        egressShapingBurstSize: 0,
        egressShapingEnabled: false,
        egressShapingPeakBandwidth: 0,
        failback: false,
        faulttoleranceMaximumMbit: 0,
        faulttoleranceReservationMbit: 0,
        faulttoleranceShareCount: 0,
        faulttoleranceShareLevel: "string",
        folder: "string",
        hbrMaximumMbit: 0,
        hbrReservationMbit: 0,
        hbrShareCount: 0,
        hbrShareLevel: "string",
        hosts: [{
            hostSystemId: "string",
            devices: ["string"],
        }],
        ignoreOtherPvlanMappings: false,
        ingressShapingAverageBandwidth: 0,
        ingressShapingBurstSize: 0,
        ingressShapingEnabled: false,
        ingressShapingPeakBandwidth: 0,
        ipv4Address: "string",
        iscsiMaximumMbit: 0,
        iscsiReservationMbit: 0,
        iscsiShareCount: 0,
        iscsiShareLevel: "string",
        lacpApiVersion: "string",
        lacpEnabled: false,
        lacpMode: "string",
        linkDiscoveryOperation: "string",
        linkDiscoveryProtocol: "string",
        managementMaximumMbit: 0,
        managementReservationMbit: 0,
        managementShareCount: 0,
        managementShareLevel: "string",
        maxMtu: 0,
        multicastFilteringMode: "string",
        name: "string",
        netflowActiveFlowTimeout: 0,
        netflowCollectorIpAddress: "string",
        netflowCollectorPort: 0,
        netflowEnabled: false,
        netflowIdleFlowTimeout: 0,
        netflowInternalFlowsOnly: false,
        netflowObservationDomainId: 0,
        netflowSamplingRate: 0,
        networkResourceControlEnabled: false,
        networkResourceControlVersion: "string",
        nfsMaximumMbit: 0,
        nfsReservationMbit: 0,
        nfsShareCount: 0,
        nfsShareLevel: "string",
        notifySwitches: false,
        portPrivateSecondaryVlanId: 0,
        pvlanMappings: [{
            primaryVlanId: 0,
            pvlanType: "string",
            secondaryVlanId: 0,
        }],
        standbyUplinks: ["string"],
        tags: ["string"],
        teamingPolicy: "string",
        txUplink: false,
        uplinks: ["string"],
        vdpMaximumMbit: 0,
        vdpReservationMbit: 0,
        vdpShareCount: 0,
        vdpShareLevel: "string",
        version: "string",
        virtualmachineMaximumMbit: 0,
        virtualmachineReservationMbit: 0,
        virtualmachineShareCount: 0,
        virtualmachineShareLevel: "string",
        vlanId: 0,
        vlanRanges: [{
            maxVlan: 0,
            minVlan: 0,
        }],
        vmotionMaximumMbit: 0,
        vmotionReservationMbit: 0,
        vmotionShareCount: 0,
        vmotionShareLevel: "string",
        vsanMaximumMbit: 0,
        vsanReservationMbit: 0,
        vsanShareCount: 0,
        vsanShareLevel: "string",
    });
    
    type: vsphere:DistributedVirtualSwitch
    properties:
        activeUplinks:
            - string
        allowForgedTransmits: false
        allowMacChanges: false
        allowPromiscuous: false
        backupnfcMaximumMbit: 0
        backupnfcReservationMbit: 0
        backupnfcShareCount: 0
        backupnfcShareLevel: string
        blockAllPorts: false
        checkBeacon: false
        contactDetail: string
        contactName: string
        customAttributes:
            string: string
        datacenterId: string
        description: string
        directpathGen2Allowed: false
        egressShapingAverageBandwidth: 0
        egressShapingBurstSize: 0
        egressShapingEnabled: false
        egressShapingPeakBandwidth: 0
        failback: false
        faulttoleranceMaximumMbit: 0
        faulttoleranceReservationMbit: 0
        faulttoleranceShareCount: 0
        faulttoleranceShareLevel: string
        folder: string
        hbrMaximumMbit: 0
        hbrReservationMbit: 0
        hbrShareCount: 0
        hbrShareLevel: string
        hosts:
            - devices:
                - string
              hostSystemId: string
        ignoreOtherPvlanMappings: false
        ingressShapingAverageBandwidth: 0
        ingressShapingBurstSize: 0
        ingressShapingEnabled: false
        ingressShapingPeakBandwidth: 0
        ipv4Address: string
        iscsiMaximumMbit: 0
        iscsiReservationMbit: 0
        iscsiShareCount: 0
        iscsiShareLevel: string
        lacpApiVersion: string
        lacpEnabled: false
        lacpMode: string
        linkDiscoveryOperation: string
        linkDiscoveryProtocol: string
        managementMaximumMbit: 0
        managementReservationMbit: 0
        managementShareCount: 0
        managementShareLevel: string
        maxMtu: 0
        multicastFilteringMode: string
        name: string
        netflowActiveFlowTimeout: 0
        netflowCollectorIpAddress: string
        netflowCollectorPort: 0
        netflowEnabled: false
        netflowIdleFlowTimeout: 0
        netflowInternalFlowsOnly: false
        netflowObservationDomainId: 0
        netflowSamplingRate: 0
        networkResourceControlEnabled: false
        networkResourceControlVersion: string
        nfsMaximumMbit: 0
        nfsReservationMbit: 0
        nfsShareCount: 0
        nfsShareLevel: string
        notifySwitches: false
        portPrivateSecondaryVlanId: 0
        pvlanMappings:
            - primaryVlanId: 0
              pvlanType: string
              secondaryVlanId: 0
        standbyUplinks:
            - string
        tags:
            - string
        teamingPolicy: string
        txUplink: false
        uplinks:
            - string
        vdpMaximumMbit: 0
        vdpReservationMbit: 0
        vdpShareCount: 0
        vdpShareLevel: string
        version: string
        virtualmachineMaximumMbit: 0
        virtualmachineReservationMbit: 0
        virtualmachineShareCount: 0
        virtualmachineShareLevel: string
        vlanId: 0
        vlanRanges:
            - maxVlan: 0
              minVlan: 0
        vmotionMaximumMbit: 0
        vmotionReservationMbit: 0
        vmotionShareCount: 0
        vmotionShareLevel: string
        vsanMaximumMbit: 0
        vsanReservationMbit: 0
        vsanShareCount: 0
        vsanShareLevel: string
    

    DistributedVirtualSwitch Resource Properties

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

    Inputs

    The DistributedVirtualSwitch resource accepts the following input properties:

    DatacenterId string
    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.
    ActiveUplinks List<string>
    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    AllowForgedTransmits bool
    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
    AllowMacChanges bool
    Controls whether or not the Media Access Control (MAC) address can be changed.
    AllowPromiscuous bool
    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
    BackupnfcMaximumMbit int
    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
    BackupnfcReservationMbit int
    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
    BackupnfcShareCount int
    The amount of shares to allocate to the backupNfc traffic class for a custom share level.
    BackupnfcShareLevel string
    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
    BlockAllPorts bool
    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
    CheckBeacon bool

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

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

    ContactDetail string
    The detailed contact information for the person who is responsible for the VDS.
    ContactName string
    The name of the person who is responsible for the VDS.
    CustomAttributes Dictionary<string, string>

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

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

    Description string
    A detailed description for the VDS.
    DirectpathGen2Allowed bool
    Allow VMDirectPath Gen2 for the ports for which this policy applies to.
    EgressShapingAverageBandwidth int
    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
    EgressShapingBurstSize int
    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
    EgressShapingEnabled bool
    true if the traffic shaper is enabled on the port for egress traffic.
    EgressShapingPeakBandwidth int
    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
    Failback bool
    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.
    FaulttoleranceMaximumMbit int
    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
    FaulttoleranceReservationMbit int
    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
    FaulttoleranceShareCount int
    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
    FaulttoleranceShareLevel string
    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
    Folder string
    The folder in which to create the VDS. Forces a new resource if changed.
    HbrMaximumMbit int
    The maximum allowed usage for the hbr traffic class, in Mbits/sec.
    HbrReservationMbit int
    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
    HbrShareCount int
    The amount of shares to allocate to the hbr traffic class for a custom share level.
    HbrShareLevel string
    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
    Hosts List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchHost>
    Use the host block to declare a host specification. The options are:
    IgnoreOtherPvlanMappings bool
    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
    IngressShapingAverageBandwidth int
    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
    IngressShapingBurstSize int
    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
    IngressShapingEnabled bool
    true if the traffic shaper is enabled on the port for ingress traffic.
    IngressShapingPeakBandwidth int
    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
    Ipv4Address string
    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.
    IscsiMaximumMbit int
    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
    IscsiReservationMbit int
    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
    IscsiShareCount int
    The amount of shares to allocate to the iSCSI traffic class for a custom share level.
    IscsiShareLevel string
    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
    LacpApiVersion string
    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.
    LacpEnabled bool
    Enables LACP for the ports that this policy applies to.
    LacpMode string
    The LACP mode. Can be one of active or passive.
    LinkDiscoveryOperation string
    Whether to advertise or listen for link discovery traffic.
    LinkDiscoveryProtocol string
    The discovery protocol type. Valid types are cdp and lldp.
    ManagementMaximumMbit int
    The maximum allowed usage for the management traffic class, in Mbits/sec.
    ManagementReservationMbit int
    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
    ManagementShareCount int
    The amount of shares to allocate to the management traffic class for a custom share level.
    ManagementShareLevel string
    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
    MaxMtu int
    The maximum transmission unit (MTU) for the VDS.
    MulticastFilteringMode string
    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.
    Name string
    The name of the VDS.
    NetflowActiveFlowTimeout int
    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.
    NetflowCollectorIpAddress string
    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.
    NetflowCollectorPort int
    Port for the Netflow collector. This must be set before Netflow can be enabled.
    NetflowEnabled bool
    Enables Netflow on all ports that this policy applies to.
    NetflowIdleFlowTimeout int
    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.
    NetflowInternalFlowsOnly bool
    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.
    NetflowObservationDomainId int
    The observation domain ID for the Netflow collector.
    NetflowSamplingRate int
    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%! (MISSING)
    NetworkResourceControlEnabled bool
    Set to true to enable network I/O control. Default: false.
    NetworkResourceControlVersion string
    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.
    NfsMaximumMbit int
    The maximum allowed usage for the nfs traffic class, in Mbits/sec.
    NfsReservationMbit int
    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
    NfsShareCount int
    The amount of shares to allocate to the nfs traffic class for a custom share level.
    NfsShareLevel string
    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
    NotifySwitches bool
    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.
    PortPrivateSecondaryVlanId int
    Used to define a secondary VLAN ID when using private VLANs.
    PvlanMappings List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchPvlanMapping>
    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:
    StandbyUplinks List<string>
    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    Tags List<string>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    TeamingPolicy string
    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
    TxUplink bool
    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.
    Uplinks List<string>
    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.
    VdpMaximumMbit int
    The maximum allowed usage for the vdp traffic class, in Mbits/sec.
    VdpReservationMbit int
    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
    VdpShareCount int
    The amount of shares to allocate to the vdp traffic class for a custom share level.
    VdpShareLevel string
    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
    Version string
    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.
    VirtualmachineMaximumMbit int
    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
    VirtualmachineReservationMbit int
    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
    VirtualmachineShareCount int
    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
    VirtualmachineShareLevel string
    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
    VlanId int
    The VLAN ID for single VLAN mode. 0 denotes no VLAN.
    VlanRanges List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchVlanRange>
    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

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

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

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

    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%! (MISSING)
    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
    
    title="Optional"> <span id="vmotionmaximummbit_go">

    VmotionMaximumMbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
    VmotionReservationMbit int
    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
    VmotionShareCount int
    The amount of shares to allocate to the vmotion traffic class for a custom share level.
    VmotionShareLevel string
    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
    VsanMaximumMbit int
    The maximum allowed usage for the vsan traffic class, in Mbits/sec.
    VsanReservationMbit int
    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
    VsanShareCount int
    The amount of shares to allocate to the vsan traffic class for a custom share level.
    VsanShareLevel string
    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    datacenterId String
    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.
    activeUplinks List<String>
    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    allowForgedTransmits Boolean
    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
    allowMacChanges Boolean
    Controls whether or not the Media Access Control (MAC) address can be changed.
    allowPromiscuous Boolean
    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
    backupnfcMaximumMbit Integer
    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
    backupnfcReservationMbit Integer
    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
    backupnfcShareCount Integer
    The amount of shares to allocate to the backupNfc traffic class for a custom share level.
    backupnfcShareLevel String
    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
    blockAllPorts Boolean
    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
    checkBeacon Boolean

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

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

    contactDetail String
    The detailed contact information for the person who is responsible for the VDS.
    contactName String
    The name of the person who is responsible for the VDS.
    customAttributes Map<String,String>

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

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

    description String
    A detailed description for the VDS.
    directpathGen2Allowed Boolean
    Allow VMDirectPath Gen2 for the ports for which this policy applies to.
    egressShapingAverageBandwidth Integer
    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
    egressShapingBurstSize Integer
    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
    egressShapingEnabled Boolean
    true if the traffic shaper is enabled on the port for egress traffic.
    egressShapingPeakBandwidth Integer
    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
    failback Boolean
    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.
    faulttoleranceMaximumMbit Integer
    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceReservationMbit Integer
    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceShareCount Integer
    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
    faulttoleranceShareLevel String
    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
    folder String
    The folder in which to create the VDS. Forces a new resource if changed.
    hbrMaximumMbit Integer
    The maximum allowed usage for the hbr traffic class, in Mbits/sec.
    hbrReservationMbit Integer
    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
    hbrShareCount Integer
    The amount of shares to allocate to the hbr traffic class for a custom share level.
    hbrShareLevel String
    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
    hosts List<DistributedVirtualSwitchHost>
    Use the host block to declare a host specification. The options are:
    ignoreOtherPvlanMappings Boolean
    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
    ingressShapingAverageBandwidth Integer
    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
    ingressShapingBurstSize Integer
    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
    ingressShapingEnabled Boolean
    true if the traffic shaper is enabled on the port for ingress traffic.
    ingressShapingPeakBandwidth Integer
    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
    ipv4Address String
    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.
    iscsiMaximumMbit Integer
    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
    iscsiReservationMbit Integer
    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
    iscsiShareCount Integer
    The amount of shares to allocate to the iSCSI traffic class for a custom share level.
    iscsiShareLevel String
    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
    lacpApiVersion String
    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.
    lacpEnabled Boolean
    Enables LACP for the ports that this policy applies to.
    lacpMode String
    The LACP mode. Can be one of active or passive.
    linkDiscoveryOperation String
    Whether to advertise or listen for link discovery traffic.
    linkDiscoveryProtocol String
    The discovery protocol type. Valid types are cdp and lldp.
    managementMaximumMbit Integer
    The maximum allowed usage for the management traffic class, in Mbits/sec.
    managementReservationMbit Integer
    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
    managementShareCount Integer
    The amount of shares to allocate to the management traffic class for a custom share level.
    managementShareLevel String
    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
    maxMtu Integer
    The maximum transmission unit (MTU) for the VDS.
    multicastFilteringMode String
    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.
    name String
    The name of the VDS.
    netflowActiveFlowTimeout Integer
    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.
    netflowCollectorIpAddress String
    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.
    netflowCollectorPort Integer
    Port for the Netflow collector. This must be set before Netflow can be enabled.
    netflowEnabled Boolean
    Enables Netflow on all ports that this policy applies to.
    netflowIdleFlowTimeout Integer
    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.
    netflowInternalFlowsOnly Boolean
    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.
    netflowObservationDomainId Integer
    The observation domain ID for the Netflow collector.
    netflowSamplingRate Integer
    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%! (MISSING)
    networkResourceControlEnabled Boolean
    Set to true to enable network I/O control. Default: false.
    networkResourceControlVersion String
    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.
    nfsMaximumMbit Integer
    The maximum allowed usage for the nfs traffic class, in Mbits/sec.
    nfsReservationMbit Integer
    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
    nfsShareCount Integer
    The amount of shares to allocate to the nfs traffic class for a custom share level.
    nfsShareLevel String
    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
    notifySwitches Boolean
    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.
    portPrivateSecondaryVlanId Integer
    Used to define a secondary VLAN ID when using private VLANs.
    pvlanMappings List<DistributedVirtualSwitchPvlanMapping>
    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:
    standbyUplinks List<String>
    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    tags List<String>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy String
    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
    txUplink Boolean
    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.
    uplinks List<String>
    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.
    vdpMaximumMbit Integer
    The maximum allowed usage for the vdp traffic class, in Mbits/sec.
    vdpReservationMbit Integer
    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
    vdpShareCount Integer
    The amount of shares to allocate to the vdp traffic class for a custom share level.
    vdpShareLevel String
    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
    version String
    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.
    virtualmachineMaximumMbit Integer
    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineReservationMbit Integer
    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineShareCount Integer
    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
    virtualmachineShareLevel String
    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
    vlanId Integer
    The VLAN ID for single VLAN mode. 0 denotes no VLAN.
    vlanRanges List<DistributedVirtualSwitchVlanRange>
    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

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

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

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

    vmotionMaximumMbit Integer

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
    vmotionReservationMbit Integer
    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
    vmotionShareCount Integer
    The amount of shares to allocate to the vmotion traffic class for a custom share level.
    vmotionShareLevel String
    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
    vsanMaximumMbit Integer
    The maximum allowed usage for the vsan traffic class, in Mbits/sec.
    vsanReservationMbit Integer
    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
    vsanShareCount Integer
    The amount of shares to allocate to the vsan traffic class for a custom share level.
    vsanShareLevel String
    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    datacenterId string
    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.
    activeUplinks string[]
    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    allowForgedTransmits boolean
    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
    allowMacChanges boolean
    Controls whether or not the Media Access Control (MAC) address can be changed.
    allowPromiscuous boolean
    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
    backupnfcMaximumMbit number
    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
    backupnfcReservationMbit number
    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
    backupnfcShareCount number
    The amount of shares to allocate to the backupNfc traffic class for a custom share level.
    backupnfcShareLevel string
    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
    blockAllPorts boolean
    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
    checkBeacon boolean

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

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

    contactDetail string
    The detailed contact information for the person who is responsible for the VDS.
    contactName string
    The name of the person who is responsible for the VDS.
    customAttributes {[key: string]: string}

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

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

    description string
    A detailed description for the VDS.
    directpathGen2Allowed boolean
    Allow VMDirectPath Gen2 for the ports for which this policy applies to.
    egressShapingAverageBandwidth number
    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
    egressShapingBurstSize number
    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
    egressShapingEnabled boolean
    true if the traffic shaper is enabled on the port for egress traffic.
    egressShapingPeakBandwidth number
    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
    failback boolean
    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.
    faulttoleranceMaximumMbit number
    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceReservationMbit number
    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceShareCount number
    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
    faulttoleranceShareLevel string
    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
    folder string
    The folder in which to create the VDS. Forces a new resource if changed.
    hbrMaximumMbit number
    The maximum allowed usage for the hbr traffic class, in Mbits/sec.
    hbrReservationMbit number
    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
    hbrShareCount number
    The amount of shares to allocate to the hbr traffic class for a custom share level.
    hbrShareLevel string
    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
    hosts DistributedVirtualSwitchHost[]
    Use the host block to declare a host specification. The options are:
    ignoreOtherPvlanMappings boolean
    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
    ingressShapingAverageBandwidth number
    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
    ingressShapingBurstSize number
    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
    ingressShapingEnabled boolean
    true if the traffic shaper is enabled on the port for ingress traffic.
    ingressShapingPeakBandwidth number
    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
    ipv4Address string
    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.
    iscsiMaximumMbit number
    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
    iscsiReservationMbit number
    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
    iscsiShareCount number
    The amount of shares to allocate to the iSCSI traffic class for a custom share level.
    iscsiShareLevel string
    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
    lacpApiVersion string
    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.
    lacpEnabled boolean
    Enables LACP for the ports that this policy applies to.
    lacpMode string
    The LACP mode. Can be one of active or passive.
    linkDiscoveryOperation string
    Whether to advertise or listen for link discovery traffic.
    linkDiscoveryProtocol string
    The discovery protocol type. Valid types are cdp and lldp.
    managementMaximumMbit number
    The maximum allowed usage for the management traffic class, in Mbits/sec.
    managementReservationMbit number
    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
    managementShareCount number
    The amount of shares to allocate to the management traffic class for a custom share level.
    managementShareLevel string
    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
    maxMtu number
    The maximum transmission unit (MTU) for the VDS.
    multicastFilteringMode string
    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.
    name string
    The name of the VDS.
    netflowActiveFlowTimeout number
    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.
    netflowCollectorIpAddress string
    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.
    netflowCollectorPort number
    Port for the Netflow collector. This must be set before Netflow can be enabled.
    netflowEnabled boolean
    Enables Netflow on all ports that this policy applies to.
    netflowIdleFlowTimeout number
    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.
    netflowInternalFlowsOnly boolean
    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.
    netflowObservationDomainId number
    The observation domain ID for the Netflow collector.
    netflowSamplingRate number
    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%! (MISSING)
    networkResourceControlEnabled boolean
    Set to true to enable network I/O control. Default: false.
    networkResourceControlVersion string
    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.
    nfsMaximumMbit number
    The maximum allowed usage for the nfs traffic class, in Mbits/sec.
    nfsReservationMbit number
    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
    nfsShareCount number
    The amount of shares to allocate to the nfs traffic class for a custom share level.
    nfsShareLevel string
    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
    notifySwitches boolean
    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.
    portPrivateSecondaryVlanId number
    Used to define a secondary VLAN ID when using private VLANs.
    pvlanMappings DistributedVirtualSwitchPvlanMapping[]
    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:
    standbyUplinks string[]
    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    tags string[]

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy string
    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
    txUplink boolean
    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.
    uplinks string[]
    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.
    vdpMaximumMbit number
    The maximum allowed usage for the vdp traffic class, in Mbits/sec.
    vdpReservationMbit number
    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
    vdpShareCount number
    The amount of shares to allocate to the vdp traffic class for a custom share level.
    vdpShareLevel string
    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
    version string
    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.
    virtualmachineMaximumMbit number
    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineReservationMbit number
    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineShareCount number
    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
    virtualmachineShareLevel string
    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
    vlanId number
    The VLAN ID for single VLAN mode. 0 denotes no VLAN.
    vlanRanges DistributedVirtualSwitchVlanRange[]
    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

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

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

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

    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%! (MISSING)
    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
    
    title="Optional"> <span id="vmotion_maximum_mbit_python">

    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%! (MISSING)
    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
    
    title="Optional"> <span id="vmotionmaximummbit_yaml">

    vmotionMaximumMbit Number

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
    vmotionReservationMbit Number
    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
    vmotionShareCount Number
    The amount of shares to allocate to the vmotion traffic class for a custom share level.
    vmotionShareLevel String
    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
    vsanMaximumMbit Number
    The maximum allowed usage for the vsan traffic class, in Mbits/sec.
    vsanReservationMbit Number
    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
    vsanShareCount Number
    The amount of shares to allocate to the vsan traffic class for a custom share level.
    vsanShareLevel String
    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    Outputs

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

    ConfigVersion string
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    Id string
    The provider-assigned unique ID for this managed resource.
    ConfigVersion string
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    Id string
    The provider-assigned unique ID for this managed resource.
    configVersion String
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    id String
    The provider-assigned unique ID for this managed resource.
    configVersion string
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    id string
    The provider-assigned unique ID for this managed resource.
    config_version str
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    id str
    The provider-assigned unique ID for this managed resource.
    configVersion String
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing DistributedVirtualSwitch Resource

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

    public static get(name: string, id: Input<ID>, state?: DistributedVirtualSwitchState, opts?: CustomResourceOptions): DistributedVirtualSwitch
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_uplinks: Optional[Sequence[str]] = None,
            allow_forged_transmits: Optional[bool] = None,
            allow_mac_changes: Optional[bool] = None,
            allow_promiscuous: Optional[bool] = None,
            backupnfc_maximum_mbit: Optional[int] = None,
            backupnfc_reservation_mbit: Optional[int] = None,
            backupnfc_share_count: Optional[int] = None,
            backupnfc_share_level: Optional[str] = None,
            block_all_ports: Optional[bool] = None,
            check_beacon: Optional[bool] = None,
            config_version: Optional[str] = None,
            contact_detail: Optional[str] = None,
            contact_name: Optional[str] = None,
            custom_attributes: Optional[Mapping[str, str]] = None,
            datacenter_id: Optional[str] = None,
            description: Optional[str] = None,
            directpath_gen2_allowed: Optional[bool] = None,
            egress_shaping_average_bandwidth: Optional[int] = None,
            egress_shaping_burst_size: Optional[int] = None,
            egress_shaping_enabled: Optional[bool] = None,
            egress_shaping_peak_bandwidth: Optional[int] = None,
            failback: Optional[bool] = None,
            faulttolerance_maximum_mbit: Optional[int] = None,
            faulttolerance_reservation_mbit: Optional[int] = None,
            faulttolerance_share_count: Optional[int] = None,
            faulttolerance_share_level: Optional[str] = None,
            folder: Optional[str] = None,
            hbr_maximum_mbit: Optional[int] = None,
            hbr_reservation_mbit: Optional[int] = None,
            hbr_share_count: Optional[int] = None,
            hbr_share_level: Optional[str] = None,
            hosts: Optional[Sequence[DistributedVirtualSwitchHostArgs]] = None,
            ignore_other_pvlan_mappings: Optional[bool] = None,
            ingress_shaping_average_bandwidth: Optional[int] = None,
            ingress_shaping_burst_size: Optional[int] = None,
            ingress_shaping_enabled: Optional[bool] = None,
            ingress_shaping_peak_bandwidth: Optional[int] = None,
            ipv4_address: Optional[str] = None,
            iscsi_maximum_mbit: Optional[int] = None,
            iscsi_reservation_mbit: Optional[int] = None,
            iscsi_share_count: Optional[int] = None,
            iscsi_share_level: Optional[str] = None,
            lacp_api_version: Optional[str] = None,
            lacp_enabled: Optional[bool] = None,
            lacp_mode: Optional[str] = None,
            link_discovery_operation: Optional[str] = None,
            link_discovery_protocol: Optional[str] = None,
            management_maximum_mbit: Optional[int] = None,
            management_reservation_mbit: Optional[int] = None,
            management_share_count: Optional[int] = None,
            management_share_level: Optional[str] = None,
            max_mtu: Optional[int] = None,
            multicast_filtering_mode: Optional[str] = None,
            name: Optional[str] = None,
            netflow_active_flow_timeout: Optional[int] = None,
            netflow_collector_ip_address: Optional[str] = None,
            netflow_collector_port: Optional[int] = None,
            netflow_enabled: Optional[bool] = None,
            netflow_idle_flow_timeout: Optional[int] = None,
            netflow_internal_flows_only: Optional[bool] = None,
            netflow_observation_domain_id: Optional[int] = None,
            netflow_sampling_rate: Optional[int] = None,
            network_resource_control_enabled: Optional[bool] = None,
            network_resource_control_version: Optional[str] = None,
            nfs_maximum_mbit: Optional[int] = None,
            nfs_reservation_mbit: Optional[int] = None,
            nfs_share_count: Optional[int] = None,
            nfs_share_level: Optional[str] = None,
            notify_switches: Optional[bool] = None,
            port_private_secondary_vlan_id: Optional[int] = None,
            pvlan_mappings: Optional[Sequence[DistributedVirtualSwitchPvlanMappingArgs]] = None,
            standby_uplinks: Optional[Sequence[str]] = None,
            tags: Optional[Sequence[str]] = None,
            teaming_policy: Optional[str] = None,
            tx_uplink: Optional[bool] = None,
            uplinks: Optional[Sequence[str]] = None,
            vdp_maximum_mbit: Optional[int] = None,
            vdp_reservation_mbit: Optional[int] = None,
            vdp_share_count: Optional[int] = None,
            vdp_share_level: Optional[str] = None,
            version: Optional[str] = None,
            virtualmachine_maximum_mbit: Optional[int] = None,
            virtualmachine_reservation_mbit: Optional[int] = None,
            virtualmachine_share_count: Optional[int] = None,
            virtualmachine_share_level: Optional[str] = None,
            vlan_id: Optional[int] = None,
            vlan_ranges: Optional[Sequence[DistributedVirtualSwitchVlanRangeArgs]] = None,
            vmotion_maximum_mbit: Optional[int] = None,
            vmotion_reservation_mbit: Optional[int] = None,
            vmotion_share_count: Optional[int] = None,
            vmotion_share_level: Optional[str] = None,
            vsan_maximum_mbit: Optional[int] = None,
            vsan_reservation_mbit: Optional[int] = None,
            vsan_share_count: Optional[int] = None,
            vsan_share_level: Optional[str] = None) -> DistributedVirtualSwitch
    func GetDistributedVirtualSwitch(ctx *Context, name string, id IDInput, state *DistributedVirtualSwitchState, opts ...ResourceOption) (*DistributedVirtualSwitch, error)
    public static DistributedVirtualSwitch Get(string name, Input<string> id, DistributedVirtualSwitchState? state, CustomResourceOptions? opts = null)
    public static DistributedVirtualSwitch get(String name, Output<String> id, DistributedVirtualSwitchState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ActiveUplinks List<string>
    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    AllowForgedTransmits bool
    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
    AllowMacChanges bool
    Controls whether or not the Media Access Control (MAC) address can be changed.
    AllowPromiscuous bool
    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
    BackupnfcMaximumMbit int
    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
    BackupnfcReservationMbit int
    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
    BackupnfcShareCount int
    The amount of shares to allocate to the backupNfc traffic class for a custom share level.
    BackupnfcShareLevel string
    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
    BlockAllPorts bool
    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
    CheckBeacon bool

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

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

    ConfigVersion string
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    ContactDetail string
    The detailed contact information for the person who is responsible for the VDS.
    ContactName string
    The name of the person who is responsible for the VDS.
    CustomAttributes Dictionary<string, string>

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

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

    DatacenterId string
    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.
    Description string
    A detailed description for the VDS.
    DirectpathGen2Allowed bool
    Allow VMDirectPath Gen2 for the ports for which this policy applies to.
    EgressShapingAverageBandwidth int
    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
    EgressShapingBurstSize int
    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
    EgressShapingEnabled bool
    true if the traffic shaper is enabled on the port for egress traffic.
    EgressShapingPeakBandwidth int
    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
    Failback bool
    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.
    FaulttoleranceMaximumMbit int
    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
    FaulttoleranceReservationMbit int
    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
    FaulttoleranceShareCount int
    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
    FaulttoleranceShareLevel string
    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
    Folder string
    The folder in which to create the VDS. Forces a new resource if changed.
    HbrMaximumMbit int
    The maximum allowed usage for the hbr traffic class, in Mbits/sec.
    HbrReservationMbit int
    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
    HbrShareCount int
    The amount of shares to allocate to the hbr traffic class for a custom share level.
    HbrShareLevel string
    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
    Hosts List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchHost>
    Use the host block to declare a host specification. The options are:
    IgnoreOtherPvlanMappings bool
    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
    IngressShapingAverageBandwidth int
    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
    IngressShapingBurstSize int
    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
    IngressShapingEnabled bool
    true if the traffic shaper is enabled on the port for ingress traffic.
    IngressShapingPeakBandwidth int
    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
    Ipv4Address string
    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.
    IscsiMaximumMbit int
    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
    IscsiReservationMbit int
    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
    IscsiShareCount int
    The amount of shares to allocate to the iSCSI traffic class for a custom share level.
    IscsiShareLevel string
    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
    LacpApiVersion string
    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.
    LacpEnabled bool
    Enables LACP for the ports that this policy applies to.
    LacpMode string
    The LACP mode. Can be one of active or passive.
    LinkDiscoveryOperation string
    Whether to advertise or listen for link discovery traffic.
    LinkDiscoveryProtocol string
    The discovery protocol type. Valid types are cdp and lldp.
    ManagementMaximumMbit int
    The maximum allowed usage for the management traffic class, in Mbits/sec.
    ManagementReservationMbit int
    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
    ManagementShareCount int
    The amount of shares to allocate to the management traffic class for a custom share level.
    ManagementShareLevel string
    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
    MaxMtu int
    The maximum transmission unit (MTU) for the VDS.
    MulticastFilteringMode string
    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.
    Name string
    The name of the VDS.
    NetflowActiveFlowTimeout int
    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.
    NetflowCollectorIpAddress string
    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.
    NetflowCollectorPort int
    Port for the Netflow collector. This must be set before Netflow can be enabled.
    NetflowEnabled bool
    Enables Netflow on all ports that this policy applies to.
    NetflowIdleFlowTimeout int
    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.
    NetflowInternalFlowsOnly bool
    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.
    NetflowObservationDomainId int
    The observation domain ID for the Netflow collector.
    NetflowSamplingRate int
    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%! (MISSING)
    NetworkResourceControlEnabled bool
    Set to true to enable network I/O control. Default: false.
    NetworkResourceControlVersion string
    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.
    NfsMaximumMbit int
    The maximum allowed usage for the nfs traffic class, in Mbits/sec.
    NfsReservationMbit int
    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
    NfsShareCount int
    The amount of shares to allocate to the nfs traffic class for a custom share level.
    NfsShareLevel string
    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
    NotifySwitches bool
    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.
    PortPrivateSecondaryVlanId int
    Used to define a secondary VLAN ID when using private VLANs.
    PvlanMappings List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchPvlanMapping>
    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:
    StandbyUplinks List<string>
    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    Tags List<string>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    TeamingPolicy string
    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
    TxUplink bool
    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.
    Uplinks List<string>
    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.
    VdpMaximumMbit int
    The maximum allowed usage for the vdp traffic class, in Mbits/sec.
    VdpReservationMbit int
    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
    VdpShareCount int
    The amount of shares to allocate to the vdp traffic class for a custom share level.
    VdpShareLevel string
    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
    Version string
    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.
    VirtualmachineMaximumMbit int
    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
    VirtualmachineReservationMbit int
    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
    VirtualmachineShareCount int
    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
    VirtualmachineShareLevel string
    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
    VlanId int
    The VLAN ID for single VLAN mode. 0 denotes no VLAN.
    VlanRanges List<Pulumi.VSphere.Inputs.DistributedVirtualSwitchVlanRange>
    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

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

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

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

    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%! (MISSING)
    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
    
    title="Optional"> <span id="state_vmotionmaximummbit_go">

    VmotionMaximumMbit int

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
    VmotionReservationMbit int
    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
    VmotionShareCount int
    The amount of shares to allocate to the vmotion traffic class for a custom share level.
    VmotionShareLevel string
    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
    VsanMaximumMbit int
    The maximum allowed usage for the vsan traffic class, in Mbits/sec.
    VsanReservationMbit int
    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
    VsanShareCount int
    The amount of shares to allocate to the vsan traffic class for a custom share level.
    VsanShareLevel string
    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    activeUplinks List<String>
    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    allowForgedTransmits Boolean
    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
    allowMacChanges Boolean
    Controls whether or not the Media Access Control (MAC) address can be changed.
    allowPromiscuous Boolean
    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
    backupnfcMaximumMbit Integer
    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
    backupnfcReservationMbit Integer
    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
    backupnfcShareCount Integer
    The amount of shares to allocate to the backupNfc traffic class for a custom share level.
    backupnfcShareLevel String
    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
    blockAllPorts Boolean
    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
    checkBeacon Boolean

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

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

    configVersion String
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    contactDetail String
    The detailed contact information for the person who is responsible for the VDS.
    contactName String
    The name of the person who is responsible for the VDS.
    customAttributes Map<String,String>

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

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

    datacenterId String
    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.
    description String
    A detailed description for the VDS.
    directpathGen2Allowed Boolean
    Allow VMDirectPath Gen2 for the ports for which this policy applies to.
    egressShapingAverageBandwidth Integer
    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
    egressShapingBurstSize Integer
    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
    egressShapingEnabled Boolean
    true if the traffic shaper is enabled on the port for egress traffic.
    egressShapingPeakBandwidth Integer
    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
    failback Boolean
    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.
    faulttoleranceMaximumMbit Integer
    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceReservationMbit Integer
    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceShareCount Integer
    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
    faulttoleranceShareLevel String
    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
    folder String
    The folder in which to create the VDS. Forces a new resource if changed.
    hbrMaximumMbit Integer
    The maximum allowed usage for the hbr traffic class, in Mbits/sec.
    hbrReservationMbit Integer
    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
    hbrShareCount Integer
    The amount of shares to allocate to the hbr traffic class for a custom share level.
    hbrShareLevel String
    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
    hosts List<DistributedVirtualSwitchHost>
    Use the host block to declare a host specification. The options are:
    ignoreOtherPvlanMappings Boolean
    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
    ingressShapingAverageBandwidth Integer
    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
    ingressShapingBurstSize Integer
    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
    ingressShapingEnabled Boolean
    true if the traffic shaper is enabled on the port for ingress traffic.
    ingressShapingPeakBandwidth Integer
    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
    ipv4Address String
    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.
    iscsiMaximumMbit Integer
    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
    iscsiReservationMbit Integer
    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
    iscsiShareCount Integer
    The amount of shares to allocate to the iSCSI traffic class for a custom share level.
    iscsiShareLevel String
    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
    lacpApiVersion String
    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.
    lacpEnabled Boolean
    Enables LACP for the ports that this policy applies to.
    lacpMode String
    The LACP mode. Can be one of active or passive.
    linkDiscoveryOperation String
    Whether to advertise or listen for link discovery traffic.
    linkDiscoveryProtocol String
    The discovery protocol type. Valid types are cdp and lldp.
    managementMaximumMbit Integer
    The maximum allowed usage for the management traffic class, in Mbits/sec.
    managementReservationMbit Integer
    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
    managementShareCount Integer
    The amount of shares to allocate to the management traffic class for a custom share level.
    managementShareLevel String
    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
    maxMtu Integer
    The maximum transmission unit (MTU) for the VDS.
    multicastFilteringMode String
    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.
    name String
    The name of the VDS.
    netflowActiveFlowTimeout Integer
    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.
    netflowCollectorIpAddress String
    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.
    netflowCollectorPort Integer
    Port for the Netflow collector. This must be set before Netflow can be enabled.
    netflowEnabled Boolean
    Enables Netflow on all ports that this policy applies to.
    netflowIdleFlowTimeout Integer
    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.
    netflowInternalFlowsOnly Boolean
    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.
    netflowObservationDomainId Integer
    The observation domain ID for the Netflow collector.
    netflowSamplingRate Integer
    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%! (MISSING)
    networkResourceControlEnabled Boolean
    Set to true to enable network I/O control. Default: false.
    networkResourceControlVersion String
    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.
    nfsMaximumMbit Integer
    The maximum allowed usage for the nfs traffic class, in Mbits/sec.
    nfsReservationMbit Integer
    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
    nfsShareCount Integer
    The amount of shares to allocate to the nfs traffic class for a custom share level.
    nfsShareLevel String
    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
    notifySwitches Boolean
    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.
    portPrivateSecondaryVlanId Integer
    Used to define a secondary VLAN ID when using private VLANs.
    pvlanMappings List<DistributedVirtualSwitchPvlanMapping>
    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:
    standbyUplinks List<String>
    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    tags List<String>

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy String
    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
    txUplink Boolean
    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.
    uplinks List<String>
    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.
    vdpMaximumMbit Integer
    The maximum allowed usage for the vdp traffic class, in Mbits/sec.
    vdpReservationMbit Integer
    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
    vdpShareCount Integer
    The amount of shares to allocate to the vdp traffic class for a custom share level.
    vdpShareLevel String
    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
    version String
    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.
    virtualmachineMaximumMbit Integer
    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineReservationMbit Integer
    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineShareCount Integer
    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
    virtualmachineShareLevel String
    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
    vlanId Integer
    The VLAN ID for single VLAN mode. 0 denotes no VLAN.
    vlanRanges List<DistributedVirtualSwitchVlanRange>
    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

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

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

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

    vmotionMaximumMbit Integer

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
    vmotionReservationMbit Integer
    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
    vmotionShareCount Integer
    The amount of shares to allocate to the vmotion traffic class for a custom share level.
    vmotionShareLevel String
    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
    vsanMaximumMbit Integer
    The maximum allowed usage for the vsan traffic class, in Mbits/sec.
    vsanReservationMbit Integer
    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
    vsanShareCount Integer
    The amount of shares to allocate to the vsan traffic class for a custom share level.
    vsanShareLevel String
    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    activeUplinks string[]
    A list of active uplinks to be used in load balancing. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    allowForgedTransmits boolean
    Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
    allowMacChanges boolean
    Controls whether or not the Media Access Control (MAC) address can be changed.
    allowPromiscuous boolean
    Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
    backupnfcMaximumMbit number
    The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
    backupnfcReservationMbit number
    The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
    backupnfcShareCount number
    The amount of shares to allocate to the backupNfc traffic class for a custom share level.
    backupnfcShareLevel string
    The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
    blockAllPorts boolean
    Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
    checkBeacon boolean

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

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

    configVersion string
    The current version of the VDS configuration, incremented by subsequent updates to the VDS.
    contactDetail string
    The detailed contact information for the person who is responsible for the VDS.
    contactName string
    The name of the person who is responsible for the VDS.
    customAttributes {[key: string]: string}

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

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

    datacenterId string
    The ID of the datacenter where the VDS will be created. Forces a new resource if changed.
    description string
    A detailed description for the VDS.
    directpathGen2Allowed boolean
    Allow VMDirectPath Gen2 for the ports for which this policy applies to.
    egressShapingAverageBandwidth number
    The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
    egressShapingBurstSize number
    The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
    egressShapingEnabled boolean
    true if the traffic shaper is enabled on the port for egress traffic.
    egressShapingPeakBandwidth number
    The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
    failback boolean
    If true, the teaming policy will re-activate failed uplinks higher in precedence when they come back up.
    faulttoleranceMaximumMbit number
    The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceReservationMbit number
    The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
    faulttoleranceShareCount number
    The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
    faulttoleranceShareLevel string
    The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
    folder string
    The folder in which to create the VDS. Forces a new resource if changed.
    hbrMaximumMbit number
    The maximum allowed usage for the hbr traffic class, in Mbits/sec.
    hbrReservationMbit number
    The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
    hbrShareCount number
    The amount of shares to allocate to the hbr traffic class for a custom share level.
    hbrShareLevel string
    The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
    hosts DistributedVirtualSwitchHost[]
    Use the host block to declare a host specification. The options are:
    ignoreOtherPvlanMappings boolean
    Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
    ingressShapingAverageBandwidth number
    The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
    ingressShapingBurstSize number
    The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
    ingressShapingEnabled boolean
    true if the traffic shaper is enabled on the port for ingress traffic.
    ingressShapingPeakBandwidth number
    The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
    ipv4Address string
    An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments.
    iscsiMaximumMbit number
    The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
    iscsiReservationMbit number
    The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
    iscsiShareCount number
    The amount of shares to allocate to the iSCSI traffic class for a custom share level.
    iscsiShareLevel string
    The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
    lacpApiVersion string
    The Link Aggregation Control Protocol group version to use with the VDS. Possible values are singleLag and multipleLag.
    lacpEnabled boolean
    Enables LACP for the ports that this policy applies to.
    lacpMode string
    The LACP mode. Can be one of active or passive.
    linkDiscoveryOperation string
    Whether to advertise or listen for link discovery traffic.
    linkDiscoveryProtocol string
    The discovery protocol type. Valid types are cdp and lldp.
    managementMaximumMbit number
    The maximum allowed usage for the management traffic class, in Mbits/sec.
    managementReservationMbit number
    The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
    managementShareCount number
    The amount of shares to allocate to the management traffic class for a custom share level.
    managementShareLevel string
    The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
    maxMtu number
    The maximum transmission unit (MTU) for the VDS.
    multicastFilteringMode string
    The multicast filtering mode to use with the VDS. Can be one of legacyFiltering or snooping.
    name string
    The name of the VDS.
    netflowActiveFlowTimeout number
    The number of seconds after which active flows are forced to be exported to the collector. Allowed range is 60 to 3600. Default: 60.
    netflowCollectorIpAddress string
    IP address for the Netflow collector, using IPv4 or IPv6. IPv6 is supported in VDS version 6.0 or later. Must be set before Netflow can be enabled.
    netflowCollectorPort number
    Port for the Netflow collector. This must be set before Netflow can be enabled.
    netflowEnabled boolean
    Enables Netflow on all ports that this policy applies to.
    netflowIdleFlowTimeout number
    The number of seconds after which idle flows are forced to be exported to the collector. Allowed range is 10 to 600. Default: 15.
    netflowInternalFlowsOnly boolean
    Whether to limit analysis to traffic that has both source and destination served by the same host. Default: false.
    netflowObservationDomainId number
    The observation domain ID for the Netflow collector.
    netflowSamplingRate number
    The ratio of total number of packets to the number of packets analyzed. The default is 0, which indicates that the VDS should analyze all packets. The maximum value is 1000, which indicates an analysis rate of 0.001%! (MISSING)
    networkResourceControlEnabled boolean
    Set to true to enable network I/O control. Default: false.
    networkResourceControlVersion string
    The version of network I/O control to use. Can be one of version2 or version3. Default: version2.
    nfsMaximumMbit number
    The maximum allowed usage for the nfs traffic class, in Mbits/sec.
    nfsReservationMbit number
    The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
    nfsShareCount number
    The amount of shares to allocate to the nfs traffic class for a custom share level.
    nfsShareLevel string
    The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
    notifySwitches boolean
    If true, the teaming policy will notify the broadcast network of an uplink failover, triggering cache updates.
    portPrivateSecondaryVlanId number
    Used to define a secondary VLAN ID when using private VLANs.
    pvlanMappings DistributedVirtualSwitchPvlanMapping[]
    Use the pvlan_mapping block to declare a private VLAN mapping. The options are:
    standbyUplinks string[]
    A list of standby uplinks to be used in failover. These uplinks need to match the definitions in the uplinks VDS argument. See here for more details.
    tags string[]

    The IDs of any tags to attach to this resource.

    NOTE: Tagging support requires vCenter Server 6.0 or higher.

    teamingPolicy string
    The uplink teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
    txUplink boolean
    Forward all traffic transmitted by ports for which this policy applies to its VDS uplinks.
    uplinks string[]
    A list of strings that uniquely identifies the names of the uplinks on the VDS across hosts. The number of items in this list controls the number of uplinks that exist on the VDS, in addition to the names. See here for an example on how to use this option.
    vdpMaximumMbit number
    The maximum allowed usage for the vdp traffic class, in Mbits/sec.
    vdpReservationMbit number
    The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
    vdpShareCount number
    The amount of shares to allocate to the vdp traffic class for a custom share level.
    vdpShareLevel string
    The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
    version string
    The version of the VDS. BY default, a VDS is created at the latest version supported by the vSphere version if not specified. A VDS can be upgraded to a newer version, but can not be downgraded.
    virtualmachineMaximumMbit number
    The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineReservationMbit number
    The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
    virtualmachineShareCount number
    The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
    virtualmachineShareLevel string
    The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
    vlanId number
    The VLAN ID for single VLAN mode. 0 denotes no VLAN.
    vlanRanges DistributedVirtualSwitchVlanRange[]
    Used to denote VLAN trunking. Use the min_vlan and max_vlan sub-arguments to define the tagged VLAN range. Multiple vlan_range definitions are allowed, but they must not overlap. Example below:

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

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

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

    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%! (MISSING)
    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
    
    title="Optional"> <span id="state_vmotion_maximum_mbit_python">

    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%! (MISSING)
    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
    
    title="Optional"> <span id="state_vmotionmaximummbit_yaml">

    vmotionMaximumMbit Number

    The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
    vmotionReservationMbit Number
    The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
    vmotionShareCount Number
    The amount of shares to allocate to the vmotion traffic class for a custom share level.
    vmotionShareLevel String
    The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
    vsanMaximumMbit Number
    The maximum allowed usage for the vsan traffic class, in Mbits/sec.
    vsanReservationMbit Number
    The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
    vsanShareCount Number
    The amount of shares to allocate to the vsan traffic class for a custom share level.
    vsanShareLevel String
    The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.

    Supporting Types

    DistributedVirtualSwitchHost, DistributedVirtualSwitchHostArgs

    HostSystemId string
    The host system ID of the host to add to the VDS.
    Devices List<string>
    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.
    HostSystemId string
    The host system ID of the host to add to the VDS.
    Devices []string
    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.
    hostSystemId String
    The host system ID of the host to add to the VDS.
    devices List<String>
    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.
    hostSystemId string
    The host system ID of the host to add to the VDS.
    devices string[]
    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.
    host_system_id str
    The host system ID of the host to add to the VDS.
    devices Sequence[str]
    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.
    hostSystemId String
    The host system ID of the host to add to the VDS.
    devices List<String>
    The list of NIC devices to map to uplinks on the VDS, added in order they are specified.

    DistributedVirtualSwitchPvlanMapping, DistributedVirtualSwitchPvlanMappingArgs

    PrimaryVlanId int
    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    PvlanType string
    The private VLAN type. Valid values are promiscuous, community and isolated.
    SecondaryVlanId int
    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    PrimaryVlanId int
    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    PvlanType string
    The private VLAN type. Valid values are promiscuous, community and isolated.
    SecondaryVlanId int
    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    primaryVlanId Integer
    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    pvlanType String
    The private VLAN type. Valid values are promiscuous, community and isolated.
    secondaryVlanId Integer
    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    primaryVlanId number
    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    pvlanType string
    The private VLAN type. Valid values are promiscuous, community and isolated.
    secondaryVlanId number
    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    primary_vlan_id int
    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    pvlan_type str
    The private VLAN type. Valid values are promiscuous, community and isolated.
    secondary_vlan_id int
    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    primaryVlanId Number
    The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
    pvlanType String
    The private VLAN type. Valid values are promiscuous, community and isolated.
    secondaryVlanId Number
    The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.

    DistributedVirtualSwitchVlanRange, DistributedVirtualSwitchVlanRangeArgs

    MaxVlan int
    The minimum VLAN to use in the range.
    MinVlan int
    The minimum VLAN to use in the range.
    MaxVlan int
    The minimum VLAN to use in the range.
    MinVlan int
    The minimum VLAN to use in the range.
    maxVlan Integer
    The minimum VLAN to use in the range.
    minVlan Integer
    The minimum VLAN to use in the range.
    maxVlan number
    The minimum VLAN to use in the range.
    minVlan number
    The minimum VLAN to use in the range.
    max_vlan int
    The minimum VLAN to use in the range.
    min_vlan int
    The minimum VLAN to use in the range.
    maxVlan Number
    The minimum VLAN to use in the range.
    minVlan Number
    The minimum VLAN to use in the range.

    Package Details

    Repository
    vSphere pulumi/pulumi-vsphere
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the vsphere Terraform Provider.
    vsphere logo
    vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi