pulumi-vsphere 4.10.0a1710160860__py3-none-any.whl → 4.13.0a1736836157__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-vsphere might be problematic. Click here for more details.

Files changed (85) hide show
  1. pulumi_vsphere/__init__.py +30 -0
  2. pulumi_vsphere/_inputs.py +1816 -277
  3. pulumi_vsphere/_utilities.py +41 -5
  4. pulumi_vsphere/compute_cluster.py +937 -1488
  5. pulumi_vsphere/compute_cluster_host_group.py +67 -2
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +69 -34
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +41 -2
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +205 -2
  9. pulumi_vsphere/compute_cluster_vm_group.py +198 -2
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +73 -2
  11. pulumi_vsphere/config/__init__.pyi +5 -0
  12. pulumi_vsphere/config/vars.py +5 -0
  13. pulumi_vsphere/content_library.py +113 -12
  14. pulumi_vsphere/content_library_item.py +143 -2
  15. pulumi_vsphere/custom_attribute.py +77 -2
  16. pulumi_vsphere/datacenter.py +48 -40
  17. pulumi_vsphere/datastore_cluster.py +217 -366
  18. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +159 -2
  19. pulumi_vsphere/distributed_port_group.py +416 -189
  20. pulumi_vsphere/distributed_virtual_switch.py +571 -830
  21. pulumi_vsphere/dpm_host_override.py +63 -2
  22. pulumi_vsphere/drs_vm_override.py +67 -2
  23. pulumi_vsphere/entity_permissions.py +64 -38
  24. pulumi_vsphere/file.py +21 -24
  25. pulumi_vsphere/folder.py +148 -30
  26. pulumi_vsphere/get_compute_cluster.py +16 -9
  27. pulumi_vsphere/get_compute_cluster_host_group.py +36 -25
  28. pulumi_vsphere/get_content_library.py +23 -15
  29. pulumi_vsphere/get_content_library_item.py +29 -13
  30. pulumi_vsphere/get_custom_attribute.py +14 -9
  31. pulumi_vsphere/get_datacenter.py +30 -12
  32. pulumi_vsphere/get_datastore.py +44 -12
  33. pulumi_vsphere/get_datastore_cluster.py +31 -10
  34. pulumi_vsphere/get_datastore_stats.py +208 -0
  35. pulumi_vsphere/get_distributed_virtual_switch.py +18 -9
  36. pulumi_vsphere/get_dynamic.py +35 -25
  37. pulumi_vsphere/get_folder.py +23 -11
  38. pulumi_vsphere/get_guest_os_customization.py +26 -52
  39. pulumi_vsphere/get_host.py +16 -9
  40. pulumi_vsphere/get_host_base_images.py +104 -0
  41. pulumi_vsphere/get_host_pci_device.py +28 -19
  42. pulumi_vsphere/get_host_thumbprint.py +41 -25
  43. pulumi_vsphere/get_host_vgpu_profile.py +195 -0
  44. pulumi_vsphere/get_license.py +20 -10
  45. pulumi_vsphere/get_network.py +80 -24
  46. pulumi_vsphere/get_ovf_vm_template.py +56 -5
  47. pulumi_vsphere/get_policy.py +13 -9
  48. pulumi_vsphere/get_resource_pool.py +29 -23
  49. pulumi_vsphere/get_role.py +23 -13
  50. pulumi_vsphere/get_tag.py +16 -9
  51. pulumi_vsphere/get_tag_category.py +16 -9
  52. pulumi_vsphere/get_vapp_container.py +15 -9
  53. pulumi_vsphere/get_virtual_machine.py +233 -48
  54. pulumi_vsphere/get_vmfs_disks.py +18 -9
  55. pulumi_vsphere/guest_os_customization.py +60 -5
  56. pulumi_vsphere/ha_vm_override.py +352 -380
  57. pulumi_vsphere/host.py +244 -64
  58. pulumi_vsphere/host_port_group.py +27 -24
  59. pulumi_vsphere/host_virtual_switch.py +209 -289
  60. pulumi_vsphere/license.py +5 -32
  61. pulumi_vsphere/nas_datastore.py +74 -9
  62. pulumi_vsphere/offline_software_depot.py +185 -0
  63. pulumi_vsphere/outputs.py +774 -256
  64. pulumi_vsphere/provider.py +7 -6
  65. pulumi_vsphere/pulumi-plugin.json +2 -1
  66. pulumi_vsphere/resource_pool.py +168 -411
  67. pulumi_vsphere/role.py +33 -2
  68. pulumi_vsphere/storage_drs_vm_override.py +133 -2
  69. pulumi_vsphere/supervisor.py +967 -0
  70. pulumi_vsphere/tag.py +159 -2
  71. pulumi_vsphere/tag_category.py +83 -2
  72. pulumi_vsphere/vapp_container.py +163 -2
  73. pulumi_vsphere/vapp_entity.py +147 -2
  74. pulumi_vsphere/virtual_disk.py +123 -36
  75. pulumi_vsphere/virtual_machine.py +759 -829
  76. pulumi_vsphere/virtual_machine_class.py +447 -0
  77. pulumi_vsphere/virtual_machine_snapshot.py +13 -12
  78. pulumi_vsphere/vm_storage_policy.py +120 -127
  79. pulumi_vsphere/vmfs_datastore.py +271 -2
  80. pulumi_vsphere/vnic.py +104 -105
  81. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/METADATA +7 -6
  82. pulumi_vsphere-4.13.0a1736836157.dist-info/RECORD +86 -0
  83. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/WHEEL +1 -1
  84. pulumi_vsphere-4.10.0a1710160860.dist-info/RECORD +0 -80
  85. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -56,6 +61,7 @@ class VirtualMachineArgs:
56
61
  memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
57
62
  memory_limit: Optional[pulumi.Input[int]] = None,
58
63
  memory_reservation: Optional[pulumi.Input[int]] = None,
64
+ memory_reservation_locked_to_max: Optional[pulumi.Input[bool]] = None,
59
65
  memory_share_count: Optional[pulumi.Input[int]] = None,
60
66
  memory_share_level: Optional[pulumi.Input[str]] = None,
61
67
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
@@ -86,125 +92,101 @@ class VirtualMachineArgs:
86
92
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
87
93
  vapp: Optional[pulumi.Input['VirtualMachineVappArgs']] = None,
88
94
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
95
+ vtpm: Optional[pulumi.Input['VirtualMachineVtpmArgs']] = None,
89
96
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
90
97
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
91
98
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
92
99
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None):
93
100
  """
94
101
  The set of arguments for constructing a VirtualMachine resource.
95
- :param pulumi.Input[str] resource_pool_id: The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
96
-
97
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
98
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
99
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
100
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
101
- :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
102
- :param pulumi.Input[bool] boot_retry_enabled: If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
103
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]] cdroms: A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
104
- :param pulumi.Input['VirtualMachineCloneArgs'] clone: When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
105
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
106
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
107
- :param pulumi.Input[int] cpu_limit: The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
108
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
109
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
110
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
111
- :param pulumi.Input[str] cpu_share_level: The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
112
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
113
-
114
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
115
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
116
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
117
-
118
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
119
-
120
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
121
-
122
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
123
- :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
124
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information.
125
- :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
126
-
127
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
128
- :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
129
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
130
- :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
131
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
132
-
133
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
134
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
135
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
136
- :param pulumi.Input[str] folder: The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
137
- :param pulumi.Input[bool] force_power_off: If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
138
- :param pulumi.Input[str] guest_id: The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
139
-
140
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
141
- :param pulumi.Input[int] hardware_version: The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
142
-
143
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
144
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
145
- :param pulumi.Input[str] host_system_id: The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
146
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
147
- :param pulumi.Input[int] ide_controller_count: The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
148
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
149
- :param pulumi.Input[str] latency_sensitivity: 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. One of `low`, `normal`, `medium`, or `high`.
150
-
151
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
152
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
153
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
154
-
155
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
156
-
157
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
158
-
159
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
160
-
161
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
162
- :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
163
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
164
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
165
- :param pulumi.Input[str] memory_share_level: The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
166
- :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
167
- :param pulumi.Input[str] name: The name of the virtual machine.
168
- :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
169
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
170
- :param pulumi.Input[int] num_cores_per_socket: The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
171
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
172
- :param pulumi.Input['VirtualMachineOvfDeployArgs'] ovf_deploy: When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
173
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
174
-
175
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
102
+ :param pulumi.Input[str] resource_pool_id: The ID of a resource pool to put the virtual machine in.
103
+ :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when guest_id is otherGuest or otherGuest64.
104
+ :param pulumi.Input[str] annotation: User-provided description of the virtual machine.
105
+ :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence.
106
+ :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
107
+ :param pulumi.Input[bool] boot_retry_enabled: If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
108
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]] cdroms: A specification for a CDROM device on this virtual machine.
109
+ :param pulumi.Input['VirtualMachineCloneArgs'] clone: A specification for cloning a virtual machine from template.
110
+ :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to this virtual machine while it is running.
111
+ :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be added to this virtual machine while it is running.
112
+ :param pulumi.Input[int] cpu_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
113
+ resources.
114
+ :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on this virtual machine.
115
+ :param pulumi.Input[int] cpu_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
116
+ :param pulumi.Input[int] cpu_share_count: The amount of shares to allocate to cpu for a custom share level.
117
+ :param pulumi.Input[str] cpu_share_level: The allocation level for cpu resources. Can be one of high, low, normal, or custom.
118
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A list of custom attributes to set on this resource.
119
+ :param pulumi.Input[str] datacenter_id: The ID of the datacenter where the VM is to be created.
120
+ :param pulumi.Input[str] datastore_cluster_id: The ID of a datastore cluster to put the virtual machine in.
121
+ :param pulumi.Input[str] datastore_id: The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
122
+ disks that are created without datastores.
123
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]] disks: A specification for a virtual disk device on this virtual machine.
124
+ :param pulumi.Input[bool] efi_secure_boot_enabled: When the boot type set in firmware is efi, this enables EFI secure boot.
125
+ :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
126
+ :param pulumi.Input[bool] enable_logging: Enable logging on this virtual machine.
127
+ :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
128
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
129
+ configuration, such as instance metadata, or configuration data for OVF images.
130
+ :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
131
+ :param pulumi.Input[str] firmware: The firmware interface to use on the virtual machine. Can be one of bios or efi.
132
+ :param pulumi.Input[str] folder: The name of the folder to locate the virtual machine in.
133
+ :param pulumi.Input[bool] force_power_off: Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
134
+ :param pulumi.Input[str] guest_id: The guest ID for the operating system.
135
+ :param pulumi.Input[int] hardware_version: The hardware version for the virtual machine.
136
+ :param pulumi.Input[str] host_system_id: The ID of an optional host system to pin the virtual machine to.
137
+ :param pulumi.Input[str] hv_mode: The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
138
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: List of IP addresses and CIDR networks to ignore while waiting for an IP
139
+ :param pulumi.Input[str] latency_sensitivity: Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
140
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
141
+ devices. Can be one of low, normal, medium, or high.
142
+ :param pulumi.Input[int] memory: The size of the virtual machine's memory, in MB.
143
+ :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to this virtual machine while it is running.
144
+ :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
145
+ resources.
146
+ :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
147
+ :param pulumi.Input[bool] memory_reservation_locked_to_max: If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
148
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
149
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
150
+ :param pulumi.Input[int] memory_share_count: The amount of shares to allocate to memory for a custom share level.
151
+ :param pulumi.Input[str] memory_share_level: The allocation level for memory resources. Can be one of high, low, normal, or custom.
152
+ :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
153
+ :param pulumi.Input[str] name: The name of this virtual machine.
154
+ :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
155
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on this virtual machine.
156
+ :param pulumi.Input[int] num_cores_per_socket: The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
157
+ must be evenly divisible by this value.
158
+ :param pulumi.Input[int] num_cpus: The number of virtual processors to assign to this virtual machine.
159
+ :param pulumi.Input['VirtualMachineOvfDeployArgs'] ovf_deploy: A specification for deploying a virtual machine from ovf/ova template.
160
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: A list of PCI passthrough devices
176
161
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
177
162
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
178
-
179
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
180
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
181
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
182
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
183
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
184
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
185
- :param pulumi.Input[int] sata_controller_count: The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
186
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
187
- controllers.
188
- :param pulumi.Input[str] scsi_bus_sharing: The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
189
- :param pulumi.Input[int] scsi_controller_count: The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
190
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
191
- controllers.
192
- :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
193
- :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
194
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
195
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
196
- :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
197
- :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
198
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
199
-
200
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
201
- :param pulumi.Input[str] tools_upgrade_policy: Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
202
- :param pulumi.Input['VirtualMachineVappArgs'] vapp: Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
203
- :param pulumi.Input[bool] vbs_enabled: Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
204
- :param pulumi.Input[bool] vvtd_enabled: Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
205
- :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
206
- :param pulumi.Input[bool] wait_for_guest_net_routable: 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
207
- :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
163
+ :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
164
+ :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
165
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
166
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
167
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable the run of scripts before guest operating system standby when VMware Tools is installed.
168
+ :param pulumi.Input[str] scsi_bus_sharing: Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
169
+ :param pulumi.Input[str] scsi_type: The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
170
+ :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
171
+ :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the virtual machine home directory.
172
+ :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
173
+ :param pulumi.Input[bool] sync_time_with_host: Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
174
+ synchronized on startup and resume. Requires VMware Tools to be installed.
175
+ :param pulumi.Input[bool] sync_time_with_host_periodically: Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
176
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
177
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag IDs to apply to this object.
178
+ :param pulumi.Input[str] tools_upgrade_policy: Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
179
+ :param pulumi.Input['VirtualMachineVappArgs'] vapp: vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
180
+ :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
181
+ :param pulumi.Input['VirtualMachineVtpmArgs'] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
182
+ :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
183
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
184
+ :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
185
+ disables the waiter.
186
+ :param pulumi.Input[bool] wait_for_guest_net_routable: Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
187
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
188
+ :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
189
+ disables the waiter.
208
190
  """
209
191
  pulumi.set(__self__, "resource_pool_id", resource_pool_id)
210
192
  if alternate_guest_name is not None:
@@ -285,6 +267,8 @@ class VirtualMachineArgs:
285
267
  pulumi.set(__self__, "memory_limit", memory_limit)
286
268
  if memory_reservation is not None:
287
269
  pulumi.set(__self__, "memory_reservation", memory_reservation)
270
+ if memory_reservation_locked_to_max is not None:
271
+ pulumi.set(__self__, "memory_reservation_locked_to_max", memory_reservation_locked_to_max)
288
272
  if memory_share_count is not None:
289
273
  pulumi.set(__self__, "memory_share_count", memory_share_count)
290
274
  if memory_share_level is not None:
@@ -345,6 +329,8 @@ class VirtualMachineArgs:
345
329
  pulumi.set(__self__, "vapp", vapp)
346
330
  if vbs_enabled is not None:
347
331
  pulumi.set(__self__, "vbs_enabled", vbs_enabled)
332
+ if vtpm is not None:
333
+ pulumi.set(__self__, "vtpm", vtpm)
348
334
  if vvtd_enabled is not None:
349
335
  pulumi.set(__self__, "vvtd_enabled", vvtd_enabled)
350
336
  if wait_for_guest_ip_timeout is not None:
@@ -358,9 +344,7 @@ class VirtualMachineArgs:
358
344
  @pulumi.getter(name="resourcePoolId")
359
345
  def resource_pool_id(self) -> pulumi.Input[str]:
360
346
  """
361
- The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
362
-
363
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
347
+ The ID of a resource pool to put the virtual machine in.
364
348
  """
365
349
  return pulumi.get(self, "resource_pool_id")
366
350
 
@@ -372,7 +356,7 @@ class VirtualMachineArgs:
372
356
  @pulumi.getter(name="alternateGuestName")
373
357
  def alternate_guest_name(self) -> Optional[pulumi.Input[str]]:
374
358
  """
375
- The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
359
+ The guest name for the operating system when guest_id is otherGuest or otherGuest64.
376
360
  """
377
361
  return pulumi.get(self, "alternate_guest_name")
378
362
 
@@ -384,7 +368,7 @@ class VirtualMachineArgs:
384
368
  @pulumi.getter
385
369
  def annotation(self) -> Optional[pulumi.Input[str]]:
386
370
  """
387
- A user-provided description of the virtual machine.
371
+ User-provided description of the virtual machine.
388
372
  """
389
373
  return pulumi.get(self, "annotation")
390
374
 
@@ -396,7 +380,7 @@ class VirtualMachineArgs:
396
380
  @pulumi.getter(name="bootDelay")
397
381
  def boot_delay(self) -> Optional[pulumi.Input[int]]:
398
382
  """
399
- The number of milliseconds to wait before starting the boot sequence. The default is no delay.
383
+ The number of milliseconds to wait before starting the boot sequence.
400
384
  """
401
385
  return pulumi.get(self, "boot_delay")
402
386
 
@@ -408,7 +392,7 @@ class VirtualMachineArgs:
408
392
  @pulumi.getter(name="bootRetryDelay")
409
393
  def boot_retry_delay(self) -> Optional[pulumi.Input[int]]:
410
394
  """
411
- The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
395
+ The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
412
396
  """
413
397
  return pulumi.get(self, "boot_retry_delay")
414
398
 
@@ -420,7 +404,7 @@ class VirtualMachineArgs:
420
404
  @pulumi.getter(name="bootRetryEnabled")
421
405
  def boot_retry_enabled(self) -> Optional[pulumi.Input[bool]]:
422
406
  """
423
- If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
407
+ If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
424
408
  """
425
409
  return pulumi.get(self, "boot_retry_enabled")
426
410
 
@@ -432,7 +416,7 @@ class VirtualMachineArgs:
432
416
  @pulumi.getter
433
417
  def cdroms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]]]:
434
418
  """
435
- A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
419
+ A specification for a CDROM device on this virtual machine.
436
420
  """
437
421
  return pulumi.get(self, "cdroms")
438
422
 
@@ -444,7 +428,7 @@ class VirtualMachineArgs:
444
428
  @pulumi.getter
445
429
  def clone(self) -> Optional[pulumi.Input['VirtualMachineCloneArgs']]:
446
430
  """
447
- When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
431
+ A specification for cloning a virtual machine from template.
448
432
  """
449
433
  return pulumi.get(self, "clone")
450
434
 
@@ -456,7 +440,7 @@ class VirtualMachineArgs:
456
440
  @pulumi.getter(name="cpuHotAddEnabled")
457
441
  def cpu_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
458
442
  """
459
- Allow CPUs to be added to the virtual machine while it is powered on.
443
+ Allow CPUs to be added to this virtual machine while it is running.
460
444
  """
461
445
  return pulumi.get(self, "cpu_hot_add_enabled")
462
446
 
@@ -468,7 +452,7 @@ class VirtualMachineArgs:
468
452
  @pulumi.getter(name="cpuHotRemoveEnabled")
469
453
  def cpu_hot_remove_enabled(self) -> Optional[pulumi.Input[bool]]:
470
454
  """
471
- Allow CPUs to be removed to the virtual machine while it is powered on.
455
+ Allow CPUs to be added to this virtual machine while it is running.
472
456
  """
473
457
  return pulumi.get(self, "cpu_hot_remove_enabled")
474
458
 
@@ -480,7 +464,8 @@ class VirtualMachineArgs:
480
464
  @pulumi.getter(name="cpuLimit")
481
465
  def cpu_limit(self) -> Optional[pulumi.Input[int]]:
482
466
  """
483
- The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
467
+ The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
468
+ resources.
484
469
  """
485
470
  return pulumi.get(self, "cpu_limit")
486
471
 
@@ -492,7 +477,7 @@ class VirtualMachineArgs:
492
477
  @pulumi.getter(name="cpuPerformanceCountersEnabled")
493
478
  def cpu_performance_counters_enabled(self) -> Optional[pulumi.Input[bool]]:
494
479
  """
495
- Enable CPU performance counters on the virtual machine. Default: `false`.
480
+ Enable CPU performance counters on this virtual machine.
496
481
  """
497
482
  return pulumi.get(self, "cpu_performance_counters_enabled")
498
483
 
@@ -504,7 +489,7 @@ class VirtualMachineArgs:
504
489
  @pulumi.getter(name="cpuReservation")
505
490
  def cpu_reservation(self) -> Optional[pulumi.Input[int]]:
506
491
  """
507
- The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
492
+ The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
508
493
  """
509
494
  return pulumi.get(self, "cpu_reservation")
510
495
 
@@ -516,7 +501,7 @@ class VirtualMachineArgs:
516
501
  @pulumi.getter(name="cpuShareCount")
517
502
  def cpu_share_count(self) -> Optional[pulumi.Input[int]]:
518
503
  """
519
- The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
504
+ The amount of shares to allocate to cpu for a custom share level.
520
505
  """
521
506
  return pulumi.get(self, "cpu_share_count")
522
507
 
@@ -528,7 +513,7 @@ class VirtualMachineArgs:
528
513
  @pulumi.getter(name="cpuShareLevel")
529
514
  def cpu_share_level(self) -> Optional[pulumi.Input[str]]:
530
515
  """
531
- The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
516
+ The allocation level for cpu resources. Can be one of high, low, normal, or custom.
532
517
  """
533
518
  return pulumi.get(self, "cpu_share_level")
534
519
 
@@ -540,9 +525,7 @@ class VirtualMachineArgs:
540
525
  @pulumi.getter(name="customAttributes")
541
526
  def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
542
527
  """
543
- Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
544
-
545
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
528
+ A list of custom attributes to set on this resource.
546
529
  """
547
530
  return pulumi.get(self, "custom_attributes")
548
531
 
@@ -554,7 +537,7 @@ class VirtualMachineArgs:
554
537
  @pulumi.getter(name="datacenterId")
555
538
  def datacenter_id(self) -> Optional[pulumi.Input[str]]:
556
539
  """
557
- The datacenter ID. Required only when deploying an OVF/OVA template.
540
+ The ID of the datacenter where the VM is to be created.
558
541
  """
559
542
  return pulumi.get(self, "datacenter_id")
560
543
 
@@ -566,13 +549,7 @@ class VirtualMachineArgs:
566
549
  @pulumi.getter(name="datastoreClusterId")
567
550
  def datastore_cluster_id(self) -> Optional[pulumi.Input[str]]:
568
551
  """
569
- The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
570
-
571
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
572
-
573
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
574
-
575
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
552
+ The ID of a datastore cluster to put the virtual machine in.
576
553
  """
577
554
  return pulumi.get(self, "datastore_cluster_id")
578
555
 
@@ -584,7 +561,8 @@ class VirtualMachineArgs:
584
561
  @pulumi.getter(name="datastoreId")
585
562
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
586
563
  """
587
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
564
+ The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
565
+ disks that are created without datastores.
588
566
  """
589
567
  return pulumi.get(self, "datastore_id")
590
568
 
@@ -596,7 +574,7 @@ class VirtualMachineArgs:
596
574
  @pulumi.getter
597
575
  def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]]]:
598
576
  """
599
- A specification for a virtual disk device on the virtual machine. See disk options for more information.
577
+ A specification for a virtual disk device on this virtual machine.
600
578
  """
601
579
  return pulumi.get(self, "disks")
602
580
 
@@ -608,9 +586,7 @@ class VirtualMachineArgs:
608
586
  @pulumi.getter(name="efiSecureBootEnabled")
609
587
  def efi_secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]:
610
588
  """
611
- Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
612
-
613
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
589
+ When the boot type set in firmware is efi, this enables EFI secure boot.
614
590
  """
615
591
  return pulumi.get(self, "efi_secure_boot_enabled")
616
592
 
@@ -622,7 +598,7 @@ class VirtualMachineArgs:
622
598
  @pulumi.getter(name="enableDiskUuid")
623
599
  def enable_disk_uuid(self) -> Optional[pulumi.Input[bool]]:
624
600
  """
625
- Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
601
+ Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
626
602
  """
627
603
  return pulumi.get(self, "enable_disk_uuid")
628
604
 
@@ -634,7 +610,7 @@ class VirtualMachineArgs:
634
610
  @pulumi.getter(name="enableLogging")
635
611
  def enable_logging(self) -> Optional[pulumi.Input[bool]]:
636
612
  """
637
- Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
613
+ Enable logging on this virtual machine.
638
614
  """
639
615
  return pulumi.get(self, "enable_logging")
640
616
 
@@ -646,7 +622,7 @@ class VirtualMachineArgs:
646
622
  @pulumi.getter(name="eptRviMode")
647
623
  def ept_rvi_mode(self) -> Optional[pulumi.Input[str]]:
648
624
  """
649
- The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
625
+ The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
650
626
  """
651
627
  return pulumi.get(self, "ept_rvi_mode")
652
628
 
@@ -658,9 +634,8 @@ class VirtualMachineArgs:
658
634
  @pulumi.getter(name="extraConfig")
659
635
  def extra_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
660
636
  """
661
- Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
662
-
663
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
637
+ Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
638
+ configuration, such as instance metadata, or configuration data for OVF images.
664
639
  """
665
640
  return pulumi.get(self, "extra_config")
666
641
 
@@ -672,7 +647,7 @@ class VirtualMachineArgs:
672
647
  @pulumi.getter(name="extraConfigRebootRequired")
673
648
  def extra_config_reboot_required(self) -> Optional[pulumi.Input[bool]]:
674
649
  """
675
- Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
650
+ Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
676
651
  """
677
652
  return pulumi.get(self, "extra_config_reboot_required")
678
653
 
@@ -684,7 +659,7 @@ class VirtualMachineArgs:
684
659
  @pulumi.getter
685
660
  def firmware(self) -> Optional[pulumi.Input[str]]:
686
661
  """
687
- The firmware for the virtual machine. One of `bios` or `efi`.
662
+ The firmware interface to use on the virtual machine. Can be one of bios or efi.
688
663
  """
689
664
  return pulumi.get(self, "firmware")
690
665
 
@@ -696,7 +671,7 @@ class VirtualMachineArgs:
696
671
  @pulumi.getter
697
672
  def folder(self) -> Optional[pulumi.Input[str]]:
698
673
  """
699
- The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
674
+ The name of the folder to locate the virtual machine in.
700
675
  """
701
676
  return pulumi.get(self, "folder")
702
677
 
@@ -708,7 +683,7 @@ class VirtualMachineArgs:
708
683
  @pulumi.getter(name="forcePowerOff")
709
684
  def force_power_off(self) -> Optional[pulumi.Input[bool]]:
710
685
  """
711
- If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
686
+ Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
712
687
  """
713
688
  return pulumi.get(self, "force_power_off")
714
689
 
@@ -720,9 +695,7 @@ class VirtualMachineArgs:
720
695
  @pulumi.getter(name="guestId")
721
696
  def guest_id(self) -> Optional[pulumi.Input[str]]:
722
697
  """
723
- The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
724
-
725
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
698
+ The guest ID for the operating system.
726
699
  """
727
700
  return pulumi.get(self, "guest_id")
728
701
 
@@ -734,10 +707,7 @@ class VirtualMachineArgs:
734
707
  @pulumi.getter(name="hardwareVersion")
735
708
  def hardware_version(self) -> Optional[pulumi.Input[int]]:
736
709
  """
737
- The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
738
-
739
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
740
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
710
+ The hardware version for the virtual machine.
741
711
  """
742
712
  return pulumi.get(self, "hardware_version")
743
713
 
@@ -749,7 +719,7 @@ class VirtualMachineArgs:
749
719
  @pulumi.getter(name="hostSystemId")
750
720
  def host_system_id(self) -> Optional[pulumi.Input[str]]:
751
721
  """
752
- The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
722
+ The ID of an optional host system to pin the virtual machine to.
753
723
  """
754
724
  return pulumi.get(self, "host_system_id")
755
725
 
@@ -761,7 +731,7 @@ class VirtualMachineArgs:
761
731
  @pulumi.getter(name="hvMode")
762
732
  def hv_mode(self) -> Optional[pulumi.Input[str]]:
763
733
  """
764
- The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
734
+ The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
765
735
  """
766
736
  return pulumi.get(self, "hv_mode")
767
737
 
@@ -772,9 +742,6 @@ class VirtualMachineArgs:
772
742
  @property
773
743
  @pulumi.getter(name="ideControllerCount")
774
744
  def ide_controller_count(self) -> Optional[pulumi.Input[int]]:
775
- """
776
- The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
777
- """
778
745
  return pulumi.get(self, "ide_controller_count")
779
746
 
780
747
  @ide_controller_count.setter
@@ -785,7 +752,7 @@ class VirtualMachineArgs:
785
752
  @pulumi.getter(name="ignoredGuestIps")
786
753
  def ignored_guest_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
787
754
  """
788
- 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
755
+ List of IP addresses and CIDR networks to ignore while waiting for an IP
789
756
  """
790
757
  return pulumi.get(self, "ignored_guest_ips")
791
758
 
@@ -797,9 +764,9 @@ class VirtualMachineArgs:
797
764
  @pulumi.getter(name="latencySensitivity")
798
765
  def latency_sensitivity(self) -> Optional[pulumi.Input[str]]:
799
766
  """
800
- 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. One of `low`, `normal`, `medium`, or `high`.
801
-
802
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
767
+ Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
768
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
769
+ devices. Can be one of low, normal, medium, or high.
803
770
  """
804
771
  return pulumi.get(self, "latency_sensitivity")
805
772
 
@@ -811,7 +778,7 @@ class VirtualMachineArgs:
811
778
  @pulumi.getter
812
779
  def memory(self) -> Optional[pulumi.Input[int]]:
813
780
  """
814
- The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
781
+ The size of the virtual machine's memory, in MB.
815
782
  """
816
783
  return pulumi.get(self, "memory")
817
784
 
@@ -823,15 +790,7 @@ class VirtualMachineArgs:
823
790
  @pulumi.getter(name="memoryHotAddEnabled")
824
791
  def memory_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
825
792
  """
826
- Allow memory to be added to the virtual machine while it is powered on.
827
-
828
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
829
-
830
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
831
-
832
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
833
-
834
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
793
+ Allow memory to be added to this virtual machine while it is running.
835
794
  """
836
795
  return pulumi.get(self, "memory_hot_add_enabled")
837
796
 
@@ -843,7 +802,8 @@ class VirtualMachineArgs:
843
802
  @pulumi.getter(name="memoryLimit")
844
803
  def memory_limit(self) -> Optional[pulumi.Input[int]]:
845
804
  """
846
- The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
805
+ The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
806
+ resources.
847
807
  """
848
808
  return pulumi.get(self, "memory_limit")
849
809
 
@@ -855,7 +815,7 @@ class VirtualMachineArgs:
855
815
  @pulumi.getter(name="memoryReservation")
856
816
  def memory_reservation(self) -> Optional[pulumi.Input[int]]:
857
817
  """
858
- The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
818
+ The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
859
819
  """
860
820
  return pulumi.get(self, "memory_reservation")
861
821
 
@@ -863,11 +823,25 @@ class VirtualMachineArgs:
863
823
  def memory_reservation(self, value: Optional[pulumi.Input[int]]):
864
824
  pulumi.set(self, "memory_reservation", value)
865
825
 
826
+ @property
827
+ @pulumi.getter(name="memoryReservationLockedToMax")
828
+ def memory_reservation_locked_to_max(self) -> Optional[pulumi.Input[bool]]:
829
+ """
830
+ If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
831
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
832
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
833
+ """
834
+ return pulumi.get(self, "memory_reservation_locked_to_max")
835
+
836
+ @memory_reservation_locked_to_max.setter
837
+ def memory_reservation_locked_to_max(self, value: Optional[pulumi.Input[bool]]):
838
+ pulumi.set(self, "memory_reservation_locked_to_max", value)
839
+
866
840
  @property
867
841
  @pulumi.getter(name="memoryShareCount")
868
842
  def memory_share_count(self) -> Optional[pulumi.Input[int]]:
869
843
  """
870
- The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
844
+ The amount of shares to allocate to memory for a custom share level.
871
845
  """
872
846
  return pulumi.get(self, "memory_share_count")
873
847
 
@@ -879,7 +853,7 @@ class VirtualMachineArgs:
879
853
  @pulumi.getter(name="memoryShareLevel")
880
854
  def memory_share_level(self) -> Optional[pulumi.Input[str]]:
881
855
  """
882
- The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
856
+ The allocation level for memory resources. Can be one of high, low, normal, or custom.
883
857
  """
884
858
  return pulumi.get(self, "memory_share_level")
885
859
 
@@ -891,7 +865,7 @@ class VirtualMachineArgs:
891
865
  @pulumi.getter(name="migrateWaitTimeout")
892
866
  def migrate_wait_timeout(self) -> Optional[pulumi.Input[int]]:
893
867
  """
894
- The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
868
+ The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
895
869
  """
896
870
  return pulumi.get(self, "migrate_wait_timeout")
897
871
 
@@ -903,7 +877,7 @@ class VirtualMachineArgs:
903
877
  @pulumi.getter
904
878
  def name(self) -> Optional[pulumi.Input[str]]:
905
879
  """
906
- The name of the virtual machine.
880
+ The name of this virtual machine.
907
881
  """
908
882
  return pulumi.get(self, "name")
909
883
 
@@ -915,7 +889,7 @@ class VirtualMachineArgs:
915
889
  @pulumi.getter(name="nestedHvEnabled")
916
890
  def nested_hv_enabled(self) -> Optional[pulumi.Input[bool]]:
917
891
  """
918
- Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
892
+ Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
919
893
  """
920
894
  return pulumi.get(self, "nested_hv_enabled")
921
895
 
@@ -927,7 +901,7 @@ class VirtualMachineArgs:
927
901
  @pulumi.getter(name="networkInterfaces")
928
902
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]]]:
929
903
  """
930
- A specification for a virtual NIC on the virtual machine. See network interface options for more information.
904
+ A specification for a virtual NIC on this virtual machine.
931
905
  """
932
906
  return pulumi.get(self, "network_interfaces")
933
907
 
@@ -939,7 +913,8 @@ class VirtualMachineArgs:
939
913
  @pulumi.getter(name="numCoresPerSocket")
940
914
  def num_cores_per_socket(self) -> Optional[pulumi.Input[int]]:
941
915
  """
942
- The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
916
+ The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
917
+ must be evenly divisible by this value.
943
918
  """
944
919
  return pulumi.get(self, "num_cores_per_socket")
945
920
 
@@ -951,7 +926,7 @@ class VirtualMachineArgs:
951
926
  @pulumi.getter(name="numCpus")
952
927
  def num_cpus(self) -> Optional[pulumi.Input[int]]:
953
928
  """
954
- The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
929
+ The number of virtual processors to assign to this virtual machine.
955
930
  """
956
931
  return pulumi.get(self, "num_cpus")
957
932
 
@@ -963,7 +938,7 @@ class VirtualMachineArgs:
963
938
  @pulumi.getter(name="ovfDeploy")
964
939
  def ovf_deploy(self) -> Optional[pulumi.Input['VirtualMachineOvfDeployArgs']]:
965
940
  """
966
- When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
941
+ A specification for deploying a virtual machine from ovf/ova template.
967
942
  """
968
943
  return pulumi.get(self, "ovf_deploy")
969
944
 
@@ -975,9 +950,7 @@ class VirtualMachineArgs:
975
950
  @pulumi.getter(name="pciDeviceIds")
976
951
  def pci_device_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
977
952
  """
978
- List of host PCI device IDs in which to create PCI passthroughs.
979
-
980
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
953
+ A list of PCI passthrough devices
981
954
  """
982
955
  return pulumi.get(self, "pci_device_ids")
983
956
 
@@ -1002,8 +975,6 @@ class VirtualMachineArgs:
1002
975
  def replace_trigger(self) -> Optional[pulumi.Input[str]]:
1003
976
  """
1004
977
  Triggers replacement of resource whenever it changes.
1005
-
1006
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
1007
978
  """
1008
979
  return pulumi.get(self, "replace_trigger")
1009
980
 
@@ -1015,7 +986,7 @@ class VirtualMachineArgs:
1015
986
  @pulumi.getter(name="runToolsScriptsAfterPowerOn")
1016
987
  def run_tools_scripts_after_power_on(self) -> Optional[pulumi.Input[bool]]:
1017
988
  """
1018
- Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
989
+ Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
1019
990
  """
1020
991
  return pulumi.get(self, "run_tools_scripts_after_power_on")
1021
992
 
@@ -1027,7 +998,7 @@ class VirtualMachineArgs:
1027
998
  @pulumi.getter(name="runToolsScriptsAfterResume")
1028
999
  def run_tools_scripts_after_resume(self) -> Optional[pulumi.Input[bool]]:
1029
1000
  """
1030
- Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
1001
+ Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
1031
1002
  """
1032
1003
  return pulumi.get(self, "run_tools_scripts_after_resume")
1033
1004
 
@@ -1039,7 +1010,7 @@ class VirtualMachineArgs:
1039
1010
  @pulumi.getter(name="runToolsScriptsBeforeGuestReboot")
1040
1011
  def run_tools_scripts_before_guest_reboot(self) -> Optional[pulumi.Input[bool]]:
1041
1012
  """
1042
- Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
1013
+ Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
1043
1014
  """
1044
1015
  return pulumi.get(self, "run_tools_scripts_before_guest_reboot")
1045
1016
 
@@ -1051,7 +1022,7 @@ class VirtualMachineArgs:
1051
1022
  @pulumi.getter(name="runToolsScriptsBeforeGuestShutdown")
1052
1023
  def run_tools_scripts_before_guest_shutdown(self) -> Optional[pulumi.Input[bool]]:
1053
1024
  """
1054
- Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
1025
+ Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
1055
1026
  """
1056
1027
  return pulumi.get(self, "run_tools_scripts_before_guest_shutdown")
1057
1028
 
@@ -1063,7 +1034,7 @@ class VirtualMachineArgs:
1063
1034
  @pulumi.getter(name="runToolsScriptsBeforeGuestStandby")
1064
1035
  def run_tools_scripts_before_guest_standby(self) -> Optional[pulumi.Input[bool]]:
1065
1036
  """
1066
- Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
1037
+ Enable the run of scripts before guest operating system standby when VMware Tools is installed.
1067
1038
  """
1068
1039
  return pulumi.get(self, "run_tools_scripts_before_guest_standby")
1069
1040
 
@@ -1074,11 +1045,6 @@ class VirtualMachineArgs:
1074
1045
  @property
1075
1046
  @pulumi.getter(name="sataControllerCount")
1076
1047
  def sata_controller_count(self) -> Optional[pulumi.Input[int]]:
1077
- """
1078
- The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
1079
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1080
- controllers.
1081
- """
1082
1048
  return pulumi.get(self, "sata_controller_count")
1083
1049
 
1084
1050
  @sata_controller_count.setter
@@ -1089,7 +1055,7 @@ class VirtualMachineArgs:
1089
1055
  @pulumi.getter(name="scsiBusSharing")
1090
1056
  def scsi_bus_sharing(self) -> Optional[pulumi.Input[str]]:
1091
1057
  """
1092
- The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
1058
+ Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
1093
1059
  """
1094
1060
  return pulumi.get(self, "scsi_bus_sharing")
1095
1061
 
@@ -1100,11 +1066,6 @@ class VirtualMachineArgs:
1100
1066
  @property
1101
1067
  @pulumi.getter(name="scsiControllerCount")
1102
1068
  def scsi_controller_count(self) -> Optional[pulumi.Input[int]]:
1103
- """
1104
- The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
1105
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1106
- controllers.
1107
- """
1108
1069
  return pulumi.get(self, "scsi_controller_count")
1109
1070
 
1110
1071
  @scsi_controller_count.setter
@@ -1115,7 +1076,7 @@ class VirtualMachineArgs:
1115
1076
  @pulumi.getter(name="scsiType")
1116
1077
  def scsi_type(self) -> Optional[pulumi.Input[str]]:
1117
1078
  """
1118
- The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
1079
+ The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
1119
1080
  """
1120
1081
  return pulumi.get(self, "scsi_type")
1121
1082
 
@@ -1127,7 +1088,7 @@ class VirtualMachineArgs:
1127
1088
  @pulumi.getter(name="shutdownWaitTimeout")
1128
1089
  def shutdown_wait_timeout(self) -> Optional[pulumi.Input[int]]:
1129
1090
  """
1130
- The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
1091
+ The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
1131
1092
  """
1132
1093
  return pulumi.get(self, "shutdown_wait_timeout")
1133
1094
 
@@ -1139,7 +1100,7 @@ class VirtualMachineArgs:
1139
1100
  @pulumi.getter(name="storagePolicyId")
1140
1101
  def storage_policy_id(self) -> Optional[pulumi.Input[str]]:
1141
1102
  """
1142
- The UUID of the storage policy to assign to the virtual disk.
1103
+ The ID of the storage policy to assign to the virtual machine home directory.
1143
1104
  """
1144
1105
  return pulumi.get(self, "storage_policy_id")
1145
1106
 
@@ -1151,7 +1112,7 @@ class VirtualMachineArgs:
1151
1112
  @pulumi.getter(name="swapPlacementPolicy")
1152
1113
  def swap_placement_policy(self) -> Optional[pulumi.Input[str]]:
1153
1114
  """
1154
- The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
1115
+ The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
1155
1116
  """
1156
1117
  return pulumi.get(self, "swap_placement_policy")
1157
1118
 
@@ -1163,7 +1124,8 @@ class VirtualMachineArgs:
1163
1124
  @pulumi.getter(name="syncTimeWithHost")
1164
1125
  def sync_time_with_host(self) -> Optional[pulumi.Input[bool]]:
1165
1126
  """
1166
- Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
1127
+ Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
1128
+ synchronized on startup and resume. Requires VMware Tools to be installed.
1167
1129
  """
1168
1130
  return pulumi.get(self, "sync_time_with_host")
1169
1131
 
@@ -1175,7 +1137,8 @@ class VirtualMachineArgs:
1175
1137
  @pulumi.getter(name="syncTimeWithHostPeriodically")
1176
1138
  def sync_time_with_host_periodically(self) -> Optional[pulumi.Input[bool]]:
1177
1139
  """
1178
- Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
1140
+ Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
1141
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
1179
1142
  """
1180
1143
  return pulumi.get(self, "sync_time_with_host_periodically")
1181
1144
 
@@ -1187,9 +1150,7 @@ class VirtualMachineArgs:
1187
1150
  @pulumi.getter
1188
1151
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1189
1152
  """
1190
- The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
1191
-
1192
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
1153
+ A list of tag IDs to apply to this object.
1193
1154
  """
1194
1155
  return pulumi.get(self, "tags")
1195
1156
 
@@ -1201,7 +1162,7 @@ class VirtualMachineArgs:
1201
1162
  @pulumi.getter(name="toolsUpgradePolicy")
1202
1163
  def tools_upgrade_policy(self) -> Optional[pulumi.Input[str]]:
1203
1164
  """
1204
- Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
1165
+ Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
1205
1166
  """
1206
1167
  return pulumi.get(self, "tools_upgrade_policy")
1207
1168
 
@@ -1213,7 +1174,7 @@ class VirtualMachineArgs:
1213
1174
  @pulumi.getter
1214
1175
  def vapp(self) -> Optional[pulumi.Input['VirtualMachineVappArgs']]:
1215
1176
  """
1216
- Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
1177
+ vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
1217
1178
  """
1218
1179
  return pulumi.get(self, "vapp")
1219
1180
 
@@ -1225,7 +1186,7 @@ class VirtualMachineArgs:
1225
1186
  @pulumi.getter(name="vbsEnabled")
1226
1187
  def vbs_enabled(self) -> Optional[pulumi.Input[bool]]:
1227
1188
  """
1228
- Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
1189
+ Flag to specify if Virtualization-based security is enabled for this virtual machine.
1229
1190
  """
1230
1191
  return pulumi.get(self, "vbs_enabled")
1231
1192
 
@@ -1233,11 +1194,24 @@ class VirtualMachineArgs:
1233
1194
  def vbs_enabled(self, value: Optional[pulumi.Input[bool]]):
1234
1195
  pulumi.set(self, "vbs_enabled", value)
1235
1196
 
1197
+ @property
1198
+ @pulumi.getter
1199
+ def vtpm(self) -> Optional[pulumi.Input['VirtualMachineVtpmArgs']]:
1200
+ """
1201
+ A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
1202
+ """
1203
+ return pulumi.get(self, "vtpm")
1204
+
1205
+ @vtpm.setter
1206
+ def vtpm(self, value: Optional[pulumi.Input['VirtualMachineVtpmArgs']]):
1207
+ pulumi.set(self, "vtpm", value)
1208
+
1236
1209
  @property
1237
1210
  @pulumi.getter(name="vvtdEnabled")
1238
1211
  def vvtd_enabled(self) -> Optional[pulumi.Input[bool]]:
1239
1212
  """
1240
- Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
1213
+ Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
1214
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
1241
1215
  """
1242
1216
  return pulumi.get(self, "vvtd_enabled")
1243
1217
 
@@ -1249,7 +1223,8 @@ class VirtualMachineArgs:
1249
1223
  @pulumi.getter(name="waitForGuestIpTimeout")
1250
1224
  def wait_for_guest_ip_timeout(self) -> Optional[pulumi.Input[int]]:
1251
1225
  """
1252
- The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
1226
+ The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
1227
+ disables the waiter.
1253
1228
  """
1254
1229
  return pulumi.get(self, "wait_for_guest_ip_timeout")
1255
1230
 
@@ -1261,7 +1236,8 @@ class VirtualMachineArgs:
1261
1236
  @pulumi.getter(name="waitForGuestNetRoutable")
1262
1237
  def wait_for_guest_net_routable(self) -> Optional[pulumi.Input[bool]]:
1263
1238
  """
1264
- 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
1239
+ Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
1240
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
1265
1241
  """
1266
1242
  return pulumi.get(self, "wait_for_guest_net_routable")
1267
1243
 
@@ -1273,7 +1249,8 @@ class VirtualMachineArgs:
1273
1249
  @pulumi.getter(name="waitForGuestNetTimeout")
1274
1250
  def wait_for_guest_net_timeout(self) -> Optional[pulumi.Input[int]]:
1275
1251
  """
1276
- The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
1252
+ The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
1253
+ disables the waiter.
1277
1254
  """
1278
1255
  return pulumi.get(self, "wait_for_guest_net_timeout")
1279
1256
 
@@ -1328,6 +1305,7 @@ class _VirtualMachineState:
1328
1305
  memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
1329
1306
  memory_limit: Optional[pulumi.Input[int]] = None,
1330
1307
  memory_reservation: Optional[pulumi.Input[int]] = None,
1308
+ memory_reservation_locked_to_max: Optional[pulumi.Input[bool]] = None,
1331
1309
  memory_share_count: Optional[pulumi.Input[int]] = None,
1332
1310
  memory_share_level: Optional[pulumi.Input[str]] = None,
1333
1311
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
@@ -1366,136 +1344,111 @@ class _VirtualMachineState:
1366
1344
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
1367
1345
  vmware_tools_status: Optional[pulumi.Input[str]] = None,
1368
1346
  vmx_path: Optional[pulumi.Input[str]] = None,
1347
+ vtpm: Optional[pulumi.Input['VirtualMachineVtpmArgs']] = None,
1369
1348
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
1370
1349
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
1371
1350
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
1372
1351
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None):
1373
1352
  """
1374
1353
  Input properties used for looking up and filtering VirtualMachine resources.
1375
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
1376
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
1377
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
1378
- :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
1379
- :param pulumi.Input[bool] boot_retry_enabled: If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
1380
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]] cdroms: A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
1354
+ :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when guest_id is otherGuest or otherGuest64.
1355
+ :param pulumi.Input[str] annotation: User-provided description of the virtual machine.
1356
+ :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence.
1357
+ :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
1358
+ :param pulumi.Input[bool] boot_retry_enabled: If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
1359
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]] cdroms: A specification for a CDROM device on this virtual machine.
1381
1360
  :param pulumi.Input[str] change_version: A unique identifier for a given version of the last configuration was applied.
1382
- :param pulumi.Input['VirtualMachineCloneArgs'] clone: When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
1383
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
1384
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
1385
- :param pulumi.Input[int] cpu_limit: The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
1386
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
1387
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
1388
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
1389
- :param pulumi.Input[str] cpu_share_level: The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
1390
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
1391
-
1392
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
1393
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
1394
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
1395
-
1396
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
1397
-
1398
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
1399
-
1400
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
1401
- :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1361
+ :param pulumi.Input['VirtualMachineCloneArgs'] clone: A specification for cloning a virtual machine from template.
1362
+ :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to this virtual machine while it is running.
1363
+ :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be added to this virtual machine while it is running.
1364
+ :param pulumi.Input[int] cpu_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
1365
+ resources.
1366
+ :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on this virtual machine.
1367
+ :param pulumi.Input[int] cpu_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
1368
+ :param pulumi.Input[int] cpu_share_count: The amount of shares to allocate to cpu for a custom share level.
1369
+ :param pulumi.Input[str] cpu_share_level: The allocation level for cpu resources. Can be one of high, low, normal, or custom.
1370
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A list of custom attributes to set on this resource.
1371
+ :param pulumi.Input[str] datacenter_id: The ID of the datacenter where the VM is to be created.
1372
+ :param pulumi.Input[str] datastore_cluster_id: The ID of a datastore cluster to put the virtual machine in.
1373
+ :param pulumi.Input[str] datastore_id: The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
1374
+ disks that are created without datastores.
1402
1375
  :param pulumi.Input[str] default_ip_address: The IP address selected by the provider to be used with any provisioners configured on this resource. When 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 exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank.
1403
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information.
1404
- :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
1405
-
1406
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
1407
- :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
1408
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
1409
- :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
1410
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
1411
-
1412
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
1413
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
1414
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
1415
- :param pulumi.Input[str] folder: The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
1416
- :param pulumi.Input[bool] force_power_off: If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
1417
- :param pulumi.Input[str] guest_id: The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
1418
-
1419
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
1376
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]] disks: A specification for a virtual disk device on this virtual machine.
1377
+ :param pulumi.Input[bool] efi_secure_boot_enabled: When the boot type set in firmware is efi, this enables EFI secure boot.
1378
+ :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
1379
+ :param pulumi.Input[bool] enable_logging: Enable logging on this virtual machine.
1380
+ :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
1381
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
1382
+ configuration, such as instance metadata, or configuration data for OVF images.
1383
+ :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
1384
+ :param pulumi.Input[str] firmware: The firmware interface to use on the virtual machine. Can be one of bios or efi.
1385
+ :param pulumi.Input[str] folder: The name of the folder to locate the virtual machine in.
1386
+ :param pulumi.Input[bool] force_power_off: Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
1387
+ :param pulumi.Input[str] guest_id: The guest ID for the operating system.
1420
1388
  :param pulumi.Input[Sequence[pulumi.Input[str]]] guest_ip_addresses: The current list of IP addresses on this machine, including the value of `default_ip_address`. If VMware Tools is not running on the virtual machine, or if the virtul machine is powered off, this list will be empty.
1421
- :param pulumi.Input[int] hardware_version: The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
1422
-
1423
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
1424
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
1425
- :param pulumi.Input[str] host_system_id: The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
1426
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
1427
- :param pulumi.Input[int] ide_controller_count: The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
1428
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
1389
+ :param pulumi.Input[int] hardware_version: The hardware version for the virtual machine.
1390
+ :param pulumi.Input[str] host_system_id: The ID of an optional host system to pin the virtual machine to.
1391
+ :param pulumi.Input[str] hv_mode: The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
1392
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: List of IP addresses and CIDR networks to ignore while waiting for an IP
1429
1393
  :param pulumi.Input[bool] imported: Indicates if the virtual machine resource has been imported, or if 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.
1430
- :param pulumi.Input[str] latency_sensitivity: 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. One of `low`, `normal`, `medium`, or `high`.
1431
-
1432
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
1433
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
1434
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
1435
-
1436
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
1437
-
1438
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
1439
-
1440
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
1441
-
1442
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
1443
- :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
1444
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
1445
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
1446
- :param pulumi.Input[str] memory_share_level: The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
1447
- :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
1394
+ :param pulumi.Input[str] latency_sensitivity: Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
1395
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
1396
+ devices. Can be one of low, normal, medium, or high.
1397
+ :param pulumi.Input[int] memory: The size of the virtual machine's memory, in MB.
1398
+ :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to this virtual machine while it is running.
1399
+ :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
1400
+ resources.
1401
+ :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
1402
+ :param pulumi.Input[bool] memory_reservation_locked_to_max: If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
1403
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
1404
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
1405
+ :param pulumi.Input[int] memory_share_count: The amount of shares to allocate to memory for a custom share level.
1406
+ :param pulumi.Input[str] memory_share_level: The allocation level for memory resources. Can be one of high, low, normal, or custom.
1407
+ :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
1448
1408
  :param pulumi.Input[str] moid: The managed object reference ID of the created virtual machine.
1449
- :param pulumi.Input[str] name: The name of the virtual machine.
1450
- :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
1451
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
1452
- :param pulumi.Input[int] num_cores_per_socket: The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
1453
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
1454
- :param pulumi.Input['VirtualMachineOvfDeployArgs'] ovf_deploy: When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
1455
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
1456
-
1457
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
1409
+ :param pulumi.Input[str] name: The name of this virtual machine.
1410
+ :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
1411
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on this virtual machine.
1412
+ :param pulumi.Input[int] num_cores_per_socket: The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
1413
+ must be evenly divisible by this value.
1414
+ :param pulumi.Input[int] num_cpus: The number of virtual processors to assign to this virtual machine.
1415
+ :param pulumi.Input['VirtualMachineOvfDeployArgs'] ovf_deploy: A specification for deploying a virtual machine from ovf/ova template.
1416
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: A list of PCI passthrough devices
1458
1417
  :param pulumi.Input[str] power_state: A computed value for the current power state of the virtual machine. One of `on`, `off`, or `suspended`.
1459
1418
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
1460
- :param pulumi.Input[bool] reboot_required: Value internal to Terraform used to determine if a configuration set change requires a reboot.
1461
1419
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
1462
-
1463
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
1464
- :param pulumi.Input[str] resource_pool_id: The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
1465
-
1466
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
1467
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
1468
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
1469
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
1470
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
1471
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
1472
- :param pulumi.Input[int] sata_controller_count: The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
1473
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1474
- controllers.
1475
- :param pulumi.Input[str] scsi_bus_sharing: The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
1476
- :param pulumi.Input[int] scsi_controller_count: The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
1477
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1478
- controllers.
1479
- :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
1480
- :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
1481
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
1482
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
1483
- :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
1484
- :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
1485
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
1486
-
1487
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
1488
- :param pulumi.Input[str] tools_upgrade_policy: Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
1489
- :param pulumi.Input[str] uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
1490
- :param pulumi.Input['VirtualMachineVappArgs'] vapp: Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
1420
+ :param pulumi.Input[str] resource_pool_id: The ID of a resource pool to put the virtual machine in.
1421
+ :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
1422
+ :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
1423
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
1424
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
1425
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable the run of scripts before guest operating system standby when VMware Tools is installed.
1426
+ :param pulumi.Input[str] scsi_bus_sharing: Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
1427
+ :param pulumi.Input[str] scsi_type: The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
1428
+ :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
1429
+ :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the virtual machine home directory.
1430
+ :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
1431
+ :param pulumi.Input[bool] sync_time_with_host: Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
1432
+ synchronized on startup and resume. Requires VMware Tools to be installed.
1433
+ :param pulumi.Input[bool] sync_time_with_host_periodically: Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
1434
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
1435
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag IDs to apply to this object.
1436
+ :param pulumi.Input[str] tools_upgrade_policy: Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
1437
+ :param pulumi.Input[str] uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
1438
+ :param pulumi.Input['VirtualMachineVappArgs'] vapp: vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
1491
1439
  :param pulumi.Input[Sequence[pulumi.Input[str]]] vapp_transports: Computed value which is only valid for cloned virtual machines. A list of vApp transport methods supported by the source virtual machine or template.
1492
- :param pulumi.Input[bool] vbs_enabled: Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
1440
+ :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
1493
1441
  :param pulumi.Input[str] vmware_tools_status: The state of VMware Tools in the guest. This will determine the proper course of action for some device operations.
1494
1442
  :param pulumi.Input[str] vmx_path: The path of the virtual machine configuration file on the datastore in which the virtual machine is placed.
1495
- :param pulumi.Input[bool] vvtd_enabled: Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
1496
- :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
1497
- :param pulumi.Input[bool] wait_for_guest_net_routable: 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
1498
- :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
1443
+ :param pulumi.Input['VirtualMachineVtpmArgs'] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
1444
+ :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
1445
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
1446
+ :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
1447
+ disables the waiter.
1448
+ :param pulumi.Input[bool] wait_for_guest_net_routable: Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
1449
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
1450
+ :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
1451
+ disables the waiter.
1499
1452
  """
1500
1453
  if alternate_guest_name is not None:
1501
1454
  pulumi.set(__self__, "alternate_guest_name", alternate_guest_name)
@@ -1583,6 +1536,8 @@ class _VirtualMachineState:
1583
1536
  pulumi.set(__self__, "memory_limit", memory_limit)
1584
1537
  if memory_reservation is not None:
1585
1538
  pulumi.set(__self__, "memory_reservation", memory_reservation)
1539
+ if memory_reservation_locked_to_max is not None:
1540
+ pulumi.set(__self__, "memory_reservation_locked_to_max", memory_reservation_locked_to_max)
1586
1541
  if memory_share_count is not None:
1587
1542
  pulumi.set(__self__, "memory_share_count", memory_share_count)
1588
1543
  if memory_share_level is not None:
@@ -1659,6 +1614,8 @@ class _VirtualMachineState:
1659
1614
  pulumi.set(__self__, "vmware_tools_status", vmware_tools_status)
1660
1615
  if vmx_path is not None:
1661
1616
  pulumi.set(__self__, "vmx_path", vmx_path)
1617
+ if vtpm is not None:
1618
+ pulumi.set(__self__, "vtpm", vtpm)
1662
1619
  if vvtd_enabled is not None:
1663
1620
  pulumi.set(__self__, "vvtd_enabled", vvtd_enabled)
1664
1621
  if wait_for_guest_ip_timeout is not None:
@@ -1672,7 +1629,7 @@ class _VirtualMachineState:
1672
1629
  @pulumi.getter(name="alternateGuestName")
1673
1630
  def alternate_guest_name(self) -> Optional[pulumi.Input[str]]:
1674
1631
  """
1675
- The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
1632
+ The guest name for the operating system when guest_id is otherGuest or otherGuest64.
1676
1633
  """
1677
1634
  return pulumi.get(self, "alternate_guest_name")
1678
1635
 
@@ -1684,7 +1641,7 @@ class _VirtualMachineState:
1684
1641
  @pulumi.getter
1685
1642
  def annotation(self) -> Optional[pulumi.Input[str]]:
1686
1643
  """
1687
- A user-provided description of the virtual machine.
1644
+ User-provided description of the virtual machine.
1688
1645
  """
1689
1646
  return pulumi.get(self, "annotation")
1690
1647
 
@@ -1696,7 +1653,7 @@ class _VirtualMachineState:
1696
1653
  @pulumi.getter(name="bootDelay")
1697
1654
  def boot_delay(self) -> Optional[pulumi.Input[int]]:
1698
1655
  """
1699
- The number of milliseconds to wait before starting the boot sequence. The default is no delay.
1656
+ The number of milliseconds to wait before starting the boot sequence.
1700
1657
  """
1701
1658
  return pulumi.get(self, "boot_delay")
1702
1659
 
@@ -1708,7 +1665,7 @@ class _VirtualMachineState:
1708
1665
  @pulumi.getter(name="bootRetryDelay")
1709
1666
  def boot_retry_delay(self) -> Optional[pulumi.Input[int]]:
1710
1667
  """
1711
- The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
1668
+ The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
1712
1669
  """
1713
1670
  return pulumi.get(self, "boot_retry_delay")
1714
1671
 
@@ -1720,7 +1677,7 @@ class _VirtualMachineState:
1720
1677
  @pulumi.getter(name="bootRetryEnabled")
1721
1678
  def boot_retry_enabled(self) -> Optional[pulumi.Input[bool]]:
1722
1679
  """
1723
- If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
1680
+ If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
1724
1681
  """
1725
1682
  return pulumi.get(self, "boot_retry_enabled")
1726
1683
 
@@ -1732,7 +1689,7 @@ class _VirtualMachineState:
1732
1689
  @pulumi.getter
1733
1690
  def cdroms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]]]:
1734
1691
  """
1735
- A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
1692
+ A specification for a CDROM device on this virtual machine.
1736
1693
  """
1737
1694
  return pulumi.get(self, "cdroms")
1738
1695
 
@@ -1756,7 +1713,7 @@ class _VirtualMachineState:
1756
1713
  @pulumi.getter
1757
1714
  def clone(self) -> Optional[pulumi.Input['VirtualMachineCloneArgs']]:
1758
1715
  """
1759
- When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
1716
+ A specification for cloning a virtual machine from template.
1760
1717
  """
1761
1718
  return pulumi.get(self, "clone")
1762
1719
 
@@ -1768,7 +1725,7 @@ class _VirtualMachineState:
1768
1725
  @pulumi.getter(name="cpuHotAddEnabled")
1769
1726
  def cpu_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
1770
1727
  """
1771
- Allow CPUs to be added to the virtual machine while it is powered on.
1728
+ Allow CPUs to be added to this virtual machine while it is running.
1772
1729
  """
1773
1730
  return pulumi.get(self, "cpu_hot_add_enabled")
1774
1731
 
@@ -1780,7 +1737,7 @@ class _VirtualMachineState:
1780
1737
  @pulumi.getter(name="cpuHotRemoveEnabled")
1781
1738
  def cpu_hot_remove_enabled(self) -> Optional[pulumi.Input[bool]]:
1782
1739
  """
1783
- Allow CPUs to be removed to the virtual machine while it is powered on.
1740
+ Allow CPUs to be added to this virtual machine while it is running.
1784
1741
  """
1785
1742
  return pulumi.get(self, "cpu_hot_remove_enabled")
1786
1743
 
@@ -1792,7 +1749,8 @@ class _VirtualMachineState:
1792
1749
  @pulumi.getter(name="cpuLimit")
1793
1750
  def cpu_limit(self) -> Optional[pulumi.Input[int]]:
1794
1751
  """
1795
- The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
1752
+ The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
1753
+ resources.
1796
1754
  """
1797
1755
  return pulumi.get(self, "cpu_limit")
1798
1756
 
@@ -1804,7 +1762,7 @@ class _VirtualMachineState:
1804
1762
  @pulumi.getter(name="cpuPerformanceCountersEnabled")
1805
1763
  def cpu_performance_counters_enabled(self) -> Optional[pulumi.Input[bool]]:
1806
1764
  """
1807
- Enable CPU performance counters on the virtual machine. Default: `false`.
1765
+ Enable CPU performance counters on this virtual machine.
1808
1766
  """
1809
1767
  return pulumi.get(self, "cpu_performance_counters_enabled")
1810
1768
 
@@ -1816,7 +1774,7 @@ class _VirtualMachineState:
1816
1774
  @pulumi.getter(name="cpuReservation")
1817
1775
  def cpu_reservation(self) -> Optional[pulumi.Input[int]]:
1818
1776
  """
1819
- The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
1777
+ The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
1820
1778
  """
1821
1779
  return pulumi.get(self, "cpu_reservation")
1822
1780
 
@@ -1828,7 +1786,7 @@ class _VirtualMachineState:
1828
1786
  @pulumi.getter(name="cpuShareCount")
1829
1787
  def cpu_share_count(self) -> Optional[pulumi.Input[int]]:
1830
1788
  """
1831
- The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
1789
+ The amount of shares to allocate to cpu for a custom share level.
1832
1790
  """
1833
1791
  return pulumi.get(self, "cpu_share_count")
1834
1792
 
@@ -1840,7 +1798,7 @@ class _VirtualMachineState:
1840
1798
  @pulumi.getter(name="cpuShareLevel")
1841
1799
  def cpu_share_level(self) -> Optional[pulumi.Input[str]]:
1842
1800
  """
1843
- The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
1801
+ The allocation level for cpu resources. Can be one of high, low, normal, or custom.
1844
1802
  """
1845
1803
  return pulumi.get(self, "cpu_share_level")
1846
1804
 
@@ -1852,9 +1810,7 @@ class _VirtualMachineState:
1852
1810
  @pulumi.getter(name="customAttributes")
1853
1811
  def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
1854
1812
  """
1855
- Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
1856
-
1857
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
1813
+ A list of custom attributes to set on this resource.
1858
1814
  """
1859
1815
  return pulumi.get(self, "custom_attributes")
1860
1816
 
@@ -1866,7 +1822,7 @@ class _VirtualMachineState:
1866
1822
  @pulumi.getter(name="datacenterId")
1867
1823
  def datacenter_id(self) -> Optional[pulumi.Input[str]]:
1868
1824
  """
1869
- The datacenter ID. Required only when deploying an OVF/OVA template.
1825
+ The ID of the datacenter where the VM is to be created.
1870
1826
  """
1871
1827
  return pulumi.get(self, "datacenter_id")
1872
1828
 
@@ -1878,13 +1834,7 @@ class _VirtualMachineState:
1878
1834
  @pulumi.getter(name="datastoreClusterId")
1879
1835
  def datastore_cluster_id(self) -> Optional[pulumi.Input[str]]:
1880
1836
  """
1881
- The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
1882
-
1883
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
1884
-
1885
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
1886
-
1887
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
1837
+ The ID of a datastore cluster to put the virtual machine in.
1888
1838
  """
1889
1839
  return pulumi.get(self, "datastore_cluster_id")
1890
1840
 
@@ -1896,7 +1846,8 @@ class _VirtualMachineState:
1896
1846
  @pulumi.getter(name="datastoreId")
1897
1847
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
1898
1848
  """
1899
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1849
+ The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
1850
+ disks that are created without datastores.
1900
1851
  """
1901
1852
  return pulumi.get(self, "datastore_id")
1902
1853
 
@@ -1920,7 +1871,7 @@ class _VirtualMachineState:
1920
1871
  @pulumi.getter
1921
1872
  def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]]]:
1922
1873
  """
1923
- A specification for a virtual disk device on the virtual machine. See disk options for more information.
1874
+ A specification for a virtual disk device on this virtual machine.
1924
1875
  """
1925
1876
  return pulumi.get(self, "disks")
1926
1877
 
@@ -1932,9 +1883,7 @@ class _VirtualMachineState:
1932
1883
  @pulumi.getter(name="efiSecureBootEnabled")
1933
1884
  def efi_secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]:
1934
1885
  """
1935
- Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
1936
-
1937
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
1886
+ When the boot type set in firmware is efi, this enables EFI secure boot.
1938
1887
  """
1939
1888
  return pulumi.get(self, "efi_secure_boot_enabled")
1940
1889
 
@@ -1946,7 +1895,7 @@ class _VirtualMachineState:
1946
1895
  @pulumi.getter(name="enableDiskUuid")
1947
1896
  def enable_disk_uuid(self) -> Optional[pulumi.Input[bool]]:
1948
1897
  """
1949
- Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
1898
+ Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
1950
1899
  """
1951
1900
  return pulumi.get(self, "enable_disk_uuid")
1952
1901
 
@@ -1958,7 +1907,7 @@ class _VirtualMachineState:
1958
1907
  @pulumi.getter(name="enableLogging")
1959
1908
  def enable_logging(self) -> Optional[pulumi.Input[bool]]:
1960
1909
  """
1961
- Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
1910
+ Enable logging on this virtual machine.
1962
1911
  """
1963
1912
  return pulumi.get(self, "enable_logging")
1964
1913
 
@@ -1970,7 +1919,7 @@ class _VirtualMachineState:
1970
1919
  @pulumi.getter(name="eptRviMode")
1971
1920
  def ept_rvi_mode(self) -> Optional[pulumi.Input[str]]:
1972
1921
  """
1973
- The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
1922
+ The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
1974
1923
  """
1975
1924
  return pulumi.get(self, "ept_rvi_mode")
1976
1925
 
@@ -1982,9 +1931,8 @@ class _VirtualMachineState:
1982
1931
  @pulumi.getter(name="extraConfig")
1983
1932
  def extra_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
1984
1933
  """
1985
- Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
1986
-
1987
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
1934
+ Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
1935
+ configuration, such as instance metadata, or configuration data for OVF images.
1988
1936
  """
1989
1937
  return pulumi.get(self, "extra_config")
1990
1938
 
@@ -1996,7 +1944,7 @@ class _VirtualMachineState:
1996
1944
  @pulumi.getter(name="extraConfigRebootRequired")
1997
1945
  def extra_config_reboot_required(self) -> Optional[pulumi.Input[bool]]:
1998
1946
  """
1999
- Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
1947
+ Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
2000
1948
  """
2001
1949
  return pulumi.get(self, "extra_config_reboot_required")
2002
1950
 
@@ -2008,7 +1956,7 @@ class _VirtualMachineState:
2008
1956
  @pulumi.getter
2009
1957
  def firmware(self) -> Optional[pulumi.Input[str]]:
2010
1958
  """
2011
- The firmware for the virtual machine. One of `bios` or `efi`.
1959
+ The firmware interface to use on the virtual machine. Can be one of bios or efi.
2012
1960
  """
2013
1961
  return pulumi.get(self, "firmware")
2014
1962
 
@@ -2020,7 +1968,7 @@ class _VirtualMachineState:
2020
1968
  @pulumi.getter
2021
1969
  def folder(self) -> Optional[pulumi.Input[str]]:
2022
1970
  """
2023
- The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
1971
+ The name of the folder to locate the virtual machine in.
2024
1972
  """
2025
1973
  return pulumi.get(self, "folder")
2026
1974
 
@@ -2032,7 +1980,7 @@ class _VirtualMachineState:
2032
1980
  @pulumi.getter(name="forcePowerOff")
2033
1981
  def force_power_off(self) -> Optional[pulumi.Input[bool]]:
2034
1982
  """
2035
- If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
1983
+ Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
2036
1984
  """
2037
1985
  return pulumi.get(self, "force_power_off")
2038
1986
 
@@ -2044,9 +1992,7 @@ class _VirtualMachineState:
2044
1992
  @pulumi.getter(name="guestId")
2045
1993
  def guest_id(self) -> Optional[pulumi.Input[str]]:
2046
1994
  """
2047
- The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
2048
-
2049
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
1995
+ The guest ID for the operating system.
2050
1996
  """
2051
1997
  return pulumi.get(self, "guest_id")
2052
1998
 
@@ -2070,10 +2016,7 @@ class _VirtualMachineState:
2070
2016
  @pulumi.getter(name="hardwareVersion")
2071
2017
  def hardware_version(self) -> Optional[pulumi.Input[int]]:
2072
2018
  """
2073
- The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
2074
-
2075
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
2076
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
2019
+ The hardware version for the virtual machine.
2077
2020
  """
2078
2021
  return pulumi.get(self, "hardware_version")
2079
2022
 
@@ -2085,7 +2028,7 @@ class _VirtualMachineState:
2085
2028
  @pulumi.getter(name="hostSystemId")
2086
2029
  def host_system_id(self) -> Optional[pulumi.Input[str]]:
2087
2030
  """
2088
- The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
2031
+ The ID of an optional host system to pin the virtual machine to.
2089
2032
  """
2090
2033
  return pulumi.get(self, "host_system_id")
2091
2034
 
@@ -2097,7 +2040,7 @@ class _VirtualMachineState:
2097
2040
  @pulumi.getter(name="hvMode")
2098
2041
  def hv_mode(self) -> Optional[pulumi.Input[str]]:
2099
2042
  """
2100
- The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
2043
+ The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
2101
2044
  """
2102
2045
  return pulumi.get(self, "hv_mode")
2103
2046
 
@@ -2108,9 +2051,6 @@ class _VirtualMachineState:
2108
2051
  @property
2109
2052
  @pulumi.getter(name="ideControllerCount")
2110
2053
  def ide_controller_count(self) -> Optional[pulumi.Input[int]]:
2111
- """
2112
- The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
2113
- """
2114
2054
  return pulumi.get(self, "ide_controller_count")
2115
2055
 
2116
2056
  @ide_controller_count.setter
@@ -2121,7 +2061,7 @@ class _VirtualMachineState:
2121
2061
  @pulumi.getter(name="ignoredGuestIps")
2122
2062
  def ignored_guest_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2123
2063
  """
2124
- 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
2064
+ List of IP addresses and CIDR networks to ignore while waiting for an IP
2125
2065
  """
2126
2066
  return pulumi.get(self, "ignored_guest_ips")
2127
2067
 
@@ -2145,9 +2085,9 @@ class _VirtualMachineState:
2145
2085
  @pulumi.getter(name="latencySensitivity")
2146
2086
  def latency_sensitivity(self) -> Optional[pulumi.Input[str]]:
2147
2087
  """
2148
- 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. One of `low`, `normal`, `medium`, or `high`.
2149
-
2150
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
2088
+ Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
2089
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
2090
+ devices. Can be one of low, normal, medium, or high.
2151
2091
  """
2152
2092
  return pulumi.get(self, "latency_sensitivity")
2153
2093
 
@@ -2159,7 +2099,7 @@ class _VirtualMachineState:
2159
2099
  @pulumi.getter
2160
2100
  def memory(self) -> Optional[pulumi.Input[int]]:
2161
2101
  """
2162
- The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
2102
+ The size of the virtual machine's memory, in MB.
2163
2103
  """
2164
2104
  return pulumi.get(self, "memory")
2165
2105
 
@@ -2171,15 +2111,7 @@ class _VirtualMachineState:
2171
2111
  @pulumi.getter(name="memoryHotAddEnabled")
2172
2112
  def memory_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
2173
2113
  """
2174
- Allow memory to be added to the virtual machine while it is powered on.
2175
-
2176
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
2177
-
2178
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
2179
-
2180
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
2181
-
2182
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
2114
+ Allow memory to be added to this virtual machine while it is running.
2183
2115
  """
2184
2116
  return pulumi.get(self, "memory_hot_add_enabled")
2185
2117
 
@@ -2191,7 +2123,8 @@ class _VirtualMachineState:
2191
2123
  @pulumi.getter(name="memoryLimit")
2192
2124
  def memory_limit(self) -> Optional[pulumi.Input[int]]:
2193
2125
  """
2194
- The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
2126
+ The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
2127
+ resources.
2195
2128
  """
2196
2129
  return pulumi.get(self, "memory_limit")
2197
2130
 
@@ -2203,7 +2136,7 @@ class _VirtualMachineState:
2203
2136
  @pulumi.getter(name="memoryReservation")
2204
2137
  def memory_reservation(self) -> Optional[pulumi.Input[int]]:
2205
2138
  """
2206
- The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
2139
+ The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
2207
2140
  """
2208
2141
  return pulumi.get(self, "memory_reservation")
2209
2142
 
@@ -2211,11 +2144,25 @@ class _VirtualMachineState:
2211
2144
  def memory_reservation(self, value: Optional[pulumi.Input[int]]):
2212
2145
  pulumi.set(self, "memory_reservation", value)
2213
2146
 
2147
+ @property
2148
+ @pulumi.getter(name="memoryReservationLockedToMax")
2149
+ def memory_reservation_locked_to_max(self) -> Optional[pulumi.Input[bool]]:
2150
+ """
2151
+ If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
2152
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
2153
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
2154
+ """
2155
+ return pulumi.get(self, "memory_reservation_locked_to_max")
2156
+
2157
+ @memory_reservation_locked_to_max.setter
2158
+ def memory_reservation_locked_to_max(self, value: Optional[pulumi.Input[bool]]):
2159
+ pulumi.set(self, "memory_reservation_locked_to_max", value)
2160
+
2214
2161
  @property
2215
2162
  @pulumi.getter(name="memoryShareCount")
2216
2163
  def memory_share_count(self) -> Optional[pulumi.Input[int]]:
2217
2164
  """
2218
- The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
2165
+ The amount of shares to allocate to memory for a custom share level.
2219
2166
  """
2220
2167
  return pulumi.get(self, "memory_share_count")
2221
2168
 
@@ -2227,7 +2174,7 @@ class _VirtualMachineState:
2227
2174
  @pulumi.getter(name="memoryShareLevel")
2228
2175
  def memory_share_level(self) -> Optional[pulumi.Input[str]]:
2229
2176
  """
2230
- The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
2177
+ The allocation level for memory resources. Can be one of high, low, normal, or custom.
2231
2178
  """
2232
2179
  return pulumi.get(self, "memory_share_level")
2233
2180
 
@@ -2239,7 +2186,7 @@ class _VirtualMachineState:
2239
2186
  @pulumi.getter(name="migrateWaitTimeout")
2240
2187
  def migrate_wait_timeout(self) -> Optional[pulumi.Input[int]]:
2241
2188
  """
2242
- The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
2189
+ The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
2243
2190
  """
2244
2191
  return pulumi.get(self, "migrate_wait_timeout")
2245
2192
 
@@ -2263,7 +2210,7 @@ class _VirtualMachineState:
2263
2210
  @pulumi.getter
2264
2211
  def name(self) -> Optional[pulumi.Input[str]]:
2265
2212
  """
2266
- The name of the virtual machine.
2213
+ The name of this virtual machine.
2267
2214
  """
2268
2215
  return pulumi.get(self, "name")
2269
2216
 
@@ -2275,7 +2222,7 @@ class _VirtualMachineState:
2275
2222
  @pulumi.getter(name="nestedHvEnabled")
2276
2223
  def nested_hv_enabled(self) -> Optional[pulumi.Input[bool]]:
2277
2224
  """
2278
- Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
2225
+ Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
2279
2226
  """
2280
2227
  return pulumi.get(self, "nested_hv_enabled")
2281
2228
 
@@ -2287,7 +2234,7 @@ class _VirtualMachineState:
2287
2234
  @pulumi.getter(name="networkInterfaces")
2288
2235
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]]]:
2289
2236
  """
2290
- A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2237
+ A specification for a virtual NIC on this virtual machine.
2291
2238
  """
2292
2239
  return pulumi.get(self, "network_interfaces")
2293
2240
 
@@ -2299,7 +2246,8 @@ class _VirtualMachineState:
2299
2246
  @pulumi.getter(name="numCoresPerSocket")
2300
2247
  def num_cores_per_socket(self) -> Optional[pulumi.Input[int]]:
2301
2248
  """
2302
- The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
2249
+ The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
2250
+ must be evenly divisible by this value.
2303
2251
  """
2304
2252
  return pulumi.get(self, "num_cores_per_socket")
2305
2253
 
@@ -2311,7 +2259,7 @@ class _VirtualMachineState:
2311
2259
  @pulumi.getter(name="numCpus")
2312
2260
  def num_cpus(self) -> Optional[pulumi.Input[int]]:
2313
2261
  """
2314
- The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
2262
+ The number of virtual processors to assign to this virtual machine.
2315
2263
  """
2316
2264
  return pulumi.get(self, "num_cpus")
2317
2265
 
@@ -2323,7 +2271,7 @@ class _VirtualMachineState:
2323
2271
  @pulumi.getter(name="ovfDeploy")
2324
2272
  def ovf_deploy(self) -> Optional[pulumi.Input['VirtualMachineOvfDeployArgs']]:
2325
2273
  """
2326
- When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
2274
+ A specification for deploying a virtual machine from ovf/ova template.
2327
2275
  """
2328
2276
  return pulumi.get(self, "ovf_deploy")
2329
2277
 
@@ -2335,9 +2283,7 @@ class _VirtualMachineState:
2335
2283
  @pulumi.getter(name="pciDeviceIds")
2336
2284
  def pci_device_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2337
2285
  """
2338
- List of host PCI device IDs in which to create PCI passthroughs.
2339
-
2340
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
2286
+ A list of PCI passthrough devices
2341
2287
  """
2342
2288
  return pulumi.get(self, "pci_device_ids")
2343
2289
 
@@ -2372,9 +2318,6 @@ class _VirtualMachineState:
2372
2318
  @property
2373
2319
  @pulumi.getter(name="rebootRequired")
2374
2320
  def reboot_required(self) -> Optional[pulumi.Input[bool]]:
2375
- """
2376
- Value internal to Terraform used to determine if a configuration set change requires a reboot.
2377
- """
2378
2321
  return pulumi.get(self, "reboot_required")
2379
2322
 
2380
2323
  @reboot_required.setter
@@ -2386,8 +2329,6 @@ class _VirtualMachineState:
2386
2329
  def replace_trigger(self) -> Optional[pulumi.Input[str]]:
2387
2330
  """
2388
2331
  Triggers replacement of resource whenever it changes.
2389
-
2390
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
2391
2332
  """
2392
2333
  return pulumi.get(self, "replace_trigger")
2393
2334
 
@@ -2399,9 +2340,7 @@ class _VirtualMachineState:
2399
2340
  @pulumi.getter(name="resourcePoolId")
2400
2341
  def resource_pool_id(self) -> Optional[pulumi.Input[str]]:
2401
2342
  """
2402
- The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
2403
-
2404
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
2343
+ The ID of a resource pool to put the virtual machine in.
2405
2344
  """
2406
2345
  return pulumi.get(self, "resource_pool_id")
2407
2346
 
@@ -2413,7 +2352,7 @@ class _VirtualMachineState:
2413
2352
  @pulumi.getter(name="runToolsScriptsAfterPowerOn")
2414
2353
  def run_tools_scripts_after_power_on(self) -> Optional[pulumi.Input[bool]]:
2415
2354
  """
2416
- Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
2355
+ Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
2417
2356
  """
2418
2357
  return pulumi.get(self, "run_tools_scripts_after_power_on")
2419
2358
 
@@ -2425,7 +2364,7 @@ class _VirtualMachineState:
2425
2364
  @pulumi.getter(name="runToolsScriptsAfterResume")
2426
2365
  def run_tools_scripts_after_resume(self) -> Optional[pulumi.Input[bool]]:
2427
2366
  """
2428
- Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
2367
+ Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
2429
2368
  """
2430
2369
  return pulumi.get(self, "run_tools_scripts_after_resume")
2431
2370
 
@@ -2437,7 +2376,7 @@ class _VirtualMachineState:
2437
2376
  @pulumi.getter(name="runToolsScriptsBeforeGuestReboot")
2438
2377
  def run_tools_scripts_before_guest_reboot(self) -> Optional[pulumi.Input[bool]]:
2439
2378
  """
2440
- Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
2379
+ Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
2441
2380
  """
2442
2381
  return pulumi.get(self, "run_tools_scripts_before_guest_reboot")
2443
2382
 
@@ -2449,7 +2388,7 @@ class _VirtualMachineState:
2449
2388
  @pulumi.getter(name="runToolsScriptsBeforeGuestShutdown")
2450
2389
  def run_tools_scripts_before_guest_shutdown(self) -> Optional[pulumi.Input[bool]]:
2451
2390
  """
2452
- Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
2391
+ Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
2453
2392
  """
2454
2393
  return pulumi.get(self, "run_tools_scripts_before_guest_shutdown")
2455
2394
 
@@ -2461,7 +2400,7 @@ class _VirtualMachineState:
2461
2400
  @pulumi.getter(name="runToolsScriptsBeforeGuestStandby")
2462
2401
  def run_tools_scripts_before_guest_standby(self) -> Optional[pulumi.Input[bool]]:
2463
2402
  """
2464
- Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
2403
+ Enable the run of scripts before guest operating system standby when VMware Tools is installed.
2465
2404
  """
2466
2405
  return pulumi.get(self, "run_tools_scripts_before_guest_standby")
2467
2406
 
@@ -2472,11 +2411,6 @@ class _VirtualMachineState:
2472
2411
  @property
2473
2412
  @pulumi.getter(name="sataControllerCount")
2474
2413
  def sata_controller_count(self) -> Optional[pulumi.Input[int]]:
2475
- """
2476
- The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
2477
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2478
- controllers.
2479
- """
2480
2414
  return pulumi.get(self, "sata_controller_count")
2481
2415
 
2482
2416
  @sata_controller_count.setter
@@ -2487,7 +2421,7 @@ class _VirtualMachineState:
2487
2421
  @pulumi.getter(name="scsiBusSharing")
2488
2422
  def scsi_bus_sharing(self) -> Optional[pulumi.Input[str]]:
2489
2423
  """
2490
- The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
2424
+ Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
2491
2425
  """
2492
2426
  return pulumi.get(self, "scsi_bus_sharing")
2493
2427
 
@@ -2498,11 +2432,6 @@ class _VirtualMachineState:
2498
2432
  @property
2499
2433
  @pulumi.getter(name="scsiControllerCount")
2500
2434
  def scsi_controller_count(self) -> Optional[pulumi.Input[int]]:
2501
- """
2502
- The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
2503
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2504
- controllers.
2505
- """
2506
2435
  return pulumi.get(self, "scsi_controller_count")
2507
2436
 
2508
2437
  @scsi_controller_count.setter
@@ -2513,7 +2442,7 @@ class _VirtualMachineState:
2513
2442
  @pulumi.getter(name="scsiType")
2514
2443
  def scsi_type(self) -> Optional[pulumi.Input[str]]:
2515
2444
  """
2516
- The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
2445
+ The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
2517
2446
  """
2518
2447
  return pulumi.get(self, "scsi_type")
2519
2448
 
@@ -2525,7 +2454,7 @@ class _VirtualMachineState:
2525
2454
  @pulumi.getter(name="shutdownWaitTimeout")
2526
2455
  def shutdown_wait_timeout(self) -> Optional[pulumi.Input[int]]:
2527
2456
  """
2528
- The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
2457
+ The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
2529
2458
  """
2530
2459
  return pulumi.get(self, "shutdown_wait_timeout")
2531
2460
 
@@ -2537,7 +2466,7 @@ class _VirtualMachineState:
2537
2466
  @pulumi.getter(name="storagePolicyId")
2538
2467
  def storage_policy_id(self) -> Optional[pulumi.Input[str]]:
2539
2468
  """
2540
- The UUID of the storage policy to assign to the virtual disk.
2469
+ The ID of the storage policy to assign to the virtual machine home directory.
2541
2470
  """
2542
2471
  return pulumi.get(self, "storage_policy_id")
2543
2472
 
@@ -2549,7 +2478,7 @@ class _VirtualMachineState:
2549
2478
  @pulumi.getter(name="swapPlacementPolicy")
2550
2479
  def swap_placement_policy(self) -> Optional[pulumi.Input[str]]:
2551
2480
  """
2552
- The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
2481
+ The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
2553
2482
  """
2554
2483
  return pulumi.get(self, "swap_placement_policy")
2555
2484
 
@@ -2561,7 +2490,8 @@ class _VirtualMachineState:
2561
2490
  @pulumi.getter(name="syncTimeWithHost")
2562
2491
  def sync_time_with_host(self) -> Optional[pulumi.Input[bool]]:
2563
2492
  """
2564
- Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
2493
+ Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
2494
+ synchronized on startup and resume. Requires VMware Tools to be installed.
2565
2495
  """
2566
2496
  return pulumi.get(self, "sync_time_with_host")
2567
2497
 
@@ -2573,7 +2503,8 @@ class _VirtualMachineState:
2573
2503
  @pulumi.getter(name="syncTimeWithHostPeriodically")
2574
2504
  def sync_time_with_host_periodically(self) -> Optional[pulumi.Input[bool]]:
2575
2505
  """
2576
- Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
2506
+ Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
2507
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
2577
2508
  """
2578
2509
  return pulumi.get(self, "sync_time_with_host_periodically")
2579
2510
 
@@ -2585,9 +2516,7 @@ class _VirtualMachineState:
2585
2516
  @pulumi.getter
2586
2517
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2587
2518
  """
2588
- The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
2589
-
2590
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
2519
+ A list of tag IDs to apply to this object.
2591
2520
  """
2592
2521
  return pulumi.get(self, "tags")
2593
2522
 
@@ -2599,7 +2528,7 @@ class _VirtualMachineState:
2599
2528
  @pulumi.getter(name="toolsUpgradePolicy")
2600
2529
  def tools_upgrade_policy(self) -> Optional[pulumi.Input[str]]:
2601
2530
  """
2602
- Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
2531
+ Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
2603
2532
  """
2604
2533
  return pulumi.get(self, "tools_upgrade_policy")
2605
2534
 
@@ -2611,7 +2540,7 @@ class _VirtualMachineState:
2611
2540
  @pulumi.getter
2612
2541
  def uuid(self) -> Optional[pulumi.Input[str]]:
2613
2542
  """
2614
- The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2543
+ The UUID of the virtual machine. Also exposed as the `id` of the resource.
2615
2544
  """
2616
2545
  return pulumi.get(self, "uuid")
2617
2546
 
@@ -2623,7 +2552,7 @@ class _VirtualMachineState:
2623
2552
  @pulumi.getter
2624
2553
  def vapp(self) -> Optional[pulumi.Input['VirtualMachineVappArgs']]:
2625
2554
  """
2626
- Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
2555
+ vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
2627
2556
  """
2628
2557
  return pulumi.get(self, "vapp")
2629
2558
 
@@ -2647,7 +2576,7 @@ class _VirtualMachineState:
2647
2576
  @pulumi.getter(name="vbsEnabled")
2648
2577
  def vbs_enabled(self) -> Optional[pulumi.Input[bool]]:
2649
2578
  """
2650
- Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
2579
+ Flag to specify if Virtualization-based security is enabled for this virtual machine.
2651
2580
  """
2652
2581
  return pulumi.get(self, "vbs_enabled")
2653
2582
 
@@ -2679,11 +2608,24 @@ class _VirtualMachineState:
2679
2608
  def vmx_path(self, value: Optional[pulumi.Input[str]]):
2680
2609
  pulumi.set(self, "vmx_path", value)
2681
2610
 
2611
+ @property
2612
+ @pulumi.getter
2613
+ def vtpm(self) -> Optional[pulumi.Input['VirtualMachineVtpmArgs']]:
2614
+ """
2615
+ A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
2616
+ """
2617
+ return pulumi.get(self, "vtpm")
2618
+
2619
+ @vtpm.setter
2620
+ def vtpm(self, value: Optional[pulumi.Input['VirtualMachineVtpmArgs']]):
2621
+ pulumi.set(self, "vtpm", value)
2622
+
2682
2623
  @property
2683
2624
  @pulumi.getter(name="vvtdEnabled")
2684
2625
  def vvtd_enabled(self) -> Optional[pulumi.Input[bool]]:
2685
2626
  """
2686
- Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
2627
+ Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
2628
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
2687
2629
  """
2688
2630
  return pulumi.get(self, "vvtd_enabled")
2689
2631
 
@@ -2695,7 +2637,8 @@ class _VirtualMachineState:
2695
2637
  @pulumi.getter(name="waitForGuestIpTimeout")
2696
2638
  def wait_for_guest_ip_timeout(self) -> Optional[pulumi.Input[int]]:
2697
2639
  """
2698
- The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
2640
+ The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
2641
+ disables the waiter.
2699
2642
  """
2700
2643
  return pulumi.get(self, "wait_for_guest_ip_timeout")
2701
2644
 
@@ -2707,7 +2650,8 @@ class _VirtualMachineState:
2707
2650
  @pulumi.getter(name="waitForGuestNetRoutable")
2708
2651
  def wait_for_guest_net_routable(self) -> Optional[pulumi.Input[bool]]:
2709
2652
  """
2710
- 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
2653
+ Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
2654
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
2711
2655
  """
2712
2656
  return pulumi.get(self, "wait_for_guest_net_routable")
2713
2657
 
@@ -2719,7 +2663,8 @@ class _VirtualMachineState:
2719
2663
  @pulumi.getter(name="waitForGuestNetTimeout")
2720
2664
  def wait_for_guest_net_timeout(self) -> Optional[pulumi.Input[int]]:
2721
2665
  """
2722
- The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
2666
+ The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
2667
+ disables the waiter.
2723
2668
  """
2724
2669
  return pulumi.get(self, "wait_for_guest_net_timeout")
2725
2670
 
@@ -2738,8 +2683,8 @@ class VirtualMachine(pulumi.CustomResource):
2738
2683
  boot_delay: Optional[pulumi.Input[int]] = None,
2739
2684
  boot_retry_delay: Optional[pulumi.Input[int]] = None,
2740
2685
  boot_retry_enabled: Optional[pulumi.Input[bool]] = None,
2741
- cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]]] = None,
2742
- clone: Optional[pulumi.Input[pulumi.InputType['VirtualMachineCloneArgs']]] = None,
2686
+ cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineCdromArgs', 'VirtualMachineCdromArgsDict']]]]] = None,
2687
+ clone: Optional[pulumi.Input[Union['VirtualMachineCloneArgs', 'VirtualMachineCloneArgsDict']]] = None,
2743
2688
  cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
2744
2689
  cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None,
2745
2690
  cpu_limit: Optional[pulumi.Input[int]] = None,
@@ -2751,7 +2696,7 @@ class VirtualMachine(pulumi.CustomResource):
2751
2696
  datacenter_id: Optional[pulumi.Input[str]] = None,
2752
2697
  datastore_cluster_id: Optional[pulumi.Input[str]] = None,
2753
2698
  datastore_id: Optional[pulumi.Input[str]] = None,
2754
- disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]]] = None,
2699
+ disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]]] = None,
2755
2700
  efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
2756
2701
  enable_disk_uuid: Optional[pulumi.Input[bool]] = None,
2757
2702
  enable_logging: Optional[pulumi.Input[bool]] = None,
@@ -2772,15 +2717,16 @@ class VirtualMachine(pulumi.CustomResource):
2772
2717
  memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
2773
2718
  memory_limit: Optional[pulumi.Input[int]] = None,
2774
2719
  memory_reservation: Optional[pulumi.Input[int]] = None,
2720
+ memory_reservation_locked_to_max: Optional[pulumi.Input[bool]] = None,
2775
2721
  memory_share_count: Optional[pulumi.Input[int]] = None,
2776
2722
  memory_share_level: Optional[pulumi.Input[str]] = None,
2777
2723
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
2778
2724
  name: Optional[pulumi.Input[str]] = None,
2779
2725
  nested_hv_enabled: Optional[pulumi.Input[bool]] = None,
2780
- network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineNetworkInterfaceArgs']]]]] = None,
2726
+ network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineNetworkInterfaceArgs', 'VirtualMachineNetworkInterfaceArgsDict']]]]] = None,
2781
2727
  num_cores_per_socket: Optional[pulumi.Input[int]] = None,
2782
2728
  num_cpus: Optional[pulumi.Input[int]] = None,
2783
- ovf_deploy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']]] = None,
2729
+ ovf_deploy: Optional[pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']]] = None,
2784
2730
  pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2785
2731
  poweron_timeout: Optional[pulumi.Input[int]] = None,
2786
2732
  replace_trigger: Optional[pulumi.Input[str]] = None,
@@ -2801,130 +2747,129 @@ class VirtualMachine(pulumi.CustomResource):
2801
2747
  sync_time_with_host_periodically: Optional[pulumi.Input[bool]] = None,
2802
2748
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2803
2749
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
2804
- vapp: Optional[pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']]] = None,
2750
+ vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
2805
2751
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
2752
+ vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
2806
2753
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
2807
2754
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
2808
2755
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
2809
2756
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None,
2810
2757
  __props__=None):
2811
2758
  """
2812
- Create a VirtualMachine resource with the given unique name, props, and options.
2759
+ ## Import
2760
+
2761
+ ### Additional Importing Requirements
2762
+
2763
+ Many of the requirements for [cloning](#additional-requirements-and-notes-for-cloning) apply to importing. Although importing writes directly to the Terraform state, some rules can not be enforced during import time, so every effort should be made to ensure the correctness of the configuration before the import.
2764
+
2765
+ The following requirements apply to import:
2766
+
2767
+ * The disks must have a [`label`](#label) argument assigned in a convention matching `Hard Disk`, starting with disk number 0, based on each virtual disk order on the SCSI bus. As an example, a disk on SCSI controller `0` with a unit number of `0` would be labeled as `Hard Disk 0`, a disk on the same controller with a unit number of `1` would be `Hard Disk 1`, but the next disk, which is on SCSI controller `1` with a unit number of `0`, still becomes `Hard Disk 2`.
2768
+
2769
+ * Disks are always imported with [`keep_on_remove`](#keep_on_remove) enabled until the first `pulumi up` run which will remove the setting for known disks. This process safeguards against naming or accounting mistakes in the disk configuration.
2770
+
2771
+ * The storage controller count for the resource is set to the number of contiguous storage controllers found, starting with the controller at SCSI bus number `0`. If no storage controllers are discovered, the virtual machine is not eligible for import. For maximum compatibility, ensure that the virtual machine has the exact number of storage controllers needed and set the storage controller count accordingly.
2772
+
2773
+ After importing, you should run `pulumi preview`. Unless you have changed anything else in the configuration that would cause other attributes to change. The only difference should be configuration-only changes, which are typically comprised of:
2774
+
2775
+ * The [`imported`](#imported) flag will transition from `true` to `false`.
2776
+
2777
+ * The [`keep_on_remove`](#keep_on_remove) of known disks will transition from `true` to `false`.
2778
+
2779
+ * Configuration supplied in the [`clone`](#clone) block, if present, will be persisted to state. This initial persistence operation does not perform any cloning or customization actions, nor does it force a new resource. After the first apply operation, further changes to `clone` will force the creation of a new resource.
2780
+
2781
+ These changes only update Terraform state when applied. Hence, it is safe to run when the virtual machine is running. If more settings are modified, you may need to plan maintenance accordingly for any necessary virtual machine re-configurations.
2782
+
2813
2783
  :param str resource_name: The name of the resource.
2814
2784
  :param pulumi.ResourceOptions opts: Options for the resource.
2815
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
2816
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
2817
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
2818
- :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
2819
- :param pulumi.Input[bool] boot_retry_enabled: If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
2820
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]] cdroms: A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
2821
- :param pulumi.Input[pulumi.InputType['VirtualMachineCloneArgs']] clone: When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
2822
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
2823
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
2824
- :param pulumi.Input[int] cpu_limit: The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
2825
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
2826
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
2827
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
2828
- :param pulumi.Input[str] cpu_share_level: The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
2829
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
2830
-
2831
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
2832
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
2833
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
2834
-
2835
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
2836
-
2837
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
2838
-
2839
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
2840
- :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2841
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information.
2842
- :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
2843
-
2844
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
2845
- :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
2846
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
2847
- :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
2848
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
2849
-
2850
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
2851
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
2852
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
2853
- :param pulumi.Input[str] folder: The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
2854
- :param pulumi.Input[bool] force_power_off: If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
2855
- :param pulumi.Input[str] guest_id: The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
2856
-
2857
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
2858
- :param pulumi.Input[int] hardware_version: The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
2859
-
2860
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
2861
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
2862
- :param pulumi.Input[str] host_system_id: The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
2863
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
2864
- :param pulumi.Input[int] ide_controller_count: The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
2865
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
2866
- :param pulumi.Input[str] latency_sensitivity: 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. One of `low`, `normal`, `medium`, or `high`.
2867
-
2868
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
2869
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
2870
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
2871
-
2872
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
2873
-
2874
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
2875
-
2876
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
2877
-
2878
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
2879
- :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
2880
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
2881
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
2882
- :param pulumi.Input[str] memory_share_level: The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
2883
- :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
2884
- :param pulumi.Input[str] name: The name of the virtual machine.
2885
- :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
2886
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineNetworkInterfaceArgs']]]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2887
- :param pulumi.Input[int] num_cores_per_socket: The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
2888
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
2889
- :param pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']] ovf_deploy: When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
2890
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
2891
-
2892
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
2785
+ :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when guest_id is otherGuest or otherGuest64.
2786
+ :param pulumi.Input[str] annotation: User-provided description of the virtual machine.
2787
+ :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence.
2788
+ :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
2789
+ :param pulumi.Input[bool] boot_retry_enabled: If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
2790
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineCdromArgs', 'VirtualMachineCdromArgsDict']]]] cdroms: A specification for a CDROM device on this virtual machine.
2791
+ :param pulumi.Input[Union['VirtualMachineCloneArgs', 'VirtualMachineCloneArgsDict']] clone: A specification for cloning a virtual machine from template.
2792
+ :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to this virtual machine while it is running.
2793
+ :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be added to this virtual machine while it is running.
2794
+ :param pulumi.Input[int] cpu_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
2795
+ resources.
2796
+ :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on this virtual machine.
2797
+ :param pulumi.Input[int] cpu_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
2798
+ :param pulumi.Input[int] cpu_share_count: The amount of shares to allocate to cpu for a custom share level.
2799
+ :param pulumi.Input[str] cpu_share_level: The allocation level for cpu resources. Can be one of high, low, normal, or custom.
2800
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A list of custom attributes to set on this resource.
2801
+ :param pulumi.Input[str] datacenter_id: The ID of the datacenter where the VM is to be created.
2802
+ :param pulumi.Input[str] datastore_cluster_id: The ID of a datastore cluster to put the virtual machine in.
2803
+ :param pulumi.Input[str] datastore_id: The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
2804
+ disks that are created without datastores.
2805
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]] disks: A specification for a virtual disk device on this virtual machine.
2806
+ :param pulumi.Input[bool] efi_secure_boot_enabled: When the boot type set in firmware is efi, this enables EFI secure boot.
2807
+ :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
2808
+ :param pulumi.Input[bool] enable_logging: Enable logging on this virtual machine.
2809
+ :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
2810
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
2811
+ configuration, such as instance metadata, or configuration data for OVF images.
2812
+ :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
2813
+ :param pulumi.Input[str] firmware: The firmware interface to use on the virtual machine. Can be one of bios or efi.
2814
+ :param pulumi.Input[str] folder: The name of the folder to locate the virtual machine in.
2815
+ :param pulumi.Input[bool] force_power_off: Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
2816
+ :param pulumi.Input[str] guest_id: The guest ID for the operating system.
2817
+ :param pulumi.Input[int] hardware_version: The hardware version for the virtual machine.
2818
+ :param pulumi.Input[str] host_system_id: The ID of an optional host system to pin the virtual machine to.
2819
+ :param pulumi.Input[str] hv_mode: The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
2820
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: List of IP addresses and CIDR networks to ignore while waiting for an IP
2821
+ :param pulumi.Input[str] latency_sensitivity: Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
2822
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
2823
+ devices. Can be one of low, normal, medium, or high.
2824
+ :param pulumi.Input[int] memory: The size of the virtual machine's memory, in MB.
2825
+ :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to this virtual machine while it is running.
2826
+ :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
2827
+ resources.
2828
+ :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
2829
+ :param pulumi.Input[bool] memory_reservation_locked_to_max: If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
2830
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
2831
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
2832
+ :param pulumi.Input[int] memory_share_count: The amount of shares to allocate to memory for a custom share level.
2833
+ :param pulumi.Input[str] memory_share_level: The allocation level for memory resources. Can be one of high, low, normal, or custom.
2834
+ :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
2835
+ :param pulumi.Input[str] name: The name of this virtual machine.
2836
+ :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
2837
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineNetworkInterfaceArgs', 'VirtualMachineNetworkInterfaceArgsDict']]]] network_interfaces: A specification for a virtual NIC on this virtual machine.
2838
+ :param pulumi.Input[int] num_cores_per_socket: The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
2839
+ must be evenly divisible by this value.
2840
+ :param pulumi.Input[int] num_cpus: The number of virtual processors to assign to this virtual machine.
2841
+ :param pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']] ovf_deploy: A specification for deploying a virtual machine from ovf/ova template.
2842
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: A list of PCI passthrough devices
2893
2843
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
2894
2844
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
2895
-
2896
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
2897
- :param pulumi.Input[str] resource_pool_id: The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
2898
-
2899
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
2900
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
2901
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
2902
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
2903
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
2904
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
2905
- :param pulumi.Input[int] sata_controller_count: The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
2906
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2907
- controllers.
2908
- :param pulumi.Input[str] scsi_bus_sharing: The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
2909
- :param pulumi.Input[int] scsi_controller_count: The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
2910
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2911
- controllers.
2912
- :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
2913
- :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
2914
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
2915
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
2916
- :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
2917
- :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
2918
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
2919
-
2920
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
2921
- :param pulumi.Input[str] tools_upgrade_policy: Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
2922
- :param pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']] vapp: Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
2923
- :param pulumi.Input[bool] vbs_enabled: Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
2924
- :param pulumi.Input[bool] vvtd_enabled: Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
2925
- :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
2926
- :param pulumi.Input[bool] wait_for_guest_net_routable: 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
2927
- :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
2845
+ :param pulumi.Input[str] resource_pool_id: The ID of a resource pool to put the virtual machine in.
2846
+ :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
2847
+ :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
2848
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
2849
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
2850
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable the run of scripts before guest operating system standby when VMware Tools is installed.
2851
+ :param pulumi.Input[str] scsi_bus_sharing: Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
2852
+ :param pulumi.Input[str] scsi_type: The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
2853
+ :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
2854
+ :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the virtual machine home directory.
2855
+ :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
2856
+ :param pulumi.Input[bool] sync_time_with_host: Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
2857
+ synchronized on startup and resume. Requires VMware Tools to be installed.
2858
+ :param pulumi.Input[bool] sync_time_with_host_periodically: Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
2859
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
2860
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag IDs to apply to this object.
2861
+ :param pulumi.Input[str] tools_upgrade_policy: Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
2862
+ :param pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']] vapp: vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
2863
+ :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
2864
+ :param pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
2865
+ :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
2866
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
2867
+ :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
2868
+ disables the waiter.
2869
+ :param pulumi.Input[bool] wait_for_guest_net_routable: Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
2870
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
2871
+ :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
2872
+ disables the waiter.
2928
2873
  """
2929
2874
  ...
2930
2875
  @overload
@@ -2933,7 +2878,30 @@ class VirtualMachine(pulumi.CustomResource):
2933
2878
  args: VirtualMachineArgs,
2934
2879
  opts: Optional[pulumi.ResourceOptions] = None):
2935
2880
  """
2936
- Create a VirtualMachine resource with the given unique name, props, and options.
2881
+ ## Import
2882
+
2883
+ ### Additional Importing Requirements
2884
+
2885
+ Many of the requirements for [cloning](#additional-requirements-and-notes-for-cloning) apply to importing. Although importing writes directly to the Terraform state, some rules can not be enforced during import time, so every effort should be made to ensure the correctness of the configuration before the import.
2886
+
2887
+ The following requirements apply to import:
2888
+
2889
+ * The disks must have a [`label`](#label) argument assigned in a convention matching `Hard Disk`, starting with disk number 0, based on each virtual disk order on the SCSI bus. As an example, a disk on SCSI controller `0` with a unit number of `0` would be labeled as `Hard Disk 0`, a disk on the same controller with a unit number of `1` would be `Hard Disk 1`, but the next disk, which is on SCSI controller `1` with a unit number of `0`, still becomes `Hard Disk 2`.
2890
+
2891
+ * Disks are always imported with [`keep_on_remove`](#keep_on_remove) enabled until the first `pulumi up` run which will remove the setting for known disks. This process safeguards against naming or accounting mistakes in the disk configuration.
2892
+
2893
+ * The storage controller count for the resource is set to the number of contiguous storage controllers found, starting with the controller at SCSI bus number `0`. If no storage controllers are discovered, the virtual machine is not eligible for import. For maximum compatibility, ensure that the virtual machine has the exact number of storage controllers needed and set the storage controller count accordingly.
2894
+
2895
+ After importing, you should run `pulumi preview`. Unless you have changed anything else in the configuration that would cause other attributes to change. The only difference should be configuration-only changes, which are typically comprised of:
2896
+
2897
+ * The [`imported`](#imported) flag will transition from `true` to `false`.
2898
+
2899
+ * The [`keep_on_remove`](#keep_on_remove) of known disks will transition from `true` to `false`.
2900
+
2901
+ * Configuration supplied in the [`clone`](#clone) block, if present, will be persisted to state. This initial persistence operation does not perform any cloning or customization actions, nor does it force a new resource. After the first apply operation, further changes to `clone` will force the creation of a new resource.
2902
+
2903
+ These changes only update Terraform state when applied. Hence, it is safe to run when the virtual machine is running. If more settings are modified, you may need to plan maintenance accordingly for any necessary virtual machine re-configurations.
2904
+
2937
2905
  :param str resource_name: The name of the resource.
2938
2906
  :param VirtualMachineArgs args: The arguments to use to populate this resource's properties.
2939
2907
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -2954,8 +2922,8 @@ class VirtualMachine(pulumi.CustomResource):
2954
2922
  boot_delay: Optional[pulumi.Input[int]] = None,
2955
2923
  boot_retry_delay: Optional[pulumi.Input[int]] = None,
2956
2924
  boot_retry_enabled: Optional[pulumi.Input[bool]] = None,
2957
- cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]]] = None,
2958
- clone: Optional[pulumi.Input[pulumi.InputType['VirtualMachineCloneArgs']]] = None,
2925
+ cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineCdromArgs', 'VirtualMachineCdromArgsDict']]]]] = None,
2926
+ clone: Optional[pulumi.Input[Union['VirtualMachineCloneArgs', 'VirtualMachineCloneArgsDict']]] = None,
2959
2927
  cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
2960
2928
  cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None,
2961
2929
  cpu_limit: Optional[pulumi.Input[int]] = None,
@@ -2967,7 +2935,7 @@ class VirtualMachine(pulumi.CustomResource):
2967
2935
  datacenter_id: Optional[pulumi.Input[str]] = None,
2968
2936
  datastore_cluster_id: Optional[pulumi.Input[str]] = None,
2969
2937
  datastore_id: Optional[pulumi.Input[str]] = None,
2970
- disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]]] = None,
2938
+ disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]]] = None,
2971
2939
  efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
2972
2940
  enable_disk_uuid: Optional[pulumi.Input[bool]] = None,
2973
2941
  enable_logging: Optional[pulumi.Input[bool]] = None,
@@ -2988,15 +2956,16 @@ class VirtualMachine(pulumi.CustomResource):
2988
2956
  memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
2989
2957
  memory_limit: Optional[pulumi.Input[int]] = None,
2990
2958
  memory_reservation: Optional[pulumi.Input[int]] = None,
2959
+ memory_reservation_locked_to_max: Optional[pulumi.Input[bool]] = None,
2991
2960
  memory_share_count: Optional[pulumi.Input[int]] = None,
2992
2961
  memory_share_level: Optional[pulumi.Input[str]] = None,
2993
2962
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
2994
2963
  name: Optional[pulumi.Input[str]] = None,
2995
2964
  nested_hv_enabled: Optional[pulumi.Input[bool]] = None,
2996
- network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineNetworkInterfaceArgs']]]]] = None,
2965
+ network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineNetworkInterfaceArgs', 'VirtualMachineNetworkInterfaceArgsDict']]]]] = None,
2997
2966
  num_cores_per_socket: Optional[pulumi.Input[int]] = None,
2998
2967
  num_cpus: Optional[pulumi.Input[int]] = None,
2999
- ovf_deploy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']]] = None,
2968
+ ovf_deploy: Optional[pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']]] = None,
3000
2969
  pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3001
2970
  poweron_timeout: Optional[pulumi.Input[int]] = None,
3002
2971
  replace_trigger: Optional[pulumi.Input[str]] = None,
@@ -3017,8 +2986,9 @@ class VirtualMachine(pulumi.CustomResource):
3017
2986
  sync_time_with_host_periodically: Optional[pulumi.Input[bool]] = None,
3018
2987
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3019
2988
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
3020
- vapp: Optional[pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']]] = None,
2989
+ vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
3021
2990
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
2991
+ vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
3022
2992
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
3023
2993
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
3024
2994
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -3071,6 +3041,7 @@ class VirtualMachine(pulumi.CustomResource):
3071
3041
  __props__.__dict__["memory_hot_add_enabled"] = memory_hot_add_enabled
3072
3042
  __props__.__dict__["memory_limit"] = memory_limit
3073
3043
  __props__.__dict__["memory_reservation"] = memory_reservation
3044
+ __props__.__dict__["memory_reservation_locked_to_max"] = memory_reservation_locked_to_max
3074
3045
  __props__.__dict__["memory_share_count"] = memory_share_count
3075
3046
  __props__.__dict__["memory_share_level"] = memory_share_level
3076
3047
  __props__.__dict__["migrate_wait_timeout"] = migrate_wait_timeout
@@ -3104,6 +3075,7 @@ class VirtualMachine(pulumi.CustomResource):
3104
3075
  __props__.__dict__["tools_upgrade_policy"] = tools_upgrade_policy
3105
3076
  __props__.__dict__["vapp"] = vapp
3106
3077
  __props__.__dict__["vbs_enabled"] = vbs_enabled
3078
+ __props__.__dict__["vtpm"] = vtpm
3107
3079
  __props__.__dict__["vvtd_enabled"] = vvtd_enabled
3108
3080
  __props__.__dict__["wait_for_guest_ip_timeout"] = wait_for_guest_ip_timeout
3109
3081
  __props__.__dict__["wait_for_guest_net_routable"] = wait_for_guest_net_routable
@@ -3134,9 +3106,9 @@ class VirtualMachine(pulumi.CustomResource):
3134
3106
  boot_delay: Optional[pulumi.Input[int]] = None,
3135
3107
  boot_retry_delay: Optional[pulumi.Input[int]] = None,
3136
3108
  boot_retry_enabled: Optional[pulumi.Input[bool]] = None,
3137
- cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]]] = None,
3109
+ cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineCdromArgs', 'VirtualMachineCdromArgsDict']]]]] = None,
3138
3110
  change_version: Optional[pulumi.Input[str]] = None,
3139
- clone: Optional[pulumi.Input[pulumi.InputType['VirtualMachineCloneArgs']]] = None,
3111
+ clone: Optional[pulumi.Input[Union['VirtualMachineCloneArgs', 'VirtualMachineCloneArgsDict']]] = None,
3140
3112
  cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
3141
3113
  cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None,
3142
3114
  cpu_limit: Optional[pulumi.Input[int]] = None,
@@ -3149,7 +3121,7 @@ class VirtualMachine(pulumi.CustomResource):
3149
3121
  datastore_cluster_id: Optional[pulumi.Input[str]] = None,
3150
3122
  datastore_id: Optional[pulumi.Input[str]] = None,
3151
3123
  default_ip_address: Optional[pulumi.Input[str]] = None,
3152
- disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]]] = None,
3124
+ disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]]] = None,
3153
3125
  efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
3154
3126
  enable_disk_uuid: Optional[pulumi.Input[bool]] = None,
3155
3127
  enable_logging: Optional[pulumi.Input[bool]] = None,
@@ -3172,16 +3144,17 @@ class VirtualMachine(pulumi.CustomResource):
3172
3144
  memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
3173
3145
  memory_limit: Optional[pulumi.Input[int]] = None,
3174
3146
  memory_reservation: Optional[pulumi.Input[int]] = None,
3147
+ memory_reservation_locked_to_max: Optional[pulumi.Input[bool]] = None,
3175
3148
  memory_share_count: Optional[pulumi.Input[int]] = None,
3176
3149
  memory_share_level: Optional[pulumi.Input[str]] = None,
3177
3150
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
3178
3151
  moid: Optional[pulumi.Input[str]] = None,
3179
3152
  name: Optional[pulumi.Input[str]] = None,
3180
3153
  nested_hv_enabled: Optional[pulumi.Input[bool]] = None,
3181
- network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineNetworkInterfaceArgs']]]]] = None,
3154
+ network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineNetworkInterfaceArgs', 'VirtualMachineNetworkInterfaceArgsDict']]]]] = None,
3182
3155
  num_cores_per_socket: Optional[pulumi.Input[int]] = None,
3183
3156
  num_cpus: Optional[pulumi.Input[int]] = None,
3184
- ovf_deploy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']]] = None,
3157
+ ovf_deploy: Optional[pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']]] = None,
3185
3158
  pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3186
3159
  power_state: Optional[pulumi.Input[str]] = None,
3187
3160
  poweron_timeout: Optional[pulumi.Input[int]] = None,
@@ -3205,11 +3178,12 @@ class VirtualMachine(pulumi.CustomResource):
3205
3178
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3206
3179
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
3207
3180
  uuid: Optional[pulumi.Input[str]] = None,
3208
- vapp: Optional[pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']]] = None,
3181
+ vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
3209
3182
  vapp_transports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3210
3183
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
3211
3184
  vmware_tools_status: Optional[pulumi.Input[str]] = None,
3212
3185
  vmx_path: Optional[pulumi.Input[str]] = None,
3186
+ vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
3213
3187
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
3214
3188
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
3215
3189
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -3221,130 +3195,104 @@ class VirtualMachine(pulumi.CustomResource):
3221
3195
  :param str resource_name: The unique name of the resulting resource.
3222
3196
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
3223
3197
  :param pulumi.ResourceOptions opts: Options for the resource.
3224
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
3225
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
3226
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
3227
- :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
3228
- :param pulumi.Input[bool] boot_retry_enabled: If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
3229
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]] cdroms: A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
3198
+ :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when guest_id is otherGuest or otherGuest64.
3199
+ :param pulumi.Input[str] annotation: User-provided description of the virtual machine.
3200
+ :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence.
3201
+ :param pulumi.Input[int] boot_retry_delay: The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
3202
+ :param pulumi.Input[bool] boot_retry_enabled: If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
3203
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineCdromArgs', 'VirtualMachineCdromArgsDict']]]] cdroms: A specification for a CDROM device on this virtual machine.
3230
3204
  :param pulumi.Input[str] change_version: A unique identifier for a given version of the last configuration was applied.
3231
- :param pulumi.Input[pulumi.InputType['VirtualMachineCloneArgs']] clone: When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
3232
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
3233
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
3234
- :param pulumi.Input[int] cpu_limit: The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
3235
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
3236
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
3237
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
3238
- :param pulumi.Input[str] cpu_share_level: The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
3239
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
3240
-
3241
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
3242
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
3243
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
3244
-
3245
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
3246
-
3247
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
3248
-
3249
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
3250
- :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
3205
+ :param pulumi.Input[Union['VirtualMachineCloneArgs', 'VirtualMachineCloneArgsDict']] clone: A specification for cloning a virtual machine from template.
3206
+ :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to this virtual machine while it is running.
3207
+ :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be added to this virtual machine while it is running.
3208
+ :param pulumi.Input[int] cpu_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
3209
+ resources.
3210
+ :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on this virtual machine.
3211
+ :param pulumi.Input[int] cpu_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
3212
+ :param pulumi.Input[int] cpu_share_count: The amount of shares to allocate to cpu for a custom share level.
3213
+ :param pulumi.Input[str] cpu_share_level: The allocation level for cpu resources. Can be one of high, low, normal, or custom.
3214
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A list of custom attributes to set on this resource.
3215
+ :param pulumi.Input[str] datacenter_id: The ID of the datacenter where the VM is to be created.
3216
+ :param pulumi.Input[str] datastore_cluster_id: The ID of a datastore cluster to put the virtual machine in.
3217
+ :param pulumi.Input[str] datastore_id: The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
3218
+ disks that are created without datastores.
3251
3219
  :param pulumi.Input[str] default_ip_address: The IP address selected by the provider to be used with any provisioners configured on this resource. When 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 exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank.
3252
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information.
3253
- :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
3254
-
3255
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
3256
- :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
3257
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
3258
- :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
3259
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
3260
-
3261
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
3262
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
3263
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
3264
- :param pulumi.Input[str] folder: The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
3265
- :param pulumi.Input[bool] force_power_off: If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
3266
- :param pulumi.Input[str] guest_id: The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
3267
-
3268
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
3220
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]] disks: A specification for a virtual disk device on this virtual machine.
3221
+ :param pulumi.Input[bool] efi_secure_boot_enabled: When the boot type set in firmware is efi, this enables EFI secure boot.
3222
+ :param pulumi.Input[bool] enable_disk_uuid: Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
3223
+ :param pulumi.Input[bool] enable_logging: Enable logging on this virtual machine.
3224
+ :param pulumi.Input[str] ept_rvi_mode: The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
3225
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] extra_config: Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
3226
+ configuration, such as instance metadata, or configuration data for OVF images.
3227
+ :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
3228
+ :param pulumi.Input[str] firmware: The firmware interface to use on the virtual machine. Can be one of bios or efi.
3229
+ :param pulumi.Input[str] folder: The name of the folder to locate the virtual machine in.
3230
+ :param pulumi.Input[bool] force_power_off: Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
3231
+ :param pulumi.Input[str] guest_id: The guest ID for the operating system.
3269
3232
  :param pulumi.Input[Sequence[pulumi.Input[str]]] guest_ip_addresses: The current list of IP addresses on this machine, including the value of `default_ip_address`. If VMware Tools is not running on the virtual machine, or if the virtul machine is powered off, this list will be empty.
3270
- :param pulumi.Input[int] hardware_version: The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
3271
-
3272
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
3273
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
3274
- :param pulumi.Input[str] host_system_id: The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
3275
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
3276
- :param pulumi.Input[int] ide_controller_count: The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
3277
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
3233
+ :param pulumi.Input[int] hardware_version: The hardware version for the virtual machine.
3234
+ :param pulumi.Input[str] host_system_id: The ID of an optional host system to pin the virtual machine to.
3235
+ :param pulumi.Input[str] hv_mode: The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
3236
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ignored_guest_ips: List of IP addresses and CIDR networks to ignore while waiting for an IP
3278
3237
  :param pulumi.Input[bool] imported: Indicates if the virtual machine resource has been imported, or if 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.
3279
- :param pulumi.Input[str] latency_sensitivity: 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. One of `low`, `normal`, `medium`, or `high`.
3280
-
3281
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
3282
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
3283
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
3284
-
3285
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
3286
-
3287
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
3288
-
3289
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
3290
-
3291
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
3292
- :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
3293
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
3294
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
3295
- :param pulumi.Input[str] memory_share_level: The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
3296
- :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
3238
+ :param pulumi.Input[str] latency_sensitivity: Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
3239
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
3240
+ devices. Can be one of low, normal, medium, or high.
3241
+ :param pulumi.Input[int] memory: The size of the virtual machine's memory, in MB.
3242
+ :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to this virtual machine while it is running.
3243
+ :param pulumi.Input[int] memory_limit: The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
3244
+ resources.
3245
+ :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
3246
+ :param pulumi.Input[bool] memory_reservation_locked_to_max: If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
3247
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
3248
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
3249
+ :param pulumi.Input[int] memory_share_count: The amount of shares to allocate to memory for a custom share level.
3250
+ :param pulumi.Input[str] memory_share_level: The allocation level for memory resources. Can be one of high, low, normal, or custom.
3251
+ :param pulumi.Input[int] migrate_wait_timeout: The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
3297
3252
  :param pulumi.Input[str] moid: The managed object reference ID of the created virtual machine.
3298
- :param pulumi.Input[str] name: The name of the virtual machine.
3299
- :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
3300
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineNetworkInterfaceArgs']]]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
3301
- :param pulumi.Input[int] num_cores_per_socket: The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
3302
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
3303
- :param pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']] ovf_deploy: When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
3304
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
3305
-
3306
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
3253
+ :param pulumi.Input[str] name: The name of this virtual machine.
3254
+ :param pulumi.Input[bool] nested_hv_enabled: Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
3255
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineNetworkInterfaceArgs', 'VirtualMachineNetworkInterfaceArgsDict']]]] network_interfaces: A specification for a virtual NIC on this virtual machine.
3256
+ :param pulumi.Input[int] num_cores_per_socket: The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
3257
+ must be evenly divisible by this value.
3258
+ :param pulumi.Input[int] num_cpus: The number of virtual processors to assign to this virtual machine.
3259
+ :param pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']] ovf_deploy: A specification for deploying a virtual machine from ovf/ova template.
3260
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: A list of PCI passthrough devices
3307
3261
  :param pulumi.Input[str] power_state: A computed value for the current power state of the virtual machine. One of `on`, `off`, or `suspended`.
3308
3262
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
3309
- :param pulumi.Input[bool] reboot_required: Value internal to Terraform used to determine if a configuration set change requires a reboot.
3310
3263
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
3311
-
3312
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
3313
- :param pulumi.Input[str] resource_pool_id: The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
3314
-
3315
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
3316
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
3317
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
3318
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
3319
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
3320
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
3321
- :param pulumi.Input[int] sata_controller_count: The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
3322
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
3323
- controllers.
3324
- :param pulumi.Input[str] scsi_bus_sharing: The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
3325
- :param pulumi.Input[int] scsi_controller_count: The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
3326
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
3327
- controllers.
3328
- :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
3329
- :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
3330
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
3331
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
3332
- :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
3333
- :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
3334
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
3335
-
3336
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
3337
- :param pulumi.Input[str] tools_upgrade_policy: Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
3338
- :param pulumi.Input[str] uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
3339
- :param pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']] vapp: Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
3264
+ :param pulumi.Input[str] resource_pool_id: The ID of a resource pool to put the virtual machine in.
3265
+ :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
3266
+ :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
3267
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
3268
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
3269
+ :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable the run of scripts before guest operating system standby when VMware Tools is installed.
3270
+ :param pulumi.Input[str] scsi_bus_sharing: Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
3271
+ :param pulumi.Input[str] scsi_type: The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
3272
+ :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
3273
+ :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the virtual machine home directory.
3274
+ :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
3275
+ :param pulumi.Input[bool] sync_time_with_host: Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
3276
+ synchronized on startup and resume. Requires VMware Tools to be installed.
3277
+ :param pulumi.Input[bool] sync_time_with_host_periodically: Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
3278
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
3279
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag IDs to apply to this object.
3280
+ :param pulumi.Input[str] tools_upgrade_policy: Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
3281
+ :param pulumi.Input[str] uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
3282
+ :param pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']] vapp: vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
3340
3283
  :param pulumi.Input[Sequence[pulumi.Input[str]]] vapp_transports: Computed value which is only valid for cloned virtual machines. A list of vApp transport methods supported by the source virtual machine or template.
3341
- :param pulumi.Input[bool] vbs_enabled: Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
3284
+ :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
3342
3285
  :param pulumi.Input[str] vmware_tools_status: The state of VMware Tools in the guest. This will determine the proper course of action for some device operations.
3343
3286
  :param pulumi.Input[str] vmx_path: The path of the virtual machine configuration file on the datastore in which the virtual machine is placed.
3344
- :param pulumi.Input[bool] vvtd_enabled: Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
3345
- :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
3346
- :param pulumi.Input[bool] wait_for_guest_net_routable: 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
3347
- :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
3287
+ :param pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
3288
+ :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
3289
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
3290
+ :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
3291
+ disables the waiter.
3292
+ :param pulumi.Input[bool] wait_for_guest_net_routable: Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
3293
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
3294
+ :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
3295
+ disables the waiter.
3348
3296
  """
3349
3297
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
3350
3298
 
@@ -3393,6 +3341,7 @@ class VirtualMachine(pulumi.CustomResource):
3393
3341
  __props__.__dict__["memory_hot_add_enabled"] = memory_hot_add_enabled
3394
3342
  __props__.__dict__["memory_limit"] = memory_limit
3395
3343
  __props__.__dict__["memory_reservation"] = memory_reservation
3344
+ __props__.__dict__["memory_reservation_locked_to_max"] = memory_reservation_locked_to_max
3396
3345
  __props__.__dict__["memory_share_count"] = memory_share_count
3397
3346
  __props__.__dict__["memory_share_level"] = memory_share_level
3398
3347
  __props__.__dict__["migrate_wait_timeout"] = migrate_wait_timeout
@@ -3431,6 +3380,7 @@ class VirtualMachine(pulumi.CustomResource):
3431
3380
  __props__.__dict__["vbs_enabled"] = vbs_enabled
3432
3381
  __props__.__dict__["vmware_tools_status"] = vmware_tools_status
3433
3382
  __props__.__dict__["vmx_path"] = vmx_path
3383
+ __props__.__dict__["vtpm"] = vtpm
3434
3384
  __props__.__dict__["vvtd_enabled"] = vvtd_enabled
3435
3385
  __props__.__dict__["wait_for_guest_ip_timeout"] = wait_for_guest_ip_timeout
3436
3386
  __props__.__dict__["wait_for_guest_net_routable"] = wait_for_guest_net_routable
@@ -3441,7 +3391,7 @@ class VirtualMachine(pulumi.CustomResource):
3441
3391
  @pulumi.getter(name="alternateGuestName")
3442
3392
  def alternate_guest_name(self) -> pulumi.Output[Optional[str]]:
3443
3393
  """
3444
- The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
3394
+ The guest name for the operating system when guest_id is otherGuest or otherGuest64.
3445
3395
  """
3446
3396
  return pulumi.get(self, "alternate_guest_name")
3447
3397
 
@@ -3449,7 +3399,7 @@ class VirtualMachine(pulumi.CustomResource):
3449
3399
  @pulumi.getter
3450
3400
  def annotation(self) -> pulumi.Output[str]:
3451
3401
  """
3452
- A user-provided description of the virtual machine.
3402
+ User-provided description of the virtual machine.
3453
3403
  """
3454
3404
  return pulumi.get(self, "annotation")
3455
3405
 
@@ -3457,7 +3407,7 @@ class VirtualMachine(pulumi.CustomResource):
3457
3407
  @pulumi.getter(name="bootDelay")
3458
3408
  def boot_delay(self) -> pulumi.Output[Optional[int]]:
3459
3409
  """
3460
- The number of milliseconds to wait before starting the boot sequence. The default is no delay.
3410
+ The number of milliseconds to wait before starting the boot sequence.
3461
3411
  """
3462
3412
  return pulumi.get(self, "boot_delay")
3463
3413
 
@@ -3465,7 +3415,7 @@ class VirtualMachine(pulumi.CustomResource):
3465
3415
  @pulumi.getter(name="bootRetryDelay")
3466
3416
  def boot_retry_delay(self) -> pulumi.Output[Optional[int]]:
3467
3417
  """
3468
- The number of milliseconds to wait before retrying the boot sequence. This option is only valid if `boot_retry_enabled` is `true`. Default: `10000` (10 seconds).
3418
+ The number of milliseconds to wait before retrying the boot sequence. This only valid if boot_retry_enabled is true.
3469
3419
  """
3470
3420
  return pulumi.get(self, "boot_retry_delay")
3471
3421
 
@@ -3473,7 +3423,7 @@ class VirtualMachine(pulumi.CustomResource):
3473
3423
  @pulumi.getter(name="bootRetryEnabled")
3474
3424
  def boot_retry_enabled(self) -> pulumi.Output[Optional[bool]]:
3475
3425
  """
3476
- If set to `true`, a virtual machine that fails to boot will try again after the delay defined in `boot_retry_delay`. Default: `false`.
3426
+ If set to true, a virtual machine that fails to boot will try again after the delay defined in boot_retry_delay.
3477
3427
  """
3478
3428
  return pulumi.get(self, "boot_retry_enabled")
3479
3429
 
@@ -3481,7 +3431,7 @@ class VirtualMachine(pulumi.CustomResource):
3481
3431
  @pulumi.getter
3482
3432
  def cdroms(self) -> pulumi.Output[Optional[Sequence['outputs.VirtualMachineCdrom']]]:
3483
3433
  """
3484
- A specification for a CD-ROM device on the virtual machine. See CD-ROM options for more information.
3434
+ A specification for a CDROM device on this virtual machine.
3485
3435
  """
3486
3436
  return pulumi.get(self, "cdroms")
3487
3437
 
@@ -3497,7 +3447,7 @@ class VirtualMachine(pulumi.CustomResource):
3497
3447
  @pulumi.getter
3498
3448
  def clone(self) -> pulumi.Output[Optional['outputs.VirtualMachineClone']]:
3499
3449
  """
3500
- When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See creating a virtual machine from a template for more information.
3450
+ A specification for cloning a virtual machine from template.
3501
3451
  """
3502
3452
  return pulumi.get(self, "clone")
3503
3453
 
@@ -3505,7 +3455,7 @@ class VirtualMachine(pulumi.CustomResource):
3505
3455
  @pulumi.getter(name="cpuHotAddEnabled")
3506
3456
  def cpu_hot_add_enabled(self) -> pulumi.Output[Optional[bool]]:
3507
3457
  """
3508
- Allow CPUs to be added to the virtual machine while it is powered on.
3458
+ Allow CPUs to be added to this virtual machine while it is running.
3509
3459
  """
3510
3460
  return pulumi.get(self, "cpu_hot_add_enabled")
3511
3461
 
@@ -3513,7 +3463,7 @@ class VirtualMachine(pulumi.CustomResource):
3513
3463
  @pulumi.getter(name="cpuHotRemoveEnabled")
3514
3464
  def cpu_hot_remove_enabled(self) -> pulumi.Output[Optional[bool]]:
3515
3465
  """
3516
- Allow CPUs to be removed to the virtual machine while it is powered on.
3466
+ Allow CPUs to be added to this virtual machine while it is running.
3517
3467
  """
3518
3468
  return pulumi.get(self, "cpu_hot_remove_enabled")
3519
3469
 
@@ -3521,7 +3471,8 @@ class VirtualMachine(pulumi.CustomResource):
3521
3471
  @pulumi.getter(name="cpuLimit")
3522
3472
  def cpu_limit(self) -> pulumi.Output[Optional[int]]:
3523
3473
  """
3524
- The maximum amount of CPU (in MHz) that the virtual machine can consume, regardless of available resources. The default is no limit.
3474
+ The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
3475
+ resources.
3525
3476
  """
3526
3477
  return pulumi.get(self, "cpu_limit")
3527
3478
 
@@ -3529,7 +3480,7 @@ class VirtualMachine(pulumi.CustomResource):
3529
3480
  @pulumi.getter(name="cpuPerformanceCountersEnabled")
3530
3481
  def cpu_performance_counters_enabled(self) -> pulumi.Output[Optional[bool]]:
3531
3482
  """
3532
- Enable CPU performance counters on the virtual machine. Default: `false`.
3483
+ Enable CPU performance counters on this virtual machine.
3533
3484
  """
3534
3485
  return pulumi.get(self, "cpu_performance_counters_enabled")
3535
3486
 
@@ -3537,7 +3488,7 @@ class VirtualMachine(pulumi.CustomResource):
3537
3488
  @pulumi.getter(name="cpuReservation")
3538
3489
  def cpu_reservation(self) -> pulumi.Output[Optional[int]]:
3539
3490
  """
3540
- The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
3491
+ The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
3541
3492
  """
3542
3493
  return pulumi.get(self, "cpu_reservation")
3543
3494
 
@@ -3545,7 +3496,7 @@ class VirtualMachine(pulumi.CustomResource):
3545
3496
  @pulumi.getter(name="cpuShareCount")
3546
3497
  def cpu_share_count(self) -> pulumi.Output[int]:
3547
3498
  """
3548
- The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
3499
+ The amount of shares to allocate to cpu for a custom share level.
3549
3500
  """
3550
3501
  return pulumi.get(self, "cpu_share_count")
3551
3502
 
@@ -3553,7 +3504,7 @@ class VirtualMachine(pulumi.CustomResource):
3553
3504
  @pulumi.getter(name="cpuShareLevel")
3554
3505
  def cpu_share_level(self) -> pulumi.Output[Optional[str]]:
3555
3506
  """
3556
- The allocation level for the virtual machine CPU resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
3507
+ The allocation level for cpu resources. Can be one of high, low, normal, or custom.
3557
3508
  """
3558
3509
  return pulumi.get(self, "cpu_share_level")
3559
3510
 
@@ -3561,9 +3512,7 @@ class VirtualMachine(pulumi.CustomResource):
3561
3512
  @pulumi.getter(name="customAttributes")
3562
3513
  def custom_attributes(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
3563
3514
  """
3564
- Map of custom attribute ids to attribute value strings to set for virtual machine. Please refer to the `vsphere_custom_attributes` resource for more information on setting custom attributes.
3565
-
3566
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
3515
+ A list of custom attributes to set on this resource.
3567
3516
  """
3568
3517
  return pulumi.get(self, "custom_attributes")
3569
3518
 
@@ -3571,7 +3520,7 @@ class VirtualMachine(pulumi.CustomResource):
3571
3520
  @pulumi.getter(name="datacenterId")
3572
3521
  def datacenter_id(self) -> pulumi.Output[Optional[str]]:
3573
3522
  """
3574
- The datacenter ID. Required only when deploying an OVF/OVA template.
3523
+ The ID of the datacenter where the VM is to be created.
3575
3524
  """
3576
3525
  return pulumi.get(self, "datacenter_id")
3577
3526
 
@@ -3579,13 +3528,7 @@ class VirtualMachine(pulumi.CustomResource):
3579
3528
  @pulumi.getter(name="datastoreClusterId")
3580
3529
  def datastore_cluster_id(self) -> pulumi.Output[Optional[str]]:
3581
3530
  """
3582
- The managed object reference ID of the datastore cluster in which to place the virtual machine. This setting applies to entire virtual machine and implies that you wish to use vSphere Storage DRS with the virtual machine. See the section on virtual machine migration for more information on modifying this value.
3583
-
3584
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
3585
-
3586
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
3587
-
3588
- > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters.
3531
+ The ID of a datastore cluster to put the virtual machine in.
3589
3532
  """
3590
3533
  return pulumi.get(self, "datastore_cluster_id")
3591
3534
 
@@ -3593,7 +3536,8 @@ class VirtualMachine(pulumi.CustomResource):
3593
3536
  @pulumi.getter(name="datastoreId")
3594
3537
  def datastore_id(self) -> pulumi.Output[str]:
3595
3538
  """
3596
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
3539
+ The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual
3540
+ disks that are created without datastores.
3597
3541
  """
3598
3542
  return pulumi.get(self, "datastore_id")
3599
3543
 
@@ -3609,7 +3553,7 @@ class VirtualMachine(pulumi.CustomResource):
3609
3553
  @pulumi.getter
3610
3554
  def disks(self) -> pulumi.Output[Sequence['outputs.VirtualMachineDisk']]:
3611
3555
  """
3612
- A specification for a virtual disk device on the virtual machine. See disk options for more information.
3556
+ A specification for a virtual disk device on this virtual machine.
3613
3557
  """
3614
3558
  return pulumi.get(self, "disks")
3615
3559
 
@@ -3617,9 +3561,7 @@ class VirtualMachine(pulumi.CustomResource):
3617
3561
  @pulumi.getter(name="efiSecureBootEnabled")
3618
3562
  def efi_secure_boot_enabled(self) -> pulumi.Output[Optional[bool]]:
3619
3563
  """
3620
- Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
3621
-
3622
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
3564
+ When the boot type set in firmware is efi, this enables EFI secure boot.
3623
3565
  """
3624
3566
  return pulumi.get(self, "efi_secure_boot_enabled")
3625
3567
 
@@ -3627,7 +3569,7 @@ class VirtualMachine(pulumi.CustomResource):
3627
3569
  @pulumi.getter(name="enableDiskUuid")
3628
3570
  def enable_disk_uuid(self) -> pulumi.Output[Optional[bool]]:
3629
3571
  """
3630
- Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest. Default: `false`.
3572
+ Expose the UUIDs of attached virtual disks to the virtual machine, allowing access to them in the guest.
3631
3573
  """
3632
3574
  return pulumi.get(self, "enable_disk_uuid")
3633
3575
 
@@ -3635,15 +3577,15 @@ class VirtualMachine(pulumi.CustomResource):
3635
3577
  @pulumi.getter(name="enableLogging")
3636
3578
  def enable_logging(self) -> pulumi.Output[Optional[bool]]:
3637
3579
  """
3638
- Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
3580
+ Enable logging on this virtual machine.
3639
3581
  """
3640
3582
  return pulumi.get(self, "enable_logging")
3641
3583
 
3642
3584
  @property
3643
3585
  @pulumi.getter(name="eptRviMode")
3644
- def ept_rvi_mode(self) -> pulumi.Output[Optional[str]]:
3586
+ def ept_rvi_mode(self) -> pulumi.Output[str]:
3645
3587
  """
3646
- The EPT/RVI (hardware memory virtualization) setting for the virtual machine. One of `automatic`, `on`, or `off`. Default: `automatic`.
3588
+ The EPT/RVI (hardware memory virtualization) setting for this virtual machine. Can be one of automatic, on, or off.
3647
3589
  """
3648
3590
  return pulumi.get(self, "ept_rvi_mode")
3649
3591
 
@@ -3651,9 +3593,8 @@ class VirtualMachine(pulumi.CustomResource):
3651
3593
  @pulumi.getter(name="extraConfig")
3652
3594
  def extra_config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
3653
3595
  """
3654
- Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
3655
-
3656
- > **NOTE:** Do not use `extra_config` when working with a template imported from OVF/OVA as your settings may be ignored. Use the `vapp` block `properties` section as described in Using vApp Properties for OVF/OVA Configuration.
3596
+ Extra configuration data for this virtual machine. Can be used to supply advanced parameters not normally in
3597
+ configuration, such as instance metadata, or configuration data for OVF images.
3657
3598
  """
3658
3599
  return pulumi.get(self, "extra_config")
3659
3600
 
@@ -3661,7 +3602,7 @@ class VirtualMachine(pulumi.CustomResource):
3661
3602
  @pulumi.getter(name="extraConfigRebootRequired")
3662
3603
  def extra_config_reboot_required(self) -> pulumi.Output[Optional[bool]]:
3663
3604
  """
3664
- Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
3605
+ Allow the virtual machine to be rebooted when a change to `extra_config` occurs.
3665
3606
  """
3666
3607
  return pulumi.get(self, "extra_config_reboot_required")
3667
3608
 
@@ -3669,7 +3610,7 @@ class VirtualMachine(pulumi.CustomResource):
3669
3610
  @pulumi.getter
3670
3611
  def firmware(self) -> pulumi.Output[Optional[str]]:
3671
3612
  """
3672
- The firmware for the virtual machine. One of `bios` or `efi`.
3613
+ The firmware interface to use on the virtual machine. Can be one of bios or efi.
3673
3614
  """
3674
3615
  return pulumi.get(self, "firmware")
3675
3616
 
@@ -3677,7 +3618,7 @@ class VirtualMachine(pulumi.CustomResource):
3677
3618
  @pulumi.getter
3678
3619
  def folder(self) -> pulumi.Output[Optional[str]]:
3679
3620
  """
3680
- The path to the virtual machine folder in which to place the virtual machine, relative to the datacenter path (`/<datacenter-name>/vm`). For example, `/dc-01/vm/foo`
3621
+ The name of the folder to locate the virtual machine in.
3681
3622
  """
3682
3623
  return pulumi.get(self, "folder")
3683
3624
 
@@ -3685,7 +3626,7 @@ class VirtualMachine(pulumi.CustomResource):
3685
3626
  @pulumi.getter(name="forcePowerOff")
3686
3627
  def force_power_off(self) -> pulumi.Output[Optional[bool]]:
3687
3628
  """
3688
- If a guest shutdown failed or times out while updating or destroying (see `shutdown_wait_timeout`), force the power-off of the virtual machine. Default: `true`.
3629
+ Set to true to force power-off a virtual machine if a graceful guest shutdown failed for a necessary operation.
3689
3630
  """
3690
3631
  return pulumi.get(self, "force_power_off")
3691
3632
 
@@ -3693,9 +3634,7 @@ class VirtualMachine(pulumi.CustomResource):
3693
3634
  @pulumi.getter(name="guestId")
3694
3635
  def guest_id(self) -> pulumi.Output[str]:
3695
3636
  """
3696
- The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
3697
-
3698
- [vmware-docs-guest-ids]: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/184bb3ba-6fa8-4574-a767-d0c96e2a38f4/ba9422ef-405c-47dd-8553-e11b619185b2/SDK/vsphere-ws/docs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
3637
+ The guest ID for the operating system.
3699
3638
  """
3700
3639
  return pulumi.get(self, "guest_id")
3701
3640
 
@@ -3711,10 +3650,7 @@ class VirtualMachine(pulumi.CustomResource):
3711
3650
  @pulumi.getter(name="hardwareVersion")
3712
3651
  def hardware_version(self) -> pulumi.Output[int]:
3713
3652
  """
3714
- The hardware version number. Valid range is from 4 to 21. The hardware version cannot be downgraded. See virtual machine hardware [versions][virtual-machine-hardware-versions] and [compatibility][virtual-machine-hardware-compatibility] for more information on supported settings.
3715
-
3716
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
3717
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
3653
+ The hardware version for the virtual machine.
3718
3654
  """
3719
3655
  return pulumi.get(self, "hardware_version")
3720
3656
 
@@ -3722,31 +3658,28 @@ class VirtualMachine(pulumi.CustomResource):
3722
3658
  @pulumi.getter(name="hostSystemId")
3723
3659
  def host_system_id(self) -> pulumi.Output[str]:
3724
3660
  """
3725
- The managed object reference ID of a host on which to place the virtual machine. See the section on virtual machine migration for more information on modifying this value. When using a vSphere cluster, if a `host_system_id` is not supplied, vSphere will select a host in the cluster to place the virtual machine, according to any defaults or vSphere DRS placement policies.
3661
+ The ID of an optional host system to pin the virtual machine to.
3726
3662
  """
3727
3663
  return pulumi.get(self, "host_system_id")
3728
3664
 
3729
3665
  @property
3730
3666
  @pulumi.getter(name="hvMode")
3731
- def hv_mode(self) -> pulumi.Output[Optional[str]]:
3667
+ def hv_mode(self) -> pulumi.Output[str]:
3732
3668
  """
3733
- The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
3669
+ The (non-nested) hardware virtualization setting for this virtual machine. Can be one of hvAuto, hvOn, or hvOff.
3734
3670
  """
3735
3671
  return pulumi.get(self, "hv_mode")
3736
3672
 
3737
3673
  @property
3738
3674
  @pulumi.getter(name="ideControllerCount")
3739
3675
  def ide_controller_count(self) -> pulumi.Output[Optional[int]]:
3740
- """
3741
- The number of IDE controllers that the virtual machine. This directly affects the number 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: `2`.
3742
- """
3743
3676
  return pulumi.get(self, "ide_controller_count")
3744
3677
 
3745
3678
  @property
3746
3679
  @pulumi.getter(name="ignoredGuestIps")
3747
3680
  def ignored_guest_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
3748
3681
  """
3749
- 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 so that the waiter will continue to wait for a valid IP address. Default: `[]`.
3682
+ List of IP addresses and CIDR networks to ignore while waiting for an IP
3750
3683
  """
3751
3684
  return pulumi.get(self, "ignored_guest_ips")
3752
3685
 
@@ -3762,9 +3695,9 @@ class VirtualMachine(pulumi.CustomResource):
3762
3695
  @pulumi.getter(name="latencySensitivity")
3763
3696
  def latency_sensitivity(self) -> pulumi.Output[Optional[str]]:
3764
3697
  """
3765
- 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. One of `low`, `normal`, `medium`, or `high`.
3766
-
3767
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
3698
+ Controls the scheduling delay of the virtual machine. Use a higher sensitivity for applications that require lower
3699
+ latency, such as VOIP, media player applications, or applications that require frequent access to mouse or keyboard
3700
+ devices. Can be one of low, normal, medium, or high.
3768
3701
  """
3769
3702
  return pulumi.get(self, "latency_sensitivity")
3770
3703
 
@@ -3772,7 +3705,7 @@ class VirtualMachine(pulumi.CustomResource):
3772
3705
  @pulumi.getter
3773
3706
  def memory(self) -> pulumi.Output[Optional[int]]:
3774
3707
  """
3775
- The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
3708
+ The size of the virtual machine's memory, in MB.
3776
3709
  """
3777
3710
  return pulumi.get(self, "memory")
3778
3711
 
@@ -3780,15 +3713,7 @@ class VirtualMachine(pulumi.CustomResource):
3780
3713
  @pulumi.getter(name="memoryHotAddEnabled")
3781
3714
  def memory_hot_add_enabled(self) -> pulumi.Output[Optional[bool]]:
3782
3715
  """
3783
- Allow memory to be added to the virtual machine while it is powered on.
3784
-
3785
- > **NOTE:** CPU and memory hot add options are not available on all guest operating systems. Please refer to the [VMware Guest OS Compatibility Guide][vmware-docs-compat-guide] to which settings are allow for your guest operating system. In addition, at least one `pulumi up` must be run before you are able to use CPU and memory hot add.
3786
-
3787
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
3788
-
3789
- > **NOTE:** For Linux 64-bit guest operating systems with less than or equal to 3GB, the virtual machine must powered off to add memory beyond 3GB. Subsequent hot add of memory does not require the virtual machine to be powered-off to apply the plan. Please refer to [VMware KB 2008405][vmware-kb-2008405].
3790
-
3791
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
3716
+ Allow memory to be added to this virtual machine while it is running.
3792
3717
  """
3793
3718
  return pulumi.get(self, "memory_hot_add_enabled")
3794
3719
 
@@ -3796,7 +3721,8 @@ class VirtualMachine(pulumi.CustomResource):
3796
3721
  @pulumi.getter(name="memoryLimit")
3797
3722
  def memory_limit(self) -> pulumi.Output[Optional[int]]:
3798
3723
  """
3799
- The maximum amount of memory (in MB) that th virtual machine can consume, regardless of available resources. The default is no limit.
3724
+ The maximum amount of memory (in MB) or CPU (in MHz) that this virtual machine can consume, regardless of available
3725
+ resources.
3800
3726
  """
3801
3727
  return pulumi.get(self, "memory_limit")
3802
3728
 
@@ -3804,15 +3730,25 @@ class VirtualMachine(pulumi.CustomResource):
3804
3730
  @pulumi.getter(name="memoryReservation")
3805
3731
  def memory_reservation(self) -> pulumi.Output[Optional[int]]:
3806
3732
  """
3807
- The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
3733
+ The amount of memory (in MB) or CPU (in MHz) that this virtual machine is guaranteed.
3808
3734
  """
3809
3735
  return pulumi.get(self, "memory_reservation")
3810
3736
 
3737
+ @property
3738
+ @pulumi.getter(name="memoryReservationLockedToMax")
3739
+ def memory_reservation_locked_to_max(self) -> pulumi.Output[Optional[bool]]:
3740
+ """
3741
+ If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory
3742
+ size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
3743
+ may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
3744
+ """
3745
+ return pulumi.get(self, "memory_reservation_locked_to_max")
3746
+
3811
3747
  @property
3812
3748
  @pulumi.getter(name="memoryShareCount")
3813
3749
  def memory_share_count(self) -> pulumi.Output[int]:
3814
3750
  """
3815
- The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
3751
+ The amount of shares to allocate to memory for a custom share level.
3816
3752
  """
3817
3753
  return pulumi.get(self, "memory_share_count")
3818
3754
 
@@ -3820,7 +3756,7 @@ class VirtualMachine(pulumi.CustomResource):
3820
3756
  @pulumi.getter(name="memoryShareLevel")
3821
3757
  def memory_share_level(self) -> pulumi.Output[Optional[str]]:
3822
3758
  """
3823
- The allocation level for the virtual machine memory resources. One of `high`, `low`, `normal`, or `custom`. Default: `custom`.
3759
+ The allocation level for memory resources. Can be one of high, low, normal, or custom.
3824
3760
  """
3825
3761
  return pulumi.get(self, "memory_share_level")
3826
3762
 
@@ -3828,7 +3764,7 @@ class VirtualMachine(pulumi.CustomResource):
3828
3764
  @pulumi.getter(name="migrateWaitTimeout")
3829
3765
  def migrate_wait_timeout(self) -> pulumi.Output[Optional[int]]:
3830
3766
  """
3831
- The amount of time, in minutes, to wait for a virtual machine migration to complete before failing. Default: `10` minutes. See the section on virtual machine migration for more information.
3767
+ The amount of time, in minutes, to wait for a vMotion operation to complete before failing.
3832
3768
  """
3833
3769
  return pulumi.get(self, "migrate_wait_timeout")
3834
3770
 
@@ -3844,7 +3780,7 @@ class VirtualMachine(pulumi.CustomResource):
3844
3780
  @pulumi.getter
3845
3781
  def name(self) -> pulumi.Output[str]:
3846
3782
  """
3847
- The name of the virtual machine.
3783
+ The name of this virtual machine.
3848
3784
  """
3849
3785
  return pulumi.get(self, "name")
3850
3786
 
@@ -3852,7 +3788,7 @@ class VirtualMachine(pulumi.CustomResource):
3852
3788
  @pulumi.getter(name="nestedHvEnabled")
3853
3789
  def nested_hv_enabled(self) -> pulumi.Output[Optional[bool]]:
3854
3790
  """
3855
- Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest operating system. Default: `false`.
3791
+ Enable nested hardware virtualization on this virtual machine, facilitating nested virtualization in the guest.
3856
3792
  """
3857
3793
  return pulumi.get(self, "nested_hv_enabled")
3858
3794
 
@@ -3860,7 +3796,7 @@ class VirtualMachine(pulumi.CustomResource):
3860
3796
  @pulumi.getter(name="networkInterfaces")
3861
3797
  def network_interfaces(self) -> pulumi.Output[Optional[Sequence['outputs.VirtualMachineNetworkInterface']]]:
3862
3798
  """
3863
- A specification for a virtual NIC on the virtual machine. See network interface options for more information.
3799
+ A specification for a virtual NIC on this virtual machine.
3864
3800
  """
3865
3801
  return pulumi.get(self, "network_interfaces")
3866
3802
 
@@ -3868,7 +3804,8 @@ class VirtualMachine(pulumi.CustomResource):
3868
3804
  @pulumi.getter(name="numCoresPerSocket")
3869
3805
  def num_cores_per_socket(self) -> pulumi.Output[Optional[int]]:
3870
3806
  """
3871
- The number of cores per socket in the virtual machine. The number of vCPUs on the virtual machine will be `num_cpus` divided by `num_cores_per_socket`. If specified, the value supplied to `num_cpus` must be evenly divisible by this value. Default: `1`.
3807
+ The number of cores to distribute amongst the CPUs in this virtual machine. If specified, the value supplied to num_cpus
3808
+ must be evenly divisible by this value.
3872
3809
  """
3873
3810
  return pulumi.get(self, "num_cores_per_socket")
3874
3811
 
@@ -3876,7 +3813,7 @@ class VirtualMachine(pulumi.CustomResource):
3876
3813
  @pulumi.getter(name="numCpus")
3877
3814
  def num_cpus(self) -> pulumi.Output[Optional[int]]:
3878
3815
  """
3879
- The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
3816
+ The number of virtual processors to assign to this virtual machine.
3880
3817
  """
3881
3818
  return pulumi.get(self, "num_cpus")
3882
3819
 
@@ -3884,7 +3821,7 @@ class VirtualMachine(pulumi.CustomResource):
3884
3821
  @pulumi.getter(name="ovfDeploy")
3885
3822
  def ovf_deploy(self) -> pulumi.Output[Optional['outputs.VirtualMachineOvfDeploy']]:
3886
3823
  """
3887
- When specified, the virtual machine will be deployed from the provided OVF/OVA template. See creating a virtual machine from an OVF/OVA template for more information.
3824
+ A specification for deploying a virtual machine from ovf/ova template.
3888
3825
  """
3889
3826
  return pulumi.get(self, "ovf_deploy")
3890
3827
 
@@ -3892,9 +3829,7 @@ class VirtualMachine(pulumi.CustomResource):
3892
3829
  @pulumi.getter(name="pciDeviceIds")
3893
3830
  def pci_device_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
3894
3831
  """
3895
- List of host PCI device IDs in which to create PCI passthroughs.
3896
-
3897
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
3832
+ A list of PCI passthrough devices
3898
3833
  """
3899
3834
  return pulumi.get(self, "pci_device_ids")
3900
3835
 
@@ -3917,9 +3852,6 @@ class VirtualMachine(pulumi.CustomResource):
3917
3852
  @property
3918
3853
  @pulumi.getter(name="rebootRequired")
3919
3854
  def reboot_required(self) -> pulumi.Output[bool]:
3920
- """
3921
- Value internal to Terraform used to determine if a configuration set change requires a reboot.
3922
- """
3923
3855
  return pulumi.get(self, "reboot_required")
3924
3856
 
3925
3857
  @property
@@ -3927,8 +3859,6 @@ class VirtualMachine(pulumi.CustomResource):
3927
3859
  def replace_trigger(self) -> pulumi.Output[Optional[str]]:
3928
3860
  """
3929
3861
  Triggers replacement of resource whenever it changes.
3930
-
3931
- For example, `replace_trigger = sha256(format("%!s(MISSING)-%!s(MISSING)",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
3932
3862
  """
3933
3863
  return pulumi.get(self, "replace_trigger")
3934
3864
 
@@ -3936,9 +3866,7 @@ class VirtualMachine(pulumi.CustomResource):
3936
3866
  @pulumi.getter(name="resourcePoolId")
3937
3867
  def resource_pool_id(self) -> pulumi.Output[str]:
3938
3868
  """
3939
- The managed object reference ID of the resource pool in which to place the virtual machine. See the Virtual Machine Migration section for more information on modifying this value.
3940
-
3941
- > **NOTE:** All clusters and standalone hosts have a default root resource pool. This resource argument does not directly accept the cluster or standalone host resource. For more information, see the section on specifying the Root Resource Pool in the `ResourcePool` data source documentation on using the root resource pool.
3869
+ The ID of a resource pool to put the virtual machine in.
3942
3870
  """
3943
3871
  return pulumi.get(self, "resource_pool_id")
3944
3872
 
@@ -3946,7 +3874,7 @@ class VirtualMachine(pulumi.CustomResource):
3946
3874
  @pulumi.getter(name="runToolsScriptsAfterPowerOn")
3947
3875
  def run_tools_scripts_after_power_on(self) -> pulumi.Output[Optional[bool]]:
3948
3876
  """
3949
- Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
3877
+ Enable the run of scripts after virtual machine power-on when VMware Tools is installed.
3950
3878
  """
3951
3879
  return pulumi.get(self, "run_tools_scripts_after_power_on")
3952
3880
 
@@ -3954,7 +3882,7 @@ class VirtualMachine(pulumi.CustomResource):
3954
3882
  @pulumi.getter(name="runToolsScriptsAfterResume")
3955
3883
  def run_tools_scripts_after_resume(self) -> pulumi.Output[Optional[bool]]:
3956
3884
  """
3957
- Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
3885
+ Enable the run of scripts after virtual machine resume when when VMware Tools is installed.
3958
3886
  """
3959
3887
  return pulumi.get(self, "run_tools_scripts_after_resume")
3960
3888
 
@@ -3962,7 +3890,7 @@ class VirtualMachine(pulumi.CustomResource):
3962
3890
  @pulumi.getter(name="runToolsScriptsBeforeGuestReboot")
3963
3891
  def run_tools_scripts_before_guest_reboot(self) -> pulumi.Output[Optional[bool]]:
3964
3892
  """
3965
- Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
3893
+ Enable the run of scripts before guest operating system reboot when VMware Tools is installed.
3966
3894
  """
3967
3895
  return pulumi.get(self, "run_tools_scripts_before_guest_reboot")
3968
3896
 
@@ -3970,7 +3898,7 @@ class VirtualMachine(pulumi.CustomResource):
3970
3898
  @pulumi.getter(name="runToolsScriptsBeforeGuestShutdown")
3971
3899
  def run_tools_scripts_before_guest_shutdown(self) -> pulumi.Output[Optional[bool]]:
3972
3900
  """
3973
- Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
3901
+ Enable the run of scripts before guest operating system shutdown when VMware Tools is installed.
3974
3902
  """
3975
3903
  return pulumi.get(self, "run_tools_scripts_before_guest_shutdown")
3976
3904
 
@@ -3978,43 +3906,33 @@ class VirtualMachine(pulumi.CustomResource):
3978
3906
  @pulumi.getter(name="runToolsScriptsBeforeGuestStandby")
3979
3907
  def run_tools_scripts_before_guest_standby(self) -> pulumi.Output[Optional[bool]]:
3980
3908
  """
3981
- Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
3909
+ Enable the run of scripts before guest operating system standby when VMware Tools is installed.
3982
3910
  """
3983
3911
  return pulumi.get(self, "run_tools_scripts_before_guest_standby")
3984
3912
 
3985
3913
  @property
3986
3914
  @pulumi.getter(name="sataControllerCount")
3987
3915
  def sata_controller_count(self) -> pulumi.Output[Optional[int]]:
3988
- """
3989
- The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
3990
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
3991
- controllers.
3992
- """
3993
3916
  return pulumi.get(self, "sata_controller_count")
3994
3917
 
3995
3918
  @property
3996
3919
  @pulumi.getter(name="scsiBusSharing")
3997
3920
  def scsi_bus_sharing(self) -> pulumi.Output[Optional[str]]:
3998
3921
  """
3999
- The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
3922
+ Mode for sharing the SCSI bus. The modes are physicalSharing, virtualSharing, and noSharing.
4000
3923
  """
4001
3924
  return pulumi.get(self, "scsi_bus_sharing")
4002
3925
 
4003
3926
  @property
4004
3927
  @pulumi.getter(name="scsiControllerCount")
4005
3928
  def scsi_controller_count(self) -> pulumi.Output[Optional[int]]:
4006
- """
4007
- The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
4008
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
4009
- controllers.
4010
- """
4011
3929
  return pulumi.get(self, "scsi_controller_count")
4012
3930
 
4013
3931
  @property
4014
3932
  @pulumi.getter(name="scsiType")
4015
3933
  def scsi_type(self) -> pulumi.Output[Optional[str]]:
4016
3934
  """
4017
- The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.
3935
+ The type of SCSI bus this virtual machine will have. Can be one of lsilogic, lsilogic-sas or pvscsi.
4018
3936
  """
4019
3937
  return pulumi.get(self, "scsi_type")
4020
3938
 
@@ -4022,7 +3940,7 @@ class VirtualMachine(pulumi.CustomResource):
4022
3940
  @pulumi.getter(name="shutdownWaitTimeout")
4023
3941
  def shutdown_wait_timeout(self) -> pulumi.Output[Optional[int]]:
4024
3942
  """
4025
- The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes.
3943
+ The amount of time, in minutes, to wait for shutdown when making necessary updates to the virtual machine.
4026
3944
  """
4027
3945
  return pulumi.get(self, "shutdown_wait_timeout")
4028
3946
 
@@ -4030,7 +3948,7 @@ class VirtualMachine(pulumi.CustomResource):
4030
3948
  @pulumi.getter(name="storagePolicyId")
4031
3949
  def storage_policy_id(self) -> pulumi.Output[str]:
4032
3950
  """
4033
- The UUID of the storage policy to assign to the virtual disk.
3951
+ The ID of the storage policy to assign to the virtual machine home directory.
4034
3952
  """
4035
3953
  return pulumi.get(self, "storage_policy_id")
4036
3954
 
@@ -4038,7 +3956,7 @@ class VirtualMachine(pulumi.CustomResource):
4038
3956
  @pulumi.getter(name="swapPlacementPolicy")
4039
3957
  def swap_placement_policy(self) -> pulumi.Output[Optional[str]]:
4040
3958
  """
4041
- The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
3959
+ The swap file placement policy for this virtual machine. Can be one of inherit, hostLocal, or vmDirectory.
4042
3960
  """
4043
3961
  return pulumi.get(self, "swap_placement_policy")
4044
3962
 
@@ -4046,7 +3964,8 @@ class VirtualMachine(pulumi.CustomResource):
4046
3964
  @pulumi.getter(name="syncTimeWithHost")
4047
3965
  def sync_time_with_host(self) -> pulumi.Output[Optional[bool]]:
4048
3966
  """
4049
- Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`.
3967
+ Enable guest clock synchronization with the host. On vSphere 7.0 U1 and above, with only this setting the clock is
3968
+ synchronized on startup and resume. Requires VMware Tools to be installed.
4050
3969
  """
4051
3970
  return pulumi.get(self, "sync_time_with_host")
4052
3971
 
@@ -4054,7 +3973,8 @@ class VirtualMachine(pulumi.CustomResource):
4054
3973
  @pulumi.getter(name="syncTimeWithHostPeriodically")
4055
3974
  def sync_time_with_host_periodically(self) -> pulumi.Output[Optional[bool]]:
4056
3975
  """
4057
- Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`.
3976
+ Enable periodic clock synchronization with the host. Supported only on vSphere 7.0 U1 and above. On prior versions
3977
+ setting `sync_time_with_host` is enough for periodic synchronization. Requires VMware Tools to be installed.
4058
3978
  """
4059
3979
  return pulumi.get(self, "sync_time_with_host_periodically")
4060
3980
 
@@ -4062,9 +3982,7 @@ class VirtualMachine(pulumi.CustomResource):
4062
3982
  @pulumi.getter
4063
3983
  def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
4064
3984
  """
4065
- The IDs of any tags to attach to this resource. Please refer to the `Tag` resource for more information on applying tags to virtual machine resources.
4066
-
4067
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
3985
+ A list of tag IDs to apply to this object.
4068
3986
  """
4069
3987
  return pulumi.get(self, "tags")
4070
3988
 
@@ -4072,7 +3990,7 @@ class VirtualMachine(pulumi.CustomResource):
4072
3990
  @pulumi.getter(name="toolsUpgradePolicy")
4073
3991
  def tools_upgrade_policy(self) -> pulumi.Output[Optional[str]]:
4074
3992
  """
4075
- Enable automatic upgrade of the VMware Tools version when the virtual machine is rebooted. If necessary, VMware Tools is upgraded to the latest version supported by the host on which the virtual machine is running. Requires VMware Tools to be installed. One of `manual` or `upgradeAtPowerCycle`. Default: `manual`.
3993
+ Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
4076
3994
  """
4077
3995
  return pulumi.get(self, "tools_upgrade_policy")
4078
3996
 
@@ -4080,7 +3998,7 @@ class VirtualMachine(pulumi.CustomResource):
4080
3998
  @pulumi.getter
4081
3999
  def uuid(self) -> pulumi.Output[str]:
4082
4000
  """
4083
- The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
4001
+ The UUID of the virtual machine. Also exposed as the `id` of the resource.
4084
4002
  """
4085
4003
  return pulumi.get(self, "uuid")
4086
4004
 
@@ -4088,7 +4006,7 @@ class VirtualMachine(pulumi.CustomResource):
4088
4006
  @pulumi.getter
4089
4007
  def vapp(self) -> pulumi.Output[Optional['outputs.VirtualMachineVapp']]:
4090
4008
  """
4091
- Used for vApp configurations. The only sub-key available is `properties`, which is a key/value map of properties for virtual machines imported from and OVF/OVA. See Using vApp Properties for OVF/OVA Configuration for more information.
4009
+ vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
4092
4010
  """
4093
4011
  return pulumi.get(self, "vapp")
4094
4012
 
@@ -4104,7 +4022,7 @@ class VirtualMachine(pulumi.CustomResource):
4104
4022
  @pulumi.getter(name="vbsEnabled")
4105
4023
  def vbs_enabled(self) -> pulumi.Output[Optional[bool]]:
4106
4024
  """
4107
- Enable Virtualization Based Security. Requires `firmware` to be `efi`. In addition, `vvtd_enabled`, `nested_hv_enabled`, and `efi_secure_boot_enabled` must all have a value of `true`. Supported on vSphere 6.7 and later. Default: `false`.
4025
+ Flag to specify if Virtualization-based security is enabled for this virtual machine.
4108
4026
  """
4109
4027
  return pulumi.get(self, "vbs_enabled")
4110
4028
 
@@ -4124,11 +4042,20 @@ class VirtualMachine(pulumi.CustomResource):
4124
4042
  """
4125
4043
  return pulumi.get(self, "vmx_path")
4126
4044
 
4045
+ @property
4046
+ @pulumi.getter
4047
+ def vtpm(self) -> pulumi.Output[Optional['outputs.VirtualMachineVtpm']]:
4048
+ """
4049
+ A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
4050
+ """
4051
+ return pulumi.get(self, "vtpm")
4052
+
4127
4053
  @property
4128
4054
  @pulumi.getter(name="vvtdEnabled")
4129
4055
  def vvtd_enabled(self) -> pulumi.Output[Optional[bool]]:
4130
4056
  """
4131
- Enable Intel Virtualization Technology for Directed I/O for the virtual machine (_I/O MMU_ in the vSphere Client). Supported on vSphere 6.7 and later. Default: `false`.
4057
+ Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
4058
+ I/O Virtualization (AMD-Vi or IOMMU), is enabled.
4132
4059
  """
4133
4060
  return pulumi.get(self, "vvtd_enabled")
4134
4061
 
@@ -4136,7 +4063,8 @@ class VirtualMachine(pulumi.CustomResource):
4136
4063
  @pulumi.getter(name="waitForGuestIpTimeout")
4137
4064
  def wait_for_guest_ip_timeout(self) -> pulumi.Output[Optional[int]]:
4138
4065
  """
4139
- The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. This should only be used if the version VMware Tools does not allow the `wait_for_guest_net_timeout` waiter to be used. A value less than `1` disables the waiter. Default: `0`.
4066
+ The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
4067
+ disables the waiter.
4140
4068
  """
4141
4069
  return pulumi.get(self, "wait_for_guest_ip_timeout")
4142
4070
 
@@ -4144,7 +4072,8 @@ class VirtualMachine(pulumi.CustomResource):
4144
4072
  @pulumi.getter(name="waitForGuestNetRoutable")
4145
4073
  def wait_for_guest_net_routable(self) -> pulumi.Output[Optional[bool]]:
4146
4074
  """
4147
- 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 `wait_for_guest_ip_timeout` waiter is used. Default: `true`.
4075
+ Controls whether or not the guest network waiter waits for a routable address. When false, the waiter does not wait for
4076
+ a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria.
4148
4077
  """
4149
4078
  return pulumi.get(self, "wait_for_guest_net_routable")
4150
4079
 
@@ -4152,7 +4081,8 @@ class VirtualMachine(pulumi.CustomResource):
4152
4081
  @pulumi.getter(name="waitForGuestNetTimeout")
4153
4082
  def wait_for_guest_net_timeout(self) -> pulumi.Output[Optional[int]]:
4154
4083
  """
4155
- The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes.
4084
+ The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
4085
+ disables the waiter.
4156
4086
  """
4157
4087
  return pulumi.get(self, "wait_for_guest_net_timeout")
4158
4088