Package @pulumi/vsphere
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the
pulumi/pulumi-vsphererepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-vsphererepo.
var vsphere = require("@pulumi/vsphere");
import * as vsphere from "@pulumi/vsphere";Modules
Resources
- ComputeCluster
- ComputeClusterHostGroup
- ComputeClusterVmAffinityRule
- ComputeClusterVmAntiAffinityRule
- ComputeClusterVmDependencyRule
- ComputeClusterVmGroup
- ComputeClusterVmHostRule
- ContentLibrary
- ContentLibraryItem
- CustomAttribute
- Datacenter
- DatastoreCluster
- DatastoreClusterVmAntiAffinityRule
- DistributedPortGroup
- DistributedVirtualSwitch
- DpmHostOverride
- DrsVmOverride
- File
- Folder
- HaVmOverride
- Host
- HostPortGroup
- HostVirtualSwitch
- License
- NasDatastore
- Provider
- ResourcePool
- StorageDrsVmOverride
- Tag
- TagCategory
- VappContainer
- VappEntity
- VirtualDisk
- VirtualMachine
- VirtualMachineSnapshot
- VmfsDatastore
- Vnic
Functions
- getComputeCluster
- getContentLibrary
- getContentLibraryItem
- getCustomAttribute
- getDatacenter
- getDatastore
- getDatastoreCluster
- getDistributedVirtualSwitch
- getFolder
- getHost
- getNetwork
- getPolicy
- getResourcePool
- getTag
- getTagCategory
- getVappContainer
- getVirtualMachine
- getVmfsDisks
Others
- ComputeClusterArgs
- ComputeClusterHostGroupArgs
- ComputeClusterHostGroupState
- ComputeClusterState
- ComputeClusterVmAffinityRuleArgs
- ComputeClusterVmAffinityRuleState
- ComputeClusterVmAntiAffinityRuleArgs
- ComputeClusterVmAntiAffinityRuleState
- ComputeClusterVmDependencyRuleArgs
- ComputeClusterVmDependencyRuleState
- ComputeClusterVmGroupArgs
- ComputeClusterVmGroupState
- ComputeClusterVmHostRuleArgs
- ComputeClusterVmHostRuleState
- ContentLibraryArgs
- ContentLibraryItemArgs
- ContentLibraryItemState
- ContentLibraryState
- CustomAttributeArgs
- CustomAttributeState
- DatacenterArgs
- DatacenterState
- DatastoreClusterArgs
- DatastoreClusterState
- DatastoreClusterVmAntiAffinityRuleArgs
- DatastoreClusterVmAntiAffinityRuleState
- DistributedPortGroupArgs
- DistributedPortGroupState
- DistributedVirtualSwitchArgs
- DistributedVirtualSwitchState
- DpmHostOverrideArgs
- DpmHostOverrideState
- DrsVmOverrideArgs
- DrsVmOverrideState
- FileArgs
- FileState
- FolderArgs
- FolderState
- GetComputeClusterArgs
- GetComputeClusterResult
- GetContentLibraryArgs
- GetContentLibraryItemArgs
- GetContentLibraryItemResult
- GetContentLibraryResult
- GetCustomAttributeArgs
- GetCustomAttributeResult
- GetDatacenterArgs
- GetDatacenterResult
- GetDatastoreArgs
- GetDatastoreClusterArgs
- GetDatastoreClusterResult
- GetDatastoreResult
- GetDistributedVirtualSwitchArgs
- GetDistributedVirtualSwitchResult
- getEnv
- getEnvBoolean
- getEnvNumber
- GetFolderArgs
- GetFolderResult
- GetHostArgs
- GetHostResult
- GetNetworkArgs
- GetNetworkResult
- GetPolicyArgs
- GetPolicyResult
- GetResourcePoolArgs
- GetResourcePoolResult
- GetTagArgs
- GetTagCategoryArgs
- GetTagCategoryResult
- GetTagResult
- GetVappContainerArgs
- GetVappContainerResult
- getVersion
- GetVirtualMachineArgs
- GetVirtualMachineResult
- GetVmfsDisksArgs
- GetVmfsDisksResult
- HaVmOverrideArgs
- HaVmOverrideState
- HostArgs
- HostPortGroupArgs
- HostPortGroupState
- HostState
- HostVirtualSwitchArgs
- HostVirtualSwitchState
- LicenseArgs
- LicenseState
- NasDatastoreArgs
- NasDatastoreState
- ProviderArgs
- ResourcePoolArgs
- ResourcePoolState
- StorageDrsVmOverrideArgs
- StorageDrsVmOverrideState
- TagArgs
- TagCategoryArgs
- TagCategoryState
- TagState
- VappContainerArgs
- VappContainerState
- VappEntityArgs
- VappEntityState
- VirtualDiskArgs
- VirtualDiskState
- VirtualMachineArgs
- VirtualMachineSnapshotArgs
- VirtualMachineSnapshotState
- VirtualMachineState
- VmfsDatastoreArgs
- VmfsDatastoreState
- VnicArgs
- VnicState
Resources
Resource ComputeCluster
class ComputeCluster extends CustomResourceA note on the naming of this resource: VMware refers to clusters of hosts in the UI and documentation as clusters, HA clusters, or DRS clusters. All of these refer to the same kind of resource (with the latter two referring to specific features of clustering). We use
vsphere..ComputeClusterto differentiate host clusters from datastore clusters, which are clusters of datastores that can be used to distribute load and ensure fault tolerance via distribution of virtual machines. Datastore clusters can also be managed through the provider, via thevsphere..DatastoreClusterresource.
The vsphere..ComputeCluster resource can be used to create and manage
clusters of hosts allowing for resource control of compute resources, load
balancing through DRS, and high availability through vSphere HA.
For more information on vSphere clusters and DRS, see this page. For more information on vSphere HA, see this page.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const datacenter = config.get("datacenter") || "dc1";
const hosts = config.get("hosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const dc = pulumi.output(vsphere.getDatacenter({
name: datacenter,
}, { async: true }));
const hostsHost: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < hosts.length; i++) {
hostsHost.push(dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: hosts[i],
}, { async: true })));
}
const computeCluster = new vsphere.ComputeCluster("computeCluster", {
datacenterId: dc.id,
drsAutomationLevel: "fullyAutomated",
drsEnabled: true,
haEnabled: true,
hostSystemIds: hostsHost.map(v => v.id),
});vSphere Version Requirements
A large number of settings in the vsphere..ComputeCluster resource require a
specific version of vSphere to function. Rather than include warnings at every
setting or section, these settings are documented below. Note that this list
is for cluster-specific attributes only, and does not include the
tags parameter, which requires vSphere 6.0 or higher across all
resources that can be tagged.
All settings are footnoted by an asterisk (*) in their specific section in
the documentation, which takes you here.
Settings that require vSphere version 6.0 or higher
These settings require vSphere 6.0 or higher:
haDatastoreApdRecoveryActionhaDatastoreApdResponsehaDatastoreApdResponseDelayhaDatastorePdlResponsehaVmComponentProtection
Settings that require vSphere version 6.5 or higher
These settings require vSphere 6.5 or higher:
drsEnablePredictiveDrshaAdmissionControlHostFailureTolerance(WhenhaAdmissionControlPolicyis set toresourcePercentageorslotPolicy. Permitted in all versions underfailoverHosts)haAdmissionControlResourcePercentageAutoComputehaVmRestartTimeouthaVmDependencyRestartConditionhaVmRestartAdditionalDelayproactiveHaAutomationLevelproactiveHaEnabledproactiveHaModerateRemediationproactiveHaProviderIdsproactiveHaSevereRemediation
constructor
new ComputeCluster(name: string, args: ComputeClusterArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeCluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterState, opts?: pulumi.CustomResourceOptions): ComputeClusterGet an existing ComputeCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterReturns true if the given object is an instance of ComputeCluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;A map of custom attribute ids to attribute value strings to set for the datastore cluster.
property datacenterId
public datacenterId: pulumi.Output<string>;The managed object ID of the datacenter to create the cluster in. Forces a new resource if changed.
property dpmAutomationLevel
public dpmAutomationLevel: pulumi.Output<string | undefined>;The automation level for host power
operations in this cluster. Can be one of manual or automated. Default:
manual.
property dpmEnabled
public dpmEnabled: pulumi.Output<boolean | undefined>;Enable DPM support for DRS in this cluster.
Requires drsEnabled to be true in order to be effective.
Default: false.
property dpmThreshold
public dpmThreshold: pulumi.Output<number | undefined>;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.
property drsAdvancedOptions
public drsAdvancedOptions: pulumi.Output<{[key: string]: string} | undefined>;A key/value map that specifies advanced options for DRS and DPM.
property drsAutomationLevel
public drsAutomationLevel: pulumi.Output<string | undefined>;The default automation level for all
virtual machines in this cluster. Can be one of manual,
partiallyAutomated, or fullyAutomated. Default: manual.
property drsEnablePredictiveDrs
public drsEnablePredictiveDrs: pulumi.Output<boolean | undefined>;When true, enables DRS to use data
from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
recommendations. *
property drsEnableVmOverrides
public drsEnableVmOverrides: pulumi.Output<boolean | undefined>;Allow individual DRS overrides to be
set for virtual machines in the cluster. Default: true.
property drsEnabled
public drsEnabled: pulumi.Output<boolean | undefined>;Enable DRS for this cluster. Default: false.
property drsMigrationThreshold
public drsMigrationThreshold: pulumi.Output<number | undefined>;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.
property folder
public folder: pulumi.Output<string | undefined>;The relative path to a folder to put this cluster in.
This is a path relative to the datacenter you are deploying the cluster to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a cluster named compute-cluster-test in a
host folder located at /dc1/host/foo/bar, with the final inventory path
being /dc1/host/foo/bar/datastore-cluster-test.
property forceEvacuateOnDestroy
public forceEvacuateOnDestroy: pulumi.Output<boolean | undefined>;When destroying the resource, setting this to
true will auto-remove any hosts that are currently a member of the cluster,
as if they were removed by taking their entry out of hostSystemIds (see
below). This is an advanced
option and should only be used for testing. Default: false.
property haAdmissionControlFailoverHostSystemIds
public haAdmissionControlFailoverHostSystemIds: pulumi.Output<string[] | undefined>;Defines the managed object IDs 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.
property haAdmissionControlHostFailureTolerance
public haAdmissionControlHostFailureTolerance: pulumi.Output<number | undefined>;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.
*
property haAdmissionControlPerformanceTolerance
public haAdmissionControlPerformanceTolerance: pulumi.Output<number | undefined>;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).
property haAdmissionControlPolicy
public haAdmissionControlPolicy: pulumi.Output<string | undefined>;The type of admission control
policy to use with vSphere HA. Can be one of resourcePercentage,
slotPolicy, failoverHosts, or disabled. Default: resourcePercentage.
property haAdmissionControlResourcePercentageAutoCompute
public haAdmissionControlResourcePercentageAutoCompute: pulumi.Output<boolean | undefined>;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.
*
property haAdmissionControlResourcePercentageCpu
public haAdmissionControlResourcePercentageCpu: pulumi.Output<number | undefined>;Controls the
user-defined percentage of CPU resources in the cluster to reserve for
failover. Default: 100.
property haAdmissionControlResourcePercentageMemory
public haAdmissionControlResourcePercentageMemory: pulumi.Output<number | undefined>;Controls the
user-defined percentage of memory resources in the cluster to reserve for
failover. Default: 100.
property haAdmissionControlSlotPolicyExplicitCpu
public haAdmissionControlSlotPolicyExplicitCpu: pulumi.Output<number | undefined>;Controls the
user-defined CPU slot size, in MHz. Default: 32.
property haAdmissionControlSlotPolicyExplicitMemory
public haAdmissionControlSlotPolicyExplicitMemory: pulumi.Output<number | undefined>;Controls the
user-defined memory slot size, in MB. Default: 100.
property haAdmissionControlSlotPolicyUseExplicitSize
public haAdmissionControlSlotPolicyUseExplicitSize: pulumi.Output<boolean | undefined>;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.
property haAdvancedOptions
public haAdvancedOptions: pulumi.Output<{[key: string]: string} | undefined>;A key/value map that specifies advanced options for vSphere HA.
property haDatastoreApdRecoveryAction
public haDatastoreApdRecoveryAction: pulumi.Output<string | undefined>;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.
*
property haDatastoreApdResponse
public haDatastoreApdResponse: pulumi.Output<string | undefined>;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.
*
property haDatastoreApdResponseDelay
public haDatastoreApdResponseDelay: pulumi.Output<number | undefined>;Controls the delay in minutes
to wait after an APD timeout event to execute the response action defined in
haDatastoreApdResponse. Default: 3
minutes. *
property haDatastorePdlResponse
public haDatastorePdlResponse: pulumi.Output<string | undefined>;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.
*
property haEnabled
public haEnabled: pulumi.Output<boolean | undefined>;Enable vSphere HA for this cluster. Default:
false.
property haHeartbeatDatastoreIds
public haHeartbeatDatastoreIds: pulumi.Output<string[] | undefined>;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.
property haHeartbeatDatastorePolicy
public haHeartbeatDatastorePolicy: pulumi.Output<string | undefined>;The selection policy for HA
heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
allFeasibleDsWithUserPreference. Default:
allFeasibleDsWithUserPreference.
property haHostIsolationResponse
public haHostIsolationResponse: pulumi.Output<string | undefined>;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.
property haHostMonitoring
public haHostMonitoring: pulumi.Output<string | undefined>;Global setting that controls whether
vSphere HA remediates virtual machines on host failure. Can be one of enabled
or disabled. Default: enabled.
property haVmComponentProtection
public haVmComponentProtection: pulumi.Output<string | undefined>;Controls vSphere VM component
protection for virtual machines in this cluster. Can be one of enabled or
disabled. Default: enabled.
*
property haVmDependencyRestartCondition
public haVmDependencyRestartCondition: pulumi.Output<string | undefined>;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.
*
property haVmFailureInterval
public haVmFailureInterval: pulumi.Output<number | undefined>;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.
property haVmMaximumFailureWindow
public haVmMaximumFailureWindow: pulumi.Output<number | undefined>;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).
property haVmMaximumResets
public haVmMaximumResets: pulumi.Output<number | undefined>;The maximum number of resets that HA will
perform to a virtual machine when responding to a failure event. Default: 3
property haVmMinimumUptime
public haVmMinimumUptime: pulumi.Output<number | undefined>;The time, in seconds, that HA waits after
powering on a virtual machine before monitoring for heartbeats. Default:
120 (2 minutes).
property haVmMonitoring
public haVmMonitoring: pulumi.Output<string | undefined>;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.
property haVmRestartAdditionalDelay
public haVmRestartAdditionalDelay: pulumi.Output<number | undefined>;Additional delay in seconds
after ready condition is met. A VM is considered ready at this point.
Default: 0 (no delay). *
property haVmRestartPriority
public haVmRestartPriority: pulumi.Output<string | undefined>;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.
property haVmRestartTimeout
public haVmRestartTimeout: pulumi.Output<number | undefined>;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).
*
property hostClusterExitTimeout
public hostClusterExitTimeout: pulumi.Output<number | undefined>;The timeout for each host maintenance mode
operation when removing hosts from a cluster. The value is specified in
seconds. Default: 3600 (1 hour).
property hostManaged
public hostManaged: pulumi.Output<boolean | undefined>;Can be set to true if compute cluster
membership will be managed through the host resource rather than the
computeCluster resource. Conflicts with: hostSystemIds.
>>>>>>> v1.18.3
property hostSystemIds
public hostSystemIds: pulumi.Output<string[] | undefined>;The [managed object IDs][docs-about-morefs] of
the hosts to put in the cluster. Conflicts with: hostManaged.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the cluster.
property proactiveHaAutomationLevel
public proactiveHaAutomationLevel: pulumi.Output<string | undefined>;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. *
property proactiveHaEnabled
public proactiveHaEnabled: pulumi.Output<boolean | undefined>;Enables Proactive HA. Default: false.
*
property proactiveHaModerateRemediation
public proactiveHaModerateRemediation: pulumi.Output<string | undefined>;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.
*
property proactiveHaProviderIds
public proactiveHaProviderIds: pulumi.Output<string[] | undefined>;The list of IDs for health update providers configured for this cluster. *
property proactiveHaSevereRemediation
public proactiveHaSevereRemediation: pulumi.Output<string | undefined>;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.
*
property resourcePoolId
public resourcePoolId: pulumi.Output<string>;The managed object ID of the cluster’s root resource pool.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource ComputeClusterHostGroup
class ComputeClusterHostGroup extends CustomResourceThe vsphere..ComputeClusterHostGroup resource can be used to manage groups
of hosts in a cluster, either created by the
vsphere..ComputeCluster resource or looked up
by the vsphere..ComputeCluster data source.
This resource mainly serves as an input to the
vsphere..ComputeClusterVmHostRule
resource - see the documentation for that resource for further details on how
to use host groups.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const datacenter = config.get("datacenter") || "dc1";
const hosts = config.get("hosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const dc = pulumi.output(vsphere.getDatacenter({
name: datacenter,
}, { async: true }));
const hostsHost: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < hosts.length; i++) {
hostsHost.push(dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: hosts[i],
}, { async: true })));
}
const computeCluster = new vsphere.ComputeCluster("computeCluster", {
datacenterId: dc.id,
drsAutomationLevel: "fullyAutomated",
drsEnabled: true,
haEnabled: true,
hostSystemIds: hostsHost.map(v => v.id),
});
const clusterHostGroup = new vsphere.ComputeClusterHostGroup("clusterHostGroup", {
computeClusterId: computeCluster.id,
hostSystemIds: hostsHost.map(v => v.id),
});constructor
new ComputeClusterHostGroup(name: string, args: ComputeClusterHostGroupArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeClusterHostGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterHostGroupState, opts?: pulumi.CustomResourceOptions): ComputeClusterHostGroupGet an existing ComputeClusterHostGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterHostGroupReturns true if the given object is an instance of ComputeClusterHostGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property hostSystemIds
public hostSystemIds: pulumi.Output<string[] | undefined>;The managed object IDs of the hosts to put in the cluster.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the host group. This must be unique in the cluster. Forces a new resource if changed.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource ComputeClusterVmAffinityRule
class ComputeClusterVmAffinityRule extends CustomResourceThe vsphere..ComputeClusterVmAffinityRule resource can be used to manage
VM affinity rules in a cluster, either created by the
vsphere..ComputeCluster resource or looked up
by the vsphere..ComputeCluster data source.
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
vsphere..ComputeClusterVmHostRuleresource.NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm: vsphere.VirtualMachine[] = [];
for (let i = 0; i < 2; i++) {
vm.push(new vsphere.VirtualMachine(`vm-${i}`, {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
}));
}
const clusterVmAffinityRule = new vsphere.ComputeClusterVmAffinityRule("clusterVmAffinityRule", {
computeClusterId: cluster.id,
virtualMachineIds: vm.map(v => v.id),
});constructor
new ComputeClusterVmAffinityRule(name: string, args: ComputeClusterVmAffinityRuleArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeClusterVmAffinityRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterVmAffinityRuleState, opts?: pulumi.CustomResourceOptions): ComputeClusterVmAffinityRuleGet an existing ComputeClusterVmAffinityRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterVmAffinityRuleReturns true if the given object is an instance of ComputeClusterVmAffinityRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
public enabled: pulumi.Output<boolean | undefined>;Enable this rule in the cluster. Default: true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property mandatory
public mandatory: pulumi.Output<boolean | undefined>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
public name: pulumi.Output<string>;The name of the rule. This must be unique in the cluster.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineIds
public virtualMachineIds: pulumi.Output<string[]>;The UUIDs of the virtual machines to run on the same host together.
Resource ComputeClusterVmAntiAffinityRule
class ComputeClusterVmAntiAffinityRule extends CustomResourceThe vsphere..ComputeClusterVmAntiAffinityRule resource can be used to
manage VM anti-affinity rules in a cluster, either created by the
vsphere..ComputeCluster resource or looked up
by the vsphere..ComputeCluster data source.
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
vsphere..ComputeClusterVmHostRuleresource.NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm: vsphere.VirtualMachine[] = [];
for (let i = 0; i < 2; i++) {
vm.push(new vsphere.VirtualMachine(`vm-${i}`, {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
}));
}
const clusterVmAntiAffinityRule = new vsphere.ComputeClusterVmAntiAffinityRule("clusterVmAntiAffinityRule", {
computeClusterId: cluster.id,
virtualMachineIds: vm.map(v => v.id),
});constructor
new ComputeClusterVmAntiAffinityRule(name: string, args: ComputeClusterVmAntiAffinityRuleArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeClusterVmAntiAffinityRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterVmAntiAffinityRuleState, opts?: pulumi.CustomResourceOptions): ComputeClusterVmAntiAffinityRuleGet an existing ComputeClusterVmAntiAffinityRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterVmAntiAffinityRuleReturns true if the given object is an instance of ComputeClusterVmAntiAffinityRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
public enabled: pulumi.Output<boolean | undefined>;Enable this rule in the cluster. Default: true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property mandatory
public mandatory: pulumi.Output<boolean | undefined>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
public name: pulumi.Output<string>;The name of the rule. This must be unique in the cluster.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineIds
public virtualMachineIds: pulumi.Output<string[]>;The UUIDs of the virtual machines to run on hosts different from each other.
Resource ComputeClusterVmDependencyRule
class ComputeClusterVmDependencyRule extends CustomResourceThe vsphere..ComputeClusterVmDependencyRule resource can be used to manage
VM dependency rules in a cluster, either created by the
vsphere..ComputeCluster resource or looked up
by the vsphere..ComputeCluster data source.
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
vsphere..ComputeClusterVmGroup
resource.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm1 = new vsphere.VirtualMachine("vm1", {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
});
const vm2 = new vsphere.VirtualMachine("vm2", {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
});
const clusterVmGroup1 = new vsphere.ComputeClusterVmGroup("clusterVmGroup1", {
computeClusterId: cluster.id,
virtualMachineIds: [vm1.id],
});
const clusterVmGroup2 = new vsphere.ComputeClusterVmGroup("clusterVmGroup2", {
computeClusterId: cluster.id,
virtualMachineIds: [vm2.id],
});
const clusterVmDependencyRule = new vsphere.ComputeClusterVmDependencyRule("clusterVmDependencyRule", {
computeClusterId: cluster.id,
dependencyVmGroupName: clusterVmGroup1.name,
vmGroupName: clusterVmGroup2.name,
});constructor
new ComputeClusterVmDependencyRule(name: string, args: ComputeClusterVmDependencyRuleArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeClusterVmDependencyRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterVmDependencyRuleState, opts?: pulumi.CustomResourceOptions): ComputeClusterVmDependencyRuleGet an existing ComputeClusterVmDependencyRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterVmDependencyRuleReturns true if the given object is an instance of ComputeClusterVmDependencyRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property dependencyVmGroupName
public dependencyVmGroupName: pulumi.Output<string>;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.
property enabled
public enabled: pulumi.Output<boolean | undefined>;Enable this rule in the cluster. Default: true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property mandatory
public mandatory: pulumi.Output<boolean | undefined>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
public name: pulumi.Output<string>;The name of the rule. This must be unique in the cluster.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vmGroupName
public vmGroupName: pulumi.Output<string>;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.
Resource ComputeClusterVmGroup
class ComputeClusterVmGroup extends CustomResourceThe vsphere..ComputeClusterVmGroup resource can be used to manage groups of
virtual machines in a cluster, either created by the
vsphere..ComputeCluster resource or looked up
by the vsphere..ComputeCluster data source.
This resource mainly serves as an input to the
vsphere..ComputeClusterVmDependencyRule
and
vsphere..ComputeClusterVmHostRule
resources. See the individual resource documentation pages for more information.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm: vsphere.VirtualMachine[] = [];
for (let i = 0; i < 2; i++) {
vm.push(new vsphere.VirtualMachine(`vm-${i}`, {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
}));
}
const clusterVmGroup = new vsphere.ComputeClusterVmGroup("clusterVmGroup", {
computeClusterId: cluster.id,
virtualMachineIds: vm.map(v => v.id),
});constructor
new ComputeClusterVmGroup(name: string, args: ComputeClusterVmGroupArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeClusterVmGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterVmGroupState, opts?: pulumi.CustomResourceOptions): ComputeClusterVmGroupGet an existing ComputeClusterVmGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterVmGroupReturns true if the given object is an instance of ComputeClusterVmGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the VM group. This must be unique in the cluster. Forces a new resource if changed.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineIds
public virtualMachineIds: pulumi.Output<string[] | undefined>;The UUIDs of the virtual machines in this group.
Resource ComputeClusterVmHostRule
class ComputeClusterVmHostRule extends CustomResourceThe vsphere..ComputeClusterVmHostRule resource can be used to manage
VM-to-host rules in a cluster, either created by the
vsphere..ComputeCluster resource or looked up
by the vsphere..ComputeCluster data source.
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
vsphere..ComputeClusterVmGroup and
vsphere..ComputeClusterHostGroup
resources.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const host = dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: "esxi1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm = new vsphere.VirtualMachine("vm", {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
});
const clusterVmGroup = new vsphere.ComputeClusterVmGroup("clusterVmGroup", {
computeClusterId: cluster.id,
virtualMachineIds: [vm.id],
});
const clusterHostGroup = new vsphere.ComputeClusterHostGroup("clusterHostGroup", {
computeClusterId: cluster.id,
hostSystemIds: [host.id],
});
const clusterVmHostRule = new vsphere.ComputeClusterVmHostRule("clusterVmHostRule", {
affinityHostGroupName: clusterHostGroup.name,
computeClusterId: cluster.id,
vmGroupName: clusterVmGroup.name,
});constructor
new ComputeClusterVmHostRule(name: string, args: ComputeClusterVmHostRuleArgs, opts?: pulumi.CustomResourceOptions)Create a ComputeClusterVmHostRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeClusterVmHostRuleState, opts?: pulumi.CustomResourceOptions): ComputeClusterVmHostRuleGet an existing ComputeClusterVmHostRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ComputeClusterVmHostRuleReturns true if the given object is an instance of ComputeClusterVmHostRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property affinityHostGroupName
public affinityHostGroupName: pulumi.Output<string | undefined>;When this field is used, the virtual
machines defined in vmGroupName will be run on the
hosts defined in this host group.
property antiAffinityHostGroupName
public antiAffinityHostGroupName: pulumi.Output<string | undefined>;When this field is used, the
virtual machines defined in vmGroupName will not be
run on the hosts defined in this host group.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
public enabled: pulumi.Output<boolean | undefined>;Enable this rule in the cluster. Default: true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property mandatory
public mandatory: pulumi.Output<boolean | undefined>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
public name: pulumi.Output<string>;The name of the rule. This must be unique in the cluster.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vmGroupName
public vmGroupName: pulumi.Output<string>;The name of the virtual machine group to use with this rule.
Resource ContentLibrary
class ContentLibrary extends CustomResourceconstructor
new ContentLibrary(name: string, args: ContentLibraryArgs, opts?: pulumi.CustomResourceOptions)Create a ContentLibrary resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ContentLibraryState, opts?: pulumi.CustomResourceOptions): ContentLibraryGet an existing ContentLibrary resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ContentLibraryReturns true if the given object is an instance of ContentLibrary. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A description of the Content Library.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the Content Library.
property storageBackings
public storageBackings: pulumi.Output<string[]>;The managed object reference ID on which to store Content Library items.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource ContentLibraryItem
class ContentLibraryItem extends CustomResourceconstructor
new ContentLibraryItem(name: string, args: ContentLibraryItemArgs, opts?: pulumi.CustomResourceOptions)Create a ContentLibraryItem resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ContentLibraryItemState, opts?: pulumi.CustomResourceOptions): ContentLibraryItemGet an existing ContentLibraryItem resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ContentLibraryItemReturns true if the given object is an instance of ContentLibraryItem. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A description for the item.
property fileUrls
public fileUrls: pulumi.Output<string[]>;A list of files to download for the Content Library item.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property libraryId
public libraryId: pulumi.Output<string>;The ID of the Content Library the item should be created in.
property name
public name: pulumi.Output<string>;The name of the item to be created in the Content Library.
property type
public type: pulumi.Output<string | undefined>;Type of content library item.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource CustomAttribute
class CustomAttribute extends CustomResourceconstructor
new CustomAttribute(name: string, args?: CustomAttributeArgs, opts?: pulumi.CustomResourceOptions)Create a CustomAttribute resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CustomAttributeState, opts?: pulumi.CustomResourceOptions): CustomAttributeGet an existing CustomAttribute resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is CustomAttributeReturns true if the given object is an instance of CustomAttribute. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property managedObjectType
public managedObjectType: pulumi.Output<string | undefined>;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.
property name
public name: pulumi.Output<string>;The name of the custom attribute.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Datacenter
class Datacenter extends CustomResourceProvides a VMware vSphere datacenter resource. This can be used as the primary container of inventory objects such as hosts and virtual machines.
Example Usage
Create datacenter on the root folder
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const prodDatacenter = new vsphere.Datacenter("prodDatacenter", {});Create datacenter on a subfolder
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const researchDatacenter = new vsphere.Datacenter("researchDatacenter", {
folder: "/research/",
});constructor
new Datacenter(name: string, args?: DatacenterArgs, opts?: pulumi.CustomResourceOptions)Create a Datacenter resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatacenterState, opts?: pulumi.CustomResourceOptions): DatacenterGet an existing Datacenter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatacenterReturns true if the given object is an instance of Datacenter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;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.
property folder
public folder: pulumi.Output<string | undefined>;The folder where the datacenter should be created. Forces a new resource if changed.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property moid
public moid: pulumi.Output<string>;Managed object ID of this datacenter.
property name
public name: pulumi.Output<string>;The name of the datacenter. This name needs to be unique within the folder. Forces a new resource if changed.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource DatastoreCluster
class DatastoreCluster extends CustomResourceThe vsphere..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.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: Storage DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const hosts = config.get("hosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const datacenter = pulumi.output(vsphere.getDatacenter({ async: true }));
const esxiHosts: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < hosts.length; i++) {
esxiHosts.push(datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: hosts[i],
}, { async: true })));
}
const datastoreCluster = new vsphere.DatastoreCluster("datastoreCluster", {
datacenterId: datacenter.id,
sdrsEnabled: true,
});
const datastore1 = new vsphere.NasDatastore("datastore1", {
datastoreClusterId: datastoreCluster.id,
hostSystemIds: esxiHosts.map(v => v.id),
remoteHosts: ["nfs"],
remotePath: "/export/test1",
type: "NFS",
});
const datastore2 = new vsphere.NasDatastore("datastore2", {
datastoreClusterId: datastoreCluster.id,
hostSystemIds: esxiHosts.map(v => v.id),
remoteHosts: ["nfs"],
remotePath: "/export/test2",
type: "NFS",
});constructor
new DatastoreCluster(name: string, args: DatastoreClusterArgs, opts?: pulumi.CustomResourceOptions)Create a DatastoreCluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatastoreClusterState, opts?: pulumi.CustomResourceOptions): DatastoreClusterGet an existing DatastoreCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatastoreClusterReturns true if the given object is an instance of DatastoreCluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;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.
property datacenterId
public datacenterId: pulumi.Output<string>;The managed object ID of the datacenter to create the datastore cluster in. Forces a new resource if changed.
property folder
public folder: pulumi.Output<string | undefined>;The relative path to a folder to put this datastore
cluster in. This is a path relative to the datacenter you are deploying the
datastore to. Example: for the dc1 datacenter, and a provided folder of
foo/bar, The provider will place a datastore cluster named
datastore-cluster-test in a datastore folder located at
/dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/datastore-cluster-test.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the datastore cluster.
property sdrsAdvancedOptions
public sdrsAdvancedOptions: pulumi.Output<{[key: string]: string} | undefined>;A key/value map of advanced Storage DRS settings that are not exposed via the provider or the vSphere client.
property sdrsAutomationLevel
public sdrsAutomationLevel: pulumi.Output<string | undefined>;The global automation level for all
virtual machines in this datastore cluster. Default: manual.
property sdrsDefaultIntraVmAffinity
public sdrsDefaultIntraVmAffinity: pulumi.Output<boolean | undefined>;When true, all disks in a
single virtual machine will be kept on the same datastore. Default: true.
property sdrsEnabled
public sdrsEnabled: pulumi.Output<boolean | undefined>;Enable Storage DRS for this datastore cluster.
Default: false.
property sdrsFreeSpaceThreshold
public sdrsFreeSpaceThreshold: pulumi.Output<number | undefined>;The free space threshold to use.
When set to utilization, drsSpaceUtilizationThreshold is used, and
when set to freeSpace, drsFreeSpaceThreshold is used. Default:
utilization.
property sdrsFreeSpaceThresholdMode
public sdrsFreeSpaceThresholdMode: pulumi.Output<string | undefined>;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.
property sdrsFreeSpaceUtilizationDifference
public sdrsFreeSpaceUtilizationDifference: pulumi.Output<number | undefined>;The threshold, in
percent, of difference between space utilization in datastores before storage
DRS makes decisions to balance the space. Default: 5 percent.
property sdrsIoBalanceAutomationLevel
public sdrsIoBalanceAutomationLevel: pulumi.Output<string | undefined>;Overrides the default automation settings when correcting I/O load imbalances.
property sdrsIoLatencyThreshold
public sdrsIoLatencyThreshold: pulumi.Output<number | undefined>;The I/O latency threshold, in
milliseconds, that storage DRS uses to make recommendations to move disks
from this datastore. Default: 15 seconds.
property sdrsIoLoadBalanceEnabled
public sdrsIoLoadBalanceEnabled: pulumi.Output<boolean | undefined>;Enable I/O load balancing for
this datastore cluster. Default: true.
property sdrsIoLoadImbalanceThreshold
public sdrsIoLoadImbalanceThreshold: pulumi.Output<number | undefined>;The difference between load
in datastores in the cluster before storage DRS makes recommendations to
balance the load. Default: 5 percent.
property sdrsIoReservableIopsThreshold
public sdrsIoReservableIopsThreshold: pulumi.Output<number | undefined>;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.
property sdrsIoReservablePercentThreshold
public sdrsIoReservablePercentThreshold: pulumi.Output<number | undefined>;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.
property sdrsIoReservableThresholdMode
public sdrsIoReservableThresholdMode: pulumi.Output<string | undefined>;The reservable IOPS
threshold setting to use, sdrsIoReservablePercentThreshold in the event
of automatic, or sdrsIoReservableIopsThreshold in the event of
manual. Default: automatic.
property sdrsLoadBalanceInterval
public sdrsLoadBalanceInterval: pulumi.Output<number | undefined>;The storage DRS poll interval, in
minutes. Default: 480 minutes.
property sdrsPolicyEnforcementAutomationLevel
public sdrsPolicyEnforcementAutomationLevel: pulumi.Output<string | undefined>;Overrides the default automation settings when correcting storage and VM policy violations.
property sdrsRuleEnforcementAutomationLevel
public sdrsRuleEnforcementAutomationLevel: pulumi.Output<string | undefined>;Overrides the default automation settings when correcting affinity rule violations.
property sdrsSpaceBalanceAutomationLevel
public sdrsSpaceBalanceAutomationLevel: pulumi.Output<string | undefined>;Overrides the default automation settings when correcting disk space imbalances.
property sdrsSpaceUtilizationThreshold
public sdrsSpaceUtilizationThreshold: pulumi.Output<number | undefined>;The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
property sdrsVmEvacuationAutomationLevel
public sdrsVmEvacuationAutomationLevel: pulumi.Output<string | undefined>;Overrides the default automation settings when generating recommendations for datastore evacuation.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource DatastoreClusterVmAntiAffinityRule
class DatastoreClusterVmAntiAffinityRule extends CustomResourceThe vsphere..DatastoreClusterVmAntiAffinityRule resource can be used to
manage VM anti-affinity rules in a datastore cluster, either created by the
vsphere..DatastoreCluster resource or looked up
by the vsphere..DatastoreCluster data source.
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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastoreCluster = dc.apply(dc => vsphere.getDatastoreCluster({
datacenterId: dc.id,
name: "datastore-cluster1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm: vsphere.VirtualMachine[] = [];
for (let i = 0; i < 2; i++) {
vm.push(new vsphere.VirtualMachine(`vm-${i}`, {
datastoreClusterId: datastoreCluster.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
}));
}
const clusterVmAntiAffinityRule = new vsphere.DatastoreClusterVmAntiAffinityRule("clusterVmAntiAffinityRule", {
datastoreClusterId: datastoreCluster.id,
virtualMachineIds: vm.map(v => v.id),
});constructor
new DatastoreClusterVmAntiAffinityRule(name: string, args: DatastoreClusterVmAntiAffinityRuleArgs, opts?: pulumi.CustomResourceOptions)Create a DatastoreClusterVmAntiAffinityRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatastoreClusterVmAntiAffinityRuleState, opts?: pulumi.CustomResourceOptions): DatastoreClusterVmAntiAffinityRuleGet an existing DatastoreClusterVmAntiAffinityRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatastoreClusterVmAntiAffinityRuleReturns true if the given object is an instance of DatastoreClusterVmAntiAffinityRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property datastoreClusterId
public datastoreClusterId: pulumi.Output<string>;The managed object reference ID of the datastore cluster to put the group in. Forces a new resource if changed.
property enabled
public enabled: pulumi.Output<boolean | undefined>;Enable this rule in the cluster. Default: true.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property mandatory
public mandatory: pulumi.Output<boolean | undefined>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
public name: pulumi.Output<string>;The name of the rule. This must be unique in the cluster.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineIds
public virtualMachineIds: pulumi.Output<string[]>;The UUIDs of the virtual machines to run on different datastores from each other.
Resource DistributedPortGroup
class DistributedPortGroup extends CustomResourceThe vsphere..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
vsphere..DistributedVirtualSwitch 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. For more information on vSphere DVS portgroups, see this page.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const esxiHosts = config.get("esxiHosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const networkInterfaces = config.get("networkInterfaces") || [
"vmnic0",
"vmnic1",
"vmnic2",
"vmnic3",
];
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const host: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < esxiHosts.length; i++) {
host.push(dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: esxiHosts[i],
}, { async: true })));
}
const dvs = new vsphere.DistributedVirtualSwitch("dvs", {
activeUplinks: [
"uplink1",
"uplink2",
],
datacenterId: dc.id,
hosts: [
{
devices: networkInterfaces,
hostSystemId: host[0].id,
},
{
devices: networkInterfaces,
hostSystemId: host[1].id,
},
{
devices: networkInterfaces,
hostSystemId: host[2].id,
},
],
standbyUplinks: [
"uplink3",
"uplink4",
],
uplinks: [
"uplink1",
"uplink2",
"uplink3",
"uplink4",
],
});
const pg = new vsphere.DistributedPortGroup("pg", {
distributedVirtualSwitchUuid: dvs.id,
vlanId: 1000,
});Overriding DVS policies
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dvs = new vsphere.DistributedVirtualSwitch("dvs", {
activeUplinks: ["tfup1"],
datacenterId: vsphere_datacenter_dc.id,
standbyUplinks: ["tfup2"],
uplinks: [
"tfup1",
"tfup2",
],
});
const pg = new vsphere.DistributedPortGroup("pg", {
activeUplinks: [
"tfup1",
"tfup2",
],
distributedVirtualSwitchUuid: dvs.id,
standbyUplinks: [],
vlanId: 1000,
});constructor
new DistributedPortGroup(name: string, args: DistributedPortGroupArgs, opts?: pulumi.CustomResourceOptions)Create a DistributedPortGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DistributedPortGroupState, opts?: pulumi.CustomResourceOptions): DistributedPortGroupGet an existing DistributedPortGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DistributedPortGroupReturns true if the given object is an instance of DistributedPortGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property activeUplinks
public activeUplinks: pulumi.Output<string[]>;List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
property allowForgedTransmits
public allowForgedTransmits: pulumi.Output<boolean>;Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
public allowMacChanges: pulumi.Output<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
public allowPromiscuous: pulumi.Output<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property autoExpand
public autoExpand: pulumi.Output<boolean | undefined>;Allows the port group to create additional ports
past the limit specified in numberOfPorts if necessary. Default: true.
property blockAllPorts
public blockAllPorts: pulumi.Output<boolean>;Indicates whether to block all ports by default.
property blockOverrideAllowed
public blockOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the port shutdown policy to be overridden on an individual port.
property checkBeacon
public checkBeacon: pulumi.Output<boolean>;Enable beacon probing on the ports this policy applies to.
property configVersion
public configVersion: pulumi.Output<string>;Version string of the configuration that this spec is trying to change.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;Map of custom attribute ids to attribute value string to set for port group.
property description
public description: pulumi.Output<string | undefined>;An optional description for the port group.
property directpathGen2Allowed
public directpathGen2Allowed: pulumi.Output<boolean>;Allow VMDirectPath Gen2 on the ports this policy applies to.
property distributedVirtualSwitchUuid
public distributedVirtualSwitchUuid: pulumi.Output<string>;The ID of the DVS to add the port group to. Forces a new resource if changed.
property egressShapingAverageBandwidth
public egressShapingAverageBandwidth: pulumi.Output<number>;The average egress bandwidth in bits per second if egress shaping is enabled on the port.
property egressShapingBurstSize
public egressShapingBurstSize: pulumi.Output<number>;The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
property egressShapingEnabled
public egressShapingEnabled: pulumi.Output<boolean>;True if the traffic shaper is enabled for egress traffic on the port.
property egressShapingPeakBandwidth
public egressShapingPeakBandwidth: pulumi.Output<number>;The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
property failback
public failback: pulumi.Output<boolean>;If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ingressShapingAverageBandwidth
public ingressShapingAverageBandwidth: pulumi.Output<number>;The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
property ingressShapingBurstSize
public ingressShapingBurstSize: pulumi.Output<number>;The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
property ingressShapingEnabled
public ingressShapingEnabled: pulumi.Output<boolean>;True if the traffic shaper is enabled for ingress traffic on the port.
property ingressShapingPeakBandwidth
public ingressShapingPeakBandwidth: pulumi.Output<number>;The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
property key
public key: pulumi.Output<string>;The generated UUID of the portgroup.
property lacpEnabled
public lacpEnabled: pulumi.Output<boolean>;Whether or not to enable LACP on all uplink ports.
property lacpMode
public lacpMode: pulumi.Output<string>;The uplink LACP mode to use. Can be one of active or passive.
property livePortMovingAllowed
public livePortMovingAllowed: pulumi.Output<boolean | undefined>;Allow a port in this port group to be moved to another port group while it is connected.
property name
public name: pulumi.Output<string>;The name of the port group.
property netflowEnabled
public netflowEnabled: pulumi.Output<boolean>;Indicates whether to enable netflow on all ports.
property netflowOverrideAllowed
public netflowOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the Netflow policy on this port group to be overridden on an individual port.
property networkResourcePoolKey
public networkResourcePoolKey: pulumi.Output<string | undefined>;The key of a network resource pool
to associate with this port group. The default is -1, which implies no
association.
property networkResourcePoolOverrideAllowed
public networkResourcePoolOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the network resource pool set on this port group to be overridden on an individual port.
property notifySwitches
public notifySwitches: pulumi.Output<boolean>;If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
property numberOfPorts
public numberOfPorts: pulumi.Output<number>;The number of ports available on this port group. Cannot be decreased below the amount of used ports on the port group.
property portConfigResetAtDisconnect
public portConfigResetAtDisconnect: pulumi.Output<boolean | undefined>;Reset a port’s settings to the settings defined on this port group policy when the port disconnects.
property portNameFormat
public portNameFormat: pulumi.Output<string | undefined>;An optional formatting policy for naming of
the ports in this port group. See the portNameFormat attribute listed
[here][ext-vsphere-portname-format] for details on the format syntax.
property portPrivateSecondaryVlanId
public portPrivateSecondaryVlanId: pulumi.Output<number>;The secondary VLAN ID for this port.
property securityPolicyOverrideAllowed
public securityPolicyOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the security policy settings defined in this port group policy to be overridden on an individual port.
property shapingOverrideAllowed
public shapingOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the traffic shaping options on this port group policy to be overridden on an individual port.
property standbyUplinks
public standbyUplinks: pulumi.Output<string[]>;List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
property tags
public tags: pulumi.Output<string[] | undefined>;A list of tag IDs to apply to this object.
property teamingPolicy
public teamingPolicy: pulumi.Output<string>;The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
property trafficFilterOverrideAllowed
public trafficFilterOverrideAllowed: pulumi.Output<boolean | undefined>;Allow any traffic filters on this port group to be overridden on an individual port.
property txUplink
public txUplink: pulumi.Output<boolean>;If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
property type
public type: pulumi.Output<string | undefined>;The port group type. Can be one of earlyBinding (static
binding) or ephemeral. Default: earlyBinding.
property uplinkTeamingOverrideAllowed
public uplinkTeamingOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the uplink teaming options on this port group to be overridden on an individual port.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vlanId
public vlanId: pulumi.Output<number>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
property vlanOverrideAllowed
public vlanOverrideAllowed: pulumi.Output<boolean | undefined>;Allow the VLAN settings on this port group to be overridden on an individual port.
property vlanRanges
public vlanRanges: pulumi.Output<DistributedPortGroupVlanRange[]>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
Resource DistributedVirtualSwitch
class DistributedVirtualSwitch extends CustomResourceThe vsphere..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
vsphere..DistributedPortGroup 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. For more information on vSphere DVS, see this page.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const esxiHosts = config.get("esxiHosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const networkInterfaces = config.get("networkInterfaces") || [
"vmnic0",
"vmnic1",
"vmnic2",
"vmnic3",
];
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const host: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < esxiHosts.length; i++) {
host.push(dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: esxiHosts[i],
}, { async: true })));
}
const dvs = new vsphere.DistributedVirtualSwitch("dvs", {
activeUplinks: [
"uplink1",
"uplink2",
],
datacenterId: dc.id,
hosts: [
{
devices: networkInterfaces,
hostSystemId: host[0].id,
},
{
devices: networkInterfaces,
hostSystemId: host[1].id,
},
{
devices: networkInterfaces,
hostSystemId: host[2].id,
},
],
standbyUplinks: [
"uplink3",
"uplink4",
],
uplinks: [
"uplink1",
"uplink2",
"uplink3",
"uplink4",
],
});Uplink name and count control
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dvs = new vsphere.DistributedVirtualSwitch("dvs", {
activeUplinks: ["tfup1"],
datacenterId: vsphere_datacenter_dc.id,
standbyUplinks: ["tfup2"],
uplinks: [
"tfup1",
"tfup2",
],
});constructor
new DistributedVirtualSwitch(name: string, args: DistributedVirtualSwitchArgs, opts?: pulumi.CustomResourceOptions)Create a DistributedVirtualSwitch resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DistributedVirtualSwitchState, opts?: pulumi.CustomResourceOptions): DistributedVirtualSwitchGet an existing DistributedVirtualSwitch resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DistributedVirtualSwitchReturns true if the given object is an instance of DistributedVirtualSwitch. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property activeUplinks
public activeUplinks: pulumi.Output<string[]>;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.
property allowForgedTransmits
public allowForgedTransmits: pulumi.Output<boolean>;Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
public allowMacChanges: pulumi.Output<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
public allowPromiscuous: pulumi.Output<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property blockAllPorts
public blockAllPorts: pulumi.Output<boolean>;Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
property checkBeacon
public checkBeacon: pulumi.Output<boolean>;Enables beacon probing as an additional measure to detect NIC failure.
property configVersion
public configVersion: pulumi.Output<string>;The version string of the configuration that this spec is trying to change.
property contactDetail
public contactDetail: pulumi.Output<string | undefined>;The detailed contact information for the person who is responsible for the DVS.
property contactName
public contactName: pulumi.Output<string | undefined>;The name of the person who is responsible for the DVS.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;Map of custom attribute ids to attribute value strings to set for virtual switch.
property datacenterId
public datacenterId: pulumi.Output<string>;The ID of the datacenter where the distributed virtual switch will be created. Forces a new resource if changed.
property description
public description: pulumi.Output<string | undefined>;A detailed description for the DVS.
property directpathGen2Allowed
public directpathGen2Allowed: pulumi.Output<boolean>;Allow VMDirectPath Gen2 for the ports for which this policy applies to.
property egressShapingAverageBandwidth
public egressShapingAverageBandwidth: pulumi.Output<number>;The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
property egressShapingBurstSize
public egressShapingBurstSize: pulumi.Output<number>;The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
property egressShapingEnabled
public egressShapingEnabled: pulumi.Output<boolean>;true if the traffic shaper is enabled
on the port for egress traffic.
property egressShapingPeakBandwidth
public egressShapingPeakBandwidth: pulumi.Output<number>;The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
property failback
public failback: pulumi.Output<boolean>;If true, the teaming policy will re-activate failed
uplinks higher in precedence when they come back up.
property faulttoleranceMaximumMbit
public faulttoleranceMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
property faulttoleranceReservationMbit
public faulttoleranceReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
property faulttoleranceShareCount
public faulttoleranceShareCount: pulumi.Output<number>;The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
property faulttoleranceShareLevel
public faulttoleranceShareLevel: pulumi.Output<string>;The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
property folder
public folder: pulumi.Output<string | undefined>;The folder to create the DVS in. Forces a new resource if changed.
property hbrMaximumMbit
public hbrMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the hbr traffic class, in Mbits/sec.
property hbrReservationMbit
public hbrReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
property hbrShareCount
public hbrShareCount: pulumi.Output<number>;The amount of shares to allocate to the hbr traffic class for a custom share level.
property hbrShareLevel
public hbrShareLevel: pulumi.Output<string>;The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
property hosts
public hosts: pulumi.Output<DistributedVirtualSwitchHost[] | undefined>;Use the host block to declare a host specification. The
options are:
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ingressShapingAverageBandwidth
public ingressShapingAverageBandwidth: pulumi.Output<number>;The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
property ingressShapingBurstSize
public ingressShapingBurstSize: pulumi.Output<number>;The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
property ingressShapingEnabled
public ingressShapingEnabled: pulumi.Output<boolean>;true if the traffic shaper is
enabled on the port for ingress traffic.
property ingressShapingPeakBandwidth
public ingressShapingPeakBandwidth: pulumi.Output<number>;The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
property ipv4Address
public ipv4Address: pulumi.Output<string | undefined>;An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments found below.
property iscsiMaximumMbit
public iscsiMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
property iscsiReservationMbit
public iscsiReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
property iscsiShareCount
public iscsiShareCount: pulumi.Output<number>;The amount of shares to allocate to the iSCSI traffic class for a custom share level.
property iscsiShareLevel
public iscsiShareLevel: pulumi.Output<string>;The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
property lacpApiVersion
public lacpApiVersion: pulumi.Output<string>;The Link Aggregation Control Protocol group
version to use with the switch. Possible values are singleLag and
multipleLag.
property lacpEnabled
public lacpEnabled: pulumi.Output<boolean>;Enables LACP for the ports that this policy applies to.
property lacpMode
public lacpMode: pulumi.Output<string>;The LACP mode. Can be one of active or passive.
property linkDiscoveryOperation
public linkDiscoveryOperation: pulumi.Output<string | undefined>;Whether to advertise or listen
for link discovery traffic.
property linkDiscoveryProtocol
public linkDiscoveryProtocol: pulumi.Output<string | undefined>;The discovery protocol type. Valid
types are cdp and lldp.
property managementMaximumMbit
public managementMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the management traffic class, in Mbits/sec.
property managementReservationMbit
public managementReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
property managementShareCount
public managementShareCount: pulumi.Output<number>;The amount of shares to allocate to the management traffic class for a custom share level.
property managementShareLevel
public managementShareLevel: pulumi.Output<string>;The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
property maxMtu
public maxMtu: pulumi.Output<number>;The maximum transmission unit (MTU) for the virtual switch.
property multicastFilteringMode
public multicastFilteringMode: pulumi.Output<string>;The multicast filtering mode to use
with the switch. Can be one of legacyFiltering or snooping.
property name
public name: pulumi.Output<string>;The name of the distributed virtual switch.
property netflowActiveFlowTimeout
public netflowActiveFlowTimeout: pulumi.Output<number | undefined>;The number of seconds after which
active flows are forced to be exported to the collector. Allowed range is
60 to 3600. Default: 60.
property netflowCollectorIpAddress
public netflowCollectorIpAddress: pulumi.Output<string | undefined>;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.
property netflowCollectorPort
public netflowCollectorPort: pulumi.Output<number | undefined>;Port for the Netflow collector. This must be set before Netflow can be enabled.
property netflowEnabled
public netflowEnabled: pulumi.Output<boolean>;Enables Netflow on all ports that this policy applies to.
property netflowIdleFlowTimeout
public netflowIdleFlowTimeout: pulumi.Output<number | undefined>;The number of seconds after which
idle flows are forced to be exported to the collector. Allowed range is 10
to 600. Default: 15.
property netflowInternalFlowsOnly
public netflowInternalFlowsOnly: pulumi.Output<boolean | undefined>;Whether to limit analysis to
traffic that has both source and destination served by the same host.
Default: false.
property netflowObservationDomainId
public netflowObservationDomainId: pulumi.Output<number | undefined>;The observation domain ID for the Netflow collector.
property netflowSamplingRate
public netflowSamplingRate: pulumi.Output<number | undefined>;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%.
property networkResourceControlEnabled
public networkResourceControlEnabled: pulumi.Output<boolean | undefined>;Set to true to enable
network I/O control. Default: false.
property networkResourceControlVersion
public networkResourceControlVersion: pulumi.Output<string>;The version of network I/O
control to use. Can be one of version2 or version3. Default: version2.
property nfsMaximumMbit
public nfsMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the nfs traffic class, in Mbits/sec.
property nfsReservationMbit
public nfsReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
property nfsShareCount
public nfsShareCount: pulumi.Output<number>;The amount of shares to allocate to the nfs traffic class for a custom share level.
property nfsShareLevel
public nfsShareLevel: pulumi.Output<string>;The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
property notifySwitches
public notifySwitches: pulumi.Output<boolean>;If true, the teaming policy will notify the
broadcast network of an uplink failover, triggering cache updates.
property portPrivateSecondaryVlanId
public portPrivateSecondaryVlanId: pulumi.Output<number>;Used to define a secondary VLAN ID when using private VLANs.
property standbyUplinks
public standbyUplinks: pulumi.Output<string[]>;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.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property teamingPolicy
public teamingPolicy: pulumi.Output<string>;The uplink teaming policy. Can be one of
loadbalanceIp, loadbalanceSrcmac, loadbalanceSrcid, or
failoverExplicit.
property txUplink
public txUplink: pulumi.Output<boolean>;Forward all traffic transmitted by ports for which this policy applies to its DVS uplinks.
property uplinks
public uplinks: pulumi.Output<string[]>;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.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vdpMaximumMbit
public vdpMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the vdp traffic class, in Mbits/sec.
property vdpReservationMbit
public vdpReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
property vdpShareCount
public vdpShareCount: pulumi.Output<number>;The amount of shares to allocate to the vdp traffic class for a custom share level.
property vdpShareLevel
public vdpShareLevel: pulumi.Output<string>;The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
property version
public version: pulumi.Output<string>;- 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.
property virtualmachineMaximumMbit
public virtualmachineMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
property virtualmachineReservationMbit
public virtualmachineReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
property virtualmachineShareCount
public virtualmachineShareCount: pulumi.Output<number>;The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
property virtualmachineShareLevel
public virtualmachineShareLevel: pulumi.Output<string>;The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
property vlanId
public vlanId: pulumi.Output<number>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
property vlanRanges
public vlanRanges: pulumi.Output<DistributedVirtualSwitchVlanRange[]>;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:
property vmotionMaximumMbit
public vmotionMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
property vmotionReservationMbit
public vmotionReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
property vmotionShareCount
public vmotionShareCount: pulumi.Output<number>;The amount of shares to allocate to the vmotion traffic class for a custom share level.
property vmotionShareLevel
public vmotionShareLevel: pulumi.Output<string>;The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
property vsanMaximumMbit
public vsanMaximumMbit: pulumi.Output<number>;The maximum allowed usage for the vsan traffic class, in Mbits/sec.
property vsanReservationMbit
public vsanReservationMbit: pulumi.Output<number>;The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
property vsanShareCount
public vsanShareCount: pulumi.Output<number>;The amount of shares to allocate to the vsan traffic class for a custom share level.
property vsanShareLevel
public vsanShareLevel: pulumi.Output<string>;The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
Resource DpmHostOverride
class DpmHostOverride extends CustomResourceThe vsphere..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.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const datacenter = config.get("datacenter") || "dc1";
const hosts = config.get("hosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const dc = pulumi.output(vsphere.getDatacenter({
name: datacenter,
}, { async: true }));
const hostsHost: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < hosts.length; i++) {
hostsHost.push(dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: hosts[i],
}, { async: true })));
}
const computeCluster = new vsphere.ComputeCluster("computeCluster", {
datacenterId: dc.id,
drsAutomationLevel: "fullyAutomated",
drsEnabled: true,
hostSystemIds: hostsHost.map(v => v.id),
});
const dpmHostOverride = new vsphere.DpmHostOverride("dpmHostOverride", {
computeClusterId: computeCluster.id,
dpmAutomationLevel: "automated",
dpmEnabled: true,
hostSystemId: hostsHost[0].id,
});constructor
new DpmHostOverride(name: string, args: DpmHostOverrideArgs, opts?: pulumi.CustomResourceOptions)Create a DpmHostOverride resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DpmHostOverrideState, opts?: pulumi.CustomResourceOptions): DpmHostOverrideGet an existing DpmHostOverride resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DpmHostOverrideReturns true if the given object is an instance of DpmHostOverride. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property dpmAutomationLevel
public dpmAutomationLevel: pulumi.Output<string | undefined>;The automation level for host power
operations on this host. Can be one of manual or automated. Default:
manual.
property dpmEnabled
public dpmEnabled: pulumi.Output<boolean | undefined>;Enable DPM support for this host. Default:
false.
property hostSystemId
public hostSystemId: pulumi.Output<string>;The managed object ID of the host.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource DrsVmOverride
class DrsVmOverride extends CustomResourceThe vsphere..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.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
NOTE: vSphere DRS requires a vSphere Enterprise Plus license.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const host = dc.apply(dc => vsphere.getHost({
datacenterId: dc.id,
name: "esxi1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm = new vsphere.VirtualMachine("vm", {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
hostSystemId: host.id,
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
});
const drsVmOverride = new vsphere.DrsVmOverride("drsVmOverride", {
computeClusterId: cluster.id,
drsEnabled: false,
virtualMachineId: vm.id,
});constructor
new DrsVmOverride(name: string, args: DrsVmOverrideArgs, opts?: pulumi.CustomResourceOptions)Create a DrsVmOverride resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DrsVmOverrideState, opts?: pulumi.CustomResourceOptions): DrsVmOverrideGet an existing DrsVmOverride resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DrsVmOverrideReturns true if the given object is an instance of DrsVmOverride. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property drsAutomationLevel
public drsAutomationLevel: pulumi.Output<string | undefined>;Overrides the automation level for this virtual
machine in the cluster. Can be one of manual, partiallyAutomated, or
fullyAutomated. Default: manual.
property drsEnabled
public drsEnabled: pulumi.Output<boolean | undefined>;Overrides the default DRS setting for this virtual
machine. Can be either true or false. Default: false.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineId
public virtualMachineId: pulumi.Output<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
Resource File
class File extends CustomResourceThe vsphere..File resource can be used to upload files (such as virtual disk
files) from the host machine that this provider is running on to a target
datastore. The resource can also be used to copy files between datastores, or
from one location to another on the same datastore.
Updates to destination parameters such as datacenter, datastore, or
destinationFile will move the managed file a new destination based on the
values of the new settings. If any source parameter is changed, such as
sourceDatastore, sourceDatacenter or sourceFile), the resource will be
re-created. Depending on if destination parameters are being changed as well,
this may result in the destination file either being overwritten or deleted at
the old location.
Example Usage
Uploading a file
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const ubuntuDiskUpload = new vsphere.File("ubuntuDiskUpload", {
datacenter: "myDatacenter",
datastore: "local",
destinationFile: "/my_path/disks/custom_ubuntu.vmdk",
sourceFile: "/home/ubuntu/my_disks/custom_ubuntu.vmdk",
});Copying a file
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const ubuntuDiskCopy = new vsphere.File("ubuntuDiskCopy", {
datacenter: "myDatacenter",
datastore: "local",
destinationFile: "/my_path/custom_ubuntu_id.vmdk",
sourceDatacenter: "myDatacenter",
sourceDatastore: "local",
sourceFile: "/my_path/disks/custom_ubuntu.vmdk",
});constructor
new File(name: string, args: FileArgs, opts?: pulumi.CustomResourceOptions)Create a File resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FileState, opts?: pulumi.CustomResourceOptions): FileGet an existing File resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FileReturns true if the given object is an instance of File. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property createDirectories
public createDirectories: pulumi.Output<boolean | undefined>;Create directories in destinationFile
path parameter if any missing for copy operation.
property datacenter
public datacenter: pulumi.Output<string | undefined>;The name of a datacenter in which the file will be uploaded to.
property datastore
public datastore: pulumi.Output<string>;The name of the datastore in which to upload the file to.
property destinationFile
public destinationFile: pulumi.Output<string>;The path to where the file should be uploaded or copied to on vSphere.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property sourceDatacenter
public sourceDatacenter: pulumi.Output<string | undefined>;The name of a datacenter in which the file will be copied from. Forces a new resource if changed.
property sourceDatastore
public sourceDatastore: pulumi.Output<string | undefined>;The name of the datastore in which file will be copied from. Forces a new resource if changed.
property sourceFile
public sourceFile: pulumi.Output<string>;The path to the file being uploaded from the host to vSphere or copied within vSphere. Forces a new resource if changed.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Folder
class Folder extends CustomResourceThe vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({ async: true }));
const folder = new vsphere.Folder("folder", {
datacenterId: dc.id,
path: "test-folder",
type: "vm",
});Example with subfolders
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({ async: true }));
const parent = new vsphere.Folder("parent", {
datacenterId: dc.id,
path: "test-parent",
type: "vm",
});
const folder = new vsphere.Folder("folder", {
datacenterId: dc.id,
path: pulumi.interpolate`${parent.path}/test-folder`,
type: "vm",
});constructor
new Folder(name: string, args: FolderArgs, opts?: pulumi.CustomResourceOptions)Create a Folder resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FolderState, opts?: pulumi.CustomResourceOptions): FolderGet an existing Folder resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FolderReturns true if the given object is an instance of Folder. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;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.
property datacenterId
public datacenterId: pulumi.Output<string | undefined>;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.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property path
public path: pulumi.Output<string>;The path of the folder to be created. This is relative to
the root of the type of folder you are creating, and the supplied datacenter.
For example, given a default datacenter of default-dc, a folder of type
vm (denoting a virtual machine folder), and a supplied folder of
test-folder, the resulting path would be
/default-dc/vm/test-folder.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property type
public type: pulumi.Output<string>;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.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource HaVmOverride
class HaVmOverride extends CustomResourceThe vsphere..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.
NOTE: This resource requires vCenter and is not available on direct ESXi connections.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const cluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: "cluster1",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const vm = new vsphere.VirtualMachine("vm", {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 2048,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: cluster.resourcePoolId,
});
const haVmOverride = new vsphere.HaVmOverride("haVmOverride", {
computeClusterId: cluster.id,
haVmRestartPriority: "highest",
virtualMachineId: vm.id,
});constructor
new HaVmOverride(name: string, args: HaVmOverrideArgs, opts?: pulumi.CustomResourceOptions)Create a HaVmOverride resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: HaVmOverrideState, opts?: pulumi.CustomResourceOptions): HaVmOverrideGet an existing HaVmOverride resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is HaVmOverrideReturns true if the given object is an instance of HaVmOverride. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property computeClusterId
public computeClusterId: pulumi.Output<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property haDatastoreApdRecoveryAction
public haDatastoreApdRecoveryAction: pulumi.Output<string | undefined>;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.
property haDatastoreApdResponse
public haDatastoreApdResponse: pulumi.Output<string | undefined>;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.
property haDatastoreApdResponseDelay
public haDatastoreApdResponseDelay: pulumi.Output<number | undefined>;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.
property haDatastorePdlResponse
public haDatastorePdlResponse: pulumi.Output<string | undefined>;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.
property haHostIsolationResponse
public haHostIsolationResponse: pulumi.Output<string | undefined>;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.
property haVmFailureInterval
public haVmFailureInterval: pulumi.Output<number | undefined>;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.
property haVmMaximumFailureWindow
public haVmMaximumFailureWindow: pulumi.Output<number | undefined>;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).
property haVmMaximumResets
public haVmMaximumResets: pulumi.Output<number | undefined>;The maximum number of resets that HA will
perform to this virtual machine when responding to a failure event. Default:
3
property haVmMinimumUptime
public haVmMinimumUptime: pulumi.Output<number | undefined>;The time, in seconds, that HA waits after
powering on this virtual machine before monitoring for heartbeats. Default:
120 (2 minutes).
property haVmMonitoring
public haVmMonitoring: pulumi.Output<string | undefined>;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.
property haVmMonitoringUseClusterDefaults
public haVmMonitoringUseClusterDefaults: pulumi.Output<boolean | undefined>;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.
property haVmRestartPriority
public haVmRestartPriority: pulumi.Output<string | undefined>;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.
property haVmRestartTimeout
public haVmRestartTimeout: pulumi.Output<number | undefined>;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.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineId
public virtualMachineId: pulumi.Output<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
Resource Host
class Host extends CustomResourceProvides a VMware vSphere host resource. This represents an ESXi host that can be used either as part of a Compute Cluster or Standalone.
Example Usage
Create a standalone host
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = vsphere.getDatacenter({
name: "my-datacenter",
});
const h1 = new vsphere.Host("h1", {
hostname: "10.10.10.1",
username: "root",
password: "password",
license: "00000-00000-00000-00000i-00000",
datacenter: dc.then(dc => dc.id),
});Create host in a compute cluster
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = vsphere.getDatacenter({
name: "TfDatacenter",
});
const c1 = dc.then(dc => vsphere.getComputeCluster({
name: "DC0_C0",
datacenterId: dc.id,
}));
const h1 = new vsphere.Host("h1", {
hostname: "10.10.10.1",
username: "root",
password: "password",
license: "00000-00000-00000-00000i-00000",
cluster: c1.then(c1 => c1.id),
});Importing
An existing host can be imported into this resource via supplying the host’s ID. An example is below:
import * as pulumi from "@pulumi/pulumi";The above would import the host with ID host-123.
constructor
new Host(name: string, args: HostArgs, opts?: pulumi.CustomResourceOptions)Create a Host resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: HostState, opts?: pulumi.CustomResourceOptions): HostGet an existing Host resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is HostReturns true if the given object is an instance of Host. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cluster
public cluster: pulumi.Output<string | undefined>;The ID of the Compute Cluster this host should
be added to. This should not be set if datacenter is set. Conflicts with:
cluster.
property clusterManaged
public clusterManaged: pulumi.Output<boolean | undefined>;Can be set to true if compute cluster
membership will be managed through the computeCluster resource rather
than thehost resource. Conflicts with: cluster.
property connected
public connected: pulumi.Output<boolean | undefined>;If set to false then the host will be disconected.
Default is false.
property datacenter
public datacenter: pulumi.Output<string | undefined>;The ID of the datacenter this host should
be added to. This should not be set if cluster is set.
property force
public force: pulumi.Output<boolean | undefined>;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
property hostname
public hostname: pulumi.Output<string>;FQDN or IP address of the host to be added.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property license
public license: pulumi.Output<string | undefined>;The license key that will be applied to the host. The license key is expected to be present in vSphere.
property lockdown
public lockdown: pulumi.Output<string | undefined>;Set the lockdown state of the host. Valid options are
disabled, normal, and strict. Default is disabled.
property maintenance
public maintenance: pulumi.Output<boolean | undefined>;Set the management state of the host. Default is false.
property password
public password: pulumi.Output<string>;Password that will be used by vSphere to authenticate to the host.
property thumbprint
public thumbprint: pulumi.Output<string | undefined>;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.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property username
public username: pulumi.Output<string>;Username that will be used by vSphere to authenticate to the host.
Resource HostPortGroup
class HostPortGroup extends CustomResourceThe vsphere..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
vsphere..HostVirtualSwitch resource.
For an overview on vSphere networking concepts, see this page.
Example Usage
Create a virtual switch and bind a port group to it
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const esxiHost = datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: "esxi1",
}, { async: true }));
const switchHostVirtualSwitch = new vsphere.HostVirtualSwitch("switch", {
activeNics: ["vmnic0"],
hostSystemId: esxiHost.id,
networkAdapters: [
"vmnic0",
"vmnic1",
],
standbyNics: ["vmnic1"],
});
const pg = new vsphere.HostPortGroup("pg", {
hostSystemId: esxiHost.id,
virtualSwitchName: switchHostVirtualSwitch.name,
});Create a port group with VLAN set and some overrides
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const esxiHost = datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: "esxi1",
}, { async: true }));
const switchHostVirtualSwitch = new vsphere.HostVirtualSwitch("switch", {
activeNics: ["vmnic0"],
hostSystemId: esxiHost.id,
networkAdapters: [
"vmnic0",
"vmnic1",
],
standbyNics: ["vmnic1"],
});
const pg = new vsphere.HostPortGroup("pg", {
allowPromiscuous: true,
hostSystemId: esxiHost.id,
virtualSwitchName: switchHostVirtualSwitch.name,
vlanId: 4095,
});constructor
new HostPortGroup(name: string, args: HostPortGroupArgs, opts?: pulumi.CustomResourceOptions)Create a HostPortGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: HostPortGroupState, opts?: pulumi.CustomResourceOptions): HostPortGroupGet an existing HostPortGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is HostPortGroupReturns true if the given object is an instance of HostPortGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property activeNics
public activeNics: pulumi.Output<string[] | undefined>;List of active network adapters used for load balancing.
property allowForgedTransmits
public allowForgedTransmits: pulumi.Output<boolean | undefined>;Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
public allowMacChanges: pulumi.Output<boolean | undefined>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
public allowPromiscuous: pulumi.Output<boolean | undefined>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property checkBeacon
public checkBeacon: pulumi.Output<boolean | undefined>;Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
property computedPolicy
public computedPolicy: pulumi.Output<{[key: string]: string}>;A map with a full set of the policy options computed from defaults and overrides, explaining the effective policy for this port group.
property failback
public failback: pulumi.Output<boolean | undefined>;If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
property hostSystemId
public hostSystemId: pulumi.Output<string>;The managed object ID of the host to set the port group up on. Forces a new resource if changed.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property key
public key: pulumi.Output<string>;The key for this port group as returned from the vSphere API.
property name
public name: pulumi.Output<string>;The name of the port group. Forces a new resource if changed.
property notifySwitches
public notifySwitches: pulumi.Output<boolean | undefined>;If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
property ports
public ports: pulumi.Output<HostPortGroupPorts>;A list of ports that currently exist and are used on this port group.
property shapingAverageBandwidth
public shapingAverageBandwidth: pulumi.Output<number | undefined>;The average bandwidth in bits per second if traffic shaping is enabled.
property shapingBurstSize
public shapingBurstSize: pulumi.Output<number | undefined>;The maximum burst size allowed in bytes if traffic shaping is enabled.
property shapingEnabled
public shapingEnabled: pulumi.Output<boolean | undefined>;Enable traffic shaping on this virtual switch or port group.
property shapingPeakBandwidth
public shapingPeakBandwidth: pulumi.Output<number | undefined>;The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
property standbyNics
public standbyNics: pulumi.Output<string[] | undefined>;List of standby network adapters used for failover.
property teamingPolicy
public teamingPolicy: pulumi.Output<string | undefined>;The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualSwitchName
public virtualSwitchName: pulumi.Output<string>;The name of the virtual switch to bind this port group to. Forces a new resource if changed.
property vlanId
public vlanId: pulumi.Output<number | undefined>;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.
Resource HostVirtualSwitch
class HostVirtualSwitch extends CustomResourceconstructor
new HostVirtualSwitch(name: string, args: HostVirtualSwitchArgs, opts?: pulumi.CustomResourceOptions)Create a HostVirtualSwitch resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: HostVirtualSwitchState, opts?: pulumi.CustomResourceOptions): HostVirtualSwitchGet an existing HostVirtualSwitch resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is HostVirtualSwitchReturns true if the given object is an instance of HostVirtualSwitch. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property activeNics
public activeNics: pulumi.Output<string[]>;The list of active network adapters used for load balancing.
property allowForgedTransmits
public allowForgedTransmits: pulumi.Output<boolean | undefined>;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.
property allowMacChanges
public allowMacChanges: pulumi.Output<boolean | undefined>;Controls whether or not the Media Access
Control (MAC) address can be changed. Default: true.
property allowPromiscuous
public allowPromiscuous: pulumi.Output<boolean | undefined>;Enable promiscuous mode on the network. This
flag indicates whether or not all traffic is seen on a given port. Default:
false.
property beaconInterval
public beaconInterval: pulumi.Output<number | undefined>;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.
property checkBeacon
public checkBeacon: pulumi.Output<boolean | undefined>;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.
property failback
public failback: pulumi.Output<boolean | undefined>;If set to true, the teaming policy will re-activate
failed interfaces higher in precedence when they come back up. Default:
true.
property hostSystemId
public hostSystemId: pulumi.Output<string>;The managed object ID of the host to set the virtual switch up on. Forces a new resource if changed.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property linkDiscoveryOperation
public linkDiscoveryOperation: pulumi.Output<string | undefined>;Whether to advertise or listen
for link discovery traffic. Default: listen.
property linkDiscoveryProtocol
public linkDiscoveryProtocol: pulumi.Output<string | undefined>;The discovery protocol type. Valid
types are cpd and lldp. Default: cdp.
property mtu
public mtu: pulumi.Output<number | undefined>;The maximum transmission unit (MTU) for the virtual
switch. Default: 1500.
property name
public name: pulumi.Output<string>;The name of the virtual switch. Forces a new resource if changed.
property networkAdapters
public networkAdapters: pulumi.Output<string[]>;The network interfaces to bind to the bridge.
property notifySwitches
public notifySwitches: pulumi.Output<boolean | undefined>;If set to true, the teaming policy will
notify the broadcast network of a NIC failover, triggering cache updates.
Default: true.
property numberOfPorts
public numberOfPorts: pulumi.Output<number | undefined>;The number of ports to create with this
virtual switch. Default: 128.
property shapingAverageBandwidth
public shapingAverageBandwidth: pulumi.Output<number | undefined>;The average bandwidth in bits per
second if traffic shaping is enabled. Default: 0
property shapingBurstSize
public shapingBurstSize: pulumi.Output<number | undefined>;The maximum burst size allowed in bytes if
shaping is enabled. Default: 0
property shapingEnabled
public shapingEnabled: pulumi.Output<boolean | undefined>;Set to true to enable the traffic shaper for
ports managed by this virtual switch. Default: false.
property shapingPeakBandwidth
public shapingPeakBandwidth: pulumi.Output<number | undefined>;The peak bandwidth during bursts in
bits per second if traffic shaping is enabled. Default: 0
property standbyNics
public standbyNics: pulumi.Output<string[]>;The list of standby network adapters used for failover.
property teamingPolicy
public teamingPolicy: pulumi.Output<string | undefined>;The network adapter teaming policy. Can be one
of loadbalanceIp, loadbalanceSrcmac, loadbalanceSrcid, or
failoverExplicit. Default: loadbalanceSrcid.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource License
class License extends CustomResourceProvides a VMware vSphere license resource. This can be used to add and remove license keys.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const licenseKey = new vsphere.License("licenseKey", {
labels: {
VpxClientLicenseLabel: "Hello World",
Workflow: "Hello World",
},
licenseKey: "452CQ-2EK54-K8742-00000-00000",
});constructor
new License(name: string, args: LicenseArgs, opts?: pulumi.CustomResourceOptions)Create a License resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LicenseState, opts?: pulumi.CustomResourceOptions): LicenseGet an existing License resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is LicenseReturns true if the given object is an instance of License. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property editionKey
public editionKey: pulumi.Output<string>;The product edition of the license key.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property labels
public labels: pulumi.Output<{[key: string]: string} | undefined>;A map of key/value pairs to be attached as labels (tags) to the license key.
property licenseKey
public licenseKey: pulumi.Output<string>;The license key to add.
property name
public name: pulumi.Output<string>;The display name for the license.
property total
public total: pulumi.Output<number>;Total number of units (example: CPUs) contained in the license.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property used
public used: pulumi.Output<number>;The number of units (example: CPUs) assigned to this license.
Resource NasDatastore
class NasDatastore extends CustomResourceThe vsphere..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
vsphere..VmfsDatastore, 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 thehostSystemIdsargument.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const hosts = config.get("hosts") || [
"esxi1",
"esxi2",
"esxi3",
];
const datacenter = pulumi.output(vsphere.getDatacenter({ async: true }));
const esxiHosts: pulumi.Output<vsphere.GetHostResult>[] = [];
for (let i = 0; i < hosts.length; i++) {
esxiHosts.push(datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: hosts[i],
}, { async: true })));
}
const datastore = new vsphere.NasDatastore("datastore", {
hostSystemIds: esxiHosts.map(v => v.id),
remoteHosts: ["nfs"],
remotePath: "/export/test",
type: "NFS",
});constructor
new NasDatastore(name: string, args: NasDatastoreArgs, opts?: pulumi.CustomResourceOptions)Create a NasDatastore resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NasDatastoreState, opts?: pulumi.CustomResourceOptions): NasDatastoreGet an existing NasDatastore resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NasDatastoreReturns true if the given object is an instance of NasDatastore. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accessMode
public accessMode: pulumi.Output<string | undefined>;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.
property accessible
public accessible: pulumi.Output<boolean>;The connectivity status of the datastore. If this is false,
some other computed attributes may be out of date.
property capacity
public capacity: pulumi.Output<number>;Maximum capacity of the datastore, in megabytes.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;Map of custom attribute ids to attribute value strings to set on datasource resource.
property datastoreClusterId
public datastoreClusterId: pulumi.Output<string | undefined>;The managed object
ID of a datastore cluster to put this datastore in.
Conflicts with folder.
property folder
public folder: pulumi.Output<string | undefined>;The relative path to a folder to put this datastore in.
This is a path relative to the datacenter you are deploying the datastore to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a datastore named test in a datastore folder
located at /dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/test. Conflicts with
datastoreClusterId.
property freeSpace
public freeSpace: pulumi.Output<number>;Available space of this datastore, in megabytes.
property hostSystemIds
public hostSystemIds: pulumi.Output<string[]>;The managed object IDs of the hosts to mount the datastore on.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property maintenanceMode
public maintenanceMode: pulumi.Output<string>;The current maintenance mode state of the datastore.
property multipleHostAccess
public multipleHostAccess: pulumi.Output<boolean>;If true, more than one host in the datacenter has
been configured with access to the datastore.
property name
public name: pulumi.Output<string>;The name of the datastore. Forces a new resource if changed.
property protocolEndpoint
public protocolEndpoint: pulumi.Output<string>;Indicates that this NAS volume is a protocol endpoint. This field is only populated if the host supports virtual datastores.
property remoteHosts
public remoteHosts: pulumi.Output<string[]>;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.
property remotePath
public remotePath: pulumi.Output<string>;The remote path of the mount point. Forces a new resource if changed.
property securityType
public securityType: pulumi.Output<string | undefined>;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.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property type
public type: pulumi.Output<string | undefined>;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.
property uncommittedSpace
public uncommittedSpace: pulumi.Output<number>;Total additional storage space, in megabytes, potentially used by all virtual machines on this datastore.
property url
public url: pulumi.Output<string>;The unique locator for the datastore.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Provider
class Provider extends ProviderResourceThe 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 for more information.
constructor
new Provider(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions)Create a Provider resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProviderReturns true if the given object is an instance of Provider. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
method register
static register(provider: ProviderResource | undefined): Promise<string | undefined>property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource ResourcePool
class ResourcePool extends CustomResourceThe vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const datacenter = config.get("datacenter") || "dc1";
const cluster = config.get("cluster") || "cluster1";
const dc = pulumi.output(vsphere.getDatacenter({
name: datacenter,
}, { async: true }));
const computeCluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: cluster,
}, { async: true }));
const resourcePool = new vsphere.ResourcePool("resourcePool", {
parentResourcePoolId: computeCluster.resourcePoolId,
});constructor
new ResourcePool(name: string, args: ResourcePoolArgs, opts?: pulumi.CustomResourceOptions)Create a ResourcePool resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ResourcePoolState, opts?: pulumi.CustomResourceOptions): ResourcePoolGet an existing ResourcePool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ResourcePoolReturns true if the given object is an instance of ResourcePool. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cpuExpandable
public cpuExpandable: pulumi.Output<boolean | undefined>;Determines if the reservation on a resource
pool can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property cpuLimit
public cpuLimit: pulumi.Output<number | undefined>;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
property cpuReservation
public cpuReservation: pulumi.Output<number | undefined>;Amount of CPU (MHz) that is guaranteed
available to the resource pool. Default: 0
property cpuShareLevel
public cpuShareLevel: pulumi.Output<string | undefined>;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
property cpuShares
public cpuShares: pulumi.Output<number>;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.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;A list of custom attributes to set on this resource.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property memoryExpandable
public memoryExpandable: pulumi.Output<boolean | undefined>;Determines if the reservation on a resource
pool can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property memoryLimit
public memoryLimit: pulumi.Output<number | undefined>;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
property memoryReservation
public memoryReservation: pulumi.Output<number | undefined>;Amount of CPU (MHz) that is guaranteed
available to the resource pool. Default: 0
property memoryShareLevel
public memoryShareLevel: pulumi.Output<string | undefined>;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
property memoryShares
public memoryShares: pulumi.Output<number>;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.
property name
public name: pulumi.Output<string>;The name of the resource pool.
property parentResourcePoolId
public parentResourcePoolId: pulumi.Output<string>;The managed object ID 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.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource StorageDrsVmOverride
class StorageDrsVmOverride extends CustomResourceThe vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastoreCluster = dc.apply(dc => vsphere.getDatastoreCluster({
datacenterId: dc.id,
name: "datastore-cluster1",
}, { async: true }));
const memberDatastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore-cluster1-member1",
}, { async: true }));
const pool = dc.apply(dc => vsphere.getResourcePool({
datacenterId: dc.id,
name: "cluster1/Resources",
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "public",
}, { async: true }));
const vm = new vsphere.VirtualMachine("vm", {
datastoreId: memberDatastore.id,
disks: [{
label: "disk0",
size: 20,
}],
guestId: "other3xLinux64Guest",
memory: 1024,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: pool.id,
});
const drsVmOverride = new vsphere.StorageDrsVmOverride("drsVmOverride", {
datastoreClusterId: datastoreCluster.id,
sdrsEnabled: "false",
virtualMachineId: vm.id,
});constructor
new StorageDrsVmOverride(name: string, args: StorageDrsVmOverrideArgs, opts?: pulumi.CustomResourceOptions)Create a StorageDrsVmOverride resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StorageDrsVmOverrideState, opts?: pulumi.CustomResourceOptions): StorageDrsVmOverrideGet an existing StorageDrsVmOverride resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is StorageDrsVmOverrideReturns true if the given object is an instance of StorageDrsVmOverride. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property datastoreClusterId
public datastoreClusterId: pulumi.Output<string>;The managed object reference ID of the datastore cluster to put the override in. Forces a new resource if changed.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property sdrsAutomationLevel
public sdrsAutomationLevel: pulumi.Output<string | undefined>;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.
property sdrsEnabled
public sdrsEnabled: pulumi.Output<string | undefined>;Overrides the default Storage DRS setting for this virtual machine. When not specified, the datastore cluster setting is used.
property sdrsIntraVmAffinity
public sdrsIntraVmAffinity: pulumi.Output<string | undefined>;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.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineId
public virtualMachineId: pulumi.Output<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
Resource Tag
class Tag extends CustomResourceThe vsphere..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.
NOTE: Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const category = new vsphere.TagCategory("category", {
associableTypes: [
"VirtualMachine",
"Datastore",
],
cardinality: "SINGLE",
description: "Managed by Pulumi",
});
const tag = new vsphere.Tag("tag", {
categoryId: category.id,
description: "Managed by Pulumi",
});constructor
new Tag(name: string, args: TagArgs, opts?: pulumi.CustomResourceOptions)Create a Tag resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TagState, opts?: pulumi.CustomResourceOptions): TagGet an existing Tag resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TagReturns true if the given object is an instance of Tag. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property categoryId
public categoryId: pulumi.Output<string>;The unique identifier of the parent category in which this tag will be created. Forces a new resource if changed.
property description
public description: pulumi.Output<string | undefined>;A description for the tag.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The display name of the tag. The name must be unique within its category.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource TagCategory
class TagCategory extends CustomResourceconstructor
new TagCategory(name: string, args: TagCategoryArgs, opts?: pulumi.CustomResourceOptions)Create a TagCategory resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TagCategoryState, opts?: pulumi.CustomResourceOptions): TagCategoryGet an existing TagCategory resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is TagCategoryReturns true if the given object is an instance of TagCategory. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property associableTypes
public associableTypes: pulumi.Output<string[]>;A list object types that this category is valid to be assigned to. For a full list, click here.
property cardinality
public cardinality: pulumi.Output<string>;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.
property description
public description: pulumi.Output<string | undefined>;A description for the category.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the category.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource VappContainer
class VappContainer extends CustomResourceThe vsphere..VappContainer resource can be used to create and manage
vApps.
For more information on vSphere vApps, see this page.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const datacenter = config.get("datacenter") || "dc1";
const cluster = config.get("cluster") || "cluster1";
const dc = pulumi.output(vsphere.getDatacenter({
name: datacenter,
}, { async: true }));
const computeCluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: cluster,
}, { async: true }));
const vappContainer = new vsphere.VappContainer("vappContainer", {
parentResourcePoolId: computeCluster.id,
});Example with virtual machine
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const config = new pulumi.Config();
const datacenter = config.get("datacenter") || "dc1";
const cluster = config.get("cluster") || "cluster1";
const dc = pulumi.output(vsphere.getDatacenter({
name: datacenter,
}, { async: true }));
const computeCluster = dc.apply(dc => vsphere.getComputeCluster({
datacenterId: dc.id,
name: cluster,
}, { async: true }));
const network = dc.apply(dc => vsphere.getNetwork({
datacenterId: dc.id,
name: "network1",
}, { async: true }));
const datastore = dc.apply(dc => vsphere.getDatastore({
datacenterId: dc.id,
name: "datastore1",
}, { async: true }));
const vappContainer = new vsphere.VappContainer("vappContainer", {
parentResourcePoolId: computeCluster.id,
});
const vm = new vsphere.VirtualMachine("vm", {
datastoreId: datastore.id,
disks: [{
label: "disk0",
size: 1,
}],
guestId: "ubuntu64Guest",
memory: 1024,
networkInterfaces: [{
networkId: network.id,
}],
numCpus: 2,
resourcePoolId: vappContainer.id,
});constructor
new VappContainer(name: string, args: VappContainerArgs, opts?: pulumi.CustomResourceOptions)Create a VappContainer resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VappContainerState, opts?: pulumi.CustomResourceOptions): VappContainerGet an existing VappContainer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VappContainerReturns true if the given object is an instance of VappContainer. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cpuExpandable
public cpuExpandable: pulumi.Output<boolean | undefined>;Determines if the reservation on a vApp
container can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property cpuLimit
public cpuLimit: pulumi.Output<number | undefined>;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
property cpuReservation
public cpuReservation: pulumi.Output<number | undefined>;Amount of CPU (MHz) that is guaranteed
available to the vApp container. Default: 0
property cpuShareLevel
public cpuShareLevel: pulumi.Output<string | undefined>;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
property cpuShares
public cpuShares: pulumi.Output<number>;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.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;A list of custom attributes to set on this resource.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property memoryExpandable
public memoryExpandable: pulumi.Output<boolean | undefined>;Determines if the reservation on a vApp
container can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property memoryLimit
public memoryLimit: pulumi.Output<number | undefined>;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
property memoryReservation
public memoryReservation: pulumi.Output<number | undefined>;Amount of CPU (MHz) that is guaranteed
available to the vApp container. Default: 0
property memoryShareLevel
public memoryShareLevel: pulumi.Output<string | undefined>;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
property memoryShares
public memoryShares: pulumi.Output<number>;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.
property name
public name: pulumi.Output<string>;The name of the vApp container.
property parentFolderId
public parentFolderId: pulumi.Output<string | undefined>;The managed object ID of the vApp container’s parent folder.
property parentResourcePoolId
public parentResourcePoolId: pulumi.Output<string>;The managed object ID 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.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource VappEntity
class VappEntity extends CustomResourceconstructor
new VappEntity(name: string, args: VappEntityArgs, opts?: pulumi.CustomResourceOptions)Create a VappEntity resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VappEntityState, opts?: pulumi.CustomResourceOptions): VappEntityGet an existing VappEntity resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VappEntityReturns true if the given object is an instance of VappEntity. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property containerId
public containerId: pulumi.Output<string>;Managed object ID of the vApp container the entity is a member of.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;A list of custom attributes to set on this resource.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property startAction
public startAction: pulumi.Output<string | undefined>;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
property startDelay
public startDelay: pulumi.Output<number | undefined>;Delay in seconds before continuing with the next entity in the order of entities to be started. Default: 120
property startOrder
public startOrder: pulumi.Output<number | undefined>;Order to start and stop target in vApp. Default: 1
property stopAction
public stopAction: pulumi.Output<string | undefined>;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
property stopDelay
public stopDelay: pulumi.Output<number | undefined>;Delay in seconds before continuing with the next entity in the order sequence. This is only used if the stopAction is guestShutdown. Default: 120
property tags
public tags: pulumi.Output<string[] | undefined>;A list of tag IDs to apply to this object.
property targetId
public targetId: pulumi.Output<string>;Managed object ID of the entity to power on or power off. This can be a virtual machine or a vApp.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property waitForGuest
public waitForGuest: pulumi.Output<boolean | undefined>;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
Resource VirtualDisk
class VirtualDisk extends CustomResourceThe vsphere..VirtualDisk resource can be used to create virtual disks outside
of any given vsphere..VirtualMachine
resource. These disks can be attached to a virtual machine by creating a disk
block with the attach parameter.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const myDisk = new vsphere.VirtualDisk("myDisk", {
datacenter: "Datacenter",
datastore: "local",
size: 2,
type: "thin",
vmdkPath: "myDisk.vmdk",
});constructor
new VirtualDisk(name: string, args: VirtualDiskArgs, opts?: pulumi.CustomResourceOptions)Create a VirtualDisk resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualDiskState, opts?: pulumi.CustomResourceOptions): VirtualDiskGet an existing VirtualDisk resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VirtualDiskReturns true if the given object is an instance of VirtualDisk. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property adapterType
public adapterType: pulumi.Output<string | undefined>;The adapter type for this virtual disk. Can be
one of ide, lsiLogic, or busLogic. Default: lsiLogic.
property createDirectories
public createDirectories: pulumi.Output<boolean | undefined>;Tells the resource to create any
directories that are a part of the vmdkPath parameter if they are missing.
Default: false.
property datacenter
public datacenter: pulumi.Output<string | undefined>;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.
property datastore
public datastore: pulumi.Output<string>;The name of the datastore in which to create the disk.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property size
public size: pulumi.Output<number>;Size of the disk (in GB).
property type
public type: pulumi.Output<string | undefined>;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].
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vmdkPath
public vmdkPath: pulumi.Output<string>;The path, including filename, of the virtual disk to
be created. This needs to end in .vmdk.
Resource VirtualMachine
class VirtualMachine extends CustomResourceconstructor
new VirtualMachine(name: string, args: VirtualMachineArgs, opts?: pulumi.CustomResourceOptions)Create a VirtualMachine resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualMachineState, opts?: pulumi.CustomResourceOptions): VirtualMachineGet an existing VirtualMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VirtualMachineReturns true if the given object is an instance of VirtualMachine. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property alternateGuestName
public alternateGuestName: pulumi.Output<string | undefined>;The guest name for the operating system
when guestId is other or other-64.
property annotation
public annotation: pulumi.Output<string | undefined>;A user-provided description of the virtual machine. The default is no annotation.
property bootDelay
public bootDelay: pulumi.Output<number | undefined>;The number of milliseconds to wait before starting the boot sequence. The default is no delay.
property bootRetryDelay
public bootRetryDelay: pulumi.Output<number | undefined>;The number of milliseconds to wait before
retrying the boot sequence. This only valid if bootRetryEnabled is true.
Default: 10000 (10 seconds).
property bootRetryEnabled
public bootRetryEnabled: pulumi.Output<boolean | undefined>;If set to true, a virtual machine that
fails to boot will try again after the delay defined in bootRetryDelay.
Default: false.
property cdrom
public cdrom: pulumi.Output<VirtualMachineCdrom | undefined>;A specification for a CDROM device on this virtual machine. See CDROM options below.
property changeVersion
public changeVersion: pulumi.Output<string>;A unique identifier for a given version of the last configuration applied, such the timestamp of the last update to the configuration.
property clone
public clone: pulumi.Output<VirtualMachineClone | undefined>;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.
property cpuHotAddEnabled
public cpuHotAddEnabled: pulumi.Output<boolean | undefined>;Allow CPUs to be added to this virtual machine while it is running.
property cpuHotRemoveEnabled
public cpuHotRemoveEnabled: pulumi.Output<boolean | undefined>;Allow CPUs to be removed to this virtual machine while it is running.
property cpuLimit
public cpuLimit: pulumi.Output<number | undefined>;The maximum amount of CPU (in MHz) that this virtual machine can consume, regardless of available resources. The default is no limit.
property cpuPerformanceCountersEnabled
public cpuPerformanceCountersEnabled: pulumi.Output<boolean | undefined>;Enable CPU performance
counters on this virtual machine. Default: false.
property cpuReservation
public cpuReservation: pulumi.Output<number | undefined>;The amount of CPU (in MHz) that this virtual machine is guaranteed. The default is no reservation.
property cpuShareCount
public cpuShareCount: pulumi.Output<number>;The number of CPU shares allocated to the
virtual machine when the cpuShareLevel is custom.
property cpuShareLevel
public cpuShareLevel: pulumi.Output<string | undefined>;The allocation level for CPU resources. Can be
one of high, low, normal, or custom. Default: custom.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;Map of custom attribute ids to attribute value strings to set for virtual machine.
property datacenterId
public datacenterId: pulumi.Output<string | undefined>;The datacenter id. Required only when deploying an ovf template.
property datastoreClusterId
public datastoreClusterId: pulumi.Output<string | undefined>;The managed object reference ID 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.
property datastoreId
public datastoreId: pulumi.Output<string>;The datastore ID that the ISO is located in.
Requried for using a datastore ISO. Conflicts with clientDevice.
property defaultIpAddress
public defaultIpAddress: pulumi.Output<string>;The IP address selected by the provider to be used with any provisioners configured on this resource. Whenever possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exist. If VMware tools is not running on the virtual machine, or if the VM is powered off, this value will be blank.
property disks
public disks: pulumi.Output<VirtualMachineDisk[]>;A specification for a virtual disk device on this virtual machine. See disk options below.
property efiSecureBootEnabled
public efiSecureBootEnabled: pulumi.Output<boolean | undefined>;When the firmware type is set to is
efi, this enables EFI secure boot. Default: false.
property enableDiskUuid
public enableDiskUuid: pulumi.Output<boolean | undefined>;Expose the UUIDs of attached virtual disks to
the virtual machine, allowing access to them in the guest. Default: false.
property enableLogging
public enableLogging: pulumi.Output<boolean | undefined>;Enable logging of virtual machine events to a
log file stored in the virtual machine directory. Default: false.
property eptRviMode
public eptRviMode: pulumi.Output<string | undefined>;The EPT/RVI (hardware memory virtualization)
setting for this virtual machine. Can be one of automatic, on, or off.
Default: automatic.
property extraConfig
public extraConfig: pulumi.Output<{[key: string]: string} | undefined>;Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata.
property firmware
public firmware: pulumi.Output<string | undefined>;The firmware interface to use on the virtual machine.
Can be one of bios or EFI. Default: bios.
property folder
public folder: pulumi.Output<string | undefined>;The path to the folder to put this virtual machine in, relative to the datacenter that the resource pool is in.
property forcePowerOff
public forcePowerOff: pulumi.Output<boolean | undefined>;If a guest shutdown failed or timed out while
updating or destroying (see
shutdownWaitTimeout), force the power-off of
the virtual machine. Default: true.
property guestId
public guestId: pulumi.Output<string | undefined>;The guest ID for the operating system type. For a
full list of possible values, see [here][vmware-docs-guest-ids]. Default: other-64.
property guestIpAddresses
public guestIpAddresses: pulumi.Output<string[]>;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 of the created
virtual machine.
property hardwareVersion
public hardwareVersion: pulumi.Output<number>;The hardware version number. Valid range is from 4 to 15. The hardware version cannot be downgraded. See [virtual machine hardware compatibility][virtual-machine-hardware-compatibility] for more details.
property hostSystemId
public hostSystemId: pulumi.Output<string>;An optional managed object reference
ID 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.
property hvMode
public hvMode: pulumi.Output<string | undefined>;The (non-nested) hardware virtualization setting for
this virtual machine. Can be one of hvAuto, hvOn, or hvOff. Default:
hvAuto.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ignoredGuestIps
public ignoredGuestIps: pulumi.Output<string[] | undefined>;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: [].
property imported
public imported: pulumi.Output<boolean>;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.
property latencySensitivity
public latencySensitivity: pulumi.Output<string | undefined>;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.
property memory
public memory: pulumi.Output<number | undefined>;The size of the virtual machine’s memory, in MB.
Default: 1024 (1 GB).
property memoryHotAddEnabled
public memoryHotAddEnabled: pulumi.Output<boolean | undefined>;Allow memory to be added to this virtual machine while it is running.
property memoryLimit
public memoryLimit: pulumi.Output<number | undefined>;The maximum amount of memory (in MB) that this virtual machine can consume, regardless of available resources. The default is no limit.
property memoryReservation
public memoryReservation: pulumi.Output<number | undefined>;The amount of memory (in MB) that this virtual machine is guaranteed. The default is no reservation.
property memoryShareCount
public memoryShareCount: pulumi.Output<number>;The number of memory shares allocated to
the virtual machine when the memoryShareLevel is custom.
property memoryShareLevel
public memoryShareLevel: pulumi.Output<string | undefined>;The allocation level for memory resources.
Can be one of high, low, normal, or custom. Default: custom.
property migrateWaitTimeout
public migrateWaitTimeout: pulumi.Output<number | undefined>;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.
property moid
public moid: pulumi.Output<string>;The machine object ID from VMWare
property name
public name: pulumi.Output<string>;An alias for both label and path, the latter when
using attach. Required if not using label.
property nestedHvEnabled
public nestedHvEnabled: pulumi.Output<boolean | undefined>;Enable nested hardware virtualization on
this virtual machine, facilitating nested virtualization in the guest.
Default: false.
property networkInterfaces
public networkInterfaces: pulumi.Output<VirtualMachineNetworkInterface[] | undefined>;A specification for a virtual NIC on this virtual machine. See network interface options below.
property numCoresPerSocket
public numCoresPerSocket: pulumi.Output<number | undefined>;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.
property numCpus
public numCpus: pulumi.Output<number | undefined>;The total number of virtual processor cores to assign
to this virtual machine. Default: 1.
property ovfDeploy
public ovfDeploy: pulumi.Output<VirtualMachineOvfDeploy | undefined>;When specified, the VM will be deployed from the provided ovf template. See creating a virtual machine from a ovf template for more details.
property poweronTimeout
public poweronTimeout: pulumi.Output<number | undefined>;The amount of time, in seconds, that we will be trying to power on a VM
property rebootRequired
public rebootRequired: pulumi.Output<boolean>;Value internal to the provider used to determine if a configuration set change requires a reboot. This value is only useful during an update process and gets reset on refresh.
property resourcePoolId
public resourcePoolId: pulumi.Output<string>;The managed object reference ID of the resource pool to put this virtual machine in. See the section on virtual machine migration for details on changing this value.
property runToolsScriptsAfterPowerOn
public runToolsScriptsAfterPowerOn: pulumi.Output<boolean | undefined>;Enable the execution of
post-power-on scripts when VMware tools is installed. Default: true.
property runToolsScriptsAfterResume
public runToolsScriptsAfterResume: pulumi.Output<boolean | undefined>;Enable the execution of
post-resume scripts when VMware tools is installed. Default: true.
property runToolsScriptsBeforeGuestReboot
public runToolsScriptsBeforeGuestReboot: pulumi.Output<boolean | undefined>;Enable the execution of
pre-reboot scripts when VMware tools is installed. Default: false.
property runToolsScriptsBeforeGuestShutdown
public runToolsScriptsBeforeGuestShutdown: pulumi.Output<boolean | undefined>;Enable the execution
of pre-shutdown scripts when VMware tools is installed. Default: true.
property runToolsScriptsBeforeGuestStandby
public runToolsScriptsBeforeGuestStandby: pulumi.Output<boolean | undefined>;Enable the execution of
pre-standby scripts when VMware tools is installed. Default: true.
property scsiBusSharing
public scsiBusSharing: pulumi.Output<string | undefined>;Mode for sharing the SCSI bus. The modes are
physicalSharing, virtualSharing, and noSharing. Default: noSharing.
property scsiControllerCount
public scsiControllerCount: pulumi.Output<number | undefined>;The number of SCSI controllers that
this provider 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. Default: 1.
property scsiType
public scsiType: pulumi.Output<string | undefined>;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.
property shutdownWaitTimeout
public shutdownWaitTimeout: pulumi.Output<number | undefined>;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.
property storagePolicyId
public storagePolicyId: pulumi.Output<string | undefined>;The UUID of the storage policy to assign to this disk.
property swapPlacementPolicy
public swapPlacementPolicy: pulumi.Output<string | undefined>;The swap file placement policy for this
virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
Default: inherit.
property syncTimeWithHost
public syncTimeWithHost: pulumi.Output<boolean | undefined>;Enable guest clock synchronization with
the host. Requires VMware tools to be installed. Default: false.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property uuid
public uuid: pulumi.Output<string>;The UUID of the virtual disk’s VMDK file. This is used to track the virtual disk on the virtual machine.
property vapp
public vapp: pulumi.Output<VirtualMachineVapp | undefined>;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.
property vappTransports
public vappTransports: pulumi.Output<string[]>;Computed value which is only valid for cloned virtual machines. A list of vApp transport methods supported by the source virtual machine or template.
property vmwareToolsStatus
public vmwareToolsStatus: pulumi.Output<string>;The state of VMware tools in the guest. This will determine the proper course of action for some device operations.
property vmxPath
public vmxPath: pulumi.Output<string>;The path of the virtual machine’s configuration file in the VM’s datastore.
property waitForGuestIpTimeout
public waitForGuestIpTimeout: pulumi.Output<number | undefined>;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.
property waitForGuestNetRoutable
public waitForGuestNetRoutable: pulumi.Output<boolean | undefined>;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.
property waitForGuestNetTimeout
public waitForGuestNetTimeout: pulumi.Output<number | undefined>;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.
Resource VirtualMachineSnapshot
class VirtualMachineSnapshot extends CustomResourceThe vsphere..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.
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
attachparameter to thevsphere..VirtualMachinediskblock), 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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const demo1 = new vsphere.VirtualMachineSnapshot("demo1", {
consolidate: true,
description: "This is Demo Snapshot",
memory: true,
quiesce: true,
removeChildren: false,
snapshotName: "Snapshot Name",
virtualMachineUuid: "9aac5551-a351-4158-8c5c-15a71e8ec5c9",
});constructor
new VirtualMachineSnapshot(name: string, args: VirtualMachineSnapshotArgs, opts?: pulumi.CustomResourceOptions)Create a VirtualMachineSnapshot resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualMachineSnapshotState, opts?: pulumi.CustomResourceOptions): VirtualMachineSnapshotGet an existing VirtualMachineSnapshot resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VirtualMachineSnapshotReturns true if the given object is an instance of VirtualMachineSnapshot. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property consolidate
public consolidate: pulumi.Output<boolean | undefined>;If set to true, the delta disks involved in this
snapshot will be consolidated into the parent when this resource is
destroyed.
property description
public description: pulumi.Output<string>;A description for the snapshot.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property memory
public memory: pulumi.Output<boolean>;If set to true, a dump of the internal state of the
virtual machine is included in the snapshot.
property quiesce
public quiesce: pulumi.Output<boolean>;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.
property removeChildren
public removeChildren: pulumi.Output<boolean | undefined>;If set to true, the entire snapshot subtree
is removed when this resource is destroyed.
property snapshotName
public snapshotName: pulumi.Output<string>;The name of the snapshot.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property virtualMachineUuid
public virtualMachineUuid: pulumi.Output<string>;The virtual machine UUID.
Resource VmfsDatastore
class VmfsDatastore extends CustomResourceThe vsphere..VmfsDatastore resource can be used to create and manage VMFS
datastores on an ESXi host or a set of hosts. The resource supports using any
SCSI device that can generally be used in a datastore, such as local disks, or
disks presented to a host or multiple hosts over Fibre Channel or iSCSI.
Devices can be specified manually, or discovered using the
vsphere..getVmfsDisks data source.
Auto-Mounting of Datastores Within vCenter
Note that the current behaviour of this resource will auto-mount any created datastores to any other host within vCenter that has access to the same disk.
Example: You want to create a datastore with a iSCSI LUN that is visible on 3
hosts in a single vSphere cluster (esxi1, esxi2 and esxi3). When you
create the datastore on esxi1, the datastore will be automatically mounted on
esxi2 and esxi3, without the need to configure the resource on either of
those two hosts.
Future versions of this resource may allow you to control the hosts that a datastore is mounted to, but currently, this automatic behaviour cannot be changed, so keep this in mind when writing your configurations and deploying your disks.
Increasing Datastore Size
To increase the size of a datastore, you must add additional disks to the
disks attribute. Expanding the size of a datastore by increasing the size of
an already provisioned disk is currently not supported (but may be in future
versions of this resource).
NOTE: You cannot decrease the size of a datastore. If the resource detects disks removed from the configuration, the provider will give an error.
Example Usage
Addition of local disks on a single host
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({ async: true }));
const esxiHost = datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
}, { async: true }));
const datastore = new vsphere.VmfsDatastore("datastore", {
disks: [
"mpx.vmhba1:C0:T1:L0",
"mpx.vmhba1:C0:T2:L0",
"mpx.vmhba1:C0:T2:L0",
],
hostSystemId: esxiHost.id,
});Auto-detection of disks via vsphere..getVmfsDisks
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const esxiHost = datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: "esxi1",
}, { async: true }));
const available = esxiHost.apply(esxiHost => vsphere.getVmfsDisks({
filter: "naa.60a98000",
hostSystemId: esxiHost.id,
rescan: true,
}, { async: true }));
const datastore = new vsphere.VmfsDatastore("datastore", {
disks: available.disks,
folder: "datastore-folder",
hostSystemId: esxiHost.id,
});constructor
new VmfsDatastore(name: string, args: VmfsDatastoreArgs, opts?: pulumi.CustomResourceOptions)Create a VmfsDatastore resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VmfsDatastoreState, opts?: pulumi.CustomResourceOptions): VmfsDatastoreGet an existing VmfsDatastore resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VmfsDatastoreReturns true if the given object is an instance of VmfsDatastore. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accessible
public accessible: pulumi.Output<boolean>;The connectivity status of the datastore. If this is false,
some other computed attributes may be out of date.
property capacity
public capacity: pulumi.Output<number>;Maximum capacity of the datastore, in megabytes.
property customAttributes
public customAttributes: pulumi.Output<{[key: string]: string} | undefined>;Map of custom attribute ids to attribute value string to set on datastore resource.
property datastoreClusterId
public datastoreClusterId: pulumi.Output<string | undefined>;The managed object
ID of a datastore cluster to put this datastore in.
Conflicts with folder.
property disks
public disks: pulumi.Output<string[]>;The disks to use with the datastore.
property folder
public folder: pulumi.Output<string | undefined>;The relative path to a folder to put this datastore in.
This is a path relative to the datacenter you are deploying the datastore to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a datastore named test in a datastore folder
located at /dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/test. Conflicts with
datastoreClusterId.
property freeSpace
public freeSpace: pulumi.Output<number>;Available space of this datastore, in megabytes.
property hostSystemId
public hostSystemId: pulumi.Output<string>;The managed object ID 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.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property maintenanceMode
public maintenanceMode: pulumi.Output<string>;The current maintenance mode state of the datastore.
property multipleHostAccess
public multipleHostAccess: pulumi.Output<boolean>;If true, more than one host in the datacenter has
been configured with access to the datastore.
property name
public name: pulumi.Output<string>;The name of the datastore. Forces a new resource if changed.
property tags
public tags: pulumi.Output<string[] | undefined>;The IDs of any tags to attach to this resource.
property uncommittedSpace
public uncommittedSpace: pulumi.Output<number>;Total additional storage space, in megabytes, potentially used by all virtual machines on this datastore.
property url
public url: pulumi.Output<string>;The unique locator for the datastore.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Vnic
class Vnic extends CustomResourceProvides a VMware vSphere vnic resource.
Example Usages
Create a vnic attached to a distributed virtual switch using the vmotion TCP/IP stack
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = vsphere.getDatacenter({
name: "mydc",
});
const h1 = dc.then(dc => vsphere.getHost({
name: "esxi1.host.test",
datacenterId: dc.id,
}));
const d1 = new vsphere.DistributedVirtualSwitch("d1", {
datacenterId: dc.then(dc => dc.id),
host: [{
hostSystemId: h1.then(h1 => h1.id),
devices: ["vnic3"],
}],
});
const p1 = new vsphere.DistributedPortGroup("p1", {
vlanId: 1234,
distributedVirtualSwitchUuid: d1.id,
});
const v1 = new vsphere.Vnic("v1", {
host: h1.then(h1 => h1.id),
distributedSwitchPort: d1.id,
distributedPortGroup: p1.id,
ipv4: {
dhcp: true,
},
netstack: "vmotion",
});Create a vnic attached to a portgroup using the default TCP/IP stack
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const dc = vsphere.getDatacenter({
name: "mydc",
});
const h1 = dc.then(dc => vsphere.getHost({
name: "esxi1.host.test",
datacenterId: dc.id,
}));
const hvs1 = new vsphere.HostVirtualSwitch("hvs1", {
hostSystemId: h1.then(h1 => h1.id),
networkAdapters: [
"vmnic3",
"vmnic4",
],
activeNics: ["vmnic3"],
standbyNics: ["vmnic4"],
});
const p1 = new vsphere.HostPortGroup("p1", {
virtualSwitchName: hvs1.name,
hostSystemId: h1.then(h1 => h1.id),
});
const v1 = new vsphere.Vnic("v1", {
host: h1.then(h1 => h1.id),
portgroup: p1.name,
ipv4: {
dhcp: true,
},
});Importing
An existing vNic can be imported into this resource via supplying the vNic’s ID. An example is below:
import * as pulumi from "@pulumi/pulumi";The above would import the the vnic vmk2 from host with ID host-123.
constructor
new Vnic(name: string, args: VnicArgs, opts?: pulumi.CustomResourceOptions)Create a Vnic resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VnicState, opts?: pulumi.CustomResourceOptions): VnicGet an existing Vnic resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VnicReturns true if the given object is an instance of Vnic. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property distributedPortGroup
public distributedPortGroup: pulumi.Output<string | undefined>;Key of the distributed portgroup the nic will connect to.
property distributedSwitchPort
public distributedSwitchPort: pulumi.Output<string | undefined>;UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
property host
public host: pulumi.Output<string>;ESX host the interface belongs to
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipv4
public ipv4: pulumi.Output<VnicIpv4 | undefined>;IPv4 settings. Either this or ipv6 needs to be set. See ipv4 options below.
property ipv6
public ipv6: pulumi.Output<VnicIpv6 | undefined>;IPv6 settings. Either this or ipv6 needs to be set. See ipv6 options below.
property mac
public mac: pulumi.Output<string>;MAC address of the interface.
property mtu
public mtu: pulumi.Output<number>;MTU of the interface.
property netstack
public netstack: pulumi.Output<string | undefined>;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)
property portgroup
public portgroup: pulumi.Output<string | undefined>;Portgroup to attach the nic to. Do not set if you set distributed_switch_port.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Functions
Function getComputeCluster
getComputeCluster(args: GetComputeClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetComputeClusterResult>The vsphere..ComputeCluster data source can be used to discover the ID of a
cluster in vSphere. This is useful to fetch the ID of a cluster that you want
to use for virtual machine placement via the
vsphere..VirtualMachine resource, allowing
you to specify the cluster’s root resource pool directly versus using the alias
available through the vsphere..ResourcePool
data source.
You may also wish to see the
vsphere..ComputeClusterresource for further details about clusters or how to work with them.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const computeCluster = vsphere_datacenter_dc.id.apply(id => vsphere.getComputeCluster({
datacenterId: id,
name: "compute-cluster1",
}, { async: true }));Function getContentLibrary
getContentLibrary(args: GetContentLibraryArgs, opts?: pulumi.InvokeOptions): Promise<GetContentLibraryResult>The vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const library = pulumi.output(vsphere.getContentLibrary({
name: "Content Library Test",
}, { async: true }));Function getContentLibraryItem
getContentLibraryItem(args: GetContentLibraryItemArgs, opts?: pulumi.InvokeOptions): Promise<GetContentLibraryItemResult>The vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const library = vsphere.getContentLibrary({
name: "Content Library Test",
});
const item = library.then(library => vsphere.getContentLibraryItem({
name: "Ubuntu Bionic 18.04",
libraryId: library.id,
}));Function getCustomAttribute
getCustomAttribute(args: GetCustomAttributeArgs, opts?: pulumi.InvokeOptions): Promise<GetCustomAttributeResult>The vsphere..CustomAttribute data source can be used to reference custom
attributes that are not managed by this provider. Its attributes are exactly the
same as the vsphere..CustomAttribute resource,
and, like importing, the data source takes a name to search on. The id and
other attributes are then populated with the data found by the search.
NOTE: Custom attributes are unsupported on direct ESXi connections and require vCenter.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const attribute = pulumi.output(vsphere.getCustomAttribute({
name: "test-attribute",
}, { async: true }));Function getDatacenter
getDatacenter(args?: GetDatacenterArgs, opts?: pulumi.InvokeOptions): Promise<GetDatacenterResult>The vsphere..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 vsphere..Host
data source.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));Function getDatastore
getDatastore(args: GetDatastoreArgs, opts?: pulumi.InvokeOptions): Promise<GetDatastoreResult>The vsphere..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
vsphere..VirtualMachine resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastore = datacenter.apply(datacenter => vsphere.getDatastore({
datacenterId: datacenter.id,
name: "datastore1",
}, { async: true }));Function getDatastoreCluster
getDatastoreCluster(args: GetDatastoreClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetDatastoreClusterResult>The vsphere..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
vsphere..NasDatastore or
vsphere..VmfsDatastore resources, or create
virtual machines in using the
vsphere..VirtualMachine resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const datastoreCluster = vsphere_datacenter_dc.id.apply(id => vsphere.getDatastoreCluster({
datacenterId: id,
name: "datastore-cluster1",
}, { async: true }));Function getDistributedVirtualSwitch
getDistributedVirtualSwitch(args: GetDistributedVirtualSwitchArgs, opts?: pulumi.InvokeOptions): Promise<GetDistributedVirtualSwitchResult>The vsphere..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
vsphere..DistributedPortGroup resource, for which
an example is shown below.
NOTE: This data source requires vCenter and is not available on direct ESXi connections.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const dvs = datacenter.apply(datacenter => vsphere.getDistributedVirtualSwitch({
datacenterId: datacenter.id,
name: "test-dvs",
}, { async: true }));
const pg = new vsphere.DistributedPortGroup("pg", {
activeUplinks: [dvs.apply(dvs => dvs.uplinks[0])],
distributedVirtualSwitchUuid: dvs.id,
standbyUplinks: [dvs.apply(dvs => dvs.uplinks[1])],
});Function getFolder
getFolder(args: GetFolderArgs, opts?: pulumi.InvokeOptions): Promise<GetFolderResult>The vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const folder = pulumi.output(vsphere.getFolder({
path: "/dc1/datastore/folder1",
}, { async: true }));Function getHost
getHost(args: GetHostArgs, opts?: pulumi.InvokeOptions): Promise<GetHostResult>The vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const host = datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: "esxi1",
}, { async: true }));Function getNetwork
getNetwork(args: GetNetworkArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkResult>The vsphere..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 vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const net = datacenter.apply(datacenter => vsphere.getNetwork({
datacenterId: datacenter.id,
name: "test-net",
}, { async: true }));Function getPolicy
getPolicy(args: GetPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetPolicyResult>The vsphere..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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const policy = pulumi.output(vsphere.getPolicy({
name: "policy1",
}, { async: true }));Function getResourcePool
getResourcePool(args?: GetResourcePoolArgs, opts?: pulumi.InvokeOptions): Promise<GetResourcePoolResult>The vsphere..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
vsphere..VirtualMachine resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const pool = datacenter.apply(datacenter => vsphere.getResourcePool({
datacenterId: datacenter.id,
name: "resource-pool-1",
}, { async: true }));Specifying the root resource pool for a standalone host
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const pool = vsphere_datacenter_dc.id.apply(id => vsphere.getResourcePool({
datacenterId: id,
name: "esxi1/Resources",
}, { async: true }));Function getTag
getTag(args: GetTagArgs, opts?: pulumi.InvokeOptions): Promise<GetTagResult>The vsphere..Tag data source can be used to reference tags that are not
managed by this provider. Its attributes are exactly the same as the vsphere..Tag
resource, and, like importing, the data source takes a name and
category to search on. The id and other attributes are then populated with
the data found by the search.
NOTE: Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const category = pulumi.output(vsphere.getTagCategory({
name: "test-category",
}, { async: true }));
const tag = category.apply(category => vsphere.getTag({
categoryId: category.id,
name: "test-tag",
}, { async: true }));Function getTagCategory
getTagCategory(args: GetTagCategoryArgs, opts?: pulumi.InvokeOptions): Promise<GetTagCategoryResult>The vsphere..TagCategory data source can be used to reference tag categories
that are not managed by this provider. Its attributes are exactly the same as the
vsphere..TagCategory resource, and, like importing,
the data source takes a name to search on. The id and other attributes are
then populated with the data found by the search.
NOTE: Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const category = pulumi.output(vsphere.getTagCategory({
name: "test-category",
}, { async: true }));Function getVappContainer
getVappContainer(args: GetVappContainerArgs, opts?: pulumi.InvokeOptions): Promise<GetVappContainerResult>The vsphere..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
vsphere..VirtualMachine resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const pool = datacenter.apply(datacenter => vsphere.getVappContainer({
datacenterId: datacenter.id,
name: "vapp-container-1",
}, { async: true }));Function getVirtualMachine
getVirtualMachine(args: GetVirtualMachineArgs, opts?: pulumi.InvokeOptions): Promise<GetVirtualMachineResult>The vsphere..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
vsphere..VirtualMachine resource. It also
reads the guest ID so that can be supplied as well.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const template = datacenter.apply(datacenter => vsphere.getVirtualMachine({
datacenterId: datacenter.id,
name: "test-vm-template",
}, { async: true }));Function getVmfsDisks
getVmfsDisks(args: GetVmfsDisksArgs, opts?: pulumi.InvokeOptions): Promise<GetVmfsDisksResult>The vsphere..getVmfsDisks data source can be used to discover the storage
devices available on an ESXi host. This data source can be combined with the
vsphere..VmfsDatastore resource to create VMFS
datastores based off a set of discovered disks.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const datacenter = pulumi.output(vsphere.getDatacenter({
name: "dc1",
}, { async: true }));
const host = datacenter.apply(datacenter => vsphere.getHost({
datacenterId: datacenter.id,
name: "esxi1",
}, { async: true }));
const available = host.apply(host => vsphere.getVmfsDisks({
filter: "mpx.vmhba1:C0:T[12]:L0",
hostSystemId: host.id,
rescan: true,
}, { async: true }));Others
interface ComputeClusterArgs
interface ComputeClusterArgsThe set of arguments for constructing a ComputeCluster resource.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A map of custom attribute ids to attribute value strings to set for the datastore cluster.
property datacenterId
datacenterId: pulumi.Input<string>;The managed object ID of the datacenter to create the cluster in. Forces a new resource if changed.
property dpmAutomationLevel
dpmAutomationLevel?: pulumi.Input<string>;The automation level for host power
operations in this cluster. Can be one of manual or automated. Default:
manual.
property dpmEnabled
dpmEnabled?: pulumi.Input<boolean>;Enable DPM support for DRS in this cluster.
Requires drsEnabled to be true in order to be effective.
Default: false.
property dpmThreshold
dpmThreshold?: pulumi.Input<number>;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.
property drsAdvancedOptions
drsAdvancedOptions?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A key/value map that specifies advanced options for DRS and DPM.
property drsAutomationLevel
drsAutomationLevel?: pulumi.Input<string>;The default automation level for all
virtual machines in this cluster. Can be one of manual,
partiallyAutomated, or fullyAutomated. Default: manual.
property drsEnablePredictiveDrs
drsEnablePredictiveDrs?: pulumi.Input<boolean>;When true, enables DRS to use data
from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
recommendations. *
property drsEnableVmOverrides
drsEnableVmOverrides?: pulumi.Input<boolean>;Allow individual DRS overrides to be
set for virtual machines in the cluster. Default: true.
property drsEnabled
drsEnabled?: pulumi.Input<boolean>;Enable DRS for this cluster. Default: false.
property drsMigrationThreshold
drsMigrationThreshold?: pulumi.Input<number>;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.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this cluster in.
This is a path relative to the datacenter you are deploying the cluster to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a cluster named compute-cluster-test in a
host folder located at /dc1/host/foo/bar, with the final inventory path
being /dc1/host/foo/bar/datastore-cluster-test.
property forceEvacuateOnDestroy
forceEvacuateOnDestroy?: pulumi.Input<boolean>;When destroying the resource, setting this to
true will auto-remove any hosts that are currently a member of the cluster,
as if they were removed by taking their entry out of hostSystemIds (see
below). This is an advanced
option and should only be used for testing. Default: false.
property haAdmissionControlFailoverHostSystemIds
haAdmissionControlFailoverHostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;Defines the managed object IDs 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.
property haAdmissionControlHostFailureTolerance
haAdmissionControlHostFailureTolerance?: pulumi.Input<number>;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.
*
property haAdmissionControlPerformanceTolerance
haAdmissionControlPerformanceTolerance?: pulumi.Input<number>;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).
property haAdmissionControlPolicy
haAdmissionControlPolicy?: pulumi.Input<string>;The type of admission control
policy to use with vSphere HA. Can be one of resourcePercentage,
slotPolicy, failoverHosts, or disabled. Default: resourcePercentage.
property haAdmissionControlResourcePercentageAutoCompute
haAdmissionControlResourcePercentageAutoCompute?: pulumi.Input<boolean>;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.
*
property haAdmissionControlResourcePercentageCpu
haAdmissionControlResourcePercentageCpu?: pulumi.Input<number>;Controls the
user-defined percentage of CPU resources in the cluster to reserve for
failover. Default: 100.
property haAdmissionControlResourcePercentageMemory
haAdmissionControlResourcePercentageMemory?: pulumi.Input<number>;Controls the
user-defined percentage of memory resources in the cluster to reserve for
failover. Default: 100.
property haAdmissionControlSlotPolicyExplicitCpu
haAdmissionControlSlotPolicyExplicitCpu?: pulumi.Input<number>;Controls the
user-defined CPU slot size, in MHz. Default: 32.
property haAdmissionControlSlotPolicyExplicitMemory
haAdmissionControlSlotPolicyExplicitMemory?: pulumi.Input<number>;Controls the
user-defined memory slot size, in MB. Default: 100.
property haAdmissionControlSlotPolicyUseExplicitSize
haAdmissionControlSlotPolicyUseExplicitSize?: pulumi.Input<boolean>;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.
property haAdvancedOptions
haAdvancedOptions?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A key/value map that specifies advanced options for vSphere HA.
property haDatastoreApdRecoveryAction
haDatastoreApdRecoveryAction?: pulumi.Input<string>;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.
*
property haDatastoreApdResponse
haDatastoreApdResponse?: pulumi.Input<string>;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.
*
property haDatastoreApdResponseDelay
haDatastoreApdResponseDelay?: pulumi.Input<number>;Controls the delay in minutes
to wait after an APD timeout event to execute the response action defined in
haDatastoreApdResponse. Default: 3
minutes. *
property haDatastorePdlResponse
haDatastorePdlResponse?: pulumi.Input<string>;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.
*
property haEnabled
haEnabled?: pulumi.Input<boolean>;Enable vSphere HA for this cluster. Default:
false.
property haHeartbeatDatastoreIds
haHeartbeatDatastoreIds?: pulumi.Input<pulumi.Input<string>[]>;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.
property haHeartbeatDatastorePolicy
haHeartbeatDatastorePolicy?: pulumi.Input<string>;The selection policy for HA
heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
allFeasibleDsWithUserPreference. Default:
allFeasibleDsWithUserPreference.
property haHostIsolationResponse
haHostIsolationResponse?: pulumi.Input<string>;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.
property haHostMonitoring
haHostMonitoring?: pulumi.Input<string>;Global setting that controls whether
vSphere HA remediates virtual machines on host failure. Can be one of enabled
or disabled. Default: enabled.
property haVmComponentProtection
haVmComponentProtection?: pulumi.Input<string>;Controls vSphere VM component
protection for virtual machines in this cluster. Can be one of enabled or
disabled. Default: enabled.
*
property haVmDependencyRestartCondition
haVmDependencyRestartCondition?: pulumi.Input<string>;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.
*
property haVmFailureInterval
haVmFailureInterval?: pulumi.Input<number>;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.
property haVmMaximumFailureWindow
haVmMaximumFailureWindow?: pulumi.Input<number>;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).
property haVmMaximumResets
haVmMaximumResets?: pulumi.Input<number>;The maximum number of resets that HA will
perform to a virtual machine when responding to a failure event. Default: 3
property haVmMinimumUptime
haVmMinimumUptime?: pulumi.Input<number>;The time, in seconds, that HA waits after
powering on a virtual machine before monitoring for heartbeats. Default:
120 (2 minutes).
property haVmMonitoring
haVmMonitoring?: pulumi.Input<string>;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.
property haVmRestartAdditionalDelay
haVmRestartAdditionalDelay?: pulumi.Input<number>;Additional delay in seconds
after ready condition is met. A VM is considered ready at this point.
Default: 0 (no delay). *
property haVmRestartPriority
haVmRestartPriority?: pulumi.Input<string>;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.
property haVmRestartTimeout
haVmRestartTimeout?: pulumi.Input<number>;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).
*
property hostClusterExitTimeout
hostClusterExitTimeout?: pulumi.Input<number>;The timeout for each host maintenance mode
operation when removing hosts from a cluster. The value is specified in
seconds. Default: 3600 (1 hour).
property hostManaged
hostManaged?: pulumi.Input<boolean>;Can be set to true if compute cluster
membership will be managed through the host resource rather than the
computeCluster resource. Conflicts with: hostSystemIds.
>>>>>>> v1.18.3
property hostSystemIds
hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;The [managed object IDs][docs-about-morefs] of
the hosts to put in the cluster. Conflicts with: hostManaged.
property name
name?: pulumi.Input<string>;The name of the cluster.
property proactiveHaAutomationLevel
proactiveHaAutomationLevel?: pulumi.Input<string>;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. *
property proactiveHaEnabled
proactiveHaEnabled?: pulumi.Input<boolean>;Enables Proactive HA. Default: false.
*
property proactiveHaModerateRemediation
proactiveHaModerateRemediation?: pulumi.Input<string>;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.
*
property proactiveHaProviderIds
proactiveHaProviderIds?: pulumi.Input<pulumi.Input<string>[]>;The list of IDs for health update providers configured for this cluster. *
property proactiveHaSevereRemediation
proactiveHaSevereRemediation?: pulumi.Input<string>;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.
*
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface ComputeClusterHostGroupArgs
interface ComputeClusterHostGroupArgsThe set of arguments for constructing a ComputeClusterHostGroup resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property hostSystemIds
hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;The managed object IDs of the hosts to put in the cluster.
property name
name?: pulumi.Input<string>;The name of the host group. This must be unique in the cluster. Forces a new resource if changed.
interface ComputeClusterHostGroupState
interface ComputeClusterHostGroupStateInput properties used for looking up and filtering ComputeClusterHostGroup resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property hostSystemIds
hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;The managed object IDs of the hosts to put in the cluster.
property name
name?: pulumi.Input<string>;The name of the host group. This must be unique in the cluster. Forces a new resource if changed.
interface ComputeClusterState
interface ComputeClusterStateInput properties used for looking up and filtering ComputeCluster resources.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A map of custom attribute ids to attribute value strings to set for the datastore cluster.
property datacenterId
datacenterId?: pulumi.Input<string>;The managed object ID of the datacenter to create the cluster in. Forces a new resource if changed.
property dpmAutomationLevel
dpmAutomationLevel?: pulumi.Input<string>;The automation level for host power
operations in this cluster. Can be one of manual or automated. Default:
manual.
property dpmEnabled
dpmEnabled?: pulumi.Input<boolean>;Enable DPM support for DRS in this cluster.
Requires drsEnabled to be true in order to be effective.
Default: false.
property dpmThreshold
dpmThreshold?: pulumi.Input<number>;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.
property drsAdvancedOptions
drsAdvancedOptions?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A key/value map that specifies advanced options for DRS and DPM.
property drsAutomationLevel
drsAutomationLevel?: pulumi.Input<string>;The default automation level for all
virtual machines in this cluster. Can be one of manual,
partiallyAutomated, or fullyAutomated. Default: manual.
property drsEnablePredictiveDrs
drsEnablePredictiveDrs?: pulumi.Input<boolean>;When true, enables DRS to use data
from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
recommendations. *
property drsEnableVmOverrides
drsEnableVmOverrides?: pulumi.Input<boolean>;Allow individual DRS overrides to be
set for virtual machines in the cluster. Default: true.
property drsEnabled
drsEnabled?: pulumi.Input<boolean>;Enable DRS for this cluster. Default: false.
property drsMigrationThreshold
drsMigrationThreshold?: pulumi.Input<number>;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.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this cluster in.
This is a path relative to the datacenter you are deploying the cluster to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a cluster named compute-cluster-test in a
host folder located at /dc1/host/foo/bar, with the final inventory path
being /dc1/host/foo/bar/datastore-cluster-test.
property forceEvacuateOnDestroy
forceEvacuateOnDestroy?: pulumi.Input<boolean>;When destroying the resource, setting this to
true will auto-remove any hosts that are currently a member of the cluster,
as if they were removed by taking their entry out of hostSystemIds (see
below). This is an advanced
option and should only be used for testing. Default: false.
property haAdmissionControlFailoverHostSystemIds
haAdmissionControlFailoverHostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;Defines the managed object IDs 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.
property haAdmissionControlHostFailureTolerance
haAdmissionControlHostFailureTolerance?: pulumi.Input<number>;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.
*
property haAdmissionControlPerformanceTolerance
haAdmissionControlPerformanceTolerance?: pulumi.Input<number>;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).
property haAdmissionControlPolicy
haAdmissionControlPolicy?: pulumi.Input<string>;The type of admission control
policy to use with vSphere HA. Can be one of resourcePercentage,
slotPolicy, failoverHosts, or disabled. Default: resourcePercentage.
property haAdmissionControlResourcePercentageAutoCompute
haAdmissionControlResourcePercentageAutoCompute?: pulumi.Input<boolean>;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.
*
property haAdmissionControlResourcePercentageCpu
haAdmissionControlResourcePercentageCpu?: pulumi.Input<number>;Controls the
user-defined percentage of CPU resources in the cluster to reserve for
failover. Default: 100.
property haAdmissionControlResourcePercentageMemory
haAdmissionControlResourcePercentageMemory?: pulumi.Input<number>;Controls the
user-defined percentage of memory resources in the cluster to reserve for
failover. Default: 100.
property haAdmissionControlSlotPolicyExplicitCpu
haAdmissionControlSlotPolicyExplicitCpu?: pulumi.Input<number>;Controls the
user-defined CPU slot size, in MHz. Default: 32.
property haAdmissionControlSlotPolicyExplicitMemory
haAdmissionControlSlotPolicyExplicitMemory?: pulumi.Input<number>;Controls the
user-defined memory slot size, in MB. Default: 100.
property haAdmissionControlSlotPolicyUseExplicitSize
haAdmissionControlSlotPolicyUseExplicitSize?: pulumi.Input<boolean>;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.
property haAdvancedOptions
haAdvancedOptions?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A key/value map that specifies advanced options for vSphere HA.
property haDatastoreApdRecoveryAction
haDatastoreApdRecoveryAction?: pulumi.Input<string>;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.
*
property haDatastoreApdResponse
haDatastoreApdResponse?: pulumi.Input<string>;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.
*
property haDatastoreApdResponseDelay
haDatastoreApdResponseDelay?: pulumi.Input<number>;Controls the delay in minutes
to wait after an APD timeout event to execute the response action defined in
haDatastoreApdResponse. Default: 3
minutes. *
property haDatastorePdlResponse
haDatastorePdlResponse?: pulumi.Input<string>;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.
*
property haEnabled
haEnabled?: pulumi.Input<boolean>;Enable vSphere HA for this cluster. Default:
false.
property haHeartbeatDatastoreIds
haHeartbeatDatastoreIds?: pulumi.Input<pulumi.Input<string>[]>;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.
property haHeartbeatDatastorePolicy
haHeartbeatDatastorePolicy?: pulumi.Input<string>;The selection policy for HA
heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
allFeasibleDsWithUserPreference. Default:
allFeasibleDsWithUserPreference.
property haHostIsolationResponse
haHostIsolationResponse?: pulumi.Input<string>;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.
property haHostMonitoring
haHostMonitoring?: pulumi.Input<string>;Global setting that controls whether
vSphere HA remediates virtual machines on host failure. Can be one of enabled
or disabled. Default: enabled.
property haVmComponentProtection
haVmComponentProtection?: pulumi.Input<string>;Controls vSphere VM component
protection for virtual machines in this cluster. Can be one of enabled or
disabled. Default: enabled.
*
property haVmDependencyRestartCondition
haVmDependencyRestartCondition?: pulumi.Input<string>;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.
*
property haVmFailureInterval
haVmFailureInterval?: pulumi.Input<number>;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.
property haVmMaximumFailureWindow
haVmMaximumFailureWindow?: pulumi.Input<number>;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).
property haVmMaximumResets
haVmMaximumResets?: pulumi.Input<number>;The maximum number of resets that HA will
perform to a virtual machine when responding to a failure event. Default: 3
property haVmMinimumUptime
haVmMinimumUptime?: pulumi.Input<number>;The time, in seconds, that HA waits after
powering on a virtual machine before monitoring for heartbeats. Default:
120 (2 minutes).
property haVmMonitoring
haVmMonitoring?: pulumi.Input<string>;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.
property haVmRestartAdditionalDelay
haVmRestartAdditionalDelay?: pulumi.Input<number>;Additional delay in seconds
after ready condition is met. A VM is considered ready at this point.
Default: 0 (no delay). *
property haVmRestartPriority
haVmRestartPriority?: pulumi.Input<string>;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.
property haVmRestartTimeout
haVmRestartTimeout?: pulumi.Input<number>;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).
*
property hostClusterExitTimeout
hostClusterExitTimeout?: pulumi.Input<number>;The timeout for each host maintenance mode
operation when removing hosts from a cluster. The value is specified in
seconds. Default: 3600 (1 hour).
property hostManaged
hostManaged?: pulumi.Input<boolean>;Can be set to true if compute cluster
membership will be managed through the host resource rather than the
computeCluster resource. Conflicts with: hostSystemIds.
>>>>>>> v1.18.3
property hostSystemIds
hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;The [managed object IDs][docs-about-morefs] of
the hosts to put in the cluster. Conflicts with: hostManaged.
property name
name?: pulumi.Input<string>;The name of the cluster.
property proactiveHaAutomationLevel
proactiveHaAutomationLevel?: pulumi.Input<string>;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. *
property proactiveHaEnabled
proactiveHaEnabled?: pulumi.Input<boolean>;Enables Proactive HA. Default: false.
*
property proactiveHaModerateRemediation
proactiveHaModerateRemediation?: pulumi.Input<string>;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.
*
property proactiveHaProviderIds
proactiveHaProviderIds?: pulumi.Input<pulumi.Input<string>[]>;The list of IDs for health update providers configured for this cluster. *
property proactiveHaSevereRemediation
proactiveHaSevereRemediation?: pulumi.Input<string>;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.
*
property resourcePoolId
resourcePoolId?: pulumi.Input<string>;The managed object ID of the cluster’s root resource pool.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface ComputeClusterVmAffinityRuleArgs
interface ComputeClusterVmAffinityRuleArgsThe set of arguments for constructing a ComputeClusterVmAffinityRule resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property virtualMachineIds
virtualMachineIds: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines to run on the same host together.
interface ComputeClusterVmAffinityRuleState
interface ComputeClusterVmAffinityRuleStateInput properties used for looking up and filtering ComputeClusterVmAffinityRule resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property virtualMachineIds
virtualMachineIds?: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines to run on the same host together.
interface ComputeClusterVmAntiAffinityRuleArgs
interface ComputeClusterVmAntiAffinityRuleArgsThe set of arguments for constructing a ComputeClusterVmAntiAffinityRule resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property virtualMachineIds
virtualMachineIds: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines to run on hosts different from each other.
interface ComputeClusterVmAntiAffinityRuleState
interface ComputeClusterVmAntiAffinityRuleStateInput properties used for looking up and filtering ComputeClusterVmAntiAffinityRule resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property virtualMachineIds
virtualMachineIds?: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines to run on hosts different from each other.
interface ComputeClusterVmDependencyRuleArgs
interface ComputeClusterVmDependencyRuleArgsThe set of arguments for constructing a ComputeClusterVmDependencyRule resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property dependencyVmGroupName
dependencyVmGroupName: pulumi.Input<string>;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.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property vmGroupName
vmGroupName: pulumi.Input<string>;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.
interface ComputeClusterVmDependencyRuleState
interface ComputeClusterVmDependencyRuleStateInput properties used for looking up and filtering ComputeClusterVmDependencyRule resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property dependencyVmGroupName
dependencyVmGroupName?: pulumi.Input<string>;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.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property vmGroupName
vmGroupName?: pulumi.Input<string>;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.
interface ComputeClusterVmGroupArgs
interface ComputeClusterVmGroupArgsThe set of arguments for constructing a ComputeClusterVmGroup resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property name
name?: pulumi.Input<string>;The name of the VM group. This must be unique in the cluster. Forces a new resource if changed.
property virtualMachineIds
virtualMachineIds?: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines in this group.
interface ComputeClusterVmGroupState
interface ComputeClusterVmGroupStateInput properties used for looking up and filtering ComputeClusterVmGroup resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property name
name?: pulumi.Input<string>;The name of the VM group. This must be unique in the cluster. Forces a new resource if changed.
property virtualMachineIds
virtualMachineIds?: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines in this group.
interface ComputeClusterVmHostRuleArgs
interface ComputeClusterVmHostRuleArgsThe set of arguments for constructing a ComputeClusterVmHostRule resource.
property affinityHostGroupName
affinityHostGroupName?: pulumi.Input<string>;When this field is used, the virtual
machines defined in vmGroupName will be run on the
hosts defined in this host group.
property antiAffinityHostGroupName
antiAffinityHostGroupName?: pulumi.Input<string>;When this field is used, the
virtual machines defined in vmGroupName will not be
run on the hosts defined in this host group.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property vmGroupName
vmGroupName: pulumi.Input<string>;The name of the virtual machine group to use with this rule.
interface ComputeClusterVmHostRuleState
interface ComputeClusterVmHostRuleStateInput properties used for looking up and filtering ComputeClusterVmHostRule resources.
property affinityHostGroupName
affinityHostGroupName?: pulumi.Input<string>;When this field is used, the virtual
machines defined in vmGroupName will be run on the
hosts defined in this host group.
property antiAffinityHostGroupName
antiAffinityHostGroupName?: pulumi.Input<string>;When this field is used, the
virtual machines defined in vmGroupName will not be
run on the hosts defined in this host group.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property vmGroupName
vmGroupName?: pulumi.Input<string>;The name of the virtual machine group to use with this rule.
interface ContentLibraryArgs
interface ContentLibraryArgsThe set of arguments for constructing a ContentLibrary resource.
property description
description?: pulumi.Input<string>;A description of the Content Library.
property name
name?: pulumi.Input<string>;The name of the Content Library.
property storageBackings
storageBackings: pulumi.Input<pulumi.Input<string>[]>;The managed object reference ID on which to store Content Library items.
interface ContentLibraryItemArgs
interface ContentLibraryItemArgsThe set of arguments for constructing a ContentLibraryItem resource.
property description
description?: pulumi.Input<string>;A description for the item.
property fileUrls
fileUrls: pulumi.Input<pulumi.Input<string>[]>;A list of files to download for the Content Library item.
property libraryId
libraryId: pulumi.Input<string>;The ID of the Content Library the item should be created in.
property name
name?: pulumi.Input<string>;The name of the item to be created in the Content Library.
property type
type?: pulumi.Input<string>;Type of content library item.
interface ContentLibraryItemState
interface ContentLibraryItemStateInput properties used for looking up and filtering ContentLibraryItem resources.
property description
description?: pulumi.Input<string>;A description for the item.
property fileUrls
fileUrls?: pulumi.Input<pulumi.Input<string>[]>;A list of files to download for the Content Library item.
property libraryId
libraryId?: pulumi.Input<string>;The ID of the Content Library the item should be created in.
property name
name?: pulumi.Input<string>;The name of the item to be created in the Content Library.
property type
type?: pulumi.Input<string>;Type of content library item.
interface ContentLibraryState
interface ContentLibraryStateInput properties used for looking up and filtering ContentLibrary resources.
property description
description?: pulumi.Input<string>;A description of the Content Library.
property name
name?: pulumi.Input<string>;The name of the Content Library.
property storageBackings
storageBackings?: pulumi.Input<pulumi.Input<string>[]>;The managed object reference ID on which to store Content Library items.
interface CustomAttributeArgs
interface CustomAttributeArgsThe set of arguments for constructing a CustomAttribute resource.
property managedObjectType
managedObjectType?: pulumi.Input<string>;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.
property name
name?: pulumi.Input<string>;The name of the custom attribute.
interface CustomAttributeState
interface CustomAttributeStateInput properties used for looking up and filtering CustomAttribute resources.
property managedObjectType
managedObjectType?: pulumi.Input<string>;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.
property name
name?: pulumi.Input<string>;The name of the custom attribute.
interface DatacenterArgs
interface DatacenterArgsThe set of arguments for constructing a Datacenter resource.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;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.
property folder
folder?: pulumi.Input<string>;The folder where the datacenter should be created. Forces a new resource if changed.
property name
name?: pulumi.Input<string>;The name of the datacenter. This name needs to be unique within the folder. Forces a new resource if changed.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface DatacenterState
interface DatacenterStateInput properties used for looking up and filtering Datacenter resources.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;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.
property folder
folder?: pulumi.Input<string>;The folder where the datacenter should be created. Forces a new resource if changed.
property moid
moid?: pulumi.Input<string>;Managed object ID of this datacenter.
property name
name?: pulumi.Input<string>;The name of the datacenter. This name needs to be unique within the folder. Forces a new resource if changed.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface DatastoreClusterArgs
interface DatastoreClusterArgsThe set of arguments for constructing a DatastoreCluster resource.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;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.
property datacenterId
datacenterId: pulumi.Input<string>;The managed object ID of the datacenter to create the datastore cluster in. Forces a new resource if changed.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this datastore
cluster in. This is a path relative to the datacenter you are deploying the
datastore to. Example: for the dc1 datacenter, and a provided folder of
foo/bar, The provider will place a datastore cluster named
datastore-cluster-test in a datastore folder located at
/dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/datastore-cluster-test.
property name
name?: pulumi.Input<string>;The name of the datastore cluster.
property sdrsAdvancedOptions
sdrsAdvancedOptions?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A key/value map of advanced Storage DRS settings that are not exposed via the provider or the vSphere client.
property sdrsAutomationLevel
sdrsAutomationLevel?: pulumi.Input<string>;The global automation level for all
virtual machines in this datastore cluster. Default: manual.
property sdrsDefaultIntraVmAffinity
sdrsDefaultIntraVmAffinity?: pulumi.Input<boolean>;When true, all disks in a
single virtual machine will be kept on the same datastore. Default: true.
property sdrsEnabled
sdrsEnabled?: pulumi.Input<boolean>;Enable Storage DRS for this datastore cluster.
Default: false.
property sdrsFreeSpaceThreshold
sdrsFreeSpaceThreshold?: pulumi.Input<number>;The free space threshold to use.
When set to utilization, drsSpaceUtilizationThreshold is used, and
when set to freeSpace, drsFreeSpaceThreshold is used. Default:
utilization.
property sdrsFreeSpaceThresholdMode
sdrsFreeSpaceThresholdMode?: pulumi.Input<string>;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.
property sdrsFreeSpaceUtilizationDifference
sdrsFreeSpaceUtilizationDifference?: pulumi.Input<number>;The threshold, in
percent, of difference between space utilization in datastores before storage
DRS makes decisions to balance the space. Default: 5 percent.
property sdrsIoBalanceAutomationLevel
sdrsIoBalanceAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting I/O load imbalances.
property sdrsIoLatencyThreshold
sdrsIoLatencyThreshold?: pulumi.Input<number>;The I/O latency threshold, in
milliseconds, that storage DRS uses to make recommendations to move disks
from this datastore. Default: 15 seconds.
property sdrsIoLoadBalanceEnabled
sdrsIoLoadBalanceEnabled?: pulumi.Input<boolean>;Enable I/O load balancing for
this datastore cluster. Default: true.
property sdrsIoLoadImbalanceThreshold
sdrsIoLoadImbalanceThreshold?: pulumi.Input<number>;The difference between load
in datastores in the cluster before storage DRS makes recommendations to
balance the load. Default: 5 percent.
property sdrsIoReservableIopsThreshold
sdrsIoReservableIopsThreshold?: pulumi.Input<number>;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.
property sdrsIoReservablePercentThreshold
sdrsIoReservablePercentThreshold?: pulumi.Input<number>;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.
property sdrsIoReservableThresholdMode
sdrsIoReservableThresholdMode?: pulumi.Input<string>;The reservable IOPS
threshold setting to use, sdrsIoReservablePercentThreshold in the event
of automatic, or sdrsIoReservableIopsThreshold in the event of
manual. Default: automatic.
property sdrsLoadBalanceInterval
sdrsLoadBalanceInterval?: pulumi.Input<number>;The storage DRS poll interval, in
minutes. Default: 480 minutes.
property sdrsPolicyEnforcementAutomationLevel
sdrsPolicyEnforcementAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting storage and VM policy violations.
property sdrsRuleEnforcementAutomationLevel
sdrsRuleEnforcementAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting affinity rule violations.
property sdrsSpaceBalanceAutomationLevel
sdrsSpaceBalanceAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting disk space imbalances.
property sdrsSpaceUtilizationThreshold
sdrsSpaceUtilizationThreshold?: pulumi.Input<number>;The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
property sdrsVmEvacuationAutomationLevel
sdrsVmEvacuationAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when generating recommendations for datastore evacuation.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface DatastoreClusterState
interface DatastoreClusterStateInput properties used for looking up and filtering DatastoreCluster resources.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;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.
property datacenterId
datacenterId?: pulumi.Input<string>;The managed object ID of the datacenter to create the datastore cluster in. Forces a new resource if changed.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this datastore
cluster in. This is a path relative to the datacenter you are deploying the
datastore to. Example: for the dc1 datacenter, and a provided folder of
foo/bar, The provider will place a datastore cluster named
datastore-cluster-test in a datastore folder located at
/dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/datastore-cluster-test.
property name
name?: pulumi.Input<string>;The name of the datastore cluster.
property sdrsAdvancedOptions
sdrsAdvancedOptions?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A key/value map of advanced Storage DRS settings that are not exposed via the provider or the vSphere client.
property sdrsAutomationLevel
sdrsAutomationLevel?: pulumi.Input<string>;The global automation level for all
virtual machines in this datastore cluster. Default: manual.
property sdrsDefaultIntraVmAffinity
sdrsDefaultIntraVmAffinity?: pulumi.Input<boolean>;When true, all disks in a
single virtual machine will be kept on the same datastore. Default: true.
property sdrsEnabled
sdrsEnabled?: pulumi.Input<boolean>;Enable Storage DRS for this datastore cluster.
Default: false.
property sdrsFreeSpaceThreshold
sdrsFreeSpaceThreshold?: pulumi.Input<number>;The free space threshold to use.
When set to utilization, drsSpaceUtilizationThreshold is used, and
when set to freeSpace, drsFreeSpaceThreshold is used. Default:
utilization.
property sdrsFreeSpaceThresholdMode
sdrsFreeSpaceThresholdMode?: pulumi.Input<string>;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.
property sdrsFreeSpaceUtilizationDifference
sdrsFreeSpaceUtilizationDifference?: pulumi.Input<number>;The threshold, in
percent, of difference between space utilization in datastores before storage
DRS makes decisions to balance the space. Default: 5 percent.
property sdrsIoBalanceAutomationLevel
sdrsIoBalanceAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting I/O load imbalances.
property sdrsIoLatencyThreshold
sdrsIoLatencyThreshold?: pulumi.Input<number>;The I/O latency threshold, in
milliseconds, that storage DRS uses to make recommendations to move disks
from this datastore. Default: 15 seconds.
property sdrsIoLoadBalanceEnabled
sdrsIoLoadBalanceEnabled?: pulumi.Input<boolean>;Enable I/O load balancing for
this datastore cluster. Default: true.
property sdrsIoLoadImbalanceThreshold
sdrsIoLoadImbalanceThreshold?: pulumi.Input<number>;The difference between load
in datastores in the cluster before storage DRS makes recommendations to
balance the load. Default: 5 percent.
property sdrsIoReservableIopsThreshold
sdrsIoReservableIopsThreshold?: pulumi.Input<number>;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.
property sdrsIoReservablePercentThreshold
sdrsIoReservablePercentThreshold?: pulumi.Input<number>;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.
property sdrsIoReservableThresholdMode
sdrsIoReservableThresholdMode?: pulumi.Input<string>;The reservable IOPS
threshold setting to use, sdrsIoReservablePercentThreshold in the event
of automatic, or sdrsIoReservableIopsThreshold in the event of
manual. Default: automatic.
property sdrsLoadBalanceInterval
sdrsLoadBalanceInterval?: pulumi.Input<number>;The storage DRS poll interval, in
minutes. Default: 480 minutes.
property sdrsPolicyEnforcementAutomationLevel
sdrsPolicyEnforcementAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting storage and VM policy violations.
property sdrsRuleEnforcementAutomationLevel
sdrsRuleEnforcementAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting affinity rule violations.
property sdrsSpaceBalanceAutomationLevel
sdrsSpaceBalanceAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when correcting disk space imbalances.
property sdrsSpaceUtilizationThreshold
sdrsSpaceUtilizationThreshold?: pulumi.Input<number>;The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
property sdrsVmEvacuationAutomationLevel
sdrsVmEvacuationAutomationLevel?: pulumi.Input<string>;Overrides the default automation settings when generating recommendations for datastore evacuation.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface DatastoreClusterVmAntiAffinityRuleArgs
interface DatastoreClusterVmAntiAffinityRuleArgsThe set of arguments for constructing a DatastoreClusterVmAntiAffinityRule resource.
property datastoreClusterId
datastoreClusterId: pulumi.Input<string>;The managed object reference ID of the datastore cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property virtualMachineIds
virtualMachineIds: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines to run on different datastores from each other.
interface DatastoreClusterVmAntiAffinityRuleState
interface DatastoreClusterVmAntiAffinityRuleStateInput properties used for looking up and filtering DatastoreClusterVmAntiAffinityRule resources.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object reference ID of the datastore cluster to put the group in. Forces a new resource if changed.
property enabled
enabled?: pulumi.Input<boolean>;Enable this rule in the cluster. Default: true.
property mandatory
mandatory?: pulumi.Input<boolean>;When this value is true, prevents any virtual
machine operations that may violate this rule. Default: false.
property name
name?: pulumi.Input<string>;The name of the rule. This must be unique in the cluster.
property virtualMachineIds
virtualMachineIds?: pulumi.Input<pulumi.Input<string>[]>;The UUIDs of the virtual machines to run on different datastores from each other.
interface DistributedPortGroupArgs
interface DistributedPortGroupArgsThe set of arguments for constructing a DistributedPortGroup resource.
property activeUplinks
activeUplinks?: pulumi.Input<pulumi.Input<string>[]>;List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property autoExpand
autoExpand?: pulumi.Input<boolean>;Allows the port group to create additional ports
past the limit specified in numberOfPorts if necessary. Default: true.
property blockAllPorts
blockAllPorts?: pulumi.Input<boolean>;Indicates whether to block all ports by default.
property blockOverrideAllowed
blockOverrideAllowed?: pulumi.Input<boolean>;Allow the port shutdown policy to be overridden on an individual port.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;Enable beacon probing on the ports this policy applies to.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value string to set for port group.
property description
description?: pulumi.Input<string>;An optional description for the port group.
property directpathGen2Allowed
directpathGen2Allowed?: pulumi.Input<boolean>;Allow VMDirectPath Gen2 on the ports this policy applies to.
property distributedVirtualSwitchUuid
distributedVirtualSwitchUuid: pulumi.Input<string>;The ID of the DVS to add the port group to. Forces a new resource if changed.
property egressShapingAverageBandwidth
egressShapingAverageBandwidth?: pulumi.Input<number>;The average egress bandwidth in bits per second if egress shaping is enabled on the port.
property egressShapingBurstSize
egressShapingBurstSize?: pulumi.Input<number>;The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
property egressShapingEnabled
egressShapingEnabled?: pulumi.Input<boolean>;True if the traffic shaper is enabled for egress traffic on the port.
property egressShapingPeakBandwidth
egressShapingPeakBandwidth?: pulumi.Input<number>;The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
property failback
failback?: pulumi.Input<boolean>;If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
property ingressShapingAverageBandwidth
ingressShapingAverageBandwidth?: pulumi.Input<number>;The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
property ingressShapingBurstSize
ingressShapingBurstSize?: pulumi.Input<number>;The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
property ingressShapingEnabled
ingressShapingEnabled?: pulumi.Input<boolean>;True if the traffic shaper is enabled for ingress traffic on the port.
property ingressShapingPeakBandwidth
ingressShapingPeakBandwidth?: pulumi.Input<number>;The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
property lacpEnabled
lacpEnabled?: pulumi.Input<boolean>;Whether or not to enable LACP on all uplink ports.
property lacpMode
lacpMode?: pulumi.Input<string>;The uplink LACP mode to use. Can be one of active or passive.
property livePortMovingAllowed
livePortMovingAllowed?: pulumi.Input<boolean>;Allow a port in this port group to be moved to another port group while it is connected.
property name
name?: pulumi.Input<string>;The name of the port group.
property netflowEnabled
netflowEnabled?: pulumi.Input<boolean>;Indicates whether to enable netflow on all ports.
property netflowOverrideAllowed
netflowOverrideAllowed?: pulumi.Input<boolean>;Allow the Netflow policy on this port group to be overridden on an individual port.
property networkResourcePoolKey
networkResourcePoolKey?: pulumi.Input<string>;The key of a network resource pool
to associate with this port group. The default is -1, which implies no
association.
property networkResourcePoolOverrideAllowed
networkResourcePoolOverrideAllowed?: pulumi.Input<boolean>;Allow the network resource pool set on this port group to be overridden on an individual port.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
property numberOfPorts
numberOfPorts?: pulumi.Input<number>;The number of ports available on this port group. Cannot be decreased below the amount of used ports on the port group.
property portConfigResetAtDisconnect
portConfigResetAtDisconnect?: pulumi.Input<boolean>;Reset a port’s settings to the settings defined on this port group policy when the port disconnects.
property portNameFormat
portNameFormat?: pulumi.Input<string>;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.
property portPrivateSecondaryVlanId
portPrivateSecondaryVlanId?: pulumi.Input<number>;The secondary VLAN ID for this port.
property securityPolicyOverrideAllowed
securityPolicyOverrideAllowed?: pulumi.Input<boolean>;Allow the security policy settings defined in this port group policy to be overridden on an individual port.
property shapingOverrideAllowed
shapingOverrideAllowed?: pulumi.Input<boolean>;Allow the traffic shaping options on this port group policy to be overridden on an individual port.
property standbyUplinks
standbyUplinks?: pulumi.Input<pulumi.Input<string>[]>;List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag IDs to apply to this object.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
property trafficFilterOverrideAllowed
trafficFilterOverrideAllowed?: pulumi.Input<boolean>;Allow any traffic filters on this port group to be overridden on an individual port.
property txUplink
txUplink?: pulumi.Input<boolean>;If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
property type
type?: pulumi.Input<string>;The port group type. Can be one of earlyBinding (static
binding) or ephemeral. Default: earlyBinding.
property uplinkTeamingOverrideAllowed
uplinkTeamingOverrideAllowed?: pulumi.Input<boolean>;Allow the uplink teaming options on this port group to be overridden on an individual port.
property vlanId
vlanId?: pulumi.Input<number>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
property vlanOverrideAllowed
vlanOverrideAllowed?: pulumi.Input<boolean>;Allow the VLAN settings on this port group to be overridden on an individual port.
property vlanRanges
vlanRanges?: pulumi.Input<pulumi.Input<DistributedPortGroupVlanRange>[]>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
interface DistributedPortGroupState
interface DistributedPortGroupStateInput properties used for looking up and filtering DistributedPortGroup resources.
property activeUplinks
activeUplinks?: pulumi.Input<pulumi.Input<string>[]>;List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property autoExpand
autoExpand?: pulumi.Input<boolean>;Allows the port group to create additional ports
past the limit specified in numberOfPorts if necessary. Default: true.
property blockAllPorts
blockAllPorts?: pulumi.Input<boolean>;Indicates whether to block all ports by default.
property blockOverrideAllowed
blockOverrideAllowed?: pulumi.Input<boolean>;Allow the port shutdown policy to be overridden on an individual port.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;Enable beacon probing on the ports this policy applies to.
property configVersion
configVersion?: pulumi.Input<string>;Version string of the configuration that this spec is trying to change.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value string to set for port group.
property description
description?: pulumi.Input<string>;An optional description for the port group.
property directpathGen2Allowed
directpathGen2Allowed?: pulumi.Input<boolean>;Allow VMDirectPath Gen2 on the ports this policy applies to.
property distributedVirtualSwitchUuid
distributedVirtualSwitchUuid?: pulumi.Input<string>;The ID of the DVS to add the port group to. Forces a new resource if changed.
property egressShapingAverageBandwidth
egressShapingAverageBandwidth?: pulumi.Input<number>;The average egress bandwidth in bits per second if egress shaping is enabled on the port.
property egressShapingBurstSize
egressShapingBurstSize?: pulumi.Input<number>;The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
property egressShapingEnabled
egressShapingEnabled?: pulumi.Input<boolean>;True if the traffic shaper is enabled for egress traffic on the port.
property egressShapingPeakBandwidth
egressShapingPeakBandwidth?: pulumi.Input<number>;The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
property failback
failback?: pulumi.Input<boolean>;If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
property ingressShapingAverageBandwidth
ingressShapingAverageBandwidth?: pulumi.Input<number>;The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
property ingressShapingBurstSize
ingressShapingBurstSize?: pulumi.Input<number>;The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
property ingressShapingEnabled
ingressShapingEnabled?: pulumi.Input<boolean>;True if the traffic shaper is enabled for ingress traffic on the port.
property ingressShapingPeakBandwidth
ingressShapingPeakBandwidth?: pulumi.Input<number>;The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
property key
key?: pulumi.Input<string>;The generated UUID of the portgroup.
property lacpEnabled
lacpEnabled?: pulumi.Input<boolean>;Whether or not to enable LACP on all uplink ports.
property lacpMode
lacpMode?: pulumi.Input<string>;The uplink LACP mode to use. Can be one of active or passive.
property livePortMovingAllowed
livePortMovingAllowed?: pulumi.Input<boolean>;Allow a port in this port group to be moved to another port group while it is connected.
property name
name?: pulumi.Input<string>;The name of the port group.
property netflowEnabled
netflowEnabled?: pulumi.Input<boolean>;Indicates whether to enable netflow on all ports.
property netflowOverrideAllowed
netflowOverrideAllowed?: pulumi.Input<boolean>;Allow the Netflow policy on this port group to be overridden on an individual port.
property networkResourcePoolKey
networkResourcePoolKey?: pulumi.Input<string>;The key of a network resource pool
to associate with this port group. The default is -1, which implies no
association.
property networkResourcePoolOverrideAllowed
networkResourcePoolOverrideAllowed?: pulumi.Input<boolean>;Allow the network resource pool set on this port group to be overridden on an individual port.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
property numberOfPorts
numberOfPorts?: pulumi.Input<number>;The number of ports available on this port group. Cannot be decreased below the amount of used ports on the port group.
property portConfigResetAtDisconnect
portConfigResetAtDisconnect?: pulumi.Input<boolean>;Reset a port’s settings to the settings defined on this port group policy when the port disconnects.
property portNameFormat
portNameFormat?: pulumi.Input<string>;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.
property portPrivateSecondaryVlanId
portPrivateSecondaryVlanId?: pulumi.Input<number>;The secondary VLAN ID for this port.
property securityPolicyOverrideAllowed
securityPolicyOverrideAllowed?: pulumi.Input<boolean>;Allow the security policy settings defined in this port group policy to be overridden on an individual port.
property shapingOverrideAllowed
shapingOverrideAllowed?: pulumi.Input<boolean>;Allow the traffic shaping options on this port group policy to be overridden on an individual port.
property standbyUplinks
standbyUplinks?: pulumi.Input<pulumi.Input<string>[]>;List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag IDs to apply to this object.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
property trafficFilterOverrideAllowed
trafficFilterOverrideAllowed?: pulumi.Input<boolean>;Allow any traffic filters on this port group to be overridden on an individual port.
property txUplink
txUplink?: pulumi.Input<boolean>;If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
property type
type?: pulumi.Input<string>;The port group type. Can be one of earlyBinding (static
binding) or ephemeral. Default: earlyBinding.
property uplinkTeamingOverrideAllowed
uplinkTeamingOverrideAllowed?: pulumi.Input<boolean>;Allow the uplink teaming options on this port group to be overridden on an individual port.
property vlanId
vlanId?: pulumi.Input<number>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
property vlanOverrideAllowed
vlanOverrideAllowed?: pulumi.Input<boolean>;Allow the VLAN settings on this port group to be overridden on an individual port.
property vlanRanges
vlanRanges?: pulumi.Input<pulumi.Input<DistributedPortGroupVlanRange>[]>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
interface DistributedVirtualSwitchArgs
interface DistributedVirtualSwitchArgsThe set of arguments for constructing a DistributedVirtualSwitch resource.
property activeUplinks
activeUplinks?: pulumi.Input<pulumi.Input<string>[]>;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.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property blockAllPorts
blockAllPorts?: pulumi.Input<boolean>;Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;Enables beacon probing as an additional measure to detect NIC failure.
property contactDetail
contactDetail?: pulumi.Input<string>;The detailed contact information for the person who is responsible for the DVS.
property contactName
contactName?: pulumi.Input<string>;The name of the person who is responsible for the DVS.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value strings to set for virtual switch.
property datacenterId
datacenterId: pulumi.Input<string>;The ID of the datacenter where the distributed virtual switch will be created. Forces a new resource if changed.
property description
description?: pulumi.Input<string>;A detailed description for the DVS.
property directpathGen2Allowed
directpathGen2Allowed?: pulumi.Input<boolean>;Allow VMDirectPath Gen2 for the ports for which this policy applies to.
property egressShapingAverageBandwidth
egressShapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
property egressShapingBurstSize
egressShapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
property egressShapingEnabled
egressShapingEnabled?: pulumi.Input<boolean>;true if the traffic shaper is enabled
on the port for egress traffic.
property egressShapingPeakBandwidth
egressShapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
property failback
failback?: pulumi.Input<boolean>;If true, the teaming policy will re-activate failed
uplinks higher in precedence when they come back up.
property faulttoleranceMaximumMbit
faulttoleranceMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
property faulttoleranceReservationMbit
faulttoleranceReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
property faulttoleranceShareCount
faulttoleranceShareCount?: pulumi.Input<number>;The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
property faulttoleranceShareLevel
faulttoleranceShareLevel?: pulumi.Input<string>;The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
property folder
folder?: pulumi.Input<string>;The folder to create the DVS in. Forces a new resource if changed.
property hbrMaximumMbit
hbrMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the hbr traffic class, in Mbits/sec.
property hbrReservationMbit
hbrReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
property hbrShareCount
hbrShareCount?: pulumi.Input<number>;The amount of shares to allocate to the hbr traffic class for a custom share level.
property hbrShareLevel
hbrShareLevel?: pulumi.Input<string>;The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
property hosts
hosts?: pulumi.Input<pulumi.Input<DistributedVirtualSwitchHost>[]>;Use the host block to declare a host specification. The
options are:
property ingressShapingAverageBandwidth
ingressShapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
property ingressShapingBurstSize
ingressShapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
property ingressShapingEnabled
ingressShapingEnabled?: pulumi.Input<boolean>;true if the traffic shaper is
enabled on the port for ingress traffic.
property ingressShapingPeakBandwidth
ingressShapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
property ipv4Address
ipv4Address?: pulumi.Input<string>;An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments found below.
property iscsiMaximumMbit
iscsiMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
property iscsiReservationMbit
iscsiReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
property iscsiShareCount
iscsiShareCount?: pulumi.Input<number>;The amount of shares to allocate to the iSCSI traffic class for a custom share level.
property iscsiShareLevel
iscsiShareLevel?: pulumi.Input<string>;The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
property lacpApiVersion
lacpApiVersion?: pulumi.Input<string>;The Link Aggregation Control Protocol group
version to use with the switch. Possible values are singleLag and
multipleLag.
property lacpEnabled
lacpEnabled?: pulumi.Input<boolean>;Enables LACP for the ports that this policy applies to.
property lacpMode
lacpMode?: pulumi.Input<string>;The LACP mode. Can be one of active or passive.
property linkDiscoveryOperation
linkDiscoveryOperation?: pulumi.Input<string>;Whether to advertise or listen
for link discovery traffic.
property linkDiscoveryProtocol
linkDiscoveryProtocol?: pulumi.Input<string>;The discovery protocol type. Valid
types are cdp and lldp.
property managementMaximumMbit
managementMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the management traffic class, in Mbits/sec.
property managementReservationMbit
managementReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
property managementShareCount
managementShareCount?: pulumi.Input<number>;The amount of shares to allocate to the management traffic class for a custom share level.
property managementShareLevel
managementShareLevel?: pulumi.Input<string>;The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
property maxMtu
maxMtu?: pulumi.Input<number>;The maximum transmission unit (MTU) for the virtual switch.
property multicastFilteringMode
multicastFilteringMode?: pulumi.Input<string>;The multicast filtering mode to use
with the switch. Can be one of legacyFiltering or snooping.
property name
name?: pulumi.Input<string>;The name of the distributed virtual switch.
property netflowActiveFlowTimeout
netflowActiveFlowTimeout?: pulumi.Input<number>;The number of seconds after which
active flows are forced to be exported to the collector. Allowed range is
60 to 3600. Default: 60.
property netflowCollectorIpAddress
netflowCollectorIpAddress?: pulumi.Input<string>;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.
property netflowCollectorPort
netflowCollectorPort?: pulumi.Input<number>;Port for the Netflow collector. This must be set before Netflow can be enabled.
property netflowEnabled
netflowEnabled?: pulumi.Input<boolean>;Enables Netflow on all ports that this policy applies to.
property netflowIdleFlowTimeout
netflowIdleFlowTimeout?: pulumi.Input<number>;The number of seconds after which
idle flows are forced to be exported to the collector. Allowed range is 10
to 600. Default: 15.
property netflowInternalFlowsOnly
netflowInternalFlowsOnly?: pulumi.Input<boolean>;Whether to limit analysis to
traffic that has both source and destination served by the same host.
Default: false.
property netflowObservationDomainId
netflowObservationDomainId?: pulumi.Input<number>;The observation domain ID for the Netflow collector.
property netflowSamplingRate
netflowSamplingRate?: pulumi.Input<number>;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%.
property networkResourceControlEnabled
networkResourceControlEnabled?: pulumi.Input<boolean>;Set to true to enable
network I/O control. Default: false.
property networkResourceControlVersion
networkResourceControlVersion?: pulumi.Input<string>;The version of network I/O
control to use. Can be one of version2 or version3. Default: version2.
property nfsMaximumMbit
nfsMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the nfs traffic class, in Mbits/sec.
property nfsReservationMbit
nfsReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
property nfsShareCount
nfsShareCount?: pulumi.Input<number>;The amount of shares to allocate to the nfs traffic class for a custom share level.
property nfsShareLevel
nfsShareLevel?: pulumi.Input<string>;The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If true, the teaming policy will notify the
broadcast network of an uplink failover, triggering cache updates.
property portPrivateSecondaryVlanId
portPrivateSecondaryVlanId?: pulumi.Input<number>;Used to define a secondary VLAN ID when using private VLANs.
property standbyUplinks
standbyUplinks?: pulumi.Input<pulumi.Input<string>[]>;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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The uplink teaming policy. Can be one of
loadbalanceIp, loadbalanceSrcmac, loadbalanceSrcid, or
failoverExplicit.
property txUplink
txUplink?: pulumi.Input<boolean>;Forward all traffic transmitted by ports for which this policy applies to its DVS uplinks.
property uplinks
uplinks?: pulumi.Input<pulumi.Input<string>[]>;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.
property vdpMaximumMbit
vdpMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the vdp traffic class, in Mbits/sec.
property vdpReservationMbit
vdpReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
property vdpShareCount
vdpShareCount?: pulumi.Input<number>;The amount of shares to allocate to the vdp traffic class for a custom share level.
property vdpShareLevel
vdpShareLevel?: pulumi.Input<string>;The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
property version
version?: pulumi.Input<string>;- 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.
property virtualmachineMaximumMbit
virtualmachineMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
property virtualmachineReservationMbit
virtualmachineReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
property virtualmachineShareCount
virtualmachineShareCount?: pulumi.Input<number>;The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
property virtualmachineShareLevel
virtualmachineShareLevel?: pulumi.Input<string>;The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
property vlanId
vlanId?: pulumi.Input<number>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
property vlanRanges
vlanRanges?: pulumi.Input<pulumi.Input<DistributedVirtualSwitchVlanRange>[]>;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:
property vmotionMaximumMbit
vmotionMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
property vmotionReservationMbit
vmotionReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
property vmotionShareCount
vmotionShareCount?: pulumi.Input<number>;The amount of shares to allocate to the vmotion traffic class for a custom share level.
property vmotionShareLevel
vmotionShareLevel?: pulumi.Input<string>;The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
property vsanMaximumMbit
vsanMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the vsan traffic class, in Mbits/sec.
property vsanReservationMbit
vsanReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
property vsanShareCount
vsanShareCount?: pulumi.Input<number>;The amount of shares to allocate to the vsan traffic class for a custom share level.
property vsanShareLevel
vsanShareLevel?: pulumi.Input<string>;The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
interface DistributedVirtualSwitchState
interface DistributedVirtualSwitchStateInput properties used for looking up and filtering DistributedVirtualSwitch resources.
property activeUplinks
activeUplinks?: pulumi.Input<pulumi.Input<string>[]>;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.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;Controls whether or not a virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property blockAllPorts
blockAllPorts?: pulumi.Input<boolean>;Shuts down all ports in the port groups that this policy applies to, effectively blocking all network access to connected virtual devices.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;Enables beacon probing as an additional measure to detect NIC failure.
property configVersion
configVersion?: pulumi.Input<string>;The version string of the configuration that this spec is trying to change.
property contactDetail
contactDetail?: pulumi.Input<string>;The detailed contact information for the person who is responsible for the DVS.
property contactName
contactName?: pulumi.Input<string>;The name of the person who is responsible for the DVS.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value strings to set for virtual switch.
property datacenterId
datacenterId?: pulumi.Input<string>;The ID of the datacenter where the distributed virtual switch will be created. Forces a new resource if changed.
property description
description?: pulumi.Input<string>;A detailed description for the DVS.
property directpathGen2Allowed
directpathGen2Allowed?: pulumi.Input<boolean>;Allow VMDirectPath Gen2 for the ports for which this policy applies to.
property egressShapingAverageBandwidth
egressShapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per second if egress traffic shaping is enabled on the port.
property egressShapingBurstSize
egressShapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if egress traffic shaping is enabled on the port.
property egressShapingEnabled
egressShapingEnabled?: pulumi.Input<boolean>;true if the traffic shaper is enabled
on the port for egress traffic.
property egressShapingPeakBandwidth
egressShapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
property failback
failback?: pulumi.Input<boolean>;If true, the teaming policy will re-activate failed
uplinks higher in precedence when they come back up.
property faulttoleranceMaximumMbit
faulttoleranceMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
property faulttoleranceReservationMbit
faulttoleranceReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
property faulttoleranceShareCount
faulttoleranceShareCount?: pulumi.Input<number>;The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
property faulttoleranceShareLevel
faulttoleranceShareLevel?: pulumi.Input<string>;The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
property folder
folder?: pulumi.Input<string>;The folder to create the DVS in. Forces a new resource if changed.
property hbrMaximumMbit
hbrMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the hbr traffic class, in Mbits/sec.
property hbrReservationMbit
hbrReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
property hbrShareCount
hbrShareCount?: pulumi.Input<number>;The amount of shares to allocate to the hbr traffic class for a custom share level.
property hbrShareLevel
hbrShareLevel?: pulumi.Input<string>;The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
property hosts
hosts?: pulumi.Input<pulumi.Input<DistributedVirtualSwitchHost>[]>;Use the host block to declare a host specification. The
options are:
property ingressShapingAverageBandwidth
ingressShapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per second if ingress traffic shaping is enabled on the port.
property ingressShapingBurstSize
ingressShapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if ingress traffic shaping is enabled on the port.
property ingressShapingEnabled
ingressShapingEnabled?: pulumi.Input<boolean>;true if the traffic shaper is
enabled on the port for ingress traffic.
property ingressShapingPeakBandwidth
ingressShapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
property ipv4Address
ipv4Address?: pulumi.Input<string>;An IPv4 address to identify the switch. This is mostly useful when used with the Netflow arguments found below.
property iscsiMaximumMbit
iscsiMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
property iscsiReservationMbit
iscsiReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
property iscsiShareCount
iscsiShareCount?: pulumi.Input<number>;The amount of shares to allocate to the iSCSI traffic class for a custom share level.
property iscsiShareLevel
iscsiShareLevel?: pulumi.Input<string>;The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
property lacpApiVersion
lacpApiVersion?: pulumi.Input<string>;The Link Aggregation Control Protocol group
version to use with the switch. Possible values are singleLag and
multipleLag.
property lacpEnabled
lacpEnabled?: pulumi.Input<boolean>;Enables LACP for the ports that this policy applies to.
property lacpMode
lacpMode?: pulumi.Input<string>;The LACP mode. Can be one of active or passive.
property linkDiscoveryOperation
linkDiscoveryOperation?: pulumi.Input<string>;Whether to advertise or listen
for link discovery traffic.
property linkDiscoveryProtocol
linkDiscoveryProtocol?: pulumi.Input<string>;The discovery protocol type. Valid
types are cdp and lldp.
property managementMaximumMbit
managementMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the management traffic class, in Mbits/sec.
property managementReservationMbit
managementReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
property managementShareCount
managementShareCount?: pulumi.Input<number>;The amount of shares to allocate to the management traffic class for a custom share level.
property managementShareLevel
managementShareLevel?: pulumi.Input<string>;The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
property maxMtu
maxMtu?: pulumi.Input<number>;The maximum transmission unit (MTU) for the virtual switch.
property multicastFilteringMode
multicastFilteringMode?: pulumi.Input<string>;The multicast filtering mode to use
with the switch. Can be one of legacyFiltering or snooping.
property name
name?: pulumi.Input<string>;The name of the distributed virtual switch.
property netflowActiveFlowTimeout
netflowActiveFlowTimeout?: pulumi.Input<number>;The number of seconds after which
active flows are forced to be exported to the collector. Allowed range is
60 to 3600. Default: 60.
property netflowCollectorIpAddress
netflowCollectorIpAddress?: pulumi.Input<string>;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.
property netflowCollectorPort
netflowCollectorPort?: pulumi.Input<number>;Port for the Netflow collector. This must be set before Netflow can be enabled.
property netflowEnabled
netflowEnabled?: pulumi.Input<boolean>;Enables Netflow on all ports that this policy applies to.
property netflowIdleFlowTimeout
netflowIdleFlowTimeout?: pulumi.Input<number>;The number of seconds after which
idle flows are forced to be exported to the collector. Allowed range is 10
to 600. Default: 15.
property netflowInternalFlowsOnly
netflowInternalFlowsOnly?: pulumi.Input<boolean>;Whether to limit analysis to
traffic that has both source and destination served by the same host.
Default: false.
property netflowObservationDomainId
netflowObservationDomainId?: pulumi.Input<number>;The observation domain ID for the Netflow collector.
property netflowSamplingRate
netflowSamplingRate?: pulumi.Input<number>;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%.
property networkResourceControlEnabled
networkResourceControlEnabled?: pulumi.Input<boolean>;Set to true to enable
network I/O control. Default: false.
property networkResourceControlVersion
networkResourceControlVersion?: pulumi.Input<string>;The version of network I/O
control to use. Can be one of version2 or version3. Default: version2.
property nfsMaximumMbit
nfsMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the nfs traffic class, in Mbits/sec.
property nfsReservationMbit
nfsReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
property nfsShareCount
nfsShareCount?: pulumi.Input<number>;The amount of shares to allocate to the nfs traffic class for a custom share level.
property nfsShareLevel
nfsShareLevel?: pulumi.Input<string>;The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If true, the teaming policy will notify the
broadcast network of an uplink failover, triggering cache updates.
property portPrivateSecondaryVlanId
portPrivateSecondaryVlanId?: pulumi.Input<number>;Used to define a secondary VLAN ID when using private VLANs.
property standbyUplinks
standbyUplinks?: pulumi.Input<pulumi.Input<string>[]>;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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The uplink teaming policy. Can be one of
loadbalanceIp, loadbalanceSrcmac, loadbalanceSrcid, or
failoverExplicit.
property txUplink
txUplink?: pulumi.Input<boolean>;Forward all traffic transmitted by ports for which this policy applies to its DVS uplinks.
property uplinks
uplinks?: pulumi.Input<pulumi.Input<string>[]>;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.
property vdpMaximumMbit
vdpMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the vdp traffic class, in Mbits/sec.
property vdpReservationMbit
vdpReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
property vdpShareCount
vdpShareCount?: pulumi.Input<number>;The amount of shares to allocate to the vdp traffic class for a custom share level.
property vdpShareLevel
vdpShareLevel?: pulumi.Input<string>;The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
property version
version?: pulumi.Input<string>;- 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.
property virtualmachineMaximumMbit
virtualmachineMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
property virtualmachineReservationMbit
virtualmachineReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
property virtualmachineShareCount
virtualmachineShareCount?: pulumi.Input<number>;The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
property virtualmachineShareLevel
virtualmachineShareLevel?: pulumi.Input<string>;The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
property vlanId
vlanId?: pulumi.Input<number>;The VLAN ID for single VLAN mode. 0 denotes no VLAN.
property vlanRanges
vlanRanges?: pulumi.Input<pulumi.Input<DistributedVirtualSwitchVlanRange>[]>;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:
property vmotionMaximumMbit
vmotionMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
property vmotionReservationMbit
vmotionReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
property vmotionShareCount
vmotionShareCount?: pulumi.Input<number>;The amount of shares to allocate to the vmotion traffic class for a custom share level.
property vmotionShareLevel
vmotionShareLevel?: pulumi.Input<string>;The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
property vsanMaximumMbit
vsanMaximumMbit?: pulumi.Input<number>;The maximum allowed usage for the vsan traffic class, in Mbits/sec.
property vsanReservationMbit
vsanReservationMbit?: pulumi.Input<number>;The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
property vsanShareCount
vsanShareCount?: pulumi.Input<number>;The amount of shares to allocate to the vsan traffic class for a custom share level.
property vsanShareLevel
vsanShareLevel?: pulumi.Input<string>;The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
interface DpmHostOverrideArgs
interface DpmHostOverrideArgsThe set of arguments for constructing a DpmHostOverride resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property dpmAutomationLevel
dpmAutomationLevel?: pulumi.Input<string>;The automation level for host power
operations on this host. Can be one of manual or automated. Default:
manual.
property dpmEnabled
dpmEnabled?: pulumi.Input<boolean>;Enable DPM support for this host. Default:
false.
property hostSystemId
hostSystemId: pulumi.Input<string>;The managed object ID of the host.
interface DpmHostOverrideState
interface DpmHostOverrideStateInput properties used for looking up and filtering DpmHostOverride resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property dpmAutomationLevel
dpmAutomationLevel?: pulumi.Input<string>;The automation level for host power
operations on this host. Can be one of manual or automated. Default:
manual.
property dpmEnabled
dpmEnabled?: pulumi.Input<boolean>;Enable DPM support for this host. Default:
false.
property hostSystemId
hostSystemId?: pulumi.Input<string>;The managed object ID of the host.
interface DrsVmOverrideArgs
interface DrsVmOverrideArgsThe set of arguments for constructing a DrsVmOverride resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property drsAutomationLevel
drsAutomationLevel?: pulumi.Input<string>;Overrides the automation level for this virtual
machine in the cluster. Can be one of manual, partiallyAutomated, or
fullyAutomated. Default: manual.
property drsEnabled
drsEnabled?: pulumi.Input<boolean>;Overrides the default DRS setting for this virtual
machine. Can be either true or false. Default: false.
property virtualMachineId
virtualMachineId: pulumi.Input<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
interface DrsVmOverrideState
interface DrsVmOverrideStateInput properties used for looking up and filtering DrsVmOverride resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property drsAutomationLevel
drsAutomationLevel?: pulumi.Input<string>;Overrides the automation level for this virtual
machine in the cluster. Can be one of manual, partiallyAutomated, or
fullyAutomated. Default: manual.
property drsEnabled
drsEnabled?: pulumi.Input<boolean>;Overrides the default DRS setting for this virtual
machine. Can be either true or false. Default: false.
property virtualMachineId
virtualMachineId?: pulumi.Input<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
interface FileArgs
interface FileArgsThe set of arguments for constructing a File resource.
property createDirectories
createDirectories?: pulumi.Input<boolean>;Create directories in destinationFile
path parameter if any missing for copy operation.
property datacenter
datacenter?: pulumi.Input<string>;The name of a datacenter in which the file will be uploaded to.
property datastore
datastore: pulumi.Input<string>;The name of the datastore in which to upload the file to.
property destinationFile
destinationFile: pulumi.Input<string>;The path to where the file should be uploaded or copied to on vSphere.
property sourceDatacenter
sourceDatacenter?: pulumi.Input<string>;The name of a datacenter in which the file will be copied from. Forces a new resource if changed.
property sourceDatastore
sourceDatastore?: pulumi.Input<string>;The name of the datastore in which file will be copied from. Forces a new resource if changed.
property sourceFile
sourceFile: pulumi.Input<string>;The path to the file being uploaded from the host to vSphere or copied within vSphere. Forces a new resource if changed.
interface FileState
interface FileStateInput properties used for looking up and filtering File resources.
property createDirectories
createDirectories?: pulumi.Input<boolean>;Create directories in destinationFile
path parameter if any missing for copy operation.
property datacenter
datacenter?: pulumi.Input<string>;The name of a datacenter in which the file will be uploaded to.
property datastore
datastore?: pulumi.Input<string>;The name of the datastore in which to upload the file to.
property destinationFile
destinationFile?: pulumi.Input<string>;The path to where the file should be uploaded or copied to on vSphere.
property sourceDatacenter
sourceDatacenter?: pulumi.Input<string>;The name of a datacenter in which the file will be copied from. Forces a new resource if changed.
property sourceDatastore
sourceDatastore?: pulumi.Input<string>;The name of the datastore in which file will be copied from. Forces a new resource if changed.
property sourceFile
sourceFile?: pulumi.Input<string>;The path to the file being uploaded from the host to vSphere or copied within vSphere. Forces a new resource if changed.
interface FolderArgs
interface FolderArgsThe set of arguments for constructing a Folder resource.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;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.
property datacenterId
datacenterId?: pulumi.Input<string>;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.
property path
path: pulumi.Input<string>;The path of the folder to be created. This is relative to
the root of the type of folder you are creating, and the supplied datacenter.
For example, given a default datacenter of default-dc, a folder of type
vm (denoting a virtual machine folder), and a supplied folder of
test-folder, the resulting path would be
/default-dc/vm/test-folder.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property type
type: pulumi.Input<string>;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.
interface FolderState
interface FolderStateInput properties used for looking up and filtering Folder resources.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;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.
property datacenterId
datacenterId?: pulumi.Input<string>;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.
property path
path?: pulumi.Input<string>;The path of the folder to be created. This is relative to
the root of the type of folder you are creating, and the supplied datacenter.
For example, given a default datacenter of default-dc, a folder of type
vm (denoting a virtual machine folder), and a supplied folder of
test-folder, the resulting path would be
/default-dc/vm/test-folder.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property type
type?: pulumi.Input<string>;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.
interface GetComputeClusterArgs
interface GetComputeClusterArgsA collection of arguments for invoking getComputeCluster.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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 vsphere..Datacenter
data source.
property name
name: string;The name or absolute path to the cluster.
interface GetComputeClusterResult
interface GetComputeClusterResultA collection of values returned by getComputeCluster.
property datacenterId
datacenterId?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;property resourcePoolId
resourcePoolId: string;interface GetContentLibraryArgs
interface GetContentLibraryArgsA collection of arguments for invoking getContentLibrary.
property name
name: string;The name of the Content Library.
interface GetContentLibraryItemArgs
interface GetContentLibraryItemArgsA collection of arguments for invoking getContentLibraryItem.
property libraryId
libraryId: string;The ID of the Content Library the item exists in.
property name
name: string;The name of the Content Library.
interface GetContentLibraryItemResult
interface GetContentLibraryItemResultA collection of values returned by getContentLibraryItem.
property id
id: string;The provider-assigned unique ID for this managed resource.
property libraryId
libraryId: string;property name
name: string;interface GetContentLibraryResult
interface GetContentLibraryResultA collection of values returned by getContentLibrary.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface GetCustomAttributeArgs
interface GetCustomAttributeArgsA collection of arguments for invoking getCustomAttribute.
property name
name: string;The name of the custom attribute.
interface GetCustomAttributeResult
interface GetCustomAttributeResultA collection of values returned by getCustomAttribute.
property id
id: string;The provider-assigned unique ID for this managed resource.
property managedObjectType
managedObjectType: string;property name
name: string;interface GetDatacenterArgs
interface GetDatacenterArgsA collection of arguments for invoking getDatacenter.
property name
name?: undefined | string;The name of the datacenter. This can be a name or path. Can be omitted if there is only one datacenter in your inventory.
interface GetDatacenterResult
interface GetDatacenterResultA collection of values returned by getDatacenter.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name?: undefined | string;interface GetDatastoreArgs
interface GetDatastoreArgsA collection of arguments for invoking getDatastore.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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 vsphere..Datacenter
data source.
property name
name: string;The name of the datastore. This can be a name or path.
interface GetDatastoreClusterArgs
interface GetDatastoreClusterArgsA collection of arguments for invoking getDatastoreCluster.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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
vsphere..Datacenter data source.
property name
name: string;The name or absolute path to the datastore cluster.
interface GetDatastoreClusterResult
interface GetDatastoreClusterResultA collection of values returned by getDatastoreCluster.
property datacenterId
datacenterId?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface GetDatastoreResult
interface GetDatastoreResultA collection of values returned by getDatastore.
property datacenterId
datacenterId?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface GetDistributedVirtualSwitchArgs
interface GetDistributedVirtualSwitchArgsA collection of arguments for invoking getDistributedVirtualSwitch.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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 vsphere..Datacenter data
source.
property name
name: string;The name of the distributed virtual switch. This can be a name or path.
interface GetDistributedVirtualSwitchResult
interface GetDistributedVirtualSwitchResultA collection of values returned by getDistributedVirtualSwitch.
property datacenterId
datacenterId?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;property uplinks
uplinks: string[];function getEnv
getEnv(vars: string[]): string | undefinedfunction getEnvBoolean
getEnvBoolean(vars: string[]): boolean | undefinedfunction getEnvNumber
getEnvNumber(vars: string[]): number | undefinedinterface GetFolderArgs
interface GetFolderArgsA collection of arguments for invoking getFolder.
property path
path: string;The absolute path of the folder. For example, given a
default datacenter of default-dc, a folder of type vm, and a folder name
of test-folder, the resulting path would be
/default-dc/vm/test-folder. The valid folder types to be used in
the path are: vm, host, datacenter, datastore, or network.
interface GetFolderResult
interface GetFolderResultA collection of values returned by getFolder.
property id
id: string;The provider-assigned unique ID for this managed resource.
property path
path: string;interface GetHostArgs
interface GetHostArgsA collection of arguments for invoking getHost.
property datacenterId
datacenterId: string;The managed object reference ID of a datacenter.
property name
name?: undefined | string;The name of the host. This can be a name or path. Can be omitted if there is only one host in your inventory.
interface GetHostResult
interface GetHostResultA collection of values returned by getHost.
property datacenterId
datacenterId: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name?: undefined | string;property resourcePoolId
resourcePoolId: string;The managed object ID of the host’s root resource pool.
interface GetNetworkArgs
interface GetNetworkArgsA collection of arguments for invoking getNetwork.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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 vsphere..Datacenter data
source.
property distributedVirtualSwitchUuid
distributedVirtualSwitchUuid?: undefined | string;For distributed port group type network objects, the ID of the distributed virtual switch the given port group belongs to. It is useful to differentiate port groups with same name using the Distributed virtual switch ID.
property name
name: string;The name of the network. This can be a name or path.
interface GetNetworkResult
interface GetNetworkResultA collection of values returned by getNetwork.
property datacenterId
datacenterId?: undefined | string;property distributedVirtualSwitchUuid
distributedVirtualSwitchUuid?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;property type
type: string;interface GetPolicyArgs
interface GetPolicyArgsA collection of arguments for invoking getPolicy.
property name
name: string;The name of the storage policy.
interface GetPolicyResult
interface GetPolicyResultA collection of values returned by getPolicy.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface GetResourcePoolArgs
interface GetResourcePoolArgsA collection of arguments for invoking getResourcePool.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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
vsphere..Datacenter data source.
property name
name?: undefined | string;The name of the resource pool. This can be a name or path. This is required when using vCenter.
interface GetResourcePoolResult
interface GetResourcePoolResultA collection of values returned by getResourcePool.
property datacenterId
datacenterId?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name?: undefined | string;interface GetTagArgs
interface GetTagArgsA collection of arguments for invoking getTag.
property categoryId
categoryId: string;The ID of the tag category the tag is located in.
property name
name: string;The name of the tag.
interface GetTagCategoryArgs
interface GetTagCategoryArgsA collection of arguments for invoking getTagCategory.
property name
name: string;The name of the tag category.
interface GetTagCategoryResult
interface GetTagCategoryResultA collection of values returned by getTagCategory.
property associableTypes
associableTypes: string[];property cardinality
cardinality: string;property description
description: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface GetTagResult
interface GetTagResultA collection of values returned by getTag.
property categoryId
categoryId: string;property description
description: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;interface GetVappContainerArgs
interface GetVappContainerArgsA collection of arguments for invoking getVappContainer.
property datacenterId
datacenterId: string;The managed object reference ID of the datacenter the vApp container is located in.
property name
name: string;The name of the vApp container. This can be a name or path.
interface GetVappContainerResult
interface GetVappContainerResultA collection of values returned by getVappContainer.
property datacenterId
datacenterId: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;function getVersion
getVersion(): stringinterface GetVirtualMachineArgs
interface GetVirtualMachineArgsA collection of arguments for invoking getVirtualMachine.
property datacenterId
datacenterId?: undefined | string;The managed object reference
ID 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
vsphere..Datacenter data source.
property name
name: string;The name of the virtual machine. This can be a name or path.
property scsiControllerScanCount
scsiControllerScanCount?: undefined | number;The number of SCSI controllers to
scan for disk attributes and controller types on. Default: 1.
interface GetVirtualMachineResult
interface GetVirtualMachineResultA collection of values returned by getVirtualMachine.
property alternateGuestName
alternateGuestName: string;The alternate guest name of the virtual machine when
guestId is a non-specific operating system, like otherGuest.
property datacenterId
datacenterId?: undefined | string;property disks
disks: GetVirtualMachineDisk[];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 vsphere..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:
property firmware
firmware: string;The firmware type for this virtual machine. Can be bios or efi.
property guestId
guestId: string;The guest ID of the virtual machine or template.
property guestIpAddresses
guestIpAddresses: string[];A list of IP addresses as reported by VMWare tools.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;property networkInterfaceTypes
networkInterfaceTypes: string[];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.
property scsiBusSharing
scsiBusSharing: string;Mode for sharing the SCSI bus. The modes are
physicalSharing, virtualSharing, and noSharing. Only the first number of
controllers defined by scsiControllerScanCount are scanned.
property scsiControllerScanCount
scsiControllerScanCount?: undefined | number;property scsiType
scsiType: string;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.
interface GetVmfsDisksArgs
interface GetVmfsDisksArgsA collection of arguments for invoking getVmfsDisks.
property filter
filter?: undefined | string;A regular expression to filter the disks against. Only disks with canonical names that match will be included.
property hostSystemId
hostSystemId: string;The managed object ID of the host to look for disks on.
property rescan
rescan?: undefined | false | true;Whether or not to rescan storage adapters before
searching for disks. This may lengthen the time it takes to perform the
search. Default: false.
interface GetVmfsDisksResult
interface GetVmfsDisksResultA collection of values returned by getVmfsDisks.
property disks
disks: string[];A lexicographically sorted list of devices discovered by the
operation, matching the supplied filter, if provided.
property filter
filter?: undefined | string;property hostSystemId
hostSystemId: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property rescan
rescan?: undefined | false | true;interface HaVmOverrideArgs
interface HaVmOverrideArgsThe set of arguments for constructing a HaVmOverride resource.
property computeClusterId
computeClusterId: pulumi.Input<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property haDatastoreApdRecoveryAction
haDatastoreApdRecoveryAction?: pulumi.Input<string>;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.
property haDatastoreApdResponse
haDatastoreApdResponse?: pulumi.Input<string>;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.
property haDatastoreApdResponseDelay
haDatastoreApdResponseDelay?: pulumi.Input<number>;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.
property haDatastorePdlResponse
haDatastorePdlResponse?: pulumi.Input<string>;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.
property haHostIsolationResponse
haHostIsolationResponse?: pulumi.Input<string>;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.
property haVmFailureInterval
haVmFailureInterval?: pulumi.Input<number>;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.
property haVmMaximumFailureWindow
haVmMaximumFailureWindow?: pulumi.Input<number>;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).
property haVmMaximumResets
haVmMaximumResets?: pulumi.Input<number>;The maximum number of resets that HA will
perform to this virtual machine when responding to a failure event. Default:
3
property haVmMinimumUptime
haVmMinimumUptime?: pulumi.Input<number>;The time, in seconds, that HA waits after
powering on this virtual machine before monitoring for heartbeats. Default:
120 (2 minutes).
property haVmMonitoring
haVmMonitoring?: pulumi.Input<string>;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.
property haVmMonitoringUseClusterDefaults
haVmMonitoringUseClusterDefaults?: pulumi.Input<boolean>;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.
property haVmRestartPriority
haVmRestartPriority?: pulumi.Input<string>;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.
property haVmRestartTimeout
haVmRestartTimeout?: pulumi.Input<number>;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.
property virtualMachineId
virtualMachineId: pulumi.Input<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
interface HaVmOverrideState
interface HaVmOverrideStateInput properties used for looking up and filtering HaVmOverride resources.
property computeClusterId
computeClusterId?: pulumi.Input<string>;The managed object reference ID of the cluster to put the override in. Forces a new resource if changed.
property haDatastoreApdRecoveryAction
haDatastoreApdRecoveryAction?: pulumi.Input<string>;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.
property haDatastoreApdResponse
haDatastoreApdResponse?: pulumi.Input<string>;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.
property haDatastoreApdResponseDelay
haDatastoreApdResponseDelay?: pulumi.Input<number>;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.
property haDatastorePdlResponse
haDatastorePdlResponse?: pulumi.Input<string>;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.
property haHostIsolationResponse
haHostIsolationResponse?: pulumi.Input<string>;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.
property haVmFailureInterval
haVmFailureInterval?: pulumi.Input<number>;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.
property haVmMaximumFailureWindow
haVmMaximumFailureWindow?: pulumi.Input<number>;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).
property haVmMaximumResets
haVmMaximumResets?: pulumi.Input<number>;The maximum number of resets that HA will
perform to this virtual machine when responding to a failure event. Default:
3
property haVmMinimumUptime
haVmMinimumUptime?: pulumi.Input<number>;The time, in seconds, that HA waits after
powering on this virtual machine before monitoring for heartbeats. Default:
120 (2 minutes).
property haVmMonitoring
haVmMonitoring?: pulumi.Input<string>;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.
property haVmMonitoringUseClusterDefaults
haVmMonitoringUseClusterDefaults?: pulumi.Input<boolean>;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.
property haVmRestartPriority
haVmRestartPriority?: pulumi.Input<string>;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.
property haVmRestartTimeout
haVmRestartTimeout?: pulumi.Input<number>;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.
property virtualMachineId
virtualMachineId?: pulumi.Input<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
interface HostArgs
interface HostArgsThe set of arguments for constructing a Host resource.
property cluster
cluster?: pulumi.Input<string>;The ID of the Compute Cluster this host should
be added to. This should not be set if datacenter is set. Conflicts with:
cluster.
property clusterManaged
clusterManaged?: pulumi.Input<boolean>;Can be set to true if compute cluster
membership will be managed through the computeCluster resource rather
than thehost resource. Conflicts with: cluster.
property connected
connected?: pulumi.Input<boolean>;If set to false then the host will be disconected.
Default is false.
property datacenter
datacenter?: pulumi.Input<string>;The ID of the datacenter this host should
be added to. This should not be set if cluster is set.
property force
force?: pulumi.Input<boolean>;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
property hostname
hostname: pulumi.Input<string>;FQDN or IP address of the host to be added.
property license
license?: pulumi.Input<string>;The license key that will be applied to the host. The license key is expected to be present in vSphere.
property lockdown
lockdown?: pulumi.Input<string>;Set the lockdown state of the host. Valid options are
disabled, normal, and strict. Default is disabled.
property maintenance
maintenance?: pulumi.Input<boolean>;Set the management state of the host. Default is false.
property password
password: pulumi.Input<string>;Password that will be used by vSphere to authenticate to the host.
property thumbprint
thumbprint?: pulumi.Input<string>;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.
property username
username: pulumi.Input<string>;Username that will be used by vSphere to authenticate to the host.
interface HostPortGroupArgs
interface HostPortGroupArgsThe set of arguments for constructing a HostPortGroup resource.
property activeNics
activeNics?: pulumi.Input<pulumi.Input<string>[]>;List of active network adapters used for load balancing.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
property failback
failback?: pulumi.Input<boolean>;If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
property hostSystemId
hostSystemId: pulumi.Input<string>;The managed object ID of the host to set the port group up on. Forces a new resource if changed.
property name
name?: pulumi.Input<string>;The name of the port group. Forces a new resource if changed.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
property shapingAverageBandwidth
shapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per second if traffic shaping is enabled.
property shapingBurstSize
shapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if traffic shaping is enabled.
property shapingEnabled
shapingEnabled?: pulumi.Input<boolean>;Enable traffic shaping on this virtual switch or port group.
property shapingPeakBandwidth
shapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
property standbyNics
standbyNics?: pulumi.Input<pulumi.Input<string>[]>;List of standby network adapters used for failover.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
property virtualSwitchName
virtualSwitchName: pulumi.Input<string>;The name of the virtual switch to bind this port group to. Forces a new resource if changed.
property vlanId
vlanId?: pulumi.Input<number>;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.
interface HostPortGroupState
interface HostPortGroupStateInput properties used for looking up and filtering HostPortGroup resources.
property activeNics
activeNics?: pulumi.Input<pulumi.Input<string>[]>;List of active network adapters used for load balancing.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access Control (MAC) address can be changed.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
property computedPolicy
computedPolicy?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A map with a full set of the policy options computed from defaults and overrides, explaining the effective policy for this port group.
property failback
failback?: pulumi.Input<boolean>;If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
property hostSystemId
hostSystemId?: pulumi.Input<string>;The managed object ID of the host to set the port group up on. Forces a new resource if changed.
property key
key?: pulumi.Input<string>;The key for this port group as returned from the vSphere API.
property name
name?: pulumi.Input<string>;The name of the port group. Forces a new resource if changed.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
property ports
ports?: pulumi.Input<HostPortGroupPorts>;A list of ports that currently exist and are used on this port group.
property shapingAverageBandwidth
shapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per second if traffic shaping is enabled.
property shapingBurstSize
shapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if traffic shaping is enabled.
property shapingEnabled
shapingEnabled?: pulumi.Input<boolean>;Enable traffic shaping on this virtual switch or port group.
property shapingPeakBandwidth
shapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
property standbyNics
standbyNics?: pulumi.Input<pulumi.Input<string>[]>;List of standby network adapters used for failover.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
property virtualSwitchName
virtualSwitchName?: pulumi.Input<string>;The name of the virtual switch to bind this port group to. Forces a new resource if changed.
property vlanId
vlanId?: pulumi.Input<number>;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.
interface HostState
interface HostStateInput properties used for looking up and filtering Host resources.
property cluster
cluster?: pulumi.Input<string>;The ID of the Compute Cluster this host should
be added to. This should not be set if datacenter is set. Conflicts with:
cluster.
property clusterManaged
clusterManaged?: pulumi.Input<boolean>;Can be set to true if compute cluster
membership will be managed through the computeCluster resource rather
than thehost resource. Conflicts with: cluster.
property connected
connected?: pulumi.Input<boolean>;If set to false then the host will be disconected.
Default is false.
property datacenter
datacenter?: pulumi.Input<string>;The ID of the datacenter this host should
be added to. This should not be set if cluster is set.
property force
force?: pulumi.Input<boolean>;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
property hostname
hostname?: pulumi.Input<string>;FQDN or IP address of the host to be added.
property license
license?: pulumi.Input<string>;The license key that will be applied to the host. The license key is expected to be present in vSphere.
property lockdown
lockdown?: pulumi.Input<string>;Set the lockdown state of the host. Valid options are
disabled, normal, and strict. Default is disabled.
property maintenance
maintenance?: pulumi.Input<boolean>;Set the management state of the host. Default is false.
property password
password?: pulumi.Input<string>;Password that will be used by vSphere to authenticate to the host.
property thumbprint
thumbprint?: pulumi.Input<string>;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.
property username
username?: pulumi.Input<string>;Username that will be used by vSphere to authenticate to the host.
interface HostVirtualSwitchArgs
interface HostVirtualSwitchArgsThe set of arguments for constructing a HostVirtualSwitch resource.
property activeNics
activeNics: pulumi.Input<pulumi.Input<string>[]>;The list of active network adapters used for load balancing.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;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.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access
Control (MAC) address can be changed. Default: true.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This
flag indicates whether or not all traffic is seen on a given port. Default:
false.
property beaconInterval
beaconInterval?: pulumi.Input<number>;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.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;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.
property failback
failback?: pulumi.Input<boolean>;If set to true, the teaming policy will re-activate
failed interfaces higher in precedence when they come back up. Default:
true.
property hostSystemId
hostSystemId: pulumi.Input<string>;The managed object ID of the host to set the virtual switch up on. Forces a new resource if changed.
property linkDiscoveryOperation
linkDiscoveryOperation?: pulumi.Input<string>;Whether to advertise or listen
for link discovery traffic. Default: listen.
property linkDiscoveryProtocol
linkDiscoveryProtocol?: pulumi.Input<string>;The discovery protocol type. Valid
types are cpd and lldp. Default: cdp.
property mtu
mtu?: pulumi.Input<number>;The maximum transmission unit (MTU) for the virtual
switch. Default: 1500.
property name
name?: pulumi.Input<string>;The name of the virtual switch. Forces a new resource if changed.
property networkAdapters
networkAdapters: pulumi.Input<pulumi.Input<string>[]>;The network interfaces to bind to the bridge.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If set to true, the teaming policy will
notify the broadcast network of a NIC failover, triggering cache updates.
Default: true.
property numberOfPorts
numberOfPorts?: pulumi.Input<number>;The number of ports to create with this
virtual switch. Default: 128.
property shapingAverageBandwidth
shapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per
second if traffic shaping is enabled. Default: 0
property shapingBurstSize
shapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if
shaping is enabled. Default: 0
property shapingEnabled
shapingEnabled?: pulumi.Input<boolean>;Set to true to enable the traffic shaper for
ports managed by this virtual switch. Default: false.
property shapingPeakBandwidth
shapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in
bits per second if traffic shaping is enabled. Default: 0
property standbyNics
standbyNics: pulumi.Input<pulumi.Input<string>[]>;The list of standby network adapters used for failover.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The network adapter teaming policy. Can be one
of loadbalanceIp, loadbalanceSrcmac, loadbalanceSrcid, or
failoverExplicit. Default: loadbalanceSrcid.
interface HostVirtualSwitchState
interface HostVirtualSwitchStateInput properties used for looking up and filtering HostVirtualSwitch resources.
property activeNics
activeNics?: pulumi.Input<pulumi.Input<string>[]>;The list of active network adapters used for load balancing.
property allowForgedTransmits
allowForgedTransmits?: pulumi.Input<boolean>;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.
property allowMacChanges
allowMacChanges?: pulumi.Input<boolean>;Controls whether or not the Media Access
Control (MAC) address can be changed. Default: true.
property allowPromiscuous
allowPromiscuous?: pulumi.Input<boolean>;Enable promiscuous mode on the network. This
flag indicates whether or not all traffic is seen on a given port. Default:
false.
property beaconInterval
beaconInterval?: pulumi.Input<number>;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.
property checkBeacon
checkBeacon?: pulumi.Input<boolean>;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.
property failback
failback?: pulumi.Input<boolean>;If set to true, the teaming policy will re-activate
failed interfaces higher in precedence when they come back up. Default:
true.
property hostSystemId
hostSystemId?: pulumi.Input<string>;The managed object ID of the host to set the virtual switch up on. Forces a new resource if changed.
property linkDiscoveryOperation
linkDiscoveryOperation?: pulumi.Input<string>;Whether to advertise or listen
for link discovery traffic. Default: listen.
property linkDiscoveryProtocol
linkDiscoveryProtocol?: pulumi.Input<string>;The discovery protocol type. Valid
types are cpd and lldp. Default: cdp.
property mtu
mtu?: pulumi.Input<number>;The maximum transmission unit (MTU) for the virtual
switch. Default: 1500.
property name
name?: pulumi.Input<string>;The name of the virtual switch. Forces a new resource if changed.
property networkAdapters
networkAdapters?: pulumi.Input<pulumi.Input<string>[]>;The network interfaces to bind to the bridge.
property notifySwitches
notifySwitches?: pulumi.Input<boolean>;If set to true, the teaming policy will
notify the broadcast network of a NIC failover, triggering cache updates.
Default: true.
property numberOfPorts
numberOfPorts?: pulumi.Input<number>;The number of ports to create with this
virtual switch. Default: 128.
property shapingAverageBandwidth
shapingAverageBandwidth?: pulumi.Input<number>;The average bandwidth in bits per
second if traffic shaping is enabled. Default: 0
property shapingBurstSize
shapingBurstSize?: pulumi.Input<number>;The maximum burst size allowed in bytes if
shaping is enabled. Default: 0
property shapingEnabled
shapingEnabled?: pulumi.Input<boolean>;Set to true to enable the traffic shaper for
ports managed by this virtual switch. Default: false.
property shapingPeakBandwidth
shapingPeakBandwidth?: pulumi.Input<number>;The peak bandwidth during bursts in
bits per second if traffic shaping is enabled. Default: 0
property standbyNics
standbyNics?: pulumi.Input<pulumi.Input<string>[]>;The list of standby network adapters used for failover.
property teamingPolicy
teamingPolicy?: pulumi.Input<string>;The network adapter teaming policy. Can be one
of loadbalanceIp, loadbalanceSrcmac, loadbalanceSrcid, or
failoverExplicit. Default: loadbalanceSrcid.
interface LicenseArgs
interface LicenseArgsThe set of arguments for constructing a License resource.
property labels
labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A map of key/value pairs to be attached as labels (tags) to the license key.
property licenseKey
licenseKey: pulumi.Input<string>;The license key to add.
interface LicenseState
interface LicenseStateInput properties used for looking up and filtering License resources.
property editionKey
editionKey?: pulumi.Input<string>;The product edition of the license key.
property labels
labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A map of key/value pairs to be attached as labels (tags) to the license key.
property licenseKey
licenseKey?: pulumi.Input<string>;The license key to add.
property name
name?: pulumi.Input<string>;The display name for the license.
property total
total?: pulumi.Input<number>;Total number of units (example: CPUs) contained in the license.
property used
used?: pulumi.Input<number>;The number of units (example: CPUs) assigned to this license.
interface NasDatastoreArgs
interface NasDatastoreArgsThe set of arguments for constructing a NasDatastore resource.
property accessMode
accessMode?: pulumi.Input<string>;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.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value strings to set on datasource resource.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object
ID of a datastore cluster to put this datastore in.
Conflicts with folder.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this datastore in.
This is a path relative to the datacenter you are deploying the datastore to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a datastore named test in a datastore folder
located at /dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/test. Conflicts with
datastoreClusterId.
property hostSystemIds
hostSystemIds: pulumi.Input<pulumi.Input<string>[]>;The managed object IDs of the hosts to mount the datastore on.
property name
name?: pulumi.Input<string>;The name of the datastore. Forces a new resource if changed.
property remoteHosts
remoteHosts: pulumi.Input<pulumi.Input<string>[]>;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.
property remotePath
remotePath: pulumi.Input<string>;The remote path of the mount point. Forces a new resource if changed.
property securityType
securityType?: pulumi.Input<string>;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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property type
type?: pulumi.Input<string>;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.
interface NasDatastoreState
interface NasDatastoreStateInput properties used for looking up and filtering NasDatastore resources.
property accessMode
accessMode?: pulumi.Input<string>;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.
property accessible
accessible?: pulumi.Input<boolean>;The connectivity status of the datastore. If this is false,
some other computed attributes may be out of date.
property capacity
capacity?: pulumi.Input<number>;Maximum capacity of the datastore, in megabytes.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value strings to set on datasource resource.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object
ID of a datastore cluster to put this datastore in.
Conflicts with folder.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this datastore in.
This is a path relative to the datacenter you are deploying the datastore to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a datastore named test in a datastore folder
located at /dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/test. Conflicts with
datastoreClusterId.
property freeSpace
freeSpace?: pulumi.Input<number>;Available space of this datastore, in megabytes.
property hostSystemIds
hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;The managed object IDs of the hosts to mount the datastore on.
property maintenanceMode
maintenanceMode?: pulumi.Input<string>;The current maintenance mode state of the datastore.
property multipleHostAccess
multipleHostAccess?: pulumi.Input<boolean>;If true, more than one host in the datacenter has
been configured with access to the datastore.
property name
name?: pulumi.Input<string>;The name of the datastore. Forces a new resource if changed.
property protocolEndpoint
protocolEndpoint?: pulumi.Input<string>;Indicates that this NAS volume is a protocol endpoint. This field is only populated if the host supports virtual datastores.
property remoteHosts
remoteHosts?: pulumi.Input<pulumi.Input<string>[]>;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.
property remotePath
remotePath?: pulumi.Input<string>;The remote path of the mount point. Forces a new resource if changed.
property securityType
securityType?: pulumi.Input<string>;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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property type
type?: pulumi.Input<string>;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.
property uncommittedSpace
uncommittedSpace?: pulumi.Input<number>;Total additional storage space, in megabytes, potentially used by all virtual machines on this datastore.
property url
url?: pulumi.Input<string>;The unique locator for the datastore.
interface ProviderArgs
interface ProviderArgsThe set of arguments for constructing a Provider resource.
property allowUnverifiedSsl
allowUnverifiedSsl?: pulumi.Input<boolean>;If set, VMware vSphere client will permit unverifiable SSL certificates.
property clientDebug
clientDebug?: pulumi.Input<boolean>;govmomi debug
property clientDebugPath
clientDebugPath?: pulumi.Input<string>;govmomi debug path for debug
property clientDebugPathRun
clientDebugPathRun?: pulumi.Input<string>;govmomi debug path for a single run
property password
password?: pulumi.Input<string>;The user password for vSphere API operations.
property persistSession
persistSession?: pulumi.Input<boolean>;Persist vSphere client sessions to disk
property restSessionPath
restSessionPath?: pulumi.Input<string>;The directory to save vSphere REST API sessions to
property user
user?: pulumi.Input<string>;The user name for vSphere API operations.
property vcenterServer
vcenterServer?: pulumi.Input<string>;property vimKeepAlive
vimKeepAlive?: pulumi.Input<number>;Keep alive interval for the VIM session in minutes
property vimSessionPath
vimSessionPath?: pulumi.Input<string>;The directory to save vSphere SOAP API sessions to
property vsphereServer
vsphereServer?: pulumi.Input<string>;The vSphere Server name for vSphere API operations.
interface ResourcePoolArgs
interface ResourcePoolArgsThe set of arguments for constructing a ResourcePool resource.
property cpuExpandable
cpuExpandable?: pulumi.Input<boolean>;Determines if the reservation on a resource
pool can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property cpuLimit
cpuLimit?: pulumi.Input<number>;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
property cpuReservation
cpuReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the resource pool. Default: 0
property cpuShareLevel
cpuShareLevel?: pulumi.Input<string>;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
property cpuShares
cpuShares?: pulumi.Input<number>;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.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A list of custom attributes to set on this resource.
property memoryExpandable
memoryExpandable?: pulumi.Input<boolean>;Determines if the reservation on a resource
pool can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property memoryLimit
memoryLimit?: pulumi.Input<number>;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
property memoryReservation
memoryReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the resource pool. Default: 0
property memoryShareLevel
memoryShareLevel?: pulumi.Input<string>;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
property memoryShares
memoryShares?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;The name of the resource pool.
property parentResourcePoolId
parentResourcePoolId: pulumi.Input<string>;The managed object ID 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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface ResourcePoolState
interface ResourcePoolStateInput properties used for looking up and filtering ResourcePool resources.
property cpuExpandable
cpuExpandable?: pulumi.Input<boolean>;Determines if the reservation on a resource
pool can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property cpuLimit
cpuLimit?: pulumi.Input<number>;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
property cpuReservation
cpuReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the resource pool. Default: 0
property cpuShareLevel
cpuShareLevel?: pulumi.Input<string>;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
property cpuShares
cpuShares?: pulumi.Input<number>;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.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A list of custom attributes to set on this resource.
property memoryExpandable
memoryExpandable?: pulumi.Input<boolean>;Determines if the reservation on a resource
pool can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property memoryLimit
memoryLimit?: pulumi.Input<number>;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
property memoryReservation
memoryReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the resource pool. Default: 0
property memoryShareLevel
memoryShareLevel?: pulumi.Input<string>;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
property memoryShares
memoryShares?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;The name of the resource pool.
property parentResourcePoolId
parentResourcePoolId?: pulumi.Input<string>;The managed object ID 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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface StorageDrsVmOverrideArgs
interface StorageDrsVmOverrideArgsThe set of arguments for constructing a StorageDrsVmOverride resource.
property datastoreClusterId
datastoreClusterId: pulumi.Input<string>;The managed object reference ID of the datastore cluster to put the override in. Forces a new resource if changed.
property sdrsAutomationLevel
sdrsAutomationLevel?: pulumi.Input<string>;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.
property sdrsEnabled
sdrsEnabled?: pulumi.Input<string>;Overrides the default Storage DRS setting for this virtual machine. When not specified, the datastore cluster setting is used.
property sdrsIntraVmAffinity
sdrsIntraVmAffinity?: pulumi.Input<string>;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.
property virtualMachineId
virtualMachineId: pulumi.Input<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
interface StorageDrsVmOverrideState
interface StorageDrsVmOverrideStateInput properties used for looking up and filtering StorageDrsVmOverride resources.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object reference ID of the datastore cluster to put the override in. Forces a new resource if changed.
property sdrsAutomationLevel
sdrsAutomationLevel?: pulumi.Input<string>;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.
property sdrsEnabled
sdrsEnabled?: pulumi.Input<string>;Overrides the default Storage DRS setting for this virtual machine. When not specified, the datastore cluster setting is used.
property sdrsIntraVmAffinity
sdrsIntraVmAffinity?: pulumi.Input<string>;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.
property virtualMachineId
virtualMachineId?: pulumi.Input<string>;The UUID of the virtual machine to create the override for. Forces a new resource if changed.
interface TagArgs
interface TagArgsThe set of arguments for constructing a Tag resource.
property categoryId
categoryId: pulumi.Input<string>;The unique identifier of the parent category in which this tag will be created. Forces a new resource if changed.
property description
description?: pulumi.Input<string>;A description for the tag.
property name
name?: pulumi.Input<string>;The display name of the tag. The name must be unique within its category.
interface TagCategoryArgs
interface TagCategoryArgsThe set of arguments for constructing a TagCategory resource.
property associableTypes
associableTypes: pulumi.Input<pulumi.Input<string>[]>;A list object types that this category is valid to be assigned to. For a full list, click here.
property cardinality
cardinality: pulumi.Input<string>;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.
property description
description?: pulumi.Input<string>;A description for the category.
property name
name?: pulumi.Input<string>;The name of the category.
interface TagCategoryState
interface TagCategoryStateInput properties used for looking up and filtering TagCategory resources.
property associableTypes
associableTypes?: pulumi.Input<pulumi.Input<string>[]>;A list object types that this category is valid to be assigned to. For a full list, click here.
property cardinality
cardinality?: pulumi.Input<string>;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.
property description
description?: pulumi.Input<string>;A description for the category.
property name
name?: pulumi.Input<string>;The name of the category.
interface TagState
interface TagStateInput properties used for looking up and filtering Tag resources.
property categoryId
categoryId?: pulumi.Input<string>;The unique identifier of the parent category in which this tag will be created. Forces a new resource if changed.
property description
description?: pulumi.Input<string>;A description for the tag.
property name
name?: pulumi.Input<string>;The display name of the tag. The name must be unique within its category.
interface VappContainerArgs
interface VappContainerArgsThe set of arguments for constructing a VappContainer resource.
property cpuExpandable
cpuExpandable?: pulumi.Input<boolean>;Determines if the reservation on a vApp
container can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property cpuLimit
cpuLimit?: pulumi.Input<number>;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
property cpuReservation
cpuReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the vApp container. Default: 0
property cpuShareLevel
cpuShareLevel?: pulumi.Input<string>;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
property cpuShares
cpuShares?: pulumi.Input<number>;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.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A list of custom attributes to set on this resource.
property memoryExpandable
memoryExpandable?: pulumi.Input<boolean>;Determines if the reservation on a vApp
container can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property memoryLimit
memoryLimit?: pulumi.Input<number>;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
property memoryReservation
memoryReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the vApp container. Default: 0
property memoryShareLevel
memoryShareLevel?: pulumi.Input<string>;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
property memoryShares
memoryShares?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;The name of the vApp container.
property parentFolderId
parentFolderId?: pulumi.Input<string>;The managed object ID of the vApp container’s parent folder.
property parentResourcePoolId
parentResourcePoolId: pulumi.Input<string>;The managed object ID 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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface VappContainerState
interface VappContainerStateInput properties used for looking up and filtering VappContainer resources.
property cpuExpandable
cpuExpandable?: pulumi.Input<boolean>;Determines if the reservation on a vApp
container can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property cpuLimit
cpuLimit?: pulumi.Input<number>;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
property cpuReservation
cpuReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the vApp container. Default: 0
property cpuShareLevel
cpuShareLevel?: pulumi.Input<string>;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
property cpuShares
cpuShares?: pulumi.Input<number>;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.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A list of custom attributes to set on this resource.
property memoryExpandable
memoryExpandable?: pulumi.Input<boolean>;Determines if the reservation on a vApp
container can grow beyond the specified value if the parent resource pool has
unreserved resources. Default: true
property memoryLimit
memoryLimit?: pulumi.Input<number>;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
property memoryReservation
memoryReservation?: pulumi.Input<number>;Amount of CPU (MHz) that is guaranteed
available to the vApp container. Default: 0
property memoryShareLevel
memoryShareLevel?: pulumi.Input<string>;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
property memoryShares
memoryShares?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;The name of the vApp container.
property parentFolderId
parentFolderId?: pulumi.Input<string>;The managed object ID of the vApp container’s parent folder.
property parentResourcePoolId
parentResourcePoolId?: pulumi.Input<string>;The managed object ID 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.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface VappEntityArgs
interface VappEntityArgsThe set of arguments for constructing a VappEntity resource.
property containerId
containerId: pulumi.Input<string>;Managed object ID of the vApp container the entity is a member of.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A list of custom attributes to set on this resource.
property startAction
startAction?: pulumi.Input<string>;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
property startDelay
startDelay?: pulumi.Input<number>;Delay in seconds before continuing with the next entity in the order of entities to be started. Default: 120
property startOrder
startOrder?: pulumi.Input<number>;Order to start and stop target in vApp. Default: 1
property stopAction
stopAction?: pulumi.Input<string>;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
property stopDelay
stopDelay?: pulumi.Input<number>;Delay in seconds before continuing with the next entity in the order sequence. This is only used if the stopAction is guestShutdown. Default: 120
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag IDs to apply to this object.
property targetId
targetId: pulumi.Input<string>;Managed object ID of the entity to power on or power off. This can be a virtual machine or a vApp.
property waitForGuest
waitForGuest?: pulumi.Input<boolean>;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
interface VappEntityState
interface VappEntityStateInput properties used for looking up and filtering VappEntity resources.
property containerId
containerId?: pulumi.Input<string>;Managed object ID of the vApp container the entity is a member of.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;A list of custom attributes to set on this resource.
property startAction
startAction?: pulumi.Input<string>;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
property startDelay
startDelay?: pulumi.Input<number>;Delay in seconds before continuing with the next entity in the order of entities to be started. Default: 120
property startOrder
startOrder?: pulumi.Input<number>;Order to start and stop target in vApp. Default: 1
property stopAction
stopAction?: pulumi.Input<string>;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
property stopDelay
stopDelay?: pulumi.Input<number>;Delay in seconds before continuing with the next entity in the order sequence. This is only used if the stopAction is guestShutdown. Default: 120
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag IDs to apply to this object.
property targetId
targetId?: pulumi.Input<string>;Managed object ID of the entity to power on or power off. This can be a virtual machine or a vApp.
property waitForGuest
waitForGuest?: pulumi.Input<boolean>;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
interface VirtualDiskArgs
interface VirtualDiskArgsThe set of arguments for constructing a VirtualDisk resource.
property adapterType
adapterType?: pulumi.Input<string>;The adapter type for this virtual disk. Can be
one of ide, lsiLogic, or busLogic. Default: lsiLogic.
property createDirectories
createDirectories?: pulumi.Input<boolean>;Tells the resource to create any
directories that are a part of the vmdkPath parameter if they are missing.
Default: false.
property datacenter
datacenter?: pulumi.Input<string>;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.
property datastore
datastore: pulumi.Input<string>;The name of the datastore in which to create the disk.
property size
size: pulumi.Input<number>;Size of the disk (in GB).
property type
type?: pulumi.Input<string>;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].
property vmdkPath
vmdkPath: pulumi.Input<string>;The path, including filename, of the virtual disk to
be created. This needs to end in .vmdk.
interface VirtualDiskState
interface VirtualDiskStateInput properties used for looking up and filtering VirtualDisk resources.
property adapterType
adapterType?: pulumi.Input<string>;The adapter type for this virtual disk. Can be
one of ide, lsiLogic, or busLogic. Default: lsiLogic.
property createDirectories
createDirectories?: pulumi.Input<boolean>;Tells the resource to create any
directories that are a part of the vmdkPath parameter if they are missing.
Default: false.
property datacenter
datacenter?: pulumi.Input<string>;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.
property datastore
datastore?: pulumi.Input<string>;The name of the datastore in which to create the disk.
property size
size?: pulumi.Input<number>;Size of the disk (in GB).
property type
type?: pulumi.Input<string>;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].
property vmdkPath
vmdkPath?: pulumi.Input<string>;The path, including filename, of the virtual disk to
be created. This needs to end in .vmdk.
interface VirtualMachineArgs
interface VirtualMachineArgsThe set of arguments for constructing a VirtualMachine resource.
property alternateGuestName
alternateGuestName?: pulumi.Input<string>;The guest name for the operating system
when guestId is other or other-64.
property annotation
annotation?: pulumi.Input<string>;A user-provided description of the virtual machine. The default is no annotation.
property bootDelay
bootDelay?: pulumi.Input<number>;The number of milliseconds to wait before starting the boot sequence. The default is no delay.
property bootRetryDelay
bootRetryDelay?: pulumi.Input<number>;The number of milliseconds to wait before
retrying the boot sequence. This only valid if bootRetryEnabled is true.
Default: 10000 (10 seconds).
property bootRetryEnabled
bootRetryEnabled?: pulumi.Input<boolean>;If set to true, a virtual machine that
fails to boot will try again after the delay defined in bootRetryDelay.
Default: false.
property cdrom
cdrom?: pulumi.Input<VirtualMachineCdrom>;A specification for a CDROM device on this virtual machine. See CDROM options below.
property clone
clone?: pulumi.Input<VirtualMachineClone>;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.
property cpuHotAddEnabled
cpuHotAddEnabled?: pulumi.Input<boolean>;Allow CPUs to be added to this virtual machine while it is running.
property cpuHotRemoveEnabled
cpuHotRemoveEnabled?: pulumi.Input<boolean>;Allow CPUs to be removed to this virtual machine while it is running.
property cpuLimit
cpuLimit?: pulumi.Input<number>;The maximum amount of CPU (in MHz) that this virtual machine can consume, regardless of available resources. The default is no limit.
property cpuPerformanceCountersEnabled
cpuPerformanceCountersEnabled?: pulumi.Input<boolean>;Enable CPU performance
counters on this virtual machine. Default: false.
property cpuReservation
cpuReservation?: pulumi.Input<number>;The amount of CPU (in MHz) that this virtual machine is guaranteed. The default is no reservation.
property cpuShareCount
cpuShareCount?: pulumi.Input<number>;The number of CPU shares allocated to the
virtual machine when the cpuShareLevel is custom.
property cpuShareLevel
cpuShareLevel?: pulumi.Input<string>;The allocation level for CPU resources. Can be
one of high, low, normal, or custom. Default: custom.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value strings to set for virtual machine.
property datacenterId
datacenterId?: pulumi.Input<string>;The datacenter id. Required only when deploying an ovf template.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object reference ID 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.
property datastoreId
datastoreId?: pulumi.Input<string>;The datastore ID that the ISO is located in.
Requried for using a datastore ISO. Conflicts with clientDevice.
property disks
disks?: pulumi.Input<pulumi.Input<VirtualMachineDisk>[]>;A specification for a virtual disk device on this virtual machine. See disk options below.
property efiSecureBootEnabled
efiSecureBootEnabled?: pulumi.Input<boolean>;When the firmware type is set to is
efi, this enables EFI secure boot. Default: false.
property enableDiskUuid
enableDiskUuid?: pulumi.Input<boolean>;Expose the UUIDs of attached virtual disks to
the virtual machine, allowing access to them in the guest. Default: false.
property enableLogging
enableLogging?: pulumi.Input<boolean>;Enable logging of virtual machine events to a
log file stored in the virtual machine directory. Default: false.
property eptRviMode
eptRviMode?: pulumi.Input<string>;The EPT/RVI (hardware memory virtualization)
setting for this virtual machine. Can be one of automatic, on, or off.
Default: automatic.
property extraConfig
extraConfig?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata.
property firmware
firmware?: pulumi.Input<string>;The firmware interface to use on the virtual machine.
Can be one of bios or EFI. Default: bios.
property folder
folder?: pulumi.Input<string>;The path to the folder to put this virtual machine in, relative to the datacenter that the resource pool is in.
property forcePowerOff
forcePowerOff?: pulumi.Input<boolean>;If a guest shutdown failed or timed out while
updating or destroying (see
shutdownWaitTimeout), force the power-off of
the virtual machine. Default: true.
property guestId
guestId?: pulumi.Input<string>;The guest ID for the operating system type. For a
full list of possible values, see [here][vmware-docs-guest-ids]. Default: other-64.
property hardwareVersion
hardwareVersion?: pulumi.Input<number>;The hardware version number. Valid range is from 4 to 15. The hardware version cannot be downgraded. See [virtual machine hardware compatibility][virtual-machine-hardware-compatibility] for more details.
property hostSystemId
hostSystemId?: pulumi.Input<string>;An optional managed object reference
ID 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.
property hvMode
hvMode?: pulumi.Input<string>;The (non-nested) hardware virtualization setting for
this virtual machine. Can be one of hvAuto, hvOn, or hvOff. Default:
hvAuto.
property ignoredGuestIps
ignoredGuestIps?: pulumi.Input<pulumi.Input<string>[]>;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: [].
property latencySensitivity
latencySensitivity?: pulumi.Input<string>;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.
property memory
memory?: pulumi.Input<number>;The size of the virtual machine’s memory, in MB.
Default: 1024 (1 GB).
property memoryHotAddEnabled
memoryHotAddEnabled?: pulumi.Input<boolean>;Allow memory to be added to this virtual machine while it is running.
property memoryLimit
memoryLimit?: pulumi.Input<number>;The maximum amount of memory (in MB) that this virtual machine can consume, regardless of available resources. The default is no limit.
property memoryReservation
memoryReservation?: pulumi.Input<number>;The amount of memory (in MB) that this virtual machine is guaranteed. The default is no reservation.
property memoryShareCount
memoryShareCount?: pulumi.Input<number>;The number of memory shares allocated to
the virtual machine when the memoryShareLevel is custom.
property memoryShareLevel
memoryShareLevel?: pulumi.Input<string>;The allocation level for memory resources.
Can be one of high, low, normal, or custom. Default: custom.
property migrateWaitTimeout
migrateWaitTimeout?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;An alias for both label and path, the latter when
using attach. Required if not using label.
property nestedHvEnabled
nestedHvEnabled?: pulumi.Input<boolean>;Enable nested hardware virtualization on
this virtual machine, facilitating nested virtualization in the guest.
Default: false.
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<VirtualMachineNetworkInterface>[]>;A specification for a virtual NIC on this virtual machine. See network interface options below.
property numCoresPerSocket
numCoresPerSocket?: pulumi.Input<number>;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.
property numCpus
numCpus?: pulumi.Input<number>;The total number of virtual processor cores to assign
to this virtual machine. Default: 1.
property ovfDeploy
ovfDeploy?: pulumi.Input<VirtualMachineOvfDeploy>;When specified, the VM will be deployed from the provided ovf template. See creating a virtual machine from a ovf template for more details.
property poweronTimeout
poweronTimeout?: pulumi.Input<number>;The amount of time, in seconds, that we will be trying to power on a VM
property resourcePoolId
resourcePoolId: pulumi.Input<string>;The managed object reference ID of the resource pool to put this virtual machine in. See the section on virtual machine migration for details on changing this value.
property runToolsScriptsAfterPowerOn
runToolsScriptsAfterPowerOn?: pulumi.Input<boolean>;Enable the execution of
post-power-on scripts when VMware tools is installed. Default: true.
property runToolsScriptsAfterResume
runToolsScriptsAfterResume?: pulumi.Input<boolean>;Enable the execution of
post-resume scripts when VMware tools is installed. Default: true.
property runToolsScriptsBeforeGuestReboot
runToolsScriptsBeforeGuestReboot?: pulumi.Input<boolean>;Enable the execution of
pre-reboot scripts when VMware tools is installed. Default: false.
property runToolsScriptsBeforeGuestShutdown
runToolsScriptsBeforeGuestShutdown?: pulumi.Input<boolean>;Enable the execution
of pre-shutdown scripts when VMware tools is installed. Default: true.
property runToolsScriptsBeforeGuestStandby
runToolsScriptsBeforeGuestStandby?: pulumi.Input<boolean>;Enable the execution of
pre-standby scripts when VMware tools is installed. Default: true.
property scsiBusSharing
scsiBusSharing?: pulumi.Input<string>;Mode for sharing the SCSI bus. The modes are
physicalSharing, virtualSharing, and noSharing. Default: noSharing.
property scsiControllerCount
scsiControllerCount?: pulumi.Input<number>;The number of SCSI controllers that
this provider 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. Default: 1.
property scsiType
scsiType?: pulumi.Input<string>;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.
property shutdownWaitTimeout
shutdownWaitTimeout?: pulumi.Input<number>;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.
property storagePolicyId
storagePolicyId?: pulumi.Input<string>;The UUID of the storage policy to assign to this disk.
property swapPlacementPolicy
swapPlacementPolicy?: pulumi.Input<string>;The swap file placement policy for this
virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
Default: inherit.
property syncTimeWithHost
syncTimeWithHost?: pulumi.Input<boolean>;Enable guest clock synchronization with
the host. Requires VMware tools to be installed. Default: false.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property vapp
vapp?: pulumi.Input<VirtualMachineVapp>;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.
property waitForGuestIpTimeout
waitForGuestIpTimeout?: pulumi.Input<number>;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.
property waitForGuestNetRoutable
waitForGuestNetRoutable?: pulumi.Input<boolean>;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.
property waitForGuestNetTimeout
waitForGuestNetTimeout?: pulumi.Input<number>;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.
interface VirtualMachineSnapshotArgs
interface VirtualMachineSnapshotArgsThe set of arguments for constructing a VirtualMachineSnapshot resource.
property consolidate
consolidate?: pulumi.Input<boolean>;If set to true, the delta disks involved in this
snapshot will be consolidated into the parent when this resource is
destroyed.
property description
description: pulumi.Input<string>;A description for the snapshot.
property memory
memory: pulumi.Input<boolean>;If set to true, a dump of the internal state of the
virtual machine is included in the snapshot.
property quiesce
quiesce: pulumi.Input<boolean>;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.
property removeChildren
removeChildren?: pulumi.Input<boolean>;If set to true, the entire snapshot subtree
is removed when this resource is destroyed.
property snapshotName
snapshotName: pulumi.Input<string>;The name of the snapshot.
property virtualMachineUuid
virtualMachineUuid: pulumi.Input<string>;The virtual machine UUID.
interface VirtualMachineSnapshotState
interface VirtualMachineSnapshotStateInput properties used for looking up and filtering VirtualMachineSnapshot resources.
property consolidate
consolidate?: pulumi.Input<boolean>;If set to true, the delta disks involved in this
snapshot will be consolidated into the parent when this resource is
destroyed.
property description
description?: pulumi.Input<string>;A description for the snapshot.
property memory
memory?: pulumi.Input<boolean>;If set to true, a dump of the internal state of the
virtual machine is included in the snapshot.
property quiesce
quiesce?: pulumi.Input<boolean>;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.
property removeChildren
removeChildren?: pulumi.Input<boolean>;If set to true, the entire snapshot subtree
is removed when this resource is destroyed.
property snapshotName
snapshotName?: pulumi.Input<string>;The name of the snapshot.
property virtualMachineUuid
virtualMachineUuid?: pulumi.Input<string>;The virtual machine UUID.
interface VirtualMachineState
interface VirtualMachineStateInput properties used for looking up and filtering VirtualMachine resources.
property alternateGuestName
alternateGuestName?: pulumi.Input<string>;The guest name for the operating system
when guestId is other or other-64.
property annotation
annotation?: pulumi.Input<string>;A user-provided description of the virtual machine. The default is no annotation.
property bootDelay
bootDelay?: pulumi.Input<number>;The number of milliseconds to wait before starting the boot sequence. The default is no delay.
property bootRetryDelay
bootRetryDelay?: pulumi.Input<number>;The number of milliseconds to wait before
retrying the boot sequence. This only valid if bootRetryEnabled is true.
Default: 10000 (10 seconds).
property bootRetryEnabled
bootRetryEnabled?: pulumi.Input<boolean>;If set to true, a virtual machine that
fails to boot will try again after the delay defined in bootRetryDelay.
Default: false.
property cdrom
cdrom?: pulumi.Input<VirtualMachineCdrom>;A specification for a CDROM device on this virtual machine. See CDROM options below.
property changeVersion
changeVersion?: pulumi.Input<string>;A unique identifier for a given version of the last configuration applied, such the timestamp of the last update to the configuration.
property clone
clone?: pulumi.Input<VirtualMachineClone>;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.
property cpuHotAddEnabled
cpuHotAddEnabled?: pulumi.Input<boolean>;Allow CPUs to be added to this virtual machine while it is running.
property cpuHotRemoveEnabled
cpuHotRemoveEnabled?: pulumi.Input<boolean>;Allow CPUs to be removed to this virtual machine while it is running.
property cpuLimit
cpuLimit?: pulumi.Input<number>;The maximum amount of CPU (in MHz) that this virtual machine can consume, regardless of available resources. The default is no limit.
property cpuPerformanceCountersEnabled
cpuPerformanceCountersEnabled?: pulumi.Input<boolean>;Enable CPU performance
counters on this virtual machine. Default: false.
property cpuReservation
cpuReservation?: pulumi.Input<number>;The amount of CPU (in MHz) that this virtual machine is guaranteed. The default is no reservation.
property cpuShareCount
cpuShareCount?: pulumi.Input<number>;The number of CPU shares allocated to the
virtual machine when the cpuShareLevel is custom.
property cpuShareLevel
cpuShareLevel?: pulumi.Input<string>;The allocation level for CPU resources. Can be
one of high, low, normal, or custom. Default: custom.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value strings to set for virtual machine.
property datacenterId
datacenterId?: pulumi.Input<string>;The datacenter id. Required only when deploying an ovf template.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object reference ID 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.
property datastoreId
datastoreId?: pulumi.Input<string>;The datastore ID that the ISO is located in.
Requried for using a datastore ISO. Conflicts with clientDevice.
property defaultIpAddress
defaultIpAddress?: pulumi.Input<string>;The IP address selected by the provider to be used with any provisioners configured on this resource. Whenever possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exist. If VMware tools is not running on the virtual machine, or if the VM is powered off, this value will be blank.
property disks
disks?: pulumi.Input<pulumi.Input<VirtualMachineDisk>[]>;A specification for a virtual disk device on this virtual machine. See disk options below.
property efiSecureBootEnabled
efiSecureBootEnabled?: pulumi.Input<boolean>;When the firmware type is set to is
efi, this enables EFI secure boot. Default: false.
property enableDiskUuid
enableDiskUuid?: pulumi.Input<boolean>;Expose the UUIDs of attached virtual disks to
the virtual machine, allowing access to them in the guest. Default: false.
property enableLogging
enableLogging?: pulumi.Input<boolean>;Enable logging of virtual machine events to a
log file stored in the virtual machine directory. Default: false.
property eptRviMode
eptRviMode?: pulumi.Input<string>;The EPT/RVI (hardware memory virtualization)
setting for this virtual machine. Can be one of automatic, on, or off.
Default: automatic.
property extraConfig
extraConfig?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata.
property firmware
firmware?: pulumi.Input<string>;The firmware interface to use on the virtual machine.
Can be one of bios or EFI. Default: bios.
property folder
folder?: pulumi.Input<string>;The path to the folder to put this virtual machine in, relative to the datacenter that the resource pool is in.
property forcePowerOff
forcePowerOff?: pulumi.Input<boolean>;If a guest shutdown failed or timed out while
updating or destroying (see
shutdownWaitTimeout), force the power-off of
the virtual machine. Default: true.
property guestId
guestId?: pulumi.Input<string>;The guest ID for the operating system type. For a
full list of possible values, see [here][vmware-docs-guest-ids]. Default: other-64.
property guestIpAddresses
guestIpAddresses?: pulumi.Input<pulumi.Input<string>[]>;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 of the created
virtual machine.
property hardwareVersion
hardwareVersion?: pulumi.Input<number>;The hardware version number. Valid range is from 4 to 15. The hardware version cannot be downgraded. See [virtual machine hardware compatibility][virtual-machine-hardware-compatibility] for more details.
property hostSystemId
hostSystemId?: pulumi.Input<string>;An optional managed object reference
ID 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.
property hvMode
hvMode?: pulumi.Input<string>;The (non-nested) hardware virtualization setting for
this virtual machine. Can be one of hvAuto, hvOn, or hvOff. Default:
hvAuto.
property ignoredGuestIps
ignoredGuestIps?: pulumi.Input<pulumi.Input<string>[]>;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: [].
property imported
imported?: pulumi.Input<boolean>;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.
property latencySensitivity
latencySensitivity?: pulumi.Input<string>;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.
property memory
memory?: pulumi.Input<number>;The size of the virtual machine’s memory, in MB.
Default: 1024 (1 GB).
property memoryHotAddEnabled
memoryHotAddEnabled?: pulumi.Input<boolean>;Allow memory to be added to this virtual machine while it is running.
property memoryLimit
memoryLimit?: pulumi.Input<number>;The maximum amount of memory (in MB) that this virtual machine can consume, regardless of available resources. The default is no limit.
property memoryReservation
memoryReservation?: pulumi.Input<number>;The amount of memory (in MB) that this virtual machine is guaranteed. The default is no reservation.
property memoryShareCount
memoryShareCount?: pulumi.Input<number>;The number of memory shares allocated to
the virtual machine when the memoryShareLevel is custom.
property memoryShareLevel
memoryShareLevel?: pulumi.Input<string>;The allocation level for memory resources.
Can be one of high, low, normal, or custom. Default: custom.
property migrateWaitTimeout
migrateWaitTimeout?: pulumi.Input<number>;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.
property moid
moid?: pulumi.Input<string>;The machine object ID from VMWare
property name
name?: pulumi.Input<string>;An alias for both label and path, the latter when
using attach. Required if not using label.
property nestedHvEnabled
nestedHvEnabled?: pulumi.Input<boolean>;Enable nested hardware virtualization on
this virtual machine, facilitating nested virtualization in the guest.
Default: false.
property networkInterfaces
networkInterfaces?: pulumi.Input<pulumi.Input<VirtualMachineNetworkInterface>[]>;A specification for a virtual NIC on this virtual machine. See network interface options below.
property numCoresPerSocket
numCoresPerSocket?: pulumi.Input<number>;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.
property numCpus
numCpus?: pulumi.Input<number>;The total number of virtual processor cores to assign
to this virtual machine. Default: 1.
property ovfDeploy
ovfDeploy?: pulumi.Input<VirtualMachineOvfDeploy>;When specified, the VM will be deployed from the provided ovf template. See creating a virtual machine from a ovf template for more details.
property poweronTimeout
poweronTimeout?: pulumi.Input<number>;The amount of time, in seconds, that we will be trying to power on a VM
property rebootRequired
rebootRequired?: pulumi.Input<boolean>;Value internal to the provider used to determine if a configuration set change requires a reboot. This value is only useful during an update process and gets reset on refresh.
property resourcePoolId
resourcePoolId?: pulumi.Input<string>;The managed object reference ID of the resource pool to put this virtual machine in. See the section on virtual machine migration for details on changing this value.
property runToolsScriptsAfterPowerOn
runToolsScriptsAfterPowerOn?: pulumi.Input<boolean>;Enable the execution of
post-power-on scripts when VMware tools is installed. Default: true.
property runToolsScriptsAfterResume
runToolsScriptsAfterResume?: pulumi.Input<boolean>;Enable the execution of
post-resume scripts when VMware tools is installed. Default: true.
property runToolsScriptsBeforeGuestReboot
runToolsScriptsBeforeGuestReboot?: pulumi.Input<boolean>;Enable the execution of
pre-reboot scripts when VMware tools is installed. Default: false.
property runToolsScriptsBeforeGuestShutdown
runToolsScriptsBeforeGuestShutdown?: pulumi.Input<boolean>;Enable the execution
of pre-shutdown scripts when VMware tools is installed. Default: true.
property runToolsScriptsBeforeGuestStandby
runToolsScriptsBeforeGuestStandby?: pulumi.Input<boolean>;Enable the execution of
pre-standby scripts when VMware tools is installed. Default: true.
property scsiBusSharing
scsiBusSharing?: pulumi.Input<string>;Mode for sharing the SCSI bus. The modes are
physicalSharing, virtualSharing, and noSharing. Default: noSharing.
property scsiControllerCount
scsiControllerCount?: pulumi.Input<number>;The number of SCSI controllers that
this provider 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. Default: 1.
property scsiType
scsiType?: pulumi.Input<string>;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.
property shutdownWaitTimeout
shutdownWaitTimeout?: pulumi.Input<number>;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.
property storagePolicyId
storagePolicyId?: pulumi.Input<string>;The UUID of the storage policy to assign to this disk.
property swapPlacementPolicy
swapPlacementPolicy?: pulumi.Input<string>;The swap file placement policy for this
virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
Default: inherit.
property syncTimeWithHost
syncTimeWithHost?: pulumi.Input<boolean>;Enable guest clock synchronization with
the host. Requires VMware tools to be installed. Default: false.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property uuid
uuid?: pulumi.Input<string>;The UUID of the virtual disk’s VMDK file. This is used to track the virtual disk on the virtual machine.
property vapp
vapp?: pulumi.Input<VirtualMachineVapp>;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.
property vappTransports
vappTransports?: pulumi.Input<pulumi.Input<string>[]>;Computed value which is only valid for cloned virtual machines. A list of vApp transport methods supported by the source virtual machine or template.
property vmwareToolsStatus
vmwareToolsStatus?: pulumi.Input<string>;The state of VMware tools in the guest. This will determine the proper course of action for some device operations.
property vmxPath
vmxPath?: pulumi.Input<string>;The path of the virtual machine’s configuration file in the VM’s datastore.
property waitForGuestIpTimeout
waitForGuestIpTimeout?: pulumi.Input<number>;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.
property waitForGuestNetRoutable
waitForGuestNetRoutable?: pulumi.Input<boolean>;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.
property waitForGuestNetTimeout
waitForGuestNetTimeout?: pulumi.Input<number>;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.
interface VmfsDatastoreArgs
interface VmfsDatastoreArgsThe set of arguments for constructing a VmfsDatastore resource.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value string to set on datastore resource.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object
ID of a datastore cluster to put this datastore in.
Conflicts with folder.
property disks
disks: pulumi.Input<pulumi.Input<string>[]>;The disks to use with the datastore.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this datastore in.
This is a path relative to the datacenter you are deploying the datastore to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a datastore named test in a datastore folder
located at /dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/test. Conflicts with
datastoreClusterId.
property hostSystemId
hostSystemId: pulumi.Input<string>;The managed object ID 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.
property name
name?: pulumi.Input<string>;The name of the datastore. Forces a new resource if changed.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
interface VmfsDatastoreState
interface VmfsDatastoreStateInput properties used for looking up and filtering VmfsDatastore resources.
property accessible
accessible?: pulumi.Input<boolean>;The connectivity status of the datastore. If this is false,
some other computed attributes may be out of date.
property capacity
capacity?: pulumi.Input<number>;Maximum capacity of the datastore, in megabytes.
property customAttributes
customAttributes?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;Map of custom attribute ids to attribute value string to set on datastore resource.
property datastoreClusterId
datastoreClusterId?: pulumi.Input<string>;The managed object
ID of a datastore cluster to put this datastore in.
Conflicts with folder.
property disks
disks?: pulumi.Input<pulumi.Input<string>[]>;The disks to use with the datastore.
property folder
folder?: pulumi.Input<string>;The relative path to a folder to put this datastore in.
This is a path relative to the datacenter you are deploying the datastore to.
Example: for the dc1 datacenter, and a provided folder of foo/bar,
The provider will place a datastore named test in a datastore folder
located at /dc1/datastore/foo/bar, with the final inventory path being
/dc1/datastore/foo/bar/test. Conflicts with
datastoreClusterId.
property freeSpace
freeSpace?: pulumi.Input<number>;Available space of this datastore, in megabytes.
property hostSystemId
hostSystemId?: pulumi.Input<string>;The managed object ID 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.
property maintenanceMode
maintenanceMode?: pulumi.Input<string>;The current maintenance mode state of the datastore.
property multipleHostAccess
multipleHostAccess?: pulumi.Input<boolean>;If true, more than one host in the datacenter has
been configured with access to the datastore.
property name
name?: pulumi.Input<string>;The name of the datastore. Forces a new resource if changed.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;The IDs of any tags to attach to this resource.
property uncommittedSpace
uncommittedSpace?: pulumi.Input<number>;Total additional storage space, in megabytes, potentially used by all virtual machines on this datastore.
property url
url?: pulumi.Input<string>;The unique locator for the datastore.
interface VnicArgs
interface VnicArgsThe set of arguments for constructing a Vnic resource.
property distributedPortGroup
distributedPortGroup?: pulumi.Input<string>;Key of the distributed portgroup the nic will connect to.
property distributedSwitchPort
distributedSwitchPort?: pulumi.Input<string>;UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
property host
host: pulumi.Input<string>;ESX host the interface belongs to
property ipv4
ipv4?: pulumi.Input<VnicIpv4>;IPv4 settings. Either this or ipv6 needs to be set. See ipv4 options below.
property ipv6
ipv6?: pulumi.Input<VnicIpv6>;IPv6 settings. Either this or ipv6 needs to be set. See ipv6 options below.
property mac
mac?: pulumi.Input<string>;MAC address of the interface.
property mtu
mtu?: pulumi.Input<number>;MTU of the interface.
property netstack
netstack?: pulumi.Input<string>;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)
property portgroup
portgroup?: pulumi.Input<string>;Portgroup to attach the nic to. Do not set if you set distributed_switch_port.
interface VnicState
interface VnicStateInput properties used for looking up and filtering Vnic resources.
property distributedPortGroup
distributedPortGroup?: pulumi.Input<string>;Key of the distributed portgroup the nic will connect to.
property distributedSwitchPort
distributedSwitchPort?: pulumi.Input<string>;UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
property host
host?: pulumi.Input<string>;ESX host the interface belongs to
property ipv4
ipv4?: pulumi.Input<VnicIpv4>;IPv4 settings. Either this or ipv6 needs to be set. See ipv4 options below.
property ipv6
ipv6?: pulumi.Input<VnicIpv6>;IPv6 settings. Either this or ipv6 needs to be set. See ipv6 options below.
property mac
mac?: pulumi.Input<string>;MAC address of the interface.
property mtu
mtu?: pulumi.Input<number>;MTU of the interface.
property netstack
netstack?: pulumi.Input<string>;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)
property portgroup
portgroup?: pulumi.Input<string>;Portgroup to attach the nic to. Do not set if you set distributed_switch_port.