@pulumi/vsphere
Version:
A Pulumi package for creating vsphere resources
816 lines (815 loc) • 31.9 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* The `vsphere.DistributedPortGroup` resource can be used to manage
* distributed port groups connected to vSphere Distributed Switches (VDS).
* A vSphere Distributed Switch can be managed by the
* `vsphere.DistributedVirtualSwitch` resource.
*
* Distributed port groups can be used as networks for virtual machines, allowing
* the virtual machines to use the networking supplied by a vSphere Distributed
* Switch, with a set of policies that apply to that individual network, if
* desired.
*
* * For an overview on vSphere networking concepts, refer to the vSphere
* [product documentation][ref-vsphere-net-concepts].
*
* * For more information on distributed port groups, refer to the vSphere
* [product documentation][ref-vsphere-dvportgroup].
*
* [ref-vsphere-net-concepts]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-networking-8-0/introduction-to-vsphere-networking.html
* [ref-vsphere-dvportgroup]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-networking-8-0/basic-networking-with-vnetwork-distributed-switches/dvport-groups.html
*
* > **NOTE:** This resource requires vCenter and is not available on
* direct ESXi host connections.
*
* ## Example Usage
*
* The configuration below builds on the example given in the
* `vsphere.DistributedVirtualSwitch` resource by
* adding the `vsphere.DistributedPortGroup` resource, attaching itself to the
* vSphere Distributed Switch and assigning VLAN ID 1000.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vsphere from "@pulumi/vsphere";
*
* const config = new pulumi.Config();
* const hosts = config.getObject<any>("hosts") || [
* "esxi-01.example.com",
* "esxi-02.example.com",
* "esxi-03.example.com",
* ];
* const networkInterfaces = config.getObject<any>("networkInterfaces") || [
* "vmnic0",
* "vmnic1",
* "vmnic2",
* "vmnic3",
* ];
* const datacenter = vsphere.getDatacenter({
* name: "dc-01",
* });
* const host = (new Array(hosts.length)).map((_, i) => i).map(__index => (vsphere.getHost({
* name: hosts[__index],
* datacenterId: _arg0_.id,
* })));
* const vds = new vsphere.DistributedVirtualSwitch("vds", {
* name: "vds-01",
* datacenterId: datacenter.then(datacenter => datacenter.id),
* uplinks: [
* "uplink1",
* "uplink2",
* "uplink3",
* "uplink4",
* ],
* activeUplinks: [
* "uplink1",
* "uplink2",
* ],
* standbyUplinks: [
* "uplink3",
* "uplink4",
* ],
* hosts: [
* {
* hostSystemId: host[0].then(host => host.id),
* devices: [networkInterfaces],
* },
* {
* hostSystemId: host[1].then(host => host.id),
* devices: [networkInterfaces],
* },
* {
* hostSystemId: host[2].then(host => host.id),
* devices: [networkInterfaces],
* },
* ],
* });
* const pg = new vsphere.DistributedPortGroup("pg", {
* name: "pg-01",
* distributedVirtualSwitchUuid: vds.id,
* vlanId: 1000,
* });
* ```
*
* ### Overriding VDS policies
*
* All of the default port policies available in the
* `vsphere.DistributedVirtualSwitch` resource can be overridden on the port
* group level by specifying new settings for them.
*
* As an example, we also take this example from the
* `vsphere.DistributedVirtualSwitch` resource where we manually specify our
* uplink count and uplink order. While the vSphere Distributed Switch has a
* default policy of using the first uplink as an active uplink and the second
* one as a standby, the overridden port group policy means that both uplinks
* will be used as active uplinks in this specific port group.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vsphere from "@pulumi/vsphere";
*
* const vds = new vsphere.DistributedVirtualSwitch("vds", {
* name: "vds-01",
* datacenterId: datacenter.id,
* uplinks: [
* "uplink1",
* "uplink2",
* ],
* activeUplinks: ["uplink1"],
* standbyUplinks: ["uplink2"],
* });
* const pg = new vsphere.DistributedPortGroup("pg", {
* name: "pg-01",
* distributedVirtualSwitchUuid: vds.id,
* vlanId: 1000,
* activeUplinks: [
* "uplink1",
* "uplink2",
* ],
* standbyUplinks: [],
* });
* ```
*
* ## Import
*
* An existing port group can be imported into this resource using
*
* the managed object id of the port group, via the following command:
*
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
*
* ```sh
* $ pulumi import vsphere:index/distributedPortGroup:DistributedPortGroup pg /dc-01/network/pg-01
* ```
*
* The above would import the port group named `pg-01` that is located in the `dc-01`
*
* datacenter.
*/
export declare class DistributedPortGroup extends pulumi.CustomResource {
/**
* Get an existing DistributedPortGroup resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DistributedPortGroupState, opts?: pulumi.CustomResourceOptions): DistributedPortGroup;
/**
* Returns true if the given object is an instance of DistributedPortGroup. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is DistributedPortGroup;
/**
* List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
*/
readonly activeUplinks: pulumi.Output<string[]>;
/**
* Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
*/
readonly allowForgedTransmits: pulumi.Output<boolean>;
/**
* Controls whether or not the Media Access Control (MAC) address can be changed.
*/
readonly allowMacChanges: pulumi.Output<boolean>;
/**
* Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
*/
readonly allowPromiscuous: pulumi.Output<boolean>;
/**
* Allows the port group to create additional ports
* past the limit specified in `numberOfPorts` if necessary. Default: `true`.
*
* > **NOTE:** Using `autoExpand` with a statically defined `numberOfPorts`
* may lead to errors when the port count grows past the amount specified. If you
* specify `numberOfPorts`, you may wish to set `autoExpand` to `false`.
*/
readonly autoExpand: pulumi.Output<boolean | undefined>;
/**
* Indicates whether to block all ports by default.
*/
readonly blockAllPorts: pulumi.Output<boolean>;
/**
* Allow the blocked setting of an individual port to override the setting in the portgroup.
*/
readonly blockOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* Enable beacon probing on the ports this policy applies to.
*/
readonly checkBeacon: pulumi.Output<boolean>;
/**
* The current version of the port group configuration,
* incremented by subsequent updates to the port group.
*/
readonly configVersion: pulumi.Output<string>;
/**
* Map of custom attribute ids to attribute
* value string to set for port group.
*
* > **NOTE:** Custom attributes are not supported on direct ESXi host
* connections and require vCenter Server.
*/
readonly customAttributes: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* An optional description for the port group.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Allow VMDirectPath Gen2 on the ports this policy applies to.
*/
readonly directpathGen2Allowed: pulumi.Output<boolean>;
/**
* The ID of the VDS to add the
* port group to. Forces a new resource if changed.
*/
readonly distributedVirtualSwitchUuid: pulumi.Output<string>;
/**
* The average egress bandwidth in bits per second if egress shaping is enabled on the port.
*/
readonly egressShapingAverageBandwidth: pulumi.Output<number>;
/**
* The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
*/
readonly egressShapingBurstSize: pulumi.Output<number>;
/**
* True if the traffic shaper is enabled for egress traffic on the port.
*/
readonly egressShapingEnabled: pulumi.Output<boolean>;
/**
* The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
*/
readonly egressShapingPeakBandwidth: pulumi.Output<number>;
/**
* If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
*/
readonly failback: pulumi.Output<boolean>;
/**
* The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
*/
readonly ingressShapingAverageBandwidth: pulumi.Output<number>;
/**
* The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
*/
readonly ingressShapingBurstSize: pulumi.Output<number>;
/**
* True if the traffic shaper is enabled for ingress traffic on the port.
*/
readonly ingressShapingEnabled: pulumi.Output<boolean>;
/**
* The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
*/
readonly ingressShapingPeakBandwidth: pulumi.Output<number>;
/**
* The generated UUID of the port group.
*/
readonly key: pulumi.Output<string>;
/**
* Whether or not to enable LACP on all uplink ports.
*/
readonly lacpEnabled: pulumi.Output<boolean>;
/**
* The uplink LACP mode to use. Can be one of active or passive.
*/
readonly lacpMode: pulumi.Output<string>;
/**
* Allow a live port to be moved in and out of the portgroup.
*/
readonly livePortMovingAllowed: pulumi.Output<boolean | undefined>;
/**
* The name of the port group.
*/
readonly name: pulumi.Output<string>;
/**
* Indicates whether to enable netflow on all ports.
*/
readonly netflowEnabled: pulumi.Output<boolean>;
/**
* Allow the enabling or disabling of Netflow on a port, contrary to the policy in the portgroup.
*/
readonly netflowOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* The key of a network resource pool
* to associate with this port group. The default is `-1`, which implies no
* association.
*/
readonly networkResourcePoolKey: pulumi.Output<string | undefined>;
/**
* Allow the network resource pool of an individual port to override the setting in the portgroup.
*/
readonly networkResourcePoolOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
*/
readonly notifySwitches: pulumi.Output<boolean>;
/**
* The number of ports available on this port
* group. Cannot be decreased below the amount of used ports on the port group.
*/
readonly numberOfPorts: pulumi.Output<number>;
/**
* Reset the setting of any ports in this portgroup back to the default setting when the port disconnects.
*/
readonly portConfigResetAtDisconnect: pulumi.Output<boolean | undefined>;
/**
* An optional formatting policy for naming of
* the ports in this port group. See the `portNameFormat` attribute listed
* [here][ext-vsphere-portname-format] for details on the format syntax.
*
* [ext-vsphere-portname-format]: https://developer.broadcom.com/xapis/virtual-infrastructure-json-api/latest/data-structures/DVPortgroupConfigInfo/
*/
readonly portNameFormat: pulumi.Output<string | undefined>;
/**
* The secondary VLAN ID for this port.
*/
readonly portPrivateSecondaryVlanId: pulumi.Output<number>;
/**
* Allow security policy settings on a port to override those on the portgroup.
*/
readonly securityPolicyOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* Allow the traffic shaping policies of an individual port to override the settings in the portgroup.
*/
readonly shapingOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
*/
readonly standbyUplinks: pulumi.Output<string[]>;
/**
* A list of tag IDs to apply to this object.
*/
readonly tags: pulumi.Output<string[] | undefined>;
/**
* The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
*/
readonly teamingPolicy: pulumi.Output<string>;
/**
* Allow any filter policies set on the individual port to override those in the portgroup.
*/
readonly trafficFilterOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
*/
readonly txUplink: pulumi.Output<boolean>;
/**
* The port group type. Can be one of `earlyBinding` (static
* binding) or `ephemeral`. Default: `earlyBinding`.
*/
readonly type: pulumi.Output<string | undefined>;
/**
* Allow the uplink teaming policies on a port to override those on the portgroup.
*/
readonly uplinkTeamingOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* The VLAN ID for single VLAN mode. 0 denotes no VLAN.
*/
readonly vlanId: pulumi.Output<number>;
/**
* Allow the VLAN configuration on a port to override those on the portgroup.
*/
readonly vlanOverrideAllowed: pulumi.Output<boolean | undefined>;
/**
* The VLAN ID for single VLAN mode. 0 denotes no VLAN.
*/
readonly vlanRanges: pulumi.Output<outputs.DistributedPortGroupVlanRange[]>;
/**
* Create a DistributedPortGroup resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DistributedPortGroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DistributedPortGroup resources.
*/
export interface DistributedPortGroupState {
/**
* List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
*/
activeUplinks?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
*/
allowForgedTransmits?: pulumi.Input<boolean>;
/**
* Controls whether or not the Media Access Control (MAC) address can be changed.
*/
allowMacChanges?: pulumi.Input<boolean>;
/**
* Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
*/
allowPromiscuous?: pulumi.Input<boolean>;
/**
* Allows the port group to create additional ports
* past the limit specified in `numberOfPorts` if necessary. Default: `true`.
*
* > **NOTE:** Using `autoExpand` with a statically defined `numberOfPorts`
* may lead to errors when the port count grows past the amount specified. If you
* specify `numberOfPorts`, you may wish to set `autoExpand` to `false`.
*/
autoExpand?: pulumi.Input<boolean>;
/**
* Indicates whether to block all ports by default.
*/
blockAllPorts?: pulumi.Input<boolean>;
/**
* Allow the blocked setting of an individual port to override the setting in the portgroup.
*/
blockOverrideAllowed?: pulumi.Input<boolean>;
/**
* Enable beacon probing on the ports this policy applies to.
*/
checkBeacon?: pulumi.Input<boolean>;
/**
* The current version of the port group configuration,
* incremented by subsequent updates to the port group.
*/
configVersion?: pulumi.Input<string>;
/**
* Map of custom attribute ids to attribute
* value string to set for port group.
*
* > **NOTE:** Custom attributes are not supported on direct ESXi host
* connections and require vCenter Server.
*/
customAttributes?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* An optional description for the port group.
*/
description?: pulumi.Input<string>;
/**
* Allow VMDirectPath Gen2 on the ports this policy applies to.
*/
directpathGen2Allowed?: pulumi.Input<boolean>;
/**
* The ID of the VDS to add the
* port group to. Forces a new resource if changed.
*/
distributedVirtualSwitchUuid?: pulumi.Input<string>;
/**
* The average egress bandwidth in bits per second if egress shaping is enabled on the port.
*/
egressShapingAverageBandwidth?: pulumi.Input<number>;
/**
* The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
*/
egressShapingBurstSize?: pulumi.Input<number>;
/**
* True if the traffic shaper is enabled for egress traffic on the port.
*/
egressShapingEnabled?: pulumi.Input<boolean>;
/**
* The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
*/
egressShapingPeakBandwidth?: pulumi.Input<number>;
/**
* If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
*/
failback?: pulumi.Input<boolean>;
/**
* The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
*/
ingressShapingAverageBandwidth?: pulumi.Input<number>;
/**
* The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
*/
ingressShapingBurstSize?: pulumi.Input<number>;
/**
* True if the traffic shaper is enabled for ingress traffic on the port.
*/
ingressShapingEnabled?: pulumi.Input<boolean>;
/**
* The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
*/
ingressShapingPeakBandwidth?: pulumi.Input<number>;
/**
* The generated UUID of the port group.
*/
key?: pulumi.Input<string>;
/**
* Whether or not to enable LACP on all uplink ports.
*/
lacpEnabled?: pulumi.Input<boolean>;
/**
* The uplink LACP mode to use. Can be one of active or passive.
*/
lacpMode?: pulumi.Input<string>;
/**
* Allow a live port to be moved in and out of the portgroup.
*/
livePortMovingAllowed?: pulumi.Input<boolean>;
/**
* The name of the port group.
*/
name?: pulumi.Input<string>;
/**
* Indicates whether to enable netflow on all ports.
*/
netflowEnabled?: pulumi.Input<boolean>;
/**
* Allow the enabling or disabling of Netflow on a port, contrary to the policy in the portgroup.
*/
netflowOverrideAllowed?: pulumi.Input<boolean>;
/**
* The key of a network resource pool
* to associate with this port group. The default is `-1`, which implies no
* association.
*/
networkResourcePoolKey?: pulumi.Input<string>;
/**
* Allow the network resource pool of an individual port to override the setting in the portgroup.
*/
networkResourcePoolOverrideAllowed?: pulumi.Input<boolean>;
/**
* If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
*/
notifySwitches?: pulumi.Input<boolean>;
/**
* The number of ports available on this port
* group. Cannot be decreased below the amount of used ports on the port group.
*/
numberOfPorts?: pulumi.Input<number>;
/**
* Reset the setting of any ports in this portgroup back to the default setting when the port disconnects.
*/
portConfigResetAtDisconnect?: pulumi.Input<boolean>;
/**
* An optional formatting policy for naming of
* the ports in this port group. See the `portNameFormat` attribute listed
* [here][ext-vsphere-portname-format] for details on the format syntax.
*
* [ext-vsphere-portname-format]: https://developer.broadcom.com/xapis/virtual-infrastructure-json-api/latest/data-structures/DVPortgroupConfigInfo/
*/
portNameFormat?: pulumi.Input<string>;
/**
* The secondary VLAN ID for this port.
*/
portPrivateSecondaryVlanId?: pulumi.Input<number>;
/**
* Allow security policy settings on a port to override those on the portgroup.
*/
securityPolicyOverrideAllowed?: pulumi.Input<boolean>;
/**
* Allow the traffic shaping policies of an individual port to override the settings in the portgroup.
*/
shapingOverrideAllowed?: pulumi.Input<boolean>;
/**
* List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
*/
standbyUplinks?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of tag IDs to apply to this object.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
*/
teamingPolicy?: pulumi.Input<string>;
/**
* Allow any filter policies set on the individual port to override those in the portgroup.
*/
trafficFilterOverrideAllowed?: pulumi.Input<boolean>;
/**
* If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
*/
txUplink?: pulumi.Input<boolean>;
/**
* The port group type. Can be one of `earlyBinding` (static
* binding) or `ephemeral`. Default: `earlyBinding`.
*/
type?: pulumi.Input<string>;
/**
* Allow the uplink teaming policies on a port to override those on the portgroup.
*/
uplinkTeamingOverrideAllowed?: pulumi.Input<boolean>;
/**
* The VLAN ID for single VLAN mode. 0 denotes no VLAN.
*/
vlanId?: pulumi.Input<number>;
/**
* Allow the VLAN configuration on a port to override those on the portgroup.
*/
vlanOverrideAllowed?: pulumi.Input<boolean>;
/**
* The VLAN ID for single VLAN mode. 0 denotes no VLAN.
*/
vlanRanges?: pulumi.Input<pulumi.Input<inputs.DistributedPortGroupVlanRange>[]>;
}
/**
* The set of arguments for constructing a DistributedPortGroup resource.
*/
export interface DistributedPortGroupArgs {
/**
* List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
*/
activeUplinks?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
*/
allowForgedTransmits?: pulumi.Input<boolean>;
/**
* Controls whether or not the Media Access Control (MAC) address can be changed.
*/
allowMacChanges?: pulumi.Input<boolean>;
/**
* Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
*/
allowPromiscuous?: pulumi.Input<boolean>;
/**
* Allows the port group to create additional ports
* past the limit specified in `numberOfPorts` if necessary. Default: `true`.
*
* > **NOTE:** Using `autoExpand` with a statically defined `numberOfPorts`
* may lead to errors when the port count grows past the amount specified. If you
* specify `numberOfPorts`, you may wish to set `autoExpand` to `false`.
*/
autoExpand?: pulumi.Input<boolean>;
/**
* Indicates whether to block all ports by default.
*/
blockAllPorts?: pulumi.Input<boolean>;
/**
* Allow the blocked setting of an individual port to override the setting in the portgroup.
*/
blockOverrideAllowed?: pulumi.Input<boolean>;
/**
* Enable beacon probing on the ports this policy applies to.
*/
checkBeacon?: pulumi.Input<boolean>;
/**
* Map of custom attribute ids to attribute
* value string to set for port group.
*
* > **NOTE:** Custom attributes are not supported on direct ESXi host
* connections and require vCenter Server.
*/
customAttributes?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* An optional description for the port group.
*/
description?: pulumi.Input<string>;
/**
* Allow VMDirectPath Gen2 on the ports this policy applies to.
*/
directpathGen2Allowed?: pulumi.Input<boolean>;
/**
* The ID of the VDS to add the
* port group to. Forces a new resource if changed.
*/
distributedVirtualSwitchUuid: pulumi.Input<string>;
/**
* The average egress bandwidth in bits per second if egress shaping is enabled on the port.
*/
egressShapingAverageBandwidth?: pulumi.Input<number>;
/**
* The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
*/
egressShapingBurstSize?: pulumi.Input<number>;
/**
* True if the traffic shaper is enabled for egress traffic on the port.
*/
egressShapingEnabled?: pulumi.Input<boolean>;
/**
* The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
*/
egressShapingPeakBandwidth?: pulumi.Input<number>;
/**
* If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
*/
failback?: pulumi.Input<boolean>;
/**
* The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
*/
ingressShapingAverageBandwidth?: pulumi.Input<number>;
/**
* The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
*/
ingressShapingBurstSize?: pulumi.Input<number>;
/**
* True if the traffic shaper is enabled for ingress traffic on the port.
*/
ingressShapingEnabled?: pulumi.Input<boolean>;
/**
* The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
*/
ingressShapingPeakBandwidth?: pulumi.Input<number>;
/**
* Whether or not to enable LACP on all uplink ports.
*/
lacpEnabled?: pulumi.Input<boolean>;
/**
* The uplink LACP mode to use. Can be one of active or passive.
*/
lacpMode?: pulumi.Input<string>;
/**
* Allow a live port to be moved in and out of the portgroup.
*/
livePortMovingAllowed?: pulumi.Input<boolean>;
/**
* The name of the port group.
*/
name?: pulumi.Input<string>;
/**
* Indicates whether to enable netflow on all ports.
*/
netflowEnabled?: pulumi.Input<boolean>;
/**
* Allow the enabling or disabling of Netflow on a port, contrary to the policy in the portgroup.
*/
netflowOverrideAllowed?: pulumi.Input<boolean>;
/**
* The key of a network resource pool
* to associate with this port group. The default is `-1`, which implies no
* association.
*/
networkResourcePoolKey?: pulumi.Input<string>;
/**
* Allow the network resource pool of an individual port to override the setting in the portgroup.
*/
networkResourcePoolOverrideAllowed?: pulumi.Input<boolean>;
/**
* If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
*/
notifySwitches?: pulumi.Input<boolean>;
/**
* The number of ports available on this port
* group. Cannot be decreased below the amount of used ports on the port group.
*/
numberOfPorts?: pulumi.Input<number>;
/**
* Reset the setting of any ports in this portgroup back to the default setting when the port disconnects.
*/
portConfigResetAtDisconnect?: pulumi.Input<boolean>;
/**
* An optional formatting policy for naming of
* the ports in this port group. See the `portNameFormat` attribute listed
* [here][ext-vsphere-portname-format] for details on the format syntax.
*
* [ext-vsphere-portname-format]: https://developer.broadcom.com/xapis/virtual-infrastructure-json-api/latest/data-structures/DVPortgroupConfigInfo/
*/
portNameFormat?: pulumi.Input<string>;
/**
* The secondary VLAN ID for this port.
*/
portPrivateSecondaryVlanId?: pulumi.Input<number>;
/**
* Allow security policy settings on a port to override those on the portgroup.
*/
securityPolicyOverrideAllowed?: pulumi.Input<boolean>;
/**
* Allow the traffic shaping policies of an individual port to override the settings in the portgroup.
*/
shapingOverrideAllowed?: pulumi.Input<boolean>;
/**
* List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
*/
standbyUplinks?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of tag IDs to apply to this object.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
*/
teamingPolicy?: pulumi.Input<string>;
/**
* Allow any filter policies set on the individual port to override those in the portgroup.
*/
trafficFilterOverrideAllowed?: pulumi.Input<boolean>;
/**
* If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
*/
txUplink?: pulumi.Input<boolean>;
/**
* The port group type. Can be one of `earlyBinding` (static
* binding) or `ephemeral`. Default: `earlyBinding`.
*/
type?: pulumi.Input<string>;
/**
* Allow the uplink teaming policies on a port to override those on the portgroup.
*/
uplinkTeamingOverrideAllowed?: pulumi.Input<boolean>;
/**
* The VLAN ID for single VLAN mode. 0 denotes no VLAN.
*/
vlanId?: pulumi.Input<number>;
/**
* Allow the VLAN configuration on a port to override those on the portgroup.
*/
vlanOverrideAllowed?: pulumi.Input<boolean>;
/**
* The VLAN ID for single VLAN mode. 0 denotes no VLAN.
*/
vlanRanges?: pulumi.Input<pulumi.Input<inputs.DistributedPortGroupVlanRange>[]>;
}