pulumi-vsphere 4.10.0a1710245029__py3-none-any.whl → 4.13.0a1736849827__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.
Files changed (85) hide show
  1. pulumi_vsphere/__init__.py +28 -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 +29 -21
  33. pulumi_vsphere/get_datastore_cluster.py +31 -10
  34. pulumi_vsphere/get_datastore_stats.py +63 -57
  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 +20 -15
  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 +205 -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 +717 -270
  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 +698 -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.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736849827.dist-info}/METADATA +7 -6
  82. pulumi_vsphere-4.13.0a1736849827.dist-info/RECORD +86 -0
  83. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736849827.dist-info}/WHEEL +1 -1
  84. pulumi_vsphere-4.10.0a1710245029.dist-info/RECORD +0 -82
  85. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736849827.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 *
@@ -87,128 +92,101 @@ class VirtualMachineArgs:
87
92
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
88
93
  vapp: Optional[pulumi.Input['VirtualMachineVappArgs']] = None,
89
94
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
95
+ vtpm: Optional[pulumi.Input['VirtualMachineVtpmArgs']] = None,
90
96
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
91
97
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
92
98
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
93
99
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None):
94
100
  """
95
101
  The set of arguments for constructing a VirtualMachine resource.
96
- :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.
97
-
98
- > **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.
99
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
100
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
101
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
102
- :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).
103
- :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`.
104
- :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.
105
- :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.
106
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
107
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
108
- :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.
109
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
110
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
111
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
112
- :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`.
113
- :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.
114
-
115
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
116
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
117
- :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.
118
-
119
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
120
-
121
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
122
-
123
- > **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.
124
- :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`.
125
- :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.
126
- :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`.
127
-
128
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
129
- :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`.
130
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
131
- :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`.
132
- :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.
133
-
134
- > **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.
135
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
136
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
137
- :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`
138
- :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`.
139
- :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`.
140
-
141
- [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
142
- :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.
143
-
144
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
145
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
146
- :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.
147
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
148
- :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`.
149
- :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: `[]`.
150
- :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`.
151
-
152
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
153
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
154
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
155
-
156
- > **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.
157
-
158
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
159
-
160
- > **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].
161
-
162
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
163
- :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.
164
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
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.
165
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
166
148
  size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
167
149
  may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
168
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
169
- :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`.
170
- :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.
171
- :param pulumi.Input[str] name: The name of the virtual machine.
172
- :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`.
173
- :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.
174
- :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`.
175
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
176
- :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.
177
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
178
-
179
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
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
180
161
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
181
162
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
182
-
183
- 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.)
184
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
185
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
186
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
187
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
188
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
189
- :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
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_bus_sharing: The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
193
- :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
194
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
195
- controllers.
196
- :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`.
197
- :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.
198
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
199
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
200
- :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: `true`.
201
- :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`.
202
- :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.
203
-
204
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
205
- :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`.
206
- :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.
207
- :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`.
208
- :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`.
209
- :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`.
210
- :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`.
211
- :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.
212
190
  """
213
191
  pulumi.set(__self__, "resource_pool_id", resource_pool_id)
214
192
  if alternate_guest_name is not None:
@@ -351,6 +329,8 @@ class VirtualMachineArgs:
351
329
  pulumi.set(__self__, "vapp", vapp)
352
330
  if vbs_enabled is not None:
353
331
  pulumi.set(__self__, "vbs_enabled", vbs_enabled)
332
+ if vtpm is not None:
333
+ pulumi.set(__self__, "vtpm", vtpm)
354
334
  if vvtd_enabled is not None:
355
335
  pulumi.set(__self__, "vvtd_enabled", vvtd_enabled)
356
336
  if wait_for_guest_ip_timeout is not None:
@@ -364,9 +344,7 @@ class VirtualMachineArgs:
364
344
  @pulumi.getter(name="resourcePoolId")
365
345
  def resource_pool_id(self) -> pulumi.Input[str]:
366
346
  """
367
- 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.
368
-
369
- > **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.
370
348
  """
371
349
  return pulumi.get(self, "resource_pool_id")
372
350
 
@@ -378,7 +356,7 @@ class VirtualMachineArgs:
378
356
  @pulumi.getter(name="alternateGuestName")
379
357
  def alternate_guest_name(self) -> Optional[pulumi.Input[str]]:
380
358
  """
381
- 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.
382
360
  """
383
361
  return pulumi.get(self, "alternate_guest_name")
384
362
 
@@ -390,7 +368,7 @@ class VirtualMachineArgs:
390
368
  @pulumi.getter
391
369
  def annotation(self) -> Optional[pulumi.Input[str]]:
392
370
  """
393
- A user-provided description of the virtual machine.
371
+ User-provided description of the virtual machine.
394
372
  """
395
373
  return pulumi.get(self, "annotation")
396
374
 
@@ -402,7 +380,7 @@ class VirtualMachineArgs:
402
380
  @pulumi.getter(name="bootDelay")
403
381
  def boot_delay(self) -> Optional[pulumi.Input[int]]:
404
382
  """
405
- 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.
406
384
  """
407
385
  return pulumi.get(self, "boot_delay")
408
386
 
@@ -414,7 +392,7 @@ class VirtualMachineArgs:
414
392
  @pulumi.getter(name="bootRetryDelay")
415
393
  def boot_retry_delay(self) -> Optional[pulumi.Input[int]]:
416
394
  """
417
- 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.
418
396
  """
419
397
  return pulumi.get(self, "boot_retry_delay")
420
398
 
@@ -426,7 +404,7 @@ class VirtualMachineArgs:
426
404
  @pulumi.getter(name="bootRetryEnabled")
427
405
  def boot_retry_enabled(self) -> Optional[pulumi.Input[bool]]:
428
406
  """
429
- 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.
430
408
  """
431
409
  return pulumi.get(self, "boot_retry_enabled")
432
410
 
@@ -438,7 +416,7 @@ class VirtualMachineArgs:
438
416
  @pulumi.getter
439
417
  def cdroms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]]]:
440
418
  """
441
- 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.
442
420
  """
443
421
  return pulumi.get(self, "cdroms")
444
422
 
@@ -450,7 +428,7 @@ class VirtualMachineArgs:
450
428
  @pulumi.getter
451
429
  def clone(self) -> Optional[pulumi.Input['VirtualMachineCloneArgs']]:
452
430
  """
453
- 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.
454
432
  """
455
433
  return pulumi.get(self, "clone")
456
434
 
@@ -462,7 +440,7 @@ class VirtualMachineArgs:
462
440
  @pulumi.getter(name="cpuHotAddEnabled")
463
441
  def cpu_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
464
442
  """
465
- 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.
466
444
  """
467
445
  return pulumi.get(self, "cpu_hot_add_enabled")
468
446
 
@@ -474,7 +452,7 @@ class VirtualMachineArgs:
474
452
  @pulumi.getter(name="cpuHotRemoveEnabled")
475
453
  def cpu_hot_remove_enabled(self) -> Optional[pulumi.Input[bool]]:
476
454
  """
477
- 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.
478
456
  """
479
457
  return pulumi.get(self, "cpu_hot_remove_enabled")
480
458
 
@@ -486,7 +464,8 @@ class VirtualMachineArgs:
486
464
  @pulumi.getter(name="cpuLimit")
487
465
  def cpu_limit(self) -> Optional[pulumi.Input[int]]:
488
466
  """
489
- 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.
490
469
  """
491
470
  return pulumi.get(self, "cpu_limit")
492
471
 
@@ -498,7 +477,7 @@ class VirtualMachineArgs:
498
477
  @pulumi.getter(name="cpuPerformanceCountersEnabled")
499
478
  def cpu_performance_counters_enabled(self) -> Optional[pulumi.Input[bool]]:
500
479
  """
501
- Enable CPU performance counters on the virtual machine. Default: `false`.
480
+ Enable CPU performance counters on this virtual machine.
502
481
  """
503
482
  return pulumi.get(self, "cpu_performance_counters_enabled")
504
483
 
@@ -510,7 +489,7 @@ class VirtualMachineArgs:
510
489
  @pulumi.getter(name="cpuReservation")
511
490
  def cpu_reservation(self) -> Optional[pulumi.Input[int]]:
512
491
  """
513
- 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.
514
493
  """
515
494
  return pulumi.get(self, "cpu_reservation")
516
495
 
@@ -522,7 +501,7 @@ class VirtualMachineArgs:
522
501
  @pulumi.getter(name="cpuShareCount")
523
502
  def cpu_share_count(self) -> Optional[pulumi.Input[int]]:
524
503
  """
525
- 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.
526
505
  """
527
506
  return pulumi.get(self, "cpu_share_count")
528
507
 
@@ -534,7 +513,7 @@ class VirtualMachineArgs:
534
513
  @pulumi.getter(name="cpuShareLevel")
535
514
  def cpu_share_level(self) -> Optional[pulumi.Input[str]]:
536
515
  """
537
- 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.
538
517
  """
539
518
  return pulumi.get(self, "cpu_share_level")
540
519
 
@@ -546,9 +525,7 @@ class VirtualMachineArgs:
546
525
  @pulumi.getter(name="customAttributes")
547
526
  def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
548
527
  """
549
- 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.
550
-
551
- > **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.
552
529
  """
553
530
  return pulumi.get(self, "custom_attributes")
554
531
 
@@ -560,7 +537,7 @@ class VirtualMachineArgs:
560
537
  @pulumi.getter(name="datacenterId")
561
538
  def datacenter_id(self) -> Optional[pulumi.Input[str]]:
562
539
  """
563
- The datacenter ID. Required only when deploying an OVF/OVA template.
540
+ The ID of the datacenter where the VM is to be created.
564
541
  """
565
542
  return pulumi.get(self, "datacenter_id")
566
543
 
@@ -572,13 +549,7 @@ class VirtualMachineArgs:
572
549
  @pulumi.getter(name="datastoreClusterId")
573
550
  def datastore_cluster_id(self) -> Optional[pulumi.Input[str]]:
574
551
  """
575
- 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.
576
-
577
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
578
-
579
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
580
-
581
- > **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.
582
553
  """
583
554
  return pulumi.get(self, "datastore_cluster_id")
584
555
 
@@ -590,7 +561,8 @@ class VirtualMachineArgs:
590
561
  @pulumi.getter(name="datastoreId")
591
562
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
592
563
  """
593
- 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.
594
566
  """
595
567
  return pulumi.get(self, "datastore_id")
596
568
 
@@ -602,7 +574,7 @@ class VirtualMachineArgs:
602
574
  @pulumi.getter
603
575
  def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]]]:
604
576
  """
605
- 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.
606
578
  """
607
579
  return pulumi.get(self, "disks")
608
580
 
@@ -614,9 +586,7 @@ class VirtualMachineArgs:
614
586
  @pulumi.getter(name="efiSecureBootEnabled")
615
587
  def efi_secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]:
616
588
  """
617
- Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
618
-
619
- > **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.
620
590
  """
621
591
  return pulumi.get(self, "efi_secure_boot_enabled")
622
592
 
@@ -628,7 +598,7 @@ class VirtualMachineArgs:
628
598
  @pulumi.getter(name="enableDiskUuid")
629
599
  def enable_disk_uuid(self) -> Optional[pulumi.Input[bool]]:
630
600
  """
631
- 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.
632
602
  """
633
603
  return pulumi.get(self, "enable_disk_uuid")
634
604
 
@@ -640,7 +610,7 @@ class VirtualMachineArgs:
640
610
  @pulumi.getter(name="enableLogging")
641
611
  def enable_logging(self) -> Optional[pulumi.Input[bool]]:
642
612
  """
643
- 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.
644
614
  """
645
615
  return pulumi.get(self, "enable_logging")
646
616
 
@@ -652,7 +622,7 @@ class VirtualMachineArgs:
652
622
  @pulumi.getter(name="eptRviMode")
653
623
  def ept_rvi_mode(self) -> Optional[pulumi.Input[str]]:
654
624
  """
655
- 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.
656
626
  """
657
627
  return pulumi.get(self, "ept_rvi_mode")
658
628
 
@@ -664,9 +634,8 @@ class VirtualMachineArgs:
664
634
  @pulumi.getter(name="extraConfig")
665
635
  def extra_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
666
636
  """
667
- Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
668
-
669
- > **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.
670
639
  """
671
640
  return pulumi.get(self, "extra_config")
672
641
 
@@ -678,7 +647,7 @@ class VirtualMachineArgs:
678
647
  @pulumi.getter(name="extraConfigRebootRequired")
679
648
  def extra_config_reboot_required(self) -> Optional[pulumi.Input[bool]]:
680
649
  """
681
- 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.
682
651
  """
683
652
  return pulumi.get(self, "extra_config_reboot_required")
684
653
 
@@ -690,7 +659,7 @@ class VirtualMachineArgs:
690
659
  @pulumi.getter
691
660
  def firmware(self) -> Optional[pulumi.Input[str]]:
692
661
  """
693
- 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.
694
663
  """
695
664
  return pulumi.get(self, "firmware")
696
665
 
@@ -702,7 +671,7 @@ class VirtualMachineArgs:
702
671
  @pulumi.getter
703
672
  def folder(self) -> Optional[pulumi.Input[str]]:
704
673
  """
705
- 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.
706
675
  """
707
676
  return pulumi.get(self, "folder")
708
677
 
@@ -714,7 +683,7 @@ class VirtualMachineArgs:
714
683
  @pulumi.getter(name="forcePowerOff")
715
684
  def force_power_off(self) -> Optional[pulumi.Input[bool]]:
716
685
  """
717
- 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.
718
687
  """
719
688
  return pulumi.get(self, "force_power_off")
720
689
 
@@ -726,9 +695,7 @@ class VirtualMachineArgs:
726
695
  @pulumi.getter(name="guestId")
727
696
  def guest_id(self) -> Optional[pulumi.Input[str]]:
728
697
  """
729
- The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
730
-
731
- [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.
732
699
  """
733
700
  return pulumi.get(self, "guest_id")
734
701
 
@@ -740,10 +707,7 @@ class VirtualMachineArgs:
740
707
  @pulumi.getter(name="hardwareVersion")
741
708
  def hardware_version(self) -> Optional[pulumi.Input[int]]:
742
709
  """
743
- 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.
744
-
745
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
746
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
710
+ The hardware version for the virtual machine.
747
711
  """
748
712
  return pulumi.get(self, "hardware_version")
749
713
 
@@ -755,7 +719,7 @@ class VirtualMachineArgs:
755
719
  @pulumi.getter(name="hostSystemId")
756
720
  def host_system_id(self) -> Optional[pulumi.Input[str]]:
757
721
  """
758
- 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.
759
723
  """
760
724
  return pulumi.get(self, "host_system_id")
761
725
 
@@ -767,7 +731,7 @@ class VirtualMachineArgs:
767
731
  @pulumi.getter(name="hvMode")
768
732
  def hv_mode(self) -> Optional[pulumi.Input[str]]:
769
733
  """
770
- 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.
771
735
  """
772
736
  return pulumi.get(self, "hv_mode")
773
737
 
@@ -778,9 +742,6 @@ class VirtualMachineArgs:
778
742
  @property
779
743
  @pulumi.getter(name="ideControllerCount")
780
744
  def ide_controller_count(self) -> Optional[pulumi.Input[int]]:
781
- """
782
- 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`.
783
- """
784
745
  return pulumi.get(self, "ide_controller_count")
785
746
 
786
747
  @ide_controller_count.setter
@@ -791,7 +752,7 @@ class VirtualMachineArgs:
791
752
  @pulumi.getter(name="ignoredGuestIps")
792
753
  def ignored_guest_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
793
754
  """
794
- 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
795
756
  """
796
757
  return pulumi.get(self, "ignored_guest_ips")
797
758
 
@@ -803,9 +764,9 @@ class VirtualMachineArgs:
803
764
  @pulumi.getter(name="latencySensitivity")
804
765
  def latency_sensitivity(self) -> Optional[pulumi.Input[str]]:
805
766
  """
806
- 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`.
807
-
808
- > **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.
809
770
  """
810
771
  return pulumi.get(self, "latency_sensitivity")
811
772
 
@@ -817,7 +778,7 @@ class VirtualMachineArgs:
817
778
  @pulumi.getter
818
779
  def memory(self) -> Optional[pulumi.Input[int]]:
819
780
  """
820
- 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.
821
782
  """
822
783
  return pulumi.get(self, "memory")
823
784
 
@@ -829,15 +790,7 @@ class VirtualMachineArgs:
829
790
  @pulumi.getter(name="memoryHotAddEnabled")
830
791
  def memory_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
831
792
  """
832
- Allow memory to be added to the virtual machine while it is powered on.
833
-
834
- > **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.
835
-
836
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
837
-
838
- > **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].
839
-
840
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
793
+ Allow memory to be added to this virtual machine while it is running.
841
794
  """
842
795
  return pulumi.get(self, "memory_hot_add_enabled")
843
796
 
@@ -849,7 +802,8 @@ class VirtualMachineArgs:
849
802
  @pulumi.getter(name="memoryLimit")
850
803
  def memory_limit(self) -> Optional[pulumi.Input[int]]:
851
804
  """
852
- 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.
853
807
  """
854
808
  return pulumi.get(self, "memory_limit")
855
809
 
@@ -861,7 +815,7 @@ class VirtualMachineArgs:
861
815
  @pulumi.getter(name="memoryReservation")
862
816
  def memory_reservation(self) -> Optional[pulumi.Input[int]]:
863
817
  """
864
- 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.
865
819
  """
866
820
  return pulumi.get(self, "memory_reservation")
867
821
 
@@ -887,7 +841,7 @@ class VirtualMachineArgs:
887
841
  @pulumi.getter(name="memoryShareCount")
888
842
  def memory_share_count(self) -> Optional[pulumi.Input[int]]:
889
843
  """
890
- 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.
891
845
  """
892
846
  return pulumi.get(self, "memory_share_count")
893
847
 
@@ -899,7 +853,7 @@ class VirtualMachineArgs:
899
853
  @pulumi.getter(name="memoryShareLevel")
900
854
  def memory_share_level(self) -> Optional[pulumi.Input[str]]:
901
855
  """
902
- 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.
903
857
  """
904
858
  return pulumi.get(self, "memory_share_level")
905
859
 
@@ -911,7 +865,7 @@ class VirtualMachineArgs:
911
865
  @pulumi.getter(name="migrateWaitTimeout")
912
866
  def migrate_wait_timeout(self) -> Optional[pulumi.Input[int]]:
913
867
  """
914
- 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.
915
869
  """
916
870
  return pulumi.get(self, "migrate_wait_timeout")
917
871
 
@@ -923,7 +877,7 @@ class VirtualMachineArgs:
923
877
  @pulumi.getter
924
878
  def name(self) -> Optional[pulumi.Input[str]]:
925
879
  """
926
- The name of the virtual machine.
880
+ The name of this virtual machine.
927
881
  """
928
882
  return pulumi.get(self, "name")
929
883
 
@@ -935,7 +889,7 @@ class VirtualMachineArgs:
935
889
  @pulumi.getter(name="nestedHvEnabled")
936
890
  def nested_hv_enabled(self) -> Optional[pulumi.Input[bool]]:
937
891
  """
938
- 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.
939
893
  """
940
894
  return pulumi.get(self, "nested_hv_enabled")
941
895
 
@@ -947,7 +901,7 @@ class VirtualMachineArgs:
947
901
  @pulumi.getter(name="networkInterfaces")
948
902
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]]]:
949
903
  """
950
- 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.
951
905
  """
952
906
  return pulumi.get(self, "network_interfaces")
953
907
 
@@ -959,7 +913,8 @@ class VirtualMachineArgs:
959
913
  @pulumi.getter(name="numCoresPerSocket")
960
914
  def num_cores_per_socket(self) -> Optional[pulumi.Input[int]]:
961
915
  """
962
- 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.
963
918
  """
964
919
  return pulumi.get(self, "num_cores_per_socket")
965
920
 
@@ -971,7 +926,7 @@ class VirtualMachineArgs:
971
926
  @pulumi.getter(name="numCpus")
972
927
  def num_cpus(self) -> Optional[pulumi.Input[int]]:
973
928
  """
974
- 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.
975
930
  """
976
931
  return pulumi.get(self, "num_cpus")
977
932
 
@@ -983,7 +938,7 @@ class VirtualMachineArgs:
983
938
  @pulumi.getter(name="ovfDeploy")
984
939
  def ovf_deploy(self) -> Optional[pulumi.Input['VirtualMachineOvfDeployArgs']]:
985
940
  """
986
- 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.
987
942
  """
988
943
  return pulumi.get(self, "ovf_deploy")
989
944
 
@@ -995,9 +950,7 @@ class VirtualMachineArgs:
995
950
  @pulumi.getter(name="pciDeviceIds")
996
951
  def pci_device_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
997
952
  """
998
- List of host PCI device IDs in which to create PCI passthroughs.
999
-
1000
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
953
+ A list of PCI passthrough devices
1001
954
  """
1002
955
  return pulumi.get(self, "pci_device_ids")
1003
956
 
@@ -1022,8 +975,6 @@ class VirtualMachineArgs:
1022
975
  def replace_trigger(self) -> Optional[pulumi.Input[str]]:
1023
976
  """
1024
977
  Triggers replacement of resource whenever it changes.
1025
-
1026
- 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.)
1027
978
  """
1028
979
  return pulumi.get(self, "replace_trigger")
1029
980
 
@@ -1035,7 +986,7 @@ class VirtualMachineArgs:
1035
986
  @pulumi.getter(name="runToolsScriptsAfterPowerOn")
1036
987
  def run_tools_scripts_after_power_on(self) -> Optional[pulumi.Input[bool]]:
1037
988
  """
1038
- 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.
1039
990
  """
1040
991
  return pulumi.get(self, "run_tools_scripts_after_power_on")
1041
992
 
@@ -1047,7 +998,7 @@ class VirtualMachineArgs:
1047
998
  @pulumi.getter(name="runToolsScriptsAfterResume")
1048
999
  def run_tools_scripts_after_resume(self) -> Optional[pulumi.Input[bool]]:
1049
1000
  """
1050
- 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.
1051
1002
  """
1052
1003
  return pulumi.get(self, "run_tools_scripts_after_resume")
1053
1004
 
@@ -1059,7 +1010,7 @@ class VirtualMachineArgs:
1059
1010
  @pulumi.getter(name="runToolsScriptsBeforeGuestReboot")
1060
1011
  def run_tools_scripts_before_guest_reboot(self) -> Optional[pulumi.Input[bool]]:
1061
1012
  """
1062
- 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.
1063
1014
  """
1064
1015
  return pulumi.get(self, "run_tools_scripts_before_guest_reboot")
1065
1016
 
@@ -1071,7 +1022,7 @@ class VirtualMachineArgs:
1071
1022
  @pulumi.getter(name="runToolsScriptsBeforeGuestShutdown")
1072
1023
  def run_tools_scripts_before_guest_shutdown(self) -> Optional[pulumi.Input[bool]]:
1073
1024
  """
1074
- 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.
1075
1026
  """
1076
1027
  return pulumi.get(self, "run_tools_scripts_before_guest_shutdown")
1077
1028
 
@@ -1083,7 +1034,7 @@ class VirtualMachineArgs:
1083
1034
  @pulumi.getter(name="runToolsScriptsBeforeGuestStandby")
1084
1035
  def run_tools_scripts_before_guest_standby(self) -> Optional[pulumi.Input[bool]]:
1085
1036
  """
1086
- 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.
1087
1038
  """
1088
1039
  return pulumi.get(self, "run_tools_scripts_before_guest_standby")
1089
1040
 
@@ -1094,11 +1045,6 @@ class VirtualMachineArgs:
1094
1045
  @property
1095
1046
  @pulumi.getter(name="sataControllerCount")
1096
1047
  def sata_controller_count(self) -> Optional[pulumi.Input[int]]:
1097
- """
1098
- The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
1099
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1100
- controllers.
1101
- """
1102
1048
  return pulumi.get(self, "sata_controller_count")
1103
1049
 
1104
1050
  @sata_controller_count.setter
@@ -1109,7 +1055,7 @@ class VirtualMachineArgs:
1109
1055
  @pulumi.getter(name="scsiBusSharing")
1110
1056
  def scsi_bus_sharing(self) -> Optional[pulumi.Input[str]]:
1111
1057
  """
1112
- 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.
1113
1059
  """
1114
1060
  return pulumi.get(self, "scsi_bus_sharing")
1115
1061
 
@@ -1120,11 +1066,6 @@ class VirtualMachineArgs:
1120
1066
  @property
1121
1067
  @pulumi.getter(name="scsiControllerCount")
1122
1068
  def scsi_controller_count(self) -> Optional[pulumi.Input[int]]:
1123
- """
1124
- The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
1125
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1126
- controllers.
1127
- """
1128
1069
  return pulumi.get(self, "scsi_controller_count")
1129
1070
 
1130
1071
  @scsi_controller_count.setter
@@ -1135,7 +1076,7 @@ class VirtualMachineArgs:
1135
1076
  @pulumi.getter(name="scsiType")
1136
1077
  def scsi_type(self) -> Optional[pulumi.Input[str]]:
1137
1078
  """
1138
- 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.
1139
1080
  """
1140
1081
  return pulumi.get(self, "scsi_type")
1141
1082
 
@@ -1147,7 +1088,7 @@ class VirtualMachineArgs:
1147
1088
  @pulumi.getter(name="shutdownWaitTimeout")
1148
1089
  def shutdown_wait_timeout(self) -> Optional[pulumi.Input[int]]:
1149
1090
  """
1150
- 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.
1151
1092
  """
1152
1093
  return pulumi.get(self, "shutdown_wait_timeout")
1153
1094
 
@@ -1159,7 +1100,7 @@ class VirtualMachineArgs:
1159
1100
  @pulumi.getter(name="storagePolicyId")
1160
1101
  def storage_policy_id(self) -> Optional[pulumi.Input[str]]:
1161
1102
  """
1162
- 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.
1163
1104
  """
1164
1105
  return pulumi.get(self, "storage_policy_id")
1165
1106
 
@@ -1171,7 +1112,7 @@ class VirtualMachineArgs:
1171
1112
  @pulumi.getter(name="swapPlacementPolicy")
1172
1113
  def swap_placement_policy(self) -> Optional[pulumi.Input[str]]:
1173
1114
  """
1174
- 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.
1175
1116
  """
1176
1117
  return pulumi.get(self, "swap_placement_policy")
1177
1118
 
@@ -1183,7 +1124,8 @@ class VirtualMachineArgs:
1183
1124
  @pulumi.getter(name="syncTimeWithHost")
1184
1125
  def sync_time_with_host(self) -> Optional[pulumi.Input[bool]]:
1185
1126
  """
1186
- 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: `true`.
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.
1187
1129
  """
1188
1130
  return pulumi.get(self, "sync_time_with_host")
1189
1131
 
@@ -1195,7 +1137,8 @@ class VirtualMachineArgs:
1195
1137
  @pulumi.getter(name="syncTimeWithHostPeriodically")
1196
1138
  def sync_time_with_host_periodically(self) -> Optional[pulumi.Input[bool]]:
1197
1139
  """
1198
- 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.
1199
1142
  """
1200
1143
  return pulumi.get(self, "sync_time_with_host_periodically")
1201
1144
 
@@ -1207,9 +1150,7 @@ class VirtualMachineArgs:
1207
1150
  @pulumi.getter
1208
1151
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1209
1152
  """
1210
- 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.
1211
-
1212
- > **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.
1213
1154
  """
1214
1155
  return pulumi.get(self, "tags")
1215
1156
 
@@ -1221,7 +1162,7 @@ class VirtualMachineArgs:
1221
1162
  @pulumi.getter(name="toolsUpgradePolicy")
1222
1163
  def tools_upgrade_policy(self) -> Optional[pulumi.Input[str]]:
1223
1164
  """
1224
- 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`.
1225
1166
  """
1226
1167
  return pulumi.get(self, "tools_upgrade_policy")
1227
1168
 
@@ -1233,7 +1174,7 @@ class VirtualMachineArgs:
1233
1174
  @pulumi.getter
1234
1175
  def vapp(self) -> Optional[pulumi.Input['VirtualMachineVappArgs']]:
1235
1176
  """
1236
- 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.
1237
1178
  """
1238
1179
  return pulumi.get(self, "vapp")
1239
1180
 
@@ -1245,7 +1186,7 @@ class VirtualMachineArgs:
1245
1186
  @pulumi.getter(name="vbsEnabled")
1246
1187
  def vbs_enabled(self) -> Optional[pulumi.Input[bool]]:
1247
1188
  """
1248
- 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.
1249
1190
  """
1250
1191
  return pulumi.get(self, "vbs_enabled")
1251
1192
 
@@ -1253,11 +1194,24 @@ class VirtualMachineArgs:
1253
1194
  def vbs_enabled(self, value: Optional[pulumi.Input[bool]]):
1254
1195
  pulumi.set(self, "vbs_enabled", value)
1255
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
+
1256
1209
  @property
1257
1210
  @pulumi.getter(name="vvtdEnabled")
1258
1211
  def vvtd_enabled(self) -> Optional[pulumi.Input[bool]]:
1259
1212
  """
1260
- 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.
1261
1215
  """
1262
1216
  return pulumi.get(self, "vvtd_enabled")
1263
1217
 
@@ -1269,7 +1223,8 @@ class VirtualMachineArgs:
1269
1223
  @pulumi.getter(name="waitForGuestIpTimeout")
1270
1224
  def wait_for_guest_ip_timeout(self) -> Optional[pulumi.Input[int]]:
1271
1225
  """
1272
- 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.
1273
1228
  """
1274
1229
  return pulumi.get(self, "wait_for_guest_ip_timeout")
1275
1230
 
@@ -1281,7 +1236,8 @@ class VirtualMachineArgs:
1281
1236
  @pulumi.getter(name="waitForGuestNetRoutable")
1282
1237
  def wait_for_guest_net_routable(self) -> Optional[pulumi.Input[bool]]:
1283
1238
  """
1284
- 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.
1285
1241
  """
1286
1242
  return pulumi.get(self, "wait_for_guest_net_routable")
1287
1243
 
@@ -1293,7 +1249,8 @@ class VirtualMachineArgs:
1293
1249
  @pulumi.getter(name="waitForGuestNetTimeout")
1294
1250
  def wait_for_guest_net_timeout(self) -> Optional[pulumi.Input[int]]:
1295
1251
  """
1296
- 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.
1297
1254
  """
1298
1255
  return pulumi.get(self, "wait_for_guest_net_timeout")
1299
1256
 
@@ -1387,139 +1344,111 @@ class _VirtualMachineState:
1387
1344
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
1388
1345
  vmware_tools_status: Optional[pulumi.Input[str]] = None,
1389
1346
  vmx_path: Optional[pulumi.Input[str]] = None,
1347
+ vtpm: Optional[pulumi.Input['VirtualMachineVtpmArgs']] = None,
1390
1348
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
1391
1349
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
1392
1350
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
1393
1351
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None):
1394
1352
  """
1395
1353
  Input properties used for looking up and filtering VirtualMachine resources.
1396
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
1397
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
1398
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
1399
- :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).
1400
- :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`.
1401
- :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.
1402
1360
  :param pulumi.Input[str] change_version: A unique identifier for a given version of the last configuration was applied.
1403
- :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.
1404
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
1405
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
1406
- :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.
1407
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
1408
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
1409
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
1410
- :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`.
1411
- :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.
1412
-
1413
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
1414
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
1415
- :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.
1416
-
1417
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
1418
-
1419
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
1420
-
1421
- > **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.
1422
- :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.
1423
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.
1424
- :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.
1425
- :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`.
1426
-
1427
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
1428
- :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`.
1429
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
1430
- :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`.
1431
- :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.
1432
-
1433
- > **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.
1434
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
1435
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
1436
- :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`
1437
- :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`.
1438
- :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`.
1439
-
1440
- [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.
1441
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.
1442
- :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.
1443
-
1444
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
1445
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
1446
- :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.
1447
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
1448
- :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`.
1449
- :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
1450
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.
1451
- :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`.
1452
-
1453
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
1454
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
1455
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
1456
-
1457
- > **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.
1458
-
1459
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
1460
-
1461
- > **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].
1462
-
1463
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
1464
- :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.
1465
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
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.
1466
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
1467
1403
  size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
1468
1404
  may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
1469
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
1470
- :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`.
1471
- :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.
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.
1472
1408
  :param pulumi.Input[str] moid: The managed object reference ID of the created virtual machine.
1473
- :param pulumi.Input[str] name: The name of the virtual machine.
1474
- :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`.
1475
- :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.
1476
- :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`.
1477
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
1478
- :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.
1479
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
1480
-
1481
- > **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
1482
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`.
1483
1418
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
1484
- :param pulumi.Input[bool] reboot_required: Value internal to Terraform used to determine if a configuration set change requires a reboot.
1485
1419
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
1486
-
1487
- 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.)
1488
- :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.
1489
-
1490
- > **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.
1491
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
1492
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
1493
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
1494
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
1495
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
1496
- :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
1497
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1498
- controllers.
1499
- :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`.
1500
- :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
1501
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
1502
- controllers.
1503
- :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`.
1504
- :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.
1505
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
1506
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
1507
- :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: `true`.
1508
- :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`.
1509
- :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.
1510
-
1511
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
1512
- :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`.
1513
- :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.
1514
- :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.
1515
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.
1516
- :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.
1517
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.
1518
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.
1519
- :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`.
1520
- :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`.
1521
- :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`.
1522
- :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.
1523
1452
  """
1524
1453
  if alternate_guest_name is not None:
1525
1454
  pulumi.set(__self__, "alternate_guest_name", alternate_guest_name)
@@ -1685,6 +1614,8 @@ class _VirtualMachineState:
1685
1614
  pulumi.set(__self__, "vmware_tools_status", vmware_tools_status)
1686
1615
  if vmx_path is not None:
1687
1616
  pulumi.set(__self__, "vmx_path", vmx_path)
1617
+ if vtpm is not None:
1618
+ pulumi.set(__self__, "vtpm", vtpm)
1688
1619
  if vvtd_enabled is not None:
1689
1620
  pulumi.set(__self__, "vvtd_enabled", vvtd_enabled)
1690
1621
  if wait_for_guest_ip_timeout is not None:
@@ -1698,7 +1629,7 @@ class _VirtualMachineState:
1698
1629
  @pulumi.getter(name="alternateGuestName")
1699
1630
  def alternate_guest_name(self) -> Optional[pulumi.Input[str]]:
1700
1631
  """
1701
- 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.
1702
1633
  """
1703
1634
  return pulumi.get(self, "alternate_guest_name")
1704
1635
 
@@ -1710,7 +1641,7 @@ class _VirtualMachineState:
1710
1641
  @pulumi.getter
1711
1642
  def annotation(self) -> Optional[pulumi.Input[str]]:
1712
1643
  """
1713
- A user-provided description of the virtual machine.
1644
+ User-provided description of the virtual machine.
1714
1645
  """
1715
1646
  return pulumi.get(self, "annotation")
1716
1647
 
@@ -1722,7 +1653,7 @@ class _VirtualMachineState:
1722
1653
  @pulumi.getter(name="bootDelay")
1723
1654
  def boot_delay(self) -> Optional[pulumi.Input[int]]:
1724
1655
  """
1725
- 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.
1726
1657
  """
1727
1658
  return pulumi.get(self, "boot_delay")
1728
1659
 
@@ -1734,7 +1665,7 @@ class _VirtualMachineState:
1734
1665
  @pulumi.getter(name="bootRetryDelay")
1735
1666
  def boot_retry_delay(self) -> Optional[pulumi.Input[int]]:
1736
1667
  """
1737
- 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.
1738
1669
  """
1739
1670
  return pulumi.get(self, "boot_retry_delay")
1740
1671
 
@@ -1746,7 +1677,7 @@ class _VirtualMachineState:
1746
1677
  @pulumi.getter(name="bootRetryEnabled")
1747
1678
  def boot_retry_enabled(self) -> Optional[pulumi.Input[bool]]:
1748
1679
  """
1749
- 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.
1750
1681
  """
1751
1682
  return pulumi.get(self, "boot_retry_enabled")
1752
1683
 
@@ -1758,7 +1689,7 @@ class _VirtualMachineState:
1758
1689
  @pulumi.getter
1759
1690
  def cdroms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]]]:
1760
1691
  """
1761
- 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.
1762
1693
  """
1763
1694
  return pulumi.get(self, "cdroms")
1764
1695
 
@@ -1782,7 +1713,7 @@ class _VirtualMachineState:
1782
1713
  @pulumi.getter
1783
1714
  def clone(self) -> Optional[pulumi.Input['VirtualMachineCloneArgs']]:
1784
1715
  """
1785
- 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.
1786
1717
  """
1787
1718
  return pulumi.get(self, "clone")
1788
1719
 
@@ -1794,7 +1725,7 @@ class _VirtualMachineState:
1794
1725
  @pulumi.getter(name="cpuHotAddEnabled")
1795
1726
  def cpu_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
1796
1727
  """
1797
- 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.
1798
1729
  """
1799
1730
  return pulumi.get(self, "cpu_hot_add_enabled")
1800
1731
 
@@ -1806,7 +1737,7 @@ class _VirtualMachineState:
1806
1737
  @pulumi.getter(name="cpuHotRemoveEnabled")
1807
1738
  def cpu_hot_remove_enabled(self) -> Optional[pulumi.Input[bool]]:
1808
1739
  """
1809
- 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.
1810
1741
  """
1811
1742
  return pulumi.get(self, "cpu_hot_remove_enabled")
1812
1743
 
@@ -1818,7 +1749,8 @@ class _VirtualMachineState:
1818
1749
  @pulumi.getter(name="cpuLimit")
1819
1750
  def cpu_limit(self) -> Optional[pulumi.Input[int]]:
1820
1751
  """
1821
- 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.
1822
1754
  """
1823
1755
  return pulumi.get(self, "cpu_limit")
1824
1756
 
@@ -1830,7 +1762,7 @@ class _VirtualMachineState:
1830
1762
  @pulumi.getter(name="cpuPerformanceCountersEnabled")
1831
1763
  def cpu_performance_counters_enabled(self) -> Optional[pulumi.Input[bool]]:
1832
1764
  """
1833
- Enable CPU performance counters on the virtual machine. Default: `false`.
1765
+ Enable CPU performance counters on this virtual machine.
1834
1766
  """
1835
1767
  return pulumi.get(self, "cpu_performance_counters_enabled")
1836
1768
 
@@ -1842,7 +1774,7 @@ class _VirtualMachineState:
1842
1774
  @pulumi.getter(name="cpuReservation")
1843
1775
  def cpu_reservation(self) -> Optional[pulumi.Input[int]]:
1844
1776
  """
1845
- 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.
1846
1778
  """
1847
1779
  return pulumi.get(self, "cpu_reservation")
1848
1780
 
@@ -1854,7 +1786,7 @@ class _VirtualMachineState:
1854
1786
  @pulumi.getter(name="cpuShareCount")
1855
1787
  def cpu_share_count(self) -> Optional[pulumi.Input[int]]:
1856
1788
  """
1857
- 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.
1858
1790
  """
1859
1791
  return pulumi.get(self, "cpu_share_count")
1860
1792
 
@@ -1866,7 +1798,7 @@ class _VirtualMachineState:
1866
1798
  @pulumi.getter(name="cpuShareLevel")
1867
1799
  def cpu_share_level(self) -> Optional[pulumi.Input[str]]:
1868
1800
  """
1869
- 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.
1870
1802
  """
1871
1803
  return pulumi.get(self, "cpu_share_level")
1872
1804
 
@@ -1878,9 +1810,7 @@ class _VirtualMachineState:
1878
1810
  @pulumi.getter(name="customAttributes")
1879
1811
  def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
1880
1812
  """
1881
- 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.
1882
-
1883
- > **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.
1884
1814
  """
1885
1815
  return pulumi.get(self, "custom_attributes")
1886
1816
 
@@ -1892,7 +1822,7 @@ class _VirtualMachineState:
1892
1822
  @pulumi.getter(name="datacenterId")
1893
1823
  def datacenter_id(self) -> Optional[pulumi.Input[str]]:
1894
1824
  """
1895
- The datacenter ID. Required only when deploying an OVF/OVA template.
1825
+ The ID of the datacenter where the VM is to be created.
1896
1826
  """
1897
1827
  return pulumi.get(self, "datacenter_id")
1898
1828
 
@@ -1904,13 +1834,7 @@ class _VirtualMachineState:
1904
1834
  @pulumi.getter(name="datastoreClusterId")
1905
1835
  def datastore_cluster_id(self) -> Optional[pulumi.Input[str]]:
1906
1836
  """
1907
- 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.
1908
-
1909
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
1910
-
1911
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
1912
-
1913
- > **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.
1914
1838
  """
1915
1839
  return pulumi.get(self, "datastore_cluster_id")
1916
1840
 
@@ -1922,7 +1846,8 @@ class _VirtualMachineState:
1922
1846
  @pulumi.getter(name="datastoreId")
1923
1847
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
1924
1848
  """
1925
- 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.
1926
1851
  """
1927
1852
  return pulumi.get(self, "datastore_id")
1928
1853
 
@@ -1946,7 +1871,7 @@ class _VirtualMachineState:
1946
1871
  @pulumi.getter
1947
1872
  def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]]]:
1948
1873
  """
1949
- 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.
1950
1875
  """
1951
1876
  return pulumi.get(self, "disks")
1952
1877
 
@@ -1958,9 +1883,7 @@ class _VirtualMachineState:
1958
1883
  @pulumi.getter(name="efiSecureBootEnabled")
1959
1884
  def efi_secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]:
1960
1885
  """
1961
- Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
1962
-
1963
- > **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.
1964
1887
  """
1965
1888
  return pulumi.get(self, "efi_secure_boot_enabled")
1966
1889
 
@@ -1972,7 +1895,7 @@ class _VirtualMachineState:
1972
1895
  @pulumi.getter(name="enableDiskUuid")
1973
1896
  def enable_disk_uuid(self) -> Optional[pulumi.Input[bool]]:
1974
1897
  """
1975
- 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.
1976
1899
  """
1977
1900
  return pulumi.get(self, "enable_disk_uuid")
1978
1901
 
@@ -1984,7 +1907,7 @@ class _VirtualMachineState:
1984
1907
  @pulumi.getter(name="enableLogging")
1985
1908
  def enable_logging(self) -> Optional[pulumi.Input[bool]]:
1986
1909
  """
1987
- 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.
1988
1911
  """
1989
1912
  return pulumi.get(self, "enable_logging")
1990
1913
 
@@ -1996,7 +1919,7 @@ class _VirtualMachineState:
1996
1919
  @pulumi.getter(name="eptRviMode")
1997
1920
  def ept_rvi_mode(self) -> Optional[pulumi.Input[str]]:
1998
1921
  """
1999
- 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.
2000
1923
  """
2001
1924
  return pulumi.get(self, "ept_rvi_mode")
2002
1925
 
@@ -2008,9 +1931,8 @@ class _VirtualMachineState:
2008
1931
  @pulumi.getter(name="extraConfig")
2009
1932
  def extra_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
2010
1933
  """
2011
- Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
2012
-
2013
- > **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.
2014
1936
  """
2015
1937
  return pulumi.get(self, "extra_config")
2016
1938
 
@@ -2022,7 +1944,7 @@ class _VirtualMachineState:
2022
1944
  @pulumi.getter(name="extraConfigRebootRequired")
2023
1945
  def extra_config_reboot_required(self) -> Optional[pulumi.Input[bool]]:
2024
1946
  """
2025
- 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.
2026
1948
  """
2027
1949
  return pulumi.get(self, "extra_config_reboot_required")
2028
1950
 
@@ -2034,7 +1956,7 @@ class _VirtualMachineState:
2034
1956
  @pulumi.getter
2035
1957
  def firmware(self) -> Optional[pulumi.Input[str]]:
2036
1958
  """
2037
- 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.
2038
1960
  """
2039
1961
  return pulumi.get(self, "firmware")
2040
1962
 
@@ -2046,7 +1968,7 @@ class _VirtualMachineState:
2046
1968
  @pulumi.getter
2047
1969
  def folder(self) -> Optional[pulumi.Input[str]]:
2048
1970
  """
2049
- 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.
2050
1972
  """
2051
1973
  return pulumi.get(self, "folder")
2052
1974
 
@@ -2058,7 +1980,7 @@ class _VirtualMachineState:
2058
1980
  @pulumi.getter(name="forcePowerOff")
2059
1981
  def force_power_off(self) -> Optional[pulumi.Input[bool]]:
2060
1982
  """
2061
- 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.
2062
1984
  """
2063
1985
  return pulumi.get(self, "force_power_off")
2064
1986
 
@@ -2070,9 +1992,7 @@ class _VirtualMachineState:
2070
1992
  @pulumi.getter(name="guestId")
2071
1993
  def guest_id(self) -> Optional[pulumi.Input[str]]:
2072
1994
  """
2073
- The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
2074
-
2075
- [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.
2076
1996
  """
2077
1997
  return pulumi.get(self, "guest_id")
2078
1998
 
@@ -2096,10 +2016,7 @@ class _VirtualMachineState:
2096
2016
  @pulumi.getter(name="hardwareVersion")
2097
2017
  def hardware_version(self) -> Optional[pulumi.Input[int]]:
2098
2018
  """
2099
- 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.
2100
-
2101
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
2102
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
2019
+ The hardware version for the virtual machine.
2103
2020
  """
2104
2021
  return pulumi.get(self, "hardware_version")
2105
2022
 
@@ -2111,7 +2028,7 @@ class _VirtualMachineState:
2111
2028
  @pulumi.getter(name="hostSystemId")
2112
2029
  def host_system_id(self) -> Optional[pulumi.Input[str]]:
2113
2030
  """
2114
- 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.
2115
2032
  """
2116
2033
  return pulumi.get(self, "host_system_id")
2117
2034
 
@@ -2123,7 +2040,7 @@ class _VirtualMachineState:
2123
2040
  @pulumi.getter(name="hvMode")
2124
2041
  def hv_mode(self) -> Optional[pulumi.Input[str]]:
2125
2042
  """
2126
- 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.
2127
2044
  """
2128
2045
  return pulumi.get(self, "hv_mode")
2129
2046
 
@@ -2134,9 +2051,6 @@ class _VirtualMachineState:
2134
2051
  @property
2135
2052
  @pulumi.getter(name="ideControllerCount")
2136
2053
  def ide_controller_count(self) -> Optional[pulumi.Input[int]]:
2137
- """
2138
- 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`.
2139
- """
2140
2054
  return pulumi.get(self, "ide_controller_count")
2141
2055
 
2142
2056
  @ide_controller_count.setter
@@ -2147,7 +2061,7 @@ class _VirtualMachineState:
2147
2061
  @pulumi.getter(name="ignoredGuestIps")
2148
2062
  def ignored_guest_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2149
2063
  """
2150
- 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
2151
2065
  """
2152
2066
  return pulumi.get(self, "ignored_guest_ips")
2153
2067
 
@@ -2171,9 +2085,9 @@ class _VirtualMachineState:
2171
2085
  @pulumi.getter(name="latencySensitivity")
2172
2086
  def latency_sensitivity(self) -> Optional[pulumi.Input[str]]:
2173
2087
  """
2174
- 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`.
2175
-
2176
- > **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.
2177
2091
  """
2178
2092
  return pulumi.get(self, "latency_sensitivity")
2179
2093
 
@@ -2185,7 +2099,7 @@ class _VirtualMachineState:
2185
2099
  @pulumi.getter
2186
2100
  def memory(self) -> Optional[pulumi.Input[int]]:
2187
2101
  """
2188
- 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.
2189
2103
  """
2190
2104
  return pulumi.get(self, "memory")
2191
2105
 
@@ -2197,15 +2111,7 @@ class _VirtualMachineState:
2197
2111
  @pulumi.getter(name="memoryHotAddEnabled")
2198
2112
  def memory_hot_add_enabled(self) -> Optional[pulumi.Input[bool]]:
2199
2113
  """
2200
- Allow memory to be added to the virtual machine while it is powered on.
2201
-
2202
- > **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.
2203
-
2204
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
2205
-
2206
- > **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].
2207
-
2208
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
2114
+ Allow memory to be added to this virtual machine while it is running.
2209
2115
  """
2210
2116
  return pulumi.get(self, "memory_hot_add_enabled")
2211
2117
 
@@ -2217,7 +2123,8 @@ class _VirtualMachineState:
2217
2123
  @pulumi.getter(name="memoryLimit")
2218
2124
  def memory_limit(self) -> Optional[pulumi.Input[int]]:
2219
2125
  """
2220
- 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.
2221
2128
  """
2222
2129
  return pulumi.get(self, "memory_limit")
2223
2130
 
@@ -2229,7 +2136,7 @@ class _VirtualMachineState:
2229
2136
  @pulumi.getter(name="memoryReservation")
2230
2137
  def memory_reservation(self) -> Optional[pulumi.Input[int]]:
2231
2138
  """
2232
- 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.
2233
2140
  """
2234
2141
  return pulumi.get(self, "memory_reservation")
2235
2142
 
@@ -2255,7 +2162,7 @@ class _VirtualMachineState:
2255
2162
  @pulumi.getter(name="memoryShareCount")
2256
2163
  def memory_share_count(self) -> Optional[pulumi.Input[int]]:
2257
2164
  """
2258
- 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.
2259
2166
  """
2260
2167
  return pulumi.get(self, "memory_share_count")
2261
2168
 
@@ -2267,7 +2174,7 @@ class _VirtualMachineState:
2267
2174
  @pulumi.getter(name="memoryShareLevel")
2268
2175
  def memory_share_level(self) -> Optional[pulumi.Input[str]]:
2269
2176
  """
2270
- 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.
2271
2178
  """
2272
2179
  return pulumi.get(self, "memory_share_level")
2273
2180
 
@@ -2279,7 +2186,7 @@ class _VirtualMachineState:
2279
2186
  @pulumi.getter(name="migrateWaitTimeout")
2280
2187
  def migrate_wait_timeout(self) -> Optional[pulumi.Input[int]]:
2281
2188
  """
2282
- 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.
2283
2190
  """
2284
2191
  return pulumi.get(self, "migrate_wait_timeout")
2285
2192
 
@@ -2303,7 +2210,7 @@ class _VirtualMachineState:
2303
2210
  @pulumi.getter
2304
2211
  def name(self) -> Optional[pulumi.Input[str]]:
2305
2212
  """
2306
- The name of the virtual machine.
2213
+ The name of this virtual machine.
2307
2214
  """
2308
2215
  return pulumi.get(self, "name")
2309
2216
 
@@ -2315,7 +2222,7 @@ class _VirtualMachineState:
2315
2222
  @pulumi.getter(name="nestedHvEnabled")
2316
2223
  def nested_hv_enabled(self) -> Optional[pulumi.Input[bool]]:
2317
2224
  """
2318
- 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.
2319
2226
  """
2320
2227
  return pulumi.get(self, "nested_hv_enabled")
2321
2228
 
@@ -2327,7 +2234,7 @@ class _VirtualMachineState:
2327
2234
  @pulumi.getter(name="networkInterfaces")
2328
2235
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]]]:
2329
2236
  """
2330
- 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.
2331
2238
  """
2332
2239
  return pulumi.get(self, "network_interfaces")
2333
2240
 
@@ -2339,7 +2246,8 @@ class _VirtualMachineState:
2339
2246
  @pulumi.getter(name="numCoresPerSocket")
2340
2247
  def num_cores_per_socket(self) -> Optional[pulumi.Input[int]]:
2341
2248
  """
2342
- 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.
2343
2251
  """
2344
2252
  return pulumi.get(self, "num_cores_per_socket")
2345
2253
 
@@ -2351,7 +2259,7 @@ class _VirtualMachineState:
2351
2259
  @pulumi.getter(name="numCpus")
2352
2260
  def num_cpus(self) -> Optional[pulumi.Input[int]]:
2353
2261
  """
2354
- 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.
2355
2263
  """
2356
2264
  return pulumi.get(self, "num_cpus")
2357
2265
 
@@ -2363,7 +2271,7 @@ class _VirtualMachineState:
2363
2271
  @pulumi.getter(name="ovfDeploy")
2364
2272
  def ovf_deploy(self) -> Optional[pulumi.Input['VirtualMachineOvfDeployArgs']]:
2365
2273
  """
2366
- 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.
2367
2275
  """
2368
2276
  return pulumi.get(self, "ovf_deploy")
2369
2277
 
@@ -2375,9 +2283,7 @@ class _VirtualMachineState:
2375
2283
  @pulumi.getter(name="pciDeviceIds")
2376
2284
  def pci_device_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2377
2285
  """
2378
- List of host PCI device IDs in which to create PCI passthroughs.
2379
-
2380
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
2286
+ A list of PCI passthrough devices
2381
2287
  """
2382
2288
  return pulumi.get(self, "pci_device_ids")
2383
2289
 
@@ -2412,9 +2318,6 @@ class _VirtualMachineState:
2412
2318
  @property
2413
2319
  @pulumi.getter(name="rebootRequired")
2414
2320
  def reboot_required(self) -> Optional[pulumi.Input[bool]]:
2415
- """
2416
- Value internal to Terraform used to determine if a configuration set change requires a reboot.
2417
- """
2418
2321
  return pulumi.get(self, "reboot_required")
2419
2322
 
2420
2323
  @reboot_required.setter
@@ -2426,8 +2329,6 @@ class _VirtualMachineState:
2426
2329
  def replace_trigger(self) -> Optional[pulumi.Input[str]]:
2427
2330
  """
2428
2331
  Triggers replacement of resource whenever it changes.
2429
-
2430
- 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.)
2431
2332
  """
2432
2333
  return pulumi.get(self, "replace_trigger")
2433
2334
 
@@ -2439,9 +2340,7 @@ class _VirtualMachineState:
2439
2340
  @pulumi.getter(name="resourcePoolId")
2440
2341
  def resource_pool_id(self) -> Optional[pulumi.Input[str]]:
2441
2342
  """
2442
- 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.
2443
-
2444
- > **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.
2445
2344
  """
2446
2345
  return pulumi.get(self, "resource_pool_id")
2447
2346
 
@@ -2453,7 +2352,7 @@ class _VirtualMachineState:
2453
2352
  @pulumi.getter(name="runToolsScriptsAfterPowerOn")
2454
2353
  def run_tools_scripts_after_power_on(self) -> Optional[pulumi.Input[bool]]:
2455
2354
  """
2456
- 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.
2457
2356
  """
2458
2357
  return pulumi.get(self, "run_tools_scripts_after_power_on")
2459
2358
 
@@ -2465,7 +2364,7 @@ class _VirtualMachineState:
2465
2364
  @pulumi.getter(name="runToolsScriptsAfterResume")
2466
2365
  def run_tools_scripts_after_resume(self) -> Optional[pulumi.Input[bool]]:
2467
2366
  """
2468
- 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.
2469
2368
  """
2470
2369
  return pulumi.get(self, "run_tools_scripts_after_resume")
2471
2370
 
@@ -2477,7 +2376,7 @@ class _VirtualMachineState:
2477
2376
  @pulumi.getter(name="runToolsScriptsBeforeGuestReboot")
2478
2377
  def run_tools_scripts_before_guest_reboot(self) -> Optional[pulumi.Input[bool]]:
2479
2378
  """
2480
- 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.
2481
2380
  """
2482
2381
  return pulumi.get(self, "run_tools_scripts_before_guest_reboot")
2483
2382
 
@@ -2489,7 +2388,7 @@ class _VirtualMachineState:
2489
2388
  @pulumi.getter(name="runToolsScriptsBeforeGuestShutdown")
2490
2389
  def run_tools_scripts_before_guest_shutdown(self) -> Optional[pulumi.Input[bool]]:
2491
2390
  """
2492
- 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.
2493
2392
  """
2494
2393
  return pulumi.get(self, "run_tools_scripts_before_guest_shutdown")
2495
2394
 
@@ -2501,7 +2400,7 @@ class _VirtualMachineState:
2501
2400
  @pulumi.getter(name="runToolsScriptsBeforeGuestStandby")
2502
2401
  def run_tools_scripts_before_guest_standby(self) -> Optional[pulumi.Input[bool]]:
2503
2402
  """
2504
- 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.
2505
2404
  """
2506
2405
  return pulumi.get(self, "run_tools_scripts_before_guest_standby")
2507
2406
 
@@ -2512,11 +2411,6 @@ class _VirtualMachineState:
2512
2411
  @property
2513
2412
  @pulumi.getter(name="sataControllerCount")
2514
2413
  def sata_controller_count(self) -> Optional[pulumi.Input[int]]:
2515
- """
2516
- The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
2517
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2518
- controllers.
2519
- """
2520
2414
  return pulumi.get(self, "sata_controller_count")
2521
2415
 
2522
2416
  @sata_controller_count.setter
@@ -2527,7 +2421,7 @@ class _VirtualMachineState:
2527
2421
  @pulumi.getter(name="scsiBusSharing")
2528
2422
  def scsi_bus_sharing(self) -> Optional[pulumi.Input[str]]:
2529
2423
  """
2530
- 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.
2531
2425
  """
2532
2426
  return pulumi.get(self, "scsi_bus_sharing")
2533
2427
 
@@ -2538,11 +2432,6 @@ class _VirtualMachineState:
2538
2432
  @property
2539
2433
  @pulumi.getter(name="scsiControllerCount")
2540
2434
  def scsi_controller_count(self) -> Optional[pulumi.Input[int]]:
2541
- """
2542
- The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
2543
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2544
- controllers.
2545
- """
2546
2435
  return pulumi.get(self, "scsi_controller_count")
2547
2436
 
2548
2437
  @scsi_controller_count.setter
@@ -2553,7 +2442,7 @@ class _VirtualMachineState:
2553
2442
  @pulumi.getter(name="scsiType")
2554
2443
  def scsi_type(self) -> Optional[pulumi.Input[str]]:
2555
2444
  """
2556
- 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.
2557
2446
  """
2558
2447
  return pulumi.get(self, "scsi_type")
2559
2448
 
@@ -2565,7 +2454,7 @@ class _VirtualMachineState:
2565
2454
  @pulumi.getter(name="shutdownWaitTimeout")
2566
2455
  def shutdown_wait_timeout(self) -> Optional[pulumi.Input[int]]:
2567
2456
  """
2568
- 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.
2569
2458
  """
2570
2459
  return pulumi.get(self, "shutdown_wait_timeout")
2571
2460
 
@@ -2577,7 +2466,7 @@ class _VirtualMachineState:
2577
2466
  @pulumi.getter(name="storagePolicyId")
2578
2467
  def storage_policy_id(self) -> Optional[pulumi.Input[str]]:
2579
2468
  """
2580
- 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.
2581
2470
  """
2582
2471
  return pulumi.get(self, "storage_policy_id")
2583
2472
 
@@ -2589,7 +2478,7 @@ class _VirtualMachineState:
2589
2478
  @pulumi.getter(name="swapPlacementPolicy")
2590
2479
  def swap_placement_policy(self) -> Optional[pulumi.Input[str]]:
2591
2480
  """
2592
- 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.
2593
2482
  """
2594
2483
  return pulumi.get(self, "swap_placement_policy")
2595
2484
 
@@ -2601,7 +2490,8 @@ class _VirtualMachineState:
2601
2490
  @pulumi.getter(name="syncTimeWithHost")
2602
2491
  def sync_time_with_host(self) -> Optional[pulumi.Input[bool]]:
2603
2492
  """
2604
- 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: `true`.
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.
2605
2495
  """
2606
2496
  return pulumi.get(self, "sync_time_with_host")
2607
2497
 
@@ -2613,7 +2503,8 @@ class _VirtualMachineState:
2613
2503
  @pulumi.getter(name="syncTimeWithHostPeriodically")
2614
2504
  def sync_time_with_host_periodically(self) -> Optional[pulumi.Input[bool]]:
2615
2505
  """
2616
- 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.
2617
2508
  """
2618
2509
  return pulumi.get(self, "sync_time_with_host_periodically")
2619
2510
 
@@ -2625,9 +2516,7 @@ class _VirtualMachineState:
2625
2516
  @pulumi.getter
2626
2517
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2627
2518
  """
2628
- 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.
2629
-
2630
- > **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.
2631
2520
  """
2632
2521
  return pulumi.get(self, "tags")
2633
2522
 
@@ -2639,7 +2528,7 @@ class _VirtualMachineState:
2639
2528
  @pulumi.getter(name="toolsUpgradePolicy")
2640
2529
  def tools_upgrade_policy(self) -> Optional[pulumi.Input[str]]:
2641
2530
  """
2642
- 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`.
2643
2532
  """
2644
2533
  return pulumi.get(self, "tools_upgrade_policy")
2645
2534
 
@@ -2651,7 +2540,7 @@ class _VirtualMachineState:
2651
2540
  @pulumi.getter
2652
2541
  def uuid(self) -> Optional[pulumi.Input[str]]:
2653
2542
  """
2654
- 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.
2655
2544
  """
2656
2545
  return pulumi.get(self, "uuid")
2657
2546
 
@@ -2663,7 +2552,7 @@ class _VirtualMachineState:
2663
2552
  @pulumi.getter
2664
2553
  def vapp(self) -> Optional[pulumi.Input['VirtualMachineVappArgs']]:
2665
2554
  """
2666
- 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.
2667
2556
  """
2668
2557
  return pulumi.get(self, "vapp")
2669
2558
 
@@ -2687,7 +2576,7 @@ class _VirtualMachineState:
2687
2576
  @pulumi.getter(name="vbsEnabled")
2688
2577
  def vbs_enabled(self) -> Optional[pulumi.Input[bool]]:
2689
2578
  """
2690
- 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.
2691
2580
  """
2692
2581
  return pulumi.get(self, "vbs_enabled")
2693
2582
 
@@ -2719,11 +2608,24 @@ class _VirtualMachineState:
2719
2608
  def vmx_path(self, value: Optional[pulumi.Input[str]]):
2720
2609
  pulumi.set(self, "vmx_path", value)
2721
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
+
2722
2623
  @property
2723
2624
  @pulumi.getter(name="vvtdEnabled")
2724
2625
  def vvtd_enabled(self) -> Optional[pulumi.Input[bool]]:
2725
2626
  """
2726
- 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.
2727
2629
  """
2728
2630
  return pulumi.get(self, "vvtd_enabled")
2729
2631
 
@@ -2735,7 +2637,8 @@ class _VirtualMachineState:
2735
2637
  @pulumi.getter(name="waitForGuestIpTimeout")
2736
2638
  def wait_for_guest_ip_timeout(self) -> Optional[pulumi.Input[int]]:
2737
2639
  """
2738
- 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.
2739
2642
  """
2740
2643
  return pulumi.get(self, "wait_for_guest_ip_timeout")
2741
2644
 
@@ -2747,7 +2650,8 @@ class _VirtualMachineState:
2747
2650
  @pulumi.getter(name="waitForGuestNetRoutable")
2748
2651
  def wait_for_guest_net_routable(self) -> Optional[pulumi.Input[bool]]:
2749
2652
  """
2750
- 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.
2751
2655
  """
2752
2656
  return pulumi.get(self, "wait_for_guest_net_routable")
2753
2657
 
@@ -2759,7 +2663,8 @@ class _VirtualMachineState:
2759
2663
  @pulumi.getter(name="waitForGuestNetTimeout")
2760
2664
  def wait_for_guest_net_timeout(self) -> Optional[pulumi.Input[int]]:
2761
2665
  """
2762
- 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.
2763
2668
  """
2764
2669
  return pulumi.get(self, "wait_for_guest_net_timeout")
2765
2670
 
@@ -2778,8 +2683,8 @@ class VirtualMachine(pulumi.CustomResource):
2778
2683
  boot_delay: Optional[pulumi.Input[int]] = None,
2779
2684
  boot_retry_delay: Optional[pulumi.Input[int]] = None,
2780
2685
  boot_retry_enabled: Optional[pulumi.Input[bool]] = None,
2781
- cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]]] = None,
2782
- 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,
2783
2688
  cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
2784
2689
  cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None,
2785
2690
  cpu_limit: Optional[pulumi.Input[int]] = None,
@@ -2791,7 +2696,7 @@ class VirtualMachine(pulumi.CustomResource):
2791
2696
  datacenter_id: Optional[pulumi.Input[str]] = None,
2792
2697
  datastore_cluster_id: Optional[pulumi.Input[str]] = None,
2793
2698
  datastore_id: Optional[pulumi.Input[str]] = None,
2794
- disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]]] = None,
2699
+ disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]]] = None,
2795
2700
  efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
2796
2701
  enable_disk_uuid: Optional[pulumi.Input[bool]] = None,
2797
2702
  enable_logging: Optional[pulumi.Input[bool]] = None,
@@ -2818,10 +2723,10 @@ class VirtualMachine(pulumi.CustomResource):
2818
2723
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
2819
2724
  name: Optional[pulumi.Input[str]] = None,
2820
2725
  nested_hv_enabled: Optional[pulumi.Input[bool]] = None,
2821
- 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,
2822
2727
  num_cores_per_socket: Optional[pulumi.Input[int]] = None,
2823
2728
  num_cpus: Optional[pulumi.Input[int]] = None,
2824
- ovf_deploy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']]] = None,
2729
+ ovf_deploy: Optional[pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']]] = None,
2825
2730
  pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2826
2731
  poweron_timeout: Optional[pulumi.Input[int]] = None,
2827
2732
  replace_trigger: Optional[pulumi.Input[str]] = None,
@@ -2842,133 +2747,129 @@ class VirtualMachine(pulumi.CustomResource):
2842
2747
  sync_time_with_host_periodically: Optional[pulumi.Input[bool]] = None,
2843
2748
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2844
2749
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
2845
- vapp: Optional[pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']]] = None,
2750
+ vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
2846
2751
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
2752
+ vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
2847
2753
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
2848
2754
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
2849
2755
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
2850
2756
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None,
2851
2757
  __props__=None):
2852
2758
  """
2853
- 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
+
2854
2783
  :param str resource_name: The name of the resource.
2855
2784
  :param pulumi.ResourceOptions opts: Options for the resource.
2856
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
2857
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
2858
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
2859
- :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).
2860
- :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`.
2861
- :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.
2862
- :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.
2863
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
2864
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
2865
- :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.
2866
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
2867
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
2868
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
2869
- :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`.
2870
- :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.
2871
-
2872
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
2873
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
2874
- :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.
2875
-
2876
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
2877
-
2878
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
2879
-
2880
- > **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.
2881
- :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`.
2882
- :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.
2883
- :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`.
2884
-
2885
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
2886
- :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`.
2887
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
2888
- :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`.
2889
- :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.
2890
-
2891
- > **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.
2892
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
2893
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
2894
- :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`
2895
- :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`.
2896
- :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`.
2897
-
2898
- [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
2899
- :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.
2900
-
2901
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
2902
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
2903
- :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.
2904
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
2905
- :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`.
2906
- :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: `[]`.
2907
- :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`.
2908
-
2909
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
2910
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
2911
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
2912
-
2913
- > **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.
2914
-
2915
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
2916
-
2917
- > **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].
2918
-
2919
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
2920
- :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.
2921
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
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.
2922
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
2923
2830
  size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
2924
2831
  may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
2925
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
2926
- :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`.
2927
- :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.
2928
- :param pulumi.Input[str] name: The name of the virtual machine.
2929
- :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`.
2930
- :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.
2931
- :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`.
2932
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
2933
- :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.
2934
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
2935
-
2936
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
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
2937
2843
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
2938
2844
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
2939
-
2940
- 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.)
2941
- :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.
2942
-
2943
- > **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.
2944
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
2945
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
2946
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
2947
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
2948
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
2949
- :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
2950
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2951
- controllers.
2952
- :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`.
2953
- :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
2954
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
2955
- controllers.
2956
- :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`.
2957
- :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.
2958
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
2959
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
2960
- :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: `true`.
2961
- :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`.
2962
- :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.
2963
-
2964
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
2965
- :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`.
2966
- :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.
2967
- :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`.
2968
- :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`.
2969
- :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`.
2970
- :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`.
2971
- :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.
2972
2873
  """
2973
2874
  ...
2974
2875
  @overload
@@ -2977,7 +2878,30 @@ class VirtualMachine(pulumi.CustomResource):
2977
2878
  args: VirtualMachineArgs,
2978
2879
  opts: Optional[pulumi.ResourceOptions] = None):
2979
2880
  """
2980
- 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
+
2981
2905
  :param str resource_name: The name of the resource.
2982
2906
  :param VirtualMachineArgs args: The arguments to use to populate this resource's properties.
2983
2907
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -2998,8 +2922,8 @@ class VirtualMachine(pulumi.CustomResource):
2998
2922
  boot_delay: Optional[pulumi.Input[int]] = None,
2999
2923
  boot_retry_delay: Optional[pulumi.Input[int]] = None,
3000
2924
  boot_retry_enabled: Optional[pulumi.Input[bool]] = None,
3001
- cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]]] = None,
3002
- 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,
3003
2927
  cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
3004
2928
  cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None,
3005
2929
  cpu_limit: Optional[pulumi.Input[int]] = None,
@@ -3011,7 +2935,7 @@ class VirtualMachine(pulumi.CustomResource):
3011
2935
  datacenter_id: Optional[pulumi.Input[str]] = None,
3012
2936
  datastore_cluster_id: Optional[pulumi.Input[str]] = None,
3013
2937
  datastore_id: Optional[pulumi.Input[str]] = None,
3014
- disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]]] = None,
2938
+ disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]]] = None,
3015
2939
  efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
3016
2940
  enable_disk_uuid: Optional[pulumi.Input[bool]] = None,
3017
2941
  enable_logging: Optional[pulumi.Input[bool]] = None,
@@ -3038,10 +2962,10 @@ class VirtualMachine(pulumi.CustomResource):
3038
2962
  migrate_wait_timeout: Optional[pulumi.Input[int]] = None,
3039
2963
  name: Optional[pulumi.Input[str]] = None,
3040
2964
  nested_hv_enabled: Optional[pulumi.Input[bool]] = None,
3041
- 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,
3042
2966
  num_cores_per_socket: Optional[pulumi.Input[int]] = None,
3043
2967
  num_cpus: Optional[pulumi.Input[int]] = None,
3044
- ovf_deploy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']]] = None,
2968
+ ovf_deploy: Optional[pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']]] = None,
3045
2969
  pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3046
2970
  poweron_timeout: Optional[pulumi.Input[int]] = None,
3047
2971
  replace_trigger: Optional[pulumi.Input[str]] = None,
@@ -3062,8 +2986,9 @@ class VirtualMachine(pulumi.CustomResource):
3062
2986
  sync_time_with_host_periodically: Optional[pulumi.Input[bool]] = None,
3063
2987
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3064
2988
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
3065
- vapp: Optional[pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']]] = None,
2989
+ vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
3066
2990
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
2991
+ vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
3067
2992
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
3068
2993
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
3069
2994
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -3150,6 +3075,7 @@ class VirtualMachine(pulumi.CustomResource):
3150
3075
  __props__.__dict__["tools_upgrade_policy"] = tools_upgrade_policy
3151
3076
  __props__.__dict__["vapp"] = vapp
3152
3077
  __props__.__dict__["vbs_enabled"] = vbs_enabled
3078
+ __props__.__dict__["vtpm"] = vtpm
3153
3079
  __props__.__dict__["vvtd_enabled"] = vvtd_enabled
3154
3080
  __props__.__dict__["wait_for_guest_ip_timeout"] = wait_for_guest_ip_timeout
3155
3081
  __props__.__dict__["wait_for_guest_net_routable"] = wait_for_guest_net_routable
@@ -3180,9 +3106,9 @@ class VirtualMachine(pulumi.CustomResource):
3180
3106
  boot_delay: Optional[pulumi.Input[int]] = None,
3181
3107
  boot_retry_delay: Optional[pulumi.Input[int]] = None,
3182
3108
  boot_retry_enabled: Optional[pulumi.Input[bool]] = None,
3183
- cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineCdromArgs']]]]] = None,
3109
+ cdroms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineCdromArgs', 'VirtualMachineCdromArgsDict']]]]] = None,
3184
3110
  change_version: Optional[pulumi.Input[str]] = None,
3185
- clone: Optional[pulumi.Input[pulumi.InputType['VirtualMachineCloneArgs']]] = None,
3111
+ clone: Optional[pulumi.Input[Union['VirtualMachineCloneArgs', 'VirtualMachineCloneArgsDict']]] = None,
3186
3112
  cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None,
3187
3113
  cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None,
3188
3114
  cpu_limit: Optional[pulumi.Input[int]] = None,
@@ -3195,7 +3121,7 @@ class VirtualMachine(pulumi.CustomResource):
3195
3121
  datastore_cluster_id: Optional[pulumi.Input[str]] = None,
3196
3122
  datastore_id: Optional[pulumi.Input[str]] = None,
3197
3123
  default_ip_address: Optional[pulumi.Input[str]] = None,
3198
- disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]]] = None,
3124
+ disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachineDiskArgs', 'VirtualMachineDiskArgsDict']]]]] = None,
3199
3125
  efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
3200
3126
  enable_disk_uuid: Optional[pulumi.Input[bool]] = None,
3201
3127
  enable_logging: Optional[pulumi.Input[bool]] = None,
@@ -3225,10 +3151,10 @@ class VirtualMachine(pulumi.CustomResource):
3225
3151
  moid: Optional[pulumi.Input[str]] = None,
3226
3152
  name: Optional[pulumi.Input[str]] = None,
3227
3153
  nested_hv_enabled: Optional[pulumi.Input[bool]] = None,
3228
- 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,
3229
3155
  num_cores_per_socket: Optional[pulumi.Input[int]] = None,
3230
3156
  num_cpus: Optional[pulumi.Input[int]] = None,
3231
- ovf_deploy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineOvfDeployArgs']]] = None,
3157
+ ovf_deploy: Optional[pulumi.Input[Union['VirtualMachineOvfDeployArgs', 'VirtualMachineOvfDeployArgsDict']]] = None,
3232
3158
  pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3233
3159
  power_state: Optional[pulumi.Input[str]] = None,
3234
3160
  poweron_timeout: Optional[pulumi.Input[int]] = None,
@@ -3252,11 +3178,12 @@ class VirtualMachine(pulumi.CustomResource):
3252
3178
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3253
3179
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
3254
3180
  uuid: Optional[pulumi.Input[str]] = None,
3255
- vapp: Optional[pulumi.Input[pulumi.InputType['VirtualMachineVappArgs']]] = None,
3181
+ vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
3256
3182
  vapp_transports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3257
3183
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
3258
3184
  vmware_tools_status: Optional[pulumi.Input[str]] = None,
3259
3185
  vmx_path: Optional[pulumi.Input[str]] = None,
3186
+ vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
3260
3187
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
3261
3188
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
3262
3189
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -3268,133 +3195,104 @@ class VirtualMachine(pulumi.CustomResource):
3268
3195
  :param str resource_name: The unique name of the resulting resource.
3269
3196
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
3270
3197
  :param pulumi.ResourceOptions opts: Options for the resource.
3271
- :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when `guest_id` is `otherGuest` or `otherGuest64`.
3272
- :param pulumi.Input[str] annotation: A user-provided description of the virtual machine.
3273
- :param pulumi.Input[int] boot_delay: The number of milliseconds to wait before starting the boot sequence. The default is no delay.
3274
- :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).
3275
- :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`.
3276
- :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.
3277
3204
  :param pulumi.Input[str] change_version: A unique identifier for a given version of the last configuration was applied.
3278
- :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.
3279
- :param pulumi.Input[bool] cpu_hot_add_enabled: Allow CPUs to be added to the virtual machine while it is powered on.
3280
- :param pulumi.Input[bool] cpu_hot_remove_enabled: Allow CPUs to be removed to the virtual machine while it is powered on.
3281
- :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.
3282
- :param pulumi.Input[bool] cpu_performance_counters_enabled: Enable CPU performance counters on the virtual machine. Default: `false`.
3283
- :param pulumi.Input[int] cpu_reservation: The amount of CPU (in MHz) that the virtual machine is guaranteed. The default is no reservation.
3284
- :param pulumi.Input[int] cpu_share_count: The number of CPU shares allocated to the virtual machine when the `cpu_share_level` is `custom`.
3285
- :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`.
3286
- :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.
3287
-
3288
- > **NOTE:** Custom attributes requires vCenter Server and is not supported on direct ESXi host connections.
3289
- :param pulumi.Input[str] datacenter_id: The datacenter ID. Required only when deploying an OVF/OVA template.
3290
- :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.
3291
-
3292
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
3293
-
3294
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
3295
-
3296
- > **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.
3297
- :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.
3298
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.
3299
- :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.
3300
- :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`.
3301
-
3302
- > **NOTE:** EFI secure boot is only available on vSphere 6.5 and later.
3303
- :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`.
3304
- :param pulumi.Input[bool] enable_logging: Enable logging of virtual machine events to a log file stored in the virtual machine directory. Default: `false`.
3305
- :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`.
3306
- :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.
3307
-
3308
- > **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.
3309
- :param pulumi.Input[bool] extra_config_reboot_required: Allow the virtual machine to be rebooted when a change to `extra_config` occurs. Default: `true`.
3310
- :param pulumi.Input[str] firmware: The firmware for the virtual machine. One of `bios` or `efi`.
3311
- :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`
3312
- :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`.
3313
- :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`.
3314
-
3315
- [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.
3316
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.
3317
- :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.
3318
-
3319
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
3320
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
3321
- :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.
3322
- :param pulumi.Input[str] hv_mode: The hardware virtualization (non-nested) setting for the virtual machine. One of `hvAuto`, `hvOn`, or `hvOff`. Default: `hvAuto`.
3323
- :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`.
3324
- :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
3325
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.
3326
- :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`.
3327
-
3328
- > **NOTE:** On higher sensitivities, you may need to adjust the `memory_reservation` to the full amount of memory provisioned for the virtual machine.
3329
- :param pulumi.Input[int] memory: The memory size to assign to the virtual machine, in MB. Default: `1024` (1 GB).
3330
- :param pulumi.Input[bool] memory_hot_add_enabled: Allow memory to be added to the virtual machine while it is powered on.
3331
-
3332
- > **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.
3333
-
3334
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
3335
-
3336
- > **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].
3337
-
3338
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
3339
- :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.
3340
- :param pulumi.Input[int] memory_reservation: The amount of memory (in MB) that the virtual machine is guaranteed. The default is no reservation.
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.
3341
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
3342
3247
  size;increases in memory size will be rejected when a corresponding reservation increase is not possible. This feature
3343
3248
  may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
3344
- :param pulumi.Input[int] memory_share_count: The number of memory shares allocated to the virtual machine when the `memory_share_level` is `custom`.
3345
- :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`.
3346
- :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.
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.
3347
3252
  :param pulumi.Input[str] moid: The managed object reference ID of the created virtual machine.
3348
- :param pulumi.Input[str] name: The name of the virtual machine.
3349
- :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`.
3350
- :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.
3351
- :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`.
3352
- :param pulumi.Input[int] num_cpus: The total number of virtual processor cores to assign to the virtual machine. Default: `1`.
3353
- :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.
3354
- :param pulumi.Input[Sequence[pulumi.Input[str]]] pci_device_ids: List of host PCI device IDs in which to create PCI passthroughs.
3355
-
3356
- > **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
3357
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`.
3358
3262
  :param pulumi.Input[int] poweron_timeout: The amount of time, in seconds, that we will be trying to power on a VM
3359
- :param pulumi.Input[bool] reboot_required: Value internal to Terraform used to determine if a configuration set change requires a reboot.
3360
3263
  :param pulumi.Input[str] replace_trigger: Triggers replacement of resource whenever it changes.
3361
-
3362
- 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.)
3363
- :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.
3364
-
3365
- > **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.
3366
- :param pulumi.Input[bool] run_tools_scripts_after_power_on: Enable post-power-on scripts to run when VMware Tools is installed. Default: `true`.
3367
- :param pulumi.Input[bool] run_tools_scripts_after_resume: Enable ost-resume scripts to run when VMware Tools is installed. Default: `true`.
3368
- :param pulumi.Input[bool] run_tools_scripts_before_guest_reboot: Enable pre-reboot scripts to run when VMware Tools is installed. Default: `false`.
3369
- :param pulumi.Input[bool] run_tools_scripts_before_guest_shutdown: Enable pre-shutdown scripts to run when VMware Tools is installed. Default: `true`.
3370
- :param pulumi.Input[bool] run_tools_scripts_before_guest_standby: Enable pre-standby scripts to run when VMware Tools is installed. Default: `true`.
3371
- :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
3372
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
3373
- controllers.
3374
- :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`.
3375
- :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
3376
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
3377
- controllers.
3378
- :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`.
3379
- :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.
3380
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
3381
- :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`.
3382
- :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: `true`.
3383
- :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`.
3384
- :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.
3385
-
3386
- > **NOTE:** Tagging support is unsupported on direct ESXi host connections and requires vCenter Server instance.
3387
- :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`.
3388
- :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.
3389
- :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.
3390
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.
3391
- :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.
3392
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.
3393
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.
3394
- :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`.
3395
- :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`.
3396
- :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`.
3397
- :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.
3398
3296
  """
3399
3297
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
3400
3298
 
@@ -3482,6 +3380,7 @@ class VirtualMachine(pulumi.CustomResource):
3482
3380
  __props__.__dict__["vbs_enabled"] = vbs_enabled
3483
3381
  __props__.__dict__["vmware_tools_status"] = vmware_tools_status
3484
3382
  __props__.__dict__["vmx_path"] = vmx_path
3383
+ __props__.__dict__["vtpm"] = vtpm
3485
3384
  __props__.__dict__["vvtd_enabled"] = vvtd_enabled
3486
3385
  __props__.__dict__["wait_for_guest_ip_timeout"] = wait_for_guest_ip_timeout
3487
3386
  __props__.__dict__["wait_for_guest_net_routable"] = wait_for_guest_net_routable
@@ -3492,7 +3391,7 @@ class VirtualMachine(pulumi.CustomResource):
3492
3391
  @pulumi.getter(name="alternateGuestName")
3493
3392
  def alternate_guest_name(self) -> pulumi.Output[Optional[str]]:
3494
3393
  """
3495
- 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.
3496
3395
  """
3497
3396
  return pulumi.get(self, "alternate_guest_name")
3498
3397
 
@@ -3500,7 +3399,7 @@ class VirtualMachine(pulumi.CustomResource):
3500
3399
  @pulumi.getter
3501
3400
  def annotation(self) -> pulumi.Output[str]:
3502
3401
  """
3503
- A user-provided description of the virtual machine.
3402
+ User-provided description of the virtual machine.
3504
3403
  """
3505
3404
  return pulumi.get(self, "annotation")
3506
3405
 
@@ -3508,7 +3407,7 @@ class VirtualMachine(pulumi.CustomResource):
3508
3407
  @pulumi.getter(name="bootDelay")
3509
3408
  def boot_delay(self) -> pulumi.Output[Optional[int]]:
3510
3409
  """
3511
- 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.
3512
3411
  """
3513
3412
  return pulumi.get(self, "boot_delay")
3514
3413
 
@@ -3516,7 +3415,7 @@ class VirtualMachine(pulumi.CustomResource):
3516
3415
  @pulumi.getter(name="bootRetryDelay")
3517
3416
  def boot_retry_delay(self) -> pulumi.Output[Optional[int]]:
3518
3417
  """
3519
- 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.
3520
3419
  """
3521
3420
  return pulumi.get(self, "boot_retry_delay")
3522
3421
 
@@ -3524,7 +3423,7 @@ class VirtualMachine(pulumi.CustomResource):
3524
3423
  @pulumi.getter(name="bootRetryEnabled")
3525
3424
  def boot_retry_enabled(self) -> pulumi.Output[Optional[bool]]:
3526
3425
  """
3527
- 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.
3528
3427
  """
3529
3428
  return pulumi.get(self, "boot_retry_enabled")
3530
3429
 
@@ -3532,7 +3431,7 @@ class VirtualMachine(pulumi.CustomResource):
3532
3431
  @pulumi.getter
3533
3432
  def cdroms(self) -> pulumi.Output[Optional[Sequence['outputs.VirtualMachineCdrom']]]:
3534
3433
  """
3535
- 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.
3536
3435
  """
3537
3436
  return pulumi.get(self, "cdroms")
3538
3437
 
@@ -3548,7 +3447,7 @@ class VirtualMachine(pulumi.CustomResource):
3548
3447
  @pulumi.getter
3549
3448
  def clone(self) -> pulumi.Output[Optional['outputs.VirtualMachineClone']]:
3550
3449
  """
3551
- 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.
3552
3451
  """
3553
3452
  return pulumi.get(self, "clone")
3554
3453
 
@@ -3556,7 +3455,7 @@ class VirtualMachine(pulumi.CustomResource):
3556
3455
  @pulumi.getter(name="cpuHotAddEnabled")
3557
3456
  def cpu_hot_add_enabled(self) -> pulumi.Output[Optional[bool]]:
3558
3457
  """
3559
- 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.
3560
3459
  """
3561
3460
  return pulumi.get(self, "cpu_hot_add_enabled")
3562
3461
 
@@ -3564,7 +3463,7 @@ class VirtualMachine(pulumi.CustomResource):
3564
3463
  @pulumi.getter(name="cpuHotRemoveEnabled")
3565
3464
  def cpu_hot_remove_enabled(self) -> pulumi.Output[Optional[bool]]:
3566
3465
  """
3567
- 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.
3568
3467
  """
3569
3468
  return pulumi.get(self, "cpu_hot_remove_enabled")
3570
3469
 
@@ -3572,7 +3471,8 @@ class VirtualMachine(pulumi.CustomResource):
3572
3471
  @pulumi.getter(name="cpuLimit")
3573
3472
  def cpu_limit(self) -> pulumi.Output[Optional[int]]:
3574
3473
  """
3575
- 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.
3576
3476
  """
3577
3477
  return pulumi.get(self, "cpu_limit")
3578
3478
 
@@ -3580,7 +3480,7 @@ class VirtualMachine(pulumi.CustomResource):
3580
3480
  @pulumi.getter(name="cpuPerformanceCountersEnabled")
3581
3481
  def cpu_performance_counters_enabled(self) -> pulumi.Output[Optional[bool]]:
3582
3482
  """
3583
- Enable CPU performance counters on the virtual machine. Default: `false`.
3483
+ Enable CPU performance counters on this virtual machine.
3584
3484
  """
3585
3485
  return pulumi.get(self, "cpu_performance_counters_enabled")
3586
3486
 
@@ -3588,7 +3488,7 @@ class VirtualMachine(pulumi.CustomResource):
3588
3488
  @pulumi.getter(name="cpuReservation")
3589
3489
  def cpu_reservation(self) -> pulumi.Output[Optional[int]]:
3590
3490
  """
3591
- 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.
3592
3492
  """
3593
3493
  return pulumi.get(self, "cpu_reservation")
3594
3494
 
@@ -3596,7 +3496,7 @@ class VirtualMachine(pulumi.CustomResource):
3596
3496
  @pulumi.getter(name="cpuShareCount")
3597
3497
  def cpu_share_count(self) -> pulumi.Output[int]:
3598
3498
  """
3599
- 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.
3600
3500
  """
3601
3501
  return pulumi.get(self, "cpu_share_count")
3602
3502
 
@@ -3604,7 +3504,7 @@ class VirtualMachine(pulumi.CustomResource):
3604
3504
  @pulumi.getter(name="cpuShareLevel")
3605
3505
  def cpu_share_level(self) -> pulumi.Output[Optional[str]]:
3606
3506
  """
3607
- 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.
3608
3508
  """
3609
3509
  return pulumi.get(self, "cpu_share_level")
3610
3510
 
@@ -3612,9 +3512,7 @@ class VirtualMachine(pulumi.CustomResource):
3612
3512
  @pulumi.getter(name="customAttributes")
3613
3513
  def custom_attributes(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
3614
3514
  """
3615
- 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.
3616
-
3617
- > **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.
3618
3516
  """
3619
3517
  return pulumi.get(self, "custom_attributes")
3620
3518
 
@@ -3622,7 +3520,7 @@ class VirtualMachine(pulumi.CustomResource):
3622
3520
  @pulumi.getter(name="datacenterId")
3623
3521
  def datacenter_id(self) -> pulumi.Output[Optional[str]]:
3624
3522
  """
3625
- The datacenter ID. Required only when deploying an OVF/OVA template.
3523
+ The ID of the datacenter where the VM is to be created.
3626
3524
  """
3627
3525
  return pulumi.get(self, "datacenter_id")
3628
3526
 
@@ -3630,13 +3528,7 @@ class VirtualMachine(pulumi.CustomResource):
3630
3528
  @pulumi.getter(name="datastoreClusterId")
3631
3529
  def datastore_cluster_id(self) -> pulumi.Output[Optional[str]]:
3632
3530
  """
3633
- 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.
3634
-
3635
- > **NOTE:** One of `datastore_id` or `datastore_cluster_id` must be specified.
3636
-
3637
- > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster.
3638
-
3639
- > **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.
3640
3532
  """
3641
3533
  return pulumi.get(self, "datastore_cluster_id")
3642
3534
 
@@ -3644,7 +3536,8 @@ class VirtualMachine(pulumi.CustomResource):
3644
3536
  @pulumi.getter(name="datastoreId")
3645
3537
  def datastore_id(self) -> pulumi.Output[str]:
3646
3538
  """
3647
- 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.
3648
3541
  """
3649
3542
  return pulumi.get(self, "datastore_id")
3650
3543
 
@@ -3660,7 +3553,7 @@ class VirtualMachine(pulumi.CustomResource):
3660
3553
  @pulumi.getter
3661
3554
  def disks(self) -> pulumi.Output[Sequence['outputs.VirtualMachineDisk']]:
3662
3555
  """
3663
- 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.
3664
3557
  """
3665
3558
  return pulumi.get(self, "disks")
3666
3559
 
@@ -3668,9 +3561,7 @@ class VirtualMachine(pulumi.CustomResource):
3668
3561
  @pulumi.getter(name="efiSecureBootEnabled")
3669
3562
  def efi_secure_boot_enabled(self) -> pulumi.Output[Optional[bool]]:
3670
3563
  """
3671
- Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`.
3672
-
3673
- > **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.
3674
3565
  """
3675
3566
  return pulumi.get(self, "efi_secure_boot_enabled")
3676
3567
 
@@ -3678,7 +3569,7 @@ class VirtualMachine(pulumi.CustomResource):
3678
3569
  @pulumi.getter(name="enableDiskUuid")
3679
3570
  def enable_disk_uuid(self) -> pulumi.Output[Optional[bool]]:
3680
3571
  """
3681
- 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.
3682
3573
  """
3683
3574
  return pulumi.get(self, "enable_disk_uuid")
3684
3575
 
@@ -3686,15 +3577,15 @@ class VirtualMachine(pulumi.CustomResource):
3686
3577
  @pulumi.getter(name="enableLogging")
3687
3578
  def enable_logging(self) -> pulumi.Output[Optional[bool]]:
3688
3579
  """
3689
- 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.
3690
3581
  """
3691
3582
  return pulumi.get(self, "enable_logging")
3692
3583
 
3693
3584
  @property
3694
3585
  @pulumi.getter(name="eptRviMode")
3695
- def ept_rvi_mode(self) -> pulumi.Output[Optional[str]]:
3586
+ def ept_rvi_mode(self) -> pulumi.Output[str]:
3696
3587
  """
3697
- 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.
3698
3589
  """
3699
3590
  return pulumi.get(self, "ept_rvi_mode")
3700
3591
 
@@ -3702,9 +3593,8 @@ class VirtualMachine(pulumi.CustomResource):
3702
3593
  @pulumi.getter(name="extraConfig")
3703
3594
  def extra_config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
3704
3595
  """
3705
- Extra configuration data for the virtual machine. Can be used to supply advanced parameters not normally in configuration, such as instance metadata and userdata.
3706
-
3707
- > **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.
3708
3598
  """
3709
3599
  return pulumi.get(self, "extra_config")
3710
3600
 
@@ -3712,7 +3602,7 @@ class VirtualMachine(pulumi.CustomResource):
3712
3602
  @pulumi.getter(name="extraConfigRebootRequired")
3713
3603
  def extra_config_reboot_required(self) -> pulumi.Output[Optional[bool]]:
3714
3604
  """
3715
- 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.
3716
3606
  """
3717
3607
  return pulumi.get(self, "extra_config_reboot_required")
3718
3608
 
@@ -3720,7 +3610,7 @@ class VirtualMachine(pulumi.CustomResource):
3720
3610
  @pulumi.getter
3721
3611
  def firmware(self) -> pulumi.Output[Optional[str]]:
3722
3612
  """
3723
- 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.
3724
3614
  """
3725
3615
  return pulumi.get(self, "firmware")
3726
3616
 
@@ -3728,7 +3618,7 @@ class VirtualMachine(pulumi.CustomResource):
3728
3618
  @pulumi.getter
3729
3619
  def folder(self) -> pulumi.Output[Optional[str]]:
3730
3620
  """
3731
- 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.
3732
3622
  """
3733
3623
  return pulumi.get(self, "folder")
3734
3624
 
@@ -3736,7 +3626,7 @@ class VirtualMachine(pulumi.CustomResource):
3736
3626
  @pulumi.getter(name="forcePowerOff")
3737
3627
  def force_power_off(self) -> pulumi.Output[Optional[bool]]:
3738
3628
  """
3739
- 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.
3740
3630
  """
3741
3631
  return pulumi.get(self, "force_power_off")
3742
3632
 
@@ -3744,9 +3634,7 @@ class VirtualMachine(pulumi.CustomResource):
3744
3634
  @pulumi.getter(name="guestId")
3745
3635
  def guest_id(self) -> pulumi.Output[str]:
3746
3636
  """
3747
- The guest ID for the operating system type. For a full list of possible values, see [here][vmware-docs-guest-ids]. Default: `otherGuest64`.
3748
-
3749
- [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.
3750
3638
  """
3751
3639
  return pulumi.get(self, "guest_id")
3752
3640
 
@@ -3762,10 +3650,7 @@ class VirtualMachine(pulumi.CustomResource):
3762
3650
  @pulumi.getter(name="hardwareVersion")
3763
3651
  def hardware_version(self) -> pulumi.Output[int]:
3764
3652
  """
3765
- 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.
3766
-
3767
- [virtual-machine-hardware-versions]: https://kb.vmware.com/s/article/1003746
3768
- [virtual-machine-hardware-compatibility]: https://kb.vmware.com/s/article/2007240
3653
+ The hardware version for the virtual machine.
3769
3654
  """
3770
3655
  return pulumi.get(self, "hardware_version")
3771
3656
 
@@ -3773,31 +3658,28 @@ class VirtualMachine(pulumi.CustomResource):
3773
3658
  @pulumi.getter(name="hostSystemId")
3774
3659
  def host_system_id(self) -> pulumi.Output[str]:
3775
3660
  """
3776
- 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.
3777
3662
  """
3778
3663
  return pulumi.get(self, "host_system_id")
3779
3664
 
3780
3665
  @property
3781
3666
  @pulumi.getter(name="hvMode")
3782
- def hv_mode(self) -> pulumi.Output[Optional[str]]:
3667
+ def hv_mode(self) -> pulumi.Output[str]:
3783
3668
  """
3784
- 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.
3785
3670
  """
3786
3671
  return pulumi.get(self, "hv_mode")
3787
3672
 
3788
3673
  @property
3789
3674
  @pulumi.getter(name="ideControllerCount")
3790
3675
  def ide_controller_count(self) -> pulumi.Output[Optional[int]]:
3791
- """
3792
- 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`.
3793
- """
3794
3676
  return pulumi.get(self, "ide_controller_count")
3795
3677
 
3796
3678
  @property
3797
3679
  @pulumi.getter(name="ignoredGuestIps")
3798
3680
  def ignored_guest_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
3799
3681
  """
3800
- 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
3801
3683
  """
3802
3684
  return pulumi.get(self, "ignored_guest_ips")
3803
3685
 
@@ -3813,9 +3695,9 @@ class VirtualMachine(pulumi.CustomResource):
3813
3695
  @pulumi.getter(name="latencySensitivity")
3814
3696
  def latency_sensitivity(self) -> pulumi.Output[Optional[str]]:
3815
3697
  """
3816
- 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`.
3817
-
3818
- > **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.
3819
3701
  """
3820
3702
  return pulumi.get(self, "latency_sensitivity")
3821
3703
 
@@ -3823,7 +3705,7 @@ class VirtualMachine(pulumi.CustomResource):
3823
3705
  @pulumi.getter
3824
3706
  def memory(self) -> pulumi.Output[Optional[int]]:
3825
3707
  """
3826
- 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.
3827
3709
  """
3828
3710
  return pulumi.get(self, "memory")
3829
3711
 
@@ -3831,15 +3713,7 @@ class VirtualMachine(pulumi.CustomResource):
3831
3713
  @pulumi.getter(name="memoryHotAddEnabled")
3832
3714
  def memory_hot_add_enabled(self) -> pulumi.Output[Optional[bool]]:
3833
3715
  """
3834
- Allow memory to be added to the virtual machine while it is powered on.
3835
-
3836
- > **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.
3837
-
3838
- [vmware-docs-compat-guide]: http://partnerweb.vmware.com/comp_guide2/pdf/VMware_GOS_Compatibility_Guide.pdf
3839
-
3840
- > **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].
3841
-
3842
- [vmware-kb-2008405]: https://kb.vmware.com/s/article/2008405
3716
+ Allow memory to be added to this virtual machine while it is running.
3843
3717
  """
3844
3718
  return pulumi.get(self, "memory_hot_add_enabled")
3845
3719
 
@@ -3847,7 +3721,8 @@ class VirtualMachine(pulumi.CustomResource):
3847
3721
  @pulumi.getter(name="memoryLimit")
3848
3722
  def memory_limit(self) -> pulumi.Output[Optional[int]]:
3849
3723
  """
3850
- 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.
3851
3726
  """
3852
3727
  return pulumi.get(self, "memory_limit")
3853
3728
 
@@ -3855,7 +3730,7 @@ class VirtualMachine(pulumi.CustomResource):
3855
3730
  @pulumi.getter(name="memoryReservation")
3856
3731
  def memory_reservation(self) -> pulumi.Output[Optional[int]]:
3857
3732
  """
3858
- 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.
3859
3734
  """
3860
3735
  return pulumi.get(self, "memory_reservation")
3861
3736
 
@@ -3873,7 +3748,7 @@ class VirtualMachine(pulumi.CustomResource):
3873
3748
  @pulumi.getter(name="memoryShareCount")
3874
3749
  def memory_share_count(self) -> pulumi.Output[int]:
3875
3750
  """
3876
- 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.
3877
3752
  """
3878
3753
  return pulumi.get(self, "memory_share_count")
3879
3754
 
@@ -3881,7 +3756,7 @@ class VirtualMachine(pulumi.CustomResource):
3881
3756
  @pulumi.getter(name="memoryShareLevel")
3882
3757
  def memory_share_level(self) -> pulumi.Output[Optional[str]]:
3883
3758
  """
3884
- 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.
3885
3760
  """
3886
3761
  return pulumi.get(self, "memory_share_level")
3887
3762
 
@@ -3889,7 +3764,7 @@ class VirtualMachine(pulumi.CustomResource):
3889
3764
  @pulumi.getter(name="migrateWaitTimeout")
3890
3765
  def migrate_wait_timeout(self) -> pulumi.Output[Optional[int]]:
3891
3766
  """
3892
- 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.
3893
3768
  """
3894
3769
  return pulumi.get(self, "migrate_wait_timeout")
3895
3770
 
@@ -3905,7 +3780,7 @@ class VirtualMachine(pulumi.CustomResource):
3905
3780
  @pulumi.getter
3906
3781
  def name(self) -> pulumi.Output[str]:
3907
3782
  """
3908
- The name of the virtual machine.
3783
+ The name of this virtual machine.
3909
3784
  """
3910
3785
  return pulumi.get(self, "name")
3911
3786
 
@@ -3913,7 +3788,7 @@ class VirtualMachine(pulumi.CustomResource):
3913
3788
  @pulumi.getter(name="nestedHvEnabled")
3914
3789
  def nested_hv_enabled(self) -> pulumi.Output[Optional[bool]]:
3915
3790
  """
3916
- 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.
3917
3792
  """
3918
3793
  return pulumi.get(self, "nested_hv_enabled")
3919
3794
 
@@ -3921,7 +3796,7 @@ class VirtualMachine(pulumi.CustomResource):
3921
3796
  @pulumi.getter(name="networkInterfaces")
3922
3797
  def network_interfaces(self) -> pulumi.Output[Optional[Sequence['outputs.VirtualMachineNetworkInterface']]]:
3923
3798
  """
3924
- 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.
3925
3800
  """
3926
3801
  return pulumi.get(self, "network_interfaces")
3927
3802
 
@@ -3929,7 +3804,8 @@ class VirtualMachine(pulumi.CustomResource):
3929
3804
  @pulumi.getter(name="numCoresPerSocket")
3930
3805
  def num_cores_per_socket(self) -> pulumi.Output[Optional[int]]:
3931
3806
  """
3932
- 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.
3933
3809
  """
3934
3810
  return pulumi.get(self, "num_cores_per_socket")
3935
3811
 
@@ -3937,7 +3813,7 @@ class VirtualMachine(pulumi.CustomResource):
3937
3813
  @pulumi.getter(name="numCpus")
3938
3814
  def num_cpus(self) -> pulumi.Output[Optional[int]]:
3939
3815
  """
3940
- 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.
3941
3817
  """
3942
3818
  return pulumi.get(self, "num_cpus")
3943
3819
 
@@ -3945,7 +3821,7 @@ class VirtualMachine(pulumi.CustomResource):
3945
3821
  @pulumi.getter(name="ovfDeploy")
3946
3822
  def ovf_deploy(self) -> pulumi.Output[Optional['outputs.VirtualMachineOvfDeploy']]:
3947
3823
  """
3948
- 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.
3949
3825
  """
3950
3826
  return pulumi.get(self, "ovf_deploy")
3951
3827
 
@@ -3953,9 +3829,7 @@ class VirtualMachine(pulumi.CustomResource):
3953
3829
  @pulumi.getter(name="pciDeviceIds")
3954
3830
  def pci_device_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
3955
3831
  """
3956
- List of host PCI device IDs in which to create PCI passthroughs.
3957
-
3958
- > **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
3832
+ A list of PCI passthrough devices
3959
3833
  """
3960
3834
  return pulumi.get(self, "pci_device_ids")
3961
3835
 
@@ -3978,9 +3852,6 @@ class VirtualMachine(pulumi.CustomResource):
3978
3852
  @property
3979
3853
  @pulumi.getter(name="rebootRequired")
3980
3854
  def reboot_required(self) -> pulumi.Output[bool]:
3981
- """
3982
- Value internal to Terraform used to determine if a configuration set change requires a reboot.
3983
- """
3984
3855
  return pulumi.get(self, "reboot_required")
3985
3856
 
3986
3857
  @property
@@ -3988,8 +3859,6 @@ class VirtualMachine(pulumi.CustomResource):
3988
3859
  def replace_trigger(self) -> pulumi.Output[Optional[str]]:
3989
3860
  """
3990
3861
  Triggers replacement of resource whenever it changes.
3991
-
3992
- 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.)
3993
3862
  """
3994
3863
  return pulumi.get(self, "replace_trigger")
3995
3864
 
@@ -3997,9 +3866,7 @@ class VirtualMachine(pulumi.CustomResource):
3997
3866
  @pulumi.getter(name="resourcePoolId")
3998
3867
  def resource_pool_id(self) -> pulumi.Output[str]:
3999
3868
  """
4000
- 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.
4001
-
4002
- > **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.
4003
3870
  """
4004
3871
  return pulumi.get(self, "resource_pool_id")
4005
3872
 
@@ -4007,7 +3874,7 @@ class VirtualMachine(pulumi.CustomResource):
4007
3874
  @pulumi.getter(name="runToolsScriptsAfterPowerOn")
4008
3875
  def run_tools_scripts_after_power_on(self) -> pulumi.Output[Optional[bool]]:
4009
3876
  """
4010
- 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.
4011
3878
  """
4012
3879
  return pulumi.get(self, "run_tools_scripts_after_power_on")
4013
3880
 
@@ -4015,7 +3882,7 @@ class VirtualMachine(pulumi.CustomResource):
4015
3882
  @pulumi.getter(name="runToolsScriptsAfterResume")
4016
3883
  def run_tools_scripts_after_resume(self) -> pulumi.Output[Optional[bool]]:
4017
3884
  """
4018
- 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.
4019
3886
  """
4020
3887
  return pulumi.get(self, "run_tools_scripts_after_resume")
4021
3888
 
@@ -4023,7 +3890,7 @@ class VirtualMachine(pulumi.CustomResource):
4023
3890
  @pulumi.getter(name="runToolsScriptsBeforeGuestReboot")
4024
3891
  def run_tools_scripts_before_guest_reboot(self) -> pulumi.Output[Optional[bool]]:
4025
3892
  """
4026
- 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.
4027
3894
  """
4028
3895
  return pulumi.get(self, "run_tools_scripts_before_guest_reboot")
4029
3896
 
@@ -4031,7 +3898,7 @@ class VirtualMachine(pulumi.CustomResource):
4031
3898
  @pulumi.getter(name="runToolsScriptsBeforeGuestShutdown")
4032
3899
  def run_tools_scripts_before_guest_shutdown(self) -> pulumi.Output[Optional[bool]]:
4033
3900
  """
4034
- 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.
4035
3902
  """
4036
3903
  return pulumi.get(self, "run_tools_scripts_before_guest_shutdown")
4037
3904
 
@@ -4039,43 +3906,33 @@ class VirtualMachine(pulumi.CustomResource):
4039
3906
  @pulumi.getter(name="runToolsScriptsBeforeGuestStandby")
4040
3907
  def run_tools_scripts_before_guest_standby(self) -> pulumi.Output[Optional[bool]]:
4041
3908
  """
4042
- 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.
4043
3910
  """
4044
3911
  return pulumi.get(self, "run_tools_scripts_before_guest_standby")
4045
3912
 
4046
3913
  @property
4047
3914
  @pulumi.getter(name="sataControllerCount")
4048
3915
  def sata_controller_count(self) -> pulumi.Output[Optional[int]]:
4049
- """
4050
- The number of SATA controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
4051
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
4052
- controllers.
4053
- """
4054
3916
  return pulumi.get(self, "sata_controller_count")
4055
3917
 
4056
3918
  @property
4057
3919
  @pulumi.getter(name="scsiBusSharing")
4058
3920
  def scsi_bus_sharing(self) -> pulumi.Output[Optional[str]]:
4059
3921
  """
4060
- 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.
4061
3923
  """
4062
3924
  return pulumi.get(self, "scsi_bus_sharing")
4063
3925
 
4064
3926
  @property
4065
3927
  @pulumi.getter(name="scsiControllerCount")
4066
3928
  def scsi_controller_count(self) -> pulumi.Output[Optional[int]]:
4067
- """
4068
- The number of SCSI controllers that Terraform manages on this virtual machine. This directly affects the amount of disks
4069
- you can add to the virtual machine and the maximum disk unit number. Note that lowering this value does not remove
4070
- controllers.
4071
- """
4072
3929
  return pulumi.get(self, "scsi_controller_count")
4073
3930
 
4074
3931
  @property
4075
3932
  @pulumi.getter(name="scsiType")
4076
3933
  def scsi_type(self) -> pulumi.Output[Optional[str]]:
4077
3934
  """
4078
- 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.
4079
3936
  """
4080
3937
  return pulumi.get(self, "scsi_type")
4081
3938
 
@@ -4083,7 +3940,7 @@ class VirtualMachine(pulumi.CustomResource):
4083
3940
  @pulumi.getter(name="shutdownWaitTimeout")
4084
3941
  def shutdown_wait_timeout(self) -> pulumi.Output[Optional[int]]:
4085
3942
  """
4086
- 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.
4087
3944
  """
4088
3945
  return pulumi.get(self, "shutdown_wait_timeout")
4089
3946
 
@@ -4091,7 +3948,7 @@ class VirtualMachine(pulumi.CustomResource):
4091
3948
  @pulumi.getter(name="storagePolicyId")
4092
3949
  def storage_policy_id(self) -> pulumi.Output[str]:
4093
3950
  """
4094
- 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.
4095
3952
  """
4096
3953
  return pulumi.get(self, "storage_policy_id")
4097
3954
 
@@ -4099,7 +3956,7 @@ class VirtualMachine(pulumi.CustomResource):
4099
3956
  @pulumi.getter(name="swapPlacementPolicy")
4100
3957
  def swap_placement_policy(self) -> pulumi.Output[Optional[str]]:
4101
3958
  """
4102
- 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.
4103
3960
  """
4104
3961
  return pulumi.get(self, "swap_placement_policy")
4105
3962
 
@@ -4107,7 +3964,8 @@ class VirtualMachine(pulumi.CustomResource):
4107
3964
  @pulumi.getter(name="syncTimeWithHost")
4108
3965
  def sync_time_with_host(self) -> pulumi.Output[Optional[bool]]:
4109
3966
  """
4110
- 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: `true`.
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.
4111
3969
  """
4112
3970
  return pulumi.get(self, "sync_time_with_host")
4113
3971
 
@@ -4115,7 +3973,8 @@ class VirtualMachine(pulumi.CustomResource):
4115
3973
  @pulumi.getter(name="syncTimeWithHostPeriodically")
4116
3974
  def sync_time_with_host_periodically(self) -> pulumi.Output[Optional[bool]]:
4117
3975
  """
4118
- 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.
4119
3978
  """
4120
3979
  return pulumi.get(self, "sync_time_with_host_periodically")
4121
3980
 
@@ -4123,9 +3982,7 @@ class VirtualMachine(pulumi.CustomResource):
4123
3982
  @pulumi.getter
4124
3983
  def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
4125
3984
  """
4126
- 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.
4127
-
4128
- > **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.
4129
3986
  """
4130
3987
  return pulumi.get(self, "tags")
4131
3988
 
@@ -4133,7 +3990,7 @@ class VirtualMachine(pulumi.CustomResource):
4133
3990
  @pulumi.getter(name="toolsUpgradePolicy")
4134
3991
  def tools_upgrade_policy(self) -> pulumi.Output[Optional[str]]:
4135
3992
  """
4136
- 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`.
4137
3994
  """
4138
3995
  return pulumi.get(self, "tools_upgrade_policy")
4139
3996
 
@@ -4141,7 +3998,7 @@ class VirtualMachine(pulumi.CustomResource):
4141
3998
  @pulumi.getter
4142
3999
  def uuid(self) -> pulumi.Output[str]:
4143
4000
  """
4144
- 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.
4145
4002
  """
4146
4003
  return pulumi.get(self, "uuid")
4147
4004
 
@@ -4149,7 +4006,7 @@ class VirtualMachine(pulumi.CustomResource):
4149
4006
  @pulumi.getter
4150
4007
  def vapp(self) -> pulumi.Output[Optional['outputs.VirtualMachineVapp']]:
4151
4008
  """
4152
- 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.
4153
4010
  """
4154
4011
  return pulumi.get(self, "vapp")
4155
4012
 
@@ -4165,7 +4022,7 @@ class VirtualMachine(pulumi.CustomResource):
4165
4022
  @pulumi.getter(name="vbsEnabled")
4166
4023
  def vbs_enabled(self) -> pulumi.Output[Optional[bool]]:
4167
4024
  """
4168
- 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.
4169
4026
  """
4170
4027
  return pulumi.get(self, "vbs_enabled")
4171
4028
 
@@ -4185,11 +4042,20 @@ class VirtualMachine(pulumi.CustomResource):
4185
4042
  """
4186
4043
  return pulumi.get(self, "vmx_path")
4187
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
+
4188
4053
  @property
4189
4054
  @pulumi.getter(name="vvtdEnabled")
4190
4055
  def vvtd_enabled(self) -> pulumi.Output[Optional[bool]]:
4191
4056
  """
4192
- 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.
4193
4059
  """
4194
4060
  return pulumi.get(self, "vvtd_enabled")
4195
4061
 
@@ -4197,7 +4063,8 @@ class VirtualMachine(pulumi.CustomResource):
4197
4063
  @pulumi.getter(name="waitForGuestIpTimeout")
4198
4064
  def wait_for_guest_ip_timeout(self) -> pulumi.Output[Optional[int]]:
4199
4065
  """
4200
- 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.
4201
4068
  """
4202
4069
  return pulumi.get(self, "wait_for_guest_ip_timeout")
4203
4070
 
@@ -4205,7 +4072,8 @@ class VirtualMachine(pulumi.CustomResource):
4205
4072
  @pulumi.getter(name="waitForGuestNetRoutable")
4206
4073
  def wait_for_guest_net_routable(self) -> pulumi.Output[Optional[bool]]:
4207
4074
  """
4208
- 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.
4209
4077
  """
4210
4078
  return pulumi.get(self, "wait_for_guest_net_routable")
4211
4079
 
@@ -4213,7 +4081,8 @@ class VirtualMachine(pulumi.CustomResource):
4213
4081
  @pulumi.getter(name="waitForGuestNetTimeout")
4214
4082
  def wait_for_guest_net_timeout(self) -> pulumi.Output[Optional[int]]:
4215
4083
  """
4216
- 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.
4217
4086
  """
4218
4087
  return pulumi.get(self, "wait_for_guest_net_timeout")
4219
4088