vsphere

package
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

Package vsphere exports types, functions, subpackages for provisioning vsphere resources.// A Pulumi package for creating vsphere resources

> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-vsphere) > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, > first check the [`pulumi/pulumi-vsphere` repo](https://github.com/pulumi/pulumi-vsphere/issues); however, if that doesn't turn up anything, > please consult the source [`terraform-providers/terraform-provider-vsphere` repo](https://github.com/terraform-providers/terraform-provider-vsphere/issues).

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComputeCluster

type ComputeCluster struct {
	pulumi.CustomResourceState

	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The [managed object ID][docs-about-morefs] of
	// the datacenter to create the cluster in. Forces a new resource if changed.
	DatacenterId pulumi.StringOutput `pulumi:"datacenterId"`
	// The automation level for host power
	// operations in this cluster. Can be one of `manual` or `automated`. Default:
	// `manual`.
	DpmAutomationLevel pulumi.StringPtrOutput `pulumi:"dpmAutomationLevel"`
	// Enable DPM support for DRS in this cluster.
	// Requires `drsEnabled` to be `true` in order to be effective.
	// Default: `false`.
	DpmEnabled pulumi.BoolPtrOutput `pulumi:"dpmEnabled"`
	// A value between `1` and `5` indicating the
	// threshold of load within the cluster that influences host power operations.
	// This affects both power on and power off operations - a lower setting will
	// tolerate more of a surplus/deficit than a higher setting. Default: `3`.
	DpmThreshold pulumi.IntPtrOutput `pulumi:"dpmThreshold"`
	// A key/value map that specifies advanced
	// options for DRS and DPM.
	DrsAdvancedOptions pulumi.StringMapOutput `pulumi:"drsAdvancedOptions"`
	// The default automation level for all
	// virtual machines in this cluster. Can be one of `manual`,
	// `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
	DrsAutomationLevel pulumi.StringPtrOutput `pulumi:"drsAutomationLevel"`
	// When `true`, enables DRS to use data
	// from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
	// recommendations. <sup>\*</sup>
	DrsEnablePredictiveDrs pulumi.BoolPtrOutput `pulumi:"drsEnablePredictiveDrs"`
	// Allow individual DRS overrides to be
	// set for virtual machines in the cluster. Default: `true`.
	DrsEnableVmOverrides pulumi.BoolPtrOutput `pulumi:"drsEnableVmOverrides"`
	// Enable DRS for this cluster. Default: `false`.
	DrsEnabled pulumi.BoolPtrOutput `pulumi:"drsEnabled"`
	// A value between `1` and `5` indicating
	// the threshold of imbalance tolerated between hosts. A lower setting will
	// tolerate more imbalance while a higher setting will tolerate less. Default:
	// `3`.
	DrsMigrationThreshold pulumi.IntPtrOutput `pulumi:"drsMigrationThreshold"`
	// The name of the folder to locate the cluster in.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
	// for testing and is not recommended in normal use.
	ForceEvacuateOnDestroy pulumi.BoolPtrOutput `pulumi:"forceEvacuateOnDestroy"`
	// Defines the
	// [managed object IDs][docs-about-morefs] of hosts to use as dedicated failover
	// hosts. These hosts are kept as available as possible - admission control will
	// block access to the host, and DRS will ignore the host when making
	// recommendations.
	HaAdmissionControlFailoverHostSystemIds pulumi.StringArrayOutput `pulumi:"haAdmissionControlFailoverHostSystemIds"`
	// The maximum number
	// of failed hosts that admission control tolerates when making decisions on
	// whether to permit virtual machine operations. The maximum is one less than
	// the number of hosts in the cluster. Default: `1`.
	// <sup>\*</sup>
	HaAdmissionControlHostFailureTolerance pulumi.IntPtrOutput `pulumi:"haAdmissionControlHostFailureTolerance"`
	// The percentage of
	// resource reduction that a cluster of virtual machines can tolerate in case of
	// a failover. A value of 0 produces warnings only, whereas a value of 100
	// disables the setting. Default: `100` (disabled).
	HaAdmissionControlPerformanceTolerance pulumi.IntPtrOutput `pulumi:"haAdmissionControlPerformanceTolerance"`
	// The type of admission control
	// policy to use with vSphere HA. Can be one of `resourcePercentage`,
	// `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
	HaAdmissionControlPolicy pulumi.StringPtrOutput `pulumi:"haAdmissionControlPolicy"`
	//
	// Automatically determine available resource percentages by subtracting the
	// average number of host resources represented by the
	// `haAdmissionControlHostFailureTolerance`
	// setting from the total amount of resources in the cluster. Disable to supply
	// user-defined values. Default: `true`.
	// <sup>\*</sup>
	HaAdmissionControlResourcePercentageAutoCompute pulumi.BoolPtrOutput `pulumi:"haAdmissionControlResourcePercentageAutoCompute"`
	// Controls the
	// user-defined percentage of CPU resources in the cluster to reserve for
	// failover. Default: `100`.
	HaAdmissionControlResourcePercentageCpu pulumi.IntPtrOutput `pulumi:"haAdmissionControlResourcePercentageCpu"`
	// Controls the
	// user-defined percentage of memory resources in the cluster to reserve for
	// failover. Default: `100`.
	HaAdmissionControlResourcePercentageMemory pulumi.IntPtrOutput `pulumi:"haAdmissionControlResourcePercentageMemory"`
	// Controls the
	// user-defined CPU slot size, in MHz. Default: `32`.
	HaAdmissionControlSlotPolicyExplicitCpu pulumi.IntPtrOutput `pulumi:"haAdmissionControlSlotPolicyExplicitCpu"`
	// Controls the
	// user-defined memory slot size, in MB. Default: `100`.
	HaAdmissionControlSlotPolicyExplicitMemory pulumi.IntPtrOutput `pulumi:"haAdmissionControlSlotPolicyExplicitMemory"`
	// Controls
	// whether or not you wish to supply explicit values to CPU and memory slot
	// sizes. The default is `false`, which tells vSphere to gather a automatic
	// average based on all powered-on virtual machines currently in the cluster.
	HaAdmissionControlSlotPolicyUseExplicitSize pulumi.BoolPtrOutput `pulumi:"haAdmissionControlSlotPolicyUseExplicitSize"`
	// A key/value map that specifies advanced
	// options for vSphere HA.
	HaAdvancedOptions pulumi.StringMapOutput `pulumi:"haAdvancedOptions"`
	// Controls the action to take
	// on virtual machines if an APD status on an affected datastore clears in the
	// middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
	// <sup>\*</sup>
	HaDatastoreApdRecoveryAction pulumi.StringPtrOutput `pulumi:"haDatastoreApdRecoveryAction"`
	// Controls the action to take on
	// virtual machines when the cluster has detected loss to all paths to a
	// relevant datastore. Can be one of `disabled`, `warning`,
	// `restartConservative`, or `restartAggressive`.  Default: `disabled`.
	// <sup>\*</sup>
	HaDatastoreApdResponse pulumi.StringPtrOutput `pulumi:"haDatastoreApdResponse"`
	// Controls the delay in minutes
	// to wait after an APD timeout event to execute the response action defined in
	// `haDatastoreApdResponse`. Default: `3`
	// minutes. <sup>\*</sup>
	HaDatastoreApdResponseDelay pulumi.IntPtrOutput `pulumi:"haDatastoreApdResponseDelay"`
	// Controls the action to take on
	// virtual machines when the cluster has detected a permanent device loss to a
	// relevant datastore. Can be one of `disabled`, `warning`, or
	// `restartAggressive`. Default: `disabled`.
	// <sup>\*</sup>
	HaDatastorePdlResponse pulumi.StringPtrOutput `pulumi:"haDatastorePdlResponse"`
	// Enable vSphere HA for this cluster. Default:
	// `false`.
	HaEnabled pulumi.BoolPtrOutput `pulumi:"haEnabled"`
	// The list of managed object IDs for
	// preferred datastores to use for HA heartbeating. This setting is only useful
	// when `haHeartbeatDatastorePolicy` is set
	// to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
	HaHeartbeatDatastoreIds pulumi.StringArrayOutput `pulumi:"haHeartbeatDatastoreIds"`
	// The selection policy for HA
	// heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
	// `allFeasibleDsWithUserPreference`. Default:
	// `allFeasibleDsWithUserPreference`.
	HaHeartbeatDatastorePolicy pulumi.StringPtrOutput `pulumi:"haHeartbeatDatastorePolicy"`
	// The action to take on virtual
	// machines when a host has detected that it has been isolated from the rest of
	// the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
	// `none`.
	HaHostIsolationResponse pulumi.StringPtrOutput `pulumi:"haHostIsolationResponse"`
	// Global setting that controls whether
	// vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
	// or `disabled`. Default: `enabled`.
	HaHostMonitoring pulumi.StringPtrOutput `pulumi:"haHostMonitoring"`
	// Controls vSphere VM component
	// protection for virtual machines in this cluster. Can be one of `enabled` or
	// `disabled`. Default: `enabled`.
	// <sup>\*</sup>
	HaVmComponentProtection pulumi.StringPtrOutput `pulumi:"haVmComponentProtection"`
	// The condition used to
	// determine whether or not virtual machines in a certain restart priority class
	// are online, allowing HA to move on to restarting virtual machines on the next
	// priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
	// `appHbStatusGreen`. The default is `none`, which means that a virtual machine
	// is considered ready immediately after a host is found to start it on.
	// <sup>\*</sup>
	HaVmDependencyRestartCondition pulumi.StringPtrOutput `pulumi:"haVmDependencyRestartCondition"`
	// If a heartbeat from a virtual machine
	// is not received within this configured interval, the virtual machine is
	// marked as failed. The value is in seconds. Default: `30`.
	HaVmFailureInterval pulumi.IntPtrOutput `pulumi:"haVmFailureInterval"`
	// The length of the reset window in
	// which `haVmMaximumResets` can operate. When this
	// window expires, no more resets are attempted regardless of the setting
	// configured in `haVmMaximumResets`. `-1` means no window, meaning an
	// unlimited reset time is allotted. The value is specified in seconds. Default:
	// `-1` (no window).
	HaVmMaximumFailureWindow pulumi.IntPtrOutput `pulumi:"haVmMaximumFailureWindow"`
	// The maximum number of resets that HA will
	// perform to a virtual machine when responding to a failure event. Default: `3`
	HaVmMaximumResets pulumi.IntPtrOutput `pulumi:"haVmMaximumResets"`
	// The time, in seconds, that HA waits after
	// powering on a virtual machine before monitoring for heartbeats. Default:
	// `120` (2 minutes).
	HaVmMinimumUptime pulumi.IntPtrOutput `pulumi:"haVmMinimumUptime"`
	// The type of virtual machine monitoring to use
	// when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
	// `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
	HaVmMonitoring pulumi.StringPtrOutput `pulumi:"haVmMonitoring"`
	// Additional delay in seconds
	// after ready condition is met. A VM is considered ready at this point.
	// Default: `0` (no delay). <sup>\*</sup>
	HaVmRestartAdditionalDelay pulumi.IntPtrOutput `pulumi:"haVmRestartAdditionalDelay"`
	// The default restart priority
	// for affected virtual machines when vSphere detects a host failure. Can be one
	// of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
	HaVmRestartPriority pulumi.StringPtrOutput `pulumi:"haVmRestartPriority"`
	// The maximum time, in seconds,
	// that vSphere HA will wait for virtual machines in one priority to be ready
	// before proceeding with the next priority. Default: `600` (10 minutes).
	// <sup>\*</sup>
	HaVmRestartTimeout pulumi.IntPtrOutput `pulumi:"haVmRestartTimeout"`
	// The timeout for each host maintenance mode
	// operation when removing hosts from a cluster. The value is specified in
	// seconds. Default: `3600` (1 hour).
	HostClusterExitTimeout pulumi.IntPtrOutput `pulumi:"hostClusterExitTimeout"`
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to put in the cluster.
	HostSystemIds pulumi.StringArrayOutput `pulumi:"hostSystemIds"`
	// The name of the cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// Determines how the host
	// quarantine, maintenance mode, or virtual machine migration recommendations
	// made by proactive HA are to be handled. Can be one of `Automated` or
	// `Manual`. Default: `Manual`. <sup>\*</sup>
	ProactiveHaAutomationLevel pulumi.StringPtrOutput `pulumi:"proactiveHaAutomationLevel"`
	// Enables Proactive HA. Default: `false`.
	// <sup>\*</sup>
	ProactiveHaEnabled pulumi.BoolPtrOutput `pulumi:"proactiveHaEnabled"`
	// The configured remediation
	// for moderately degraded hosts. Can be one of `MaintenanceMode` or
	// `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
	// `proactiveHaSevereRemediation` is set
	// to `QuarantineMode`. Default: `QuarantineMode`.
	// <sup>\*</sup>
	ProactiveHaModerateRemediation pulumi.StringPtrOutput `pulumi:"proactiveHaModerateRemediation"`
	// The list of IDs for health update
	// providers configured for this cluster.
	// <sup>\*</sup>
	ProactiveHaProviderIds pulumi.StringArrayOutput `pulumi:"proactiveHaProviderIds"`
	// The configured remediation for
	// severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
	// Note that this cannot be set to `QuarantineMode` when
	// `proactiveHaModerateRemediation` is
	// set to `MaintenanceMode`. Default: `QuarantineMode`.
	// <sup>\*</sup>
	ProactiveHaSevereRemediation pulumi.StringPtrOutput `pulumi:"proactiveHaSevereRemediation"`
	// The managed object ID of the cluster's root resource pool.
	ResourcePoolId pulumi.StringOutput `pulumi:"resourcePoolId"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

func GetComputeCluster

func GetComputeCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterState, opts ...pulumi.ResourceOption) (*ComputeCluster, error)

GetComputeCluster gets an existing ComputeCluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeCluster

func NewComputeCluster(ctx *pulumi.Context,
	name string, args *ComputeClusterArgs, opts ...pulumi.ResourceOption) (*ComputeCluster, error)

NewComputeCluster registers a new resource with the given unique name, arguments, and options.

type ComputeClusterArgs

type ComputeClusterArgs struct {
	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object ID][docs-about-morefs] of
	// the datacenter to create the cluster in. Forces a new resource if changed.
	DatacenterId pulumi.StringInput
	// The automation level for host power
	// operations in this cluster. Can be one of `manual` or `automated`. Default:
	// `manual`.
	DpmAutomationLevel pulumi.StringPtrInput
	// Enable DPM support for DRS in this cluster.
	// Requires `drsEnabled` to be `true` in order to be effective.
	// Default: `false`.
	DpmEnabled pulumi.BoolPtrInput
	// A value between `1` and `5` indicating the
	// threshold of load within the cluster that influences host power operations.
	// This affects both power on and power off operations - a lower setting will
	// tolerate more of a surplus/deficit than a higher setting. Default: `3`.
	DpmThreshold pulumi.IntPtrInput
	// A key/value map that specifies advanced
	// options for DRS and DPM.
	DrsAdvancedOptions pulumi.StringMapInput
	// The default automation level for all
	// virtual machines in this cluster. Can be one of `manual`,
	// `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
	DrsAutomationLevel pulumi.StringPtrInput
	// When `true`, enables DRS to use data
	// from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
	// recommendations. <sup>\*</sup>
	DrsEnablePredictiveDrs pulumi.BoolPtrInput
	// Allow individual DRS overrides to be
	// set for virtual machines in the cluster. Default: `true`.
	DrsEnableVmOverrides pulumi.BoolPtrInput
	// Enable DRS for this cluster. Default: `false`.
	DrsEnabled pulumi.BoolPtrInput
	// A value between `1` and `5` indicating
	// the threshold of imbalance tolerated between hosts. A lower setting will
	// tolerate more imbalance while a higher setting will tolerate less. Default:
	// `3`.
	DrsMigrationThreshold pulumi.IntPtrInput
	// The name of the folder to locate the cluster in.
	Folder pulumi.StringPtrInput
	// Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
	// for testing and is not recommended in normal use.
	ForceEvacuateOnDestroy pulumi.BoolPtrInput
	// Defines the
	// [managed object IDs][docs-about-morefs] of hosts to use as dedicated failover
	// hosts. These hosts are kept as available as possible - admission control will
	// block access to the host, and DRS will ignore the host when making
	// recommendations.
	HaAdmissionControlFailoverHostSystemIds pulumi.StringArrayInput
	// The maximum number
	// of failed hosts that admission control tolerates when making decisions on
	// whether to permit virtual machine operations. The maximum is one less than
	// the number of hosts in the cluster. Default: `1`.
	// <sup>\*</sup>
	HaAdmissionControlHostFailureTolerance pulumi.IntPtrInput
	// The percentage of
	// resource reduction that a cluster of virtual machines can tolerate in case of
	// a failover. A value of 0 produces warnings only, whereas a value of 100
	// disables the setting. Default: `100` (disabled).
	HaAdmissionControlPerformanceTolerance pulumi.IntPtrInput
	// The type of admission control
	// policy to use with vSphere HA. Can be one of `resourcePercentage`,
	// `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
	HaAdmissionControlPolicy pulumi.StringPtrInput
	//
	// Automatically determine available resource percentages by subtracting the
	// average number of host resources represented by the
	// `haAdmissionControlHostFailureTolerance`
	// setting from the total amount of resources in the cluster. Disable to supply
	// user-defined values. Default: `true`.
	// <sup>\*</sup>
	HaAdmissionControlResourcePercentageAutoCompute pulumi.BoolPtrInput
	// Controls the
	// user-defined percentage of CPU resources in the cluster to reserve for
	// failover. Default: `100`.
	HaAdmissionControlResourcePercentageCpu pulumi.IntPtrInput
	// Controls the
	// user-defined percentage of memory resources in the cluster to reserve for
	// failover. Default: `100`.
	HaAdmissionControlResourcePercentageMemory pulumi.IntPtrInput
	// Controls the
	// user-defined CPU slot size, in MHz. Default: `32`.
	HaAdmissionControlSlotPolicyExplicitCpu pulumi.IntPtrInput
	// Controls the
	// user-defined memory slot size, in MB. Default: `100`.
	HaAdmissionControlSlotPolicyExplicitMemory pulumi.IntPtrInput
	// Controls
	// whether or not you wish to supply explicit values to CPU and memory slot
	// sizes. The default is `false`, which tells vSphere to gather a automatic
	// average based on all powered-on virtual machines currently in the cluster.
	HaAdmissionControlSlotPolicyUseExplicitSize pulumi.BoolPtrInput
	// A key/value map that specifies advanced
	// options for vSphere HA.
	HaAdvancedOptions pulumi.StringMapInput
	// Controls the action to take
	// on virtual machines if an APD status on an affected datastore clears in the
	// middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
	// <sup>\*</sup>
	HaDatastoreApdRecoveryAction pulumi.StringPtrInput
	// Controls the action to take on
	// virtual machines when the cluster has detected loss to all paths to a
	// relevant datastore. Can be one of `disabled`, `warning`,
	// `restartConservative`, or `restartAggressive`.  Default: `disabled`.
	// <sup>\*</sup>
	HaDatastoreApdResponse pulumi.StringPtrInput
	// Controls the delay in minutes
	// to wait after an APD timeout event to execute the response action defined in
	// `haDatastoreApdResponse`. Default: `3`
	// minutes. <sup>\*</sup>
	HaDatastoreApdResponseDelay pulumi.IntPtrInput
	// Controls the action to take on
	// virtual machines when the cluster has detected a permanent device loss to a
	// relevant datastore. Can be one of `disabled`, `warning`, or
	// `restartAggressive`. Default: `disabled`.
	// <sup>\*</sup>
	HaDatastorePdlResponse pulumi.StringPtrInput
	// Enable vSphere HA for this cluster. Default:
	// `false`.
	HaEnabled pulumi.BoolPtrInput
	// The list of managed object IDs for
	// preferred datastores to use for HA heartbeating. This setting is only useful
	// when `haHeartbeatDatastorePolicy` is set
	// to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
	HaHeartbeatDatastoreIds pulumi.StringArrayInput
	// The selection policy for HA
	// heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
	// `allFeasibleDsWithUserPreference`. Default:
	// `allFeasibleDsWithUserPreference`.
	HaHeartbeatDatastorePolicy pulumi.StringPtrInput
	// The action to take on virtual
	// machines when a host has detected that it has been isolated from the rest of
	// the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
	// `none`.
	HaHostIsolationResponse pulumi.StringPtrInput
	// Global setting that controls whether
	// vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
	// or `disabled`. Default: `enabled`.
	HaHostMonitoring pulumi.StringPtrInput
	// Controls vSphere VM component
	// protection for virtual machines in this cluster. Can be one of `enabled` or
	// `disabled`. Default: `enabled`.
	// <sup>\*</sup>
	HaVmComponentProtection pulumi.StringPtrInput
	// The condition used to
	// determine whether or not virtual machines in a certain restart priority class
	// are online, allowing HA to move on to restarting virtual machines on the next
	// priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
	// `appHbStatusGreen`. The default is `none`, which means that a virtual machine
	// is considered ready immediately after a host is found to start it on.
	// <sup>\*</sup>
	HaVmDependencyRestartCondition pulumi.StringPtrInput
	// If a heartbeat from a virtual machine
	// is not received within this configured interval, the virtual machine is
	// marked as failed. The value is in seconds. Default: `30`.
	HaVmFailureInterval pulumi.IntPtrInput
	// The length of the reset window in
	// which `haVmMaximumResets` can operate. When this
	// window expires, no more resets are attempted regardless of the setting
	// configured in `haVmMaximumResets`. `-1` means no window, meaning an
	// unlimited reset time is allotted. The value is specified in seconds. Default:
	// `-1` (no window).
	HaVmMaximumFailureWindow pulumi.IntPtrInput
	// The maximum number of resets that HA will
	// perform to a virtual machine when responding to a failure event. Default: `3`
	HaVmMaximumResets pulumi.IntPtrInput
	// The time, in seconds, that HA waits after
	// powering on a virtual machine before monitoring for heartbeats. Default:
	// `120` (2 minutes).
	HaVmMinimumUptime pulumi.IntPtrInput
	// The type of virtual machine monitoring to use
	// when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
	// `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
	HaVmMonitoring pulumi.StringPtrInput
	// Additional delay in seconds
	// after ready condition is met. A VM is considered ready at this point.
	// Default: `0` (no delay). <sup>\*</sup>
	HaVmRestartAdditionalDelay pulumi.IntPtrInput
	// The default restart priority
	// for affected virtual machines when vSphere detects a host failure. Can be one
	// of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
	HaVmRestartPriority pulumi.StringPtrInput
	// The maximum time, in seconds,
	// that vSphere HA will wait for virtual machines in one priority to be ready
	// before proceeding with the next priority. Default: `600` (10 minutes).
	// <sup>\*</sup>
	HaVmRestartTimeout pulumi.IntPtrInput
	// The timeout for each host maintenance mode
	// operation when removing hosts from a cluster. The value is specified in
	// seconds. Default: `3600` (1 hour).
	HostClusterExitTimeout pulumi.IntPtrInput
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to put in the cluster.
	HostSystemIds pulumi.StringArrayInput
	// The name of the cluster.
	Name pulumi.StringPtrInput
	// Determines how the host
	// quarantine, maintenance mode, or virtual machine migration recommendations
	// made by proactive HA are to be handled. Can be one of `Automated` or
	// `Manual`. Default: `Manual`. <sup>\*</sup>
	ProactiveHaAutomationLevel pulumi.StringPtrInput
	// Enables Proactive HA. Default: `false`.
	// <sup>\*</sup>
	ProactiveHaEnabled pulumi.BoolPtrInput
	// The configured remediation
	// for moderately degraded hosts. Can be one of `MaintenanceMode` or
	// `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
	// `proactiveHaSevereRemediation` is set
	// to `QuarantineMode`. Default: `QuarantineMode`.
	// <sup>\*</sup>
	ProactiveHaModerateRemediation pulumi.StringPtrInput
	// The list of IDs for health update
	// providers configured for this cluster.
	// <sup>\*</sup>
	ProactiveHaProviderIds pulumi.StringArrayInput
	// The configured remediation for
	// severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
	// Note that this cannot be set to `QuarantineMode` when
	// `proactiveHaModerateRemediation` is
	// set to `MaintenanceMode`. Default: `QuarantineMode`.
	// <sup>\*</sup>
	ProactiveHaSevereRemediation pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a ComputeCluster resource.

func (ComputeClusterArgs) ElementType added in v1.5.0

func (ComputeClusterArgs) ElementType() reflect.Type

type ComputeClusterHostGroup

type ComputeClusterHostGroup struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to put in the cluster.
	HostSystemIds pulumi.StringArrayOutput `pulumi:"hostSystemIds"`
	// The name of the host group. This must be unique in the
	// cluster. Forces a new resource if changed.
	Name pulumi.StringOutput `pulumi:"name"`
}

The `.ComputeClusterHostGroup` resource can be used to manage groups of hosts in a cluster, either created by the [`.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up by the [`.ComputeCluster`][tf-vsphere-cluster-data-source] data source.

[tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html

This resource mainly serves as an input to the [`.ComputeClusterVmHostRule`][tf-vsphere-cluster-vm-host-rule-resource] resource - see the documentation for that resource for further details on how to use host groups.

[tf-vsphere-cluster-vm-host-rule-resource]: /docs/providers/vsphere/r/compute_cluster_vm_host_rule.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/compute_cluster_host_group.html.markdown.

func GetComputeClusterHostGroup

func GetComputeClusterHostGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterHostGroupState, opts ...pulumi.ResourceOption) (*ComputeClusterHostGroup, error)

GetComputeClusterHostGroup gets an existing ComputeClusterHostGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeClusterHostGroup

func NewComputeClusterHostGroup(ctx *pulumi.Context,
	name string, args *ComputeClusterHostGroupArgs, opts ...pulumi.ResourceOption) (*ComputeClusterHostGroup, error)

NewComputeClusterHostGroup registers a new resource with the given unique name, arguments, and options.

type ComputeClusterHostGroupArgs

type ComputeClusterHostGroupArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to put in the cluster.
	HostSystemIds pulumi.StringArrayInput
	// The name of the host group. This must be unique in the
	// cluster. Forces a new resource if changed.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ComputeClusterHostGroup resource.

func (ComputeClusterHostGroupArgs) ElementType added in v1.5.0

type ComputeClusterHostGroupState

type ComputeClusterHostGroupState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to put in the cluster.
	HostSystemIds pulumi.StringArrayInput
	// The name of the host group. This must be unique in the
	// cluster. Forces a new resource if changed.
	Name pulumi.StringPtrInput
}

func (ComputeClusterHostGroupState) ElementType added in v1.5.0

type ComputeClusterState

type ComputeClusterState struct {
	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object ID][docs-about-morefs] of
	// the datacenter to create the cluster in. Forces a new resource if changed.
	DatacenterId pulumi.StringPtrInput
	// The automation level for host power
	// operations in this cluster. Can be one of `manual` or `automated`. Default:
	// `manual`.
	DpmAutomationLevel pulumi.StringPtrInput
	// Enable DPM support for DRS in this cluster.
	// Requires `drsEnabled` to be `true` in order to be effective.
	// Default: `false`.
	DpmEnabled pulumi.BoolPtrInput
	// A value between `1` and `5` indicating the
	// threshold of load within the cluster that influences host power operations.
	// This affects both power on and power off operations - a lower setting will
	// tolerate more of a surplus/deficit than a higher setting. Default: `3`.
	DpmThreshold pulumi.IntPtrInput
	// A key/value map that specifies advanced
	// options for DRS and DPM.
	DrsAdvancedOptions pulumi.StringMapInput
	// The default automation level for all
	// virtual machines in this cluster. Can be one of `manual`,
	// `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
	DrsAutomationLevel pulumi.StringPtrInput
	// When `true`, enables DRS to use data
	// from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
	// recommendations. <sup>\*</sup>
	DrsEnablePredictiveDrs pulumi.BoolPtrInput
	// Allow individual DRS overrides to be
	// set for virtual machines in the cluster. Default: `true`.
	DrsEnableVmOverrides pulumi.BoolPtrInput
	// Enable DRS for this cluster. Default: `false`.
	DrsEnabled pulumi.BoolPtrInput
	// A value between `1` and `5` indicating
	// the threshold of imbalance tolerated between hosts. A lower setting will
	// tolerate more imbalance while a higher setting will tolerate less. Default:
	// `3`.
	DrsMigrationThreshold pulumi.IntPtrInput
	// The name of the folder to locate the cluster in.
	Folder pulumi.StringPtrInput
	// Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
	// for testing and is not recommended in normal use.
	ForceEvacuateOnDestroy pulumi.BoolPtrInput
	// Defines the
	// [managed object IDs][docs-about-morefs] of hosts to use as dedicated failover
	// hosts. These hosts are kept as available as possible - admission control will
	// block access to the host, and DRS will ignore the host when making
	// recommendations.
	HaAdmissionControlFailoverHostSystemIds pulumi.StringArrayInput
	// The maximum number
	// of failed hosts that admission control tolerates when making decisions on
	// whether to permit virtual machine operations. The maximum is one less than
	// the number of hosts in the cluster. Default: `1`.
	// <sup>\*</sup>
	HaAdmissionControlHostFailureTolerance pulumi.IntPtrInput
	// The percentage of
	// resource reduction that a cluster of virtual machines can tolerate in case of
	// a failover. A value of 0 produces warnings only, whereas a value of 100
	// disables the setting. Default: `100` (disabled).
	HaAdmissionControlPerformanceTolerance pulumi.IntPtrInput
	// The type of admission control
	// policy to use with vSphere HA. Can be one of `resourcePercentage`,
	// `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
	HaAdmissionControlPolicy pulumi.StringPtrInput
	//
	// Automatically determine available resource percentages by subtracting the
	// average number of host resources represented by the
	// `haAdmissionControlHostFailureTolerance`
	// setting from the total amount of resources in the cluster. Disable to supply
	// user-defined values. Default: `true`.
	// <sup>\*</sup>
	HaAdmissionControlResourcePercentageAutoCompute pulumi.BoolPtrInput
	// Controls the
	// user-defined percentage of CPU resources in the cluster to reserve for
	// failover. Default: `100`.
	HaAdmissionControlResourcePercentageCpu pulumi.IntPtrInput
	// Controls the
	// user-defined percentage of memory resources in the cluster to reserve for
	// failover. Default: `100`.
	HaAdmissionControlResourcePercentageMemory pulumi.IntPtrInput
	// Controls the
	// user-defined CPU slot size, in MHz. Default: `32`.
	HaAdmissionControlSlotPolicyExplicitCpu pulumi.IntPtrInput
	// Controls the
	// user-defined memory slot size, in MB. Default: `100`.
	HaAdmissionControlSlotPolicyExplicitMemory pulumi.IntPtrInput
	// Controls
	// whether or not you wish to supply explicit values to CPU and memory slot
	// sizes. The default is `false`, which tells vSphere to gather a automatic
	// average based on all powered-on virtual machines currently in the cluster.
	HaAdmissionControlSlotPolicyUseExplicitSize pulumi.BoolPtrInput
	// A key/value map that specifies advanced
	// options for vSphere HA.
	HaAdvancedOptions pulumi.StringMapInput
	// Controls the action to take
	// on virtual machines if an APD status on an affected datastore clears in the
	// middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
	// <sup>\*</sup>
	HaDatastoreApdRecoveryAction pulumi.StringPtrInput
	// Controls the action to take on
	// virtual machines when the cluster has detected loss to all paths to a
	// relevant datastore. Can be one of `disabled`, `warning`,
	// `restartConservative`, or `restartAggressive`.  Default: `disabled`.
	// <sup>\*</sup>
	HaDatastoreApdResponse pulumi.StringPtrInput
	// Controls the delay in minutes
	// to wait after an APD timeout event to execute the response action defined in
	// `haDatastoreApdResponse`. Default: `3`
	// minutes. <sup>\*</sup>
	HaDatastoreApdResponseDelay pulumi.IntPtrInput
	// Controls the action to take on
	// virtual machines when the cluster has detected a permanent device loss to a
	// relevant datastore. Can be one of `disabled`, `warning`, or
	// `restartAggressive`. Default: `disabled`.
	// <sup>\*</sup>
	HaDatastorePdlResponse pulumi.StringPtrInput
	// Enable vSphere HA for this cluster. Default:
	// `false`.
	HaEnabled pulumi.BoolPtrInput
	// The list of managed object IDs for
	// preferred datastores to use for HA heartbeating. This setting is only useful
	// when `haHeartbeatDatastorePolicy` is set
	// to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
	HaHeartbeatDatastoreIds pulumi.StringArrayInput
	// The selection policy for HA
	// heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
	// `allFeasibleDsWithUserPreference`. Default:
	// `allFeasibleDsWithUserPreference`.
	HaHeartbeatDatastorePolicy pulumi.StringPtrInput
	// The action to take on virtual
	// machines when a host has detected that it has been isolated from the rest of
	// the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
	// `none`.
	HaHostIsolationResponse pulumi.StringPtrInput
	// Global setting that controls whether
	// vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
	// or `disabled`. Default: `enabled`.
	HaHostMonitoring pulumi.StringPtrInput
	// Controls vSphere VM component
	// protection for virtual machines in this cluster. Can be one of `enabled` or
	// `disabled`. Default: `enabled`.
	// <sup>\*</sup>
	HaVmComponentProtection pulumi.StringPtrInput
	// The condition used to
	// determine whether or not virtual machines in a certain restart priority class
	// are online, allowing HA to move on to restarting virtual machines on the next
	// priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
	// `appHbStatusGreen`. The default is `none`, which means that a virtual machine
	// is considered ready immediately after a host is found to start it on.
	// <sup>\*</sup>
	HaVmDependencyRestartCondition pulumi.StringPtrInput
	// If a heartbeat from a virtual machine
	// is not received within this configured interval, the virtual machine is
	// marked as failed. The value is in seconds. Default: `30`.
	HaVmFailureInterval pulumi.IntPtrInput
	// The length of the reset window in
	// which `haVmMaximumResets` can operate. When this
	// window expires, no more resets are attempted regardless of the setting
	// configured in `haVmMaximumResets`. `-1` means no window, meaning an
	// unlimited reset time is allotted. The value is specified in seconds. Default:
	// `-1` (no window).
	HaVmMaximumFailureWindow pulumi.IntPtrInput
	// The maximum number of resets that HA will
	// perform to a virtual machine when responding to a failure event. Default: `3`
	HaVmMaximumResets pulumi.IntPtrInput
	// The time, in seconds, that HA waits after
	// powering on a virtual machine before monitoring for heartbeats. Default:
	// `120` (2 minutes).
	HaVmMinimumUptime pulumi.IntPtrInput
	// The type of virtual machine monitoring to use
	// when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
	// `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
	HaVmMonitoring pulumi.StringPtrInput
	// Additional delay in seconds
	// after ready condition is met. A VM is considered ready at this point.
	// Default: `0` (no delay). <sup>\*</sup>
	HaVmRestartAdditionalDelay pulumi.IntPtrInput
	// The default restart priority
	// for affected virtual machines when vSphere detects a host failure. Can be one
	// of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
	HaVmRestartPriority pulumi.StringPtrInput
	// The maximum time, in seconds,
	// that vSphere HA will wait for virtual machines in one priority to be ready
	// before proceeding with the next priority. Default: `600` (10 minutes).
	// <sup>\*</sup>
	HaVmRestartTimeout pulumi.IntPtrInput
	// The timeout for each host maintenance mode
	// operation when removing hosts from a cluster. The value is specified in
	// seconds. Default: `3600` (1 hour).
	HostClusterExitTimeout pulumi.IntPtrInput
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to put in the cluster.
	HostSystemIds pulumi.StringArrayInput
	// The name of the cluster.
	Name pulumi.StringPtrInput
	// Determines how the host
	// quarantine, maintenance mode, or virtual machine migration recommendations
	// made by proactive HA are to be handled. Can be one of `Automated` or
	// `Manual`. Default: `Manual`. <sup>\*</sup>
	ProactiveHaAutomationLevel pulumi.StringPtrInput
	// Enables Proactive HA. Default: `false`.
	// <sup>\*</sup>
	ProactiveHaEnabled pulumi.BoolPtrInput
	// The configured remediation
	// for moderately degraded hosts. Can be one of `MaintenanceMode` or
	// `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
	// `proactiveHaSevereRemediation` is set
	// to `QuarantineMode`. Default: `QuarantineMode`.
	// <sup>\*</sup>
	ProactiveHaModerateRemediation pulumi.StringPtrInput
	// The list of IDs for health update
	// providers configured for this cluster.
	// <sup>\*</sup>
	ProactiveHaProviderIds pulumi.StringArrayInput
	// The configured remediation for
	// severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
	// Note that this cannot be set to `QuarantineMode` when
	// `proactiveHaModerateRemediation` is
	// set to `MaintenanceMode`. Default: `QuarantineMode`.
	// <sup>\*</sup>
	ProactiveHaSevereRemediation pulumi.StringPtrInput
	// The managed object ID of the cluster's root resource pool.
	ResourcePoolId pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

func (ComputeClusterState) ElementType added in v1.5.0

func (ComputeClusterState) ElementType() reflect.Type

type ComputeClusterVmAffinityRule

type ComputeClusterVmAffinityRule struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrOutput `pulumi:"mandatory"`
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUIDs of the virtual machines to run
	// on the same host together.
	VirtualMachineIds pulumi.StringArrayOutput `pulumi:"virtualMachineIds"`
}

The `.ComputeClusterVmAffinityRule` resource can be used to manage VM affinity rules in a cluster, either created by the [`.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up by the [`.ComputeCluster`][tf-vsphere-cluster-data-source] data source.

[tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html

This rule can be used to tell a set to virtual machines to run together on a single host within a cluster. When configured, DRS will make a best effort to ensure that the virtual machines run on the same host, or prevent any operation that would keep that from happening, depending on the value of the `mandatory` flag.

> Keep in mind that this rule can only be used to tell VMs to run together on a _non-specific_ host - it can't be used to pin VMs to a host. For that, see the [`.ComputeClusterVmHostRule`][tf-vsphere-cluster-vm-host-rule-resource] resource.

[tf-vsphere-cluster-vm-host-rule-resource]: /docs/providers/vsphere/r/compute_cluster_vm_host_rule.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/compute_cluster_vm_affinity_rule.html.markdown.

func GetComputeClusterVmAffinityRule

func GetComputeClusterVmAffinityRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterVmAffinityRuleState, opts ...pulumi.ResourceOption) (*ComputeClusterVmAffinityRule, error)

GetComputeClusterVmAffinityRule gets an existing ComputeClusterVmAffinityRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeClusterVmAffinityRule

func NewComputeClusterVmAffinityRule(ctx *pulumi.Context,
	name string, args *ComputeClusterVmAffinityRuleArgs, opts ...pulumi.ResourceOption) (*ComputeClusterVmAffinityRule, error)

NewComputeClusterVmAffinityRule registers a new resource with the given unique name, arguments, and options.

type ComputeClusterVmAffinityRuleArgs

type ComputeClusterVmAffinityRuleArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines to run
	// on the same host together.
	VirtualMachineIds pulumi.StringArrayInput
}

The set of arguments for constructing a ComputeClusterVmAffinityRule resource.

func (ComputeClusterVmAffinityRuleArgs) ElementType added in v1.5.0

type ComputeClusterVmAffinityRuleState

type ComputeClusterVmAffinityRuleState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines to run
	// on the same host together.
	VirtualMachineIds pulumi.StringArrayInput
}

func (ComputeClusterVmAffinityRuleState) ElementType added in v1.5.0

type ComputeClusterVmAntiAffinityRule

type ComputeClusterVmAntiAffinityRule struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrOutput `pulumi:"mandatory"`
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUIDs of the virtual machines to run
	// on hosts different from each other.
	VirtualMachineIds pulumi.StringArrayOutput `pulumi:"virtualMachineIds"`
}

The `.ComputeClusterVmAntiAffinityRule` resource can be used to manage VM anti-affinity rules in a cluster, either created by the [`.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up by the [`.ComputeCluster`][tf-vsphere-cluster-data-source] data source.

[tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html

This rule can be used to tell a set to virtual machines to run on different hosts within a cluster, useful for preventing single points of failure in application cluster scenarios. When configured, DRS will make a best effort to ensure that the virtual machines run on different hosts, or prevent any operation that would keep that from happening, depending on the value of the `mandatory` flag.

> Keep in mind that this rule can only be used to tell VMs to run separately on _non-specific_ hosts - specific hosts cannot be specified with this rule. For that, see the [`.ComputeClusterVmHostRule`][tf-vsphere-cluster-vm-host-rule-resource] resource.

[tf-vsphere-cluster-vm-host-rule-resource]: /docs/providers/vsphere/r/compute_cluster_vm_host_rule.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/compute_cluster_vm_anti_affinity_rule.html.markdown.

func GetComputeClusterVmAntiAffinityRule

func GetComputeClusterVmAntiAffinityRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterVmAntiAffinityRuleState, opts ...pulumi.ResourceOption) (*ComputeClusterVmAntiAffinityRule, error)

GetComputeClusterVmAntiAffinityRule gets an existing ComputeClusterVmAntiAffinityRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeClusterVmAntiAffinityRule

func NewComputeClusterVmAntiAffinityRule(ctx *pulumi.Context,
	name string, args *ComputeClusterVmAntiAffinityRuleArgs, opts ...pulumi.ResourceOption) (*ComputeClusterVmAntiAffinityRule, error)

NewComputeClusterVmAntiAffinityRule registers a new resource with the given unique name, arguments, and options.

type ComputeClusterVmAntiAffinityRuleArgs

type ComputeClusterVmAntiAffinityRuleArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines to run
	// on hosts different from each other.
	VirtualMachineIds pulumi.StringArrayInput
}

The set of arguments for constructing a ComputeClusterVmAntiAffinityRule resource.

func (ComputeClusterVmAntiAffinityRuleArgs) ElementType added in v1.5.0

type ComputeClusterVmAntiAffinityRuleState

type ComputeClusterVmAntiAffinityRuleState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines to run
	// on hosts different from each other.
	VirtualMachineIds pulumi.StringArrayInput
}

func (ComputeClusterVmAntiAffinityRuleState) ElementType added in v1.5.0

type ComputeClusterVmDependencyRule

type ComputeClusterVmDependencyRule struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// The name of the VM group that this
	// rule depends on. The VMs defined in the group specified by
	// `vmGroupName` will not be started until the VMs in this
	// group are started.
	DependencyVmGroupName pulumi.StringOutput `pulumi:"dependencyVmGroupName"`
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrOutput `pulumi:"mandatory"`
	// The name of the rule. This must be unique in the
	// cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the VM group that is the subject of
	// this rule. The VMs defined in this group will not be started until the VMs in
	// the group specified by
	// `dependencyVmGroupName` are started.
	VmGroupName pulumi.StringOutput `pulumi:"vmGroupName"`
}

The `.ComputeClusterVmDependencyRule` resource can be used to manage VM dependency rules in a cluster, either created by the [`.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up by the [`.ComputeCluster`][tf-vsphere-cluster-data-source] data source.

[tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html

A virtual machine dependency rule applies to vSphere HA, and allows user-defined startup orders for virtual machines in the case of host failure. Virtual machines are supplied via groups, which can be managed via the [`.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource] resource.

[tf-vsphere-cluster-vm-group-resource]: /docs/providers/vsphere/r/compute_cluster_vm_group.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/compute_cluster_vm_dependency_rule.html.markdown.

func GetComputeClusterVmDependencyRule

func GetComputeClusterVmDependencyRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterVmDependencyRuleState, opts ...pulumi.ResourceOption) (*ComputeClusterVmDependencyRule, error)

GetComputeClusterVmDependencyRule gets an existing ComputeClusterVmDependencyRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeClusterVmDependencyRule

func NewComputeClusterVmDependencyRule(ctx *pulumi.Context,
	name string, args *ComputeClusterVmDependencyRuleArgs, opts ...pulumi.ResourceOption) (*ComputeClusterVmDependencyRule, error)

NewComputeClusterVmDependencyRule registers a new resource with the given unique name, arguments, and options.

type ComputeClusterVmDependencyRuleArgs

type ComputeClusterVmDependencyRuleArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// The name of the VM group that this
	// rule depends on. The VMs defined in the group specified by
	// `vmGroupName` will not be started until the VMs in this
	// group are started.
	DependencyVmGroupName pulumi.StringInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the
	// cluster.
	Name pulumi.StringPtrInput
	// The name of the VM group that is the subject of
	// this rule. The VMs defined in this group will not be started until the VMs in
	// the group specified by
	// `dependencyVmGroupName` are started.
	VmGroupName pulumi.StringInput
}

The set of arguments for constructing a ComputeClusterVmDependencyRule resource.

func (ComputeClusterVmDependencyRuleArgs) ElementType added in v1.5.0

type ComputeClusterVmDependencyRuleState

type ComputeClusterVmDependencyRuleState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// The name of the VM group that this
	// rule depends on. The VMs defined in the group specified by
	// `vmGroupName` will not be started until the VMs in this
	// group are started.
	DependencyVmGroupName pulumi.StringPtrInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the
	// cluster.
	Name pulumi.StringPtrInput
	// The name of the VM group that is the subject of
	// this rule. The VMs defined in this group will not be started until the VMs in
	// the group specified by
	// `dependencyVmGroupName` are started.
	VmGroupName pulumi.StringPtrInput
}

func (ComputeClusterVmDependencyRuleState) ElementType added in v1.5.0

type ComputeClusterVmGroup

type ComputeClusterVmGroup struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// The name of the VM group. This must be unique in the
	// cluster. Forces a new resource if changed.
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUIDs of the virtual machines in this
	// group.
	VirtualMachineIds pulumi.StringArrayOutput `pulumi:"virtualMachineIds"`
}

The `.ComputeClusterVmGroup` resource can be used to manage groups of virtual machines in a cluster, either created by the [`.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up by the [`.ComputeCluster`][tf-vsphere-cluster-data-source] data source.

[tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html

This resource mainly serves as an input to the [`.ComputeClusterVmDependencyRule`][tf-vsphere-cluster-vm-dependency-rule-resource] and [`.ComputeClusterVmHostRule`][tf-vsphere-cluster-vm-host-rule-resource] resources. See the individual resource documentation pages for more information.

[tf-vsphere-cluster-vm-dependency-rule-resource]: /docs/providers/vsphere/r/compute_cluster_vm_dependency_rule.html [tf-vsphere-cluster-vm-host-rule-resource]: /docs/providers/vsphere/r/compute_cluster_vm_host_rule.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/compute_cluster_vm_group.html.markdown.

func GetComputeClusterVmGroup

func GetComputeClusterVmGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterVmGroupState, opts ...pulumi.ResourceOption) (*ComputeClusterVmGroup, error)

GetComputeClusterVmGroup gets an existing ComputeClusterVmGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeClusterVmGroup

func NewComputeClusterVmGroup(ctx *pulumi.Context,
	name string, args *ComputeClusterVmGroupArgs, opts ...pulumi.ResourceOption) (*ComputeClusterVmGroup, error)

NewComputeClusterVmGroup registers a new resource with the given unique name, arguments, and options.

type ComputeClusterVmGroupArgs

type ComputeClusterVmGroupArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// The name of the VM group. This must be unique in the
	// cluster. Forces a new resource if changed.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines in this
	// group.
	VirtualMachineIds pulumi.StringArrayInput
}

The set of arguments for constructing a ComputeClusterVmGroup resource.

func (ComputeClusterVmGroupArgs) ElementType added in v1.5.0

func (ComputeClusterVmGroupArgs) ElementType() reflect.Type

type ComputeClusterVmGroupState

type ComputeClusterVmGroupState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// The name of the VM group. This must be unique in the
	// cluster. Forces a new resource if changed.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines in this
	// group.
	VirtualMachineIds pulumi.StringArrayInput
}

func (ComputeClusterVmGroupState) ElementType added in v1.5.0

func (ComputeClusterVmGroupState) ElementType() reflect.Type

type ComputeClusterVmHostRule

type ComputeClusterVmHostRule struct {
	pulumi.CustomResourceState

	// When this field is used, the virtual
	// machines defined in `vmGroupName` will be run on the
	// hosts defined in this host group.
	AffinityHostGroupName pulumi.StringPtrOutput `pulumi:"affinityHostGroupName"`
	// When this field is used, the
	// virtual machines defined in `vmGroupName` will _not_ be
	// run on the hosts defined in this host group.
	AntiAffinityHostGroupName pulumi.StringPtrOutput `pulumi:"antiAffinityHostGroupName"`
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrOutput `pulumi:"mandatory"`
	// The name of the rule. This must be unique in the
	// cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the virtual machine group to use
	// with this rule.
	VmGroupName pulumi.StringOutput `pulumi:"vmGroupName"`
}

The `.ComputeClusterVmHostRule` resource can be used to manage VM-to-host rules in a cluster, either created by the [`.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up by the [`.ComputeCluster`][tf-vsphere-cluster-data-source] data source.

[tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html

This resource can create both _affinity rules_, where virtual machines run on specified hosts, or _anti-affinity_ rules, where virtual machines run on hosts outside of the ones specified in the rule. Virtual machines and hosts are supplied via groups, which can be managed via the [`.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource] and [`.ComputeClusterHostGroup`][tf-vsphere-cluster-host-group-resource] resources.

[tf-vsphere-cluster-vm-group-resource]: /docs/providers/vsphere/r/compute_cluster_vm_group.html [tf-vsphere-cluster-host-group-resource]: /docs/providers/vsphere/r/compute_cluster_host_group.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/compute_cluster_vm_host_rule.html.markdown.

func GetComputeClusterVmHostRule

func GetComputeClusterVmHostRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ComputeClusterVmHostRuleState, opts ...pulumi.ResourceOption) (*ComputeClusterVmHostRule, error)

GetComputeClusterVmHostRule gets an existing ComputeClusterVmHostRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewComputeClusterVmHostRule

func NewComputeClusterVmHostRule(ctx *pulumi.Context,
	name string, args *ComputeClusterVmHostRuleArgs, opts ...pulumi.ResourceOption) (*ComputeClusterVmHostRule, error)

NewComputeClusterVmHostRule registers a new resource with the given unique name, arguments, and options.

type ComputeClusterVmHostRuleArgs

type ComputeClusterVmHostRuleArgs struct {
	// When this field is used, the virtual
	// machines defined in `vmGroupName` will be run on the
	// hosts defined in this host group.
	AffinityHostGroupName pulumi.StringPtrInput
	// When this field is used, the
	// virtual machines defined in `vmGroupName` will _not_ be
	// run on the hosts defined in this host group.
	AntiAffinityHostGroupName pulumi.StringPtrInput
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the
	// cluster.
	Name pulumi.StringPtrInput
	// The name of the virtual machine group to use
	// with this rule.
	VmGroupName pulumi.StringInput
}

The set of arguments for constructing a ComputeClusterVmHostRule resource.

func (ComputeClusterVmHostRuleArgs) ElementType added in v1.5.0

type ComputeClusterVmHostRuleState

type ComputeClusterVmHostRuleState struct {
	// When this field is used, the virtual
	// machines defined in `vmGroupName` will be run on the
	// hosts defined in this host group.
	AffinityHostGroupName pulumi.StringPtrInput
	// When this field is used, the
	// virtual machines defined in `vmGroupName` will _not_ be
	// run on the hosts defined in this host group.
	AntiAffinityHostGroupName pulumi.StringPtrInput
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the group in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the
	// cluster.
	Name pulumi.StringPtrInput
	// The name of the virtual machine group to use
	// with this rule.
	VmGroupName pulumi.StringPtrInput
}

func (ComputeClusterVmHostRuleState) ElementType added in v1.5.0

type ContentLibrary added in v1.7.0

type ContentLibrary struct {
	pulumi.CustomResourceState

	// A description of the Content Library.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the Content Library.
	Name pulumi.StringOutput `pulumi:"name"`
	// The [managed object reference ID][docs-about-morefs] on which to store Content Library
	// items.
	StorageBackings pulumi.StringArrayOutput `pulumi:"storageBackings"`
}

The `.ContentLibrary` resource can be used to manage Content Libraries.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/content_library.html.markdown.

func GetContentLibrary added in v1.7.0

func GetContentLibrary(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ContentLibraryState, opts ...pulumi.ResourceOption) (*ContentLibrary, error)

GetContentLibrary gets an existing ContentLibrary resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewContentLibrary added in v1.7.0

func NewContentLibrary(ctx *pulumi.Context,
	name string, args *ContentLibraryArgs, opts ...pulumi.ResourceOption) (*ContentLibrary, error)

NewContentLibrary registers a new resource with the given unique name, arguments, and options.

type ContentLibraryArgs added in v1.7.0

type ContentLibraryArgs struct {
	// A description of the Content Library.
	Description pulumi.StringPtrInput
	// The name of the Content Library.
	Name pulumi.StringPtrInput
	// The [managed object reference ID][docs-about-morefs] on which to store Content Library
	// items.
	StorageBackings pulumi.StringArrayInput
}

The set of arguments for constructing a ContentLibrary resource.

func (ContentLibraryArgs) ElementType added in v1.7.0

func (ContentLibraryArgs) ElementType() reflect.Type

type ContentLibraryItem added in v1.7.0

type ContentLibraryItem struct {
	pulumi.CustomResourceState

	// A description for the item.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A list of files to download for the Content Library item.
	FileUrls pulumi.StringArrayOutput `pulumi:"fileUrls"`
	// The ID of the Content Library the item should be created in.
	LibraryId pulumi.StringOutput `pulumi:"libraryId"`
	// The name of the item to be created in the Content Library.
	Name pulumi.StringOutput `pulumi:"name"`
	// Type of content library item.
	Type pulumi.StringPtrOutput `pulumi:"type"`
}

The `.ContentLibraryItem` resource can be used to create items in a Content Library. Each item can contain multiple files. Each `fileUrl` must be accessible from the vSphere environment as it will be downloaded from the specified location and stored on the Content Library's storage backing.

To make a `contentLibraryItem` a functioning template, the template must be in OVF format. The .ovf and .vmdk file(s) can then be set as the `fileUrl` list.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/content_library_item.html.markdown.

func GetContentLibraryItem added in v1.7.0

func GetContentLibraryItem(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ContentLibraryItemState, opts ...pulumi.ResourceOption) (*ContentLibraryItem, error)

GetContentLibraryItem gets an existing ContentLibraryItem resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewContentLibraryItem added in v1.7.0

func NewContentLibraryItem(ctx *pulumi.Context,
	name string, args *ContentLibraryItemArgs, opts ...pulumi.ResourceOption) (*ContentLibraryItem, error)

NewContentLibraryItem registers a new resource with the given unique name, arguments, and options.

type ContentLibraryItemArgs added in v1.7.0

type ContentLibraryItemArgs struct {
	// A description for the item.
	Description pulumi.StringPtrInput
	// A list of files to download for the Content Library item.
	FileUrls pulumi.StringArrayInput
	// The ID of the Content Library the item should be created in.
	LibraryId pulumi.StringInput
	// The name of the item to be created in the Content Library.
	Name pulumi.StringPtrInput
	// Type of content library item.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a ContentLibraryItem resource.

func (ContentLibraryItemArgs) ElementType added in v1.7.0

func (ContentLibraryItemArgs) ElementType() reflect.Type

type ContentLibraryItemState added in v1.7.0

type ContentLibraryItemState struct {
	// A description for the item.
	Description pulumi.StringPtrInput
	// A list of files to download for the Content Library item.
	FileUrls pulumi.StringArrayInput
	// The ID of the Content Library the item should be created in.
	LibraryId pulumi.StringPtrInput
	// The name of the item to be created in the Content Library.
	Name pulumi.StringPtrInput
	// Type of content library item.
	Type pulumi.StringPtrInput
}

func (ContentLibraryItemState) ElementType added in v1.7.0

func (ContentLibraryItemState) ElementType() reflect.Type

type ContentLibraryState added in v1.7.0

type ContentLibraryState struct {
	// A description of the Content Library.
	Description pulumi.StringPtrInput
	// The name of the Content Library.
	Name pulumi.StringPtrInput
	// The [managed object reference ID][docs-about-morefs] on which to store Content Library
	// items.
	StorageBackings pulumi.StringArrayInput
}

func (ContentLibraryState) ElementType added in v1.7.0

func (ContentLibraryState) ElementType() reflect.Type

type CustomAttribute

type CustomAttribute struct {
	pulumi.CustomResourceState

	// The object type that this attribute may be
	// applied to. If not set, the custom attribute may be applied to any object
	// type. For a full list, click here. Forces a new
	// resource if changed.
	ManagedObjectType pulumi.StringPtrOutput `pulumi:"managedObjectType"`
	// The name of the custom attribute.
	Name pulumi.StringOutput `pulumi:"name"`
}

The `.CustomAttribute` resource can be used to create and manage custom attributes, which allow users to associate user-specific meta-information with vSphere managed objects. Custom attribute values must be strings and are stored on the vCenter Server and not the managed object.

For more information about custom attributes, click [here]ext-custom-attributes.

> **NOTE:** Custom attributes are unsupported on direct ESXi connections and require vCenter.

## Managed Object Types

The following table will help you determine what value you need to enter for the managed object type you want the attribute to apply to.

Note that if you want a attribute to apply to all objects, leave the type unspecified.

<table> <tr><th>Type</th><th>Value</th></tr> <tr><td>Folders</td><td>`Folder`</td></tr> <tr><td>Clusters</td><td>`ClusterComputeResource`</td></tr> <tr><td>Datacenters</td><td>`Datacenter`</td></tr> <tr><td>Datastores</td><td>`Datastore`</td></tr> <tr><td>Datastore Clusters</td><td>`StoragePod`</td></tr> <tr><td>DVS Portgroups</td><td>`DistributedVirtualPortgroup`</td></tr> <tr><td>Distributed vSwitches</td><td>`DistributedVirtualSwitch`<br>`VmwareDistributedVirtualSwitch`</td></tr> <tr><td>Hosts</td><td>`HostSystem`</td></tr> <tr><td>Content Libraries</td><td>`com.vmware.content.Library`</td></tr> <tr><td>Content Library Items</td><td>`com.vmware.content.library.Item`</td></tr> <tr><td>Networks</td><td>`HostNetwork`<br>`Network`<br>`OpaqueNetwork`</td></tr> <tr><td>Resource Pools</td><td>`ResourcePool`</td></tr> <tr><td>vApps</td><td>`VirtualApp`</td></tr> <tr><td>Virtual Machines</td><td>`VirtualMachine`</td></tr> </table>

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/custom_attribute.html.markdown.

func GetCustomAttribute

func GetCustomAttribute(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CustomAttributeState, opts ...pulumi.ResourceOption) (*CustomAttribute, error)

GetCustomAttribute gets an existing CustomAttribute resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCustomAttribute

func NewCustomAttribute(ctx *pulumi.Context,
	name string, args *CustomAttributeArgs, opts ...pulumi.ResourceOption) (*CustomAttribute, error)

NewCustomAttribute registers a new resource with the given unique name, arguments, and options.

type CustomAttributeArgs

type CustomAttributeArgs struct {
	// The object type that this attribute may be
	// applied to. If not set, the custom attribute may be applied to any object
	// type. For a full list, click here. Forces a new
	// resource if changed.
	ManagedObjectType pulumi.StringPtrInput
	// The name of the custom attribute.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a CustomAttribute resource.

func (CustomAttributeArgs) ElementType added in v1.5.0

func (CustomAttributeArgs) ElementType() reflect.Type

type CustomAttributeState

type CustomAttributeState struct {
	// The object type that this attribute may be
	// applied to. If not set, the custom attribute may be applied to any object
	// type. For a full list, click here. Forces a new
	// resource if changed.
	ManagedObjectType pulumi.StringPtrInput
	// The name of the custom attribute.
	Name pulumi.StringPtrInput
}

func (CustomAttributeState) ElementType added in v1.5.0

func (CustomAttributeState) ElementType() reflect.Type

type Datacenter

type Datacenter struct {
	pulumi.CustomResourceState

	// Map of custom attribute ids to value
	// strings to set for datacenter resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The folder where the datacenter should be created.
	// Forces a new resource if changed.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// [Managed object ID][docs-about-morefs] of this datacenter.
	Moid pulumi.StringOutput `pulumi:"moid"`
	// The name of the datacenter. This name needs to be unique
	// within the folder. Forces a new resource if changed.
	Name pulumi.StringOutput `pulumi:"name"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

Provides a VMware vSphere datacenter resource. This can be used as the primary container of inventory objects such as hosts and virtual machines.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/datacenter.html.markdown.

func GetDatacenter

func GetDatacenter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatacenterState, opts ...pulumi.ResourceOption) (*Datacenter, error)

GetDatacenter gets an existing Datacenter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatacenter

func NewDatacenter(ctx *pulumi.Context,
	name string, args *DatacenterArgs, opts ...pulumi.ResourceOption) (*Datacenter, error)

NewDatacenter registers a new resource with the given unique name, arguments, and options.

type DatacenterArgs

type DatacenterArgs struct {
	// Map of custom attribute ids to value
	// strings to set for datacenter resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The folder where the datacenter should be created.
	// Forces a new resource if changed.
	Folder pulumi.StringPtrInput
	// The name of the datacenter. This name needs to be unique
	// within the folder. Forces a new resource if changed.
	Name pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a Datacenter resource.

func (DatacenterArgs) ElementType added in v1.5.0

func (DatacenterArgs) ElementType() reflect.Type

type DatacenterState

type DatacenterState struct {
	// Map of custom attribute ids to value
	// strings to set for datacenter resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The folder where the datacenter should be created.
	// Forces a new resource if changed.
	Folder pulumi.StringPtrInput
	// [Managed object ID][docs-about-morefs] of this datacenter.
	Moid pulumi.StringPtrInput
	// The name of the datacenter. This name needs to be unique
	// within the folder. Forces a new resource if changed.
	Name pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

func (DatacenterState) ElementType added in v1.5.0

func (DatacenterState) ElementType() reflect.Type

type DatastoreCluster

type DatastoreCluster struct {
	pulumi.CustomResourceState

	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The [managed object ID][docs-about-morefs] of
	// the datacenter to create the datastore cluster in. Forces a new resource if
	// changed.
	DatacenterId pulumi.StringOutput `pulumi:"datacenterId"`
	// The name of the folder to locate the datastore cluster in.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// The name of the datastore cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// Advanced configuration options for storage DRS.
	SdrsAdvancedOptions pulumi.StringMapOutput `pulumi:"sdrsAdvancedOptions"`
	// The global automation level for all
	// virtual machines in this datastore cluster. Default: `manual`.
	SdrsAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsAutomationLevel"`
	// When `true`, all disks in a
	// single virtual machine will be kept on the same datastore. Default: `true`.
	SdrsDefaultIntraVmAffinity pulumi.BoolPtrOutput `pulumi:"sdrsDefaultIntraVmAffinity"`
	// Enable Storage DRS for this datastore cluster.
	// Default: `false`.
	SdrsEnabled pulumi.BoolPtrOutput `pulumi:"sdrsEnabled"`
	// The free space threshold to use.
	// When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and
	// when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default:
	// `utilization`.
	SdrsFreeSpaceThreshold pulumi.IntPtrOutput `pulumi:"sdrsFreeSpaceThreshold"`
	// The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
	// freeSpace, drs_free_space_threshold is used.
	SdrsFreeSpaceThresholdMode pulumi.StringPtrOutput `pulumi:"sdrsFreeSpaceThresholdMode"`
	// The threshold, in
	// percent, of difference between space utilization in datastores before storage
	// DRS makes decisions to balance the space. Default: `5` percent.
	SdrsFreeSpaceUtilizationDifference pulumi.IntPtrOutput `pulumi:"sdrsFreeSpaceUtilizationDifference"`
	// Overrides the default
	// automation settings when correcting I/O load imbalances.
	SdrsIoBalanceAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsIoBalanceAutomationLevel"`
	// The I/O latency threshold, in
	// milliseconds, that storage DRS uses to make recommendations to move disks
	// from this datastore. Default: `15` seconds.
	SdrsIoLatencyThreshold pulumi.IntPtrOutput `pulumi:"sdrsIoLatencyThreshold"`
	// Enable I/O load balancing for
	// this datastore cluster. Default: `true`.
	SdrsIoLoadBalanceEnabled pulumi.BoolPtrOutput `pulumi:"sdrsIoLoadBalanceEnabled"`
	// The difference between load
	// in datastores in the cluster before storage DRS makes recommendations to
	// balance the load. Default: `5` percent.
	SdrsIoLoadImbalanceThreshold pulumi.IntPtrOutput `pulumi:"sdrsIoLoadImbalanceThreshold"`
	// The threshold of reservable
	// IOPS of all virtual machines on the datastore before storage DRS makes
	// recommendations to move VMs off of a datastore. Note that this setting should
	// only be set if `sdrsIoReservablePercentThreshold` cannot make an accurate
	// estimate of the capacity of the datastores in your cluster, and should be set
	// to roughly 50-60% of the worst case peak performance of the backing LUNs.
	SdrsIoReservableIopsThreshold pulumi.IntPtrOutput `pulumi:"sdrsIoReservableIopsThreshold"`
	// The threshold, in
	// percent, of actual estimated performance of the datastore (in IOPS) that
	// storage DRS uses to make recommendations to move VMs off of a datastore when
	// the total reservable IOPS exceeds the threshold. Default: `60` percent.
	SdrsIoReservablePercentThreshold pulumi.IntPtrOutput `pulumi:"sdrsIoReservablePercentThreshold"`
	// The reservable IOPS
	// threshold setting to use, `sdrsIoReservablePercentThreshold` in the event
	// of `automatic`, or `sdrsIoReservableIopsThreshold` in the event of
	// `manual`. Default: `automatic`.
	SdrsIoReservableThresholdMode pulumi.StringPtrOutput `pulumi:"sdrsIoReservableThresholdMode"`
	// The storage DRS poll interval, in
	// minutes. Default: `480` minutes.
	SdrsLoadBalanceInterval pulumi.IntPtrOutput `pulumi:"sdrsLoadBalanceInterval"`
	// Overrides the default
	// automation settings when correcting storage and VM policy violations.
	SdrsPolicyEnforcementAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsPolicyEnforcementAutomationLevel"`
	// Overrides the default
	// automation settings when correcting affinity rule violations.
	SdrsRuleEnforcementAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsRuleEnforcementAutomationLevel"`
	// Overrides the default
	// automation settings when correcting disk space imbalances.
	SdrsSpaceBalanceAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsSpaceBalanceAutomationLevel"`
	// The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
	SdrsSpaceUtilizationThreshold pulumi.IntPtrOutput `pulumi:"sdrsSpaceUtilizationThreshold"`
	// Overrides the default
	// automation settings when generating recommendations for datastore evacuation.
	SdrsVmEvacuationAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsVmEvacuationAutomationLevel"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

The `.DatastoreCluster` resource can be used to create and manage datastore clusters. This can be used to create groups of datastores with a shared management interface, allowing for resource control and load balancing through Storage DRS.

For more information on vSphere datastore clusters and Storage DRS, see [this page]ref-vsphere-datastore-clusters.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** Storage DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/datastore_cluster.html.markdown.

func GetDatastoreCluster

func GetDatastoreCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatastoreClusterState, opts ...pulumi.ResourceOption) (*DatastoreCluster, error)

GetDatastoreCluster gets an existing DatastoreCluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatastoreCluster

func NewDatastoreCluster(ctx *pulumi.Context,
	name string, args *DatastoreClusterArgs, opts ...pulumi.ResourceOption) (*DatastoreCluster, error)

NewDatastoreCluster registers a new resource with the given unique name, arguments, and options.

type DatastoreClusterArgs

type DatastoreClusterArgs struct {
	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object ID][docs-about-morefs] of
	// the datacenter to create the datastore cluster in. Forces a new resource if
	// changed.
	DatacenterId pulumi.StringInput
	// The name of the folder to locate the datastore cluster in.
	Folder pulumi.StringPtrInput
	// The name of the datastore cluster.
	Name pulumi.StringPtrInput
	// Advanced configuration options for storage DRS.
	SdrsAdvancedOptions pulumi.StringMapInput
	// The global automation level for all
	// virtual machines in this datastore cluster. Default: `manual`.
	SdrsAutomationLevel pulumi.StringPtrInput
	// When `true`, all disks in a
	// single virtual machine will be kept on the same datastore. Default: `true`.
	SdrsDefaultIntraVmAffinity pulumi.BoolPtrInput
	// Enable Storage DRS for this datastore cluster.
	// Default: `false`.
	SdrsEnabled pulumi.BoolPtrInput
	// The free space threshold to use.
	// When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and
	// when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default:
	// `utilization`.
	SdrsFreeSpaceThreshold pulumi.IntPtrInput
	// The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
	// freeSpace, drs_free_space_threshold is used.
	SdrsFreeSpaceThresholdMode pulumi.StringPtrInput
	// The threshold, in
	// percent, of difference between space utilization in datastores before storage
	// DRS makes decisions to balance the space. Default: `5` percent.
	SdrsFreeSpaceUtilizationDifference pulumi.IntPtrInput
	// Overrides the default
	// automation settings when correcting I/O load imbalances.
	SdrsIoBalanceAutomationLevel pulumi.StringPtrInput
	// The I/O latency threshold, in
	// milliseconds, that storage DRS uses to make recommendations to move disks
	// from this datastore. Default: `15` seconds.
	SdrsIoLatencyThreshold pulumi.IntPtrInput
	// Enable I/O load balancing for
	// this datastore cluster. Default: `true`.
	SdrsIoLoadBalanceEnabled pulumi.BoolPtrInput
	// The difference between load
	// in datastores in the cluster before storage DRS makes recommendations to
	// balance the load. Default: `5` percent.
	SdrsIoLoadImbalanceThreshold pulumi.IntPtrInput
	// The threshold of reservable
	// IOPS of all virtual machines on the datastore before storage DRS makes
	// recommendations to move VMs off of a datastore. Note that this setting should
	// only be set if `sdrsIoReservablePercentThreshold` cannot make an accurate
	// estimate of the capacity of the datastores in your cluster, and should be set
	// to roughly 50-60% of the worst case peak performance of the backing LUNs.
	SdrsIoReservableIopsThreshold pulumi.IntPtrInput
	// The threshold, in
	// percent, of actual estimated performance of the datastore (in IOPS) that
	// storage DRS uses to make recommendations to move VMs off of a datastore when
	// the total reservable IOPS exceeds the threshold. Default: `60` percent.
	SdrsIoReservablePercentThreshold pulumi.IntPtrInput
	// The reservable IOPS
	// threshold setting to use, `sdrsIoReservablePercentThreshold` in the event
	// of `automatic`, or `sdrsIoReservableIopsThreshold` in the event of
	// `manual`. Default: `automatic`.
	SdrsIoReservableThresholdMode pulumi.StringPtrInput
	// The storage DRS poll interval, in
	// minutes. Default: `480` minutes.
	SdrsLoadBalanceInterval pulumi.IntPtrInput
	// Overrides the default
	// automation settings when correcting storage and VM policy violations.
	SdrsPolicyEnforcementAutomationLevel pulumi.StringPtrInput
	// Overrides the default
	// automation settings when correcting affinity rule violations.
	SdrsRuleEnforcementAutomationLevel pulumi.StringPtrInput
	// Overrides the default
	// automation settings when correcting disk space imbalances.
	SdrsSpaceBalanceAutomationLevel pulumi.StringPtrInput
	// The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
	SdrsSpaceUtilizationThreshold pulumi.IntPtrInput
	// Overrides the default
	// automation settings when generating recommendations for datastore evacuation.
	SdrsVmEvacuationAutomationLevel pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a DatastoreCluster resource.

func (DatastoreClusterArgs) ElementType added in v1.5.0

func (DatastoreClusterArgs) ElementType() reflect.Type

type DatastoreClusterState

type DatastoreClusterState struct {
	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object ID][docs-about-morefs] of
	// the datacenter to create the datastore cluster in. Forces a new resource if
	// changed.
	DatacenterId pulumi.StringPtrInput
	// The name of the folder to locate the datastore cluster in.
	Folder pulumi.StringPtrInput
	// The name of the datastore cluster.
	Name pulumi.StringPtrInput
	// Advanced configuration options for storage DRS.
	SdrsAdvancedOptions pulumi.StringMapInput
	// The global automation level for all
	// virtual machines in this datastore cluster. Default: `manual`.
	SdrsAutomationLevel pulumi.StringPtrInput
	// When `true`, all disks in a
	// single virtual machine will be kept on the same datastore. Default: `true`.
	SdrsDefaultIntraVmAffinity pulumi.BoolPtrInput
	// Enable Storage DRS for this datastore cluster.
	// Default: `false`.
	SdrsEnabled pulumi.BoolPtrInput
	// The free space threshold to use.
	// When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and
	// when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default:
	// `utilization`.
	SdrsFreeSpaceThreshold pulumi.IntPtrInput
	// The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
	// freeSpace, drs_free_space_threshold is used.
	SdrsFreeSpaceThresholdMode pulumi.StringPtrInput
	// The threshold, in
	// percent, of difference between space utilization in datastores before storage
	// DRS makes decisions to balance the space. Default: `5` percent.
	SdrsFreeSpaceUtilizationDifference pulumi.IntPtrInput
	// Overrides the default
	// automation settings when correcting I/O load imbalances.
	SdrsIoBalanceAutomationLevel pulumi.StringPtrInput
	// The I/O latency threshold, in
	// milliseconds, that storage DRS uses to make recommendations to move disks
	// from this datastore. Default: `15` seconds.
	SdrsIoLatencyThreshold pulumi.IntPtrInput
	// Enable I/O load balancing for
	// this datastore cluster. Default: `true`.
	SdrsIoLoadBalanceEnabled pulumi.BoolPtrInput
	// The difference between load
	// in datastores in the cluster before storage DRS makes recommendations to
	// balance the load. Default: `5` percent.
	SdrsIoLoadImbalanceThreshold pulumi.IntPtrInput
	// The threshold of reservable
	// IOPS of all virtual machines on the datastore before storage DRS makes
	// recommendations to move VMs off of a datastore. Note that this setting should
	// only be set if `sdrsIoReservablePercentThreshold` cannot make an accurate
	// estimate of the capacity of the datastores in your cluster, and should be set
	// to roughly 50-60% of the worst case peak performance of the backing LUNs.
	SdrsIoReservableIopsThreshold pulumi.IntPtrInput
	// The threshold, in
	// percent, of actual estimated performance of the datastore (in IOPS) that
	// storage DRS uses to make recommendations to move VMs off of a datastore when
	// the total reservable IOPS exceeds the threshold. Default: `60` percent.
	SdrsIoReservablePercentThreshold pulumi.IntPtrInput
	// The reservable IOPS
	// threshold setting to use, `sdrsIoReservablePercentThreshold` in the event
	// of `automatic`, or `sdrsIoReservableIopsThreshold` in the event of
	// `manual`. Default: `automatic`.
	SdrsIoReservableThresholdMode pulumi.StringPtrInput
	// The storage DRS poll interval, in
	// minutes. Default: `480` minutes.
	SdrsLoadBalanceInterval pulumi.IntPtrInput
	// Overrides the default
	// automation settings when correcting storage and VM policy violations.
	SdrsPolicyEnforcementAutomationLevel pulumi.StringPtrInput
	// Overrides the default
	// automation settings when correcting affinity rule violations.
	SdrsRuleEnforcementAutomationLevel pulumi.StringPtrInput
	// Overrides the default
	// automation settings when correcting disk space imbalances.
	SdrsSpaceBalanceAutomationLevel pulumi.StringPtrInput
	// The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
	SdrsSpaceUtilizationThreshold pulumi.IntPtrInput
	// Overrides the default
	// automation settings when generating recommendations for datastore evacuation.
	SdrsVmEvacuationAutomationLevel pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

func (DatastoreClusterState) ElementType added in v1.5.0

func (DatastoreClusterState) ElementType() reflect.Type

type DatastoreClusterVmAntiAffinityRule

type DatastoreClusterVmAntiAffinityRule struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster to put the group in.  Forces
	// a new resource if changed.
	DatastoreClusterId pulumi.StringOutput `pulumi:"datastoreClusterId"`
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrOutput `pulumi:"mandatory"`
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUIDs of the virtual machines to run
	// on different datastores from each other.
	VirtualMachineIds pulumi.StringArrayOutput `pulumi:"virtualMachineIds"`
}

The `.DatastoreClusterVmAntiAffinityRule` resource can be used to manage VM anti-affinity rules in a datastore cluster, either created by the [`.DatastoreCluster`][tf-vsphere-datastore-cluster-resource] resource or looked up by the [`.DatastoreCluster`][tf-vsphere-datastore-cluster-data-source] data source.

[tf-vsphere-datastore-cluster-resource]: /docs/providers/vsphere/r/datastore_cluster.html [tf-vsphere-datastore-cluster-data-source]: /docs/providers/vsphere/d/datastore_cluster.html

This rule can be used to tell a set to virtual machines to run on different datastores within a cluster, useful for preventing single points of failure in application cluster scenarios. When configured, Storage DRS will make a best effort to ensure that the virtual machines run on different datastores, or prevent any operation that would keep that from happening, depending on the value of the `mandatory` flag.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** Storage DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/datastore_cluster_vm_anti_affinity_rule.html.markdown.

func GetDatastoreClusterVmAntiAffinityRule

func GetDatastoreClusterVmAntiAffinityRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatastoreClusterVmAntiAffinityRuleState, opts ...pulumi.ResourceOption) (*DatastoreClusterVmAntiAffinityRule, error)

GetDatastoreClusterVmAntiAffinityRule gets an existing DatastoreClusterVmAntiAffinityRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatastoreClusterVmAntiAffinityRule

func NewDatastoreClusterVmAntiAffinityRule(ctx *pulumi.Context,
	name string, args *DatastoreClusterVmAntiAffinityRuleArgs, opts ...pulumi.ResourceOption) (*DatastoreClusterVmAntiAffinityRule, error)

NewDatastoreClusterVmAntiAffinityRule registers a new resource with the given unique name, arguments, and options.

type DatastoreClusterVmAntiAffinityRuleArgs

type DatastoreClusterVmAntiAffinityRuleArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster to put the group in.  Forces
	// a new resource if changed.
	DatastoreClusterId pulumi.StringInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines to run
	// on different datastores from each other.
	VirtualMachineIds pulumi.StringArrayInput
}

The set of arguments for constructing a DatastoreClusterVmAntiAffinityRule resource.

func (DatastoreClusterVmAntiAffinityRuleArgs) ElementType added in v1.5.0

type DatastoreClusterVmAntiAffinityRuleState

type DatastoreClusterVmAntiAffinityRuleState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster to put the group in.  Forces
	// a new resource if changed.
	DatastoreClusterId pulumi.StringPtrInput
	// Enable this rule in the cluster. Default: `true`.
	Enabled pulumi.BoolPtrInput
	// When this value is `true`, prevents any virtual
	// machine operations that may violate this rule. Default: `false`.
	Mandatory pulumi.BoolPtrInput
	// The name of the rule. This must be unique in the cluster.
	Name pulumi.StringPtrInput
	// The UUIDs of the virtual machines to run
	// on different datastores from each other.
	VirtualMachineIds pulumi.StringArrayInput
}

func (DatastoreClusterVmAntiAffinityRuleState) ElementType added in v1.5.0

type DistributedPortGroup

type DistributedPortGroup struct {
	pulumi.CustomResourceState

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	ActiveUplinks pulumi.StringArrayOutput `pulumi:"activeUplinks"`
	// 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.BoolOutput `pulumi:"allowForgedTransmits"`
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolOutput `pulumi:"allowMacChanges"`
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolOutput `pulumi:"allowPromiscuous"`
	// Allows the port group to create additional ports
	// past the limit specified in `numberOfPorts` if necessary. Default: `true`.
	AutoExpand pulumi.BoolPtrOutput `pulumi:"autoExpand"`
	// Indicates whether to block all ports by default.
	BlockAllPorts pulumi.BoolOutput `pulumi:"blockAllPorts"`
	// Allow the [port shutdown
	// policy][port-shutdown-policy] to be overridden on an individual port.
	BlockOverrideAllowed pulumi.BoolPtrOutput `pulumi:"blockOverrideAllowed"`
	// Enable beacon probing on the ports this policy applies to.
	CheckBeacon pulumi.BoolOutput `pulumi:"checkBeacon"`
	// Version string of the configuration that this spec is trying to change.
	ConfigVersion pulumi.StringOutput `pulumi:"configVersion"`
	// Map of custom attribute ids to attribute
	// value string to set for port group. See [here][docs-setting-custom-attributes]
	// for a reference on how to set values for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// An optional description for the port group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	DirectpathGen2Allowed pulumi.BoolOutput `pulumi:"directpathGen2Allowed"`
	// The ID of the DVS to add the
	// port group to. Forces a new resource if changed.
	DistributedVirtualSwitchUuid pulumi.StringOutput `pulumi:"distributedVirtualSwitchUuid"`
	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	EgressShapingAverageBandwidth pulumi.IntOutput `pulumi:"egressShapingAverageBandwidth"`
	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	EgressShapingBurstSize pulumi.IntOutput `pulumi:"egressShapingBurstSize"`
	// True if the traffic shaper is enabled for egress traffic on the port.
	EgressShapingEnabled pulumi.BoolOutput `pulumi:"egressShapingEnabled"`
	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth pulumi.IntOutput `pulumi:"egressShapingPeakBandwidth"`
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback pulumi.BoolOutput `pulumi:"failback"`
	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	IngressShapingAverageBandwidth pulumi.IntOutput `pulumi:"ingressShapingAverageBandwidth"`
	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	IngressShapingBurstSize pulumi.IntOutput `pulumi:"ingressShapingBurstSize"`
	// True if the traffic shaper is enabled for ingress traffic on the port.
	IngressShapingEnabled pulumi.BoolOutput `pulumi:"ingressShapingEnabled"`
	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth pulumi.IntOutput `pulumi:"ingressShapingPeakBandwidth"`
	// The generated UUID of the portgroup.
	Key pulumi.StringOutput `pulumi:"key"`
	// Whether or not to enable LACP on all uplink ports.
	LacpEnabled pulumi.BoolOutput `pulumi:"lacpEnabled"`
	// The uplink LACP mode to use. Can be one of active or passive.
	LacpMode pulumi.StringOutput `pulumi:"lacpMode"`
	// Allow a port in this port group to be
	// moved to another port group while it is connected.
	LivePortMovingAllowed pulumi.BoolPtrOutput `pulumi:"livePortMovingAllowed"`
	// The name of the port group.
	Name pulumi.StringOutput `pulumi:"name"`
	// Indicates whether to enable netflow on all ports.
	NetflowEnabled pulumi.BoolOutput `pulumi:"netflowEnabled"`
	// Allow the [Netflow
	// policy][netflow-policy] on this port group to be overridden on an individual
	// port.
	NetflowOverrideAllowed pulumi.BoolPtrOutput `pulumi:"netflowOverrideAllowed"`
	// The key of a network resource pool
	// to associate with this port group. The default is `-1`, which implies no
	// association.
	NetworkResourcePoolKey pulumi.StringPtrOutput `pulumi:"networkResourcePoolKey"`
	// Allow the network
	// resource pool set on this port group to be overridden on an individual port.
	NetworkResourcePoolOverrideAllowed pulumi.BoolPtrOutput `pulumi:"networkResourcePoolOverrideAllowed"`
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches pulumi.BoolOutput `pulumi:"notifySwitches"`
	// The number of ports available on this port
	// group. Cannot be decreased below the amount of used ports on the port group.
	NumberOfPorts pulumi.IntOutput `pulumi:"numberOfPorts"`
	// Reset a port's settings to the
	// settings defined on this port group policy when the port disconnects.
	PortConfigResetAtDisconnect pulumi.BoolPtrOutput `pulumi:"portConfigResetAtDisconnect"`
	// 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.
	PortNameFormat pulumi.StringPtrOutput `pulumi:"portNameFormat"`
	// The secondary VLAN ID for this port.
	PortPrivateSecondaryVlanId pulumi.IntOutput `pulumi:"portPrivateSecondaryVlanId"`
	// Allow the [security policy
	// settings][sec-policy-settings] defined in this port group policy to be
	// overridden on an individual port.
	SecurityPolicyOverrideAllowed pulumi.BoolPtrOutput `pulumi:"securityPolicyOverrideAllowed"`
	// Allow the [traffic shaping
	// options][traffic-shaping-settings] on this port group policy to be overridden
	// on an individual port.
	ShapingOverrideAllowed pulumi.BoolPtrOutput `pulumi:"shapingOverrideAllowed"`
	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	StandbyUplinks pulumi.StringArrayOutput `pulumi:"standbyUplinks"`
	// A list of tag IDs to apply to this object.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid,
	// failover_explicit, or loadbalance_loadbased.
	TeamingPolicy pulumi.StringOutput `pulumi:"teamingPolicy"`
	// Allow any traffic filters on
	// this port group to be overridden on an individual port.
	TrafficFilterOverrideAllowed pulumi.BoolPtrOutput `pulumi:"trafficFilterOverrideAllowed"`
	// 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.BoolOutput `pulumi:"txUplink"`
	// The port group type. Can be one of `earlyBinding` (static
	// binding) or `ephemeral`. Default: `earlyBinding`.
	Type pulumi.StringPtrOutput `pulumi:"type"`
	// Allow the [uplink teaming
	// options][uplink-teaming-settings] on this port group to be overridden on an
	// individual port.
	UplinkTeamingOverrideAllowed pulumi.BoolPtrOutput `pulumi:"uplinkTeamingOverrideAllowed"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanId pulumi.IntOutput `pulumi:"vlanId"`
	// Allow the [VLAN settings][vlan-settings]
	// on this port group to be overridden on an individual port.
	VlanOverrideAllowed pulumi.BoolPtrOutput `pulumi:"vlanOverrideAllowed"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanRanges DistributedPortGroupVlanRangeArrayOutput `pulumi:"vlanRanges"`
}

The `.DistributedPortGroup` resource can be used to manage vSphere distributed virtual port groups. These port groups are connected to distributed virtual switches, which can be managed by the [`.DistributedVirtualSwitch`][distributed-virtual-switch] resource.

Distributed port groups can be used as networks for virtual machines, allowing VMs to use the networking supplied by a distributed virtual switch (DVS), with a set of policies that apply to that individual newtork, if desired.

For an overview on vSphere networking concepts, see [this page][ref-vsphere-net-concepts]. For more information on vSphere DVS portgroups, see [this page][ref-vsphere-dvportgroup].

[distributed-virtual-switch]: /docs/providers/vsphere/r/distributed_virtual_switch.html [ref-vsphere-net-concepts]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-2B11DBB8-CB3C-4AFF-8885-EFEA0FC562F4.html [ref-vsphere-dvportgroup]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-69933F6E-2442-46CF-AA17-1196CB9A0A09.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/distributed_port_group.html.markdown.

func GetDistributedPortGroup

func GetDistributedPortGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DistributedPortGroupState, opts ...pulumi.ResourceOption) (*DistributedPortGroup, error)

GetDistributedPortGroup gets an existing DistributedPortGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDistributedPortGroup

func NewDistributedPortGroup(ctx *pulumi.Context,
	name string, args *DistributedPortGroupArgs, opts ...pulumi.ResourceOption) (*DistributedPortGroup, error)

NewDistributedPortGroup registers a new resource with the given unique name, arguments, and options.

type DistributedPortGroupArgs

type DistributedPortGroupArgs struct {
	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	ActiveUplinks pulumi.StringArrayInput
	// 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.BoolPtrInput
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrInput
	// Allows the port group to create additional ports
	// past the limit specified in `numberOfPorts` if necessary. Default: `true`.
	AutoExpand pulumi.BoolPtrInput
	// Indicates whether to block all ports by default.
	BlockAllPorts pulumi.BoolPtrInput
	// Allow the [port shutdown
	// policy][port-shutdown-policy] to be overridden on an individual port.
	BlockOverrideAllowed pulumi.BoolPtrInput
	// Enable beacon probing on the ports this policy applies to.
	CheckBeacon pulumi.BoolPtrInput
	// Map of custom attribute ids to attribute
	// value string to set for port group. See [here][docs-setting-custom-attributes]
	// for a reference on how to set values for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// An optional description for the port group.
	Description pulumi.StringPtrInput
	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	DirectpathGen2Allowed pulumi.BoolPtrInput
	// The ID of the DVS to add the
	// port group to. Forces a new resource if changed.
	DistributedVirtualSwitchUuid pulumi.StringInput
	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	EgressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	EgressShapingBurstSize pulumi.IntPtrInput
	// True if the traffic shaper is enabled for egress traffic on the port.
	EgressShapingEnabled pulumi.BoolPtrInput
	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth pulumi.IntPtrInput
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback pulumi.BoolPtrInput
	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	IngressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	IngressShapingBurstSize pulumi.IntPtrInput
	// True if the traffic shaper is enabled for ingress traffic on the port.
	IngressShapingEnabled pulumi.BoolPtrInput
	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth pulumi.IntPtrInput
	// Whether or not to enable LACP on all uplink ports.
	LacpEnabled pulumi.BoolPtrInput
	// The uplink LACP mode to use. Can be one of active or passive.
	LacpMode pulumi.StringPtrInput
	// Allow a port in this port group to be
	// moved to another port group while it is connected.
	LivePortMovingAllowed pulumi.BoolPtrInput
	// The name of the port group.
	Name pulumi.StringPtrInput
	// Indicates whether to enable netflow on all ports.
	NetflowEnabled pulumi.BoolPtrInput
	// Allow the [Netflow
	// policy][netflow-policy] on this port group to be overridden on an individual
	// port.
	NetflowOverrideAllowed pulumi.BoolPtrInput
	// The key of a network resource pool
	// to associate with this port group. The default is `-1`, which implies no
	// association.
	NetworkResourcePoolKey pulumi.StringPtrInput
	// Allow the network
	// resource pool set on this port group to be overridden on an individual port.
	NetworkResourcePoolOverrideAllowed pulumi.BoolPtrInput
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrInput
	// The number of ports available on this port
	// group. Cannot be decreased below the amount of used ports on the port group.
	NumberOfPorts pulumi.IntPtrInput
	// Reset a port's settings to the
	// settings defined on this port group policy when the port disconnects.
	PortConfigResetAtDisconnect pulumi.BoolPtrInput
	// 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.
	PortNameFormat pulumi.StringPtrInput
	// The secondary VLAN ID for this port.
	PortPrivateSecondaryVlanId pulumi.IntPtrInput
	// Allow the [security policy
	// settings][sec-policy-settings] defined in this port group policy to be
	// overridden on an individual port.
	SecurityPolicyOverrideAllowed pulumi.BoolPtrInput
	// Allow the [traffic shaping
	// options][traffic-shaping-settings] on this port group policy to be overridden
	// on an individual port.
	ShapingOverrideAllowed pulumi.BoolPtrInput
	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	StandbyUplinks pulumi.StringArrayInput
	// A list of tag IDs to apply to this object.
	Tags pulumi.StringArrayInput
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid,
	// failover_explicit, or loadbalance_loadbased.
	TeamingPolicy pulumi.StringPtrInput
	// Allow any traffic filters on
	// this port group to be overridden on an individual port.
	TrafficFilterOverrideAllowed pulumi.BoolPtrInput
	// 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.BoolPtrInput
	// The port group type. Can be one of `earlyBinding` (static
	// binding) or `ephemeral`. Default: `earlyBinding`.
	Type pulumi.StringPtrInput
	// Allow the [uplink teaming
	// options][uplink-teaming-settings] on this port group to be overridden on an
	// individual port.
	UplinkTeamingOverrideAllowed pulumi.BoolPtrInput
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanId pulumi.IntPtrInput
	// Allow the [VLAN settings][vlan-settings]
	// on this port group to be overridden on an individual port.
	VlanOverrideAllowed pulumi.BoolPtrInput
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanRanges DistributedPortGroupVlanRangeArrayInput
}

The set of arguments for constructing a DistributedPortGroup resource.

func (DistributedPortGroupArgs) ElementType added in v1.5.0

func (DistributedPortGroupArgs) ElementType() reflect.Type

type DistributedPortGroupState

type DistributedPortGroupState struct {
	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	ActiveUplinks pulumi.StringArrayInput
	// 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.BoolPtrInput
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrInput
	// Allows the port group to create additional ports
	// past the limit specified in `numberOfPorts` if necessary. Default: `true`.
	AutoExpand pulumi.BoolPtrInput
	// Indicates whether to block all ports by default.
	BlockAllPorts pulumi.BoolPtrInput
	// Allow the [port shutdown
	// policy][port-shutdown-policy] to be overridden on an individual port.
	BlockOverrideAllowed pulumi.BoolPtrInput
	// Enable beacon probing on the ports this policy applies to.
	CheckBeacon pulumi.BoolPtrInput
	// Version string of the configuration that this spec is trying to change.
	ConfigVersion pulumi.StringPtrInput
	// Map of custom attribute ids to attribute
	// value string to set for port group. See [here][docs-setting-custom-attributes]
	// for a reference on how to set values for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// An optional description for the port group.
	Description pulumi.StringPtrInput
	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	DirectpathGen2Allowed pulumi.BoolPtrInput
	// The ID of the DVS to add the
	// port group to. Forces a new resource if changed.
	DistributedVirtualSwitchUuid pulumi.StringPtrInput
	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	EgressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	EgressShapingBurstSize pulumi.IntPtrInput
	// True if the traffic shaper is enabled for egress traffic on the port.
	EgressShapingEnabled pulumi.BoolPtrInput
	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth pulumi.IntPtrInput
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback pulumi.BoolPtrInput
	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	IngressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	IngressShapingBurstSize pulumi.IntPtrInput
	// True if the traffic shaper is enabled for ingress traffic on the port.
	IngressShapingEnabled pulumi.BoolPtrInput
	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth pulumi.IntPtrInput
	// The generated UUID of the portgroup.
	Key pulumi.StringPtrInput
	// Whether or not to enable LACP on all uplink ports.
	LacpEnabled pulumi.BoolPtrInput
	// The uplink LACP mode to use. Can be one of active or passive.
	LacpMode pulumi.StringPtrInput
	// Allow a port in this port group to be
	// moved to another port group while it is connected.
	LivePortMovingAllowed pulumi.BoolPtrInput
	// The name of the port group.
	Name pulumi.StringPtrInput
	// Indicates whether to enable netflow on all ports.
	NetflowEnabled pulumi.BoolPtrInput
	// Allow the [Netflow
	// policy][netflow-policy] on this port group to be overridden on an individual
	// port.
	NetflowOverrideAllowed pulumi.BoolPtrInput
	// The key of a network resource pool
	// to associate with this port group. The default is `-1`, which implies no
	// association.
	NetworkResourcePoolKey pulumi.StringPtrInput
	// Allow the network
	// resource pool set on this port group to be overridden on an individual port.
	NetworkResourcePoolOverrideAllowed pulumi.BoolPtrInput
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrInput
	// The number of ports available on this port
	// group. Cannot be decreased below the amount of used ports on the port group.
	NumberOfPorts pulumi.IntPtrInput
	// Reset a port's settings to the
	// settings defined on this port group policy when the port disconnects.
	PortConfigResetAtDisconnect pulumi.BoolPtrInput
	// 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.
	PortNameFormat pulumi.StringPtrInput
	// The secondary VLAN ID for this port.
	PortPrivateSecondaryVlanId pulumi.IntPtrInput
	// Allow the [security policy
	// settings][sec-policy-settings] defined in this port group policy to be
	// overridden on an individual port.
	SecurityPolicyOverrideAllowed pulumi.BoolPtrInput
	// Allow the [traffic shaping
	// options][traffic-shaping-settings] on this port group policy to be overridden
	// on an individual port.
	ShapingOverrideAllowed pulumi.BoolPtrInput
	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	StandbyUplinks pulumi.StringArrayInput
	// A list of tag IDs to apply to this object.
	Tags pulumi.StringArrayInput
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid,
	// failover_explicit, or loadbalance_loadbased.
	TeamingPolicy pulumi.StringPtrInput
	// Allow any traffic filters on
	// this port group to be overridden on an individual port.
	TrafficFilterOverrideAllowed pulumi.BoolPtrInput
	// 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.BoolPtrInput
	// The port group type. Can be one of `earlyBinding` (static
	// binding) or `ephemeral`. Default: `earlyBinding`.
	Type pulumi.StringPtrInput
	// Allow the [uplink teaming
	// options][uplink-teaming-settings] on this port group to be overridden on an
	// individual port.
	UplinkTeamingOverrideAllowed pulumi.BoolPtrInput
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanId pulumi.IntPtrInput
	// Allow the [VLAN settings][vlan-settings]
	// on this port group to be overridden on an individual port.
	VlanOverrideAllowed pulumi.BoolPtrInput
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanRanges DistributedPortGroupVlanRangeArrayInput
}

func (DistributedPortGroupState) ElementType added in v1.5.0

func (DistributedPortGroupState) ElementType() reflect.Type

type DistributedPortGroupVlanRange added in v1.5.0

type DistributedPortGroupVlanRange struct {
	MaxVlan int `pulumi:"maxVlan"`
	MinVlan int `pulumi:"minVlan"`
}

type DistributedPortGroupVlanRangeArgs added in v1.5.0

type DistributedPortGroupVlanRangeArgs struct {
	MaxVlan pulumi.IntInput `pulumi:"maxVlan"`
	MinVlan pulumi.IntInput `pulumi:"minVlan"`
}

func (DistributedPortGroupVlanRangeArgs) ElementType added in v1.5.0

func (DistributedPortGroupVlanRangeArgs) ToDistributedPortGroupVlanRangeOutput added in v1.5.0

func (i DistributedPortGroupVlanRangeArgs) ToDistributedPortGroupVlanRangeOutput() DistributedPortGroupVlanRangeOutput

func (DistributedPortGroupVlanRangeArgs) ToDistributedPortGroupVlanRangeOutputWithContext added in v1.5.0

func (i DistributedPortGroupVlanRangeArgs) ToDistributedPortGroupVlanRangeOutputWithContext(ctx context.Context) DistributedPortGroupVlanRangeOutput

type DistributedPortGroupVlanRangeArray added in v1.5.0

type DistributedPortGroupVlanRangeArray []DistributedPortGroupVlanRangeInput

func (DistributedPortGroupVlanRangeArray) ElementType added in v1.5.0

func (DistributedPortGroupVlanRangeArray) ToDistributedPortGroupVlanRangeArrayOutput added in v1.5.0

func (i DistributedPortGroupVlanRangeArray) ToDistributedPortGroupVlanRangeArrayOutput() DistributedPortGroupVlanRangeArrayOutput

func (DistributedPortGroupVlanRangeArray) ToDistributedPortGroupVlanRangeArrayOutputWithContext added in v1.5.0

func (i DistributedPortGroupVlanRangeArray) ToDistributedPortGroupVlanRangeArrayOutputWithContext(ctx context.Context) DistributedPortGroupVlanRangeArrayOutput

type DistributedPortGroupVlanRangeArrayInput added in v1.5.0

type DistributedPortGroupVlanRangeArrayInput interface {
	pulumi.Input

	ToDistributedPortGroupVlanRangeArrayOutput() DistributedPortGroupVlanRangeArrayOutput
	ToDistributedPortGroupVlanRangeArrayOutputWithContext(context.Context) DistributedPortGroupVlanRangeArrayOutput
}

type DistributedPortGroupVlanRangeArrayOutput added in v1.5.0

type DistributedPortGroupVlanRangeArrayOutput struct{ *pulumi.OutputState }

func (DistributedPortGroupVlanRangeArrayOutput) ElementType added in v1.5.0

func (DistributedPortGroupVlanRangeArrayOutput) Index added in v1.5.0

func (DistributedPortGroupVlanRangeArrayOutput) ToDistributedPortGroupVlanRangeArrayOutput added in v1.5.0

func (o DistributedPortGroupVlanRangeArrayOutput) ToDistributedPortGroupVlanRangeArrayOutput() DistributedPortGroupVlanRangeArrayOutput

func (DistributedPortGroupVlanRangeArrayOutput) ToDistributedPortGroupVlanRangeArrayOutputWithContext added in v1.5.0

func (o DistributedPortGroupVlanRangeArrayOutput) ToDistributedPortGroupVlanRangeArrayOutputWithContext(ctx context.Context) DistributedPortGroupVlanRangeArrayOutput

type DistributedPortGroupVlanRangeInput added in v1.5.0

type DistributedPortGroupVlanRangeInput interface {
	pulumi.Input

	ToDistributedPortGroupVlanRangeOutput() DistributedPortGroupVlanRangeOutput
	ToDistributedPortGroupVlanRangeOutputWithContext(context.Context) DistributedPortGroupVlanRangeOutput
}

type DistributedPortGroupVlanRangeOutput added in v1.5.0

type DistributedPortGroupVlanRangeOutput struct{ *pulumi.OutputState }

func (DistributedPortGroupVlanRangeOutput) ElementType added in v1.5.0

func (DistributedPortGroupVlanRangeOutput) MaxVlan added in v1.5.0

func (DistributedPortGroupVlanRangeOutput) MinVlan added in v1.5.0

func (DistributedPortGroupVlanRangeOutput) ToDistributedPortGroupVlanRangeOutput added in v1.5.0

func (o DistributedPortGroupVlanRangeOutput) ToDistributedPortGroupVlanRangeOutput() DistributedPortGroupVlanRangeOutput

func (DistributedPortGroupVlanRangeOutput) ToDistributedPortGroupVlanRangeOutputWithContext added in v1.5.0

func (o DistributedPortGroupVlanRangeOutput) ToDistributedPortGroupVlanRangeOutputWithContext(ctx context.Context) DistributedPortGroupVlanRangeOutput

type DistributedVirtualSwitch

type DistributedVirtualSwitch struct {
	pulumi.CustomResourceState

	// A list of active uplinks to be used in load
	// balancing. These uplinks need to match the definitions in the
	// `uplinks` DVS argument. See
	// here for more details.
	ActiveUplinks pulumi.StringArrayOutput `pulumi:"activeUplinks"`
	// Controls whether or not a virtual
	// network adapter is allowed to send network traffic with a different MAC
	// address than that of its own.
	AllowForgedTransmits pulumi.BoolOutput `pulumi:"allowForgedTransmits"`
	// Controls whether or not the Media Access
	// Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolOutput `pulumi:"allowMacChanges"`
	// Enable promiscuous mode on the network. This
	// flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolOutput `pulumi:"allowPromiscuous"`
	// Shuts down all ports in the port groups that
	// this policy applies to, effectively blocking all network access to connected
	// virtual devices.
	BlockAllPorts pulumi.BoolOutput `pulumi:"blockAllPorts"`
	// Enables beacon probing as an additional measure
	// to detect NIC failure.
	CheckBeacon pulumi.BoolOutput `pulumi:"checkBeacon"`
	// The version string of the configuration that this spec is trying to change.
	ConfigVersion pulumi.StringOutput `pulumi:"configVersion"`
	// The detailed contact information for the person
	// who is responsible for the DVS.
	ContactDetail pulumi.StringPtrOutput `pulumi:"contactDetail"`
	// The name of the person who is responsible for the
	// DVS.
	ContactName pulumi.StringPtrOutput `pulumi:"contactName"`
	// Map of custom attribute ids to attribute
	// value strings to set for virtual switch. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The ID of the datacenter where the distributed
	// virtual switch will be created. Forces a new resource if changed.
	DatacenterId pulumi.StringOutput `pulumi:"datacenterId"`
	// A detailed description for the DVS.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Allow VMDirectPath Gen2 for the ports
	// for which this policy applies to.
	DirectpathGen2Allowed pulumi.BoolOutput `pulumi:"directpathGen2Allowed"`
	// The average bandwidth in bits
	// per second if egress traffic shaping is enabled on the port.
	EgressShapingAverageBandwidth pulumi.IntOutput `pulumi:"egressShapingAverageBandwidth"`
	// The maximum burst size allowed in
	// bytes if egress traffic shaping is enabled on the port.
	EgressShapingBurstSize pulumi.IntOutput `pulumi:"egressShapingBurstSize"`
	// `true` if the traffic shaper is enabled
	// on the port for egress traffic.
	EgressShapingEnabled pulumi.BoolOutput `pulumi:"egressShapingEnabled"`
	// The peak bandwidth during bursts
	// in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth pulumi.IntOutput `pulumi:"egressShapingPeakBandwidth"`
	// If `true`, the teaming policy will re-activate failed
	// uplinks higher in precedence when they come back up.
	Failback pulumi.BoolOutput `pulumi:"failback"`
	// The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceMaximumMbit pulumi.IntOutput `pulumi:"faulttoleranceMaximumMbit"`
	// The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceReservationMbit pulumi.IntOutput `pulumi:"faulttoleranceReservationMbit"`
	// The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
	FaulttoleranceShareCount pulumi.IntOutput `pulumi:"faulttoleranceShareCount"`
	// The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
	FaulttoleranceShareLevel pulumi.StringOutput `pulumi:"faulttoleranceShareLevel"`
	// The folder to create the DVS in. Forces a new resource
	// if changed.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// The maximum allowed usage for the hbr traffic class, in Mbits/sec.
	HbrMaximumMbit pulumi.IntOutput `pulumi:"hbrMaximumMbit"`
	// The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
	HbrReservationMbit pulumi.IntOutput `pulumi:"hbrReservationMbit"`
	// The amount of shares to allocate to the hbr traffic class for a custom share level.
	HbrShareCount pulumi.IntOutput `pulumi:"hbrShareCount"`
	// The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
	HbrShareLevel pulumi.StringOutput `pulumi:"hbrShareLevel"`
	// Use the `host` block to declare a host specification. The
	// options are:
	Hosts DistributedVirtualSwitchHostArrayOutput `pulumi:"hosts"`
	// The average bandwidth in
	// bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingAverageBandwidth pulumi.IntOutput `pulumi:"ingressShapingAverageBandwidth"`
	// The maximum burst size allowed in
	// bytes if ingress traffic shaping is enabled on the port.
	IngressShapingBurstSize pulumi.IntOutput `pulumi:"ingressShapingBurstSize"`
	// `true` if the traffic shaper is
	// enabled on the port for ingress traffic.
	IngressShapingEnabled pulumi.BoolOutput `pulumi:"ingressShapingEnabled"`
	// The peak bandwidth during
	// bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth pulumi.IntOutput `pulumi:"ingressShapingPeakBandwidth"`
	// An IPv4 address to identify the switch. This is
	// mostly useful when used with the Netflow arguments found
	// below.
	Ipv4Address pulumi.StringPtrOutput `pulumi:"ipv4Address"`
	// The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
	IscsiMaximumMbit pulumi.IntOutput `pulumi:"iscsiMaximumMbit"`
	// The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
	IscsiReservationMbit pulumi.IntOutput `pulumi:"iscsiReservationMbit"`
	// The amount of shares to allocate to the iSCSI traffic class for a custom share level.
	IscsiShareCount pulumi.IntOutput `pulumi:"iscsiShareCount"`
	// The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
	IscsiShareLevel pulumi.StringOutput `pulumi:"iscsiShareLevel"`
	// The Link Aggregation Control Protocol group
	// version to use with the switch. Possible values are `singleLag` and
	// `multipleLag`.
	LacpApiVersion pulumi.StringOutput `pulumi:"lacpApiVersion"`
	// Enables LACP for the ports that this policy
	// applies to.
	LacpEnabled pulumi.BoolOutput `pulumi:"lacpEnabled"`
	// The LACP mode. Can be one of `active` or `passive`.
	LacpMode pulumi.StringOutput `pulumi:"lacpMode"`
	// Whether to `advertise` or `listen`
	// for link discovery traffic.
	LinkDiscoveryOperation pulumi.StringPtrOutput `pulumi:"linkDiscoveryOperation"`
	// The discovery protocol type. Valid
	// types are `cdp` and `lldp`.
	LinkDiscoveryProtocol pulumi.StringPtrOutput `pulumi:"linkDiscoveryProtocol"`
	// The maximum allowed usage for the management traffic class, in Mbits/sec.
	ManagementMaximumMbit pulumi.IntOutput `pulumi:"managementMaximumMbit"`
	// The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
	ManagementReservationMbit pulumi.IntOutput `pulumi:"managementReservationMbit"`
	// The amount of shares to allocate to the management traffic class for a custom share level.
	ManagementShareCount pulumi.IntOutput `pulumi:"managementShareCount"`
	// The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
	ManagementShareLevel pulumi.StringOutput `pulumi:"managementShareLevel"`
	// The maximum transmission unit (MTU) for the virtual
	// switch.
	MaxMtu pulumi.IntOutput `pulumi:"maxMtu"`
	// The multicast filtering mode to use
	// with the switch. Can be one of `legacyFiltering` or `snooping`.
	MulticastFilteringMode pulumi.StringOutput `pulumi:"multicastFilteringMode"`
	// The name of the distributed virtual switch.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of seconds after which
	// active flows are forced to be exported to the collector. Allowed range is
	// `60` to `3600`. Default: `60`.
	NetflowActiveFlowTimeout pulumi.IntPtrOutput `pulumi:"netflowActiveFlowTimeout"`
	// IP address for the Netflow
	// collector, using IPv4 or IPv6. IPv6 is supported in vSphere Distributed
	// Switch Version 6.0 or later. Must be set before Netflow can be enabled.
	NetflowCollectorIpAddress pulumi.StringPtrOutput `pulumi:"netflowCollectorIpAddress"`
	// Port for the Netflow collector. This
	// must be set before Netflow can be enabled.
	NetflowCollectorPort pulumi.IntPtrOutput `pulumi:"netflowCollectorPort"`
	// Enables Netflow on all ports that this policy
	// applies to.
	NetflowEnabled pulumi.BoolOutput `pulumi:"netflowEnabled"`
	// The number of seconds after which
	// idle flows are forced to be exported to the collector. Allowed range is `10`
	// to `600`. Default: `15`.
	NetflowIdleFlowTimeout pulumi.IntPtrOutput `pulumi:"netflowIdleFlowTimeout"`
	// Whether to limit analysis to
	// traffic that has both source and destination served by the same host.
	// Default: `false`.
	NetflowInternalFlowsOnly pulumi.BoolPtrOutput `pulumi:"netflowInternalFlowsOnly"`
	// The observation domain ID for
	// the Netflow collector.
	NetflowObservationDomainId pulumi.IntPtrOutput `pulumi:"netflowObservationDomainId"`
	// The ratio of total number of packets to
	// the number of packets analyzed. The default is `0`, which indicates that the
	// switch should analyze all packets. The maximum value is `1000`, which
	// indicates an analysis rate of 0.001%.
	NetflowSamplingRate pulumi.IntPtrOutput `pulumi:"netflowSamplingRate"`
	// Set to `true` to enable
	// network I/O control. Default: `false`.
	NetworkResourceControlEnabled pulumi.BoolPtrOutput `pulumi:"networkResourceControlEnabled"`
	// The version of network I/O
	// control to use. Can be one of `version2` or `version3`. Default: `version2`.
	NetworkResourceControlVersion pulumi.StringOutput `pulumi:"networkResourceControlVersion"`
	// The maximum allowed usage for the nfs traffic class, in Mbits/sec.
	NfsMaximumMbit pulumi.IntOutput `pulumi:"nfsMaximumMbit"`
	// The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
	NfsReservationMbit pulumi.IntOutput `pulumi:"nfsReservationMbit"`
	// The amount of shares to allocate to the nfs traffic class for a custom share level.
	NfsShareCount pulumi.IntOutput `pulumi:"nfsShareCount"`
	// The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
	NfsShareLevel pulumi.StringOutput `pulumi:"nfsShareLevel"`
	// If `true`, the teaming policy will notify the
	// broadcast network of an uplink failover, triggering cache updates.
	NotifySwitches pulumi.BoolOutput `pulumi:"notifySwitches"`
	// Used to define a secondary VLAN
	// ID when using private VLANs.
	PortPrivateSecondaryVlanId pulumi.IntOutput `pulumi:"portPrivateSecondaryVlanId"`
	// A list of standby uplinks to be used in
	// failover. These uplinks need to match the definitions in the
	// `uplinks` DVS argument. See
	// here for more details.
	StandbyUplinks pulumi.StringArrayOutput `pulumi:"standbyUplinks"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The uplink teaming policy. Can be one of
	// `loadbalanceIp`, `loadbalanceSrcmac`, `loadbalanceSrcid`, or
	// `failoverExplicit`.
	TeamingPolicy pulumi.StringOutput `pulumi:"teamingPolicy"`
	// Forward all traffic transmitted by ports for which
	// this policy applies to its DVS uplinks.
	TxUplink pulumi.BoolOutput `pulumi:"txUplink"`
	// A list of strings that uniquely identifies the names
	// of the uplinks on the DVS across hosts. The number of items in this list
	// controls the number of uplinks that exist on the DVS, in addition to the
	// names.  See here for an example on how to
	// use this option.
	Uplinks pulumi.StringArrayOutput `pulumi:"uplinks"`
	// The maximum allowed usage for the vdp traffic class, in Mbits/sec.
	VdpMaximumMbit pulumi.IntOutput `pulumi:"vdpMaximumMbit"`
	// The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
	VdpReservationMbit pulumi.IntOutput `pulumi:"vdpReservationMbit"`
	// The amount of shares to allocate to the vdp traffic class for a custom share level.
	VdpShareCount pulumi.IntOutput `pulumi:"vdpShareCount"`
	// The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
	VdpShareLevel pulumi.StringOutput `pulumi:"vdpShareLevel"`
	// - The version of the DVS to create. The default is to
	// create the DVS at the latest version supported by the version of vSphere
	// being used. A DVS can be upgraded to another version, but cannot be
	// downgraded.
	Version pulumi.StringOutput `pulumi:"version"`
	// The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineMaximumMbit pulumi.IntOutput `pulumi:"virtualmachineMaximumMbit"`
	// The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineReservationMbit pulumi.IntOutput `pulumi:"virtualmachineReservationMbit"`
	// The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
	VirtualmachineShareCount pulumi.IntOutput `pulumi:"virtualmachineShareCount"`
	// The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
	VirtualmachineShareLevel pulumi.StringOutput `pulumi:"virtualmachineShareLevel"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanId pulumi.IntOutput `pulumi:"vlanId"`
	// Used to denote VLAN trunking. Use the `minVlan`
	// and `maxVlan` sub-arguments to define the tagged VLAN range. Multiple
	// `vlanRange` definitions are allowed, but they must not overlap. Example
	// below:
	VlanRanges DistributedVirtualSwitchVlanRangeArrayOutput `pulumi:"vlanRanges"`
	// The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
	VmotionMaximumMbit pulumi.IntOutput `pulumi:"vmotionMaximumMbit"`
	// The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
	VmotionReservationMbit pulumi.IntOutput `pulumi:"vmotionReservationMbit"`
	// The amount of shares to allocate to the vmotion traffic class for a custom share level.
	VmotionShareCount pulumi.IntOutput `pulumi:"vmotionShareCount"`
	// The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
	VmotionShareLevel pulumi.StringOutput `pulumi:"vmotionShareLevel"`
	// The maximum allowed usage for the vsan traffic class, in Mbits/sec.
	VsanMaximumMbit pulumi.IntOutput `pulumi:"vsanMaximumMbit"`
	// The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
	VsanReservationMbit pulumi.IntOutput `pulumi:"vsanReservationMbit"`
	// The amount of shares to allocate to the vsan traffic class for a custom share level.
	VsanShareCount pulumi.IntOutput `pulumi:"vsanShareCount"`
	// The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
	VsanShareLevel pulumi.StringOutput `pulumi:"vsanShareLevel"`
}

The `.DistributedVirtualSwitch` resource can be used to manage VMware Distributed Virtual Switches.

An essential component of a distributed, scalable VMware datacenter, the vSphere Distributed Virtual Switch (DVS) provides centralized management and monitoring of the networking configuration of all the hosts that are associated with the switch. In addition to adding port groups (see the [`.DistributedPortGroup`][distributed-port-group] resource) that can be used as networks for virtual machines, a DVS can be configured to perform advanced high availability, traffic shaping, network monitoring, and more.

For an overview on vSphere networking concepts, see [this page][ref-vsphere-net-concepts]. For more information on vSphere DVS, see [this page][ref-vsphere-dvs].

[distributed-port-group]: /docs/providers/vsphere/r/distributed_port_group.html [ref-vsphere-net-concepts]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-2B11DBB8-CB3C-4AFF-8885-EFEA0FC562F4.html [ref-vsphere-dvs]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-375B45C7-684C-4C51-BA3C-70E48DFABF04.html

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/distributed_virtual_switch.html.markdown.

func GetDistributedVirtualSwitch

func GetDistributedVirtualSwitch(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DistributedVirtualSwitchState, opts ...pulumi.ResourceOption) (*DistributedVirtualSwitch, error)

GetDistributedVirtualSwitch gets an existing DistributedVirtualSwitch resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDistributedVirtualSwitch

func NewDistributedVirtualSwitch(ctx *pulumi.Context,
	name string, args *DistributedVirtualSwitchArgs, opts ...pulumi.ResourceOption) (*DistributedVirtualSwitch, error)

NewDistributedVirtualSwitch registers a new resource with the given unique name, arguments, and options.

type DistributedVirtualSwitchArgs

type DistributedVirtualSwitchArgs struct {
	// A list of active uplinks to be used in load
	// balancing. These uplinks need to match the definitions in the
	// `uplinks` DVS argument. See
	// here for more details.
	ActiveUplinks pulumi.StringArrayInput
	// Controls whether or not a virtual
	// network adapter is allowed to send network traffic with a different MAC
	// address than that of its own.
	AllowForgedTransmits pulumi.BoolPtrInput
	// Controls whether or not the Media Access
	// Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This
	// flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrInput
	// Shuts down all ports in the port groups that
	// this policy applies to, effectively blocking all network access to connected
	// virtual devices.
	BlockAllPorts pulumi.BoolPtrInput
	// Enables beacon probing as an additional measure
	// to detect NIC failure.
	CheckBeacon pulumi.BoolPtrInput
	// The detailed contact information for the person
	// who is responsible for the DVS.
	ContactDetail pulumi.StringPtrInput
	// The name of the person who is responsible for the
	// DVS.
	ContactName pulumi.StringPtrInput
	// Map of custom attribute ids to attribute
	// value strings to set for virtual switch. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The ID of the datacenter where the distributed
	// virtual switch will be created. Forces a new resource if changed.
	DatacenterId pulumi.StringInput
	// A detailed description for the DVS.
	Description pulumi.StringPtrInput
	// Allow VMDirectPath Gen2 for the ports
	// for which this policy applies to.
	DirectpathGen2Allowed pulumi.BoolPtrInput
	// The average bandwidth in bits
	// per second if egress traffic shaping is enabled on the port.
	EgressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in
	// bytes if egress traffic shaping is enabled on the port.
	EgressShapingBurstSize pulumi.IntPtrInput
	// `true` if the traffic shaper is enabled
	// on the port for egress traffic.
	EgressShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during bursts
	// in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth pulumi.IntPtrInput
	// If `true`, the teaming policy will re-activate failed
	// uplinks higher in precedence when they come back up.
	Failback pulumi.BoolPtrInput
	// The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
	FaulttoleranceShareCount pulumi.IntPtrInput
	// The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
	FaulttoleranceShareLevel pulumi.StringPtrInput
	// The folder to create the DVS in. Forces a new resource
	// if changed.
	Folder pulumi.StringPtrInput
	// The maximum allowed usage for the hbr traffic class, in Mbits/sec.
	HbrMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
	HbrReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the hbr traffic class for a custom share level.
	HbrShareCount pulumi.IntPtrInput
	// The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
	HbrShareLevel pulumi.StringPtrInput
	// Use the `host` block to declare a host specification. The
	// options are:
	Hosts DistributedVirtualSwitchHostArrayInput
	// The average bandwidth in
	// bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in
	// bytes if ingress traffic shaping is enabled on the port.
	IngressShapingBurstSize pulumi.IntPtrInput
	// `true` if the traffic shaper is
	// enabled on the port for ingress traffic.
	IngressShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during
	// bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth pulumi.IntPtrInput
	// An IPv4 address to identify the switch. This is
	// mostly useful when used with the Netflow arguments found
	// below.
	Ipv4Address pulumi.StringPtrInput
	// The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
	IscsiMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
	IscsiReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the iSCSI traffic class for a custom share level.
	IscsiShareCount pulumi.IntPtrInput
	// The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
	IscsiShareLevel pulumi.StringPtrInput
	// The Link Aggregation Control Protocol group
	// version to use with the switch. Possible values are `singleLag` and
	// `multipleLag`.
	LacpApiVersion pulumi.StringPtrInput
	// Enables LACP for the ports that this policy
	// applies to.
	LacpEnabled pulumi.BoolPtrInput
	// The LACP mode. Can be one of `active` or `passive`.
	LacpMode pulumi.StringPtrInput
	// Whether to `advertise` or `listen`
	// for link discovery traffic.
	LinkDiscoveryOperation pulumi.StringPtrInput
	// The discovery protocol type. Valid
	// types are `cdp` and `lldp`.
	LinkDiscoveryProtocol pulumi.StringPtrInput
	// The maximum allowed usage for the management traffic class, in Mbits/sec.
	ManagementMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
	ManagementReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the management traffic class for a custom share level.
	ManagementShareCount pulumi.IntPtrInput
	// The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
	ManagementShareLevel pulumi.StringPtrInput
	// The maximum transmission unit (MTU) for the virtual
	// switch.
	MaxMtu pulumi.IntPtrInput
	// The multicast filtering mode to use
	// with the switch. Can be one of `legacyFiltering` or `snooping`.
	MulticastFilteringMode pulumi.StringPtrInput
	// The name of the distributed virtual switch.
	Name pulumi.StringPtrInput
	// The number of seconds after which
	// active flows are forced to be exported to the collector. Allowed range is
	// `60` to `3600`. Default: `60`.
	NetflowActiveFlowTimeout pulumi.IntPtrInput
	// IP address for the Netflow
	// collector, using IPv4 or IPv6. IPv6 is supported in vSphere Distributed
	// Switch Version 6.0 or later. Must be set before Netflow can be enabled.
	NetflowCollectorIpAddress pulumi.StringPtrInput
	// Port for the Netflow collector. This
	// must be set before Netflow can be enabled.
	NetflowCollectorPort pulumi.IntPtrInput
	// Enables Netflow on all ports that this policy
	// applies to.
	NetflowEnabled pulumi.BoolPtrInput
	// The number of seconds after which
	// idle flows are forced to be exported to the collector. Allowed range is `10`
	// to `600`. Default: `15`.
	NetflowIdleFlowTimeout pulumi.IntPtrInput
	// Whether to limit analysis to
	// traffic that has both source and destination served by the same host.
	// Default: `false`.
	NetflowInternalFlowsOnly pulumi.BoolPtrInput
	// The observation domain ID for
	// the Netflow collector.
	NetflowObservationDomainId pulumi.IntPtrInput
	// The ratio of total number of packets to
	// the number of packets analyzed. The default is `0`, which indicates that the
	// switch should analyze all packets. The maximum value is `1000`, which
	// indicates an analysis rate of 0.001%.
	NetflowSamplingRate pulumi.IntPtrInput
	// Set to `true` to enable
	// network I/O control. Default: `false`.
	NetworkResourceControlEnabled pulumi.BoolPtrInput
	// The version of network I/O
	// control to use. Can be one of `version2` or `version3`. Default: `version2`.
	NetworkResourceControlVersion pulumi.StringPtrInput
	// The maximum allowed usage for the nfs traffic class, in Mbits/sec.
	NfsMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
	NfsReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the nfs traffic class for a custom share level.
	NfsShareCount pulumi.IntPtrInput
	// The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
	NfsShareLevel pulumi.StringPtrInput
	// If `true`, the teaming policy will notify the
	// broadcast network of an uplink failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrInput
	// Used to define a secondary VLAN
	// ID when using private VLANs.
	PortPrivateSecondaryVlanId pulumi.IntPtrInput
	// A list of standby uplinks to be used in
	// failover. These uplinks need to match the definitions in the
	// `uplinks` DVS argument. See
	// here for more details.
	StandbyUplinks pulumi.StringArrayInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The uplink teaming policy. Can be one of
	// `loadbalanceIp`, `loadbalanceSrcmac`, `loadbalanceSrcid`, or
	// `failoverExplicit`.
	TeamingPolicy pulumi.StringPtrInput
	// Forward all traffic transmitted by ports for which
	// this policy applies to its DVS uplinks.
	TxUplink pulumi.BoolPtrInput
	// A list of strings that uniquely identifies the names
	// of the uplinks on the DVS across hosts. The number of items in this list
	// controls the number of uplinks that exist on the DVS, in addition to the
	// names.  See here for an example on how to
	// use this option.
	Uplinks pulumi.StringArrayInput
	// The maximum allowed usage for the vdp traffic class, in Mbits/sec.
	VdpMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
	VdpReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the vdp traffic class for a custom share level.
	VdpShareCount pulumi.IntPtrInput
	// The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
	VdpShareLevel pulumi.StringPtrInput
	// - The version of the DVS to create. The default is to
	// create the DVS at the latest version supported by the version of vSphere
	// being used. A DVS can be upgraded to another version, but cannot be
	// downgraded.
	Version pulumi.StringPtrInput
	// The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
	VirtualmachineShareCount pulumi.IntPtrInput
	// The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
	VirtualmachineShareLevel pulumi.StringPtrInput
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanId pulumi.IntPtrInput
	// Used to denote VLAN trunking. Use the `minVlan`
	// and `maxVlan` sub-arguments to define the tagged VLAN range. Multiple
	// `vlanRange` definitions are allowed, but they must not overlap. Example
	// below:
	VlanRanges DistributedVirtualSwitchVlanRangeArrayInput
	// The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
	VmotionMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
	VmotionReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the vmotion traffic class for a custom share level.
	VmotionShareCount pulumi.IntPtrInput
	// The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
	VmotionShareLevel pulumi.StringPtrInput
	// The maximum allowed usage for the vsan traffic class, in Mbits/sec.
	VsanMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
	VsanReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the vsan traffic class for a custom share level.
	VsanShareCount pulumi.IntPtrInput
	// The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
	VsanShareLevel pulumi.StringPtrInput
}

The set of arguments for constructing a DistributedVirtualSwitch resource.

func (DistributedVirtualSwitchArgs) ElementType added in v1.5.0

type DistributedVirtualSwitchHost added in v1.5.0

type DistributedVirtualSwitchHost struct {
	// The list of NIC devices to map to uplinks on the DVS,
	// added in order they are specified.
	Devices []string `pulumi:"devices"`
	// The host system ID of the host to add to the
	// DVS.
	HostSystemId string `pulumi:"hostSystemId"`
}

type DistributedVirtualSwitchHostArgs added in v1.5.0

type DistributedVirtualSwitchHostArgs struct {
	// The list of NIC devices to map to uplinks on the DVS,
	// added in order they are specified.
	Devices pulumi.StringArrayInput `pulumi:"devices"`
	// The host system ID of the host to add to the
	// DVS.
	HostSystemId pulumi.StringInput `pulumi:"hostSystemId"`
}

func (DistributedVirtualSwitchHostArgs) ElementType added in v1.5.0

func (DistributedVirtualSwitchHostArgs) ToDistributedVirtualSwitchHostOutput added in v1.5.0

func (i DistributedVirtualSwitchHostArgs) ToDistributedVirtualSwitchHostOutput() DistributedVirtualSwitchHostOutput

func (DistributedVirtualSwitchHostArgs) ToDistributedVirtualSwitchHostOutputWithContext added in v1.5.0

func (i DistributedVirtualSwitchHostArgs) ToDistributedVirtualSwitchHostOutputWithContext(ctx context.Context) DistributedVirtualSwitchHostOutput

type DistributedVirtualSwitchHostArray added in v1.5.0

type DistributedVirtualSwitchHostArray []DistributedVirtualSwitchHostInput

func (DistributedVirtualSwitchHostArray) ElementType added in v1.5.0

func (DistributedVirtualSwitchHostArray) ToDistributedVirtualSwitchHostArrayOutput added in v1.5.0

func (i DistributedVirtualSwitchHostArray) ToDistributedVirtualSwitchHostArrayOutput() DistributedVirtualSwitchHostArrayOutput

func (DistributedVirtualSwitchHostArray) ToDistributedVirtualSwitchHostArrayOutputWithContext added in v1.5.0

func (i DistributedVirtualSwitchHostArray) ToDistributedVirtualSwitchHostArrayOutputWithContext(ctx context.Context) DistributedVirtualSwitchHostArrayOutput

type DistributedVirtualSwitchHostArrayInput added in v1.5.0

type DistributedVirtualSwitchHostArrayInput interface {
	pulumi.Input

	ToDistributedVirtualSwitchHostArrayOutput() DistributedVirtualSwitchHostArrayOutput
	ToDistributedVirtualSwitchHostArrayOutputWithContext(context.Context) DistributedVirtualSwitchHostArrayOutput
}

type DistributedVirtualSwitchHostArrayOutput added in v1.5.0

type DistributedVirtualSwitchHostArrayOutput struct{ *pulumi.OutputState }

func (DistributedVirtualSwitchHostArrayOutput) ElementType added in v1.5.0

func (DistributedVirtualSwitchHostArrayOutput) Index added in v1.5.0

func (DistributedVirtualSwitchHostArrayOutput) ToDistributedVirtualSwitchHostArrayOutput added in v1.5.0

func (o DistributedVirtualSwitchHostArrayOutput) ToDistributedVirtualSwitchHostArrayOutput() DistributedVirtualSwitchHostArrayOutput

func (DistributedVirtualSwitchHostArrayOutput) ToDistributedVirtualSwitchHostArrayOutputWithContext added in v1.5.0

func (o DistributedVirtualSwitchHostArrayOutput) ToDistributedVirtualSwitchHostArrayOutputWithContext(ctx context.Context) DistributedVirtualSwitchHostArrayOutput

type DistributedVirtualSwitchHostInput added in v1.5.0

type DistributedVirtualSwitchHostInput interface {
	pulumi.Input

	ToDistributedVirtualSwitchHostOutput() DistributedVirtualSwitchHostOutput
	ToDistributedVirtualSwitchHostOutputWithContext(context.Context) DistributedVirtualSwitchHostOutput
}

type DistributedVirtualSwitchHostOutput added in v1.5.0

type DistributedVirtualSwitchHostOutput struct{ *pulumi.OutputState }

func (DistributedVirtualSwitchHostOutput) Devices added in v1.5.0

The list of NIC devices to map to uplinks on the DVS, added in order they are specified.

func (DistributedVirtualSwitchHostOutput) ElementType added in v1.5.0

func (DistributedVirtualSwitchHostOutput) HostSystemId added in v1.5.0

The host system ID of the host to add to the DVS.

func (DistributedVirtualSwitchHostOutput) ToDistributedVirtualSwitchHostOutput added in v1.5.0

func (o DistributedVirtualSwitchHostOutput) ToDistributedVirtualSwitchHostOutput() DistributedVirtualSwitchHostOutput

func (DistributedVirtualSwitchHostOutput) ToDistributedVirtualSwitchHostOutputWithContext added in v1.5.0

func (o DistributedVirtualSwitchHostOutput) ToDistributedVirtualSwitchHostOutputWithContext(ctx context.Context) DistributedVirtualSwitchHostOutput

type DistributedVirtualSwitchState

type DistributedVirtualSwitchState struct {
	// A list of active uplinks to be used in load
	// balancing. These uplinks need to match the definitions in the
	// `uplinks` DVS argument. See
	// here for more details.
	ActiveUplinks pulumi.StringArrayInput
	// Controls whether or not a virtual
	// network adapter is allowed to send network traffic with a different MAC
	// address than that of its own.
	AllowForgedTransmits pulumi.BoolPtrInput
	// Controls whether or not the Media Access
	// Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This
	// flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrInput
	// Shuts down all ports in the port groups that
	// this policy applies to, effectively blocking all network access to connected
	// virtual devices.
	BlockAllPorts pulumi.BoolPtrInput
	// Enables beacon probing as an additional measure
	// to detect NIC failure.
	CheckBeacon pulumi.BoolPtrInput
	// The version string of the configuration that this spec is trying to change.
	ConfigVersion pulumi.StringPtrInput
	// The detailed contact information for the person
	// who is responsible for the DVS.
	ContactDetail pulumi.StringPtrInput
	// The name of the person who is responsible for the
	// DVS.
	ContactName pulumi.StringPtrInput
	// Map of custom attribute ids to attribute
	// value strings to set for virtual switch. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The ID of the datacenter where the distributed
	// virtual switch will be created. Forces a new resource if changed.
	DatacenterId pulumi.StringPtrInput
	// A detailed description for the DVS.
	Description pulumi.StringPtrInput
	// Allow VMDirectPath Gen2 for the ports
	// for which this policy applies to.
	DirectpathGen2Allowed pulumi.BoolPtrInput
	// The average bandwidth in bits
	// per second if egress traffic shaping is enabled on the port.
	EgressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in
	// bytes if egress traffic shaping is enabled on the port.
	EgressShapingBurstSize pulumi.IntPtrInput
	// `true` if the traffic shaper is enabled
	// on the port for egress traffic.
	EgressShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during bursts
	// in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth pulumi.IntPtrInput
	// If `true`, the teaming policy will re-activate failed
	// uplinks higher in precedence when they come back up.
	Failback pulumi.BoolPtrInput
	// The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
	FaulttoleranceShareCount pulumi.IntPtrInput
	// The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
	FaulttoleranceShareLevel pulumi.StringPtrInput
	// The folder to create the DVS in. Forces a new resource
	// if changed.
	Folder pulumi.StringPtrInput
	// The maximum allowed usage for the hbr traffic class, in Mbits/sec.
	HbrMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
	HbrReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the hbr traffic class for a custom share level.
	HbrShareCount pulumi.IntPtrInput
	// The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
	HbrShareLevel pulumi.StringPtrInput
	// Use the `host` block to declare a host specification. The
	// options are:
	Hosts DistributedVirtualSwitchHostArrayInput
	// The average bandwidth in
	// bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in
	// bytes if ingress traffic shaping is enabled on the port.
	IngressShapingBurstSize pulumi.IntPtrInput
	// `true` if the traffic shaper is
	// enabled on the port for ingress traffic.
	IngressShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during
	// bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth pulumi.IntPtrInput
	// An IPv4 address to identify the switch. This is
	// mostly useful when used with the Netflow arguments found
	// below.
	Ipv4Address pulumi.StringPtrInput
	// The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
	IscsiMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
	IscsiReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the iSCSI traffic class for a custom share level.
	IscsiShareCount pulumi.IntPtrInput
	// The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
	IscsiShareLevel pulumi.StringPtrInput
	// The Link Aggregation Control Protocol group
	// version to use with the switch. Possible values are `singleLag` and
	// `multipleLag`.
	LacpApiVersion pulumi.StringPtrInput
	// Enables LACP for the ports that this policy
	// applies to.
	LacpEnabled pulumi.BoolPtrInput
	// The LACP mode. Can be one of `active` or `passive`.
	LacpMode pulumi.StringPtrInput
	// Whether to `advertise` or `listen`
	// for link discovery traffic.
	LinkDiscoveryOperation pulumi.StringPtrInput
	// The discovery protocol type. Valid
	// types are `cdp` and `lldp`.
	LinkDiscoveryProtocol pulumi.StringPtrInput
	// The maximum allowed usage for the management traffic class, in Mbits/sec.
	ManagementMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
	ManagementReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the management traffic class for a custom share level.
	ManagementShareCount pulumi.IntPtrInput
	// The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
	ManagementShareLevel pulumi.StringPtrInput
	// The maximum transmission unit (MTU) for the virtual
	// switch.
	MaxMtu pulumi.IntPtrInput
	// The multicast filtering mode to use
	// with the switch. Can be one of `legacyFiltering` or `snooping`.
	MulticastFilteringMode pulumi.StringPtrInput
	// The name of the distributed virtual switch.
	Name pulumi.StringPtrInput
	// The number of seconds after which
	// active flows are forced to be exported to the collector. Allowed range is
	// `60` to `3600`. Default: `60`.
	NetflowActiveFlowTimeout pulumi.IntPtrInput
	// IP address for the Netflow
	// collector, using IPv4 or IPv6. IPv6 is supported in vSphere Distributed
	// Switch Version 6.0 or later. Must be set before Netflow can be enabled.
	NetflowCollectorIpAddress pulumi.StringPtrInput
	// Port for the Netflow collector. This
	// must be set before Netflow can be enabled.
	NetflowCollectorPort pulumi.IntPtrInput
	// Enables Netflow on all ports that this policy
	// applies to.
	NetflowEnabled pulumi.BoolPtrInput
	// The number of seconds after which
	// idle flows are forced to be exported to the collector. Allowed range is `10`
	// to `600`. Default: `15`.
	NetflowIdleFlowTimeout pulumi.IntPtrInput
	// Whether to limit analysis to
	// traffic that has both source and destination served by the same host.
	// Default: `false`.
	NetflowInternalFlowsOnly pulumi.BoolPtrInput
	// The observation domain ID for
	// the Netflow collector.
	NetflowObservationDomainId pulumi.IntPtrInput
	// The ratio of total number of packets to
	// the number of packets analyzed. The default is `0`, which indicates that the
	// switch should analyze all packets. The maximum value is `1000`, which
	// indicates an analysis rate of 0.001%.
	NetflowSamplingRate pulumi.IntPtrInput
	// Set to `true` to enable
	// network I/O control. Default: `false`.
	NetworkResourceControlEnabled pulumi.BoolPtrInput
	// The version of network I/O
	// control to use. Can be one of `version2` or `version3`. Default: `version2`.
	NetworkResourceControlVersion pulumi.StringPtrInput
	// The maximum allowed usage for the nfs traffic class, in Mbits/sec.
	NfsMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
	NfsReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the nfs traffic class for a custom share level.
	NfsShareCount pulumi.IntPtrInput
	// The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
	NfsShareLevel pulumi.StringPtrInput
	// If `true`, the teaming policy will notify the
	// broadcast network of an uplink failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrInput
	// Used to define a secondary VLAN
	// ID when using private VLANs.
	PortPrivateSecondaryVlanId pulumi.IntPtrInput
	// A list of standby uplinks to be used in
	// failover. These uplinks need to match the definitions in the
	// `uplinks` DVS argument. See
	// here for more details.
	StandbyUplinks pulumi.StringArrayInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The uplink teaming policy. Can be one of
	// `loadbalanceIp`, `loadbalanceSrcmac`, `loadbalanceSrcid`, or
	// `failoverExplicit`.
	TeamingPolicy pulumi.StringPtrInput
	// Forward all traffic transmitted by ports for which
	// this policy applies to its DVS uplinks.
	TxUplink pulumi.BoolPtrInput
	// A list of strings that uniquely identifies the names
	// of the uplinks on the DVS across hosts. The number of items in this list
	// controls the number of uplinks that exist on the DVS, in addition to the
	// names.  See here for an example on how to
	// use this option.
	Uplinks pulumi.StringArrayInput
	// The maximum allowed usage for the vdp traffic class, in Mbits/sec.
	VdpMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
	VdpReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the vdp traffic class for a custom share level.
	VdpShareCount pulumi.IntPtrInput
	// The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
	VdpShareLevel pulumi.StringPtrInput
	// - The version of the DVS to create. The default is to
	// create the DVS at the latest version supported by the version of vSphere
	// being used. A DVS can be upgraded to another version, but cannot be
	// downgraded.
	Version pulumi.StringPtrInput
	// The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
	VirtualmachineShareCount pulumi.IntPtrInput
	// The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
	VirtualmachineShareLevel pulumi.StringPtrInput
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanId pulumi.IntPtrInput
	// Used to denote VLAN trunking. Use the `minVlan`
	// and `maxVlan` sub-arguments to define the tagged VLAN range. Multiple
	// `vlanRange` definitions are allowed, but they must not overlap. Example
	// below:
	VlanRanges DistributedVirtualSwitchVlanRangeArrayInput
	// The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
	VmotionMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
	VmotionReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the vmotion traffic class for a custom share level.
	VmotionShareCount pulumi.IntPtrInput
	// The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
	VmotionShareLevel pulumi.StringPtrInput
	// The maximum allowed usage for the vsan traffic class, in Mbits/sec.
	VsanMaximumMbit pulumi.IntPtrInput
	// The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
	VsanReservationMbit pulumi.IntPtrInput
	// The amount of shares to allocate to the vsan traffic class for a custom share level.
	VsanShareCount pulumi.IntPtrInput
	// The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
	VsanShareLevel pulumi.StringPtrInput
}

func (DistributedVirtualSwitchState) ElementType added in v1.5.0

type DistributedVirtualSwitchVlanRange added in v1.5.0

type DistributedVirtualSwitchVlanRange struct {
	MaxVlan int `pulumi:"maxVlan"`
	MinVlan int `pulumi:"minVlan"`
}

type DistributedVirtualSwitchVlanRangeArgs added in v1.5.0

type DistributedVirtualSwitchVlanRangeArgs struct {
	MaxVlan pulumi.IntInput `pulumi:"maxVlan"`
	MinVlan pulumi.IntInput `pulumi:"minVlan"`
}

func (DistributedVirtualSwitchVlanRangeArgs) ElementType added in v1.5.0

func (DistributedVirtualSwitchVlanRangeArgs) ToDistributedVirtualSwitchVlanRangeOutput added in v1.5.0

func (i DistributedVirtualSwitchVlanRangeArgs) ToDistributedVirtualSwitchVlanRangeOutput() DistributedVirtualSwitchVlanRangeOutput

func (DistributedVirtualSwitchVlanRangeArgs) ToDistributedVirtualSwitchVlanRangeOutputWithContext added in v1.5.0

func (i DistributedVirtualSwitchVlanRangeArgs) ToDistributedVirtualSwitchVlanRangeOutputWithContext(ctx context.Context) DistributedVirtualSwitchVlanRangeOutput

type DistributedVirtualSwitchVlanRangeArray added in v1.5.0

type DistributedVirtualSwitchVlanRangeArray []DistributedVirtualSwitchVlanRangeInput

func (DistributedVirtualSwitchVlanRangeArray) ElementType added in v1.5.0

func (DistributedVirtualSwitchVlanRangeArray) ToDistributedVirtualSwitchVlanRangeArrayOutput added in v1.5.0

func (i DistributedVirtualSwitchVlanRangeArray) ToDistributedVirtualSwitchVlanRangeArrayOutput() DistributedVirtualSwitchVlanRangeArrayOutput

func (DistributedVirtualSwitchVlanRangeArray) ToDistributedVirtualSwitchVlanRangeArrayOutputWithContext added in v1.5.0

func (i DistributedVirtualSwitchVlanRangeArray) ToDistributedVirtualSwitchVlanRangeArrayOutputWithContext(ctx context.Context) DistributedVirtualSwitchVlanRangeArrayOutput

type DistributedVirtualSwitchVlanRangeArrayInput added in v1.5.0

type DistributedVirtualSwitchVlanRangeArrayInput interface {
	pulumi.Input

	ToDistributedVirtualSwitchVlanRangeArrayOutput() DistributedVirtualSwitchVlanRangeArrayOutput
	ToDistributedVirtualSwitchVlanRangeArrayOutputWithContext(context.Context) DistributedVirtualSwitchVlanRangeArrayOutput
}

type DistributedVirtualSwitchVlanRangeArrayOutput added in v1.5.0

type DistributedVirtualSwitchVlanRangeArrayOutput struct{ *pulumi.OutputState }

func (DistributedVirtualSwitchVlanRangeArrayOutput) ElementType added in v1.5.0

func (DistributedVirtualSwitchVlanRangeArrayOutput) Index added in v1.5.0

func (DistributedVirtualSwitchVlanRangeArrayOutput) ToDistributedVirtualSwitchVlanRangeArrayOutput added in v1.5.0

func (o DistributedVirtualSwitchVlanRangeArrayOutput) ToDistributedVirtualSwitchVlanRangeArrayOutput() DistributedVirtualSwitchVlanRangeArrayOutput

func (DistributedVirtualSwitchVlanRangeArrayOutput) ToDistributedVirtualSwitchVlanRangeArrayOutputWithContext added in v1.5.0

func (o DistributedVirtualSwitchVlanRangeArrayOutput) ToDistributedVirtualSwitchVlanRangeArrayOutputWithContext(ctx context.Context) DistributedVirtualSwitchVlanRangeArrayOutput

type DistributedVirtualSwitchVlanRangeInput added in v1.5.0

type DistributedVirtualSwitchVlanRangeInput interface {
	pulumi.Input

	ToDistributedVirtualSwitchVlanRangeOutput() DistributedVirtualSwitchVlanRangeOutput
	ToDistributedVirtualSwitchVlanRangeOutputWithContext(context.Context) DistributedVirtualSwitchVlanRangeOutput
}

type DistributedVirtualSwitchVlanRangeOutput added in v1.5.0

type DistributedVirtualSwitchVlanRangeOutput struct{ *pulumi.OutputState }

func (DistributedVirtualSwitchVlanRangeOutput) ElementType added in v1.5.0

func (DistributedVirtualSwitchVlanRangeOutput) MaxVlan added in v1.5.0

func (DistributedVirtualSwitchVlanRangeOutput) MinVlan added in v1.5.0

func (DistributedVirtualSwitchVlanRangeOutput) ToDistributedVirtualSwitchVlanRangeOutput added in v1.5.0

func (o DistributedVirtualSwitchVlanRangeOutput) ToDistributedVirtualSwitchVlanRangeOutput() DistributedVirtualSwitchVlanRangeOutput

func (DistributedVirtualSwitchVlanRangeOutput) ToDistributedVirtualSwitchVlanRangeOutputWithContext added in v1.5.0

func (o DistributedVirtualSwitchVlanRangeOutput) ToDistributedVirtualSwitchVlanRangeOutputWithContext(ctx context.Context) DistributedVirtualSwitchVlanRangeOutput

type DpmHostOverride

type DpmHostOverride struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// The automation level for host power
	// operations on this host. Can be one of `manual` or `automated`. Default:
	// `manual`.
	DpmAutomationLevel pulumi.StringPtrOutput `pulumi:"dpmAutomationLevel"`
	// Enable DPM support for this host. Default:
	// `false`.
	DpmEnabled pulumi.BoolPtrOutput `pulumi:"dpmEnabled"`
	// The managed object ID of the host.
	HostSystemId pulumi.StringOutput `pulumi:"hostSystemId"`
}

The `.DpmHostOverride` resource can be used to add a DPM override to a cluster for a particular host. This allows you to control the power management settings for individual hosts in the cluster while leaving any unspecified ones at the default power management settings.

For more information on DPM within vSphere clusters, see [this page]ref-vsphere-cluster-dpm.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/dpm_host_override.html.markdown.

func GetDpmHostOverride

func GetDpmHostOverride(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DpmHostOverrideState, opts ...pulumi.ResourceOption) (*DpmHostOverride, error)

GetDpmHostOverride gets an existing DpmHostOverride resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDpmHostOverride

func NewDpmHostOverride(ctx *pulumi.Context,
	name string, args *DpmHostOverrideArgs, opts ...pulumi.ResourceOption) (*DpmHostOverride, error)

NewDpmHostOverride registers a new resource with the given unique name, arguments, and options.

type DpmHostOverrideArgs

type DpmHostOverrideArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// The automation level for host power
	// operations on this host. Can be one of `manual` or `automated`. Default:
	// `manual`.
	DpmAutomationLevel pulumi.StringPtrInput
	// Enable DPM support for this host. Default:
	// `false`.
	DpmEnabled pulumi.BoolPtrInput
	// The managed object ID of the host.
	HostSystemId pulumi.StringInput
}

The set of arguments for constructing a DpmHostOverride resource.

func (DpmHostOverrideArgs) ElementType added in v1.5.0

func (DpmHostOverrideArgs) ElementType() reflect.Type

type DpmHostOverrideState

type DpmHostOverrideState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// The automation level for host power
	// operations on this host. Can be one of `manual` or `automated`. Default:
	// `manual`.
	DpmAutomationLevel pulumi.StringPtrInput
	// Enable DPM support for this host. Default:
	// `false`.
	DpmEnabled pulumi.BoolPtrInput
	// The managed object ID of the host.
	HostSystemId pulumi.StringPtrInput
}

func (DpmHostOverrideState) ElementType added in v1.5.0

func (DpmHostOverrideState) ElementType() reflect.Type

type DrsVmOverride

type DrsVmOverride struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// Overrides the automation level for this virtual
	// machine in the cluster. Can be one of `manual`, `partiallyAutomated`, or
	// `fullyAutomated`. Default: `manual`.
	DrsAutomationLevel pulumi.StringPtrOutput `pulumi:"drsAutomationLevel"`
	// Overrides the default DRS setting for this virtual
	// machine. Can be either `true` or `false`. Default: `false`.
	DrsEnabled pulumi.BoolPtrOutput `pulumi:"drsEnabled"`
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

The `.DrsVmOverride` resource can be used to add a DRS override to a cluster for a specific virtual machine. With this resource, one can enable or disable DRS and control the automation level for a single virtual machine without affecting the rest of the cluster.

For more information on vSphere clusters and DRS, see [this page]ref-vsphere-drs-clusters.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/drs_vm_override.html.markdown.

func GetDrsVmOverride

func GetDrsVmOverride(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DrsVmOverrideState, opts ...pulumi.ResourceOption) (*DrsVmOverride, error)

GetDrsVmOverride gets an existing DrsVmOverride resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDrsVmOverride

func NewDrsVmOverride(ctx *pulumi.Context,
	name string, args *DrsVmOverrideArgs, opts ...pulumi.ResourceOption) (*DrsVmOverride, error)

NewDrsVmOverride registers a new resource with the given unique name, arguments, and options.

type DrsVmOverrideArgs

type DrsVmOverrideArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// Overrides the automation level for this virtual
	// machine in the cluster. Can be one of `manual`, `partiallyAutomated`, or
	// `fullyAutomated`. Default: `manual`.
	DrsAutomationLevel pulumi.StringPtrInput
	// Overrides the default DRS setting for this virtual
	// machine. Can be either `true` or `false`. Default: `false`.
	DrsEnabled pulumi.BoolPtrInput
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a DrsVmOverride resource.

func (DrsVmOverrideArgs) ElementType added in v1.5.0

func (DrsVmOverrideArgs) ElementType() reflect.Type

type DrsVmOverrideState

type DrsVmOverrideState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// Overrides the automation level for this virtual
	// machine in the cluster. Can be one of `manual`, `partiallyAutomated`, or
	// `fullyAutomated`. Default: `manual`.
	DrsAutomationLevel pulumi.StringPtrInput
	// Overrides the default DRS setting for this virtual
	// machine. Can be either `true` or `false`. Default: `false`.
	DrsEnabled pulumi.BoolPtrInput
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringPtrInput
}

func (DrsVmOverrideState) ElementType added in v1.5.0

func (DrsVmOverrideState) ElementType() reflect.Type

type File

type File struct {
	pulumi.CustomResourceState

	// Create directories in `destinationFile`
	// path parameter if any missing for copy operation.
	CreateDirectories pulumi.BoolPtrOutput `pulumi:"createDirectories"`
	// The name of a datacenter in which the file will be
	// uploaded to.
	Datacenter pulumi.StringPtrOutput `pulumi:"datacenter"`
	// The name of the datastore in which to upload the
	// file to.
	Datastore pulumi.StringOutput `pulumi:"datastore"`
	// The path to where the file should be uploaded
	// or copied to on vSphere.
	DestinationFile pulumi.StringOutput `pulumi:"destinationFile"`
	// The name of a datacenter in which the file
	// will be copied from. Forces a new resource if changed.
	SourceDatacenter pulumi.StringPtrOutput `pulumi:"sourceDatacenter"`
	// The name of the datastore in which file will
	// be copied from. Forces a new resource if changed.
	SourceDatastore pulumi.StringPtrOutput `pulumi:"sourceDatastore"`
	SourceFile      pulumi.StringOutput    `pulumi:"sourceFile"`
}

func GetFile

func GetFile(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FileState, opts ...pulumi.ResourceOption) (*File, error)

GetFile gets an existing File resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFile

func NewFile(ctx *pulumi.Context,
	name string, args *FileArgs, opts ...pulumi.ResourceOption) (*File, error)

NewFile registers a new resource with the given unique name, arguments, and options.

type FileArgs

type FileArgs struct {
	// Create directories in `destinationFile`
	// path parameter if any missing for copy operation.
	CreateDirectories pulumi.BoolPtrInput
	// The name of a datacenter in which the file will be
	// uploaded to.
	Datacenter pulumi.StringPtrInput
	// The name of the datastore in which to upload the
	// file to.
	Datastore pulumi.StringInput
	// The path to where the file should be uploaded
	// or copied to on vSphere.
	DestinationFile pulumi.StringInput
	// The name of a datacenter in which the file
	// will be copied from. Forces a new resource if changed.
	SourceDatacenter pulumi.StringPtrInput
	// The name of the datastore in which file will
	// be copied from. Forces a new resource if changed.
	SourceDatastore pulumi.StringPtrInput
	SourceFile      pulumi.StringInput
}

The set of arguments for constructing a File resource.

func (FileArgs) ElementType added in v1.5.0

func (FileArgs) ElementType() reflect.Type

type FileState

type FileState struct {
	// Create directories in `destinationFile`
	// path parameter if any missing for copy operation.
	CreateDirectories pulumi.BoolPtrInput
	// The name of a datacenter in which the file will be
	// uploaded to.
	Datacenter pulumi.StringPtrInput
	// The name of the datastore in which to upload the
	// file to.
	Datastore pulumi.StringPtrInput
	// The path to where the file should be uploaded
	// or copied to on vSphere.
	DestinationFile pulumi.StringPtrInput
	// The name of a datacenter in which the file
	// will be copied from. Forces a new resource if changed.
	SourceDatacenter pulumi.StringPtrInput
	// The name of the datastore in which file will
	// be copied from. Forces a new resource if changed.
	SourceDatastore pulumi.StringPtrInput
	SourceFile      pulumi.StringPtrInput
}

func (FileState) ElementType added in v1.5.0

func (FileState) ElementType() reflect.Type

type Folder

type Folder struct {
	pulumi.CustomResourceState

	// Map of custom attribute ids to attribute
	// value strings to set for folder. See [here][docs-setting-custom-attributes]
	// for a reference on how to set values for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The ID of the datacenter the folder will be created in.
	// Required for all folder types except for datacenter folders. Forces a new
	// resource if changed.
	DatacenterId pulumi.StringPtrOutput `pulumi:"datacenterId"`
	// The path of the folder and any parents, relative to the datacenter and folder type being defined.
	Path pulumi.StringOutput `pulumi:"path"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The type of folder to create. Allowed options are
	// `datacenter` for datacenter folders, `host` for host and cluster folders,
	// `vm` for virtual machine folders, `datastore` for datastore folders, and
	// `network` for network folders. Forces a new resource if changed.
	Type pulumi.StringOutput `pulumi:"type"`
}

The `.Folder` resource can be used to manage vSphere inventory folders. The resource supports creating folders of the 5 major types - datacenter folders, host and cluster folders, virtual machine folders, datastore folders, and network folders.

Paths are always relative to the specific type of folder you are creating. Subfolders are discovered by parsing the relative path specified in `path`, so `foo/bar` will create a folder named `bar` in the parent folder `foo`, as long as that folder exists.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/folder.html.markdown.

func GetFolder

func GetFolder(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FolderState, opts ...pulumi.ResourceOption) (*Folder, error)

GetFolder gets an existing Folder resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFolder

func NewFolder(ctx *pulumi.Context,
	name string, args *FolderArgs, opts ...pulumi.ResourceOption) (*Folder, error)

NewFolder registers a new resource with the given unique name, arguments, and options.

type FolderArgs

type FolderArgs struct {
	// Map of custom attribute ids to attribute
	// value strings to set for folder. See [here][docs-setting-custom-attributes]
	// for a reference on how to set values for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The ID of the datacenter the folder will be created in.
	// Required for all folder types except for datacenter folders. Forces a new
	// resource if changed.
	DatacenterId pulumi.StringPtrInput
	// The path of the folder and any parents, relative to the datacenter and folder type being defined.
	Path pulumi.StringInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The type of folder to create. Allowed options are
	// `datacenter` for datacenter folders, `host` for host and cluster folders,
	// `vm` for virtual machine folders, `datastore` for datastore folders, and
	// `network` for network folders. Forces a new resource if changed.
	Type pulumi.StringInput
}

The set of arguments for constructing a Folder resource.

func (FolderArgs) ElementType added in v1.5.0

func (FolderArgs) ElementType() reflect.Type

type FolderState

type FolderState struct {
	// Map of custom attribute ids to attribute
	// value strings to set for folder. See [here][docs-setting-custom-attributes]
	// for a reference on how to set values for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The ID of the datacenter the folder will be created in.
	// Required for all folder types except for datacenter folders. Forces a new
	// resource if changed.
	DatacenterId pulumi.StringPtrInput
	// The path of the folder and any parents, relative to the datacenter and folder type being defined.
	Path pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The type of folder to create. Allowed options are
	// `datacenter` for datacenter folders, `host` for host and cluster folders,
	// `vm` for virtual machine folders, `datastore` for datastore folders, and
	// `network` for network folders. Forces a new resource if changed.
	Type pulumi.StringPtrInput
}

func (FolderState) ElementType added in v1.5.0

func (FolderState) ElementType() reflect.Type

type GetDatastoreArgs

type GetDatastoreArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the datastore is located in. This
	// can be omitted if the search path used in `name` is an absolute path. For
	// default datacenters, use the id attribute from an empty `.Datacenter`
	// data source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name of the datastore. This can be a name or path.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getDatastore.

type GetDatastoreResult

type GetDatastoreResult struct {
	DatacenterId *string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getDatastore.

func GetDatastore added in v1.5.0

func GetDatastore(ctx *pulumi.Context, args *GetDatastoreArgs, opts ...pulumi.InvokeOption) (*GetDatastoreResult, error)

The `.getDatastore` data source can be used to discover the ID of a datastore in vSphere. This is useful to fetch the ID of a datastore that you want to use to create virtual machines in using the [`.VirtualMachine`][docs-virtual-machine-resource] resource.

[docs-virtual-machine-resource]: /docs/providers/vsphere/r/virtual_machine.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/datastore.html.markdown.

type GetNetworkArgs

type GetNetworkArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the network is located in. This can
	// be omitted if the search path used in `name` is an absolute path. For default
	// datacenters, use the id attribute from an empty `.Datacenter` data
	// source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name of the network. This can be a name or path.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getNetwork.

type GetNetworkResult

type GetNetworkResult struct {
	DatacenterId *string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	Type string `pulumi:"type"`
}

A collection of values returned by getNetwork.

func GetNetwork added in v1.5.0

func GetNetwork(ctx *pulumi.Context, args *GetNetworkArgs, opts ...pulumi.InvokeOption) (*GetNetworkResult, error)

The `.getNetwork` data source can be used to discover the ID of a network in vSphere. This can be any network that can be used as the backing for a network interface for `.VirtualMachine` or any other vSphere resource that requires a network. This includes standard (host-based) port groups, DVS port groups, or opaque networks such as those managed by NSX.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/network.html.markdown.

type GetPolicyArgs added in v1.4.0

type GetPolicyArgs struct {
	// The name of the storage policy.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getPolicy.

type GetPolicyResult added in v1.4.0

type GetPolicyResult struct {
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getPolicy.

func GetPolicy added in v1.5.0

func GetPolicy(ctx *pulumi.Context, args *GetPolicyArgs, opts ...pulumi.InvokeOption) (*GetPolicyResult, error)

The `.getPolicy` data source can be used to discover the UUID of a vSphere storage policy. This can then be used with resources or data sources that require a storage policy.

> **NOTE:** Storage policy support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/storage_policy.html.markdown.

type GetVirtualMachineDisk added in v1.5.0

type GetVirtualMachineDisk struct {
	// Set to `true` if the disk has been eager zeroed.
	EagerlyScrub bool `pulumi:"eagerlyScrub"`
	// The size of the disk, in GIB.
	Size int `pulumi:"size"`
	// Set to `true` if the disk has been thin provisioned.
	ThinProvisioned bool `pulumi:"thinProvisioned"`
}

type GetVirtualMachineDiskArgs added in v1.5.0

type GetVirtualMachineDiskArgs struct {
	// Set to `true` if the disk has been eager zeroed.
	EagerlyScrub pulumi.BoolInput `pulumi:"eagerlyScrub"`
	// The size of the disk, in GIB.
	Size pulumi.IntInput `pulumi:"size"`
	// Set to `true` if the disk has been thin provisioned.
	ThinProvisioned pulumi.BoolInput `pulumi:"thinProvisioned"`
}

func (GetVirtualMachineDiskArgs) ElementType added in v1.5.0

func (GetVirtualMachineDiskArgs) ElementType() reflect.Type

func (GetVirtualMachineDiskArgs) ToGetVirtualMachineDiskOutput added in v1.5.0

func (i GetVirtualMachineDiskArgs) ToGetVirtualMachineDiskOutput() GetVirtualMachineDiskOutput

func (GetVirtualMachineDiskArgs) ToGetVirtualMachineDiskOutputWithContext added in v1.5.0

func (i GetVirtualMachineDiskArgs) ToGetVirtualMachineDiskOutputWithContext(ctx context.Context) GetVirtualMachineDiskOutput

type GetVirtualMachineDiskArray added in v1.5.0

type GetVirtualMachineDiskArray []GetVirtualMachineDiskInput

func (GetVirtualMachineDiskArray) ElementType added in v1.5.0

func (GetVirtualMachineDiskArray) ElementType() reflect.Type

func (GetVirtualMachineDiskArray) ToGetVirtualMachineDiskArrayOutput added in v1.5.0

func (i GetVirtualMachineDiskArray) ToGetVirtualMachineDiskArrayOutput() GetVirtualMachineDiskArrayOutput

func (GetVirtualMachineDiskArray) ToGetVirtualMachineDiskArrayOutputWithContext added in v1.5.0

func (i GetVirtualMachineDiskArray) ToGetVirtualMachineDiskArrayOutputWithContext(ctx context.Context) GetVirtualMachineDiskArrayOutput

type GetVirtualMachineDiskArrayInput added in v1.5.0

type GetVirtualMachineDiskArrayInput interface {
	pulumi.Input

	ToGetVirtualMachineDiskArrayOutput() GetVirtualMachineDiskArrayOutput
	ToGetVirtualMachineDiskArrayOutputWithContext(context.Context) GetVirtualMachineDiskArrayOutput
}

type GetVirtualMachineDiskArrayOutput added in v1.5.0

type GetVirtualMachineDiskArrayOutput struct{ *pulumi.OutputState }

func (GetVirtualMachineDiskArrayOutput) ElementType added in v1.5.0

func (GetVirtualMachineDiskArrayOutput) Index added in v1.5.0

func (GetVirtualMachineDiskArrayOutput) ToGetVirtualMachineDiskArrayOutput added in v1.5.0

func (o GetVirtualMachineDiskArrayOutput) ToGetVirtualMachineDiskArrayOutput() GetVirtualMachineDiskArrayOutput

func (GetVirtualMachineDiskArrayOutput) ToGetVirtualMachineDiskArrayOutputWithContext added in v1.5.0

func (o GetVirtualMachineDiskArrayOutput) ToGetVirtualMachineDiskArrayOutputWithContext(ctx context.Context) GetVirtualMachineDiskArrayOutput

type GetVirtualMachineDiskInput added in v1.5.0

type GetVirtualMachineDiskInput interface {
	pulumi.Input

	ToGetVirtualMachineDiskOutput() GetVirtualMachineDiskOutput
	ToGetVirtualMachineDiskOutputWithContext(context.Context) GetVirtualMachineDiskOutput
}

type GetVirtualMachineDiskOutput added in v1.5.0

type GetVirtualMachineDiskOutput struct{ *pulumi.OutputState }

func (GetVirtualMachineDiskOutput) EagerlyScrub added in v1.5.0

Set to `true` if the disk has been eager zeroed.

func (GetVirtualMachineDiskOutput) ElementType added in v1.5.0

func (GetVirtualMachineDiskOutput) Size added in v1.5.0

The size of the disk, in GIB.

func (GetVirtualMachineDiskOutput) ThinProvisioned added in v1.5.0

func (o GetVirtualMachineDiskOutput) ThinProvisioned() pulumi.BoolOutput

Set to `true` if the disk has been thin provisioned.

func (GetVirtualMachineDiskOutput) ToGetVirtualMachineDiskOutput added in v1.5.0

func (o GetVirtualMachineDiskOutput) ToGetVirtualMachineDiskOutput() GetVirtualMachineDiskOutput

func (GetVirtualMachineDiskOutput) ToGetVirtualMachineDiskOutputWithContext added in v1.5.0

func (o GetVirtualMachineDiskOutput) ToGetVirtualMachineDiskOutputWithContext(ctx context.Context) GetVirtualMachineDiskOutput

type GetVmfsDisksArgs

type GetVmfsDisksArgs struct {
	// A regular expression to filter the disks against. Only
	// disks with canonical names that match will be included.
	Filter *string `pulumi:"filter"`
	// The [managed object ID][docs-about-morefs] of
	// the host to look for disks on.
	HostSystemId string `pulumi:"hostSystemId"`
	// Whether or not to rescan storage adapters before
	// searching for disks. This may lengthen the time it takes to perform the
	// search. Default: `false`.
	Rescan *bool `pulumi:"rescan"`
}

A collection of arguments for invoking getVmfsDisks.

type GetVmfsDisksResult

type GetVmfsDisksResult struct {
	// A lexicographically sorted list of devices discovered by the
	// operation, matching the supplied `filter`, if provided.
	Disks        []string `pulumi:"disks"`
	Filter       *string  `pulumi:"filter"`
	HostSystemId string   `pulumi:"hostSystemId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id     string `pulumi:"id"`
	Rescan *bool  `pulumi:"rescan"`
}

A collection of values returned by getVmfsDisks.

func GetVmfsDisks added in v1.5.0

func GetVmfsDisks(ctx *pulumi.Context, args *GetVmfsDisksArgs, opts ...pulumi.InvokeOption) (*GetVmfsDisksResult, error)

The `.getVmfsDisks` data source can be used to discover the storage devices available on an ESXi host. This data source can be combined with the [`.VmfsDatastore`][data-source-vmfs-datastore] resource to create VMFS datastores based off a set of discovered disks.

[data-source-vmfs-datastore]: /docs/providers/vsphere/r/vmfs_datastore.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/vmfs_disks.html.markdown.

type HaVmOverride

type HaVmOverride struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringOutput `pulumi:"computeClusterId"`
	// Controls the action to take
	// on this virtual machine if an APD status on an affected datastore clears in
	// the middle of an APD event. Can be one of `useClusterDefault`, `none` or
	// `reset`.  Default: `useClusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdRecoveryAction pulumi.StringPtrOutput `pulumi:"haDatastoreApdRecoveryAction"`
	// Controls the action to take on this
	// virtual machine when the cluster has detected loss to all paths to a relevant
	// datastore. Can be one of `clusterDefault`, `disabled`, `warning`,
	// `restartConservative`, or `restartAggressive`.  Default: `clusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdResponse pulumi.StringPtrOutput `pulumi:"haDatastoreApdResponse"`
	// Controls the delay in minutes
	// to wait after an APD timeout event to execute the response action defined in
	// `haDatastoreApdResponse`. Use `-1` to use
	// the cluster default. Default: `-1`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdResponseDelay pulumi.IntPtrOutput `pulumi:"haDatastoreApdResponseDelay"`
	// Controls the action to take on this
	// virtual machine when the cluster has detected a permanent device loss to a
	// relevant datastore. Can be one of `clusterDefault`, `disabled`, `warning`, or
	// `restartAggressive`. Default: `clusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastorePdlResponse pulumi.StringPtrOutput `pulumi:"haDatastorePdlResponse"`
	// The action to take on this virtual
	// machine when a host has detected that it has been isolated from the rest of
	// the cluster. Can be one of `clusterIsolationResponse`, `none`, `powerOff`, or
	// `shutdown`. Default: `clusterIsolationResponse`.
	HaHostIsolationResponse pulumi.StringPtrOutput `pulumi:"haHostIsolationResponse"`
	// If a heartbeat from this virtual
	// machine is not received within this configured interval, the virtual machine
	// is marked as failed. The value is in seconds. Default: `30`.
	HaVmFailureInterval pulumi.IntPtrOutput `pulumi:"haVmFailureInterval"`
	// The length of the reset window in
	// which `haVmMaximumResets` can operate. When this
	// window expires, no more resets are attempted regardless of the setting
	// configured in `haVmMaximumResets`. `-1` means no window, meaning an
	// unlimited reset time is allotted. The value is specified in seconds. Default:
	// `-1` (no window).
	HaVmMaximumFailureWindow pulumi.IntPtrOutput `pulumi:"haVmMaximumFailureWindow"`
	// The maximum number of resets that HA will
	// perform to this virtual machine when responding to a failure event. Default:
	// `3`
	HaVmMaximumResets pulumi.IntPtrOutput `pulumi:"haVmMaximumResets"`
	// The time, in seconds, that HA waits after
	// powering on this virtual machine before monitoring for heartbeats. Default:
	// `120` (2 minutes).
	HaVmMinimumUptime pulumi.IntPtrOutput `pulumi:"haVmMinimumUptime"`
	// The type of virtual machine monitoring to use
	// when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
	// `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
	HaVmMonitoring pulumi.StringPtrOutput `pulumi:"haVmMonitoring"`
	// Determines whether or
	// not the cluster's default settings or the VM override settings specified in
	// this resource are used for virtual machine monitoring. The default is `true`
	// (use cluster defaults) - set to `false` to have overrides take effect.
	HaVmMonitoringUseClusterDefaults pulumi.BoolPtrOutput `pulumi:"haVmMonitoringUseClusterDefaults"`
	// The restart priority for the virtual
	// machine when vSphere detects a host failure. Can be one of
	// `clusterRestartPriority`, `lowest`, `low`, `medium`, `high`, or `highest`.
	// Default: `clusterRestartPriority`.
	HaVmRestartPriority pulumi.StringPtrOutput `pulumi:"haVmRestartPriority"`
	// The maximum time, in seconds, that
	// vSphere HA will wait for this virtual machine to be ready. Use `-1` to
	// specify the cluster default.  Default: `-1`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaVmRestartTimeout pulumi.IntPtrOutput `pulumi:"haVmRestartTimeout"`
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

The `.HaVmOverride` resource can be used to add an override for vSphere HA settings on a cluster for a specific virtual machine. With this resource, one can control specific HA settings so that they are different than the cluster default, accommodating the needs of that specific virtual machine, while not affecting the rest of the cluster.

For more information on vSphere HA, see [this page]ref-vsphere-ha-clusters.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/ha_vm_override.html.markdown.

func GetHaVmOverride

func GetHaVmOverride(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HaVmOverrideState, opts ...pulumi.ResourceOption) (*HaVmOverride, error)

GetHaVmOverride gets an existing HaVmOverride resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHaVmOverride

func NewHaVmOverride(ctx *pulumi.Context,
	name string, args *HaVmOverrideArgs, opts ...pulumi.ResourceOption) (*HaVmOverride, error)

NewHaVmOverride registers a new resource with the given unique name, arguments, and options.

type HaVmOverrideArgs

type HaVmOverrideArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringInput
	// Controls the action to take
	// on this virtual machine if an APD status on an affected datastore clears in
	// the middle of an APD event. Can be one of `useClusterDefault`, `none` or
	// `reset`.  Default: `useClusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdRecoveryAction pulumi.StringPtrInput
	// Controls the action to take on this
	// virtual machine when the cluster has detected loss to all paths to a relevant
	// datastore. Can be one of `clusterDefault`, `disabled`, `warning`,
	// `restartConservative`, or `restartAggressive`.  Default: `clusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdResponse pulumi.StringPtrInput
	// Controls the delay in minutes
	// to wait after an APD timeout event to execute the response action defined in
	// `haDatastoreApdResponse`. Use `-1` to use
	// the cluster default. Default: `-1`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdResponseDelay pulumi.IntPtrInput
	// Controls the action to take on this
	// virtual machine when the cluster has detected a permanent device loss to a
	// relevant datastore. Can be one of `clusterDefault`, `disabled`, `warning`, or
	// `restartAggressive`. Default: `clusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastorePdlResponse pulumi.StringPtrInput
	// The action to take on this virtual
	// machine when a host has detected that it has been isolated from the rest of
	// the cluster. Can be one of `clusterIsolationResponse`, `none`, `powerOff`, or
	// `shutdown`. Default: `clusterIsolationResponse`.
	HaHostIsolationResponse pulumi.StringPtrInput
	// If a heartbeat from this virtual
	// machine is not received within this configured interval, the virtual machine
	// is marked as failed. The value is in seconds. Default: `30`.
	HaVmFailureInterval pulumi.IntPtrInput
	// The length of the reset window in
	// which `haVmMaximumResets` can operate. When this
	// window expires, no more resets are attempted regardless of the setting
	// configured in `haVmMaximumResets`. `-1` means no window, meaning an
	// unlimited reset time is allotted. The value is specified in seconds. Default:
	// `-1` (no window).
	HaVmMaximumFailureWindow pulumi.IntPtrInput
	// The maximum number of resets that HA will
	// perform to this virtual machine when responding to a failure event. Default:
	// `3`
	HaVmMaximumResets pulumi.IntPtrInput
	// The time, in seconds, that HA waits after
	// powering on this virtual machine before monitoring for heartbeats. Default:
	// `120` (2 minutes).
	HaVmMinimumUptime pulumi.IntPtrInput
	// The type of virtual machine monitoring to use
	// when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
	// `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
	HaVmMonitoring pulumi.StringPtrInput
	// Determines whether or
	// not the cluster's default settings or the VM override settings specified in
	// this resource are used for virtual machine monitoring. The default is `true`
	// (use cluster defaults) - set to `false` to have overrides take effect.
	HaVmMonitoringUseClusterDefaults pulumi.BoolPtrInput
	// The restart priority for the virtual
	// machine when vSphere detects a host failure. Can be one of
	// `clusterRestartPriority`, `lowest`, `low`, `medium`, `high`, or `highest`.
	// Default: `clusterRestartPriority`.
	HaVmRestartPriority pulumi.StringPtrInput
	// The maximum time, in seconds, that
	// vSphere HA will wait for this virtual machine to be ready. Use `-1` to
	// specify the cluster default.  Default: `-1`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaVmRestartTimeout pulumi.IntPtrInput
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a HaVmOverride resource.

func (HaVmOverrideArgs) ElementType added in v1.5.0

func (HaVmOverrideArgs) ElementType() reflect.Type

type HaVmOverrideState

type HaVmOverrideState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the cluster to put the override in.  Forces a new
	// resource if changed.
	ComputeClusterId pulumi.StringPtrInput
	// Controls the action to take
	// on this virtual machine if an APD status on an affected datastore clears in
	// the middle of an APD event. Can be one of `useClusterDefault`, `none` or
	// `reset`.  Default: `useClusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdRecoveryAction pulumi.StringPtrInput
	// Controls the action to take on this
	// virtual machine when the cluster has detected loss to all paths to a relevant
	// datastore. Can be one of `clusterDefault`, `disabled`, `warning`,
	// `restartConservative`, or `restartAggressive`.  Default: `clusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdResponse pulumi.StringPtrInput
	// Controls the delay in minutes
	// to wait after an APD timeout event to execute the response action defined in
	// `haDatastoreApdResponse`. Use `-1` to use
	// the cluster default. Default: `-1`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastoreApdResponseDelay pulumi.IntPtrInput
	// Controls the action to take on this
	// virtual machine when the cluster has detected a permanent device loss to a
	// relevant datastore. Can be one of `clusterDefault`, `disabled`, `warning`, or
	// `restartAggressive`. Default: `clusterDefault`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaDatastorePdlResponse pulumi.StringPtrInput
	// The action to take on this virtual
	// machine when a host has detected that it has been isolated from the rest of
	// the cluster. Can be one of `clusterIsolationResponse`, `none`, `powerOff`, or
	// `shutdown`. Default: `clusterIsolationResponse`.
	HaHostIsolationResponse pulumi.StringPtrInput
	// If a heartbeat from this virtual
	// machine is not received within this configured interval, the virtual machine
	// is marked as failed. The value is in seconds. Default: `30`.
	HaVmFailureInterval pulumi.IntPtrInput
	// The length of the reset window in
	// which `haVmMaximumResets` can operate. When this
	// window expires, no more resets are attempted regardless of the setting
	// configured in `haVmMaximumResets`. `-1` means no window, meaning an
	// unlimited reset time is allotted. The value is specified in seconds. Default:
	// `-1` (no window).
	HaVmMaximumFailureWindow pulumi.IntPtrInput
	// The maximum number of resets that HA will
	// perform to this virtual machine when responding to a failure event. Default:
	// `3`
	HaVmMaximumResets pulumi.IntPtrInput
	// The time, in seconds, that HA waits after
	// powering on this virtual machine before monitoring for heartbeats. Default:
	// `120` (2 minutes).
	HaVmMinimumUptime pulumi.IntPtrInput
	// The type of virtual machine monitoring to use
	// when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
	// `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
	HaVmMonitoring pulumi.StringPtrInput
	// Determines whether or
	// not the cluster's default settings or the VM override settings specified in
	// this resource are used for virtual machine monitoring. The default is `true`
	// (use cluster defaults) - set to `false` to have overrides take effect.
	HaVmMonitoringUseClusterDefaults pulumi.BoolPtrInput
	// The restart priority for the virtual
	// machine when vSphere detects a host failure. Can be one of
	// `clusterRestartPriority`, `lowest`, `low`, `medium`, `high`, or `highest`.
	// Default: `clusterRestartPriority`.
	HaVmRestartPriority pulumi.StringPtrInput
	// The maximum time, in seconds, that
	// vSphere HA will wait for this virtual machine to be ready. Use `-1` to
	// specify the cluster default.  Default: `-1`.
	// <sup>[\*][tf-vsphere-cluster-resource-version-restrictions]</sup>
	HaVmRestartTimeout pulumi.IntPtrInput
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringPtrInput
}

func (HaVmOverrideState) ElementType added in v1.5.0

func (HaVmOverrideState) ElementType() reflect.Type

type Host added in v0.17.12

type Host struct {
	pulumi.CustomResourceState

	// The ID of the Compute Cluster this host should
	// be added to. This should not be set if `datacenter` is set.
	Cluster pulumi.StringPtrOutput `pulumi:"cluster"`
	// If set to false then the host will be disconected.
	// Default is `false`.
	Connected pulumi.BoolPtrOutput `pulumi:"connected"`
	// The ID of the datacenter this host should
	// be added to. This should not be set if `cluster` is set.
	Datacenter pulumi.StringPtrOutput `pulumi:"datacenter"`
	// If set to true then it will force the host to be added, even
	// if the host is already connected to a different vSphere instance. Default is `false`
	Force pulumi.BoolPtrOutput `pulumi:"force"`
	// FQDN or IP address of the host to be added.
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// The license key that will be applied to the host.
	// The license key is expected to be present in vSphere.
	License pulumi.StringPtrOutput `pulumi:"license"`
	// Set the lockdown state of the host. Valid options are
	// `disabled`, `normal`, and `strict`. Default is `disabled`.
	Lockdown pulumi.StringPtrOutput `pulumi:"lockdown"`
	// Set the management state of the host. Default is `false`.
	Maintenance pulumi.BoolPtrOutput `pulumi:"maintenance"`
	// Password that will be used by vSphere to authenticate
	// to the host.
	Password pulumi.StringOutput `pulumi:"password"`
	// Host's certificate SHA-1 thumbprint. If not set the the
	// CA that signed the host's certificate should be trusted. If the CA is not trusted
	// and no thumbprint is set then the operation will fail.
	Thumbprint pulumi.StringPtrOutput `pulumi:"thumbprint"`
	// Username that will be used by vSphere to authenticate
	// to the host.
	Username pulumi.StringOutput `pulumi:"username"`
}

Provides a VMware vSphere host resource. This represents an ESXi host that can be used either as part of a Compute Cluster or Standalone.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/host.html.markdown.

func GetHost added in v0.17.12

func GetHost(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostState, opts ...pulumi.ResourceOption) (*Host, error)

GetHost gets an existing Host resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHost added in v0.17.12

func NewHost(ctx *pulumi.Context,
	name string, args *HostArgs, opts ...pulumi.ResourceOption) (*Host, error)

NewHost registers a new resource with the given unique name, arguments, and options.

type HostArgs added in v0.17.12

type HostArgs struct {
	// The ID of the Compute Cluster this host should
	// be added to. This should not be set if `datacenter` is set.
	Cluster pulumi.StringPtrInput
	// If set to false then the host will be disconected.
	// Default is `false`.
	Connected pulumi.BoolPtrInput
	// The ID of the datacenter this host should
	// be added to. This should not be set if `cluster` is set.
	Datacenter pulumi.StringPtrInput
	// If set to true then it will force the host to be added, even
	// if the host is already connected to a different vSphere instance. Default is `false`
	Force pulumi.BoolPtrInput
	// FQDN or IP address of the host to be added.
	Hostname pulumi.StringInput
	// The license key that will be applied to the host.
	// The license key is expected to be present in vSphere.
	License pulumi.StringPtrInput
	// Set the lockdown state of the host. Valid options are
	// `disabled`, `normal`, and `strict`. Default is `disabled`.
	Lockdown pulumi.StringPtrInput
	// Set the management state of the host. Default is `false`.
	Maintenance pulumi.BoolPtrInput
	// Password that will be used by vSphere to authenticate
	// to the host.
	Password pulumi.StringInput
	// Host's certificate SHA-1 thumbprint. If not set the the
	// CA that signed the host's certificate should be trusted. If the CA is not trusted
	// and no thumbprint is set then the operation will fail.
	Thumbprint pulumi.StringPtrInput
	// Username that will be used by vSphere to authenticate
	// to the host.
	Username pulumi.StringInput
}

The set of arguments for constructing a Host resource.

func (HostArgs) ElementType added in v1.5.0

func (HostArgs) ElementType() reflect.Type

type HostPortGroup

type HostPortGroup struct {
	pulumi.CustomResourceState

	// List of active network adapters used for load balancing.
	ActiveNics pulumi.StringArrayOutput `pulumi:"activeNics"`
	// 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.BoolPtrOutput `pulumi:"allowForgedTransmits"`
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrOutput `pulumi:"allowMacChanges"`
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrOutput `pulumi:"allowPromiscuous"`
	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used
	// only.
	CheckBeacon pulumi.BoolPtrOutput `pulumi:"checkBeacon"`
	// A map with a full set of the [policy
	// options][host-vswitch-policy-options] computed from defaults and overrides,
	// explaining the effective policy for this port group.
	ComputedPolicy pulumi.StringMapOutput `pulumi:"computedPolicy"`
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback pulumi.BoolPtrOutput `pulumi:"failback"`
	// The [managed object ID][docs-about-morefs] of
	// the host to set the port group up on. Forces a new resource if changed.
	HostSystemId pulumi.StringOutput `pulumi:"hostSystemId"`
	// The key for this port group as returned from the vSphere API.
	Key pulumi.StringOutput `pulumi:"key"`
	// The name of the port group.  Forces a new resource if
	// changed.
	Name pulumi.StringOutput `pulumi:"name"`
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrOutput `pulumi:"notifySwitches"`
	// A list of ports that currently exist and are used on this port group.
	Ports HostPortGroupPortsOutput `pulumi:"ports"`
	// The average bandwidth in bits per second if traffic shaping is enabled.
	ShapingAverageBandwidth pulumi.IntPtrOutput `pulumi:"shapingAverageBandwidth"`
	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	ShapingBurstSize pulumi.IntPtrOutput `pulumi:"shapingBurstSize"`
	// Enable traffic shaping on this virtual switch or port group.
	ShapingEnabled pulumi.BoolPtrOutput `pulumi:"shapingEnabled"`
	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	ShapingPeakBandwidth pulumi.IntPtrOutput `pulumi:"shapingPeakBandwidth"`
	// List of standby network adapters used for failover.
	StandbyNics pulumi.StringArrayOutput `pulumi:"standbyNics"`
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or
	// failover_explicit.
	TeamingPolicy pulumi.StringPtrOutput `pulumi:"teamingPolicy"`
	// The name of the virtual switch to bind
	// this port group to. Forces a new resource if changed.
	VirtualSwitchName pulumi.StringOutput `pulumi:"virtualSwitchName"`
	// The VLAN ID/trunk mode for this port group.  An ID of
	// `0` denotes no tagging, an ID of `1`-`4094` tags with the specific ID, and an
	// ID of `4095` enables trunk mode, allowing the guest to manage its own
	// tagging. Default: `0`.
	VlanId pulumi.IntPtrOutput `pulumi:"vlanId"`
}

The `.HostPortGroup` resource can be used to manage vSphere standard port groups on an ESXi host. These port groups are connected to standard virtual switches, which can be managed by the [`.HostVirtualSwitch`][host-virtual-switch] resource.

For an overview on vSphere networking concepts, see [this page][ref-vsphere-net-concepts].

[host-virtual-switch]: /docs/providers/vsphere/r/host_virtual_switch.html [ref-vsphere-net-concepts]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-2B11DBB8-CB3C-4AFF-8885-EFEA0FC562F4.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/host_port_group.html.markdown.

func GetHostPortGroup

func GetHostPortGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostPortGroupState, opts ...pulumi.ResourceOption) (*HostPortGroup, error)

GetHostPortGroup gets an existing HostPortGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostPortGroup

func NewHostPortGroup(ctx *pulumi.Context,
	name string, args *HostPortGroupArgs, opts ...pulumi.ResourceOption) (*HostPortGroup, error)

NewHostPortGroup registers a new resource with the given unique name, arguments, and options.

type HostPortGroupArgs

type HostPortGroupArgs struct {
	// List of active network adapters used for load balancing.
	ActiveNics pulumi.StringArrayInput
	// 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.BoolPtrInput
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrInput
	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used
	// only.
	CheckBeacon pulumi.BoolPtrInput
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback pulumi.BoolPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the host to set the port group up on. Forces a new resource if changed.
	HostSystemId pulumi.StringInput
	// The name of the port group.  Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrInput
	// The average bandwidth in bits per second if traffic shaping is enabled.
	ShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	ShapingBurstSize pulumi.IntPtrInput
	// Enable traffic shaping on this virtual switch or port group.
	ShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	ShapingPeakBandwidth pulumi.IntPtrInput
	// List of standby network adapters used for failover.
	StandbyNics pulumi.StringArrayInput
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or
	// failover_explicit.
	TeamingPolicy pulumi.StringPtrInput
	// The name of the virtual switch to bind
	// this port group to. Forces a new resource if changed.
	VirtualSwitchName pulumi.StringInput
	// The VLAN ID/trunk mode for this port group.  An ID of
	// `0` denotes no tagging, an ID of `1`-`4094` tags with the specific ID, and an
	// ID of `4095` enables trunk mode, allowing the guest to manage its own
	// tagging. Default: `0`.
	VlanId pulumi.IntPtrInput
}

The set of arguments for constructing a HostPortGroup resource.

func (HostPortGroupArgs) ElementType added in v1.5.0

func (HostPortGroupArgs) ElementType() reflect.Type

type HostPortGroupPorts added in v1.5.0

type HostPortGroupPorts struct {
	// The key for this port group as returned from the vSphere API.
	Key          *string  `pulumi:"key"`
	MacAddresses []string `pulumi:"macAddresses"`
	Type         *string  `pulumi:"type"`
}

type HostPortGroupPortsArgs added in v1.5.0

type HostPortGroupPortsArgs struct {
	// The key for this port group as returned from the vSphere API.
	Key          pulumi.StringPtrInput   `pulumi:"key"`
	MacAddresses pulumi.StringArrayInput `pulumi:"macAddresses"`
	Type         pulumi.StringPtrInput   `pulumi:"type"`
}

func (HostPortGroupPortsArgs) ElementType added in v1.5.0

func (HostPortGroupPortsArgs) ElementType() reflect.Type

func (HostPortGroupPortsArgs) ToHostPortGroupPortsOutput added in v1.5.0

func (i HostPortGroupPortsArgs) ToHostPortGroupPortsOutput() HostPortGroupPortsOutput

func (HostPortGroupPortsArgs) ToHostPortGroupPortsOutputWithContext added in v1.5.0

func (i HostPortGroupPortsArgs) ToHostPortGroupPortsOutputWithContext(ctx context.Context) HostPortGroupPortsOutput

func (HostPortGroupPortsArgs) ToHostPortGroupPortsPtrOutput added in v1.5.0

func (i HostPortGroupPortsArgs) ToHostPortGroupPortsPtrOutput() HostPortGroupPortsPtrOutput

func (HostPortGroupPortsArgs) ToHostPortGroupPortsPtrOutputWithContext added in v1.5.0

func (i HostPortGroupPortsArgs) ToHostPortGroupPortsPtrOutputWithContext(ctx context.Context) HostPortGroupPortsPtrOutput

type HostPortGroupPortsInput added in v1.5.0

type HostPortGroupPortsInput interface {
	pulumi.Input

	ToHostPortGroupPortsOutput() HostPortGroupPortsOutput
	ToHostPortGroupPortsOutputWithContext(context.Context) HostPortGroupPortsOutput
}

type HostPortGroupPortsOutput added in v1.5.0

type HostPortGroupPortsOutput struct{ *pulumi.OutputState }

func (HostPortGroupPortsOutput) ElementType added in v1.5.0

func (HostPortGroupPortsOutput) ElementType() reflect.Type

func (HostPortGroupPortsOutput) Key added in v1.5.0

The key for this port group as returned from the vSphere API.

func (HostPortGroupPortsOutput) MacAddresses added in v1.5.0

func (HostPortGroupPortsOutput) ToHostPortGroupPortsOutput added in v1.5.0

func (o HostPortGroupPortsOutput) ToHostPortGroupPortsOutput() HostPortGroupPortsOutput

func (HostPortGroupPortsOutput) ToHostPortGroupPortsOutputWithContext added in v1.5.0

func (o HostPortGroupPortsOutput) ToHostPortGroupPortsOutputWithContext(ctx context.Context) HostPortGroupPortsOutput

func (HostPortGroupPortsOutput) ToHostPortGroupPortsPtrOutput added in v1.5.0

func (o HostPortGroupPortsOutput) ToHostPortGroupPortsPtrOutput() HostPortGroupPortsPtrOutput

func (HostPortGroupPortsOutput) ToHostPortGroupPortsPtrOutputWithContext added in v1.5.0

func (o HostPortGroupPortsOutput) ToHostPortGroupPortsPtrOutputWithContext(ctx context.Context) HostPortGroupPortsPtrOutput

func (HostPortGroupPortsOutput) Type added in v1.5.0

type HostPortGroupPortsPtrInput added in v1.5.0

type HostPortGroupPortsPtrInput interface {
	pulumi.Input

	ToHostPortGroupPortsPtrOutput() HostPortGroupPortsPtrOutput
	ToHostPortGroupPortsPtrOutputWithContext(context.Context) HostPortGroupPortsPtrOutput
}

func HostPortGroupPortsPtr added in v1.5.0

func HostPortGroupPortsPtr(v *HostPortGroupPortsArgs) HostPortGroupPortsPtrInput

type HostPortGroupPortsPtrOutput added in v1.5.0

type HostPortGroupPortsPtrOutput struct{ *pulumi.OutputState }

func (HostPortGroupPortsPtrOutput) Elem added in v1.5.0

func (HostPortGroupPortsPtrOutput) ElementType added in v1.5.0

func (HostPortGroupPortsPtrOutput) Key added in v1.5.0

The key for this port group as returned from the vSphere API.

func (HostPortGroupPortsPtrOutput) MacAddresses added in v1.5.0

func (HostPortGroupPortsPtrOutput) ToHostPortGroupPortsPtrOutput added in v1.5.0

func (o HostPortGroupPortsPtrOutput) ToHostPortGroupPortsPtrOutput() HostPortGroupPortsPtrOutput

func (HostPortGroupPortsPtrOutput) ToHostPortGroupPortsPtrOutputWithContext added in v1.5.0

func (o HostPortGroupPortsPtrOutput) ToHostPortGroupPortsPtrOutputWithContext(ctx context.Context) HostPortGroupPortsPtrOutput

func (HostPortGroupPortsPtrOutput) Type added in v1.5.0

type HostPortGroupState

type HostPortGroupState struct {
	// List of active network adapters used for load balancing.
	ActiveNics pulumi.StringArrayInput
	// 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.BoolPtrInput
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous pulumi.BoolPtrInput
	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used
	// only.
	CheckBeacon pulumi.BoolPtrInput
	// A map with a full set of the [policy
	// options][host-vswitch-policy-options] computed from defaults and overrides,
	// explaining the effective policy for this port group.
	ComputedPolicy pulumi.StringMapInput
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback pulumi.BoolPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the host to set the port group up on. Forces a new resource if changed.
	HostSystemId pulumi.StringPtrInput
	// The key for this port group as returned from the vSphere API.
	Key pulumi.StringPtrInput
	// The name of the port group.  Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches pulumi.BoolPtrInput
	// A list of ports that currently exist and are used on this port group.
	Ports HostPortGroupPortsPtrInput
	// The average bandwidth in bits per second if traffic shaping is enabled.
	ShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	ShapingBurstSize pulumi.IntPtrInput
	// Enable traffic shaping on this virtual switch or port group.
	ShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	ShapingPeakBandwidth pulumi.IntPtrInput
	// List of standby network adapters used for failover.
	StandbyNics pulumi.StringArrayInput
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or
	// failover_explicit.
	TeamingPolicy pulumi.StringPtrInput
	// The name of the virtual switch to bind
	// this port group to. Forces a new resource if changed.
	VirtualSwitchName pulumi.StringPtrInput
	// The VLAN ID/trunk mode for this port group.  An ID of
	// `0` denotes no tagging, an ID of `1`-`4094` tags with the specific ID, and an
	// ID of `4095` enables trunk mode, allowing the guest to manage its own
	// tagging. Default: `0`.
	VlanId pulumi.IntPtrInput
}

func (HostPortGroupState) ElementType added in v1.5.0

func (HostPortGroupState) ElementType() reflect.Type

type HostState added in v0.17.12

type HostState struct {
	// The ID of the Compute Cluster this host should
	// be added to. This should not be set if `datacenter` is set.
	Cluster pulumi.StringPtrInput
	// If set to false then the host will be disconected.
	// Default is `false`.
	Connected pulumi.BoolPtrInput
	// The ID of the datacenter this host should
	// be added to. This should not be set if `cluster` is set.
	Datacenter pulumi.StringPtrInput
	// If set to true then it will force the host to be added, even
	// if the host is already connected to a different vSphere instance. Default is `false`
	Force pulumi.BoolPtrInput
	// FQDN or IP address of the host to be added.
	Hostname pulumi.StringPtrInput
	// The license key that will be applied to the host.
	// The license key is expected to be present in vSphere.
	License pulumi.StringPtrInput
	// Set the lockdown state of the host. Valid options are
	// `disabled`, `normal`, and `strict`. Default is `disabled`.
	Lockdown pulumi.StringPtrInput
	// Set the management state of the host. Default is `false`.
	Maintenance pulumi.BoolPtrInput
	// Password that will be used by vSphere to authenticate
	// to the host.
	Password pulumi.StringPtrInput
	// Host's certificate SHA-1 thumbprint. If not set the the
	// CA that signed the host's certificate should be trusted. If the CA is not trusted
	// and no thumbprint is set then the operation will fail.
	Thumbprint pulumi.StringPtrInput
	// Username that will be used by vSphere to authenticate
	// to the host.
	Username pulumi.StringPtrInput
}

func (HostState) ElementType added in v1.5.0

func (HostState) ElementType() reflect.Type

type HostVirtualSwitch

type HostVirtualSwitch struct {
	pulumi.CustomResourceState

	// The list of active network adapters used for load
	// balancing.
	ActiveNics pulumi.StringArrayOutput `pulumi:"activeNics"`
	// Controls whether or not the virtual
	// network adapter is allowed to send network traffic with a different MAC
	// address than that of its own. Default: `true`.
	AllowForgedTransmits pulumi.BoolPtrOutput `pulumi:"allowForgedTransmits"`
	// Controls whether or not the Media Access
	// Control (MAC) address can be changed. Default: `true`.
	AllowMacChanges pulumi.BoolPtrOutput `pulumi:"allowMacChanges"`
	// Enable promiscuous mode on the network. This
	// flag indicates whether or not all traffic is seen on a given port. Default:
	// `false`.
	AllowPromiscuous pulumi.BoolPtrOutput `pulumi:"allowPromiscuous"`
	// The interval, in seconds, that a NIC beacon
	// packet is sent out. This can be used with `checkBeacon` to
	// offer link failure capability beyond link status only. Default: `1`.
	BeaconInterval pulumi.IntPtrOutput `pulumi:"beaconInterval"`
	// Enable beacon probing - this requires that the
	// `beaconInterval` option has been set in the bridge
	// options. If this is set to `false`, only link status is used to check for
	// failed NICs.  Default: `false`.
	CheckBeacon pulumi.BoolPtrOutput `pulumi:"checkBeacon"`
	// If set to `true`, the teaming policy will re-activate
	// failed interfaces higher in precedence when they come back up.  Default:
	// `true`.
	Failback pulumi.BoolPtrOutput `pulumi:"failback"`
	// The [managed object ID][docs-about-morefs] of
	// the host to set the virtual switch up on. Forces a new resource if changed.
	HostSystemId pulumi.StringOutput `pulumi:"hostSystemId"`
	// Whether to `advertise` or `listen`
	// for link discovery traffic. Default: `listen`.
	LinkDiscoveryOperation pulumi.StringPtrOutput `pulumi:"linkDiscoveryOperation"`
	// The discovery protocol type.  Valid
	// types are `cpd` and `lldp`. Default: `cdp`.
	LinkDiscoveryProtocol pulumi.StringPtrOutput `pulumi:"linkDiscoveryProtocol"`
	// The maximum transmission unit (MTU) for the virtual
	// switch. Default: `1500`.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The name of the virtual switch. Forces a new resource if
	// changed.
	Name pulumi.StringOutput `pulumi:"name"`
	// The network interfaces to bind to the bridge.
	NetworkAdapters pulumi.StringArrayOutput `pulumi:"networkAdapters"`
	// If set to `true`, the teaming policy will
	// notify the broadcast network of a NIC failover, triggering cache updates.
	// Default: `true`.
	NotifySwitches pulumi.BoolPtrOutput `pulumi:"notifySwitches"`
	// The number of ports to create with this
	// virtual switch. Default: `128`.
	NumberOfPorts pulumi.IntPtrOutput `pulumi:"numberOfPorts"`
	// The average bandwidth in bits per
	// second if traffic shaping is enabled. Default: `0`
	ShapingAverageBandwidth pulumi.IntPtrOutput `pulumi:"shapingAverageBandwidth"`
	// The maximum burst size allowed in bytes if
	// shaping is enabled. Default: `0`
	ShapingBurstSize pulumi.IntPtrOutput `pulumi:"shapingBurstSize"`
	// Set to `true` to enable the traffic shaper for
	// ports managed by this virtual switch. Default: `false`.
	ShapingEnabled pulumi.BoolPtrOutput `pulumi:"shapingEnabled"`
	// The peak bandwidth during bursts in
	// bits per second if traffic shaping is enabled. Default: `0`
	ShapingPeakBandwidth pulumi.IntPtrOutput `pulumi:"shapingPeakBandwidth"`
	// The list of standby network adapters used for
	// failover.
	StandbyNics pulumi.StringArrayOutput `pulumi:"standbyNics"`
	// The network adapter teaming policy. Can be one
	// of `loadbalanceIp`, `loadbalanceSrcmac`, `loadbalanceSrcid`, or
	// `failoverExplicit`. Default: `loadbalanceSrcid`.
	TeamingPolicy pulumi.StringPtrOutput `pulumi:"teamingPolicy"`
}

The `.HostVirtualSwitch` resource can be used to manage vSphere standard switches on an ESXi host. These switches can be used as a backing for standard port groups, which can be managed by the [`.HostPortGroup`][host-port-group] resource.

For an overview on vSphere networking concepts, see [this page][ref-vsphere-net-concepts].

[host-port-group]: /docs/providers/vsphere/r/host_port_group.html [ref-vsphere-net-concepts]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-2B11DBB8-CB3C-4AFF-8885-EFEA0FC562F4.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/host_virtual_switch.html.markdown.

func GetHostVirtualSwitch

func GetHostVirtualSwitch(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostVirtualSwitchState, opts ...pulumi.ResourceOption) (*HostVirtualSwitch, error)

GetHostVirtualSwitch gets an existing HostVirtualSwitch resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostVirtualSwitch

func NewHostVirtualSwitch(ctx *pulumi.Context,
	name string, args *HostVirtualSwitchArgs, opts ...pulumi.ResourceOption) (*HostVirtualSwitch, error)

NewHostVirtualSwitch registers a new resource with the given unique name, arguments, and options.

type HostVirtualSwitchArgs

type HostVirtualSwitchArgs struct {
	// The list of active network adapters used for load
	// balancing.
	ActiveNics pulumi.StringArrayInput
	// Controls whether or not the virtual
	// network adapter is allowed to send network traffic with a different MAC
	// address than that of its own. Default: `true`.
	AllowForgedTransmits pulumi.BoolPtrInput
	// Controls whether or not the Media Access
	// Control (MAC) address can be changed. Default: `true`.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This
	// flag indicates whether or not all traffic is seen on a given port. Default:
	// `false`.
	AllowPromiscuous pulumi.BoolPtrInput
	// The interval, in seconds, that a NIC beacon
	// packet is sent out. This can be used with `checkBeacon` to
	// offer link failure capability beyond link status only. Default: `1`.
	BeaconInterval pulumi.IntPtrInput
	// Enable beacon probing - this requires that the
	// `beaconInterval` option has been set in the bridge
	// options. If this is set to `false`, only link status is used to check for
	// failed NICs.  Default: `false`.
	CheckBeacon pulumi.BoolPtrInput
	// If set to `true`, the teaming policy will re-activate
	// failed interfaces higher in precedence when they come back up.  Default:
	// `true`.
	Failback pulumi.BoolPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the host to set the virtual switch up on. Forces a new resource if changed.
	HostSystemId pulumi.StringInput
	// Whether to `advertise` or `listen`
	// for link discovery traffic. Default: `listen`.
	LinkDiscoveryOperation pulumi.StringPtrInput
	// The discovery protocol type.  Valid
	// types are `cpd` and `lldp`. Default: `cdp`.
	LinkDiscoveryProtocol pulumi.StringPtrInput
	// The maximum transmission unit (MTU) for the virtual
	// switch. Default: `1500`.
	Mtu pulumi.IntPtrInput
	// The name of the virtual switch. Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// The network interfaces to bind to the bridge.
	NetworkAdapters pulumi.StringArrayInput
	// If set to `true`, the teaming policy will
	// notify the broadcast network of a NIC failover, triggering cache updates.
	// Default: `true`.
	NotifySwitches pulumi.BoolPtrInput
	// The number of ports to create with this
	// virtual switch. Default: `128`.
	NumberOfPorts pulumi.IntPtrInput
	// The average bandwidth in bits per
	// second if traffic shaping is enabled. Default: `0`
	ShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in bytes if
	// shaping is enabled. Default: `0`
	ShapingBurstSize pulumi.IntPtrInput
	// Set to `true` to enable the traffic shaper for
	// ports managed by this virtual switch. Default: `false`.
	ShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during bursts in
	// bits per second if traffic shaping is enabled. Default: `0`
	ShapingPeakBandwidth pulumi.IntPtrInput
	// The list of standby network adapters used for
	// failover.
	StandbyNics pulumi.StringArrayInput
	// The network adapter teaming policy. Can be one
	// of `loadbalanceIp`, `loadbalanceSrcmac`, `loadbalanceSrcid`, or
	// `failoverExplicit`. Default: `loadbalanceSrcid`.
	TeamingPolicy pulumi.StringPtrInput
}

The set of arguments for constructing a HostVirtualSwitch resource.

func (HostVirtualSwitchArgs) ElementType added in v1.5.0

func (HostVirtualSwitchArgs) ElementType() reflect.Type

type HostVirtualSwitchState

type HostVirtualSwitchState struct {
	// The list of active network adapters used for load
	// balancing.
	ActiveNics pulumi.StringArrayInput
	// Controls whether or not the virtual
	// network adapter is allowed to send network traffic with a different MAC
	// address than that of its own. Default: `true`.
	AllowForgedTransmits pulumi.BoolPtrInput
	// Controls whether or not the Media Access
	// Control (MAC) address can be changed. Default: `true`.
	AllowMacChanges pulumi.BoolPtrInput
	// Enable promiscuous mode on the network. This
	// flag indicates whether or not all traffic is seen on a given port. Default:
	// `false`.
	AllowPromiscuous pulumi.BoolPtrInput
	// The interval, in seconds, that a NIC beacon
	// packet is sent out. This can be used with `checkBeacon` to
	// offer link failure capability beyond link status only. Default: `1`.
	BeaconInterval pulumi.IntPtrInput
	// Enable beacon probing - this requires that the
	// `beaconInterval` option has been set in the bridge
	// options. If this is set to `false`, only link status is used to check for
	// failed NICs.  Default: `false`.
	CheckBeacon pulumi.BoolPtrInput
	// If set to `true`, the teaming policy will re-activate
	// failed interfaces higher in precedence when they come back up.  Default:
	// `true`.
	Failback pulumi.BoolPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the host to set the virtual switch up on. Forces a new resource if changed.
	HostSystemId pulumi.StringPtrInput
	// Whether to `advertise` or `listen`
	// for link discovery traffic. Default: `listen`.
	LinkDiscoveryOperation pulumi.StringPtrInput
	// The discovery protocol type.  Valid
	// types are `cpd` and `lldp`. Default: `cdp`.
	LinkDiscoveryProtocol pulumi.StringPtrInput
	// The maximum transmission unit (MTU) for the virtual
	// switch. Default: `1500`.
	Mtu pulumi.IntPtrInput
	// The name of the virtual switch. Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// The network interfaces to bind to the bridge.
	NetworkAdapters pulumi.StringArrayInput
	// If set to `true`, the teaming policy will
	// notify the broadcast network of a NIC failover, triggering cache updates.
	// Default: `true`.
	NotifySwitches pulumi.BoolPtrInput
	// The number of ports to create with this
	// virtual switch. Default: `128`.
	NumberOfPorts pulumi.IntPtrInput
	// The average bandwidth in bits per
	// second if traffic shaping is enabled. Default: `0`
	ShapingAverageBandwidth pulumi.IntPtrInput
	// The maximum burst size allowed in bytes if
	// shaping is enabled. Default: `0`
	ShapingBurstSize pulumi.IntPtrInput
	// Set to `true` to enable the traffic shaper for
	// ports managed by this virtual switch. Default: `false`.
	ShapingEnabled pulumi.BoolPtrInput
	// The peak bandwidth during bursts in
	// bits per second if traffic shaping is enabled. Default: `0`
	ShapingPeakBandwidth pulumi.IntPtrInput
	// The list of standby network adapters used for
	// failover.
	StandbyNics pulumi.StringArrayInput
	// The network adapter teaming policy. Can be one
	// of `loadbalanceIp`, `loadbalanceSrcmac`, `loadbalanceSrcid`, or
	// `failoverExplicit`. Default: `loadbalanceSrcid`.
	TeamingPolicy pulumi.StringPtrInput
}

func (HostVirtualSwitchState) ElementType added in v1.5.0

func (HostVirtualSwitchState) ElementType() reflect.Type

type License

type License struct {
	pulumi.CustomResourceState

	// The product edition of the license key.
	EditionKey pulumi.StringOutput `pulumi:"editionKey"`
	// A map of key/value pairs to be attached as labels (tags) to the license key.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The license key to add.
	LicenseKey pulumi.StringOutput `pulumi:"licenseKey"`
	// The display name for the license.
	Name pulumi.StringOutput `pulumi:"name"`
	// Total number of units (example: CPUs) contained in the license.
	Total pulumi.IntOutput `pulumi:"total"`
	// The number of units (example: CPUs) assigned to this license.
	Used pulumi.IntOutput `pulumi:"used"`
}

Provides a VMware vSphere license resource. This can be used to add and remove license keys.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/license.html.markdown.

func GetLicense

func GetLicense(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LicenseState, opts ...pulumi.ResourceOption) (*License, error)

GetLicense gets an existing License resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLicense

func NewLicense(ctx *pulumi.Context,
	name string, args *LicenseArgs, opts ...pulumi.ResourceOption) (*License, error)

NewLicense registers a new resource with the given unique name, arguments, and options.

type LicenseArgs

type LicenseArgs struct {
	// A map of key/value pairs to be attached as labels (tags) to the license key.
	Labels pulumi.StringMapInput
	// The license key to add.
	LicenseKey pulumi.StringInput
}

The set of arguments for constructing a License resource.

func (LicenseArgs) ElementType added in v1.5.0

func (LicenseArgs) ElementType() reflect.Type

type LicenseState

type LicenseState struct {
	// The product edition of the license key.
	EditionKey pulumi.StringPtrInput
	// A map of key/value pairs to be attached as labels (tags) to the license key.
	Labels pulumi.StringMapInput
	// The license key to add.
	LicenseKey pulumi.StringPtrInput
	// The display name for the license.
	Name pulumi.StringPtrInput
	// Total number of units (example: CPUs) contained in the license.
	Total pulumi.IntPtrInput
	// The number of units (example: CPUs) assigned to this license.
	Used pulumi.IntPtrInput
}

func (LicenseState) ElementType added in v1.5.0

func (LicenseState) ElementType() reflect.Type

type LookupComputeClusterArgs added in v1.5.0

type LookupComputeClusterArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the cluster is located in.  This can
	// be omitted if the search path used in `name` is an absolute path.  For
	// default datacenters, use the id attribute from an empty `.Datacenter`
	// data source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name or absolute path to the cluster.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getComputeCluster.

type LookupComputeClusterResult added in v1.5.0

type LookupComputeClusterResult struct {
	DatacenterId *string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id             string `pulumi:"id"`
	Name           string `pulumi:"name"`
	ResourcePoolId string `pulumi:"resourcePoolId"`
}

A collection of values returned by getComputeCluster.

type LookupContentLibraryArgs added in v1.7.0

type LookupContentLibraryArgs struct {
	// The name of the Content Library.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getContentLibrary.

type LookupContentLibraryItemArgs added in v1.7.0

type LookupContentLibraryItemArgs struct {
	// The ID of the Content Library the item exists in.
	LibraryId string `pulumi:"libraryId"`
	// The name of the Content Library.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getContentLibraryItem.

type LookupContentLibraryItemResult added in v1.7.0

type LookupContentLibraryItemResult struct {
	// id is the provider-assigned unique ID for this managed resource.
	Id        string `pulumi:"id"`
	LibraryId string `pulumi:"libraryId"`
	Name      string `pulumi:"name"`
}

A collection of values returned by getContentLibraryItem.

func LookupContentLibraryItem added in v1.7.0

func LookupContentLibraryItem(ctx *pulumi.Context, args *LookupContentLibraryItemArgs, opts ...pulumi.InvokeOption) (*LookupContentLibraryItemResult, error)

The `.ContentLibraryItem` data source can be used to discover the ID of a Content Library item.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/content_library_item.html.markdown.

type LookupContentLibraryResult added in v1.7.0

type LookupContentLibraryResult struct {
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getContentLibrary.

func LookupContentLibrary added in v1.7.0

func LookupContentLibrary(ctx *pulumi.Context, args *LookupContentLibraryArgs, opts ...pulumi.InvokeOption) (*LookupContentLibraryResult, error)

The `.ContentLibrary` data source can be used to discover the ID of a Content Library.

> **NOTE:** This resource requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/content_library.html.markdown.

type LookupCustomAttributeArgs added in v1.5.0

type LookupCustomAttributeArgs struct {
	// The name of the custom attribute.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getCustomAttribute.

type LookupCustomAttributeResult added in v1.5.0

type LookupCustomAttributeResult struct {
	// id is the provider-assigned unique ID for this managed resource.
	Id                string `pulumi:"id"`
	ManagedObjectType string `pulumi:"managedObjectType"`
	Name              string `pulumi:"name"`
}

A collection of values returned by getCustomAttribute.

type LookupDatacenterArgs added in v1.5.0

type LookupDatacenterArgs struct {
	// The name of the datacenter. This can be a name or path.
	// Can be omitted if there is only one datacenter in your inventory.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getDatacenter.

type LookupDatacenterResult added in v1.5.0

type LookupDatacenterResult struct {
	// id is the provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
}

A collection of values returned by getDatacenter.

func LookupDatacenter

func LookupDatacenter(ctx *pulumi.Context, args *LookupDatacenterArgs, opts ...pulumi.InvokeOption) (*LookupDatacenterResult, error)

The `.Datacenter` data source can be used to discover the ID of a vSphere datacenter. This can then be used with resources or data sources that require a datacenter, such as the [`.Host`][data-source-vsphere-host] data source.

[data-source-vsphere-host]: /docs/providers/vsphere/d/host.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/datacenter.html.markdown.

type LookupDatastoreClusterArgs added in v1.5.0

type LookupDatastoreClusterArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the datastore cluster is located in.
	// This can be omitted if the search path used in `name` is an absolute path.
	// For default datacenters, use the id attribute from an empty
	// `.Datacenter` data source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name or absolute path to the datastore cluster.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getDatastoreCluster.

type LookupDatastoreClusterResult added in v1.5.0

type LookupDatastoreClusterResult struct {
	DatacenterId *string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getDatastoreCluster.

func LookupDatastoreCluster

func LookupDatastoreCluster(ctx *pulumi.Context, args *LookupDatastoreClusterArgs, opts ...pulumi.InvokeOption) (*LookupDatastoreClusterResult, error)

The `.DatastoreCluster` data source can be used to discover the ID of a datastore cluster in vSphere. This is useful to fetch the ID of a datastore cluster that you want to use to assign datastores to using the [`.NasDatastore`][docs-nas-datastore-resource] or [`.VmfsDatastore`][docs-vmfs-datastore-resource] resources, or create virtual machines in using the [`.VirtualMachine`][docs-virtual-machine-resource] resource.

[docs-nas-datastore-resource]: /docs/providers/vsphere/r/nas_datastore.html [docs-vmfs-datastore-resource]: /docs/providers/vsphere/r/vmfs_datastore.html [docs-virtual-machine-resource]: /docs/providers/vsphere/r/virtual_machine.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/datastore_cluster.html.markdown.

type LookupDistributedVirtualSwitchArgs added in v1.5.0

type LookupDistributedVirtualSwitchArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the DVS is located in. This can be
	// omitted if the search path used in `name` is an absolute path. For default
	// datacenters, use the id attribute from an empty `.Datacenter` data
	// source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name of the distributed virtual switch. This can be a
	// name or path.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getDistributedVirtualSwitch.

type LookupDistributedVirtualSwitchResult added in v1.5.0

type LookupDistributedVirtualSwitchResult struct {
	DatacenterId *string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id      string   `pulumi:"id"`
	Name    string   `pulumi:"name"`
	Uplinks []string `pulumi:"uplinks"`
}

A collection of values returned by getDistributedVirtualSwitch.

func LookupDistributedVirtualSwitch

The `.DistributedVirtualSwitch` data source can be used to discover the ID and uplink data of a of a vSphere distributed virtual switch (DVS). This can then be used with resources or data sources that require a DVS, such as the [`.DistributedPortGroup`][distributed-port-group] resource, for which an example is shown below.

[distributed-port-group]: /docs/providers/vsphere/r/distributed_port_group.html

> **NOTE:** This data source requires vCenter and is not available on direct ESXi connections.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/distributed_virtual_switch.html.markdown.

type LookupFolderArgs added in v1.5.0

type LookupFolderArgs struct {
	Path string `pulumi:"path"`
}

A collection of arguments for invoking getFolder.

type LookupFolderResult added in v1.5.0

type LookupFolderResult struct {
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Path string `pulumi:"path"`
}

A collection of values returned by getFolder.

func LookupFolder added in v0.17.1

func LookupFolder(ctx *pulumi.Context, args *LookupFolderArgs, opts ...pulumi.InvokeOption) (*LookupFolderResult, error)

The `.Folder` data source can be used to get the general attributes of a vSphere inventory folder. Paths are absolute and include must include the datacenter.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/folder.html.markdown.

type LookupHostArgs added in v1.5.0

type LookupHostArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of a datacenter.
	DatacenterId string `pulumi:"datacenterId"`
	// The name of the host. This can be a name or path. Can be
	// omitted if there is only one host in your inventory.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getHost.

type LookupHostResult added in v1.5.0

type LookupHostResult struct {
	DatacenterId string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
	// The [managed object ID][docs-about-morefs] of the host's
	// root resource pool.
	ResourcePoolId string `pulumi:"resourcePoolId"`
}

A collection of values returned by getHost.

func LookupHost

func LookupHost(ctx *pulumi.Context, args *LookupHostArgs, opts ...pulumi.InvokeOption) (*LookupHostResult, error)

The `.Host` data source can be used to discover the ID of a vSphere host. This can then be used with resources or data sources that require a host managed object reference ID.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/host.html.markdown.

type LookupResourcePoolArgs added in v1.5.0

type LookupResourcePoolArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the resource pool is located in.
	// This can be omitted if the search path used in `name` is an absolute path.
	// For default datacenters, use the id attribute from an empty
	// `.Datacenter` data source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name of the resource pool. This can be a name or
	// path. This is required when using vCenter.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getResourcePool.

type LookupResourcePoolResult added in v1.5.0

type LookupResourcePoolResult struct {
	DatacenterId *string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
}

A collection of values returned by getResourcePool.

func LookupResourcePool

func LookupResourcePool(ctx *pulumi.Context, args *LookupResourcePoolArgs, opts ...pulumi.InvokeOption) (*LookupResourcePoolResult, error)

The `.ResourcePool` data source can be used to discover the ID of a resource pool in vSphere. This is useful to fetch the ID of a resource pool that you want to use to create virtual machines in using the [`.VirtualMachine`][docs-virtual-machine-resource] resource.

[docs-virtual-machine-resource]: /docs/providers/vsphere/r/virtual_machine.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/resource_pool.html.markdown.

type LookupTagArgs added in v1.5.0

type LookupTagArgs struct {
	// The ID of the tag category the tag is located in.
	CategoryId string `pulumi:"categoryId"`
	// The name of the tag.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getTag.

type LookupTagCategoryArgs added in v1.5.0

type LookupTagCategoryArgs struct {
	// The name of the tag category.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getTagCategory.

type LookupTagCategoryResult added in v1.5.0

type LookupTagCategoryResult struct {
	AssociableTypes []string `pulumi:"associableTypes"`
	Cardinality     string   `pulumi:"cardinality"`
	Description     string   `pulumi:"description"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getTagCategory.

type LookupTagResult added in v1.5.0

type LookupTagResult struct {
	CategoryId  string `pulumi:"categoryId"`
	Description string `pulumi:"description"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getTag.

func LookupTag

func LookupTag(ctx *pulumi.Context, args *LookupTagArgs, opts ...pulumi.InvokeOption) (*LookupTagResult, error)

type LookupVappContainerArgs added in v1.5.0

type LookupVappContainerArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the vApp container is located in.
	DatacenterId string `pulumi:"datacenterId"`
	// The name of the vApp container. This can be a name or
	// path.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getVappContainer.

type LookupVappContainerResult added in v1.5.0

type LookupVappContainerResult struct {
	DatacenterId string `pulumi:"datacenterId"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
}

A collection of values returned by getVappContainer.

func LookupVappContainer added in v0.16.3

func LookupVappContainer(ctx *pulumi.Context, args *LookupVappContainerArgs, opts ...pulumi.InvokeOption) (*LookupVappContainerResult, error)

The `.VappContainer` data source can be used to discover the ID of a vApp container in vSphere. This is useful to fetch the ID of a vApp container that you want to use to create virtual machines in using the [`.VirtualMachine`][docs-virtual-machine-resource] resource.

[docs-virtual-machine-resource]: /docs/providers/vsphere/r/virtual_machine.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/vapp_container.html.markdown.

type LookupVirtualMachineArgs added in v1.5.0

type LookupVirtualMachineArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datacenter the virtual machine is located in.
	// This can be omitted if the search path used in `name` is an absolute path.
	// For default datacenters, use the `id` attribute from an empty
	// `.Datacenter` data source.
	DatacenterId *string `pulumi:"datacenterId"`
	// The name of the virtual machine. This can be a name or
	// path.
	Name string `pulumi:"name"`
	// The number of SCSI controllers to
	// scan for disk attributes and controller types on. Default: `1`.
	ScsiControllerScanCount *int `pulumi:"scsiControllerScanCount"`
}

A collection of arguments for invoking getVirtualMachine.

type LookupVirtualMachineResult added in v1.5.0

type LookupVirtualMachineResult struct {
	// The alternate guest name of the virtual machine when
	// guestId is a non-specific operating system, like `otherGuest`.
	AlternateGuestName string  `pulumi:"alternateGuestName"`
	DatacenterId       *string `pulumi:"datacenterId"`
	// Information about each of the disks on this virtual machine or
	// template. These are sorted by bus and unit number so that they can be applied
	// to a `.VirtualMachine` resource in the order the resource expects
	// while cloning. This is useful for discovering certain disk settings while
	// performing a linked clone, as all settings that are output by this data
	// source must be the same on the destination virtual machine as the source.
	// Only the first number of controllers defined by `scsiControllerScanCount`
	// are scanned for disks. The sub-attributes are:
	Disks []GetVirtualMachineDisk `pulumi:"disks"`
	// The firmware type for this virtual machine. Can be `bios` or `efi`.
	Firmware string `pulumi:"firmware"`
	// The guest ID of the virtual machine or template.
	GuestId string `pulumi:"guestId"`
	// A list of IP addresses as reported by VMWare tools.
	GuestIpAddresses []string `pulumi:"guestIpAddresses"`
	// id is the provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The network interface types for each network
	// interface found on the virtual machine, in device bus order. Will be one of
	// `e1000`, `e1000e`, `pcnet32`, `sriov`, `vmxnet2`, or `vmxnet3`.
	NetworkInterfaceTypes []string `pulumi:"networkInterfaceTypes"`
	// Mode for sharing the SCSI bus. The modes are
	// physicalSharing, virtualSharing, and noSharing. Only the first number of
	// controllers defined by `scsiControllerScanCount` are scanned.
	ScsiBusSharing          string `pulumi:"scsiBusSharing"`
	ScsiControllerScanCount *int   `pulumi:"scsiControllerScanCount"`
	// The common type of all SCSI controllers on this virtual machine.
	// Will be one of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic
	// SAS), `pvscsi` (VMware Paravirtual), `buslogic` (BusLogic), or `mixed` when
	// there are multiple controller types. Only the first number of controllers
	// defined by `scsiControllerScanCount` are scanned.
	ScsiType string `pulumi:"scsiType"`
}

A collection of values returned by getVirtualMachine.

func LookupVirtualMachine

func LookupVirtualMachine(ctx *pulumi.Context, args *LookupVirtualMachineArgs, opts ...pulumi.InvokeOption) (*LookupVirtualMachineResult, error)

The `.VirtualMachine` data source can be used to find the UUID of an existing virtual machine or template. Its most relevant purpose is for finding the UUID of a template to be used as the source for cloning into a new [`.VirtualMachine`][docs-virtual-machine-resource] resource. It also reads the guest ID so that can be supplied as well.

[docs-virtual-machine-resource]: /docs/providers/vsphere/r/virtual_machine.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/d/virtual_machine.html.markdown.

type NasDatastore

type NasDatastore struct {
	pulumi.CustomResourceState

	// Access mode for the mount point. Can be one of
	// `readOnly` or `readWrite`. Note that `readWrite` does not necessarily mean
	// that the datastore will be read-write depending on the permissions of the
	// actual share. Default: `readWrite`. Forces a new resource if changed.
	AccessMode pulumi.StringPtrOutput `pulumi:"accessMode"`
	// The connectivity status of the datastore. If this is `false`,
	// some other computed attributes may be out of date.
	Accessible pulumi.BoolOutput `pulumi:"accessible"`
	// Maximum capacity of the datastore, in megabytes.
	Capacity pulumi.IntOutput `pulumi:"capacity"`
	// Map of custom attribute ids to attribute
	// value strings to set on datasource resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The [managed object
	// ID][docs-about-morefs] of a datastore cluster to put this datastore in.
	// Conflicts with `folder`.
	DatastoreClusterId pulumi.StringPtrOutput `pulumi:"datastoreClusterId"`
	// The path to the datastore folder to put the datastore in.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// Available space of this datastore, in megabytes.
	FreeSpace pulumi.IntOutput `pulumi:"freeSpace"`
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to mount the datastore on.
	HostSystemIds pulumi.StringArrayOutput `pulumi:"hostSystemIds"`
	// The current maintenance mode state of the datastore.
	MaintenanceMode pulumi.StringOutput `pulumi:"maintenanceMode"`
	// If `true`, more than one host in the datacenter has
	// been configured with access to the datastore.
	MultipleHostAccess pulumi.BoolOutput `pulumi:"multipleHostAccess"`
	// The name of the datastore. Forces a new resource if
	// changed.
	Name pulumi.StringOutput `pulumi:"name"`
	// Indicates that this NAS volume is a protocol endpoint.
	// This field is only populated if the host supports virtual datastores.
	ProtocolEndpoint pulumi.StringOutput `pulumi:"protocolEndpoint"`
	// The hostnames or IP addresses of the remote
	// server or servers. Only one element should be present for NFS v3 but multiple
	// can be present for NFS v4.1. Forces a new resource if changed.
	RemoteHosts pulumi.StringArrayOutput `pulumi:"remoteHosts"`
	// The remote path of the mount point. Forces a new
	// resource if changed.
	RemotePath pulumi.StringOutput `pulumi:"remotePath"`
	// The security type to use when using NFS v4.1.
	// Can be one of `AUTH_SYS`, `SEC_KRB5`, or `SEC_KRB5I`. Forces a new resource
	// if changed.
	SecurityType pulumi.StringPtrOutput `pulumi:"securityType"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The type of NAS volume. Can be one of `NFS` (to denote
	// v3) or `NFS41` (to denote NFS v4.1). Default: `NFS`. Forces a new resource if
	// changed.
	Type pulumi.StringPtrOutput `pulumi:"type"`
	// Total additional storage space, in megabytes,
	// potentially used by all virtual machines on this datastore.
	UncommittedSpace pulumi.IntOutput `pulumi:"uncommittedSpace"`
	// The unique locator for the datastore.
	Url pulumi.StringOutput `pulumi:"url"`
}

The `.NasDatastore` resource can be used to create and manage NAS datastores on an ESXi host or a set of hosts. The resource supports mounting NFS v3 and v4.1 shares to be used as datastores.

> **NOTE:** Unlike [`.VmfsDatastore`][resource-vmfs-datastore], a NAS datastore is only mounted on the hosts you choose to mount it on. To mount on multiple hosts, you must specify each host that you want to add in the `hostSystemIds` argument.

[resource-vmfs-datastore]: /docs/providers/vsphere/r/vmfs_datastore.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/nas_datastore.html.markdown.

func GetNasDatastore

func GetNasDatastore(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NasDatastoreState, opts ...pulumi.ResourceOption) (*NasDatastore, error)

GetNasDatastore gets an existing NasDatastore resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNasDatastore

func NewNasDatastore(ctx *pulumi.Context,
	name string, args *NasDatastoreArgs, opts ...pulumi.ResourceOption) (*NasDatastore, error)

NewNasDatastore registers a new resource with the given unique name, arguments, and options.

type NasDatastoreArgs

type NasDatastoreArgs struct {
	// Access mode for the mount point. Can be one of
	// `readOnly` or `readWrite`. Note that `readWrite` does not necessarily mean
	// that the datastore will be read-write depending on the permissions of the
	// actual share. Default: `readWrite`. Forces a new resource if changed.
	AccessMode pulumi.StringPtrInput
	// Map of custom attribute ids to attribute
	// value strings to set on datasource resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object
	// ID][docs-about-morefs] of a datastore cluster to put this datastore in.
	// Conflicts with `folder`.
	DatastoreClusterId pulumi.StringPtrInput
	// The path to the datastore folder to put the datastore in.
	Folder pulumi.StringPtrInput
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to mount the datastore on.
	HostSystemIds pulumi.StringArrayInput
	// The name of the datastore. Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// The hostnames or IP addresses of the remote
	// server or servers. Only one element should be present for NFS v3 but multiple
	// can be present for NFS v4.1. Forces a new resource if changed.
	RemoteHosts pulumi.StringArrayInput
	// The remote path of the mount point. Forces a new
	// resource if changed.
	RemotePath pulumi.StringInput
	// The security type to use when using NFS v4.1.
	// Can be one of `AUTH_SYS`, `SEC_KRB5`, or `SEC_KRB5I`. Forces a new resource
	// if changed.
	SecurityType pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The type of NAS volume. Can be one of `NFS` (to denote
	// v3) or `NFS41` (to denote NFS v4.1). Default: `NFS`. Forces a new resource if
	// changed.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a NasDatastore resource.

func (NasDatastoreArgs) ElementType added in v1.5.0

func (NasDatastoreArgs) ElementType() reflect.Type

type NasDatastoreState

type NasDatastoreState struct {
	// Access mode for the mount point. Can be one of
	// `readOnly` or `readWrite`. Note that `readWrite` does not necessarily mean
	// that the datastore will be read-write depending on the permissions of the
	// actual share. Default: `readWrite`. Forces a new resource if changed.
	AccessMode pulumi.StringPtrInput
	// The connectivity status of the datastore. If this is `false`,
	// some other computed attributes may be out of date.
	Accessible pulumi.BoolPtrInput
	// Maximum capacity of the datastore, in megabytes.
	Capacity pulumi.IntPtrInput
	// Map of custom attribute ids to attribute
	// value strings to set on datasource resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object
	// ID][docs-about-morefs] of a datastore cluster to put this datastore in.
	// Conflicts with `folder`.
	DatastoreClusterId pulumi.StringPtrInput
	// The path to the datastore folder to put the datastore in.
	Folder pulumi.StringPtrInput
	// Available space of this datastore, in megabytes.
	FreeSpace pulumi.IntPtrInput
	// The [managed object IDs][docs-about-morefs] of
	// the hosts to mount the datastore on.
	HostSystemIds pulumi.StringArrayInput
	// The current maintenance mode state of the datastore.
	MaintenanceMode pulumi.StringPtrInput
	// If `true`, more than one host in the datacenter has
	// been configured with access to the datastore.
	MultipleHostAccess pulumi.BoolPtrInput
	// The name of the datastore. Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// Indicates that this NAS volume is a protocol endpoint.
	// This field is only populated if the host supports virtual datastores.
	ProtocolEndpoint pulumi.StringPtrInput
	// The hostnames or IP addresses of the remote
	// server or servers. Only one element should be present for NFS v3 but multiple
	// can be present for NFS v4.1. Forces a new resource if changed.
	RemoteHosts pulumi.StringArrayInput
	// The remote path of the mount point. Forces a new
	// resource if changed.
	RemotePath pulumi.StringPtrInput
	// The security type to use when using NFS v4.1.
	// Can be one of `AUTH_SYS`, `SEC_KRB5`, or `SEC_KRB5I`. Forces a new resource
	// if changed.
	SecurityType pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The type of NAS volume. Can be one of `NFS` (to denote
	// v3) or `NFS41` (to denote NFS v4.1). Default: `NFS`. Forces a new resource if
	// changed.
	Type pulumi.StringPtrInput
	// Total additional storage space, in megabytes,
	// potentially used by all virtual machines on this datastore.
	UncommittedSpace pulumi.IntPtrInput
	// The unique locator for the datastore.
	Url pulumi.StringPtrInput
}

func (NasDatastoreState) ElementType added in v1.5.0

func (NasDatastoreState) ElementType() reflect.Type

type Provider added in v1.5.0

type Provider struct {
	pulumi.ProviderResourceState
}

The provider type for the vsphere package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/index.html.markdown.

func NewProvider added in v1.5.0

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

NewProvider registers a new resource with the given unique name, arguments, and options.

type ProviderArgs added in v1.5.0

type ProviderArgs struct {
	// If set, VMware vSphere client will permit unverifiable SSL certificates.
	AllowUnverifiedSsl pulumi.BoolPtrInput
	// govmomi debug
	ClientDebug pulumi.BoolPtrInput
	// govmomi debug path for debug
	ClientDebugPath pulumi.StringPtrInput
	// govmomi debug path for a single run
	ClientDebugPathRun pulumi.StringPtrInput
	// The user password for vSphere API operations.
	Password pulumi.StringPtrInput
	// Persist vSphere client sessions to disk
	PersistSession pulumi.BoolPtrInput
	// The directory to save vSphere REST API sessions to
	RestSessionPath pulumi.StringPtrInput
	// The user name for vSphere API operations.
	User          pulumi.StringPtrInput
	VcenterServer pulumi.StringPtrInput
	// Keep alive interval for the VIM session in minutes
	VimKeepAlive pulumi.IntPtrInput
	// The directory to save vSphere SOAP API sessions to
	VimSessionPath pulumi.StringPtrInput
	// The vSphere Server name for vSphere API operations.
	VsphereServer pulumi.StringPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType added in v1.5.0

func (ProviderArgs) ElementType() reflect.Type

type ResourcePool

type ResourcePool struct {
	pulumi.CustomResourceState

	// Determines if the reservation on a resource
	// pool can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	CpuExpandable pulumi.BoolPtrOutput `pulumi:"cpuExpandable"`
	// The CPU utilization of a resource pool will not exceed
	// this limit, even if there are available resources. Set to `-1` for unlimited.
	// Default: `-1`
	CpuLimit pulumi.IntPtrOutput `pulumi:"cpuLimit"`
	// Amount of CPU (MHz) that is guaranteed
	// available to the resource pool. Default: `0`
	CpuReservation pulumi.IntPtrOutput `pulumi:"cpuReservation"`
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `cpuShares` will be
	// ignored.  Default: `normal`
	CpuShareLevel pulumi.StringPtrOutput `pulumi:"cpuShareLevel"`
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `cpuShareLevel` must be `custom`.
	CpuShares pulumi.IntOutput `pulumi:"cpuShares"`
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// Determines if the reservation on a resource
	// pool can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	MemoryExpandable pulumi.BoolPtrOutput `pulumi:"memoryExpandable"`
	// The CPU utilization of a resource pool will not exceed
	// this limit, even if there are available resources. Set to `-1` for unlimited.
	// Default: `-1`
	MemoryLimit pulumi.IntPtrOutput `pulumi:"memoryLimit"`
	// Amount of CPU (MHz) that is guaranteed
	// available to the resource pool. Default: `0`
	MemoryReservation pulumi.IntPtrOutput `pulumi:"memoryReservation"`
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `memoryShares` will be
	// ignored.  Default: `normal`
	MemoryShareLevel pulumi.StringPtrOutput `pulumi:"memoryShareLevel"`
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `memoryShareLevel` must be `custom`.
	MemoryShares pulumi.IntOutput `pulumi:"memoryShares"`
	// The name of the resource pool.
	Name pulumi.StringOutput `pulumi:"name"`
	// The [managed object ID][docs-about-morefs]
	// of the parent resource pool. This can be the root resource pool for a cluster
	// or standalone host, or a resource pool itself. When moving a resource pool
	// from one parent resource pool to another, both must share a common root
	// resource pool or the move will fail.
	ParentResourcePoolId pulumi.StringOutput `pulumi:"parentResourcePoolId"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

The `.ResourcePool` resource can be used to create and manage resource pools in standalone hosts or on compute clusters.

For more information on vSphere resource pools, see [this page]ref-vsphere-resource_pools.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/resource_pool.html.markdown.

func GetResourcePool

func GetResourcePool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResourcePoolState, opts ...pulumi.ResourceOption) (*ResourcePool, error)

GetResourcePool gets an existing ResourcePool resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewResourcePool

func NewResourcePool(ctx *pulumi.Context,
	name string, args *ResourcePoolArgs, opts ...pulumi.ResourceOption) (*ResourcePool, error)

NewResourcePool registers a new resource with the given unique name, arguments, and options.

type ResourcePoolArgs

type ResourcePoolArgs struct {
	// Determines if the reservation on a resource
	// pool can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	CpuExpandable pulumi.BoolPtrInput
	// The CPU utilization of a resource pool will not exceed
	// this limit, even if there are available resources. Set to `-1` for unlimited.
	// Default: `-1`
	CpuLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the resource pool. Default: `0`
	CpuReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `cpuShares` will be
	// ignored.  Default: `normal`
	CpuShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `cpuShareLevel` must be `custom`.
	CpuShares pulumi.IntPtrInput
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapInput
	// Determines if the reservation on a resource
	// pool can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	MemoryExpandable pulumi.BoolPtrInput
	// The CPU utilization of a resource pool will not exceed
	// this limit, even if there are available resources. Set to `-1` for unlimited.
	// Default: `-1`
	MemoryLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the resource pool. Default: `0`
	MemoryReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `memoryShares` will be
	// ignored.  Default: `normal`
	MemoryShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `memoryShareLevel` must be `custom`.
	MemoryShares pulumi.IntPtrInput
	// The name of the resource pool.
	Name pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs]
	// of the parent resource pool. This can be the root resource pool for a cluster
	// or standalone host, or a resource pool itself. When moving a resource pool
	// from one parent resource pool to another, both must share a common root
	// resource pool or the move will fail.
	ParentResourcePoolId pulumi.StringInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a ResourcePool resource.

func (ResourcePoolArgs) ElementType added in v1.5.0

func (ResourcePoolArgs) ElementType() reflect.Type

type ResourcePoolState

type ResourcePoolState struct {
	// Determines if the reservation on a resource
	// pool can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	CpuExpandable pulumi.BoolPtrInput
	// The CPU utilization of a resource pool will not exceed
	// this limit, even if there are available resources. Set to `-1` for unlimited.
	// Default: `-1`
	CpuLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the resource pool. Default: `0`
	CpuReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `cpuShares` will be
	// ignored.  Default: `normal`
	CpuShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `cpuShareLevel` must be `custom`.
	CpuShares pulumi.IntPtrInput
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapInput
	// Determines if the reservation on a resource
	// pool can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	MemoryExpandable pulumi.BoolPtrInput
	// The CPU utilization of a resource pool will not exceed
	// this limit, even if there are available resources. Set to `-1` for unlimited.
	// Default: `-1`
	MemoryLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the resource pool. Default: `0`
	MemoryReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `memoryShares` will be
	// ignored.  Default: `normal`
	MemoryShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `memoryShareLevel` must be `custom`.
	MemoryShares pulumi.IntPtrInput
	// The name of the resource pool.
	Name pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs]
	// of the parent resource pool. This can be the root resource pool for a cluster
	// or standalone host, or a resource pool itself. When moving a resource pool
	// from one parent resource pool to another, both must share a common root
	// resource pool or the move will fail.
	ParentResourcePoolId pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

func (ResourcePoolState) ElementType added in v1.5.0

func (ResourcePoolState) ElementType() reflect.Type

type StorageDrsVmOverride

type StorageDrsVmOverride struct {
	pulumi.CustomResourceState

	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster to put the override in.
	// Forces a new resource if changed.
	DatastoreClusterId pulumi.StringOutput `pulumi:"datastoreClusterId"`
	// Overrides any Storage DRS automation
	// levels for this virtual machine. Can be one of `automated` or `manual`. When
	// not specified, the datastore cluster's settings are used according to the
	// [specific SDRS subsystem][tf-vsphere-datastore-cluster-sdrs-levels].
	SdrsAutomationLevel pulumi.StringPtrOutput `pulumi:"sdrsAutomationLevel"`
	// Overrides the default Storage DRS setting for
	// this virtual machine. When not specified, the datastore cluster setting is
	// used.
	SdrsEnabled pulumi.StringPtrOutput `pulumi:"sdrsEnabled"`
	// Overrides the intra-VM affinity setting
	// for this virtual machine. When `true`, all disks for this virtual machine
	// will be kept on the same datastore. When `false`, Storage DRS may locate
	// individual disks on different datastores if it helps satisfy cluster
	// requirements. When not specified, the datastore cluster's settings are used.
	SdrsIntraVmAffinity pulumi.StringPtrOutput `pulumi:"sdrsIntraVmAffinity"`
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

The `.StorageDrsVmOverride` resource can be used to add a Storage DRS override to a datastore cluster for a specific virtual machine. With this resource, one can enable or disable Storage DRS, and control the automation level and disk affinity for a single virtual machine without affecting the rest of the datastore cluster.

For more information on vSphere datastore clusters and Storage DRS, see [this page]ref-vsphere-datastore-clusters.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/storage_drs_vm_override.html.markdown.

func GetStorageDrsVmOverride

func GetStorageDrsVmOverride(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StorageDrsVmOverrideState, opts ...pulumi.ResourceOption) (*StorageDrsVmOverride, error)

GetStorageDrsVmOverride gets an existing StorageDrsVmOverride resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStorageDrsVmOverride

func NewStorageDrsVmOverride(ctx *pulumi.Context,
	name string, args *StorageDrsVmOverrideArgs, opts ...pulumi.ResourceOption) (*StorageDrsVmOverride, error)

NewStorageDrsVmOverride registers a new resource with the given unique name, arguments, and options.

type StorageDrsVmOverrideArgs

type StorageDrsVmOverrideArgs struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster to put the override in.
	// Forces a new resource if changed.
	DatastoreClusterId pulumi.StringInput
	// Overrides any Storage DRS automation
	// levels for this virtual machine. Can be one of `automated` or `manual`. When
	// not specified, the datastore cluster's settings are used according to the
	// [specific SDRS subsystem][tf-vsphere-datastore-cluster-sdrs-levels].
	SdrsAutomationLevel pulumi.StringPtrInput
	// Overrides the default Storage DRS setting for
	// this virtual machine. When not specified, the datastore cluster setting is
	// used.
	SdrsEnabled pulumi.StringPtrInput
	// Overrides the intra-VM affinity setting
	// for this virtual machine. When `true`, all disks for this virtual machine
	// will be kept on the same datastore. When `false`, Storage DRS may locate
	// individual disks on different datastores if it helps satisfy cluster
	// requirements. When not specified, the datastore cluster's settings are used.
	SdrsIntraVmAffinity pulumi.StringPtrInput
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a StorageDrsVmOverride resource.

func (StorageDrsVmOverrideArgs) ElementType added in v1.5.0

func (StorageDrsVmOverrideArgs) ElementType() reflect.Type

type StorageDrsVmOverrideState

type StorageDrsVmOverrideState struct {
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster to put the override in.
	// Forces a new resource if changed.
	DatastoreClusterId pulumi.StringPtrInput
	// Overrides any Storage DRS automation
	// levels for this virtual machine. Can be one of `automated` or `manual`. When
	// not specified, the datastore cluster's settings are used according to the
	// [specific SDRS subsystem][tf-vsphere-datastore-cluster-sdrs-levels].
	SdrsAutomationLevel pulumi.StringPtrInput
	// Overrides the default Storage DRS setting for
	// this virtual machine. When not specified, the datastore cluster setting is
	// used.
	SdrsEnabled pulumi.StringPtrInput
	// Overrides the intra-VM affinity setting
	// for this virtual machine. When `true`, all disks for this virtual machine
	// will be kept on the same datastore. When `false`, Storage DRS may locate
	// individual disks on different datastores if it helps satisfy cluster
	// requirements. When not specified, the datastore cluster's settings are used.
	SdrsIntraVmAffinity pulumi.StringPtrInput
	// The UUID of the virtual machine to create
	// the override for.  Forces a new resource if changed.
	VirtualMachineId pulumi.StringPtrInput
}

func (StorageDrsVmOverrideState) ElementType added in v1.5.0

func (StorageDrsVmOverrideState) ElementType() reflect.Type

type Tag

type Tag struct {
	pulumi.CustomResourceState

	// The unique identifier of the parent category in
	// which this tag will be created. Forces a new resource if changed.
	CategoryId pulumi.StringOutput `pulumi:"categoryId"`
	// A description for the tag.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The display name of the tag. The name must be unique
	// within its category.
	Name pulumi.StringOutput `pulumi:"name"`
}

The `.Tag` resource can be used to create and manage tags, which allow you to attach metadata to objects in the vSphere inventory to make these objects more sortable and searchable.

For more information about tags, click [here]ext-tags-general.

> **NOTE:** Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/tag.html.markdown.

func GetTag

func GetTag(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagState, opts ...pulumi.ResourceOption) (*Tag, error)

GetTag gets an existing Tag resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTag

func NewTag(ctx *pulumi.Context,
	name string, args *TagArgs, opts ...pulumi.ResourceOption) (*Tag, error)

NewTag registers a new resource with the given unique name, arguments, and options.

type TagArgs

type TagArgs struct {
	// The unique identifier of the parent category in
	// which this tag will be created. Forces a new resource if changed.
	CategoryId pulumi.StringInput
	// A description for the tag.
	Description pulumi.StringPtrInput
	// The display name of the tag. The name must be unique
	// within its category.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Tag resource.

func (TagArgs) ElementType added in v1.5.0

func (TagArgs) ElementType() reflect.Type

type TagCategory

type TagCategory struct {
	pulumi.CustomResourceState

	// A list object types that this category is
	// valid to be assigned to. For a full list, click
	// here.
	AssociableTypes pulumi.StringArrayOutput `pulumi:"associableTypes"`
	// The number of tags that can be assigned from this
	// category to a single object at once. Can be one of `SINGLE` (object can only
	// be assigned one tag in this category), to `MULTIPLE` (object can be assigned
	// multiple tags in this category). Forces a new resource if changed.
	Cardinality pulumi.StringOutput `pulumi:"cardinality"`
	// A description for the category.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the category.
	Name pulumi.StringOutput `pulumi:"name"`
}

The `.TagCategory` resource can be used to create and manage tag categories, which determine how tags are grouped together and applied to specific objects.

For more information about tags, click [here]ext-tags-general. For more information about tag categories specifically, click [here]ext-tag-categories.

> **NOTE:** Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/tag_category.html.markdown.

func GetTagCategory

func GetTagCategory(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagCategoryState, opts ...pulumi.ResourceOption) (*TagCategory, error)

GetTagCategory gets an existing TagCategory resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTagCategory

func NewTagCategory(ctx *pulumi.Context,
	name string, args *TagCategoryArgs, opts ...pulumi.ResourceOption) (*TagCategory, error)

NewTagCategory registers a new resource with the given unique name, arguments, and options.

type TagCategoryArgs

type TagCategoryArgs struct {
	// A list object types that this category is
	// valid to be assigned to. For a full list, click
	// here.
	AssociableTypes pulumi.StringArrayInput
	// The number of tags that can be assigned from this
	// category to a single object at once. Can be one of `SINGLE` (object can only
	// be assigned one tag in this category), to `MULTIPLE` (object can be assigned
	// multiple tags in this category). Forces a new resource if changed.
	Cardinality pulumi.StringInput
	// A description for the category.
	Description pulumi.StringPtrInput
	// The name of the category.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a TagCategory resource.

func (TagCategoryArgs) ElementType added in v1.5.0

func (TagCategoryArgs) ElementType() reflect.Type

type TagCategoryState

type TagCategoryState struct {
	// A list object types that this category is
	// valid to be assigned to. For a full list, click
	// here.
	AssociableTypes pulumi.StringArrayInput
	// The number of tags that can be assigned from this
	// category to a single object at once. Can be one of `SINGLE` (object can only
	// be assigned one tag in this category), to `MULTIPLE` (object can be assigned
	// multiple tags in this category). Forces a new resource if changed.
	Cardinality pulumi.StringPtrInput
	// A description for the category.
	Description pulumi.StringPtrInput
	// The name of the category.
	Name pulumi.StringPtrInput
}

func (TagCategoryState) ElementType added in v1.5.0

func (TagCategoryState) ElementType() reflect.Type

type TagState

type TagState struct {
	// The unique identifier of the parent category in
	// which this tag will be created. Forces a new resource if changed.
	CategoryId pulumi.StringPtrInput
	// A description for the tag.
	Description pulumi.StringPtrInput
	// The display name of the tag. The name must be unique
	// within its category.
	Name pulumi.StringPtrInput
}

func (TagState) ElementType added in v1.5.0

func (TagState) ElementType() reflect.Type

type VappContainer

type VappContainer struct {
	pulumi.CustomResourceState

	// Determines if the reservation on a vApp
	// container can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	CpuExpandable pulumi.BoolPtrOutput `pulumi:"cpuExpandable"`
	// The CPU utilization of a vApp container will not
	// exceed this limit, even if there are available resources. Set to `-1` for
	// unlimited.
	// Default: `-1`
	CpuLimit pulumi.IntPtrOutput `pulumi:"cpuLimit"`
	// Amount of CPU (MHz) that is guaranteed
	// available to the vApp container. Default: `0`
	CpuReservation pulumi.IntPtrOutput `pulumi:"cpuReservation"`
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `cpuShares` will be
	// ignored.  Default: `normal`
	CpuShareLevel pulumi.StringPtrOutput `pulumi:"cpuShareLevel"`
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `cpuShareLevel` must be `custom`.
	CpuShares pulumi.IntOutput `pulumi:"cpuShares"`
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// Determines if the reservation on a vApp
	// container can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	MemoryExpandable pulumi.BoolPtrOutput `pulumi:"memoryExpandable"`
	// The CPU utilization of a vApp container will not
	// exceed this limit, even if there are available resources. Set to `-1` for
	// unlimited.
	// Default: `-1`
	MemoryLimit pulumi.IntPtrOutput `pulumi:"memoryLimit"`
	// Amount of CPU (MHz) that is guaranteed
	// available to the vApp container. Default: `0`
	MemoryReservation pulumi.IntPtrOutput `pulumi:"memoryReservation"`
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `memoryShares` will be
	// ignored.  Default: `normal`
	MemoryShareLevel pulumi.StringPtrOutput `pulumi:"memoryShareLevel"`
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `memoryShareLevel` must be `custom`.
	MemoryShares pulumi.IntOutput `pulumi:"memoryShares"`
	// The name of the vApp container.
	Name pulumi.StringOutput `pulumi:"name"`
	// The [managed object ID][docs-about-morefs] of
	// the vApp container's parent folder.
	ParentFolderId pulumi.StringPtrOutput `pulumi:"parentFolderId"`
	// The [managed object ID][docs-about-morefs]
	// of the parent resource pool. This can be the root resource pool for a cluster
	// or standalone host, or a resource pool itself. When moving a vApp container
	// from one parent resource pool to another, both must share a common root
	// resource pool or the move will fail.
	ParentResourcePoolId pulumi.StringOutput `pulumi:"parentResourcePoolId"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

The `.VappContainer` resource can be used to create and manage vApps.

For more information on vSphere vApps, see [this page]ref-vsphere-vapp.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/vapp_container.html.markdown.

func GetVappContainer

func GetVappContainer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VappContainerState, opts ...pulumi.ResourceOption) (*VappContainer, error)

GetVappContainer gets an existing VappContainer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVappContainer

func NewVappContainer(ctx *pulumi.Context,
	name string, args *VappContainerArgs, opts ...pulumi.ResourceOption) (*VappContainer, error)

NewVappContainer registers a new resource with the given unique name, arguments, and options.

type VappContainerArgs

type VappContainerArgs struct {
	// Determines if the reservation on a vApp
	// container can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	CpuExpandable pulumi.BoolPtrInput
	// The CPU utilization of a vApp container will not
	// exceed this limit, even if there are available resources. Set to `-1` for
	// unlimited.
	// Default: `-1`
	CpuLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the vApp container. Default: `0`
	CpuReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `cpuShares` will be
	// ignored.  Default: `normal`
	CpuShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `cpuShareLevel` must be `custom`.
	CpuShares pulumi.IntPtrInput
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapInput
	// Determines if the reservation on a vApp
	// container can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	MemoryExpandable pulumi.BoolPtrInput
	// The CPU utilization of a vApp container will not
	// exceed this limit, even if there are available resources. Set to `-1` for
	// unlimited.
	// Default: `-1`
	MemoryLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the vApp container. Default: `0`
	MemoryReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `memoryShares` will be
	// ignored.  Default: `normal`
	MemoryShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `memoryShareLevel` must be `custom`.
	MemoryShares pulumi.IntPtrInput
	// The name of the vApp container.
	Name pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the vApp container's parent folder.
	ParentFolderId pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs]
	// of the parent resource pool. This can be the root resource pool for a cluster
	// or standalone host, or a resource pool itself. When moving a vApp container
	// from one parent resource pool to another, both must share a common root
	// resource pool or the move will fail.
	ParentResourcePoolId pulumi.StringInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a VappContainer resource.

func (VappContainerArgs) ElementType added in v1.5.0

func (VappContainerArgs) ElementType() reflect.Type

type VappContainerState

type VappContainerState struct {
	// Determines if the reservation on a vApp
	// container can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	CpuExpandable pulumi.BoolPtrInput
	// The CPU utilization of a vApp container will not
	// exceed this limit, even if there are available resources. Set to `-1` for
	// unlimited.
	// Default: `-1`
	CpuLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the vApp container. Default: `0`
	CpuReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `cpuShares` will be
	// ignored.  Default: `normal`
	CpuShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `cpuShareLevel` must be `custom`.
	CpuShares pulumi.IntPtrInput
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapInput
	// Determines if the reservation on a vApp
	// container can grow beyond the specified value if the parent resource pool has
	// unreserved resources. Default: `true`
	MemoryExpandable pulumi.BoolPtrInput
	// The CPU utilization of a vApp container will not
	// exceed this limit, even if there are available resources. Set to `-1` for
	// unlimited.
	// Default: `-1`
	MemoryLimit pulumi.IntPtrInput
	// Amount of CPU (MHz) that is guaranteed
	// available to the vApp container. Default: `0`
	MemoryReservation pulumi.IntPtrInput
	// The CPU allocation level. The level is a
	// simplified view of shares. Levels map to a pre-determined set of numeric
	// values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
	// `low`, `normal`, or `high` are specified values in `memoryShares` will be
	// ignored.  Default: `normal`
	MemoryShareLevel pulumi.StringPtrInput
	// The number of shares allocated for CPU. Used to
	// determine resource allocation in case of resource contention. If this is set,
	// `memoryShareLevel` must be `custom`.
	MemoryShares pulumi.IntPtrInput
	// The name of the vApp container.
	Name pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the vApp container's parent folder.
	ParentFolderId pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs]
	// of the parent resource pool. This can be the root resource pool for a cluster
	// or standalone host, or a resource pool itself. When moving a vApp container
	// from one parent resource pool to another, both must share a common root
	// resource pool or the move will fail.
	ParentResourcePoolId pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

func (VappContainerState) ElementType added in v1.5.0

func (VappContainerState) ElementType() reflect.Type

type VappEntity added in v0.16.2

type VappEntity struct {
	pulumi.CustomResourceState

	// [Managed object ID|docs-about-morefs] of the vApp
	// container the entity is a member of.
	ContainerId pulumi.StringOutput `pulumi:"containerId"`
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// How to start the entity. Valid settings are none
	// or powerOn. If set to none, then the entity does not participate in auto-start.
	// Default: powerOn
	StartAction pulumi.StringPtrOutput `pulumi:"startAction"`
	// Delay in seconds before continuing with the next
	// entity in the order of entities to be started. Default: 120
	StartDelay pulumi.IntPtrOutput `pulumi:"startDelay"`
	// Order to start and stop target in vApp. Default: 1
	StartOrder pulumi.IntPtrOutput `pulumi:"startOrder"`
	// Defines the stop action for the entity. Can be set
	// to none, powerOff, guestShutdown, or suspend. If set to none, then the entity
	// does not participate in auto-stop. Default: powerOff
	StopAction pulumi.StringPtrOutput `pulumi:"stopAction"`
	// Delay in seconds before continuing with the next
	// entity in the order sequence. This is only used if the stopAction is
	// guestShutdown. Default: 120
	StopDelay pulumi.IntPtrOutput `pulumi:"stopDelay"`
	// A list of tag IDs to apply to this object.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// [Managed object ID|docs-about-morefs] of the entity
	// to power on or power off. This can be a virtual machine or a vApp.
	TargetId pulumi.StringOutput `pulumi:"targetId"`
	// Determines if the VM should be marked as being
	// started when VMware Tools are ready instead of waiting for `startDelay`. This
	// property has no effect for vApps. Default: false
	WaitForGuest pulumi.BoolPtrOutput `pulumi:"waitForGuest"`
}

The `.VappEntity` resource can be used to describe the behavior of an entity (virtual machine or sub-vApp container) in a vApp container.

For more information on vSphere vApps, see [this page]ref-vsphere-vapp.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/vapp_entity.html.markdown.

func GetVappEntity added in v0.16.2

func GetVappEntity(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VappEntityState, opts ...pulumi.ResourceOption) (*VappEntity, error)

GetVappEntity gets an existing VappEntity resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVappEntity added in v0.16.2

func NewVappEntity(ctx *pulumi.Context,
	name string, args *VappEntityArgs, opts ...pulumi.ResourceOption) (*VappEntity, error)

NewVappEntity registers a new resource with the given unique name, arguments, and options.

type VappEntityArgs added in v0.16.2

type VappEntityArgs struct {
	// [Managed object ID|docs-about-morefs] of the vApp
	// container the entity is a member of.
	ContainerId pulumi.StringInput
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapInput
	// How to start the entity. Valid settings are none
	// or powerOn. If set to none, then the entity does not participate in auto-start.
	// Default: powerOn
	StartAction pulumi.StringPtrInput
	// Delay in seconds before continuing with the next
	// entity in the order of entities to be started. Default: 120
	StartDelay pulumi.IntPtrInput
	// Order to start and stop target in vApp. Default: 1
	StartOrder pulumi.IntPtrInput
	// Defines the stop action for the entity. Can be set
	// to none, powerOff, guestShutdown, or suspend. If set to none, then the entity
	// does not participate in auto-stop. Default: powerOff
	StopAction pulumi.StringPtrInput
	// Delay in seconds before continuing with the next
	// entity in the order sequence. This is only used if the stopAction is
	// guestShutdown. Default: 120
	StopDelay pulumi.IntPtrInput
	// A list of tag IDs to apply to this object.
	Tags pulumi.StringArrayInput
	// [Managed object ID|docs-about-morefs] of the entity
	// to power on or power off. This can be a virtual machine or a vApp.
	TargetId pulumi.StringInput
	// Determines if the VM should be marked as being
	// started when VMware Tools are ready instead of waiting for `startDelay`. This
	// property has no effect for vApps. Default: false
	WaitForGuest pulumi.BoolPtrInput
}

The set of arguments for constructing a VappEntity resource.

func (VappEntityArgs) ElementType added in v1.5.0

func (VappEntityArgs) ElementType() reflect.Type

type VappEntityState added in v0.16.2

type VappEntityState struct {
	// [Managed object ID|docs-about-morefs] of the vApp
	// container the entity is a member of.
	ContainerId pulumi.StringPtrInput
	// A list of custom attributes to set on this resource.
	CustomAttributes pulumi.StringMapInput
	// How to start the entity. Valid settings are none
	// or powerOn. If set to none, then the entity does not participate in auto-start.
	// Default: powerOn
	StartAction pulumi.StringPtrInput
	// Delay in seconds before continuing with the next
	// entity in the order of entities to be started. Default: 120
	StartDelay pulumi.IntPtrInput
	// Order to start and stop target in vApp. Default: 1
	StartOrder pulumi.IntPtrInput
	// Defines the stop action for the entity. Can be set
	// to none, powerOff, guestShutdown, or suspend. If set to none, then the entity
	// does not participate in auto-stop. Default: powerOff
	StopAction pulumi.StringPtrInput
	// Delay in seconds before continuing with the next
	// entity in the order sequence. This is only used if the stopAction is
	// guestShutdown. Default: 120
	StopDelay pulumi.IntPtrInput
	// A list of tag IDs to apply to this object.
	Tags pulumi.StringArrayInput
	// [Managed object ID|docs-about-morefs] of the entity
	// to power on or power off. This can be a virtual machine or a vApp.
	TargetId pulumi.StringPtrInput
	// Determines if the VM should be marked as being
	// started when VMware Tools are ready instead of waiting for `startDelay`. This
	// property has no effect for vApps. Default: false
	WaitForGuest pulumi.BoolPtrInput
}

func (VappEntityState) ElementType added in v1.5.0

func (VappEntityState) ElementType() reflect.Type

type VirtualDisk

type VirtualDisk struct {
	pulumi.CustomResourceState

	// The adapter type for this virtual disk. Can be
	// one of `ide`, `lsiLogic`, or `busLogic`.  Default: `lsiLogic`.
	AdapterType pulumi.StringPtrOutput `pulumi:"adapterType"`
	// Tells the resource to create any
	// directories that are a part of the `vmdkPath` parameter if they are missing.
	// Default: `false`.
	CreateDirectories pulumi.BoolPtrOutput `pulumi:"createDirectories"`
	// The name of the datacenter in which to create the
	// disk. Can be omitted when when ESXi or if there is only one datacenter in
	// your infrastructure.
	Datacenter pulumi.StringPtrOutput `pulumi:"datacenter"`
	// The name of the datastore in which to create the
	// disk.
	Datastore pulumi.StringOutput `pulumi:"datastore"`
	// Size of the disk (in GB).
	Size pulumi.IntOutput `pulumi:"size"`
	// The type of disk to create. Can be one of
	// `eagerZeroedThick`, `lazy`, or `thin`. Default: `eagerZeroedThick`. For
	// information on what each kind of disk provisioning policy means, click
	// [here][docs-vmware-vm-disk-provisioning].
	Type pulumi.StringPtrOutput `pulumi:"type"`
	// The path, including filename, of the virtual disk to
	// be created.  This needs to end in `.vmdk`.
	VmdkPath pulumi.StringOutput `pulumi:"vmdkPath"`
}

The `.VirtualDisk` resource can be used to create virtual disks outside of any given [`.VirtualMachine`][docs-vsphere-virtual-machine] resource. These disks can be attached to a virtual machine by creating a disk block with the [`attach`][docs-vsphere-virtual-machine-disk-attach] parameter.

[docs-vsphere-virtual-machine]: /docs/providers/vsphere/r/virtual_machine.html [docs-vsphere-virtual-machine-disk-attach]: /docs/providers/vsphere/r/virtual_machine.html#attach

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/virtual_disk.html.markdown.

func GetVirtualDisk

func GetVirtualDisk(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualDiskState, opts ...pulumi.ResourceOption) (*VirtualDisk, error)

GetVirtualDisk gets an existing VirtualDisk resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVirtualDisk

func NewVirtualDisk(ctx *pulumi.Context,
	name string, args *VirtualDiskArgs, opts ...pulumi.ResourceOption) (*VirtualDisk, error)

NewVirtualDisk registers a new resource with the given unique name, arguments, and options.

type VirtualDiskArgs

type VirtualDiskArgs struct {
	// The adapter type for this virtual disk. Can be
	// one of `ide`, `lsiLogic`, or `busLogic`.  Default: `lsiLogic`.
	AdapterType pulumi.StringPtrInput
	// Tells the resource to create any
	// directories that are a part of the `vmdkPath` parameter if they are missing.
	// Default: `false`.
	CreateDirectories pulumi.BoolPtrInput
	// The name of the datacenter in which to create the
	// disk. Can be omitted when when ESXi or if there is only one datacenter in
	// your infrastructure.
	Datacenter pulumi.StringPtrInput
	// The name of the datastore in which to create the
	// disk.
	Datastore pulumi.StringInput
	// Size of the disk (in GB).
	Size pulumi.IntInput
	// The type of disk to create. Can be one of
	// `eagerZeroedThick`, `lazy`, or `thin`. Default: `eagerZeroedThick`. For
	// information on what each kind of disk provisioning policy means, click
	// [here][docs-vmware-vm-disk-provisioning].
	Type pulumi.StringPtrInput
	// The path, including filename, of the virtual disk to
	// be created.  This needs to end in `.vmdk`.
	VmdkPath pulumi.StringInput
}

The set of arguments for constructing a VirtualDisk resource.

func (VirtualDiskArgs) ElementType added in v1.5.0

func (VirtualDiskArgs) ElementType() reflect.Type

type VirtualDiskState

type VirtualDiskState struct {
	// The adapter type for this virtual disk. Can be
	// one of `ide`, `lsiLogic`, or `busLogic`.  Default: `lsiLogic`.
	AdapterType pulumi.StringPtrInput
	// Tells the resource to create any
	// directories that are a part of the `vmdkPath` parameter if they are missing.
	// Default: `false`.
	CreateDirectories pulumi.BoolPtrInput
	// The name of the datacenter in which to create the
	// disk. Can be omitted when when ESXi or if there is only one datacenter in
	// your infrastructure.
	Datacenter pulumi.StringPtrInput
	// The name of the datastore in which to create the
	// disk.
	Datastore pulumi.StringPtrInput
	// Size of the disk (in GB).
	Size pulumi.IntPtrInput
	// The type of disk to create. Can be one of
	// `eagerZeroedThick`, `lazy`, or `thin`. Default: `eagerZeroedThick`. For
	// information on what each kind of disk provisioning policy means, click
	// [here][docs-vmware-vm-disk-provisioning].
	Type pulumi.StringPtrInput
	// The path, including filename, of the virtual disk to
	// be created.  This needs to end in `.vmdk`.
	VmdkPath pulumi.StringPtrInput
}

func (VirtualDiskState) ElementType added in v1.5.0

func (VirtualDiskState) ElementType() reflect.Type

type VirtualMachine

type VirtualMachine struct {
	pulumi.CustomResourceState

	// The guest name for the operating system
	// when `guestId` is `other` or `other-64`.
	AlternateGuestName pulumi.StringPtrOutput `pulumi:"alternateGuestName"`
	// A user-provided description of the virtual machine.
	// The default is no annotation.
	Annotation pulumi.StringPtrOutput `pulumi:"annotation"`
	// The number of milliseconds to wait before starting
	// the boot sequence. The default is no delay.
	BootDelay pulumi.IntPtrOutput `pulumi:"bootDelay"`
	// The number of milliseconds to wait before
	// retrying the boot sequence. This only valid if `bootRetryEnabled` is true.
	// Default: `10000` (10 seconds).
	BootRetryDelay pulumi.IntPtrOutput `pulumi:"bootRetryDelay"`
	// If set to true, a virtual machine that
	// fails to boot will try again after the delay defined in `bootRetryDelay`.
	// Default: `false`.
	BootRetryEnabled pulumi.BoolPtrOutput `pulumi:"bootRetryEnabled"`
	// A specification for a CDROM device on this virtual
	// machine. See CDROM options below.
	Cdrom VirtualMachineCdromPtrOutput `pulumi:"cdrom"`
	// A unique identifier for a given version of the last
	// configuration applied, such the timestamp of the last update to the
	// configuration.
	ChangeVersion pulumi.StringOutput `pulumi:"changeVersion"`
	// When specified, the VM will be created as a clone of a
	// specified template. Optional customization options can be submitted as well.
	// See creating a virtual machine from a
	// template for more details.
	Clone VirtualMachineClonePtrOutput `pulumi:"clone"`
	// Allow CPUs to be added to this virtual
	// machine while it is running.
	CpuHotAddEnabled pulumi.BoolPtrOutput `pulumi:"cpuHotAddEnabled"`
	// Allow CPUs to be removed to this
	// virtual machine while it is running.
	CpuHotRemoveEnabled pulumi.BoolPtrOutput `pulumi:"cpuHotRemoveEnabled"`
	// The maximum amount of CPU (in MHz) that this virtual
	// machine can consume, regardless of available resources. The default is no
	// limit.
	CpuLimit pulumi.IntPtrOutput `pulumi:"cpuLimit"`
	// Enable CPU performance
	// counters on this virtual machine. Default: `false`.
	CpuPerformanceCountersEnabled pulumi.BoolPtrOutput `pulumi:"cpuPerformanceCountersEnabled"`
	// The amount of CPU (in MHz) that this virtual
	// machine is guaranteed. The default is no reservation.
	CpuReservation pulumi.IntPtrOutput `pulumi:"cpuReservation"`
	// The number of CPU shares allocated to the
	// virtual machine when the `cpuShareLevel` is `custom`.
	CpuShareCount pulumi.IntOutput `pulumi:"cpuShareCount"`
	// The allocation level for CPU resources. Can be
	// one of `high`, `low`, `normal`, or `custom`. Default: `custom`.
	CpuShareLevel pulumi.StringPtrOutput `pulumi:"cpuShareLevel"`
	// Map of custom attribute ids to attribute
	// value strings to set for virtual machine. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster ID to use. This setting
	// applies to entire virtual machine and implies that you wish to use Storage
	// DRS with this virtual machine. See the section on virtual machine
	// migration for details on changing this value.
	DatastoreClusterId pulumi.StringPtrOutput `pulumi:"datastoreClusterId"`
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId pulumi.StringOutput `pulumi:"datastoreId"`
	// The IP address selected by Terraform to be used for the provisioner.
	DefaultIpAddress pulumi.StringOutput `pulumi:"defaultIpAddress"`
	// A specification for a virtual disk device on this virtual
	// machine. See disk options below.
	Disks VirtualMachineDiskArrayOutput `pulumi:"disks"`
	// When the `firmware` type is set to is
	// `efi`, this enables EFI secure boot. Default: `false`.
	EfiSecureBootEnabled pulumi.BoolPtrOutput `pulumi:"efiSecureBootEnabled"`
	// Expose the UUIDs of attached virtual disks to
	// the virtual machine, allowing access to them in the guest. Default: `false`.
	EnableDiskUuid pulumi.BoolPtrOutput `pulumi:"enableDiskUuid"`
	// Enable logging of virtual machine events to a
	// log file stored in the virtual machine directory. Default: `false`.
	EnableLogging pulumi.BoolPtrOutput `pulumi:"enableLogging"`
	// The EPT/RVI (hardware memory virtualization)
	// setting for this virtual machine. Can be one of `automatic`, `on`, or `off`.
	// Default: `automatic`.
	EptRviMode pulumi.StringPtrOutput `pulumi:"eptRviMode"`
	// Extra configuration data for this virtual
	// machine. Can be used to supply advanced parameters not normally in
	// configuration, such as instance metadata.
	ExtraConfig pulumi.StringMapOutput `pulumi:"extraConfig"`
	// The firmware interface to use on the virtual machine.
	// Can be one of `bios` or `EFI`. Default: `bios`.
	Firmware pulumi.StringPtrOutput `pulumi:"firmware"`
	// The path to the folder to put this virtual machine in,
	// relative to the datacenter that the resource pool is in.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// If a guest shutdown failed or timed out while
	// updating or destroying (see
	// `shutdownWaitTimeout`), force the power-off of
	// the virtual machine. Default: `true`.
	ForcePowerOff pulumi.BoolPtrOutput `pulumi:"forcePowerOff"`
	// The guest ID for the operating system type. For a
	// full list of possible values, see [here][vmware-docs-guest-ids]. Default: `other-64`.
	GuestId pulumi.StringPtrOutput `pulumi:"guestId"`
	// The current list of IP addresses on this machine,
	// including the value of `defaultIpAddress`. If VMware tools is not running
	// on the virtual machine, or if the VM is powered off, this list will be empty.
	// * `moid`: The [managed object reference ID][docs-about-morefs] of the created
	// virtual machine.
	GuestIpAddresses pulumi.StringArrayOutput `pulumi:"guestIpAddresses"`
	// An optional [managed object reference
	// ID][docs-about-morefs] of a host to put this virtual machine on. See the
	// section on virtual machine migration for
	// details on changing this value. If a `hostSystemId` is not supplied,
	// vSphere will select a host in the resource pool to place the virtual machine,
	// according to any defaults or DRS policies in place.
	HostSystemId pulumi.StringOutput `pulumi:"hostSystemId"`
	// The (non-nested) hardware virtualization setting for
	// this virtual machine. Can be one of `hvAuto`, `hvOn`, or `hvOff`. Default:
	// `hvAuto`.
	HvMode pulumi.StringPtrOutput `pulumi:"hvMode"`
	// List of IP addresses and CIDR networks to
	// ignore while waiting for an available IP address using either of the waiters.
	// Any IP addresses in this list will be ignored if they show up so that the
	// waiter will continue to wait for a real IP address. Default: [].
	IgnoredGuestIps pulumi.StringArrayOutput `pulumi:"ignoredGuestIps"`
	// This is flagged if the virtual machine has been imported, or the
	// state has been migrated from a previous version of the resource. It
	// influences the behavior of the first post-import apply operation. See the
	// section on importing below.
	Imported pulumi.BoolOutput `pulumi:"imported"`
	// Controls the scheduling delay of the
	// virtual machine. Use a higher sensitivity for applications that require lower
	// latency, such as VOIP, media player applications, or applications that
	// require frequent access to mouse or keyboard devices. Can be one of `low`,
	// `normal`, `medium`, or `high`.
	LatencySensitivity pulumi.StringPtrOutput `pulumi:"latencySensitivity"`
	// The size of the virtual machine's memory, in MB.
	// Default: `1024` (1 GB).
	Memory pulumi.IntPtrOutput `pulumi:"memory"`
	// Allow memory to be added to this
	// virtual machine while it is running.
	MemoryHotAddEnabled pulumi.BoolPtrOutput `pulumi:"memoryHotAddEnabled"`
	// The maximum amount of memory (in MB) that this
	// virtual machine can consume, regardless of available resources. The default
	// is no limit.
	MemoryLimit pulumi.IntPtrOutput `pulumi:"memoryLimit"`
	// The amount of memory (in MB) that this
	// virtual machine is guaranteed. The default is no reservation.
	MemoryReservation pulumi.IntPtrOutput `pulumi:"memoryReservation"`
	// The number of memory shares allocated to
	// the virtual machine when the `memoryShareLevel` is `custom`.
	MemoryShareCount pulumi.IntOutput `pulumi:"memoryShareCount"`
	// The allocation level for memory resources.
	// Can be one of `high`, `low`, `normal`, or `custom`. Default: `custom`.
	MemoryShareLevel pulumi.StringPtrOutput `pulumi:"memoryShareLevel"`
	// The amount of time, in minutes, to wait
	// for a virtual machine migration to complete before failing. Default: 10
	// minutes. Also see the section on virtual machine
	// migration.
	MigrateWaitTimeout pulumi.IntPtrOutput `pulumi:"migrateWaitTimeout"`
	// The machine object ID from VMWare
	Moid pulumi.StringOutput `pulumi:"moid"`
	// An alias for both `label` and `path`, the latter when
	// using `attach`. Required if not using `label`.
	Name pulumi.StringOutput `pulumi:"name"`
	// Enable nested hardware virtualization on
	// this virtual machine, facilitating nested virtualization in the guest.
	// Default: `false`.
	NestedHvEnabled pulumi.BoolPtrOutput `pulumi:"nestedHvEnabled"`
	// A specification for a virtual NIC on this
	// virtual machine. See network interface options
	// below.
	NetworkInterfaces VirtualMachineNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"`
	// The number of cores per socket in this
	// virtual machine. The number of vCPUs on the virtual machine will be
	// `numCpus` divided by `numCoresPerSocket`. If specified, the value
	// supplied to `numCpus` must be evenly divisible by this value. Default: `1`.
	NumCoresPerSocket pulumi.IntPtrOutput `pulumi:"numCoresPerSocket"`
	// The total number of virtual processor cores to assign
	// to this virtual machine. Default: `1`.
	NumCpus pulumi.IntPtrOutput `pulumi:"numCpus"`
	// The amount of time, in seconds, that we will be trying to power on a VM
	PoweronTimeout pulumi.IntPtrOutput `pulumi:"poweronTimeout"`
	// Value internal to Terraform used to determine if a configuration set change requires a reboot.
	RebootRequired pulumi.BoolOutput `pulumi:"rebootRequired"`
	// The [managed object reference
	// ID][docs-about-morefs] of the resource pool to put this virtual machine in.
	// See the section on virtual machine migration
	// for details on changing this value.
	ResourcePoolId pulumi.StringOutput `pulumi:"resourcePoolId"`
	// Enable the execution of
	// post-power-on scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsAfterPowerOn pulumi.BoolPtrOutput `pulumi:"runToolsScriptsAfterPowerOn"`
	// Enable the execution of
	// post-resume scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsAfterResume pulumi.BoolPtrOutput `pulumi:"runToolsScriptsAfterResume"`
	// Enable the execution of
	// pre-reboot scripts when VMware tools is installed. Default: `false`.
	RunToolsScriptsBeforeGuestReboot pulumi.BoolPtrOutput `pulumi:"runToolsScriptsBeforeGuestReboot"`
	// Enable the execution
	// of pre-shutdown scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsBeforeGuestShutdown pulumi.BoolPtrOutput `pulumi:"runToolsScriptsBeforeGuestShutdown"`
	// Enable the execution of
	// pre-standby scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsBeforeGuestStandby pulumi.BoolPtrOutput `pulumi:"runToolsScriptsBeforeGuestStandby"`
	// Mode for sharing the SCSI bus. The modes are
	// physicalSharing, virtualSharing, and noSharing. Default: `noSharing`.
	ScsiBusSharing pulumi.StringPtrOutput `pulumi:"scsiBusSharing"`
	// The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
	// you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
	// controllers.
	ScsiControllerCount pulumi.IntPtrOutput `pulumi:"scsiControllerCount"`
	// The type of SCSI bus this virtual machine will have.
	// Can be one of lsilogic (LSI Logic Parallel), lsilogic-sas (LSI Logic SAS) or
	// pvscsi (VMware Paravirtual). Defualt: `pvscsi`.
	ScsiType pulumi.StringPtrOutput `pulumi:"scsiType"`
	// The amount of time, in minutes, to wait
	// for a graceful guest shutdown when making necessary updates to the virtual
	// machine. If `forcePowerOff` is set to true, the VM will be force powered-off
	// after this timeout, otherwise an error is returned. Default: 3 minutes.
	ShutdownWaitTimeout pulumi.IntPtrOutput `pulumi:"shutdownWaitTimeout"`
	// The UUID of the storage policy to assign to this disk.
	StoragePolicyId pulumi.StringPtrOutput `pulumi:"storagePolicyId"`
	// The swap file placement policy for this
	// virtual machine. Can be one of `inherit`, `hostLocal`, or `vmDirectory`.
	// Default: `inherit`.
	SwapPlacementPolicy pulumi.StringPtrOutput `pulumi:"swapPlacementPolicy"`
	// Enable guest clock synchronization with
	// the host. Requires VMware tools to be installed. Default: `false`.
	SyncTimeWithHost pulumi.BoolPtrOutput `pulumi:"syncTimeWithHost"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The UUID of the virtual disk's VMDK file. This is used to track the
	// virtual disk on the virtual machine.
	Uuid pulumi.StringOutput `pulumi:"uuid"`
	// Optional vApp configuration. The only sub-key available
	// is `properties`, which is a key/value map of properties for virtual machines
	// imported from OVF or OVA files. See Using vApp properties to supply OVF/OVA
	// configuration for
	// more details.
	Vapp VirtualMachineVappPtrOutput `pulumi:"vapp"`
	// Computed value which is only valid for cloned virtual
	// machines. A list of vApp transport methods supported by the source virtual
	// machine or template.
	VappTransports pulumi.StringArrayOutput `pulumi:"vappTransports"`
	// The state of VMware tools in the guest. This will
	// determine the proper course of action for some device operations.
	VmwareToolsStatus pulumi.StringOutput `pulumi:"vmwareToolsStatus"`
	// The path of the virtual machine's configuration file in the VM's
	// datastore.
	VmxPath pulumi.StringOutput `pulumi:"vmxPath"`
	// The amount of time, in minutes, to
	// wait for an available guest IP address on this virtual machine. This should
	// only be used if your version of VMware Tools does not allow the
	// `waitForGuestNetTimeout` waiter to be
	// used. A value less than 1 disables the waiter. Default: 0.
	WaitForGuestIpTimeout pulumi.IntPtrOutput `pulumi:"waitForGuestIpTimeout"`
	// Controls whether or not the guest
	// network waiter waits for a routable address. When `false`, the waiter does
	// not wait for a default gateway, nor are IP addresses checked against any
	// discovered default gateways as part of its success criteria. This property is
	// ignored if the `waitForGuestIpTimeout`
	// waiter is used. Default: `true`.
	WaitForGuestNetRoutable pulumi.BoolPtrOutput `pulumi:"waitForGuestNetRoutable"`
	// The amount of time, in minutes, to
	// wait for an available IP address on this virtual machine's NICs. Older
	// versions of VMware Tools do not populate this property. In those cases, this
	// waiter can be disabled and the
	// `waitForGuestIpTimeout` waiter can be used
	// instead. A value less than 1 disables the waiter. Default: 5 minutes.
	WaitForGuestNetTimeout pulumi.IntPtrOutput `pulumi:"waitForGuestNetTimeout"`
}

func GetVirtualMachine

func GetVirtualMachine(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualMachineState, opts ...pulumi.ResourceOption) (*VirtualMachine, error)

GetVirtualMachine gets an existing VirtualMachine resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVirtualMachine

func NewVirtualMachine(ctx *pulumi.Context,
	name string, args *VirtualMachineArgs, opts ...pulumi.ResourceOption) (*VirtualMachine, error)

NewVirtualMachine registers a new resource with the given unique name, arguments, and options.

type VirtualMachineArgs

type VirtualMachineArgs struct {
	// The guest name for the operating system
	// when `guestId` is `other` or `other-64`.
	AlternateGuestName pulumi.StringPtrInput
	// A user-provided description of the virtual machine.
	// The default is no annotation.
	Annotation pulumi.StringPtrInput
	// The number of milliseconds to wait before starting
	// the boot sequence. The default is no delay.
	BootDelay pulumi.IntPtrInput
	// The number of milliseconds to wait before
	// retrying the boot sequence. This only valid if `bootRetryEnabled` is true.
	// Default: `10000` (10 seconds).
	BootRetryDelay pulumi.IntPtrInput
	// If set to true, a virtual machine that
	// fails to boot will try again after the delay defined in `bootRetryDelay`.
	// Default: `false`.
	BootRetryEnabled pulumi.BoolPtrInput
	// A specification for a CDROM device on this virtual
	// machine. See CDROM options below.
	Cdrom VirtualMachineCdromPtrInput
	// When specified, the VM will be created as a clone of a
	// specified template. Optional customization options can be submitted as well.
	// See creating a virtual machine from a
	// template for more details.
	Clone VirtualMachineClonePtrInput
	// Allow CPUs to be added to this virtual
	// machine while it is running.
	CpuHotAddEnabled pulumi.BoolPtrInput
	// Allow CPUs to be removed to this
	// virtual machine while it is running.
	CpuHotRemoveEnabled pulumi.BoolPtrInput
	// The maximum amount of CPU (in MHz) that this virtual
	// machine can consume, regardless of available resources. The default is no
	// limit.
	CpuLimit pulumi.IntPtrInput
	// Enable CPU performance
	// counters on this virtual machine. Default: `false`.
	CpuPerformanceCountersEnabled pulumi.BoolPtrInput
	// The amount of CPU (in MHz) that this virtual
	// machine is guaranteed. The default is no reservation.
	CpuReservation pulumi.IntPtrInput
	// The number of CPU shares allocated to the
	// virtual machine when the `cpuShareLevel` is `custom`.
	CpuShareCount pulumi.IntPtrInput
	// The allocation level for CPU resources. Can be
	// one of `high`, `low`, `normal`, or `custom`. Default: `custom`.
	CpuShareLevel pulumi.StringPtrInput
	// Map of custom attribute ids to attribute
	// value strings to set for virtual machine. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster ID to use. This setting
	// applies to entire virtual machine and implies that you wish to use Storage
	// DRS with this virtual machine. See the section on virtual machine
	// migration for details on changing this value.
	DatastoreClusterId pulumi.StringPtrInput
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId pulumi.StringPtrInput
	// A specification for a virtual disk device on this virtual
	// machine. See disk options below.
	Disks VirtualMachineDiskArrayInput
	// When the `firmware` type is set to is
	// `efi`, this enables EFI secure boot. Default: `false`.
	EfiSecureBootEnabled pulumi.BoolPtrInput
	// Expose the UUIDs of attached virtual disks to
	// the virtual machine, allowing access to them in the guest. Default: `false`.
	EnableDiskUuid pulumi.BoolPtrInput
	// Enable logging of virtual machine events to a
	// log file stored in the virtual machine directory. Default: `false`.
	EnableLogging pulumi.BoolPtrInput
	// The EPT/RVI (hardware memory virtualization)
	// setting for this virtual machine. Can be one of `automatic`, `on`, or `off`.
	// Default: `automatic`.
	EptRviMode pulumi.StringPtrInput
	// Extra configuration data for this virtual
	// machine. Can be used to supply advanced parameters not normally in
	// configuration, such as instance metadata.
	ExtraConfig pulumi.StringMapInput
	// The firmware interface to use on the virtual machine.
	// Can be one of `bios` or `EFI`. Default: `bios`.
	Firmware pulumi.StringPtrInput
	// The path to the folder to put this virtual machine in,
	// relative to the datacenter that the resource pool is in.
	Folder pulumi.StringPtrInput
	// If a guest shutdown failed or timed out while
	// updating or destroying (see
	// `shutdownWaitTimeout`), force the power-off of
	// the virtual machine. Default: `true`.
	ForcePowerOff pulumi.BoolPtrInput
	// The guest ID for the operating system type. For a
	// full list of possible values, see [here][vmware-docs-guest-ids]. Default: `other-64`.
	GuestId pulumi.StringPtrInput
	// An optional [managed object reference
	// ID][docs-about-morefs] of a host to put this virtual machine on. See the
	// section on virtual machine migration for
	// details on changing this value. If a `hostSystemId` is not supplied,
	// vSphere will select a host in the resource pool to place the virtual machine,
	// according to any defaults or DRS policies in place.
	HostSystemId pulumi.StringPtrInput
	// The (non-nested) hardware virtualization setting for
	// this virtual machine. Can be one of `hvAuto`, `hvOn`, or `hvOff`. Default:
	// `hvAuto`.
	HvMode pulumi.StringPtrInput
	// List of IP addresses and CIDR networks to
	// ignore while waiting for an available IP address using either of the waiters.
	// Any IP addresses in this list will be ignored if they show up so that the
	// waiter will continue to wait for a real IP address. Default: [].
	IgnoredGuestIps pulumi.StringArrayInput
	// Controls the scheduling delay of the
	// virtual machine. Use a higher sensitivity for applications that require lower
	// latency, such as VOIP, media player applications, or applications that
	// require frequent access to mouse or keyboard devices. Can be one of `low`,
	// `normal`, `medium`, or `high`.
	LatencySensitivity pulumi.StringPtrInput
	// The size of the virtual machine's memory, in MB.
	// Default: `1024` (1 GB).
	Memory pulumi.IntPtrInput
	// Allow memory to be added to this
	// virtual machine while it is running.
	MemoryHotAddEnabled pulumi.BoolPtrInput
	// The maximum amount of memory (in MB) that this
	// virtual machine can consume, regardless of available resources. The default
	// is no limit.
	MemoryLimit pulumi.IntPtrInput
	// The amount of memory (in MB) that this
	// virtual machine is guaranteed. The default is no reservation.
	MemoryReservation pulumi.IntPtrInput
	// The number of memory shares allocated to
	// the virtual machine when the `memoryShareLevel` is `custom`.
	MemoryShareCount pulumi.IntPtrInput
	// The allocation level for memory resources.
	// Can be one of `high`, `low`, `normal`, or `custom`. Default: `custom`.
	MemoryShareLevel pulumi.StringPtrInput
	// The amount of time, in minutes, to wait
	// for a virtual machine migration to complete before failing. Default: 10
	// minutes. Also see the section on virtual machine
	// migration.
	MigrateWaitTimeout pulumi.IntPtrInput
	// An alias for both `label` and `path`, the latter when
	// using `attach`. Required if not using `label`.
	Name pulumi.StringPtrInput
	// Enable nested hardware virtualization on
	// this virtual machine, facilitating nested virtualization in the guest.
	// Default: `false`.
	NestedHvEnabled pulumi.BoolPtrInput
	// A specification for a virtual NIC on this
	// virtual machine. See network interface options
	// below.
	NetworkInterfaces VirtualMachineNetworkInterfaceArrayInput
	// The number of cores per socket in this
	// virtual machine. The number of vCPUs on the virtual machine will be
	// `numCpus` divided by `numCoresPerSocket`. If specified, the value
	// supplied to `numCpus` must be evenly divisible by this value. Default: `1`.
	NumCoresPerSocket pulumi.IntPtrInput
	// The total number of virtual processor cores to assign
	// to this virtual machine. Default: `1`.
	NumCpus pulumi.IntPtrInput
	// The amount of time, in seconds, that we will be trying to power on a VM
	PoweronTimeout pulumi.IntPtrInput
	// The [managed object reference
	// ID][docs-about-morefs] of the resource pool to put this virtual machine in.
	// See the section on virtual machine migration
	// for details on changing this value.
	ResourcePoolId pulumi.StringInput
	// Enable the execution of
	// post-power-on scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsAfterPowerOn pulumi.BoolPtrInput
	// Enable the execution of
	// post-resume scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsAfterResume pulumi.BoolPtrInput
	// Enable the execution of
	// pre-reboot scripts when VMware tools is installed. Default: `false`.
	RunToolsScriptsBeforeGuestReboot pulumi.BoolPtrInput
	// Enable the execution
	// of pre-shutdown scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsBeforeGuestShutdown pulumi.BoolPtrInput
	// Enable the execution of
	// pre-standby scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsBeforeGuestStandby pulumi.BoolPtrInput
	// Mode for sharing the SCSI bus. The modes are
	// physicalSharing, virtualSharing, and noSharing. Default: `noSharing`.
	ScsiBusSharing pulumi.StringPtrInput
	// The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
	// you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
	// controllers.
	ScsiControllerCount pulumi.IntPtrInput
	// The type of SCSI bus this virtual machine will have.
	// Can be one of lsilogic (LSI Logic Parallel), lsilogic-sas (LSI Logic SAS) or
	// pvscsi (VMware Paravirtual). Defualt: `pvscsi`.
	ScsiType pulumi.StringPtrInput
	// The amount of time, in minutes, to wait
	// for a graceful guest shutdown when making necessary updates to the virtual
	// machine. If `forcePowerOff` is set to true, the VM will be force powered-off
	// after this timeout, otherwise an error is returned. Default: 3 minutes.
	ShutdownWaitTimeout pulumi.IntPtrInput
	// The UUID of the storage policy to assign to this disk.
	StoragePolicyId pulumi.StringPtrInput
	// The swap file placement policy for this
	// virtual machine. Can be one of `inherit`, `hostLocal`, or `vmDirectory`.
	// Default: `inherit`.
	SwapPlacementPolicy pulumi.StringPtrInput
	// Enable guest clock synchronization with
	// the host. Requires VMware tools to be installed. Default: `false`.
	SyncTimeWithHost pulumi.BoolPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// Optional vApp configuration. The only sub-key available
	// is `properties`, which is a key/value map of properties for virtual machines
	// imported from OVF or OVA files. See Using vApp properties to supply OVF/OVA
	// configuration for
	// more details.
	Vapp VirtualMachineVappPtrInput
	// The amount of time, in minutes, to
	// wait for an available guest IP address on this virtual machine. This should
	// only be used if your version of VMware Tools does not allow the
	// `waitForGuestNetTimeout` waiter to be
	// used. A value less than 1 disables the waiter. Default: 0.
	WaitForGuestIpTimeout pulumi.IntPtrInput
	// Controls whether or not the guest
	// network waiter waits for a routable address. When `false`, the waiter does
	// not wait for a default gateway, nor are IP addresses checked against any
	// discovered default gateways as part of its success criteria. This property is
	// ignored if the `waitForGuestIpTimeout`
	// waiter is used. Default: `true`.
	WaitForGuestNetRoutable pulumi.BoolPtrInput
	// The amount of time, in minutes, to
	// wait for an available IP address on this virtual machine's NICs. Older
	// versions of VMware Tools do not populate this property. In those cases, this
	// waiter can be disabled and the
	// `waitForGuestIpTimeout` waiter can be used
	// instead. A value less than 1 disables the waiter. Default: 5 minutes.
	WaitForGuestNetTimeout pulumi.IntPtrInput
}

The set of arguments for constructing a VirtualMachine resource.

func (VirtualMachineArgs) ElementType added in v1.5.0

func (VirtualMachineArgs) ElementType() reflect.Type

type VirtualMachineCdrom added in v1.5.0

type VirtualMachineCdrom struct {
	// Indicates whether the device should be backed by
	// remote client device. Conflicts with `datastoreId` and `path`.
	ClientDevice *bool `pulumi:"clientDevice"`
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId   *string `pulumi:"datastoreId"`
	DeviceAddress *string `pulumi:"deviceAddress"`
	// The ID of the device within the virtual machine.
	Key *int `pulumi:"key"`
	// The path to the ISO file. Required for using a datastore
	// ISO. Conflicts with `clientDevice`.
	Path *string `pulumi:"path"`
}

type VirtualMachineCdromArgs added in v1.5.0

type VirtualMachineCdromArgs struct {
	// Indicates whether the device should be backed by
	// remote client device. Conflicts with `datastoreId` and `path`.
	ClientDevice pulumi.BoolPtrInput `pulumi:"clientDevice"`
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId   pulumi.StringPtrInput `pulumi:"datastoreId"`
	DeviceAddress pulumi.StringPtrInput `pulumi:"deviceAddress"`
	// The ID of the device within the virtual machine.
	Key pulumi.IntPtrInput `pulumi:"key"`
	// The path to the ISO file. Required for using a datastore
	// ISO. Conflicts with `clientDevice`.
	Path pulumi.StringPtrInput `pulumi:"path"`
}

func (VirtualMachineCdromArgs) ElementType added in v1.5.0

func (VirtualMachineCdromArgs) ElementType() reflect.Type

func (VirtualMachineCdromArgs) ToVirtualMachineCdromOutput added in v1.5.0

func (i VirtualMachineCdromArgs) ToVirtualMachineCdromOutput() VirtualMachineCdromOutput

func (VirtualMachineCdromArgs) ToVirtualMachineCdromOutputWithContext added in v1.5.0

func (i VirtualMachineCdromArgs) ToVirtualMachineCdromOutputWithContext(ctx context.Context) VirtualMachineCdromOutput

func (VirtualMachineCdromArgs) ToVirtualMachineCdromPtrOutput added in v1.5.0

func (i VirtualMachineCdromArgs) ToVirtualMachineCdromPtrOutput() VirtualMachineCdromPtrOutput

func (VirtualMachineCdromArgs) ToVirtualMachineCdromPtrOutputWithContext added in v1.5.0

func (i VirtualMachineCdromArgs) ToVirtualMachineCdromPtrOutputWithContext(ctx context.Context) VirtualMachineCdromPtrOutput

type VirtualMachineCdromInput added in v1.5.0

type VirtualMachineCdromInput interface {
	pulumi.Input

	ToVirtualMachineCdromOutput() VirtualMachineCdromOutput
	ToVirtualMachineCdromOutputWithContext(context.Context) VirtualMachineCdromOutput
}

type VirtualMachineCdromOutput added in v1.5.0

type VirtualMachineCdromOutput struct{ *pulumi.OutputState }

func (VirtualMachineCdromOutput) ClientDevice added in v1.5.0

Indicates whether the device should be backed by remote client device. Conflicts with `datastoreId` and `path`.

func (VirtualMachineCdromOutput) DatastoreId added in v1.5.0

The datastore ID that the ISO is located in. Requried for using a datastore ISO. Conflicts with `clientDevice`.

func (VirtualMachineCdromOutput) DeviceAddress added in v1.5.0

func (VirtualMachineCdromOutput) ElementType added in v1.5.0

func (VirtualMachineCdromOutput) ElementType() reflect.Type

func (VirtualMachineCdromOutput) Key added in v1.5.0

The ID of the device within the virtual machine.

func (VirtualMachineCdromOutput) Path added in v1.5.0

The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`.

func (VirtualMachineCdromOutput) ToVirtualMachineCdromOutput added in v1.5.0

func (o VirtualMachineCdromOutput) ToVirtualMachineCdromOutput() VirtualMachineCdromOutput

func (VirtualMachineCdromOutput) ToVirtualMachineCdromOutputWithContext added in v1.5.0

func (o VirtualMachineCdromOutput) ToVirtualMachineCdromOutputWithContext(ctx context.Context) VirtualMachineCdromOutput

func (VirtualMachineCdromOutput) ToVirtualMachineCdromPtrOutput added in v1.5.0

func (o VirtualMachineCdromOutput) ToVirtualMachineCdromPtrOutput() VirtualMachineCdromPtrOutput

func (VirtualMachineCdromOutput) ToVirtualMachineCdromPtrOutputWithContext added in v1.5.0

func (o VirtualMachineCdromOutput) ToVirtualMachineCdromPtrOutputWithContext(ctx context.Context) VirtualMachineCdromPtrOutput

type VirtualMachineCdromPtrInput added in v1.5.0

type VirtualMachineCdromPtrInput interface {
	pulumi.Input

	ToVirtualMachineCdromPtrOutput() VirtualMachineCdromPtrOutput
	ToVirtualMachineCdromPtrOutputWithContext(context.Context) VirtualMachineCdromPtrOutput
}

func VirtualMachineCdromPtr added in v1.5.0

func VirtualMachineCdromPtr(v *VirtualMachineCdromArgs) VirtualMachineCdromPtrInput

type VirtualMachineCdromPtrOutput added in v1.5.0

type VirtualMachineCdromPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineCdromPtrOutput) ClientDevice added in v1.5.0

Indicates whether the device should be backed by remote client device. Conflicts with `datastoreId` and `path`.

func (VirtualMachineCdromPtrOutput) DatastoreId added in v1.5.0

The datastore ID that the ISO is located in. Requried for using a datastore ISO. Conflicts with `clientDevice`.

func (VirtualMachineCdromPtrOutput) DeviceAddress added in v1.5.0

func (VirtualMachineCdromPtrOutput) Elem added in v1.5.0

func (VirtualMachineCdromPtrOutput) ElementType added in v1.5.0

func (VirtualMachineCdromPtrOutput) Key added in v1.5.0

The ID of the device within the virtual machine.

func (VirtualMachineCdromPtrOutput) Path added in v1.5.0

The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`.

func (VirtualMachineCdromPtrOutput) ToVirtualMachineCdromPtrOutput added in v1.5.0

func (o VirtualMachineCdromPtrOutput) ToVirtualMachineCdromPtrOutput() VirtualMachineCdromPtrOutput

func (VirtualMachineCdromPtrOutput) ToVirtualMachineCdromPtrOutputWithContext added in v1.5.0

func (o VirtualMachineCdromPtrOutput) ToVirtualMachineCdromPtrOutputWithContext(ctx context.Context) VirtualMachineCdromPtrOutput

type VirtualMachineClone added in v1.5.0

type VirtualMachineClone struct {
	Customize     *VirtualMachineCloneCustomize `pulumi:"customize"`
	LinkedClone   *bool                         `pulumi:"linkedClone"`
	OvfNetworkMap map[string]string             `pulumi:"ovfNetworkMap"`
	OvfStorageMap map[string]string             `pulumi:"ovfStorageMap"`
	TemplateUuid  string                        `pulumi:"templateUuid"`
	Timeout       *int                          `pulumi:"timeout"`
}

type VirtualMachineCloneArgs added in v1.5.0

type VirtualMachineCloneArgs struct {
	Customize     VirtualMachineCloneCustomizePtrInput `pulumi:"customize"`
	LinkedClone   pulumi.BoolPtrInput                  `pulumi:"linkedClone"`
	OvfNetworkMap pulumi.StringMapInput                `pulumi:"ovfNetworkMap"`
	OvfStorageMap pulumi.StringMapInput                `pulumi:"ovfStorageMap"`
	TemplateUuid  pulumi.StringInput                   `pulumi:"templateUuid"`
	Timeout       pulumi.IntPtrInput                   `pulumi:"timeout"`
}

func (VirtualMachineCloneArgs) ElementType added in v1.5.0

func (VirtualMachineCloneArgs) ElementType() reflect.Type

func (VirtualMachineCloneArgs) ToVirtualMachineCloneOutput added in v1.5.0

func (i VirtualMachineCloneArgs) ToVirtualMachineCloneOutput() VirtualMachineCloneOutput

func (VirtualMachineCloneArgs) ToVirtualMachineCloneOutputWithContext added in v1.5.0

func (i VirtualMachineCloneArgs) ToVirtualMachineCloneOutputWithContext(ctx context.Context) VirtualMachineCloneOutput

func (VirtualMachineCloneArgs) ToVirtualMachineClonePtrOutput added in v1.5.0

func (i VirtualMachineCloneArgs) ToVirtualMachineClonePtrOutput() VirtualMachineClonePtrOutput

func (VirtualMachineCloneArgs) ToVirtualMachineClonePtrOutputWithContext added in v1.5.0

func (i VirtualMachineCloneArgs) ToVirtualMachineClonePtrOutputWithContext(ctx context.Context) VirtualMachineClonePtrOutput

type VirtualMachineCloneCustomize added in v1.5.0

type VirtualMachineCloneCustomize struct {
	DnsServerLists []string                                  `pulumi:"dnsServerLists"`
	DnsSuffixLists []string                                  `pulumi:"dnsSuffixLists"`
	Ipv4Gateway    *string                                   `pulumi:"ipv4Gateway"`
	Ipv6Gateway    *string                                   `pulumi:"ipv6Gateway"`
	LinuxOptions   *VirtualMachineCloneCustomizeLinuxOptions `pulumi:"linuxOptions"`
	// A specification for a virtual NIC on this
	// virtual machine. See network interface options
	// below.
	NetworkInterfaces  []VirtualMachineCloneCustomizeNetworkInterface `pulumi:"networkInterfaces"`
	Timeout            *int                                           `pulumi:"timeout"`
	WindowsOptions     *VirtualMachineCloneCustomizeWindowsOptions    `pulumi:"windowsOptions"`
	WindowsSysprepText *string                                        `pulumi:"windowsSysprepText"`
}

type VirtualMachineCloneCustomizeArgs added in v1.5.0

type VirtualMachineCloneCustomizeArgs struct {
	DnsServerLists pulumi.StringArrayInput                          `pulumi:"dnsServerLists"`
	DnsSuffixLists pulumi.StringArrayInput                          `pulumi:"dnsSuffixLists"`
	Ipv4Gateway    pulumi.StringPtrInput                            `pulumi:"ipv4Gateway"`
	Ipv6Gateway    pulumi.StringPtrInput                            `pulumi:"ipv6Gateway"`
	LinuxOptions   VirtualMachineCloneCustomizeLinuxOptionsPtrInput `pulumi:"linuxOptions"`
	// A specification for a virtual NIC on this
	// virtual machine. See network interface options
	// below.
	NetworkInterfaces  VirtualMachineCloneCustomizeNetworkInterfaceArrayInput `pulumi:"networkInterfaces"`
	Timeout            pulumi.IntPtrInput                                     `pulumi:"timeout"`
	WindowsOptions     VirtualMachineCloneCustomizeWindowsOptionsPtrInput     `pulumi:"windowsOptions"`
	WindowsSysprepText pulumi.StringPtrInput                                  `pulumi:"windowsSysprepText"`
}

func (VirtualMachineCloneCustomizeArgs) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizeOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizeOutput() VirtualMachineCloneCustomizeOutput

func (VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizeOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizeOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeOutput

func (VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizePtrOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizePtrOutput() VirtualMachineCloneCustomizePtrOutput

func (VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizePtrOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeArgs) ToVirtualMachineCloneCustomizePtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizePtrOutput

type VirtualMachineCloneCustomizeInput added in v1.5.0

type VirtualMachineCloneCustomizeInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeOutput() VirtualMachineCloneCustomizeOutput
	ToVirtualMachineCloneCustomizeOutputWithContext(context.Context) VirtualMachineCloneCustomizeOutput
}

type VirtualMachineCloneCustomizeLinuxOptions added in v1.5.0

type VirtualMachineCloneCustomizeLinuxOptions struct {
	Domain     string  `pulumi:"domain"`
	HostName   string  `pulumi:"hostName"`
	HwClockUtc *bool   `pulumi:"hwClockUtc"`
	TimeZone   *string `pulumi:"timeZone"`
}

type VirtualMachineCloneCustomizeLinuxOptionsArgs added in v1.5.0

type VirtualMachineCloneCustomizeLinuxOptionsArgs struct {
	Domain     pulumi.StringInput    `pulumi:"domain"`
	HostName   pulumi.StringInput    `pulumi:"hostName"`
	HwClockUtc pulumi.BoolPtrInput   `pulumi:"hwClockUtc"`
	TimeZone   pulumi.StringPtrInput `pulumi:"timeZone"`
}

func (VirtualMachineCloneCustomizeLinuxOptionsArgs) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsOutput() VirtualMachineCloneCustomizeLinuxOptionsOutput

func (VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeLinuxOptionsOutput

func (VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput() VirtualMachineCloneCustomizeLinuxOptionsPtrOutput

func (VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeLinuxOptionsArgs) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeLinuxOptionsPtrOutput

type VirtualMachineCloneCustomizeLinuxOptionsInput added in v1.5.0

type VirtualMachineCloneCustomizeLinuxOptionsInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeLinuxOptionsOutput() VirtualMachineCloneCustomizeLinuxOptionsOutput
	ToVirtualMachineCloneCustomizeLinuxOptionsOutputWithContext(context.Context) VirtualMachineCloneCustomizeLinuxOptionsOutput
}

type VirtualMachineCloneCustomizeLinuxOptionsOutput added in v1.5.0

type VirtualMachineCloneCustomizeLinuxOptionsOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) Domain added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) HostName added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) HwClockUtc added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) TimeZone added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsOutput() VirtualMachineCloneCustomizeLinuxOptionsOutput

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeLinuxOptionsOutput

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput() VirtualMachineCloneCustomizeLinuxOptionsPtrOutput

func (VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeLinuxOptionsOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeLinuxOptionsPtrOutput

type VirtualMachineCloneCustomizeLinuxOptionsPtrInput added in v1.5.0

type VirtualMachineCloneCustomizeLinuxOptionsPtrInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput() VirtualMachineCloneCustomizeLinuxOptionsPtrOutput
	ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext(context.Context) VirtualMachineCloneCustomizeLinuxOptionsPtrOutput
}

type VirtualMachineCloneCustomizeLinuxOptionsPtrOutput added in v1.5.0

type VirtualMachineCloneCustomizeLinuxOptionsPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) Domain added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) Elem added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) HostName added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) HwClockUtc added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) TimeZone added in v1.5.0

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutput() VirtualMachineCloneCustomizeLinuxOptionsPtrOutput

func (VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeLinuxOptionsPtrOutput) ToVirtualMachineCloneCustomizeLinuxOptionsPtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeLinuxOptionsPtrOutput

type VirtualMachineCloneCustomizeNetworkInterface added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterface struct {
	DnsDomain      *string  `pulumi:"dnsDomain"`
	DnsServerLists []string `pulumi:"dnsServerLists"`
	Ipv4Address    *string  `pulumi:"ipv4Address"`
	Ipv4Netmask    *int     `pulumi:"ipv4Netmask"`
	Ipv6Address    *string  `pulumi:"ipv6Address"`
	Ipv6Netmask    *int     `pulumi:"ipv6Netmask"`
}

type VirtualMachineCloneCustomizeNetworkInterfaceArgs added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterfaceArgs struct {
	DnsDomain      pulumi.StringPtrInput   `pulumi:"dnsDomain"`
	DnsServerLists pulumi.StringArrayInput `pulumi:"dnsServerLists"`
	Ipv4Address    pulumi.StringPtrInput   `pulumi:"ipv4Address"`
	Ipv4Netmask    pulumi.IntPtrInput      `pulumi:"ipv4Netmask"`
	Ipv6Address    pulumi.StringPtrInput   `pulumi:"ipv6Address"`
	Ipv6Netmask    pulumi.IntPtrInput      `pulumi:"ipv6Netmask"`
}

func (VirtualMachineCloneCustomizeNetworkInterfaceArgs) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceArgs) ToVirtualMachineCloneCustomizeNetworkInterfaceOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeNetworkInterfaceArgs) ToVirtualMachineCloneCustomizeNetworkInterfaceOutput() VirtualMachineCloneCustomizeNetworkInterfaceOutput

func (VirtualMachineCloneCustomizeNetworkInterfaceArgs) ToVirtualMachineCloneCustomizeNetworkInterfaceOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeNetworkInterfaceArgs) ToVirtualMachineCloneCustomizeNetworkInterfaceOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeNetworkInterfaceOutput

type VirtualMachineCloneCustomizeNetworkInterfaceArray added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterfaceArray []VirtualMachineCloneCustomizeNetworkInterfaceInput

func (VirtualMachineCloneCustomizeNetworkInterfaceArray) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceArray) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeNetworkInterfaceArray) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutput() VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput

func (VirtualMachineCloneCustomizeNetworkInterfaceArray) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeNetworkInterfaceArray) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput

type VirtualMachineCloneCustomizeNetworkInterfaceArrayInput added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterfaceArrayInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutput() VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput
	ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutputWithContext(context.Context) VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput
}

type VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput) Index added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutput added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceArrayOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeNetworkInterfaceArrayOutput

type VirtualMachineCloneCustomizeNetworkInterfaceInput added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterfaceInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeNetworkInterfaceOutput() VirtualMachineCloneCustomizeNetworkInterfaceOutput
	ToVirtualMachineCloneCustomizeNetworkInterfaceOutputWithContext(context.Context) VirtualMachineCloneCustomizeNetworkInterfaceOutput
}

type VirtualMachineCloneCustomizeNetworkInterfaceOutput added in v1.5.0

type VirtualMachineCloneCustomizeNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) DnsDomain added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) DnsServerLists added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) Ipv4Address added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) Ipv4Netmask added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) Ipv6Address added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) Ipv6Netmask added in v1.5.0

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeNetworkInterfaceOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceOutput() VirtualMachineCloneCustomizeNetworkInterfaceOutput

func (VirtualMachineCloneCustomizeNetworkInterfaceOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeNetworkInterfaceOutput) ToVirtualMachineCloneCustomizeNetworkInterfaceOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeNetworkInterfaceOutput

type VirtualMachineCloneCustomizeOutput added in v1.5.0

type VirtualMachineCloneCustomizeOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeOutput) DnsServerLists added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) DnsSuffixLists added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) Ipv4Gateway added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) Ipv6Gateway added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) LinuxOptions added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) NetworkInterfaces added in v1.5.0

A specification for a virtual NIC on this virtual machine. See network interface options below.

func (VirtualMachineCloneCustomizeOutput) Timeout added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizeOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizeOutput() VirtualMachineCloneCustomizeOutput

func (VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizeOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizeOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeOutput

func (VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizePtrOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizePtrOutput() VirtualMachineCloneCustomizePtrOutput

func (VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizePtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeOutput) ToVirtualMachineCloneCustomizePtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizePtrOutput

func (VirtualMachineCloneCustomizeOutput) WindowsOptions added in v1.5.0

func (VirtualMachineCloneCustomizeOutput) WindowsSysprepText added in v1.5.0

type VirtualMachineCloneCustomizePtrInput added in v1.5.0

type VirtualMachineCloneCustomizePtrInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizePtrOutput() VirtualMachineCloneCustomizePtrOutput
	ToVirtualMachineCloneCustomizePtrOutputWithContext(context.Context) VirtualMachineCloneCustomizePtrOutput
}

type VirtualMachineCloneCustomizePtrOutput added in v1.5.0

type VirtualMachineCloneCustomizePtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizePtrOutput) DnsServerLists added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) DnsSuffixLists added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) Elem added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) Ipv4Gateway added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) Ipv6Gateway added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) LinuxOptions added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) NetworkInterfaces added in v1.5.0

A specification for a virtual NIC on this virtual machine. See network interface options below.

func (VirtualMachineCloneCustomizePtrOutput) Timeout added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) ToVirtualMachineCloneCustomizePtrOutput added in v1.5.0

func (o VirtualMachineCloneCustomizePtrOutput) ToVirtualMachineCloneCustomizePtrOutput() VirtualMachineCloneCustomizePtrOutput

func (VirtualMachineCloneCustomizePtrOutput) ToVirtualMachineCloneCustomizePtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizePtrOutput) ToVirtualMachineCloneCustomizePtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizePtrOutput

func (VirtualMachineCloneCustomizePtrOutput) WindowsOptions added in v1.5.0

func (VirtualMachineCloneCustomizePtrOutput) WindowsSysprepText added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptions added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptions struct {
	AdminPassword       *string  `pulumi:"adminPassword"`
	AutoLogon           *bool    `pulumi:"autoLogon"`
	AutoLogonCount      *int     `pulumi:"autoLogonCount"`
	ComputerName        string   `pulumi:"computerName"`
	DomainAdminPassword *string  `pulumi:"domainAdminPassword"`
	DomainAdminUser     *string  `pulumi:"domainAdminUser"`
	FullName            *string  `pulumi:"fullName"`
	JoinDomain          *string  `pulumi:"joinDomain"`
	OrganizationName    *string  `pulumi:"organizationName"`
	ProductKey          *string  `pulumi:"productKey"`
	RunOnceCommandLists []string `pulumi:"runOnceCommandLists"`
	TimeZone            *int     `pulumi:"timeZone"`
	Workgroup           *string  `pulumi:"workgroup"`
}

type VirtualMachineCloneCustomizeWindowsOptionsArgs added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptionsArgs struct {
	AdminPassword       pulumi.StringPtrInput   `pulumi:"adminPassword"`
	AutoLogon           pulumi.BoolPtrInput     `pulumi:"autoLogon"`
	AutoLogonCount      pulumi.IntPtrInput      `pulumi:"autoLogonCount"`
	ComputerName        pulumi.StringInput      `pulumi:"computerName"`
	DomainAdminPassword pulumi.StringPtrInput   `pulumi:"domainAdminPassword"`
	DomainAdminUser     pulumi.StringPtrInput   `pulumi:"domainAdminUser"`
	FullName            pulumi.StringPtrInput   `pulumi:"fullName"`
	JoinDomain          pulumi.StringPtrInput   `pulumi:"joinDomain"`
	OrganizationName    pulumi.StringPtrInput   `pulumi:"organizationName"`
	ProductKey          pulumi.StringPtrInput   `pulumi:"productKey"`
	RunOnceCommandLists pulumi.StringArrayInput `pulumi:"runOnceCommandLists"`
	TimeZone            pulumi.IntPtrInput      `pulumi:"timeZone"`
	Workgroup           pulumi.StringPtrInput   `pulumi:"workgroup"`
}

func (VirtualMachineCloneCustomizeWindowsOptionsArgs) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsOutput() VirtualMachineCloneCustomizeWindowsOptionsOutput

func (VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeWindowsOptionsOutput

func (VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput added in v1.5.0

func (i VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput() VirtualMachineCloneCustomizeWindowsOptionsPtrOutput

func (VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext added in v1.5.0

func (i VirtualMachineCloneCustomizeWindowsOptionsArgs) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeWindowsOptionsPtrOutput

type VirtualMachineCloneCustomizeWindowsOptionsInput added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptionsInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeWindowsOptionsOutput() VirtualMachineCloneCustomizeWindowsOptionsOutput
	ToVirtualMachineCloneCustomizeWindowsOptionsOutputWithContext(context.Context) VirtualMachineCloneCustomizeWindowsOptionsOutput
}

type VirtualMachineCloneCustomizeWindowsOptionsOutput added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptionsOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) AdminPassword added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) AutoLogon added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) AutoLogonCount added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ComputerName added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) DomainAdminPassword added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) DomainAdminUser added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) FullName added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) JoinDomain added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) OrganizationName added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ProductKey added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) RunOnceCommandLists added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) TimeZone added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsOutput() VirtualMachineCloneCustomizeWindowsOptionsOutput

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeWindowsOptionsOutput

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput() VirtualMachineCloneCustomizeWindowsOptionsPtrOutput

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeWindowsOptionsOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeWindowsOptionsPtrOutput

func (VirtualMachineCloneCustomizeWindowsOptionsOutput) Workgroup added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptionsPtrInput added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptionsPtrInput interface {
	pulumi.Input

	ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput() VirtualMachineCloneCustomizeWindowsOptionsPtrOutput
	ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext(context.Context) VirtualMachineCloneCustomizeWindowsOptionsPtrOutput
}

type VirtualMachineCloneCustomizeWindowsOptionsPtrOutput added in v1.5.0

type VirtualMachineCloneCustomizeWindowsOptionsPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) AdminPassword added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) AutoLogon added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) AutoLogonCount added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ComputerName added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) DomainAdminPassword added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) DomainAdminUser added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) Elem added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ElementType added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) FullName added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) JoinDomain added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) OrganizationName added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ProductKey added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) RunOnceCommandLists added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) TimeZone added in v1.5.0

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput added in v1.5.0

func (o VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutput() VirtualMachineCloneCustomizeWindowsOptionsPtrOutput

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) ToVirtualMachineCloneCustomizeWindowsOptionsPtrOutputWithContext(ctx context.Context) VirtualMachineCloneCustomizeWindowsOptionsPtrOutput

func (VirtualMachineCloneCustomizeWindowsOptionsPtrOutput) Workgroup added in v1.5.0

type VirtualMachineCloneInput added in v1.5.0

type VirtualMachineCloneInput interface {
	pulumi.Input

	ToVirtualMachineCloneOutput() VirtualMachineCloneOutput
	ToVirtualMachineCloneOutputWithContext(context.Context) VirtualMachineCloneOutput
}

type VirtualMachineCloneOutput added in v1.5.0

type VirtualMachineCloneOutput struct{ *pulumi.OutputState }

func (VirtualMachineCloneOutput) Customize added in v1.5.0

func (VirtualMachineCloneOutput) ElementType added in v1.5.0

func (VirtualMachineCloneOutput) ElementType() reflect.Type

func (VirtualMachineCloneOutput) LinkedClone added in v1.5.0

func (VirtualMachineCloneOutput) OvfNetworkMap added in v1.7.0

func (VirtualMachineCloneOutput) OvfStorageMap added in v1.7.0

func (VirtualMachineCloneOutput) TemplateUuid added in v1.5.0

func (VirtualMachineCloneOutput) Timeout added in v1.5.0

func (VirtualMachineCloneOutput) ToVirtualMachineCloneOutput added in v1.5.0

func (o VirtualMachineCloneOutput) ToVirtualMachineCloneOutput() VirtualMachineCloneOutput

func (VirtualMachineCloneOutput) ToVirtualMachineCloneOutputWithContext added in v1.5.0

func (o VirtualMachineCloneOutput) ToVirtualMachineCloneOutputWithContext(ctx context.Context) VirtualMachineCloneOutput

func (VirtualMachineCloneOutput) ToVirtualMachineClonePtrOutput added in v1.5.0

func (o VirtualMachineCloneOutput) ToVirtualMachineClonePtrOutput() VirtualMachineClonePtrOutput

func (VirtualMachineCloneOutput) ToVirtualMachineClonePtrOutputWithContext added in v1.5.0

func (o VirtualMachineCloneOutput) ToVirtualMachineClonePtrOutputWithContext(ctx context.Context) VirtualMachineClonePtrOutput

type VirtualMachineClonePtrInput added in v1.5.0

type VirtualMachineClonePtrInput interface {
	pulumi.Input

	ToVirtualMachineClonePtrOutput() VirtualMachineClonePtrOutput
	ToVirtualMachineClonePtrOutputWithContext(context.Context) VirtualMachineClonePtrOutput
}

func VirtualMachineClonePtr added in v1.5.0

func VirtualMachineClonePtr(v *VirtualMachineCloneArgs) VirtualMachineClonePtrInput

type VirtualMachineClonePtrOutput added in v1.5.0

type VirtualMachineClonePtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineClonePtrOutput) Customize added in v1.5.0

func (VirtualMachineClonePtrOutput) Elem added in v1.5.0

func (VirtualMachineClonePtrOutput) ElementType added in v1.5.0

func (VirtualMachineClonePtrOutput) LinkedClone added in v1.5.0

func (VirtualMachineClonePtrOutput) OvfNetworkMap added in v1.7.0

func (VirtualMachineClonePtrOutput) OvfStorageMap added in v1.7.0

func (VirtualMachineClonePtrOutput) TemplateUuid added in v1.5.0

func (VirtualMachineClonePtrOutput) Timeout added in v1.5.0

func (VirtualMachineClonePtrOutput) ToVirtualMachineClonePtrOutput added in v1.5.0

func (o VirtualMachineClonePtrOutput) ToVirtualMachineClonePtrOutput() VirtualMachineClonePtrOutput

func (VirtualMachineClonePtrOutput) ToVirtualMachineClonePtrOutputWithContext added in v1.5.0

func (o VirtualMachineClonePtrOutput) ToVirtualMachineClonePtrOutputWithContext(ctx context.Context) VirtualMachineClonePtrOutput

type VirtualMachineDisk added in v1.5.0

type VirtualMachineDisk struct {
	// Attach an external disk instead of creating a new one.
	// Implies and conflicts with `keepOnRemove`. If set, you cannot set `size`,
	// `eagerlyScrub`, or `thinProvisioned`. Must set `path` if used.
	Attach *bool `pulumi:"attach"`
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId   *string `pulumi:"datastoreId"`
	DeviceAddress *string `pulumi:"deviceAddress"`
	// The mode of this this virtual disk for purposes of
	// writes and snapshotting. Can be one of `append`, `independentNonpersistent`,
	// `independentPersistent`, `nonpersistent`, `persistent`, or `undoable`.
	// Default: `persistent`. For an explanation of options, click
	// [here][vmware-docs-disk-mode].
	DiskMode *string `pulumi:"diskMode"`
	// The sharing mode of this virtual disk. Can be one
	// of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
	DiskSharing *string `pulumi:"diskSharing"`
	// If set to `true`, the disk space is zeroed out
	// on VM creation. This will delay the creation of the disk or virtual machine.
	// Cannot be set to `true` when `thinProvisioned` is `true`.  See the section
	// on picking a disk type.  Default: `false`.
	EagerlyScrub *bool `pulumi:"eagerlyScrub"`
	// The upper limit of IOPS that this disk can use. The
	// default is no limit.
	IoLimit *int `pulumi:"ioLimit"`
	// The I/O reservation (guarantee) that this disk
	// has, in IOPS.  The default is no reservation.
	IoReservation *int `pulumi:"ioReservation"`
	// The share count for this disk when the share
	// level is `custom`.
	IoShareCount *int `pulumi:"ioShareCount"`
	// The share allocation level for this disk. Can
	// be one of `low`, `normal`, `high`, or `custom`. Default: `normal`.
	IoShareLevel *string `pulumi:"ioShareLevel"`
	// Keep this disk when removing the device or
	// destroying the virtual machine. Default: `false`.
	KeepOnRemove *bool `pulumi:"keepOnRemove"`
	// The ID of the device within the virtual machine.
	Key *int `pulumi:"key"`
	// A label for the disk. Forces a new disk if changed.
	Label *string `pulumi:"label"`
	// An alias for both `label` and `path`, the latter when
	// using `attach`. Required if not using `label`.
	Name *string `pulumi:"name"`
	// The path to the ISO file. Required for using a datastore
	// ISO. Conflicts with `clientDevice`.
	Path *string `pulumi:"path"`
	// The size of the disk, in GB.
	Size *int `pulumi:"size"`
	// The UUID of the storage policy to assign to this disk.
	StoragePolicyId *string `pulumi:"storagePolicyId"`
	// If `true`, this disk is thin provisioned,
	// with space for the file being allocated on an as-needed basis. Cannot be set
	// to `true` when `eagerlyScrub` is `true`. See the section on picking a disk
	// type. Default: `true`.
	ThinProvisioned *bool `pulumi:"thinProvisioned"`
	// The disk number on the SCSI bus. The maximum value
	// for this setting is the value of
	// `scsiControllerCount` times 15, minus 1 (so `14`,
	// `29`, `44`, and `59`, for 1-4 controllers respectively). The default is `0`,
	// for which one disk must be set to. Duplicate unit numbers are not allowed.
	UnitNumber *int `pulumi:"unitNumber"`
	// The UUID of the virtual disk's VMDK file. This is used to track the
	// virtual disk on the virtual machine.
	Uuid *string `pulumi:"uuid"`
	// If `true`, writes for this disk are sent
	// directly to the filesystem immediately instead of being buffered. Default:
	// `false`.
	WriteThrough *bool `pulumi:"writeThrough"`
}

type VirtualMachineDiskArgs added in v1.5.0

type VirtualMachineDiskArgs struct {
	// Attach an external disk instead of creating a new one.
	// Implies and conflicts with `keepOnRemove`. If set, you cannot set `size`,
	// `eagerlyScrub`, or `thinProvisioned`. Must set `path` if used.
	Attach pulumi.BoolPtrInput `pulumi:"attach"`
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId   pulumi.StringPtrInput `pulumi:"datastoreId"`
	DeviceAddress pulumi.StringPtrInput `pulumi:"deviceAddress"`
	// The mode of this this virtual disk for purposes of
	// writes and snapshotting. Can be one of `append`, `independentNonpersistent`,
	// `independentPersistent`, `nonpersistent`, `persistent`, or `undoable`.
	// Default: `persistent`. For an explanation of options, click
	// [here][vmware-docs-disk-mode].
	DiskMode pulumi.StringPtrInput `pulumi:"diskMode"`
	// The sharing mode of this virtual disk. Can be one
	// of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
	DiskSharing pulumi.StringPtrInput `pulumi:"diskSharing"`
	// If set to `true`, the disk space is zeroed out
	// on VM creation. This will delay the creation of the disk or virtual machine.
	// Cannot be set to `true` when `thinProvisioned` is `true`.  See the section
	// on picking a disk type.  Default: `false`.
	EagerlyScrub pulumi.BoolPtrInput `pulumi:"eagerlyScrub"`
	// The upper limit of IOPS that this disk can use. The
	// default is no limit.
	IoLimit pulumi.IntPtrInput `pulumi:"ioLimit"`
	// The I/O reservation (guarantee) that this disk
	// has, in IOPS.  The default is no reservation.
	IoReservation pulumi.IntPtrInput `pulumi:"ioReservation"`
	// The share count for this disk when the share
	// level is `custom`.
	IoShareCount pulumi.IntPtrInput `pulumi:"ioShareCount"`
	// The share allocation level for this disk. Can
	// be one of `low`, `normal`, `high`, or `custom`. Default: `normal`.
	IoShareLevel pulumi.StringPtrInput `pulumi:"ioShareLevel"`
	// Keep this disk when removing the device or
	// destroying the virtual machine. Default: `false`.
	KeepOnRemove pulumi.BoolPtrInput `pulumi:"keepOnRemove"`
	// The ID of the device within the virtual machine.
	Key pulumi.IntPtrInput `pulumi:"key"`
	// A label for the disk. Forces a new disk if changed.
	Label pulumi.StringPtrInput `pulumi:"label"`
	// An alias for both `label` and `path`, the latter when
	// using `attach`. Required if not using `label`.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The path to the ISO file. Required for using a datastore
	// ISO. Conflicts with `clientDevice`.
	Path pulumi.StringPtrInput `pulumi:"path"`
	// The size of the disk, in GB.
	Size pulumi.IntPtrInput `pulumi:"size"`
	// The UUID of the storage policy to assign to this disk.
	StoragePolicyId pulumi.StringPtrInput `pulumi:"storagePolicyId"`
	// If `true`, this disk is thin provisioned,
	// with space for the file being allocated on an as-needed basis. Cannot be set
	// to `true` when `eagerlyScrub` is `true`. See the section on picking a disk
	// type. Default: `true`.
	ThinProvisioned pulumi.BoolPtrInput `pulumi:"thinProvisioned"`
	// The disk number on the SCSI bus. The maximum value
	// for this setting is the value of
	// `scsiControllerCount` times 15, minus 1 (so `14`,
	// `29`, `44`, and `59`, for 1-4 controllers respectively). The default is `0`,
	// for which one disk must be set to. Duplicate unit numbers are not allowed.
	UnitNumber pulumi.IntPtrInput `pulumi:"unitNumber"`
	// The UUID of the virtual disk's VMDK file. This is used to track the
	// virtual disk on the virtual machine.
	Uuid pulumi.StringPtrInput `pulumi:"uuid"`
	// If `true`, writes for this disk are sent
	// directly to the filesystem immediately instead of being buffered. Default:
	// `false`.
	WriteThrough pulumi.BoolPtrInput `pulumi:"writeThrough"`
}

func (VirtualMachineDiskArgs) ElementType added in v1.5.0

func (VirtualMachineDiskArgs) ElementType() reflect.Type

func (VirtualMachineDiskArgs) ToVirtualMachineDiskOutput added in v1.5.0

func (i VirtualMachineDiskArgs) ToVirtualMachineDiskOutput() VirtualMachineDiskOutput

func (VirtualMachineDiskArgs) ToVirtualMachineDiskOutputWithContext added in v1.5.0

func (i VirtualMachineDiskArgs) ToVirtualMachineDiskOutputWithContext(ctx context.Context) VirtualMachineDiskOutput

type VirtualMachineDiskArray added in v1.5.0

type VirtualMachineDiskArray []VirtualMachineDiskInput

func (VirtualMachineDiskArray) ElementType added in v1.5.0

func (VirtualMachineDiskArray) ElementType() reflect.Type

func (VirtualMachineDiskArray) ToVirtualMachineDiskArrayOutput added in v1.5.0

func (i VirtualMachineDiskArray) ToVirtualMachineDiskArrayOutput() VirtualMachineDiskArrayOutput

func (VirtualMachineDiskArray) ToVirtualMachineDiskArrayOutputWithContext added in v1.5.0

func (i VirtualMachineDiskArray) ToVirtualMachineDiskArrayOutputWithContext(ctx context.Context) VirtualMachineDiskArrayOutput

type VirtualMachineDiskArrayInput added in v1.5.0

type VirtualMachineDiskArrayInput interface {
	pulumi.Input

	ToVirtualMachineDiskArrayOutput() VirtualMachineDiskArrayOutput
	ToVirtualMachineDiskArrayOutputWithContext(context.Context) VirtualMachineDiskArrayOutput
}

type VirtualMachineDiskArrayOutput added in v1.5.0

type VirtualMachineDiskArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineDiskArrayOutput) ElementType added in v1.5.0

func (VirtualMachineDiskArrayOutput) Index added in v1.5.0

func (VirtualMachineDiskArrayOutput) ToVirtualMachineDiskArrayOutput added in v1.5.0

func (o VirtualMachineDiskArrayOutput) ToVirtualMachineDiskArrayOutput() VirtualMachineDiskArrayOutput

func (VirtualMachineDiskArrayOutput) ToVirtualMachineDiskArrayOutputWithContext added in v1.5.0

func (o VirtualMachineDiskArrayOutput) ToVirtualMachineDiskArrayOutputWithContext(ctx context.Context) VirtualMachineDiskArrayOutput

type VirtualMachineDiskInput added in v1.5.0

type VirtualMachineDiskInput interface {
	pulumi.Input

	ToVirtualMachineDiskOutput() VirtualMachineDiskOutput
	ToVirtualMachineDiskOutputWithContext(context.Context) VirtualMachineDiskOutput
}

type VirtualMachineDiskOutput added in v1.5.0

type VirtualMachineDiskOutput struct{ *pulumi.OutputState }

func (VirtualMachineDiskOutput) Attach added in v1.5.0

Attach an external disk instead of creating a new one. Implies and conflicts with `keepOnRemove`. If set, you cannot set `size`, `eagerlyScrub`, or `thinProvisioned`. Must set `path` if used.

func (VirtualMachineDiskOutput) DatastoreId added in v1.5.0

The datastore ID that the ISO is located in. Requried for using a datastore ISO. Conflicts with `clientDevice`.

func (VirtualMachineDiskOutput) DeviceAddress added in v1.5.0

func (VirtualMachineDiskOutput) DiskMode added in v1.5.0

The mode of this this virtual disk for purposes of writes and snapshotting. Can be one of `append`, `independentNonpersistent`, `independentPersistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For an explanation of options, click [here][vmware-docs-disk-mode].

func (VirtualMachineDiskOutput) DiskSharing added in v1.5.0

The sharing mode of this virtual disk. Can be one of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.

func (VirtualMachineDiskOutput) EagerlyScrub added in v1.5.0

If set to `true`, the disk space is zeroed out on VM creation. This will delay the creation of the disk or virtual machine. Cannot be set to `true` when `thinProvisioned` is `true`. See the section on picking a disk type. Default: `false`.

func (VirtualMachineDiskOutput) ElementType added in v1.5.0

func (VirtualMachineDiskOutput) ElementType() reflect.Type

func (VirtualMachineDiskOutput) IoLimit added in v1.5.0

The upper limit of IOPS that this disk can use. The default is no limit.

func (VirtualMachineDiskOutput) IoReservation added in v1.5.0

func (o VirtualMachineDiskOutput) IoReservation() pulumi.IntPtrOutput

The I/O reservation (guarantee) that this disk has, in IOPS. The default is no reservation.

func (VirtualMachineDiskOutput) IoShareCount added in v1.5.0

func (o VirtualMachineDiskOutput) IoShareCount() pulumi.IntPtrOutput

The share count for this disk when the share level is `custom`.

func (VirtualMachineDiskOutput) IoShareLevel added in v1.5.0

The share allocation level for this disk. Can be one of `low`, `normal`, `high`, or `custom`. Default: `normal`.

func (VirtualMachineDiskOutput) KeepOnRemove added in v1.5.0

Keep this disk when removing the device or destroying the virtual machine. Default: `false`.

func (VirtualMachineDiskOutput) Key added in v1.5.0

The ID of the device within the virtual machine.

func (VirtualMachineDiskOutput) Label added in v1.5.0

A label for the disk. Forces a new disk if changed.

func (VirtualMachineDiskOutput) Name added in v1.5.0

An alias for both `label` and `path`, the latter when using `attach`. Required if not using `label`.

func (VirtualMachineDiskOutput) Path added in v1.5.0

The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`.

func (VirtualMachineDiskOutput) Size added in v1.5.0

The size of the disk, in GB.

func (VirtualMachineDiskOutput) StoragePolicyId added in v1.5.0

func (o VirtualMachineDiskOutput) StoragePolicyId() pulumi.StringPtrOutput

The UUID of the storage policy to assign to this disk.

func (VirtualMachineDiskOutput) ThinProvisioned added in v1.5.0

func (o VirtualMachineDiskOutput) ThinProvisioned() pulumi.BoolPtrOutput

If `true`, this disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerlyScrub` is `true`. See the section on picking a disk type. Default: `true`.

func (VirtualMachineDiskOutput) ToVirtualMachineDiskOutput added in v1.5.0

func (o VirtualMachineDiskOutput) ToVirtualMachineDiskOutput() VirtualMachineDiskOutput

func (VirtualMachineDiskOutput) ToVirtualMachineDiskOutputWithContext added in v1.5.0

func (o VirtualMachineDiskOutput) ToVirtualMachineDiskOutputWithContext(ctx context.Context) VirtualMachineDiskOutput

func (VirtualMachineDiskOutput) UnitNumber added in v1.5.0

The disk number on the SCSI bus. The maximum value for this setting is the value of `scsiControllerCount` times 15, minus 1 (so `14`, `29`, `44`, and `59`, for 1-4 controllers respectively). The default is `0`, for which one disk must be set to. Duplicate unit numbers are not allowed.

func (VirtualMachineDiskOutput) Uuid added in v1.5.0

The UUID of the virtual disk's VMDK file. This is used to track the virtual disk on the virtual machine.

func (VirtualMachineDiskOutput) WriteThrough added in v1.5.0

If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.

type VirtualMachineNetworkInterface added in v1.5.0

type VirtualMachineNetworkInterface struct {
	// The network interface type. Can be one of
	// `e1000`, `e1000e`, or `vmxnet3`. Default: `vmxnet3`.
	AdapterType *string `pulumi:"adapterType"`
	// The upper bandwidth limit of this network
	// interface, in Mbits/sec. The default is no limit.
	BandwidthLimit *int `pulumi:"bandwidthLimit"`
	// The bandwidth reservation of this
	// network interface, in Mbits/sec. The default is no reservation.
	BandwidthReservation *int `pulumi:"bandwidthReservation"`
	// The share count for this network
	// interface when the share level is `custom`.
	BandwidthShareCount *int `pulumi:"bandwidthShareCount"`
	// The bandwidth share allocation level for
	// this interface. Can be one of `low`, `normal`, `high`, or `custom`. Default:
	// `normal`.
	BandwidthShareLevel *string `pulumi:"bandwidthShareLevel"`
	DeviceAddress       *string `pulumi:"deviceAddress"`
	// The ID of the device within the virtual machine.
	Key *int `pulumi:"key"`
	// The MAC address of this network interface. Can
	// only be manually set if `useStaticMac` is true, otherwise this is a
	// computed value that gives the current MAC address of this interface.
	MacAddress *string `pulumi:"macAddress"`
	// The [managed object reference
	// ID][docs-about-morefs] of the network to connect this interface to.
	NetworkId string `pulumi:"networkId"`
	// Specifies which OVF NIC the `networkInterface`
	// should be associated with. Only applies at creation and only when deploying
	// from an OVF source.
	OvfMapping *string `pulumi:"ovfMapping"`
	// If true, the `macAddress` field is treated as
	// a static MAC address and set accordingly. Setting this to `true` requires
	// `macAddress` to be set. Default: `false`.
	UseStaticMac *bool `pulumi:"useStaticMac"`
}

type VirtualMachineNetworkInterfaceArgs added in v1.5.0

type VirtualMachineNetworkInterfaceArgs struct {
	// The network interface type. Can be one of
	// `e1000`, `e1000e`, or `vmxnet3`. Default: `vmxnet3`.
	AdapterType pulumi.StringPtrInput `pulumi:"adapterType"`
	// The upper bandwidth limit of this network
	// interface, in Mbits/sec. The default is no limit.
	BandwidthLimit pulumi.IntPtrInput `pulumi:"bandwidthLimit"`
	// The bandwidth reservation of this
	// network interface, in Mbits/sec. The default is no reservation.
	BandwidthReservation pulumi.IntPtrInput `pulumi:"bandwidthReservation"`
	// The share count for this network
	// interface when the share level is `custom`.
	BandwidthShareCount pulumi.IntPtrInput `pulumi:"bandwidthShareCount"`
	// The bandwidth share allocation level for
	// this interface. Can be one of `low`, `normal`, `high`, or `custom`. Default:
	// `normal`.
	BandwidthShareLevel pulumi.StringPtrInput `pulumi:"bandwidthShareLevel"`
	DeviceAddress       pulumi.StringPtrInput `pulumi:"deviceAddress"`
	// The ID of the device within the virtual machine.
	Key pulumi.IntPtrInput `pulumi:"key"`
	// The MAC address of this network interface. Can
	// only be manually set if `useStaticMac` is true, otherwise this is a
	// computed value that gives the current MAC address of this interface.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
	// The [managed object reference
	// ID][docs-about-morefs] of the network to connect this interface to.
	NetworkId pulumi.StringInput `pulumi:"networkId"`
	// Specifies which OVF NIC the `networkInterface`
	// should be associated with. Only applies at creation and only when deploying
	// from an OVF source.
	OvfMapping pulumi.StringPtrInput `pulumi:"ovfMapping"`
	// If true, the `macAddress` field is treated as
	// a static MAC address and set accordingly. Setting this to `true` requires
	// `macAddress` to be set. Default: `false`.
	UseStaticMac pulumi.BoolPtrInput `pulumi:"useStaticMac"`
}

func (VirtualMachineNetworkInterfaceArgs) ElementType added in v1.5.0

func (VirtualMachineNetworkInterfaceArgs) ToVirtualMachineNetworkInterfaceOutput added in v1.5.0

func (i VirtualMachineNetworkInterfaceArgs) ToVirtualMachineNetworkInterfaceOutput() VirtualMachineNetworkInterfaceOutput

func (VirtualMachineNetworkInterfaceArgs) ToVirtualMachineNetworkInterfaceOutputWithContext added in v1.5.0

func (i VirtualMachineNetworkInterfaceArgs) ToVirtualMachineNetworkInterfaceOutputWithContext(ctx context.Context) VirtualMachineNetworkInterfaceOutput

type VirtualMachineNetworkInterfaceArray added in v1.5.0

type VirtualMachineNetworkInterfaceArray []VirtualMachineNetworkInterfaceInput

func (VirtualMachineNetworkInterfaceArray) ElementType added in v1.5.0

func (VirtualMachineNetworkInterfaceArray) ToVirtualMachineNetworkInterfaceArrayOutput added in v1.5.0

func (i VirtualMachineNetworkInterfaceArray) ToVirtualMachineNetworkInterfaceArrayOutput() VirtualMachineNetworkInterfaceArrayOutput

func (VirtualMachineNetworkInterfaceArray) ToVirtualMachineNetworkInterfaceArrayOutputWithContext added in v1.5.0

func (i VirtualMachineNetworkInterfaceArray) ToVirtualMachineNetworkInterfaceArrayOutputWithContext(ctx context.Context) VirtualMachineNetworkInterfaceArrayOutput

type VirtualMachineNetworkInterfaceArrayInput added in v1.5.0

type VirtualMachineNetworkInterfaceArrayInput interface {
	pulumi.Input

	ToVirtualMachineNetworkInterfaceArrayOutput() VirtualMachineNetworkInterfaceArrayOutput
	ToVirtualMachineNetworkInterfaceArrayOutputWithContext(context.Context) VirtualMachineNetworkInterfaceArrayOutput
}

type VirtualMachineNetworkInterfaceArrayOutput added in v1.5.0

type VirtualMachineNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineNetworkInterfaceArrayOutput) ElementType added in v1.5.0

func (VirtualMachineNetworkInterfaceArrayOutput) Index added in v1.5.0

func (VirtualMachineNetworkInterfaceArrayOutput) ToVirtualMachineNetworkInterfaceArrayOutput added in v1.5.0

func (o VirtualMachineNetworkInterfaceArrayOutput) ToVirtualMachineNetworkInterfaceArrayOutput() VirtualMachineNetworkInterfaceArrayOutput

func (VirtualMachineNetworkInterfaceArrayOutput) ToVirtualMachineNetworkInterfaceArrayOutputWithContext added in v1.5.0

func (o VirtualMachineNetworkInterfaceArrayOutput) ToVirtualMachineNetworkInterfaceArrayOutputWithContext(ctx context.Context) VirtualMachineNetworkInterfaceArrayOutput

type VirtualMachineNetworkInterfaceInput added in v1.5.0

type VirtualMachineNetworkInterfaceInput interface {
	pulumi.Input

	ToVirtualMachineNetworkInterfaceOutput() VirtualMachineNetworkInterfaceOutput
	ToVirtualMachineNetworkInterfaceOutputWithContext(context.Context) VirtualMachineNetworkInterfaceOutput
}

type VirtualMachineNetworkInterfaceOutput added in v1.5.0

type VirtualMachineNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (VirtualMachineNetworkInterfaceOutput) AdapterType added in v1.5.0

The network interface type. Can be one of `e1000`, `e1000e`, or `vmxnet3`. Default: `vmxnet3`.

func (VirtualMachineNetworkInterfaceOutput) BandwidthLimit added in v1.5.0

The upper bandwidth limit of this network interface, in Mbits/sec. The default is no limit.

func (VirtualMachineNetworkInterfaceOutput) BandwidthReservation added in v1.5.0

func (o VirtualMachineNetworkInterfaceOutput) BandwidthReservation() pulumi.IntPtrOutput

The bandwidth reservation of this network interface, in Mbits/sec. The default is no reservation.

func (VirtualMachineNetworkInterfaceOutput) BandwidthShareCount added in v1.5.0

The share count for this network interface when the share level is `custom`.

func (VirtualMachineNetworkInterfaceOutput) BandwidthShareLevel added in v1.5.0

The bandwidth share allocation level for this interface. Can be one of `low`, `normal`, `high`, or `custom`. Default: `normal`.

func (VirtualMachineNetworkInterfaceOutput) DeviceAddress added in v1.5.0

func (VirtualMachineNetworkInterfaceOutput) ElementType added in v1.5.0

func (VirtualMachineNetworkInterfaceOutput) Key added in v1.5.0

The ID of the device within the virtual machine.

func (VirtualMachineNetworkInterfaceOutput) MacAddress added in v1.5.0

The MAC address of this network interface. Can only be manually set if `useStaticMac` is true, otherwise this is a computed value that gives the current MAC address of this interface.

func (VirtualMachineNetworkInterfaceOutput) NetworkId added in v1.5.0

The [managed object reference ID][docs-about-morefs] of the network to connect this interface to.

func (VirtualMachineNetworkInterfaceOutput) OvfMapping added in v1.7.0

Specifies which OVF NIC the `networkInterface` should be associated with. Only applies at creation and only when deploying from an OVF source.

func (VirtualMachineNetworkInterfaceOutput) ToVirtualMachineNetworkInterfaceOutput added in v1.5.0

func (o VirtualMachineNetworkInterfaceOutput) ToVirtualMachineNetworkInterfaceOutput() VirtualMachineNetworkInterfaceOutput

func (VirtualMachineNetworkInterfaceOutput) ToVirtualMachineNetworkInterfaceOutputWithContext added in v1.5.0

func (o VirtualMachineNetworkInterfaceOutput) ToVirtualMachineNetworkInterfaceOutputWithContext(ctx context.Context) VirtualMachineNetworkInterfaceOutput

func (VirtualMachineNetworkInterfaceOutput) UseStaticMac added in v1.5.0

If true, the `macAddress` field is treated as a static MAC address and set accordingly. Setting this to `true` requires `macAddress` to be set. Default: `false`.

type VirtualMachineSnapshot

type VirtualMachineSnapshot struct {
	pulumi.CustomResourceState

	// If set to `true`, the delta disks involved in this
	// snapshot will be consolidated into the parent when this resource is
	// destroyed.
	Consolidate pulumi.BoolPtrOutput `pulumi:"consolidate"`
	// A description for the snapshot.
	Description pulumi.StringOutput `pulumi:"description"`
	// If set to `true`, a dump of the internal state of the
	// virtual machine is included in the snapshot.
	Memory pulumi.BoolOutput `pulumi:"memory"`
	// If set to `true`, and the virtual machine is powered
	// on when the snapshot is taken, VMware Tools is used to quiesce the file
	// system in the virtual machine.
	Quiesce pulumi.BoolOutput `pulumi:"quiesce"`
	// If set to `true`, the entire snapshot subtree
	// is removed when this resource is destroyed.
	RemoveChildren pulumi.BoolPtrOutput `pulumi:"removeChildren"`
	// The name of the snapshot.
	SnapshotName pulumi.StringOutput `pulumi:"snapshotName"`
	// The virtual machine UUID.
	VirtualMachineUuid pulumi.StringOutput `pulumi:"virtualMachineUuid"`
}

The `.VirtualMachineSnapshot` resource can be used to manage snapshots for a virtual machine.

For more information on managing snapshots and how they work in VMware, see [here]ext-vm-snapshot-management.

> **NOTE:** A snapshot in VMware differs from traditional disk snapshots, and can contain the actual running state of the virtual machine, data for all disks that have not been set to be independent from the snapshot (including ones that have been attached via the [attach][docs-vsphere-virtual-machine-disk-attach] parameter to the `.VirtualMachine` `disk` block), and even the configuration of the virtual machine at the time of the snapshot. Virtual machine, disk activity, and configuration changes post-snapshot are not included in the original state. Use this resource with care! Neither VMware nor HashiCorp recommends retaining snapshots for a extended period of time and does NOT recommend using them as as backup feature. For more information on the limitation of virtual machine snapshots, see [here][ext-vm-snap-limitations].

[docs-vsphere-virtual-machine-disk-attach]: /docs/providers/vsphere/r/virtual_machine.html#attach [ext-vm-snap-limitations]: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-53F65726-A23B-4CF0-A7D5-48E584B88613.html

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/virtual_machine_snapshot.html.markdown.

func GetVirtualMachineSnapshot

func GetVirtualMachineSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualMachineSnapshotState, opts ...pulumi.ResourceOption) (*VirtualMachineSnapshot, error)

GetVirtualMachineSnapshot gets an existing VirtualMachineSnapshot resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVirtualMachineSnapshot

func NewVirtualMachineSnapshot(ctx *pulumi.Context,
	name string, args *VirtualMachineSnapshotArgs, opts ...pulumi.ResourceOption) (*VirtualMachineSnapshot, error)

NewVirtualMachineSnapshot registers a new resource with the given unique name, arguments, and options.

type VirtualMachineSnapshotArgs

type VirtualMachineSnapshotArgs struct {
	// If set to `true`, the delta disks involved in this
	// snapshot will be consolidated into the parent when this resource is
	// destroyed.
	Consolidate pulumi.BoolPtrInput
	// A description for the snapshot.
	Description pulumi.StringInput
	// If set to `true`, a dump of the internal state of the
	// virtual machine is included in the snapshot.
	Memory pulumi.BoolInput
	// If set to `true`, and the virtual machine is powered
	// on when the snapshot is taken, VMware Tools is used to quiesce the file
	// system in the virtual machine.
	Quiesce pulumi.BoolInput
	// If set to `true`, the entire snapshot subtree
	// is removed when this resource is destroyed.
	RemoveChildren pulumi.BoolPtrInput
	// The name of the snapshot.
	SnapshotName pulumi.StringInput
	// The virtual machine UUID.
	VirtualMachineUuid pulumi.StringInput
}

The set of arguments for constructing a VirtualMachineSnapshot resource.

func (VirtualMachineSnapshotArgs) ElementType added in v1.5.0

func (VirtualMachineSnapshotArgs) ElementType() reflect.Type

type VirtualMachineSnapshotState

type VirtualMachineSnapshotState struct {
	// If set to `true`, the delta disks involved in this
	// snapshot will be consolidated into the parent when this resource is
	// destroyed.
	Consolidate pulumi.BoolPtrInput
	// A description for the snapshot.
	Description pulumi.StringPtrInput
	// If set to `true`, a dump of the internal state of the
	// virtual machine is included in the snapshot.
	Memory pulumi.BoolPtrInput
	// If set to `true`, and the virtual machine is powered
	// on when the snapshot is taken, VMware Tools is used to quiesce the file
	// system in the virtual machine.
	Quiesce pulumi.BoolPtrInput
	// If set to `true`, the entire snapshot subtree
	// is removed when this resource is destroyed.
	RemoveChildren pulumi.BoolPtrInput
	// The name of the snapshot.
	SnapshotName pulumi.StringPtrInput
	// The virtual machine UUID.
	VirtualMachineUuid pulumi.StringPtrInput
}

func (VirtualMachineSnapshotState) ElementType added in v1.5.0

type VirtualMachineState

type VirtualMachineState struct {
	// The guest name for the operating system
	// when `guestId` is `other` or `other-64`.
	AlternateGuestName pulumi.StringPtrInput
	// A user-provided description of the virtual machine.
	// The default is no annotation.
	Annotation pulumi.StringPtrInput
	// The number of milliseconds to wait before starting
	// the boot sequence. The default is no delay.
	BootDelay pulumi.IntPtrInput
	// The number of milliseconds to wait before
	// retrying the boot sequence. This only valid if `bootRetryEnabled` is true.
	// Default: `10000` (10 seconds).
	BootRetryDelay pulumi.IntPtrInput
	// If set to true, a virtual machine that
	// fails to boot will try again after the delay defined in `bootRetryDelay`.
	// Default: `false`.
	BootRetryEnabled pulumi.BoolPtrInput
	// A specification for a CDROM device on this virtual
	// machine. See CDROM options below.
	Cdrom VirtualMachineCdromPtrInput
	// A unique identifier for a given version of the last
	// configuration applied, such the timestamp of the last update to the
	// configuration.
	ChangeVersion pulumi.StringPtrInput
	// When specified, the VM will be created as a clone of a
	// specified template. Optional customization options can be submitted as well.
	// See creating a virtual machine from a
	// template for more details.
	Clone VirtualMachineClonePtrInput
	// Allow CPUs to be added to this virtual
	// machine while it is running.
	CpuHotAddEnabled pulumi.BoolPtrInput
	// Allow CPUs to be removed to this
	// virtual machine while it is running.
	CpuHotRemoveEnabled pulumi.BoolPtrInput
	// The maximum amount of CPU (in MHz) that this virtual
	// machine can consume, regardless of available resources. The default is no
	// limit.
	CpuLimit pulumi.IntPtrInput
	// Enable CPU performance
	// counters on this virtual machine. Default: `false`.
	CpuPerformanceCountersEnabled pulumi.BoolPtrInput
	// The amount of CPU (in MHz) that this virtual
	// machine is guaranteed. The default is no reservation.
	CpuReservation pulumi.IntPtrInput
	// The number of CPU shares allocated to the
	// virtual machine when the `cpuShareLevel` is `custom`.
	CpuShareCount pulumi.IntPtrInput
	// The allocation level for CPU resources. Can be
	// one of `high`, `low`, `normal`, or `custom`. Default: `custom`.
	CpuShareLevel pulumi.StringPtrInput
	// Map of custom attribute ids to attribute
	// value strings to set for virtual machine. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object reference
	// ID][docs-about-morefs] of the datastore cluster ID to use. This setting
	// applies to entire virtual machine and implies that you wish to use Storage
	// DRS with this virtual machine. See the section on virtual machine
	// migration for details on changing this value.
	DatastoreClusterId pulumi.StringPtrInput
	// The datastore ID that the ISO is located in.
	// Requried for using a datastore ISO. Conflicts with `clientDevice`.
	DatastoreId pulumi.StringPtrInput
	// The IP address selected by Terraform to be used for the provisioner.
	DefaultIpAddress pulumi.StringPtrInput
	// A specification for a virtual disk device on this virtual
	// machine. See disk options below.
	Disks VirtualMachineDiskArrayInput
	// When the `firmware` type is set to is
	// `efi`, this enables EFI secure boot. Default: `false`.
	EfiSecureBootEnabled pulumi.BoolPtrInput
	// Expose the UUIDs of attached virtual disks to
	// the virtual machine, allowing access to them in the guest. Default: `false`.
	EnableDiskUuid pulumi.BoolPtrInput
	// Enable logging of virtual machine events to a
	// log file stored in the virtual machine directory. Default: `false`.
	EnableLogging pulumi.BoolPtrInput
	// The EPT/RVI (hardware memory virtualization)
	// setting for this virtual machine. Can be one of `automatic`, `on`, or `off`.
	// Default: `automatic`.
	EptRviMode pulumi.StringPtrInput
	// Extra configuration data for this virtual
	// machine. Can be used to supply advanced parameters not normally in
	// configuration, such as instance metadata.
	ExtraConfig pulumi.StringMapInput
	// The firmware interface to use on the virtual machine.
	// Can be one of `bios` or `EFI`. Default: `bios`.
	Firmware pulumi.StringPtrInput
	// The path to the folder to put this virtual machine in,
	// relative to the datacenter that the resource pool is in.
	Folder pulumi.StringPtrInput
	// If a guest shutdown failed or timed out while
	// updating or destroying (see
	// `shutdownWaitTimeout`), force the power-off of
	// the virtual machine. Default: `true`.
	ForcePowerOff pulumi.BoolPtrInput
	// The guest ID for the operating system type. For a
	// full list of possible values, see [here][vmware-docs-guest-ids]. Default: `other-64`.
	GuestId pulumi.StringPtrInput
	// The current list of IP addresses on this machine,
	// including the value of `defaultIpAddress`. If VMware tools is not running
	// on the virtual machine, or if the VM is powered off, this list will be empty.
	// * `moid`: The [managed object reference ID][docs-about-morefs] of the created
	// virtual machine.
	GuestIpAddresses pulumi.StringArrayInput
	// An optional [managed object reference
	// ID][docs-about-morefs] of a host to put this virtual machine on. See the
	// section on virtual machine migration for
	// details on changing this value. If a `hostSystemId` is not supplied,
	// vSphere will select a host in the resource pool to place the virtual machine,
	// according to any defaults or DRS policies in place.
	HostSystemId pulumi.StringPtrInput
	// The (non-nested) hardware virtualization setting for
	// this virtual machine. Can be one of `hvAuto`, `hvOn`, or `hvOff`. Default:
	// `hvAuto`.
	HvMode pulumi.StringPtrInput
	// List of IP addresses and CIDR networks to
	// ignore while waiting for an available IP address using either of the waiters.
	// Any IP addresses in this list will be ignored if they show up so that the
	// waiter will continue to wait for a real IP address. Default: [].
	IgnoredGuestIps pulumi.StringArrayInput
	// This is flagged if the virtual machine has been imported, or the
	// state has been migrated from a previous version of the resource. It
	// influences the behavior of the first post-import apply operation. See the
	// section on importing below.
	Imported pulumi.BoolPtrInput
	// Controls the scheduling delay of the
	// virtual machine. Use a higher sensitivity for applications that require lower
	// latency, such as VOIP, media player applications, or applications that
	// require frequent access to mouse or keyboard devices. Can be one of `low`,
	// `normal`, `medium`, or `high`.
	LatencySensitivity pulumi.StringPtrInput
	// The size of the virtual machine's memory, in MB.
	// Default: `1024` (1 GB).
	Memory pulumi.IntPtrInput
	// Allow memory to be added to this
	// virtual machine while it is running.
	MemoryHotAddEnabled pulumi.BoolPtrInput
	// The maximum amount of memory (in MB) that this
	// virtual machine can consume, regardless of available resources. The default
	// is no limit.
	MemoryLimit pulumi.IntPtrInput
	// The amount of memory (in MB) that this
	// virtual machine is guaranteed. The default is no reservation.
	MemoryReservation pulumi.IntPtrInput
	// The number of memory shares allocated to
	// the virtual machine when the `memoryShareLevel` is `custom`.
	MemoryShareCount pulumi.IntPtrInput
	// The allocation level for memory resources.
	// Can be one of `high`, `low`, `normal`, or `custom`. Default: `custom`.
	MemoryShareLevel pulumi.StringPtrInput
	// The amount of time, in minutes, to wait
	// for a virtual machine migration to complete before failing. Default: 10
	// minutes. Also see the section on virtual machine
	// migration.
	MigrateWaitTimeout pulumi.IntPtrInput
	// The machine object ID from VMWare
	Moid pulumi.StringPtrInput
	// An alias for both `label` and `path`, the latter when
	// using `attach`. Required if not using `label`.
	Name pulumi.StringPtrInput
	// Enable nested hardware virtualization on
	// this virtual machine, facilitating nested virtualization in the guest.
	// Default: `false`.
	NestedHvEnabled pulumi.BoolPtrInput
	// A specification for a virtual NIC on this
	// virtual machine. See network interface options
	// below.
	NetworkInterfaces VirtualMachineNetworkInterfaceArrayInput
	// The number of cores per socket in this
	// virtual machine. The number of vCPUs on the virtual machine will be
	// `numCpus` divided by `numCoresPerSocket`. If specified, the value
	// supplied to `numCpus` must be evenly divisible by this value. Default: `1`.
	NumCoresPerSocket pulumi.IntPtrInput
	// The total number of virtual processor cores to assign
	// to this virtual machine. Default: `1`.
	NumCpus pulumi.IntPtrInput
	// The amount of time, in seconds, that we will be trying to power on a VM
	PoweronTimeout pulumi.IntPtrInput
	// Value internal to Terraform used to determine if a configuration set change requires a reboot.
	RebootRequired pulumi.BoolPtrInput
	// The [managed object reference
	// ID][docs-about-morefs] of the resource pool to put this virtual machine in.
	// See the section on virtual machine migration
	// for details on changing this value.
	ResourcePoolId pulumi.StringPtrInput
	// Enable the execution of
	// post-power-on scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsAfterPowerOn pulumi.BoolPtrInput
	// Enable the execution of
	// post-resume scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsAfterResume pulumi.BoolPtrInput
	// Enable the execution of
	// pre-reboot scripts when VMware tools is installed. Default: `false`.
	RunToolsScriptsBeforeGuestReboot pulumi.BoolPtrInput
	// Enable the execution
	// of pre-shutdown scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsBeforeGuestShutdown pulumi.BoolPtrInput
	// Enable the execution of
	// pre-standby scripts when VMware tools is installed. Default: `true`.
	RunToolsScriptsBeforeGuestStandby pulumi.BoolPtrInput
	// Mode for sharing the SCSI bus. The modes are
	// physicalSharing, virtualSharing, and noSharing. Default: `noSharing`.
	ScsiBusSharing pulumi.StringPtrInput
	// The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
	// you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
	// controllers.
	ScsiControllerCount pulumi.IntPtrInput
	// The type of SCSI bus this virtual machine will have.
	// Can be one of lsilogic (LSI Logic Parallel), lsilogic-sas (LSI Logic SAS) or
	// pvscsi (VMware Paravirtual). Defualt: `pvscsi`.
	ScsiType pulumi.StringPtrInput
	// The amount of time, in minutes, to wait
	// for a graceful guest shutdown when making necessary updates to the virtual
	// machine. If `forcePowerOff` is set to true, the VM will be force powered-off
	// after this timeout, otherwise an error is returned. Default: 3 minutes.
	ShutdownWaitTimeout pulumi.IntPtrInput
	// The UUID of the storage policy to assign to this disk.
	StoragePolicyId pulumi.StringPtrInput
	// The swap file placement policy for this
	// virtual machine. Can be one of `inherit`, `hostLocal`, or `vmDirectory`.
	// Default: `inherit`.
	SwapPlacementPolicy pulumi.StringPtrInput
	// Enable guest clock synchronization with
	// the host. Requires VMware tools to be installed. Default: `false`.
	SyncTimeWithHost pulumi.BoolPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// The UUID of the virtual disk's VMDK file. This is used to track the
	// virtual disk on the virtual machine.
	Uuid pulumi.StringPtrInput
	// Optional vApp configuration. The only sub-key available
	// is `properties`, which is a key/value map of properties for virtual machines
	// imported from OVF or OVA files. See Using vApp properties to supply OVF/OVA
	// configuration for
	// more details.
	Vapp VirtualMachineVappPtrInput
	// Computed value which is only valid for cloned virtual
	// machines. A list of vApp transport methods supported by the source virtual
	// machine or template.
	VappTransports pulumi.StringArrayInput
	// The state of VMware tools in the guest. This will
	// determine the proper course of action for some device operations.
	VmwareToolsStatus pulumi.StringPtrInput
	// The path of the virtual machine's configuration file in the VM's
	// datastore.
	VmxPath pulumi.StringPtrInput
	// The amount of time, in minutes, to
	// wait for an available guest IP address on this virtual machine. This should
	// only be used if your version of VMware Tools does not allow the
	// `waitForGuestNetTimeout` waiter to be
	// used. A value less than 1 disables the waiter. Default: 0.
	WaitForGuestIpTimeout pulumi.IntPtrInput
	// Controls whether or not the guest
	// network waiter waits for a routable address. When `false`, the waiter does
	// not wait for a default gateway, nor are IP addresses checked against any
	// discovered default gateways as part of its success criteria. This property is
	// ignored if the `waitForGuestIpTimeout`
	// waiter is used. Default: `true`.
	WaitForGuestNetRoutable pulumi.BoolPtrInput
	// The amount of time, in minutes, to
	// wait for an available IP address on this virtual machine's NICs. Older
	// versions of VMware Tools do not populate this property. In those cases, this
	// waiter can be disabled and the
	// `waitForGuestIpTimeout` waiter can be used
	// instead. A value less than 1 disables the waiter. Default: 5 minutes.
	WaitForGuestNetTimeout pulumi.IntPtrInput
}

func (VirtualMachineState) ElementType added in v1.5.0

func (VirtualMachineState) ElementType() reflect.Type

type VirtualMachineVapp added in v1.5.0

type VirtualMachineVapp struct {
	Properties map[string]string `pulumi:"properties"`
}

type VirtualMachineVappArgs added in v1.5.0

type VirtualMachineVappArgs struct {
	Properties pulumi.StringMapInput `pulumi:"properties"`
}

func (VirtualMachineVappArgs) ElementType added in v1.5.0

func (VirtualMachineVappArgs) ElementType() reflect.Type

func (VirtualMachineVappArgs) ToVirtualMachineVappOutput added in v1.5.0

func (i VirtualMachineVappArgs) ToVirtualMachineVappOutput() VirtualMachineVappOutput

func (VirtualMachineVappArgs) ToVirtualMachineVappOutputWithContext added in v1.5.0

func (i VirtualMachineVappArgs) ToVirtualMachineVappOutputWithContext(ctx context.Context) VirtualMachineVappOutput

func (VirtualMachineVappArgs) ToVirtualMachineVappPtrOutput added in v1.5.0

func (i VirtualMachineVappArgs) ToVirtualMachineVappPtrOutput() VirtualMachineVappPtrOutput

func (VirtualMachineVappArgs) ToVirtualMachineVappPtrOutputWithContext added in v1.5.0

func (i VirtualMachineVappArgs) ToVirtualMachineVappPtrOutputWithContext(ctx context.Context) VirtualMachineVappPtrOutput

type VirtualMachineVappInput added in v1.5.0

type VirtualMachineVappInput interface {
	pulumi.Input

	ToVirtualMachineVappOutput() VirtualMachineVappOutput
	ToVirtualMachineVappOutputWithContext(context.Context) VirtualMachineVappOutput
}

type VirtualMachineVappOutput added in v1.5.0

type VirtualMachineVappOutput struct{ *pulumi.OutputState }

func (VirtualMachineVappOutput) ElementType added in v1.5.0

func (VirtualMachineVappOutput) ElementType() reflect.Type

func (VirtualMachineVappOutput) Properties added in v1.5.0

func (VirtualMachineVappOutput) ToVirtualMachineVappOutput added in v1.5.0

func (o VirtualMachineVappOutput) ToVirtualMachineVappOutput() VirtualMachineVappOutput

func (VirtualMachineVappOutput) ToVirtualMachineVappOutputWithContext added in v1.5.0

func (o VirtualMachineVappOutput) ToVirtualMachineVappOutputWithContext(ctx context.Context) VirtualMachineVappOutput

func (VirtualMachineVappOutput) ToVirtualMachineVappPtrOutput added in v1.5.0

func (o VirtualMachineVappOutput) ToVirtualMachineVappPtrOutput() VirtualMachineVappPtrOutput

func (VirtualMachineVappOutput) ToVirtualMachineVappPtrOutputWithContext added in v1.5.0

func (o VirtualMachineVappOutput) ToVirtualMachineVappPtrOutputWithContext(ctx context.Context) VirtualMachineVappPtrOutput

type VirtualMachineVappPtrInput added in v1.5.0

type VirtualMachineVappPtrInput interface {
	pulumi.Input

	ToVirtualMachineVappPtrOutput() VirtualMachineVappPtrOutput
	ToVirtualMachineVappPtrOutputWithContext(context.Context) VirtualMachineVappPtrOutput
}

func VirtualMachineVappPtr added in v1.5.0

func VirtualMachineVappPtr(v *VirtualMachineVappArgs) VirtualMachineVappPtrInput

type VirtualMachineVappPtrOutput added in v1.5.0

type VirtualMachineVappPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineVappPtrOutput) Elem added in v1.5.0

func (VirtualMachineVappPtrOutput) ElementType added in v1.5.0

func (VirtualMachineVappPtrOutput) Properties added in v1.5.0

func (VirtualMachineVappPtrOutput) ToVirtualMachineVappPtrOutput added in v1.5.0

func (o VirtualMachineVappPtrOutput) ToVirtualMachineVappPtrOutput() VirtualMachineVappPtrOutput

func (VirtualMachineVappPtrOutput) ToVirtualMachineVappPtrOutputWithContext added in v1.5.0

func (o VirtualMachineVappPtrOutput) ToVirtualMachineVappPtrOutputWithContext(ctx context.Context) VirtualMachineVappPtrOutput

type VmfsDatastore

type VmfsDatastore struct {
	pulumi.CustomResourceState

	// The connectivity status of the datastore. If this is `false`,
	// some other computed attributes may be out of date.
	Accessible pulumi.BoolOutput `pulumi:"accessible"`
	// Maximum capacity of the datastore, in megabytes.
	Capacity pulumi.IntOutput `pulumi:"capacity"`
	// Map of custom attribute ids to attribute
	// value string to set on datastore resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// The [managed object
	// ID][docs-about-morefs] of a datastore cluster to put this datastore in.
	// Conflicts with `folder`.
	DatastoreClusterId pulumi.StringPtrOutput `pulumi:"datastoreClusterId"`
	// The disks to use with the datastore.
	Disks pulumi.StringArrayOutput `pulumi:"disks"`
	// The path to the datastore folder to put the datastore in.
	Folder pulumi.StringPtrOutput `pulumi:"folder"`
	// Available space of this datastore, in megabytes.
	FreeSpace pulumi.IntOutput `pulumi:"freeSpace"`
	// The [managed object ID][docs-about-morefs] of
	// the host to set the datastore up on. Note that this is not necessarily the
	// only host that the datastore will be set up on - see
	// here for more info. Forces a
	// new resource if changed.
	HostSystemId pulumi.StringOutput `pulumi:"hostSystemId"`
	// The current maintenance mode state of the datastore.
	MaintenanceMode pulumi.StringOutput `pulumi:"maintenanceMode"`
	// If `true`, more than one host in the datacenter has
	// been configured with access to the datastore.
	MultipleHostAccess pulumi.BoolOutput `pulumi:"multipleHostAccess"`
	// The name of the datastore. Forces a new resource if
	// changed.
	Name pulumi.StringOutput `pulumi:"name"`
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// Total additional storage space, in megabytes,
	// potentially used by all virtual machines on this datastore.
	UncommittedSpace pulumi.IntOutput `pulumi:"uncommittedSpace"`
	// The unique locator for the datastore.
	Url pulumi.StringOutput `pulumi:"url"`
}

func GetVmfsDatastore

func GetVmfsDatastore(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VmfsDatastoreState, opts ...pulumi.ResourceOption) (*VmfsDatastore, error)

GetVmfsDatastore gets an existing VmfsDatastore resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVmfsDatastore

func NewVmfsDatastore(ctx *pulumi.Context,
	name string, args *VmfsDatastoreArgs, opts ...pulumi.ResourceOption) (*VmfsDatastore, error)

NewVmfsDatastore registers a new resource with the given unique name, arguments, and options.

type VmfsDatastoreArgs

type VmfsDatastoreArgs struct {
	// Map of custom attribute ids to attribute
	// value string to set on datastore resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object
	// ID][docs-about-morefs] of a datastore cluster to put this datastore in.
	// Conflicts with `folder`.
	DatastoreClusterId pulumi.StringPtrInput
	// The disks to use with the datastore.
	Disks pulumi.StringArrayInput
	// The path to the datastore folder to put the datastore in.
	Folder pulumi.StringPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the host to set the datastore up on. Note that this is not necessarily the
	// only host that the datastore will be set up on - see
	// here for more info. Forces a
	// new resource if changed.
	HostSystemId pulumi.StringInput
	// The name of the datastore. Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a VmfsDatastore resource.

func (VmfsDatastoreArgs) ElementType added in v1.5.0

func (VmfsDatastoreArgs) ElementType() reflect.Type

type VmfsDatastoreState

type VmfsDatastoreState struct {
	// The connectivity status of the datastore. If this is `false`,
	// some other computed attributes may be out of date.
	Accessible pulumi.BoolPtrInput
	// Maximum capacity of the datastore, in megabytes.
	Capacity pulumi.IntPtrInput
	// Map of custom attribute ids to attribute
	// value string to set on datastore resource. See
	// [here][docs-setting-custom-attributes] for a reference on how to set values
	// for custom attributes.
	CustomAttributes pulumi.StringMapInput
	// The [managed object
	// ID][docs-about-morefs] of a datastore cluster to put this datastore in.
	// Conflicts with `folder`.
	DatastoreClusterId pulumi.StringPtrInput
	// The disks to use with the datastore.
	Disks pulumi.StringArrayInput
	// The path to the datastore folder to put the datastore in.
	Folder pulumi.StringPtrInput
	// Available space of this datastore, in megabytes.
	FreeSpace pulumi.IntPtrInput
	// The [managed object ID][docs-about-morefs] of
	// the host to set the datastore up on. Note that this is not necessarily the
	// only host that the datastore will be set up on - see
	// here for more info. Forces a
	// new resource if changed.
	HostSystemId pulumi.StringPtrInput
	// The current maintenance mode state of the datastore.
	MaintenanceMode pulumi.StringPtrInput
	// If `true`, more than one host in the datacenter has
	// been configured with access to the datastore.
	MultipleHostAccess pulumi.BoolPtrInput
	// The name of the datastore. Forces a new resource if
	// changed.
	Name pulumi.StringPtrInput
	// The IDs of any tags to attach to this resource. See
	// [here][docs-applying-tags] for a reference on how to apply tags.
	Tags pulumi.StringArrayInput
	// Total additional storage space, in megabytes,
	// potentially used by all virtual machines on this datastore.
	UncommittedSpace pulumi.IntPtrInput
	// The unique locator for the datastore.
	Url pulumi.StringPtrInput
}

func (VmfsDatastoreState) ElementType added in v1.5.0

func (VmfsDatastoreState) ElementType() reflect.Type

type Vnic added in v1.3.0

type Vnic struct {
	pulumi.CustomResourceState

	// Key of the distributed portgroup the nic will connect to.
	DistributedPortGroup pulumi.StringPtrOutput `pulumi:"distributedPortGroup"`
	// UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
	DistributedSwitchPort pulumi.StringPtrOutput `pulumi:"distributedSwitchPort"`
	// ESX host the interface belongs to
	Host pulumi.StringOutput `pulumi:"host"`
	// IPv4 settings. Either this or `ipv6` needs to be set. See  ipv4 options below.
	Ipv4 VnicIpv4PtrOutput `pulumi:"ipv4"`
	// IPv6 settings. Either this or `ipv6` needs to be set. See  ipv6 options below.
	Ipv6 VnicIpv6PtrOutput `pulumi:"ipv6"`
	// MAC address of the interface.
	Mac pulumi.StringOutput `pulumi:"mac"`
	// MTU of the interface.
	Mtu pulumi.IntOutput `pulumi:"mtu"`
	// TCP/IP stack setting for this interface. Possible values are 'defaultTcpipStack', 'vmotion', 'vSphereProvisioning'. Changing this will force the creation of a new interface since it's not possible to change the stack once it gets created. (Default: `defaultTcpipStack`)
	Netstack pulumi.StringPtrOutput `pulumi:"netstack"`
	// Portgroup to attach the nic to. Do not set if you set distributed_switch_port.
	Portgroup pulumi.StringPtrOutput `pulumi:"portgroup"`
}

Provides a VMware vSphere vnic resource.

> This content is derived from https://github.com/terraform-providers/terraform-provider-vsphere/blob/master/website/docs/r/vnic.html.markdown.

func GetVnic added in v1.3.0

func GetVnic(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VnicState, opts ...pulumi.ResourceOption) (*Vnic, error)

GetVnic gets an existing Vnic resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVnic added in v1.3.0

func NewVnic(ctx *pulumi.Context,
	name string, args *VnicArgs, opts ...pulumi.ResourceOption) (*Vnic, error)

NewVnic registers a new resource with the given unique name, arguments, and options.

type VnicArgs added in v1.3.0

type VnicArgs struct {
	// Key of the distributed portgroup the nic will connect to.
	DistributedPortGroup pulumi.StringPtrInput
	// UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
	DistributedSwitchPort pulumi.StringPtrInput
	// ESX host the interface belongs to
	Host pulumi.StringInput
	// IPv4 settings. Either this or `ipv6` needs to be set. See  ipv4 options below.
	Ipv4 VnicIpv4PtrInput
	// IPv6 settings. Either this or `ipv6` needs to be set. See  ipv6 options below.
	Ipv6 VnicIpv6PtrInput
	// MAC address of the interface.
	Mac pulumi.StringPtrInput
	// MTU of the interface.
	Mtu pulumi.IntPtrInput
	// TCP/IP stack setting for this interface. Possible values are 'defaultTcpipStack', 'vmotion', 'vSphereProvisioning'. Changing this will force the creation of a new interface since it's not possible to change the stack once it gets created. (Default: `defaultTcpipStack`)
	Netstack pulumi.StringPtrInput
	// Portgroup to attach the nic to. Do not set if you set distributed_switch_port.
	Portgroup pulumi.StringPtrInput
}

The set of arguments for constructing a Vnic resource.

func (VnicArgs) ElementType added in v1.5.0

func (VnicArgs) ElementType() reflect.Type

type VnicIpv4 added in v1.5.0

type VnicIpv4 struct {
	// Use DHCP to configure the interface's IPv4 stack.
	Dhcp *bool `pulumi:"dhcp"`
	// IP address of the default gateway, if DHCP or autoconfig is not set.
	Gw *string `pulumi:"gw"`
	// Address of the interface, if DHCP is not set.
	Ip *string `pulumi:"ip"`
	// Netmask of the interface, if DHCP is not set.
	Netmask *string `pulumi:"netmask"`
}

type VnicIpv4Args added in v1.5.0

type VnicIpv4Args struct {
	// Use DHCP to configure the interface's IPv4 stack.
	Dhcp pulumi.BoolPtrInput `pulumi:"dhcp"`
	// IP address of the default gateway, if DHCP or autoconfig is not set.
	Gw pulumi.StringPtrInput `pulumi:"gw"`
	// Address of the interface, if DHCP is not set.
	Ip pulumi.StringPtrInput `pulumi:"ip"`
	// Netmask of the interface, if DHCP is not set.
	Netmask pulumi.StringPtrInput `pulumi:"netmask"`
}

func (VnicIpv4Args) ElementType added in v1.5.0

func (VnicIpv4Args) ElementType() reflect.Type

func (VnicIpv4Args) ToVnicIpv4Output added in v1.5.0

func (i VnicIpv4Args) ToVnicIpv4Output() VnicIpv4Output

func (VnicIpv4Args) ToVnicIpv4OutputWithContext added in v1.5.0

func (i VnicIpv4Args) ToVnicIpv4OutputWithContext(ctx context.Context) VnicIpv4Output

func (VnicIpv4Args) ToVnicIpv4PtrOutput added in v1.5.0

func (i VnicIpv4Args) ToVnicIpv4PtrOutput() VnicIpv4PtrOutput

func (VnicIpv4Args) ToVnicIpv4PtrOutputWithContext added in v1.5.0

func (i VnicIpv4Args) ToVnicIpv4PtrOutputWithContext(ctx context.Context) VnicIpv4PtrOutput

type VnicIpv4Input added in v1.5.0

type VnicIpv4Input interface {
	pulumi.Input

	ToVnicIpv4Output() VnicIpv4Output
	ToVnicIpv4OutputWithContext(context.Context) VnicIpv4Output
}

type VnicIpv4Output added in v1.5.0

type VnicIpv4Output struct{ *pulumi.OutputState }

func (VnicIpv4Output) Dhcp added in v1.5.0

Use DHCP to configure the interface's IPv4 stack.

func (VnicIpv4Output) ElementType added in v1.5.0

func (VnicIpv4Output) ElementType() reflect.Type

func (VnicIpv4Output) Gw added in v1.5.0

IP address of the default gateway, if DHCP or autoconfig is not set.

func (VnicIpv4Output) Ip added in v1.5.0

Address of the interface, if DHCP is not set.

func (VnicIpv4Output) Netmask added in v1.5.0

Netmask of the interface, if DHCP is not set.

func (VnicIpv4Output) ToVnicIpv4Output added in v1.5.0

func (o VnicIpv4Output) ToVnicIpv4Output() VnicIpv4Output

func (VnicIpv4Output) ToVnicIpv4OutputWithContext added in v1.5.0

func (o VnicIpv4Output) ToVnicIpv4OutputWithContext(ctx context.Context) VnicIpv4Output

func (VnicIpv4Output) ToVnicIpv4PtrOutput added in v1.5.0

func (o VnicIpv4Output) ToVnicIpv4PtrOutput() VnicIpv4PtrOutput

func (VnicIpv4Output) ToVnicIpv4PtrOutputWithContext added in v1.5.0

func (o VnicIpv4Output) ToVnicIpv4PtrOutputWithContext(ctx context.Context) VnicIpv4PtrOutput

type VnicIpv4PtrInput added in v1.5.0

type VnicIpv4PtrInput interface {
	pulumi.Input

	ToVnicIpv4PtrOutput() VnicIpv4PtrOutput
	ToVnicIpv4PtrOutputWithContext(context.Context) VnicIpv4PtrOutput
}

func VnicIpv4Ptr added in v1.5.0

func VnicIpv4Ptr(v *VnicIpv4Args) VnicIpv4PtrInput

type VnicIpv4PtrOutput added in v1.5.0

type VnicIpv4PtrOutput struct{ *pulumi.OutputState }

func (VnicIpv4PtrOutput) Dhcp added in v1.5.0

Use DHCP to configure the interface's IPv4 stack.

func (VnicIpv4PtrOutput) Elem added in v1.5.0

func (VnicIpv4PtrOutput) ElementType added in v1.5.0

func (VnicIpv4PtrOutput) ElementType() reflect.Type

func (VnicIpv4PtrOutput) Gw added in v1.5.0

IP address of the default gateway, if DHCP or autoconfig is not set.

func (VnicIpv4PtrOutput) Ip added in v1.5.0

Address of the interface, if DHCP is not set.

func (VnicIpv4PtrOutput) Netmask added in v1.5.0

Netmask of the interface, if DHCP is not set.

func (VnicIpv4PtrOutput) ToVnicIpv4PtrOutput added in v1.5.0

func (o VnicIpv4PtrOutput) ToVnicIpv4PtrOutput() VnicIpv4PtrOutput

func (VnicIpv4PtrOutput) ToVnicIpv4PtrOutputWithContext added in v1.5.0

func (o VnicIpv4PtrOutput) ToVnicIpv4PtrOutputWithContext(ctx context.Context) VnicIpv4PtrOutput

type VnicIpv6 added in v1.5.0

type VnicIpv6 struct {
	// List of IPv6 addresses
	Addresses []string `pulumi:"addresses"`
	// Use IPv6 Autoconfiguration (RFC2462).
	Autoconfig *bool `pulumi:"autoconfig"`
	// Use DHCP to configure the interface's IPv4 stack.
	Dhcp *bool `pulumi:"dhcp"`
	// IP address of the default gateway, if DHCP or autoconfig is not set.
	Gw *string `pulumi:"gw"`
}

type VnicIpv6Args added in v1.5.0

type VnicIpv6Args struct {
	// List of IPv6 addresses
	Addresses pulumi.StringArrayInput `pulumi:"addresses"`
	// Use IPv6 Autoconfiguration (RFC2462).
	Autoconfig pulumi.BoolPtrInput `pulumi:"autoconfig"`
	// Use DHCP to configure the interface's IPv4 stack.
	Dhcp pulumi.BoolPtrInput `pulumi:"dhcp"`
	// IP address of the default gateway, if DHCP or autoconfig is not set.
	Gw pulumi.StringPtrInput `pulumi:"gw"`
}

func (VnicIpv6Args) ElementType added in v1.5.0

func (VnicIpv6Args) ElementType() reflect.Type

func (VnicIpv6Args) ToVnicIpv6Output added in v1.5.0

func (i VnicIpv6Args) ToVnicIpv6Output() VnicIpv6Output

func (VnicIpv6Args) ToVnicIpv6OutputWithContext added in v1.5.0

func (i VnicIpv6Args) ToVnicIpv6OutputWithContext(ctx context.Context) VnicIpv6Output

func (VnicIpv6Args) ToVnicIpv6PtrOutput added in v1.5.0

func (i VnicIpv6Args) ToVnicIpv6PtrOutput() VnicIpv6PtrOutput

func (VnicIpv6Args) ToVnicIpv6PtrOutputWithContext added in v1.5.0

func (i VnicIpv6Args) ToVnicIpv6PtrOutputWithContext(ctx context.Context) VnicIpv6PtrOutput

type VnicIpv6Input added in v1.5.0

type VnicIpv6Input interface {
	pulumi.Input

	ToVnicIpv6Output() VnicIpv6Output
	ToVnicIpv6OutputWithContext(context.Context) VnicIpv6Output
}

type VnicIpv6Output added in v1.5.0

type VnicIpv6Output struct{ *pulumi.OutputState }

func (VnicIpv6Output) Addresses added in v1.5.0

func (o VnicIpv6Output) Addresses() pulumi.StringArrayOutput

List of IPv6 addresses

func (VnicIpv6Output) Autoconfig added in v1.5.0

func (o VnicIpv6Output) Autoconfig() pulumi.BoolPtrOutput

Use IPv6 Autoconfiguration (RFC2462).

func (VnicIpv6Output) Dhcp added in v1.5.0

Use DHCP to configure the interface's IPv4 stack.

func (VnicIpv6Output) ElementType added in v1.5.0

func (VnicIpv6Output) ElementType() reflect.Type

func (VnicIpv6Output) Gw added in v1.5.0

IP address of the default gateway, if DHCP or autoconfig is not set.

func (VnicIpv6Output) ToVnicIpv6Output added in v1.5.0

func (o VnicIpv6Output) ToVnicIpv6Output() VnicIpv6Output

func (VnicIpv6Output) ToVnicIpv6OutputWithContext added in v1.5.0

func (o VnicIpv6Output) ToVnicIpv6OutputWithContext(ctx context.Context) VnicIpv6Output

func (VnicIpv6Output) ToVnicIpv6PtrOutput added in v1.5.0

func (o VnicIpv6Output) ToVnicIpv6PtrOutput() VnicIpv6PtrOutput

func (VnicIpv6Output) ToVnicIpv6PtrOutputWithContext added in v1.5.0

func (o VnicIpv6Output) ToVnicIpv6PtrOutputWithContext(ctx context.Context) VnicIpv6PtrOutput

type VnicIpv6PtrInput added in v1.5.0

type VnicIpv6PtrInput interface {
	pulumi.Input

	ToVnicIpv6PtrOutput() VnicIpv6PtrOutput
	ToVnicIpv6PtrOutputWithContext(context.Context) VnicIpv6PtrOutput
}

func VnicIpv6Ptr added in v1.5.0

func VnicIpv6Ptr(v *VnicIpv6Args) VnicIpv6PtrInput

type VnicIpv6PtrOutput added in v1.5.0

type VnicIpv6PtrOutput struct{ *pulumi.OutputState }

func (VnicIpv6PtrOutput) Addresses added in v1.5.0

List of IPv6 addresses

func (VnicIpv6PtrOutput) Autoconfig added in v1.5.0

func (o VnicIpv6PtrOutput) Autoconfig() pulumi.BoolPtrOutput

Use IPv6 Autoconfiguration (RFC2462).

func (VnicIpv6PtrOutput) Dhcp added in v1.5.0

Use DHCP to configure the interface's IPv4 stack.

func (VnicIpv6PtrOutput) Elem added in v1.5.0

func (VnicIpv6PtrOutput) ElementType added in v1.5.0

func (VnicIpv6PtrOutput) ElementType() reflect.Type

func (VnicIpv6PtrOutput) Gw added in v1.5.0

IP address of the default gateway, if DHCP or autoconfig is not set.

func (VnicIpv6PtrOutput) ToVnicIpv6PtrOutput added in v1.5.0

func (o VnicIpv6PtrOutput) ToVnicIpv6PtrOutput() VnicIpv6PtrOutput

func (VnicIpv6PtrOutput) ToVnicIpv6PtrOutputWithContext added in v1.5.0

func (o VnicIpv6PtrOutput) ToVnicIpv6PtrOutputWithContext(ctx context.Context) VnicIpv6PtrOutput

type VnicState added in v1.3.0

type VnicState struct {
	// Key of the distributed portgroup the nic will connect to.
	DistributedPortGroup pulumi.StringPtrInput
	// UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
	DistributedSwitchPort pulumi.StringPtrInput
	// ESX host the interface belongs to
	Host pulumi.StringPtrInput
	// IPv4 settings. Either this or `ipv6` needs to be set. See  ipv4 options below.
	Ipv4 VnicIpv4PtrInput
	// IPv6 settings. Either this or `ipv6` needs to be set. See  ipv6 options below.
	Ipv6 VnicIpv6PtrInput
	// MAC address of the interface.
	Mac pulumi.StringPtrInput
	// MTU of the interface.
	Mtu pulumi.IntPtrInput
	// TCP/IP stack setting for this interface. Possible values are 'defaultTcpipStack', 'vmotion', 'vSphereProvisioning'. Changing this will force the creation of a new interface since it's not possible to change the stack once it gets created. (Default: `defaultTcpipStack`)
	Netstack pulumi.StringPtrInput
	// Portgroup to attach the nic to. Do not set if you set distributed_switch_port.
	Portgroup pulumi.StringPtrInput
}

func (VnicState) ElementType added in v1.5.0

func (VnicState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL