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

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

Potentially problematic release.


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

Files changed (85) hide show
  1. pulumi_vsphere/__init__.py +30 -0
  2. pulumi_vsphere/_inputs.py +1816 -277
  3. pulumi_vsphere/_utilities.py +41 -5
  4. pulumi_vsphere/compute_cluster.py +937 -1488
  5. pulumi_vsphere/compute_cluster_host_group.py +67 -2
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +69 -34
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +41 -2
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +205 -2
  9. pulumi_vsphere/compute_cluster_vm_group.py +198 -2
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +73 -2
  11. pulumi_vsphere/config/__init__.pyi +5 -0
  12. pulumi_vsphere/config/vars.py +5 -0
  13. pulumi_vsphere/content_library.py +113 -12
  14. pulumi_vsphere/content_library_item.py +143 -2
  15. pulumi_vsphere/custom_attribute.py +77 -2
  16. pulumi_vsphere/datacenter.py +48 -40
  17. pulumi_vsphere/datastore_cluster.py +217 -366
  18. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +159 -2
  19. pulumi_vsphere/distributed_port_group.py +416 -189
  20. pulumi_vsphere/distributed_virtual_switch.py +571 -830
  21. pulumi_vsphere/dpm_host_override.py +63 -2
  22. pulumi_vsphere/drs_vm_override.py +67 -2
  23. pulumi_vsphere/entity_permissions.py +64 -38
  24. pulumi_vsphere/file.py +21 -24
  25. pulumi_vsphere/folder.py +148 -30
  26. pulumi_vsphere/get_compute_cluster.py +16 -9
  27. pulumi_vsphere/get_compute_cluster_host_group.py +36 -25
  28. pulumi_vsphere/get_content_library.py +23 -15
  29. pulumi_vsphere/get_content_library_item.py +29 -13
  30. pulumi_vsphere/get_custom_attribute.py +14 -9
  31. pulumi_vsphere/get_datacenter.py +30 -12
  32. pulumi_vsphere/get_datastore.py +44 -12
  33. pulumi_vsphere/get_datastore_cluster.py +31 -10
  34. pulumi_vsphere/get_datastore_stats.py +208 -0
  35. pulumi_vsphere/get_distributed_virtual_switch.py +18 -9
  36. pulumi_vsphere/get_dynamic.py +35 -25
  37. pulumi_vsphere/get_folder.py +23 -11
  38. pulumi_vsphere/get_guest_os_customization.py +26 -52
  39. pulumi_vsphere/get_host.py +16 -9
  40. pulumi_vsphere/get_host_base_images.py +104 -0
  41. pulumi_vsphere/get_host_pci_device.py +28 -19
  42. pulumi_vsphere/get_host_thumbprint.py +41 -25
  43. pulumi_vsphere/get_host_vgpu_profile.py +195 -0
  44. pulumi_vsphere/get_license.py +20 -10
  45. pulumi_vsphere/get_network.py +80 -24
  46. pulumi_vsphere/get_ovf_vm_template.py +56 -5
  47. pulumi_vsphere/get_policy.py +13 -9
  48. pulumi_vsphere/get_resource_pool.py +29 -23
  49. pulumi_vsphere/get_role.py +23 -13
  50. pulumi_vsphere/get_tag.py +16 -9
  51. pulumi_vsphere/get_tag_category.py +16 -9
  52. pulumi_vsphere/get_vapp_container.py +15 -9
  53. pulumi_vsphere/get_virtual_machine.py +233 -48
  54. pulumi_vsphere/get_vmfs_disks.py +18 -9
  55. pulumi_vsphere/guest_os_customization.py +60 -5
  56. pulumi_vsphere/ha_vm_override.py +352 -380
  57. pulumi_vsphere/host.py +244 -64
  58. pulumi_vsphere/host_port_group.py +27 -24
  59. pulumi_vsphere/host_virtual_switch.py +209 -289
  60. pulumi_vsphere/license.py +5 -32
  61. pulumi_vsphere/nas_datastore.py +74 -9
  62. pulumi_vsphere/offline_software_depot.py +185 -0
  63. pulumi_vsphere/outputs.py +774 -256
  64. pulumi_vsphere/provider.py +7 -6
  65. pulumi_vsphere/pulumi-plugin.json +2 -1
  66. pulumi_vsphere/resource_pool.py +168 -411
  67. pulumi_vsphere/role.py +33 -2
  68. pulumi_vsphere/storage_drs_vm_override.py +133 -2
  69. pulumi_vsphere/supervisor.py +967 -0
  70. pulumi_vsphere/tag.py +159 -2
  71. pulumi_vsphere/tag_category.py +83 -2
  72. pulumi_vsphere/vapp_container.py +163 -2
  73. pulumi_vsphere/vapp_entity.py +147 -2
  74. pulumi_vsphere/virtual_disk.py +123 -36
  75. pulumi_vsphere/virtual_machine.py +759 -829
  76. pulumi_vsphere/virtual_machine_class.py +447 -0
  77. pulumi_vsphere/virtual_machine_snapshot.py +13 -12
  78. pulumi_vsphere/vm_storage_policy.py +120 -127
  79. pulumi_vsphere/vmfs_datastore.py +271 -2
  80. pulumi_vsphere/vnic.py +104 -105
  81. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/METADATA +7 -6
  82. pulumi_vsphere-4.13.0a1736836157.dist-info/RECORD +86 -0
  83. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/WHEEL +1 -1
  84. pulumi_vsphere-4.10.0a1710160860.dist-info/RECORD +0 -80
  85. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -61,6 +66,7 @@ class ComputeClusterArgs:
61
66
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
62
67
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
63
68
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
69
+ host_image: Optional[pulumi.Input['ComputeClusterHostImageArgs']] = None,
64
70
  host_managed: Optional[pulumi.Input[bool]] = None,
65
71
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
66
72
  name: Optional[pulumi.Input[str]] = None,
@@ -93,225 +99,115 @@ class ComputeClusterArgs:
93
99
 
94
100
  > **NOTE:** Custom attributes are unsupported on direct ESXi connections
95
101
  and require vCenter Server.
96
- :param pulumi.Input[str] dpm_automation_level: The automation level for host power
97
- operations in this cluster. Can be one of `manual` or `automated`. Default:
98
- `manual`.
99
- :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS in this cluster.
100
- Requires `drs_enabled` to be `true` in order to be effective.
101
- Default: `false`.
102
- :param pulumi.Input[int] dpm_threshold: A value between `1` and `5` indicating the
103
- threshold of load within the cluster that influences host power operations.
104
- This affects both power on and power off operations - a lower setting will
105
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
106
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: A key/value map that specifies advanced
107
- options for DRS and DPM.
108
- :param pulumi.Input[str] drs_automation_level: The default automation level for all
109
- virtual machines in this cluster. Can be one of `manual`,
110
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
111
- :param pulumi.Input[bool] drs_enable_predictive_drs: When `true`, enables DRS to use data
112
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
113
- recommendations. <sup>\\*</sup>
114
-
115
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
116
- :param pulumi.Input[bool] drs_enable_vm_overrides: Allow individual DRS overrides to be
117
- set for virtual machines in the cluster. Default: `true`.
118
- :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster. Default: `false`.
119
- :param pulumi.Input[int] drs_migration_threshold: A value between `1` and `5` indicating
120
- the threshold of imbalance tolerated between hosts. A lower setting will
121
- tolerate more imbalance while a higher setting will tolerate less. Default:
122
- `3`.
123
- :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all
124
- resource pools in the cluster. Can be one of `disabled` or
125
- `scaleCpuAndMemoryShares`. Default: `disabled`.
102
+ :param pulumi.Input[str] dpm_automation_level: The automation level for host power operations in this cluster. Can be one of manual or automated.
103
+ :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
104
+ machines in the cluster. Requires that DRS be enabled.
105
+ :param pulumi.Input[int] dpm_threshold: A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
106
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
107
+ setting.
108
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: Advanced configuration options for DRS and DPM.
109
+ :param pulumi.Input[str] drs_automation_level: The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
110
+ fullyAutomated.
111
+ :param pulumi.Input[bool] drs_enable_predictive_drs: When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
112
+ :param pulumi.Input[bool] drs_enable_vm_overrides: When true, allows individual VM overrides within this cluster to be set.
113
+ :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster.
114
+ :param pulumi.Input[int] drs_migration_threshold: A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
115
+ more imbalance while a higher setting will tolerate less.
116
+ :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all descendants of this cluster.
126
117
  :param pulumi.Input[str] folder: The relative path to a folder to put this cluster in.
127
118
  This is a path relative to the datacenter you are deploying the cluster to.
128
119
  Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
129
120
  The provider will place a cluster named `compute-cluster-test` in a
130
121
  host folder located at `/dc1/host/foo/bar`, with the final inventory path
131
122
  being `/dc1/host/foo/bar/datastore-cluster-test`.
132
- :param pulumi.Input[bool] force_evacuate_on_destroy: When destroying the resource, setting this to
133
- `true` will auto-remove any hosts that are currently a member of the cluster,
134
- as if they were removed by taking their entry out of `host_system_ids` (see
135
- below. This is an advanced
136
- option and should only be used for testing. Default: `false`.
137
-
138
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
139
- there are many pitfalls to its use when working with complex cluster
140
- configurations. Depending on the virtual machines currently on the cluster, and
141
- your DRS and HA settings, the full host evacuation may fail. Instead,
142
- incrementally remove hosts from your configuration by adjusting the contents of
143
- the `host_system_ids` attribute.
144
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: Defines the
145
- managed object IDs of hosts to use as dedicated failover
146
- hosts. These hosts are kept as available as possible - admission control will
147
- block access to the host, and DRS will ignore the host when making
148
- recommendations.
149
- :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number
150
- of failed hosts that admission control tolerates when making decisions on
151
- whether to permit virtual machine operations. The maximum is one less than
152
- the number of hosts in the cluster. Default: `1`.
153
- <sup>\\*</sup>
154
- :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of
155
- resource reduction that a cluster of virtual machines can tolerate in case of
156
- a failover. A value of 0 produces warnings only, whereas a value of 100
157
- disables the setting. Default: `100` (disabled).
158
- :param pulumi.Input[str] ha_admission_control_policy: The type of admission control
159
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
160
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
161
- :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: Automatically determine available resource percentages by subtracting the
162
- average number of host resources represented by the
163
- `ha_admission_control_host_failure_tolerance`
164
- setting from the total amount of resources in the cluster. Disable to supply
165
- user-defined values. Default: `true`.
166
- <sup>\\*</sup>
167
- :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: Controls the
168
- user-defined percentage of CPU resources in the cluster to reserve for
169
- failover. Default: `100`.
170
- :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: Controls the
171
- user-defined percentage of memory resources in the cluster to reserve for
172
- failover. Default: `100`.
173
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: Controls the
174
- user-defined CPU slot size, in MHz. Default: `32`.
175
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: Controls the
176
- user-defined memory slot size, in MB. Default: `100`.
177
- :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: Controls
178
- whether or not you wish to supply explicit values to CPU and memory slot
179
- sizes. The default is `false`, which tells vSphere to gather a automatic
180
- average based on all powered-on virtual machines currently in the cluster.
181
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: A key/value map that specifies advanced
182
- options for vSphere HA.
183
- :param pulumi.Input[str] ha_datastore_apd_recovery_action: Controls the action to take
184
- on virtual machines if an APD status on an affected datastore clears in the
185
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
186
- <sup>\\*</sup>
187
- :param pulumi.Input[str] ha_datastore_apd_response: Controls the action to take on
188
- virtual machines when the cluster has detected loss to all paths to a
189
- relevant datastore. Can be one of `disabled`, `warning`,
190
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
191
- <sup>\\*</sup>
192
- :param pulumi.Input[int] ha_datastore_apd_response_delay: The time, in seconds,
193
- to wait after an APD timeout event to run the response action defined in
194
- `ha_datastore_apd_response`. Default: `180`
195
- seconds (3 minutes). <sup>\\*</sup>
196
- :param pulumi.Input[str] ha_datastore_pdl_response: Controls the action to take on
197
- virtual machines when the cluster has detected a permanent device loss to a
198
- relevant datastore. Can be one of `disabled`, `warning`, or
199
- `restartAggressive`. Default: `disabled`.
200
- <sup>\\*</sup>
201
- :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster. Default:
202
- `false`.
203
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for
204
- preferred datastores to use for HA heartbeating. This setting is only useful
205
- when `ha_heartbeat_datastore_policy` is set
206
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
207
- :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA
208
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
209
- `allFeasibleDsWithUserPreference`. Default:
210
- `allFeasibleDsWithUserPreference`.
211
- :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual
212
- machines when a host has detected that it has been isolated from the rest of
213
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
214
- `none`.
215
- :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether
216
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
217
- or `disabled`. Default: `enabled`.
218
- :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component
219
- protection for virtual machines in this cluster. Can be one of `enabled` or
220
- `disabled`. Default: `enabled`.
221
- <sup>\\*</sup>
222
- :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to
223
- determine whether or not virtual machines in a certain restart priority class
224
- are online, allowing HA to move on to restarting virtual machines on the next
225
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
226
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
227
- is considered ready immediately after a host is found to start it on.
228
- <sup>\\*</sup>
229
- :param pulumi.Input[int] ha_vm_failure_interval: The time interval, in seconds, a heartbeat
230
- from a virtual machine is not received within this configured interval,
231
- the virtual machine is marked as failed. Default: `30` seconds.
232
- :param pulumi.Input[int] ha_vm_maximum_failure_window: The time, in seconds, for the reset window in
233
- which `ha_vm_maximum_resets` can operate. When this
234
- window expires, no more resets are attempted regardless of the setting
235
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
236
- unlimited reset time is allotted. Default: `-1` (no window).
237
- :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will
238
- perform to a virtual machine when responding to a failure event. Default: `3`
239
- :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after
240
- powering on a virtual machine before monitoring for heartbeats. Default:
241
- `120` seconds (2 minutes).
242
- :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use
243
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
244
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
245
- :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay, in seconds,
246
- after ready condition is met. A VM is considered ready at this point.
247
- Default: `0` seconds (no delay). <sup>\\*</sup>
248
- :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority
249
- for affected virtual machines when vSphere detects a host failure. Can be one
250
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
251
- :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds,
252
- that vSphere HA will wait for virtual machines in one priority to be ready
253
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
254
- <sup>\\*</sup>
255
- :param pulumi.Input[int] host_cluster_exit_timeout: The timeout, in seconds, for each host maintenance
256
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
257
- :param pulumi.Input[bool] host_managed: Can be set to `true` if compute cluster
258
- membership will be managed through the `host` resource rather than the
259
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
260
- :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of
261
- the hosts to put in the cluster. Conflicts with: `host_managed`.
123
+ :param pulumi.Input[bool] force_evacuate_on_destroy: Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
124
+ for testing and is not recommended in normal use.
125
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
126
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
127
+ will ignore the host when making recommendations.
128
+ :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
129
+ machine operations. The maximum is one less than the number of hosts in the cluster.
130
+ :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
131
+ warnings only, whereas a value of 100 disables the setting.
132
+ :param pulumi.Input[str] ha_admission_control_policy: The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
133
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
134
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
135
+ issues.
136
+ :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
137
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
138
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
139
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
140
+ the cluster to reserve for failover.
141
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
142
+ the cluster to reserve for failover.
143
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
144
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
145
+ :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
146
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
147
+ currently in the cluster.
148
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: Advanced configuration options for vSphere HA.
149
+ :param pulumi.Input[str] ha_datastore_apd_recovery_action: When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
150
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
151
+ :param pulumi.Input[str] ha_datastore_apd_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
152
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
153
+ restartAggressive.
154
+ :param pulumi.Input[int] ha_datastore_apd_response_delay: When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
155
+ the response action defined in ha_datastore_apd_response.
156
+ :param pulumi.Input[str] ha_datastore_pdl_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
157
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
158
+ :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster.
159
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
160
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
161
+ :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
162
+ allFeasibleDsWithUserPreference.
163
+ :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
164
+ Can be one of none, powerOff, or shutdown.
165
+ :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
166
+ :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
167
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
168
+ :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
169
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
170
+ :param pulumi.Input[int] ha_vm_failure_interval: If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
171
+ failed. The value is in seconds.
172
+ :param pulumi.Input[int] ha_vm_maximum_failure_window: The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
173
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
174
+ time is allotted.
175
+ :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
176
+ :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
177
+ :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
178
+ vmMonitoringOnly, or vmAndAppMonitoring.
179
+ :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
180
+ :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
181
+ high, or highest.
182
+ :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
183
+ proceeding with the next priority.
184
+ :param pulumi.Input[int] host_cluster_exit_timeout: The timeout for each host maintenance mode operation when removing hosts from a cluster.
185
+ :param pulumi.Input['ComputeClusterHostImageArgs'] host_image: Details about the host image which should be applied to the cluster.
186
+ :param pulumi.Input[bool] host_managed: Must be set if cluster enrollment is managed from host resource.
187
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of the hosts to put in the cluster.
262
188
  :param pulumi.Input[str] name: The name of the cluster.
263
- :param pulumi.Input[str] proactive_ha_automation_level: Determines how the host
264
- quarantine, maintenance mode, or virtual machine migration recommendations
265
- made by proactive HA are to be handled. Can be one of `Automated` or
266
- `Manual`. Default: `Manual`. <sup>\\*</sup>
267
- :param pulumi.Input[bool] proactive_ha_enabled: Enables Proactive HA. Default: `false`.
268
- <sup>\\*</sup>
269
- :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation
270
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
271
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
272
- `proactive_ha_severe_remediation` is set
273
- to `QuarantineMode`. Default: `QuarantineMode`.
274
- <sup>\\*</sup>
275
- :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update
276
- providers configured for this cluster.
277
- <sup>\\*</sup>
278
- :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for
279
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
280
- Note that this cannot be set to `QuarantineMode` when
281
- `proactive_ha_moderate_remediation` is
282
- set to `MaintenanceMode`. Default: `QuarantineMode`.
283
- <sup>\\*</sup>
189
+ :param pulumi.Input[str] proactive_ha_automation_level: The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
190
+ :param pulumi.Input[bool] proactive_ha_enabled: Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
191
+ :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
192
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
193
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update providers configured for this cluster.
194
+ :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
195
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
284
196
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
285
- :param pulumi.Input[bool] vsan_compression_enabled: Enables vSAN compression on the
286
- cluster.
287
- :param pulumi.Input[bool] vsan_dedup_enabled: Enables vSAN deduplication on the cluster.
288
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
289
- compression must also be enabled.
290
- :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]] vsan_disk_groups: Represents the configuration of a host disk
291
- group in the cluster.
292
- :param pulumi.Input[bool] vsan_dit_encryption_enabled: Enables vSAN data-in-transit
293
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
294
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
295
- at the same time.
296
- :param pulumi.Input[int] vsan_dit_rekey_interval: Indicates the rekey interval in
297
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
298
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
299
- :param pulumi.Input[bool] vsan_enabled: Enables vSAN on the cluster.
300
- :param pulumi.Input[bool] vsan_esa_enabled: Enables vSAN ESA on the cluster.
301
- :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainArgs']]] vsan_fault_domains: Configurations of vSAN fault domains.
302
- :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Enables network
303
- diagnostic mode for vSAN performance service on the cluster.
304
- :param pulumi.Input[bool] vsan_performance_enabled: Enables vSAN performance service on
305
- the cluster. Default: `true`.
306
- :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The remote vSAN datastore IDs to be
307
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
308
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
309
- data-in-transit encryption feature at the same time.
310
- :param pulumi.Input['ComputeClusterVsanStretchedClusterArgs'] vsan_stretched_cluster: Configurations of vSAN stretched cluster.
311
- :param pulumi.Input[bool] vsan_unmap_enabled: Enables vSAN unmap on the cluster.
312
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
313
- :param pulumi.Input[bool] vsan_verbose_mode_enabled: Enables verbose mode for vSAN
314
- performance service on the cluster.
197
+ :param pulumi.Input[bool] vsan_compression_enabled: Whether the vSAN compression service is enabled for the cluster.
198
+ :param pulumi.Input[bool] vsan_dedup_enabled: Whether the vSAN deduplication service is enabled for the cluster.
199
+ :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
200
+ :param pulumi.Input[bool] vsan_dit_encryption_enabled: Whether the vSAN data-in-transit encryption is enabled for the cluster.
201
+ :param pulumi.Input[int] vsan_dit_rekey_interval: When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
202
+ :param pulumi.Input[bool] vsan_enabled: Whether the vSAN service is enabled for the cluster.
203
+ :param pulumi.Input[bool] vsan_esa_enabled: Whether the vSAN ESA service is enabled for the cluster.
204
+ :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainArgs']]] vsan_fault_domains: The configuration for vSAN fault domains.
205
+ :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Whether the vSAN network diagnostic mode is enabled for the cluster.
206
+ :param pulumi.Input[bool] vsan_performance_enabled: Whether the vSAN performance service is enabled for the cluster.
207
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The managed object IDs of the vSAN datastore to be mounted on the cluster.
208
+ :param pulumi.Input['ComputeClusterVsanStretchedClusterArgs'] vsan_stretched_cluster: The configuration for stretched cluster.
209
+ :param pulumi.Input[bool] vsan_unmap_enabled: Whether the vSAN unmap service is enabled for the cluster.
210
+ :param pulumi.Input[bool] vsan_verbose_mode_enabled: Whether the vSAN verbose mode is enabled for the cluster.
315
211
  """
316
212
  pulumi.set(__self__, "datacenter_id", datacenter_id)
317
213
  if custom_attributes is not None:
@@ -402,6 +298,8 @@ class ComputeClusterArgs:
402
298
  pulumi.set(__self__, "ha_vm_restart_timeout", ha_vm_restart_timeout)
403
299
  if host_cluster_exit_timeout is not None:
404
300
  pulumi.set(__self__, "host_cluster_exit_timeout", host_cluster_exit_timeout)
301
+ if host_image is not None:
302
+ pulumi.set(__self__, "host_image", host_image)
405
303
  if host_managed is not None:
406
304
  pulumi.set(__self__, "host_managed", host_managed)
407
305
  if host_system_ids is not None:
@@ -482,9 +380,7 @@ class ComputeClusterArgs:
482
380
  @pulumi.getter(name="dpmAutomationLevel")
483
381
  def dpm_automation_level(self) -> Optional[pulumi.Input[str]]:
484
382
  """
485
- The automation level for host power
486
- operations in this cluster. Can be one of `manual` or `automated`. Default:
487
- `manual`.
383
+ The automation level for host power operations in this cluster. Can be one of manual or automated.
488
384
  """
489
385
  return pulumi.get(self, "dpm_automation_level")
490
386
 
@@ -496,9 +392,8 @@ class ComputeClusterArgs:
496
392
  @pulumi.getter(name="dpmEnabled")
497
393
  def dpm_enabled(self) -> Optional[pulumi.Input[bool]]:
498
394
  """
499
- Enable DPM support for DRS in this cluster.
500
- Requires `drs_enabled` to be `true` in order to be effective.
501
- Default: `false`.
395
+ Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
396
+ machines in the cluster. Requires that DRS be enabled.
502
397
  """
503
398
  return pulumi.get(self, "dpm_enabled")
504
399
 
@@ -510,10 +405,9 @@ class ComputeClusterArgs:
510
405
  @pulumi.getter(name="dpmThreshold")
511
406
  def dpm_threshold(self) -> Optional[pulumi.Input[int]]:
512
407
  """
513
- A value between `1` and `5` indicating the
514
- threshold of load within the cluster that influences host power operations.
515
- This affects both power on and power off operations - a lower setting will
516
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
408
+ A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
409
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
410
+ setting.
517
411
  """
518
412
  return pulumi.get(self, "dpm_threshold")
519
413
 
@@ -525,8 +419,7 @@ class ComputeClusterArgs:
525
419
  @pulumi.getter(name="drsAdvancedOptions")
526
420
  def drs_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
527
421
  """
528
- A key/value map that specifies advanced
529
- options for DRS and DPM.
422
+ Advanced configuration options for DRS and DPM.
530
423
  """
531
424
  return pulumi.get(self, "drs_advanced_options")
532
425
 
@@ -538,9 +431,8 @@ class ComputeClusterArgs:
538
431
  @pulumi.getter(name="drsAutomationLevel")
539
432
  def drs_automation_level(self) -> Optional[pulumi.Input[str]]:
540
433
  """
541
- The default automation level for all
542
- virtual machines in this cluster. Can be one of `manual`,
543
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
434
+ The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
435
+ fullyAutomated.
544
436
  """
545
437
  return pulumi.get(self, "drs_automation_level")
546
438
 
@@ -552,11 +444,7 @@ class ComputeClusterArgs:
552
444
  @pulumi.getter(name="drsEnablePredictiveDrs")
553
445
  def drs_enable_predictive_drs(self) -> Optional[pulumi.Input[bool]]:
554
446
  """
555
- When `true`, enables DRS to use data
556
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
557
- recommendations. <sup>\\*</sup>
558
-
559
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
447
+ When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
560
448
  """
561
449
  return pulumi.get(self, "drs_enable_predictive_drs")
562
450
 
@@ -568,8 +456,7 @@ class ComputeClusterArgs:
568
456
  @pulumi.getter(name="drsEnableVmOverrides")
569
457
  def drs_enable_vm_overrides(self) -> Optional[pulumi.Input[bool]]:
570
458
  """
571
- Allow individual DRS overrides to be
572
- set for virtual machines in the cluster. Default: `true`.
459
+ When true, allows individual VM overrides within this cluster to be set.
573
460
  """
574
461
  return pulumi.get(self, "drs_enable_vm_overrides")
575
462
 
@@ -581,7 +468,7 @@ class ComputeClusterArgs:
581
468
  @pulumi.getter(name="drsEnabled")
582
469
  def drs_enabled(self) -> Optional[pulumi.Input[bool]]:
583
470
  """
584
- Enable DRS for this cluster. Default: `false`.
471
+ Enable DRS for this cluster.
585
472
  """
586
473
  return pulumi.get(self, "drs_enabled")
587
474
 
@@ -593,10 +480,8 @@ class ComputeClusterArgs:
593
480
  @pulumi.getter(name="drsMigrationThreshold")
594
481
  def drs_migration_threshold(self) -> Optional[pulumi.Input[int]]:
595
482
  """
596
- A value between `1` and `5` indicating
597
- the threshold of imbalance tolerated between hosts. A lower setting will
598
- tolerate more imbalance while a higher setting will tolerate less. Default:
599
- `3`.
483
+ A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
484
+ more imbalance while a higher setting will tolerate less.
600
485
  """
601
486
  return pulumi.get(self, "drs_migration_threshold")
602
487
 
@@ -608,9 +493,7 @@ class ComputeClusterArgs:
608
493
  @pulumi.getter(name="drsScaleDescendantsShares")
609
494
  def drs_scale_descendants_shares(self) -> Optional[pulumi.Input[str]]:
610
495
  """
611
- Enable scalable shares for all
612
- resource pools in the cluster. Can be one of `disabled` or
613
- `scaleCpuAndMemoryShares`. Default: `disabled`.
496
+ Enable scalable shares for all descendants of this cluster.
614
497
  """
615
498
  return pulumi.get(self, "drs_scale_descendants_shares")
616
499
 
@@ -639,18 +522,8 @@ class ComputeClusterArgs:
639
522
  @pulumi.getter(name="forceEvacuateOnDestroy")
640
523
  def force_evacuate_on_destroy(self) -> Optional[pulumi.Input[bool]]:
641
524
  """
642
- When destroying the resource, setting this to
643
- `true` will auto-remove any hosts that are currently a member of the cluster,
644
- as if they were removed by taking their entry out of `host_system_ids` (see
645
- below. This is an advanced
646
- option and should only be used for testing. Default: `false`.
647
-
648
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
649
- there are many pitfalls to its use when working with complex cluster
650
- configurations. Depending on the virtual machines currently on the cluster, and
651
- your DRS and HA settings, the full host evacuation may fail. Instead,
652
- incrementally remove hosts from your configuration by adjusting the contents of
653
- the `host_system_ids` attribute.
525
+ Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
526
+ for testing and is not recommended in normal use.
654
527
  """
655
528
  return pulumi.get(self, "force_evacuate_on_destroy")
656
529
 
@@ -662,11 +535,9 @@ class ComputeClusterArgs:
662
535
  @pulumi.getter(name="haAdmissionControlFailoverHostSystemIds")
663
536
  def ha_admission_control_failover_host_system_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
664
537
  """
665
- Defines the
666
- managed object IDs of hosts to use as dedicated failover
667
- hosts. These hosts are kept as available as possible - admission control will
668
- block access to the host, and DRS will ignore the host when making
669
- recommendations.
538
+ When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
539
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
540
+ will ignore the host when making recommendations.
670
541
  """
671
542
  return pulumi.get(self, "ha_admission_control_failover_host_system_ids")
672
543
 
@@ -678,11 +549,8 @@ class ComputeClusterArgs:
678
549
  @pulumi.getter(name="haAdmissionControlHostFailureTolerance")
679
550
  def ha_admission_control_host_failure_tolerance(self) -> Optional[pulumi.Input[int]]:
680
551
  """
681
- The maximum number
682
- of failed hosts that admission control tolerates when making decisions on
683
- whether to permit virtual machine operations. The maximum is one less than
684
- the number of hosts in the cluster. Default: `1`.
685
- <sup>\\*</sup>
552
+ The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
553
+ machine operations. The maximum is one less than the number of hosts in the cluster.
686
554
  """
687
555
  return pulumi.get(self, "ha_admission_control_host_failure_tolerance")
688
556
 
@@ -694,10 +562,8 @@ class ComputeClusterArgs:
694
562
  @pulumi.getter(name="haAdmissionControlPerformanceTolerance")
695
563
  def ha_admission_control_performance_tolerance(self) -> Optional[pulumi.Input[int]]:
696
564
  """
697
- The percentage of
698
- resource reduction that a cluster of virtual machines can tolerate in case of
699
- a failover. A value of 0 produces warnings only, whereas a value of 100
700
- disables the setting. Default: `100` (disabled).
565
+ The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
566
+ warnings only, whereas a value of 100 disables the setting.
701
567
  """
702
568
  return pulumi.get(self, "ha_admission_control_performance_tolerance")
703
569
 
@@ -709,9 +575,10 @@ class ComputeClusterArgs:
709
575
  @pulumi.getter(name="haAdmissionControlPolicy")
710
576
  def ha_admission_control_policy(self) -> Optional[pulumi.Input[str]]:
711
577
  """
712
- The type of admission control
713
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
714
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
578
+ The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
579
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
580
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
581
+ issues.
715
582
  """
716
583
  return pulumi.get(self, "ha_admission_control_policy")
717
584
 
@@ -723,12 +590,9 @@ class ComputeClusterArgs:
723
590
  @pulumi.getter(name="haAdmissionControlResourcePercentageAutoCompute")
724
591
  def ha_admission_control_resource_percentage_auto_compute(self) -> Optional[pulumi.Input[bool]]:
725
592
  """
726
- Automatically determine available resource percentages by subtracting the
727
- average number of host resources represented by the
728
- `ha_admission_control_host_failure_tolerance`
729
- setting from the total amount of resources in the cluster. Disable to supply
730
- user-defined values. Default: `true`.
731
- <sup>\\*</sup>
593
+ When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
594
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
595
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
732
596
  """
733
597
  return pulumi.get(self, "ha_admission_control_resource_percentage_auto_compute")
734
598
 
@@ -740,9 +604,8 @@ class ComputeClusterArgs:
740
604
  @pulumi.getter(name="haAdmissionControlResourcePercentageCpu")
741
605
  def ha_admission_control_resource_percentage_cpu(self) -> Optional[pulumi.Input[int]]:
742
606
  """
743
- Controls the
744
- user-defined percentage of CPU resources in the cluster to reserve for
745
- failover. Default: `100`.
607
+ When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
608
+ the cluster to reserve for failover.
746
609
  """
747
610
  return pulumi.get(self, "ha_admission_control_resource_percentage_cpu")
748
611
 
@@ -754,9 +617,8 @@ class ComputeClusterArgs:
754
617
  @pulumi.getter(name="haAdmissionControlResourcePercentageMemory")
755
618
  def ha_admission_control_resource_percentage_memory(self) -> Optional[pulumi.Input[int]]:
756
619
  """
757
- Controls the
758
- user-defined percentage of memory resources in the cluster to reserve for
759
- failover. Default: `100`.
620
+ When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
621
+ the cluster to reserve for failover.
760
622
  """
761
623
  return pulumi.get(self, "ha_admission_control_resource_percentage_memory")
762
624
 
@@ -768,8 +630,7 @@ class ComputeClusterArgs:
768
630
  @pulumi.getter(name="haAdmissionControlSlotPolicyExplicitCpu")
769
631
  def ha_admission_control_slot_policy_explicit_cpu(self) -> Optional[pulumi.Input[int]]:
770
632
  """
771
- Controls the
772
- user-defined CPU slot size, in MHz. Default: `32`.
633
+ When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
773
634
  """
774
635
  return pulumi.get(self, "ha_admission_control_slot_policy_explicit_cpu")
775
636
 
@@ -781,8 +642,7 @@ class ComputeClusterArgs:
781
642
  @pulumi.getter(name="haAdmissionControlSlotPolicyExplicitMemory")
782
643
  def ha_admission_control_slot_policy_explicit_memory(self) -> Optional[pulumi.Input[int]]:
783
644
  """
784
- Controls the
785
- user-defined memory slot size, in MB. Default: `100`.
645
+ When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
786
646
  """
787
647
  return pulumi.get(self, "ha_admission_control_slot_policy_explicit_memory")
788
648
 
@@ -794,10 +654,9 @@ class ComputeClusterArgs:
794
654
  @pulumi.getter(name="haAdmissionControlSlotPolicyUseExplicitSize")
795
655
  def ha_admission_control_slot_policy_use_explicit_size(self) -> Optional[pulumi.Input[bool]]:
796
656
  """
797
- Controls
798
- whether or not you wish to supply explicit values to CPU and memory slot
799
- sizes. The default is `false`, which tells vSphere to gather a automatic
800
- average based on all powered-on virtual machines currently in the cluster.
657
+ When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
658
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
659
+ currently in the cluster.
801
660
  """
802
661
  return pulumi.get(self, "ha_admission_control_slot_policy_use_explicit_size")
803
662
 
@@ -809,8 +668,7 @@ class ComputeClusterArgs:
809
668
  @pulumi.getter(name="haAdvancedOptions")
810
669
  def ha_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
811
670
  """
812
- A key/value map that specifies advanced
813
- options for vSphere HA.
671
+ Advanced configuration options for vSphere HA.
814
672
  """
815
673
  return pulumi.get(self, "ha_advanced_options")
816
674
 
@@ -822,10 +680,8 @@ class ComputeClusterArgs:
822
680
  @pulumi.getter(name="haDatastoreApdRecoveryAction")
823
681
  def ha_datastore_apd_recovery_action(self) -> Optional[pulumi.Input[str]]:
824
682
  """
825
- Controls the action to take
826
- on virtual machines if an APD status on an affected datastore clears in the
827
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
828
- <sup>\\*</sup>
683
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
684
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
829
685
  """
830
686
  return pulumi.get(self, "ha_datastore_apd_recovery_action")
831
687
 
@@ -837,11 +693,9 @@ class ComputeClusterArgs:
837
693
  @pulumi.getter(name="haDatastoreApdResponse")
838
694
  def ha_datastore_apd_response(self) -> Optional[pulumi.Input[str]]:
839
695
  """
840
- Controls the action to take on
841
- virtual machines when the cluster has detected loss to all paths to a
842
- relevant datastore. Can be one of `disabled`, `warning`,
843
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
844
- <sup>\\*</sup>
696
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
697
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
698
+ restartAggressive.
845
699
  """
846
700
  return pulumi.get(self, "ha_datastore_apd_response")
847
701
 
@@ -853,10 +707,8 @@ class ComputeClusterArgs:
853
707
  @pulumi.getter(name="haDatastoreApdResponseDelay")
854
708
  def ha_datastore_apd_response_delay(self) -> Optional[pulumi.Input[int]]:
855
709
  """
856
- The time, in seconds,
857
- to wait after an APD timeout event to run the response action defined in
858
- `ha_datastore_apd_response`. Default: `180`
859
- seconds (3 minutes). <sup>\\*</sup>
710
+ When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
711
+ the response action defined in ha_datastore_apd_response.
860
712
  """
861
713
  return pulumi.get(self, "ha_datastore_apd_response_delay")
862
714
 
@@ -868,11 +720,8 @@ class ComputeClusterArgs:
868
720
  @pulumi.getter(name="haDatastorePdlResponse")
869
721
  def ha_datastore_pdl_response(self) -> Optional[pulumi.Input[str]]:
870
722
  """
871
- Controls the action to take on
872
- virtual machines when the cluster has detected a permanent device loss to a
873
- relevant datastore. Can be one of `disabled`, `warning`, or
874
- `restartAggressive`. Default: `disabled`.
875
- <sup>\\*</sup>
723
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
724
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
876
725
  """
877
726
  return pulumi.get(self, "ha_datastore_pdl_response")
878
727
 
@@ -884,8 +733,7 @@ class ComputeClusterArgs:
884
733
  @pulumi.getter(name="haEnabled")
885
734
  def ha_enabled(self) -> Optional[pulumi.Input[bool]]:
886
735
  """
887
- Enable vSphere HA for this cluster. Default:
888
- `false`.
736
+ Enable vSphere HA for this cluster.
889
737
  """
890
738
  return pulumi.get(self, "ha_enabled")
891
739
 
@@ -897,10 +745,8 @@ class ComputeClusterArgs:
897
745
  @pulumi.getter(name="haHeartbeatDatastoreIds")
898
746
  def ha_heartbeat_datastore_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
899
747
  """
900
- The list of managed object IDs for
901
- preferred datastores to use for HA heartbeating. This setting is only useful
902
- when `ha_heartbeat_datastore_policy` is set
903
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
748
+ The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
749
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
904
750
  """
905
751
  return pulumi.get(self, "ha_heartbeat_datastore_ids")
906
752
 
@@ -912,10 +758,8 @@ class ComputeClusterArgs:
912
758
  @pulumi.getter(name="haHeartbeatDatastorePolicy")
913
759
  def ha_heartbeat_datastore_policy(self) -> Optional[pulumi.Input[str]]:
914
760
  """
915
- The selection policy for HA
916
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
917
- `allFeasibleDsWithUserPreference`. Default:
918
- `allFeasibleDsWithUserPreference`.
761
+ The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
762
+ allFeasibleDsWithUserPreference.
919
763
  """
920
764
  return pulumi.get(self, "ha_heartbeat_datastore_policy")
921
765
 
@@ -927,10 +771,8 @@ class ComputeClusterArgs:
927
771
  @pulumi.getter(name="haHostIsolationResponse")
928
772
  def ha_host_isolation_response(self) -> Optional[pulumi.Input[str]]:
929
773
  """
930
- The action to take on virtual
931
- machines when a host has detected that it has been isolated from the rest of
932
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
933
- `none`.
774
+ The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
775
+ Can be one of none, powerOff, or shutdown.
934
776
  """
935
777
  return pulumi.get(self, "ha_host_isolation_response")
936
778
 
@@ -942,9 +784,7 @@ class ComputeClusterArgs:
942
784
  @pulumi.getter(name="haHostMonitoring")
943
785
  def ha_host_monitoring(self) -> Optional[pulumi.Input[str]]:
944
786
  """
945
- Global setting that controls whether
946
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
947
- or `disabled`. Default: `enabled`.
787
+ Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
948
788
  """
949
789
  return pulumi.get(self, "ha_host_monitoring")
950
790
 
@@ -956,10 +796,8 @@ class ComputeClusterArgs:
956
796
  @pulumi.getter(name="haVmComponentProtection")
957
797
  def ha_vm_component_protection(self) -> Optional[pulumi.Input[str]]:
958
798
  """
959
- Controls vSphere VM component
960
- protection for virtual machines in this cluster. Can be one of `enabled` or
961
- `disabled`. Default: `enabled`.
962
- <sup>\\*</sup>
799
+ Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
800
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
963
801
  """
964
802
  return pulumi.get(self, "ha_vm_component_protection")
965
803
 
@@ -971,13 +809,8 @@ class ComputeClusterArgs:
971
809
  @pulumi.getter(name="haVmDependencyRestartCondition")
972
810
  def ha_vm_dependency_restart_condition(self) -> Optional[pulumi.Input[str]]:
973
811
  """
974
- The condition used to
975
- determine whether or not virtual machines in a certain restart priority class
976
- are online, allowing HA to move on to restarting virtual machines on the next
977
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
978
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
979
- is considered ready immediately after a host is found to start it on.
980
- <sup>\\*</sup>
812
+ The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
813
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
981
814
  """
982
815
  return pulumi.get(self, "ha_vm_dependency_restart_condition")
983
816
 
@@ -989,9 +822,8 @@ class ComputeClusterArgs:
989
822
  @pulumi.getter(name="haVmFailureInterval")
990
823
  def ha_vm_failure_interval(self) -> Optional[pulumi.Input[int]]:
991
824
  """
992
- The time interval, in seconds, a heartbeat
993
- from a virtual machine is not received within this configured interval,
994
- the virtual machine is marked as failed. Default: `30` seconds.
825
+ If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
826
+ failed. The value is in seconds.
995
827
  """
996
828
  return pulumi.get(self, "ha_vm_failure_interval")
997
829
 
@@ -1003,11 +835,9 @@ class ComputeClusterArgs:
1003
835
  @pulumi.getter(name="haVmMaximumFailureWindow")
1004
836
  def ha_vm_maximum_failure_window(self) -> Optional[pulumi.Input[int]]:
1005
837
  """
1006
- The time, in seconds, for the reset window in
1007
- which `ha_vm_maximum_resets` can operate. When this
1008
- window expires, no more resets are attempted regardless of the setting
1009
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
1010
- unlimited reset time is allotted. Default: `-1` (no window).
838
+ The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
839
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
840
+ time is allotted.
1011
841
  """
1012
842
  return pulumi.get(self, "ha_vm_maximum_failure_window")
1013
843
 
@@ -1019,8 +849,7 @@ class ComputeClusterArgs:
1019
849
  @pulumi.getter(name="haVmMaximumResets")
1020
850
  def ha_vm_maximum_resets(self) -> Optional[pulumi.Input[int]]:
1021
851
  """
1022
- The maximum number of resets that HA will
1023
- perform to a virtual machine when responding to a failure event. Default: `3`
852
+ The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
1024
853
  """
1025
854
  return pulumi.get(self, "ha_vm_maximum_resets")
1026
855
 
@@ -1032,9 +861,7 @@ class ComputeClusterArgs:
1032
861
  @pulumi.getter(name="haVmMinimumUptime")
1033
862
  def ha_vm_minimum_uptime(self) -> Optional[pulumi.Input[int]]:
1034
863
  """
1035
- The time, in seconds, that HA waits after
1036
- powering on a virtual machine before monitoring for heartbeats. Default:
1037
- `120` seconds (2 minutes).
864
+ The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
1038
865
  """
1039
866
  return pulumi.get(self, "ha_vm_minimum_uptime")
1040
867
 
@@ -1046,9 +873,8 @@ class ComputeClusterArgs:
1046
873
  @pulumi.getter(name="haVmMonitoring")
1047
874
  def ha_vm_monitoring(self) -> Optional[pulumi.Input[str]]:
1048
875
  """
1049
- The type of virtual machine monitoring to use
1050
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
1051
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
876
+ The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
877
+ vmMonitoringOnly, or vmAndAppMonitoring.
1052
878
  """
1053
879
  return pulumi.get(self, "ha_vm_monitoring")
1054
880
 
@@ -1060,9 +886,7 @@ class ComputeClusterArgs:
1060
886
  @pulumi.getter(name="haVmRestartAdditionalDelay")
1061
887
  def ha_vm_restart_additional_delay(self) -> Optional[pulumi.Input[int]]:
1062
888
  """
1063
- Additional delay, in seconds,
1064
- after ready condition is met. A VM is considered ready at this point.
1065
- Default: `0` seconds (no delay). <sup>\\*</sup>
889
+ Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
1066
890
  """
1067
891
  return pulumi.get(self, "ha_vm_restart_additional_delay")
1068
892
 
@@ -1074,9 +898,8 @@ class ComputeClusterArgs:
1074
898
  @pulumi.getter(name="haVmRestartPriority")
1075
899
  def ha_vm_restart_priority(self) -> Optional[pulumi.Input[str]]:
1076
900
  """
1077
- The default restart priority
1078
- for affected virtual machines when vSphere detects a host failure. Can be one
1079
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
901
+ The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
902
+ high, or highest.
1080
903
  """
1081
904
  return pulumi.get(self, "ha_vm_restart_priority")
1082
905
 
@@ -1088,10 +911,8 @@ class ComputeClusterArgs:
1088
911
  @pulumi.getter(name="haVmRestartTimeout")
1089
912
  def ha_vm_restart_timeout(self) -> Optional[pulumi.Input[int]]:
1090
913
  """
1091
- The maximum time, in seconds,
1092
- that vSphere HA will wait for virtual machines in one priority to be ready
1093
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
1094
- <sup>\\*</sup>
914
+ The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
915
+ proceeding with the next priority.
1095
916
  """
1096
917
  return pulumi.get(self, "ha_vm_restart_timeout")
1097
918
 
@@ -1103,8 +924,7 @@ class ComputeClusterArgs:
1103
924
  @pulumi.getter(name="hostClusterExitTimeout")
1104
925
  def host_cluster_exit_timeout(self) -> Optional[pulumi.Input[int]]:
1105
926
  """
1106
- The timeout, in seconds, for each host maintenance
1107
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
927
+ The timeout for each host maintenance mode operation when removing hosts from a cluster.
1108
928
  """
1109
929
  return pulumi.get(self, "host_cluster_exit_timeout")
1110
930
 
@@ -1112,13 +932,23 @@ class ComputeClusterArgs:
1112
932
  def host_cluster_exit_timeout(self, value: Optional[pulumi.Input[int]]):
1113
933
  pulumi.set(self, "host_cluster_exit_timeout", value)
1114
934
 
935
+ @property
936
+ @pulumi.getter(name="hostImage")
937
+ def host_image(self) -> Optional[pulumi.Input['ComputeClusterHostImageArgs']]:
938
+ """
939
+ Details about the host image which should be applied to the cluster.
940
+ """
941
+ return pulumi.get(self, "host_image")
942
+
943
+ @host_image.setter
944
+ def host_image(self, value: Optional[pulumi.Input['ComputeClusterHostImageArgs']]):
945
+ pulumi.set(self, "host_image", value)
946
+
1115
947
  @property
1116
948
  @pulumi.getter(name="hostManaged")
1117
949
  def host_managed(self) -> Optional[pulumi.Input[bool]]:
1118
950
  """
1119
- Can be set to `true` if compute cluster
1120
- membership will be managed through the `host` resource rather than the
1121
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
951
+ Must be set if cluster enrollment is managed from host resource.
1122
952
  """
1123
953
  return pulumi.get(self, "host_managed")
1124
954
 
@@ -1130,8 +960,7 @@ class ComputeClusterArgs:
1130
960
  @pulumi.getter(name="hostSystemIds")
1131
961
  def host_system_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1132
962
  """
1133
- The managed object IDs of
1134
- the hosts to put in the cluster. Conflicts with: `host_managed`.
963
+ The managed object IDs of the hosts to put in the cluster.
1135
964
  """
1136
965
  return pulumi.get(self, "host_system_ids")
1137
966
 
@@ -1155,10 +984,7 @@ class ComputeClusterArgs:
1155
984
  @pulumi.getter(name="proactiveHaAutomationLevel")
1156
985
  def proactive_ha_automation_level(self) -> Optional[pulumi.Input[str]]:
1157
986
  """
1158
- Determines how the host
1159
- quarantine, maintenance mode, or virtual machine migration recommendations
1160
- made by proactive HA are to be handled. Can be one of `Automated` or
1161
- `Manual`. Default: `Manual`. <sup>\\*</sup>
987
+ The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
1162
988
  """
1163
989
  return pulumi.get(self, "proactive_ha_automation_level")
1164
990
 
@@ -1170,8 +996,7 @@ class ComputeClusterArgs:
1170
996
  @pulumi.getter(name="proactiveHaEnabled")
1171
997
  def proactive_ha_enabled(self) -> Optional[pulumi.Input[bool]]:
1172
998
  """
1173
- Enables Proactive HA. Default: `false`.
1174
- <sup>\\*</sup>
999
+ Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
1175
1000
  """
1176
1001
  return pulumi.get(self, "proactive_ha_enabled")
1177
1002
 
@@ -1183,12 +1008,8 @@ class ComputeClusterArgs:
1183
1008
  @pulumi.getter(name="proactiveHaModerateRemediation")
1184
1009
  def proactive_ha_moderate_remediation(self) -> Optional[pulumi.Input[str]]:
1185
1010
  """
1186
- The configured remediation
1187
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
1188
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
1189
- `proactive_ha_severe_remediation` is set
1190
- to `QuarantineMode`. Default: `QuarantineMode`.
1191
- <sup>\\*</sup>
1011
+ The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
1012
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
1192
1013
  """
1193
1014
  return pulumi.get(self, "proactive_ha_moderate_remediation")
1194
1015
 
@@ -1200,9 +1021,7 @@ class ComputeClusterArgs:
1200
1021
  @pulumi.getter(name="proactiveHaProviderIds")
1201
1022
  def proactive_ha_provider_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1202
1023
  """
1203
- The list of IDs for health update
1204
- providers configured for this cluster.
1205
- <sup>\\*</sup>
1024
+ The list of IDs for health update providers configured for this cluster.
1206
1025
  """
1207
1026
  return pulumi.get(self, "proactive_ha_provider_ids")
1208
1027
 
@@ -1214,12 +1033,8 @@ class ComputeClusterArgs:
1214
1033
  @pulumi.getter(name="proactiveHaSevereRemediation")
1215
1034
  def proactive_ha_severe_remediation(self) -> Optional[pulumi.Input[str]]:
1216
1035
  """
1217
- The configured remediation for
1218
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
1219
- Note that this cannot be set to `QuarantineMode` when
1220
- `proactive_ha_moderate_remediation` is
1221
- set to `MaintenanceMode`. Default: `QuarantineMode`.
1222
- <sup>\\*</sup>
1036
+ The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
1037
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
1223
1038
  """
1224
1039
  return pulumi.get(self, "proactive_ha_severe_remediation")
1225
1040
 
@@ -1243,8 +1058,7 @@ class ComputeClusterArgs:
1243
1058
  @pulumi.getter(name="vsanCompressionEnabled")
1244
1059
  def vsan_compression_enabled(self) -> Optional[pulumi.Input[bool]]:
1245
1060
  """
1246
- Enables vSAN compression on the
1247
- cluster.
1061
+ Whether the vSAN compression service is enabled for the cluster.
1248
1062
  """
1249
1063
  return pulumi.get(self, "vsan_compression_enabled")
1250
1064
 
@@ -1256,9 +1070,7 @@ class ComputeClusterArgs:
1256
1070
  @pulumi.getter(name="vsanDedupEnabled")
1257
1071
  def vsan_dedup_enabled(self) -> Optional[pulumi.Input[bool]]:
1258
1072
  """
1259
- Enables vSAN deduplication on the cluster.
1260
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
1261
- compression must also be enabled.
1073
+ Whether the vSAN deduplication service is enabled for the cluster.
1262
1074
  """
1263
1075
  return pulumi.get(self, "vsan_dedup_enabled")
1264
1076
 
@@ -1270,8 +1082,7 @@ class ComputeClusterArgs:
1270
1082
  @pulumi.getter(name="vsanDiskGroups")
1271
1083
  def vsan_disk_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]]]:
1272
1084
  """
1273
- Represents the configuration of a host disk
1274
- group in the cluster.
1085
+ A list of disk UUIDs to add to the vSAN cluster.
1275
1086
  """
1276
1087
  return pulumi.get(self, "vsan_disk_groups")
1277
1088
 
@@ -1283,10 +1094,7 @@ class ComputeClusterArgs:
1283
1094
  @pulumi.getter(name="vsanDitEncryptionEnabled")
1284
1095
  def vsan_dit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]:
1285
1096
  """
1286
- Enables vSAN data-in-transit
1287
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
1288
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
1289
- at the same time.
1097
+ Whether the vSAN data-in-transit encryption is enabled for the cluster.
1290
1098
  """
1291
1099
  return pulumi.get(self, "vsan_dit_encryption_enabled")
1292
1100
 
@@ -1298,9 +1106,7 @@ class ComputeClusterArgs:
1298
1106
  @pulumi.getter(name="vsanDitRekeyInterval")
1299
1107
  def vsan_dit_rekey_interval(self) -> Optional[pulumi.Input[int]]:
1300
1108
  """
1301
- Indicates the rekey interval in
1302
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
1303
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
1109
+ When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
1304
1110
  """
1305
1111
  return pulumi.get(self, "vsan_dit_rekey_interval")
1306
1112
 
@@ -1312,7 +1118,7 @@ class ComputeClusterArgs:
1312
1118
  @pulumi.getter(name="vsanEnabled")
1313
1119
  def vsan_enabled(self) -> Optional[pulumi.Input[bool]]:
1314
1120
  """
1315
- Enables vSAN on the cluster.
1121
+ Whether the vSAN service is enabled for the cluster.
1316
1122
  """
1317
1123
  return pulumi.get(self, "vsan_enabled")
1318
1124
 
@@ -1324,7 +1130,7 @@ class ComputeClusterArgs:
1324
1130
  @pulumi.getter(name="vsanEsaEnabled")
1325
1131
  def vsan_esa_enabled(self) -> Optional[pulumi.Input[bool]]:
1326
1132
  """
1327
- Enables vSAN ESA on the cluster.
1133
+ Whether the vSAN ESA service is enabled for the cluster.
1328
1134
  """
1329
1135
  return pulumi.get(self, "vsan_esa_enabled")
1330
1136
 
@@ -1336,7 +1142,7 @@ class ComputeClusterArgs:
1336
1142
  @pulumi.getter(name="vsanFaultDomains")
1337
1143
  def vsan_fault_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainArgs']]]]:
1338
1144
  """
1339
- Configurations of vSAN fault domains.
1145
+ The configuration for vSAN fault domains.
1340
1146
  """
1341
1147
  return pulumi.get(self, "vsan_fault_domains")
1342
1148
 
@@ -1348,8 +1154,7 @@ class ComputeClusterArgs:
1348
1154
  @pulumi.getter(name="vsanNetworkDiagnosticModeEnabled")
1349
1155
  def vsan_network_diagnostic_mode_enabled(self) -> Optional[pulumi.Input[bool]]:
1350
1156
  """
1351
- Enables network
1352
- diagnostic mode for vSAN performance service on the cluster.
1157
+ Whether the vSAN network diagnostic mode is enabled for the cluster.
1353
1158
  """
1354
1159
  return pulumi.get(self, "vsan_network_diagnostic_mode_enabled")
1355
1160
 
@@ -1361,8 +1166,7 @@ class ComputeClusterArgs:
1361
1166
  @pulumi.getter(name="vsanPerformanceEnabled")
1362
1167
  def vsan_performance_enabled(self) -> Optional[pulumi.Input[bool]]:
1363
1168
  """
1364
- Enables vSAN performance service on
1365
- the cluster. Default: `true`.
1169
+ Whether the vSAN performance service is enabled for the cluster.
1366
1170
  """
1367
1171
  return pulumi.get(self, "vsan_performance_enabled")
1368
1172
 
@@ -1374,10 +1178,7 @@ class ComputeClusterArgs:
1374
1178
  @pulumi.getter(name="vsanRemoteDatastoreIds")
1375
1179
  def vsan_remote_datastore_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1376
1180
  """
1377
- The remote vSAN datastore IDs to be
1378
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
1379
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
1380
- data-in-transit encryption feature at the same time.
1181
+ The managed object IDs of the vSAN datastore to be mounted on the cluster.
1381
1182
  """
1382
1183
  return pulumi.get(self, "vsan_remote_datastore_ids")
1383
1184
 
@@ -1389,7 +1190,7 @@ class ComputeClusterArgs:
1389
1190
  @pulumi.getter(name="vsanStretchedCluster")
1390
1191
  def vsan_stretched_cluster(self) -> Optional[pulumi.Input['ComputeClusterVsanStretchedClusterArgs']]:
1391
1192
  """
1392
- Configurations of vSAN stretched cluster.
1193
+ The configuration for stretched cluster.
1393
1194
  """
1394
1195
  return pulumi.get(self, "vsan_stretched_cluster")
1395
1196
 
@@ -1401,8 +1202,7 @@ class ComputeClusterArgs:
1401
1202
  @pulumi.getter(name="vsanUnmapEnabled")
1402
1203
  def vsan_unmap_enabled(self) -> Optional[pulumi.Input[bool]]:
1403
1204
  """
1404
- Enables vSAN unmap on the cluster.
1405
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
1205
+ Whether the vSAN unmap service is enabled for the cluster.
1406
1206
  """
1407
1207
  return pulumi.get(self, "vsan_unmap_enabled")
1408
1208
 
@@ -1414,8 +1214,7 @@ class ComputeClusterArgs:
1414
1214
  @pulumi.getter(name="vsanVerboseModeEnabled")
1415
1215
  def vsan_verbose_mode_enabled(self) -> Optional[pulumi.Input[bool]]:
1416
1216
  """
1417
- Enables verbose mode for vSAN
1418
- performance service on the cluster.
1217
+ Whether the vSAN verbose mode is enabled for the cluster.
1419
1218
  """
1420
1219
  return pulumi.get(self, "vsan_verbose_mode_enabled")
1421
1220
 
@@ -1472,6 +1271,7 @@ class _ComputeClusterState:
1472
1271
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
1473
1272
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
1474
1273
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
1274
+ host_image: Optional[pulumi.Input['ComputeClusterHostImageArgs']] = None,
1475
1275
  host_managed: Optional[pulumi.Input[bool]] = None,
1476
1276
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1477
1277
  name: Optional[pulumi.Input[str]] = None,
@@ -1505,230 +1305,120 @@ class _ComputeClusterState:
1505
1305
  and require vCenter Server.
1506
1306
  :param pulumi.Input[str] datacenter_id: The managed object ID of
1507
1307
  the datacenter to create the cluster in. Forces a new resource if changed.
1508
- :param pulumi.Input[str] dpm_automation_level: The automation level for host power
1509
- operations in this cluster. Can be one of `manual` or `automated`. Default:
1510
- `manual`.
1511
- :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS in this cluster.
1512
- Requires `drs_enabled` to be `true` in order to be effective.
1513
- Default: `false`.
1514
- :param pulumi.Input[int] dpm_threshold: A value between `1` and `5` indicating the
1515
- threshold of load within the cluster that influences host power operations.
1516
- This affects both power on and power off operations - a lower setting will
1517
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
1518
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: A key/value map that specifies advanced
1519
- options for DRS and DPM.
1520
- :param pulumi.Input[str] drs_automation_level: The default automation level for all
1521
- virtual machines in this cluster. Can be one of `manual`,
1522
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
1523
- :param pulumi.Input[bool] drs_enable_predictive_drs: When `true`, enables DRS to use data
1524
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
1525
- recommendations. <sup>\\*</sup>
1526
-
1527
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
1528
- :param pulumi.Input[bool] drs_enable_vm_overrides: Allow individual DRS overrides to be
1529
- set for virtual machines in the cluster. Default: `true`.
1530
- :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster. Default: `false`.
1531
- :param pulumi.Input[int] drs_migration_threshold: A value between `1` and `5` indicating
1532
- the threshold of imbalance tolerated between hosts. A lower setting will
1533
- tolerate more imbalance while a higher setting will tolerate less. Default:
1534
- `3`.
1535
- :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all
1536
- resource pools in the cluster. Can be one of `disabled` or
1537
- `scaleCpuAndMemoryShares`. Default: `disabled`.
1308
+ :param pulumi.Input[str] dpm_automation_level: The automation level for host power operations in this cluster. Can be one of manual or automated.
1309
+ :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
1310
+ machines in the cluster. Requires that DRS be enabled.
1311
+ :param pulumi.Input[int] dpm_threshold: A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
1312
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
1313
+ setting.
1314
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: Advanced configuration options for DRS and DPM.
1315
+ :param pulumi.Input[str] drs_automation_level: The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
1316
+ fullyAutomated.
1317
+ :param pulumi.Input[bool] drs_enable_predictive_drs: When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
1318
+ :param pulumi.Input[bool] drs_enable_vm_overrides: When true, allows individual VM overrides within this cluster to be set.
1319
+ :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster.
1320
+ :param pulumi.Input[int] drs_migration_threshold: A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
1321
+ more imbalance while a higher setting will tolerate less.
1322
+ :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all descendants of this cluster.
1538
1323
  :param pulumi.Input[str] folder: The relative path to a folder to put this cluster in.
1539
1324
  This is a path relative to the datacenter you are deploying the cluster to.
1540
1325
  Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
1541
1326
  The provider will place a cluster named `compute-cluster-test` in a
1542
1327
  host folder located at `/dc1/host/foo/bar`, with the final inventory path
1543
1328
  being `/dc1/host/foo/bar/datastore-cluster-test`.
1544
- :param pulumi.Input[bool] force_evacuate_on_destroy: When destroying the resource, setting this to
1545
- `true` will auto-remove any hosts that are currently a member of the cluster,
1546
- as if they were removed by taking their entry out of `host_system_ids` (see
1547
- below. This is an advanced
1548
- option and should only be used for testing. Default: `false`.
1549
-
1550
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
1551
- there are many pitfalls to its use when working with complex cluster
1552
- configurations. Depending on the virtual machines currently on the cluster, and
1553
- your DRS and HA settings, the full host evacuation may fail. Instead,
1554
- incrementally remove hosts from your configuration by adjusting the contents of
1555
- the `host_system_ids` attribute.
1556
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: Defines the
1557
- managed object IDs of hosts to use as dedicated failover
1558
- hosts. These hosts are kept as available as possible - admission control will
1559
- block access to the host, and DRS will ignore the host when making
1560
- recommendations.
1561
- :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number
1562
- of failed hosts that admission control tolerates when making decisions on
1563
- whether to permit virtual machine operations. The maximum is one less than
1564
- the number of hosts in the cluster. Default: `1`.
1565
- <sup>\\*</sup>
1566
- :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of
1567
- resource reduction that a cluster of virtual machines can tolerate in case of
1568
- a failover. A value of 0 produces warnings only, whereas a value of 100
1569
- disables the setting. Default: `100` (disabled).
1570
- :param pulumi.Input[str] ha_admission_control_policy: The type of admission control
1571
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
1572
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
1573
- :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: Automatically determine available resource percentages by subtracting the
1574
- average number of host resources represented by the
1575
- `ha_admission_control_host_failure_tolerance`
1576
- setting from the total amount of resources in the cluster. Disable to supply
1577
- user-defined values. Default: `true`.
1578
- <sup>\\*</sup>
1579
- :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: Controls the
1580
- user-defined percentage of CPU resources in the cluster to reserve for
1581
- failover. Default: `100`.
1582
- :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: Controls the
1583
- user-defined percentage of memory resources in the cluster to reserve for
1584
- failover. Default: `100`.
1585
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: Controls the
1586
- user-defined CPU slot size, in MHz. Default: `32`.
1587
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: Controls the
1588
- user-defined memory slot size, in MB. Default: `100`.
1589
- :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: Controls
1590
- whether or not you wish to supply explicit values to CPU and memory slot
1591
- sizes. The default is `false`, which tells vSphere to gather a automatic
1592
- average based on all powered-on virtual machines currently in the cluster.
1593
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: A key/value map that specifies advanced
1594
- options for vSphere HA.
1595
- :param pulumi.Input[str] ha_datastore_apd_recovery_action: Controls the action to take
1596
- on virtual machines if an APD status on an affected datastore clears in the
1597
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
1598
- <sup>\\*</sup>
1599
- :param pulumi.Input[str] ha_datastore_apd_response: Controls the action to take on
1600
- virtual machines when the cluster has detected loss to all paths to a
1601
- relevant datastore. Can be one of `disabled`, `warning`,
1602
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
1603
- <sup>\\*</sup>
1604
- :param pulumi.Input[int] ha_datastore_apd_response_delay: The time, in seconds,
1605
- to wait after an APD timeout event to run the response action defined in
1606
- `ha_datastore_apd_response`. Default: `180`
1607
- seconds (3 minutes). <sup>\\*</sup>
1608
- :param pulumi.Input[str] ha_datastore_pdl_response: Controls the action to take on
1609
- virtual machines when the cluster has detected a permanent device loss to a
1610
- relevant datastore. Can be one of `disabled`, `warning`, or
1611
- `restartAggressive`. Default: `disabled`.
1612
- <sup>\\*</sup>
1613
- :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster. Default:
1614
- `false`.
1615
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for
1616
- preferred datastores to use for HA heartbeating. This setting is only useful
1617
- when `ha_heartbeat_datastore_policy` is set
1618
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
1619
- :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA
1620
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
1621
- `allFeasibleDsWithUserPreference`. Default:
1622
- `allFeasibleDsWithUserPreference`.
1623
- :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual
1624
- machines when a host has detected that it has been isolated from the rest of
1625
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
1626
- `none`.
1627
- :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether
1628
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
1629
- or `disabled`. Default: `enabled`.
1630
- :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component
1631
- protection for virtual machines in this cluster. Can be one of `enabled` or
1632
- `disabled`. Default: `enabled`.
1633
- <sup>\\*</sup>
1634
- :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to
1635
- determine whether or not virtual machines in a certain restart priority class
1636
- are online, allowing HA to move on to restarting virtual machines on the next
1637
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
1638
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
1639
- is considered ready immediately after a host is found to start it on.
1640
- <sup>\\*</sup>
1641
- :param pulumi.Input[int] ha_vm_failure_interval: The time interval, in seconds, a heartbeat
1642
- from a virtual machine is not received within this configured interval,
1643
- the virtual machine is marked as failed. Default: `30` seconds.
1644
- :param pulumi.Input[int] ha_vm_maximum_failure_window: The time, in seconds, for the reset window in
1645
- which `ha_vm_maximum_resets` can operate. When this
1646
- window expires, no more resets are attempted regardless of the setting
1647
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
1648
- unlimited reset time is allotted. Default: `-1` (no window).
1649
- :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will
1650
- perform to a virtual machine when responding to a failure event. Default: `3`
1651
- :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after
1652
- powering on a virtual machine before monitoring for heartbeats. Default:
1653
- `120` seconds (2 minutes).
1654
- :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use
1655
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
1656
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
1657
- :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay, in seconds,
1658
- after ready condition is met. A VM is considered ready at this point.
1659
- Default: `0` seconds (no delay). <sup>\\*</sup>
1660
- :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority
1661
- for affected virtual machines when vSphere detects a host failure. Can be one
1662
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
1663
- :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds,
1664
- that vSphere HA will wait for virtual machines in one priority to be ready
1665
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
1666
- <sup>\\*</sup>
1667
- :param pulumi.Input[int] host_cluster_exit_timeout: The timeout, in seconds, for each host maintenance
1668
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
1669
- :param pulumi.Input[bool] host_managed: Can be set to `true` if compute cluster
1670
- membership will be managed through the `host` resource rather than the
1671
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
1672
- :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of
1673
- the hosts to put in the cluster. Conflicts with: `host_managed`.
1329
+ :param pulumi.Input[bool] force_evacuate_on_destroy: Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
1330
+ for testing and is not recommended in normal use.
1331
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
1332
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
1333
+ will ignore the host when making recommendations.
1334
+ :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
1335
+ machine operations. The maximum is one less than the number of hosts in the cluster.
1336
+ :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
1337
+ warnings only, whereas a value of 100 disables the setting.
1338
+ :param pulumi.Input[str] ha_admission_control_policy: The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
1339
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
1340
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
1341
+ issues.
1342
+ :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
1343
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
1344
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
1345
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
1346
+ the cluster to reserve for failover.
1347
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
1348
+ the cluster to reserve for failover.
1349
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
1350
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
1351
+ :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
1352
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
1353
+ currently in the cluster.
1354
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: Advanced configuration options for vSphere HA.
1355
+ :param pulumi.Input[str] ha_datastore_apd_recovery_action: When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
1356
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
1357
+ :param pulumi.Input[str] ha_datastore_apd_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
1358
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
1359
+ restartAggressive.
1360
+ :param pulumi.Input[int] ha_datastore_apd_response_delay: When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
1361
+ the response action defined in ha_datastore_apd_response.
1362
+ :param pulumi.Input[str] ha_datastore_pdl_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
1363
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
1364
+ :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster.
1365
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
1366
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
1367
+ :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
1368
+ allFeasibleDsWithUserPreference.
1369
+ :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
1370
+ Can be one of none, powerOff, or shutdown.
1371
+ :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
1372
+ :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
1373
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
1374
+ :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
1375
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
1376
+ :param pulumi.Input[int] ha_vm_failure_interval: If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
1377
+ failed. The value is in seconds.
1378
+ :param pulumi.Input[int] ha_vm_maximum_failure_window: The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
1379
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
1380
+ time is allotted.
1381
+ :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
1382
+ :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
1383
+ :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
1384
+ vmMonitoringOnly, or vmAndAppMonitoring.
1385
+ :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
1386
+ :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
1387
+ high, or highest.
1388
+ :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
1389
+ proceeding with the next priority.
1390
+ :param pulumi.Input[int] host_cluster_exit_timeout: The timeout for each host maintenance mode operation when removing hosts from a cluster.
1391
+ :param pulumi.Input['ComputeClusterHostImageArgs'] host_image: Details about the host image which should be applied to the cluster.
1392
+ :param pulumi.Input[bool] host_managed: Must be set if cluster enrollment is managed from host resource.
1393
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of the hosts to put in the cluster.
1674
1394
  :param pulumi.Input[str] name: The name of the cluster.
1675
- :param pulumi.Input[str] proactive_ha_automation_level: Determines how the host
1676
- quarantine, maintenance mode, or virtual machine migration recommendations
1677
- made by proactive HA are to be handled. Can be one of `Automated` or
1678
- `Manual`. Default: `Manual`. <sup>\\*</sup>
1679
- :param pulumi.Input[bool] proactive_ha_enabled: Enables Proactive HA. Default: `false`.
1680
- <sup>\\*</sup>
1681
- :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation
1682
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
1683
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
1684
- `proactive_ha_severe_remediation` is set
1685
- to `QuarantineMode`. Default: `QuarantineMode`.
1686
- <sup>\\*</sup>
1687
- :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update
1688
- providers configured for this cluster.
1689
- <sup>\\*</sup>
1690
- :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for
1691
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
1692
- Note that this cannot be set to `QuarantineMode` when
1693
- `proactive_ha_moderate_remediation` is
1694
- set to `MaintenanceMode`. Default: `QuarantineMode`.
1695
- <sup>\\*</sup>
1395
+ :param pulumi.Input[str] proactive_ha_automation_level: The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
1396
+ :param pulumi.Input[bool] proactive_ha_enabled: Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
1397
+ :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
1398
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
1399
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update providers configured for this cluster.
1400
+ :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
1401
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
1696
1402
  :param pulumi.Input[str] resource_pool_id: The managed object ID of the primary
1697
1403
  resource pool for this cluster. This can be passed directly to the
1698
1404
  `resource_pool_id`
1699
1405
  attribute of the
1700
1406
  `VirtualMachine` resource.
1701
1407
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
1702
- :param pulumi.Input[bool] vsan_compression_enabled: Enables vSAN compression on the
1703
- cluster.
1704
- :param pulumi.Input[bool] vsan_dedup_enabled: Enables vSAN deduplication on the cluster.
1705
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
1706
- compression must also be enabled.
1707
- :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]] vsan_disk_groups: Represents the configuration of a host disk
1708
- group in the cluster.
1709
- :param pulumi.Input[bool] vsan_dit_encryption_enabled: Enables vSAN data-in-transit
1710
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
1711
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
1712
- at the same time.
1713
- :param pulumi.Input[int] vsan_dit_rekey_interval: Indicates the rekey interval in
1714
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
1715
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
1716
- :param pulumi.Input[bool] vsan_enabled: Enables vSAN on the cluster.
1717
- :param pulumi.Input[bool] vsan_esa_enabled: Enables vSAN ESA on the cluster.
1718
- :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainArgs']]] vsan_fault_domains: Configurations of vSAN fault domains.
1719
- :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Enables network
1720
- diagnostic mode for vSAN performance service on the cluster.
1721
- :param pulumi.Input[bool] vsan_performance_enabled: Enables vSAN performance service on
1722
- the cluster. Default: `true`.
1723
- :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The remote vSAN datastore IDs to be
1724
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
1725
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
1726
- data-in-transit encryption feature at the same time.
1727
- :param pulumi.Input['ComputeClusterVsanStretchedClusterArgs'] vsan_stretched_cluster: Configurations of vSAN stretched cluster.
1728
- :param pulumi.Input[bool] vsan_unmap_enabled: Enables vSAN unmap on the cluster.
1729
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
1730
- :param pulumi.Input[bool] vsan_verbose_mode_enabled: Enables verbose mode for vSAN
1731
- performance service on the cluster.
1408
+ :param pulumi.Input[bool] vsan_compression_enabled: Whether the vSAN compression service is enabled for the cluster.
1409
+ :param pulumi.Input[bool] vsan_dedup_enabled: Whether the vSAN deduplication service is enabled for the cluster.
1410
+ :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
1411
+ :param pulumi.Input[bool] vsan_dit_encryption_enabled: Whether the vSAN data-in-transit encryption is enabled for the cluster.
1412
+ :param pulumi.Input[int] vsan_dit_rekey_interval: When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
1413
+ :param pulumi.Input[bool] vsan_enabled: Whether the vSAN service is enabled for the cluster.
1414
+ :param pulumi.Input[bool] vsan_esa_enabled: Whether the vSAN ESA service is enabled for the cluster.
1415
+ :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainArgs']]] vsan_fault_domains: The configuration for vSAN fault domains.
1416
+ :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Whether the vSAN network diagnostic mode is enabled for the cluster.
1417
+ :param pulumi.Input[bool] vsan_performance_enabled: Whether the vSAN performance service is enabled for the cluster.
1418
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The managed object IDs of the vSAN datastore to be mounted on the cluster.
1419
+ :param pulumi.Input['ComputeClusterVsanStretchedClusterArgs'] vsan_stretched_cluster: The configuration for stretched cluster.
1420
+ :param pulumi.Input[bool] vsan_unmap_enabled: Whether the vSAN unmap service is enabled for the cluster.
1421
+ :param pulumi.Input[bool] vsan_verbose_mode_enabled: Whether the vSAN verbose mode is enabled for the cluster.
1732
1422
  """
1733
1423
  if custom_attributes is not None:
1734
1424
  pulumi.set(__self__, "custom_attributes", custom_attributes)
@@ -1820,6 +1510,8 @@ class _ComputeClusterState:
1820
1510
  pulumi.set(__self__, "ha_vm_restart_timeout", ha_vm_restart_timeout)
1821
1511
  if host_cluster_exit_timeout is not None:
1822
1512
  pulumi.set(__self__, "host_cluster_exit_timeout", host_cluster_exit_timeout)
1513
+ if host_image is not None:
1514
+ pulumi.set(__self__, "host_image", host_image)
1823
1515
  if host_managed is not None:
1824
1516
  pulumi.set(__self__, "host_managed", host_managed)
1825
1517
  if host_system_ids is not None:
@@ -1902,9 +1594,7 @@ class _ComputeClusterState:
1902
1594
  @pulumi.getter(name="dpmAutomationLevel")
1903
1595
  def dpm_automation_level(self) -> Optional[pulumi.Input[str]]:
1904
1596
  """
1905
- The automation level for host power
1906
- operations in this cluster. Can be one of `manual` or `automated`. Default:
1907
- `manual`.
1597
+ The automation level for host power operations in this cluster. Can be one of manual or automated.
1908
1598
  """
1909
1599
  return pulumi.get(self, "dpm_automation_level")
1910
1600
 
@@ -1916,9 +1606,8 @@ class _ComputeClusterState:
1916
1606
  @pulumi.getter(name="dpmEnabled")
1917
1607
  def dpm_enabled(self) -> Optional[pulumi.Input[bool]]:
1918
1608
  """
1919
- Enable DPM support for DRS in this cluster.
1920
- Requires `drs_enabled` to be `true` in order to be effective.
1921
- Default: `false`.
1609
+ Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
1610
+ machines in the cluster. Requires that DRS be enabled.
1922
1611
  """
1923
1612
  return pulumi.get(self, "dpm_enabled")
1924
1613
 
@@ -1930,10 +1619,9 @@ class _ComputeClusterState:
1930
1619
  @pulumi.getter(name="dpmThreshold")
1931
1620
  def dpm_threshold(self) -> Optional[pulumi.Input[int]]:
1932
1621
  """
1933
- A value between `1` and `5` indicating the
1934
- threshold of load within the cluster that influences host power operations.
1935
- This affects both power on and power off operations - a lower setting will
1936
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
1622
+ A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
1623
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
1624
+ setting.
1937
1625
  """
1938
1626
  return pulumi.get(self, "dpm_threshold")
1939
1627
 
@@ -1945,8 +1633,7 @@ class _ComputeClusterState:
1945
1633
  @pulumi.getter(name="drsAdvancedOptions")
1946
1634
  def drs_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
1947
1635
  """
1948
- A key/value map that specifies advanced
1949
- options for DRS and DPM.
1636
+ Advanced configuration options for DRS and DPM.
1950
1637
  """
1951
1638
  return pulumi.get(self, "drs_advanced_options")
1952
1639
 
@@ -1958,9 +1645,8 @@ class _ComputeClusterState:
1958
1645
  @pulumi.getter(name="drsAutomationLevel")
1959
1646
  def drs_automation_level(self) -> Optional[pulumi.Input[str]]:
1960
1647
  """
1961
- The default automation level for all
1962
- virtual machines in this cluster. Can be one of `manual`,
1963
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
1648
+ The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
1649
+ fullyAutomated.
1964
1650
  """
1965
1651
  return pulumi.get(self, "drs_automation_level")
1966
1652
 
@@ -1972,11 +1658,7 @@ class _ComputeClusterState:
1972
1658
  @pulumi.getter(name="drsEnablePredictiveDrs")
1973
1659
  def drs_enable_predictive_drs(self) -> Optional[pulumi.Input[bool]]:
1974
1660
  """
1975
- When `true`, enables DRS to use data
1976
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
1977
- recommendations. <sup>\\*</sup>
1978
-
1979
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
1661
+ When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
1980
1662
  """
1981
1663
  return pulumi.get(self, "drs_enable_predictive_drs")
1982
1664
 
@@ -1988,8 +1670,7 @@ class _ComputeClusterState:
1988
1670
  @pulumi.getter(name="drsEnableVmOverrides")
1989
1671
  def drs_enable_vm_overrides(self) -> Optional[pulumi.Input[bool]]:
1990
1672
  """
1991
- Allow individual DRS overrides to be
1992
- set for virtual machines in the cluster. Default: `true`.
1673
+ When true, allows individual VM overrides within this cluster to be set.
1993
1674
  """
1994
1675
  return pulumi.get(self, "drs_enable_vm_overrides")
1995
1676
 
@@ -2001,7 +1682,7 @@ class _ComputeClusterState:
2001
1682
  @pulumi.getter(name="drsEnabled")
2002
1683
  def drs_enabled(self) -> Optional[pulumi.Input[bool]]:
2003
1684
  """
2004
- Enable DRS for this cluster. Default: `false`.
1685
+ Enable DRS for this cluster.
2005
1686
  """
2006
1687
  return pulumi.get(self, "drs_enabled")
2007
1688
 
@@ -2013,10 +1694,8 @@ class _ComputeClusterState:
2013
1694
  @pulumi.getter(name="drsMigrationThreshold")
2014
1695
  def drs_migration_threshold(self) -> Optional[pulumi.Input[int]]:
2015
1696
  """
2016
- A value between `1` and `5` indicating
2017
- the threshold of imbalance tolerated between hosts. A lower setting will
2018
- tolerate more imbalance while a higher setting will tolerate less. Default:
2019
- `3`.
1697
+ A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
1698
+ more imbalance while a higher setting will tolerate less.
2020
1699
  """
2021
1700
  return pulumi.get(self, "drs_migration_threshold")
2022
1701
 
@@ -2028,9 +1707,7 @@ class _ComputeClusterState:
2028
1707
  @pulumi.getter(name="drsScaleDescendantsShares")
2029
1708
  def drs_scale_descendants_shares(self) -> Optional[pulumi.Input[str]]:
2030
1709
  """
2031
- Enable scalable shares for all
2032
- resource pools in the cluster. Can be one of `disabled` or
2033
- `scaleCpuAndMemoryShares`. Default: `disabled`.
1710
+ Enable scalable shares for all descendants of this cluster.
2034
1711
  """
2035
1712
  return pulumi.get(self, "drs_scale_descendants_shares")
2036
1713
 
@@ -2059,18 +1736,8 @@ class _ComputeClusterState:
2059
1736
  @pulumi.getter(name="forceEvacuateOnDestroy")
2060
1737
  def force_evacuate_on_destroy(self) -> Optional[pulumi.Input[bool]]:
2061
1738
  """
2062
- When destroying the resource, setting this to
2063
- `true` will auto-remove any hosts that are currently a member of the cluster,
2064
- as if they were removed by taking their entry out of `host_system_ids` (see
2065
- below. This is an advanced
2066
- option and should only be used for testing. Default: `false`.
2067
-
2068
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
2069
- there are many pitfalls to its use when working with complex cluster
2070
- configurations. Depending on the virtual machines currently on the cluster, and
2071
- your DRS and HA settings, the full host evacuation may fail. Instead,
2072
- incrementally remove hosts from your configuration by adjusting the contents of
2073
- the `host_system_ids` attribute.
1739
+ Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
1740
+ for testing and is not recommended in normal use.
2074
1741
  """
2075
1742
  return pulumi.get(self, "force_evacuate_on_destroy")
2076
1743
 
@@ -2082,11 +1749,9 @@ class _ComputeClusterState:
2082
1749
  @pulumi.getter(name="haAdmissionControlFailoverHostSystemIds")
2083
1750
  def ha_admission_control_failover_host_system_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2084
1751
  """
2085
- Defines the
2086
- managed object IDs of hosts to use as dedicated failover
2087
- hosts. These hosts are kept as available as possible - admission control will
2088
- block access to the host, and DRS will ignore the host when making
2089
- recommendations.
1752
+ When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
1753
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
1754
+ will ignore the host when making recommendations.
2090
1755
  """
2091
1756
  return pulumi.get(self, "ha_admission_control_failover_host_system_ids")
2092
1757
 
@@ -2098,11 +1763,8 @@ class _ComputeClusterState:
2098
1763
  @pulumi.getter(name="haAdmissionControlHostFailureTolerance")
2099
1764
  def ha_admission_control_host_failure_tolerance(self) -> Optional[pulumi.Input[int]]:
2100
1765
  """
2101
- The maximum number
2102
- of failed hosts that admission control tolerates when making decisions on
2103
- whether to permit virtual machine operations. The maximum is one less than
2104
- the number of hosts in the cluster. Default: `1`.
2105
- <sup>\\*</sup>
1766
+ The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
1767
+ machine operations. The maximum is one less than the number of hosts in the cluster.
2106
1768
  """
2107
1769
  return pulumi.get(self, "ha_admission_control_host_failure_tolerance")
2108
1770
 
@@ -2114,10 +1776,8 @@ class _ComputeClusterState:
2114
1776
  @pulumi.getter(name="haAdmissionControlPerformanceTolerance")
2115
1777
  def ha_admission_control_performance_tolerance(self) -> Optional[pulumi.Input[int]]:
2116
1778
  """
2117
- The percentage of
2118
- resource reduction that a cluster of virtual machines can tolerate in case of
2119
- a failover. A value of 0 produces warnings only, whereas a value of 100
2120
- disables the setting. Default: `100` (disabled).
1779
+ The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
1780
+ warnings only, whereas a value of 100 disables the setting.
2121
1781
  """
2122
1782
  return pulumi.get(self, "ha_admission_control_performance_tolerance")
2123
1783
 
@@ -2129,9 +1789,10 @@ class _ComputeClusterState:
2129
1789
  @pulumi.getter(name="haAdmissionControlPolicy")
2130
1790
  def ha_admission_control_policy(self) -> Optional[pulumi.Input[str]]:
2131
1791
  """
2132
- The type of admission control
2133
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
2134
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
1792
+ The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
1793
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
1794
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
1795
+ issues.
2135
1796
  """
2136
1797
  return pulumi.get(self, "ha_admission_control_policy")
2137
1798
 
@@ -2143,12 +1804,9 @@ class _ComputeClusterState:
2143
1804
  @pulumi.getter(name="haAdmissionControlResourcePercentageAutoCompute")
2144
1805
  def ha_admission_control_resource_percentage_auto_compute(self) -> Optional[pulumi.Input[bool]]:
2145
1806
  """
2146
- Automatically determine available resource percentages by subtracting the
2147
- average number of host resources represented by the
2148
- `ha_admission_control_host_failure_tolerance`
2149
- setting from the total amount of resources in the cluster. Disable to supply
2150
- user-defined values. Default: `true`.
2151
- <sup>\\*</sup>
1807
+ When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
1808
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
1809
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
2152
1810
  """
2153
1811
  return pulumi.get(self, "ha_admission_control_resource_percentage_auto_compute")
2154
1812
 
@@ -2160,9 +1818,8 @@ class _ComputeClusterState:
2160
1818
  @pulumi.getter(name="haAdmissionControlResourcePercentageCpu")
2161
1819
  def ha_admission_control_resource_percentage_cpu(self) -> Optional[pulumi.Input[int]]:
2162
1820
  """
2163
- Controls the
2164
- user-defined percentage of CPU resources in the cluster to reserve for
2165
- failover. Default: `100`.
1821
+ When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
1822
+ the cluster to reserve for failover.
2166
1823
  """
2167
1824
  return pulumi.get(self, "ha_admission_control_resource_percentage_cpu")
2168
1825
 
@@ -2174,9 +1831,8 @@ class _ComputeClusterState:
2174
1831
  @pulumi.getter(name="haAdmissionControlResourcePercentageMemory")
2175
1832
  def ha_admission_control_resource_percentage_memory(self) -> Optional[pulumi.Input[int]]:
2176
1833
  """
2177
- Controls the
2178
- user-defined percentage of memory resources in the cluster to reserve for
2179
- failover. Default: `100`.
1834
+ When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
1835
+ the cluster to reserve for failover.
2180
1836
  """
2181
1837
  return pulumi.get(self, "ha_admission_control_resource_percentage_memory")
2182
1838
 
@@ -2188,8 +1844,7 @@ class _ComputeClusterState:
2188
1844
  @pulumi.getter(name="haAdmissionControlSlotPolicyExplicitCpu")
2189
1845
  def ha_admission_control_slot_policy_explicit_cpu(self) -> Optional[pulumi.Input[int]]:
2190
1846
  """
2191
- Controls the
2192
- user-defined CPU slot size, in MHz. Default: `32`.
1847
+ When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
2193
1848
  """
2194
1849
  return pulumi.get(self, "ha_admission_control_slot_policy_explicit_cpu")
2195
1850
 
@@ -2201,8 +1856,7 @@ class _ComputeClusterState:
2201
1856
  @pulumi.getter(name="haAdmissionControlSlotPolicyExplicitMemory")
2202
1857
  def ha_admission_control_slot_policy_explicit_memory(self) -> Optional[pulumi.Input[int]]:
2203
1858
  """
2204
- Controls the
2205
- user-defined memory slot size, in MB. Default: `100`.
1859
+ When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
2206
1860
  """
2207
1861
  return pulumi.get(self, "ha_admission_control_slot_policy_explicit_memory")
2208
1862
 
@@ -2214,10 +1868,9 @@ class _ComputeClusterState:
2214
1868
  @pulumi.getter(name="haAdmissionControlSlotPolicyUseExplicitSize")
2215
1869
  def ha_admission_control_slot_policy_use_explicit_size(self) -> Optional[pulumi.Input[bool]]:
2216
1870
  """
2217
- Controls
2218
- whether or not you wish to supply explicit values to CPU and memory slot
2219
- sizes. The default is `false`, which tells vSphere to gather a automatic
2220
- average based on all powered-on virtual machines currently in the cluster.
1871
+ When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
1872
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
1873
+ currently in the cluster.
2221
1874
  """
2222
1875
  return pulumi.get(self, "ha_admission_control_slot_policy_use_explicit_size")
2223
1876
 
@@ -2229,8 +1882,7 @@ class _ComputeClusterState:
2229
1882
  @pulumi.getter(name="haAdvancedOptions")
2230
1883
  def ha_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
2231
1884
  """
2232
- A key/value map that specifies advanced
2233
- options for vSphere HA.
1885
+ Advanced configuration options for vSphere HA.
2234
1886
  """
2235
1887
  return pulumi.get(self, "ha_advanced_options")
2236
1888
 
@@ -2242,10 +1894,8 @@ class _ComputeClusterState:
2242
1894
  @pulumi.getter(name="haDatastoreApdRecoveryAction")
2243
1895
  def ha_datastore_apd_recovery_action(self) -> Optional[pulumi.Input[str]]:
2244
1896
  """
2245
- Controls the action to take
2246
- on virtual machines if an APD status on an affected datastore clears in the
2247
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
2248
- <sup>\\*</sup>
1897
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
1898
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
2249
1899
  """
2250
1900
  return pulumi.get(self, "ha_datastore_apd_recovery_action")
2251
1901
 
@@ -2257,11 +1907,9 @@ class _ComputeClusterState:
2257
1907
  @pulumi.getter(name="haDatastoreApdResponse")
2258
1908
  def ha_datastore_apd_response(self) -> Optional[pulumi.Input[str]]:
2259
1909
  """
2260
- Controls the action to take on
2261
- virtual machines when the cluster has detected loss to all paths to a
2262
- relevant datastore. Can be one of `disabled`, `warning`,
2263
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
2264
- <sup>\\*</sup>
1910
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
1911
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
1912
+ restartAggressive.
2265
1913
  """
2266
1914
  return pulumi.get(self, "ha_datastore_apd_response")
2267
1915
 
@@ -2273,10 +1921,8 @@ class _ComputeClusterState:
2273
1921
  @pulumi.getter(name="haDatastoreApdResponseDelay")
2274
1922
  def ha_datastore_apd_response_delay(self) -> Optional[pulumi.Input[int]]:
2275
1923
  """
2276
- The time, in seconds,
2277
- to wait after an APD timeout event to run the response action defined in
2278
- `ha_datastore_apd_response`. Default: `180`
2279
- seconds (3 minutes). <sup>\\*</sup>
1924
+ When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
1925
+ the response action defined in ha_datastore_apd_response.
2280
1926
  """
2281
1927
  return pulumi.get(self, "ha_datastore_apd_response_delay")
2282
1928
 
@@ -2288,11 +1934,8 @@ class _ComputeClusterState:
2288
1934
  @pulumi.getter(name="haDatastorePdlResponse")
2289
1935
  def ha_datastore_pdl_response(self) -> Optional[pulumi.Input[str]]:
2290
1936
  """
2291
- Controls the action to take on
2292
- virtual machines when the cluster has detected a permanent device loss to a
2293
- relevant datastore. Can be one of `disabled`, `warning`, or
2294
- `restartAggressive`. Default: `disabled`.
2295
- <sup>\\*</sup>
1937
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
1938
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
2296
1939
  """
2297
1940
  return pulumi.get(self, "ha_datastore_pdl_response")
2298
1941
 
@@ -2304,8 +1947,7 @@ class _ComputeClusterState:
2304
1947
  @pulumi.getter(name="haEnabled")
2305
1948
  def ha_enabled(self) -> Optional[pulumi.Input[bool]]:
2306
1949
  """
2307
- Enable vSphere HA for this cluster. Default:
2308
- `false`.
1950
+ Enable vSphere HA for this cluster.
2309
1951
  """
2310
1952
  return pulumi.get(self, "ha_enabled")
2311
1953
 
@@ -2317,10 +1959,8 @@ class _ComputeClusterState:
2317
1959
  @pulumi.getter(name="haHeartbeatDatastoreIds")
2318
1960
  def ha_heartbeat_datastore_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2319
1961
  """
2320
- The list of managed object IDs for
2321
- preferred datastores to use for HA heartbeating. This setting is only useful
2322
- when `ha_heartbeat_datastore_policy` is set
2323
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
1962
+ The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
1963
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
2324
1964
  """
2325
1965
  return pulumi.get(self, "ha_heartbeat_datastore_ids")
2326
1966
 
@@ -2332,10 +1972,8 @@ class _ComputeClusterState:
2332
1972
  @pulumi.getter(name="haHeartbeatDatastorePolicy")
2333
1973
  def ha_heartbeat_datastore_policy(self) -> Optional[pulumi.Input[str]]:
2334
1974
  """
2335
- The selection policy for HA
2336
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
2337
- `allFeasibleDsWithUserPreference`. Default:
2338
- `allFeasibleDsWithUserPreference`.
1975
+ The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
1976
+ allFeasibleDsWithUserPreference.
2339
1977
  """
2340
1978
  return pulumi.get(self, "ha_heartbeat_datastore_policy")
2341
1979
 
@@ -2347,10 +1985,8 @@ class _ComputeClusterState:
2347
1985
  @pulumi.getter(name="haHostIsolationResponse")
2348
1986
  def ha_host_isolation_response(self) -> Optional[pulumi.Input[str]]:
2349
1987
  """
2350
- The action to take on virtual
2351
- machines when a host has detected that it has been isolated from the rest of
2352
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
2353
- `none`.
1988
+ The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
1989
+ Can be one of none, powerOff, or shutdown.
2354
1990
  """
2355
1991
  return pulumi.get(self, "ha_host_isolation_response")
2356
1992
 
@@ -2362,9 +1998,7 @@ class _ComputeClusterState:
2362
1998
  @pulumi.getter(name="haHostMonitoring")
2363
1999
  def ha_host_monitoring(self) -> Optional[pulumi.Input[str]]:
2364
2000
  """
2365
- Global setting that controls whether
2366
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
2367
- or `disabled`. Default: `enabled`.
2001
+ Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
2368
2002
  """
2369
2003
  return pulumi.get(self, "ha_host_monitoring")
2370
2004
 
@@ -2376,10 +2010,8 @@ class _ComputeClusterState:
2376
2010
  @pulumi.getter(name="haVmComponentProtection")
2377
2011
  def ha_vm_component_protection(self) -> Optional[pulumi.Input[str]]:
2378
2012
  """
2379
- Controls vSphere VM component
2380
- protection for virtual machines in this cluster. Can be one of `enabled` or
2381
- `disabled`. Default: `enabled`.
2382
- <sup>\\*</sup>
2013
+ Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
2014
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
2383
2015
  """
2384
2016
  return pulumi.get(self, "ha_vm_component_protection")
2385
2017
 
@@ -2391,13 +2023,8 @@ class _ComputeClusterState:
2391
2023
  @pulumi.getter(name="haVmDependencyRestartCondition")
2392
2024
  def ha_vm_dependency_restart_condition(self) -> Optional[pulumi.Input[str]]:
2393
2025
  """
2394
- The condition used to
2395
- determine whether or not virtual machines in a certain restart priority class
2396
- are online, allowing HA to move on to restarting virtual machines on the next
2397
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
2398
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
2399
- is considered ready immediately after a host is found to start it on.
2400
- <sup>\\*</sup>
2026
+ The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
2027
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
2401
2028
  """
2402
2029
  return pulumi.get(self, "ha_vm_dependency_restart_condition")
2403
2030
 
@@ -2409,9 +2036,8 @@ class _ComputeClusterState:
2409
2036
  @pulumi.getter(name="haVmFailureInterval")
2410
2037
  def ha_vm_failure_interval(self) -> Optional[pulumi.Input[int]]:
2411
2038
  """
2412
- The time interval, in seconds, a heartbeat
2413
- from a virtual machine is not received within this configured interval,
2414
- the virtual machine is marked as failed. Default: `30` seconds.
2039
+ If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
2040
+ failed. The value is in seconds.
2415
2041
  """
2416
2042
  return pulumi.get(self, "ha_vm_failure_interval")
2417
2043
 
@@ -2423,11 +2049,9 @@ class _ComputeClusterState:
2423
2049
  @pulumi.getter(name="haVmMaximumFailureWindow")
2424
2050
  def ha_vm_maximum_failure_window(self) -> Optional[pulumi.Input[int]]:
2425
2051
  """
2426
- The time, in seconds, for the reset window in
2427
- which `ha_vm_maximum_resets` can operate. When this
2428
- window expires, no more resets are attempted regardless of the setting
2429
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
2430
- unlimited reset time is allotted. Default: `-1` (no window).
2052
+ The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
2053
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
2054
+ time is allotted.
2431
2055
  """
2432
2056
  return pulumi.get(self, "ha_vm_maximum_failure_window")
2433
2057
 
@@ -2439,8 +2063,7 @@ class _ComputeClusterState:
2439
2063
  @pulumi.getter(name="haVmMaximumResets")
2440
2064
  def ha_vm_maximum_resets(self) -> Optional[pulumi.Input[int]]:
2441
2065
  """
2442
- The maximum number of resets that HA will
2443
- perform to a virtual machine when responding to a failure event. Default: `3`
2066
+ The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
2444
2067
  """
2445
2068
  return pulumi.get(self, "ha_vm_maximum_resets")
2446
2069
 
@@ -2452,9 +2075,7 @@ class _ComputeClusterState:
2452
2075
  @pulumi.getter(name="haVmMinimumUptime")
2453
2076
  def ha_vm_minimum_uptime(self) -> Optional[pulumi.Input[int]]:
2454
2077
  """
2455
- The time, in seconds, that HA waits after
2456
- powering on a virtual machine before monitoring for heartbeats. Default:
2457
- `120` seconds (2 minutes).
2078
+ The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
2458
2079
  """
2459
2080
  return pulumi.get(self, "ha_vm_minimum_uptime")
2460
2081
 
@@ -2466,9 +2087,8 @@ class _ComputeClusterState:
2466
2087
  @pulumi.getter(name="haVmMonitoring")
2467
2088
  def ha_vm_monitoring(self) -> Optional[pulumi.Input[str]]:
2468
2089
  """
2469
- The type of virtual machine monitoring to use
2470
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
2471
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
2090
+ The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
2091
+ vmMonitoringOnly, or vmAndAppMonitoring.
2472
2092
  """
2473
2093
  return pulumi.get(self, "ha_vm_monitoring")
2474
2094
 
@@ -2480,9 +2100,7 @@ class _ComputeClusterState:
2480
2100
  @pulumi.getter(name="haVmRestartAdditionalDelay")
2481
2101
  def ha_vm_restart_additional_delay(self) -> Optional[pulumi.Input[int]]:
2482
2102
  """
2483
- Additional delay, in seconds,
2484
- after ready condition is met. A VM is considered ready at this point.
2485
- Default: `0` seconds (no delay). <sup>\\*</sup>
2103
+ Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
2486
2104
  """
2487
2105
  return pulumi.get(self, "ha_vm_restart_additional_delay")
2488
2106
 
@@ -2494,9 +2112,8 @@ class _ComputeClusterState:
2494
2112
  @pulumi.getter(name="haVmRestartPriority")
2495
2113
  def ha_vm_restart_priority(self) -> Optional[pulumi.Input[str]]:
2496
2114
  """
2497
- The default restart priority
2498
- for affected virtual machines when vSphere detects a host failure. Can be one
2499
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
2115
+ The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
2116
+ high, or highest.
2500
2117
  """
2501
2118
  return pulumi.get(self, "ha_vm_restart_priority")
2502
2119
 
@@ -2508,10 +2125,8 @@ class _ComputeClusterState:
2508
2125
  @pulumi.getter(name="haVmRestartTimeout")
2509
2126
  def ha_vm_restart_timeout(self) -> Optional[pulumi.Input[int]]:
2510
2127
  """
2511
- The maximum time, in seconds,
2512
- that vSphere HA will wait for virtual machines in one priority to be ready
2513
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
2514
- <sup>\\*</sup>
2128
+ The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
2129
+ proceeding with the next priority.
2515
2130
  """
2516
2131
  return pulumi.get(self, "ha_vm_restart_timeout")
2517
2132
 
@@ -2523,8 +2138,7 @@ class _ComputeClusterState:
2523
2138
  @pulumi.getter(name="hostClusterExitTimeout")
2524
2139
  def host_cluster_exit_timeout(self) -> Optional[pulumi.Input[int]]:
2525
2140
  """
2526
- The timeout, in seconds, for each host maintenance
2527
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
2141
+ The timeout for each host maintenance mode operation when removing hosts from a cluster.
2528
2142
  """
2529
2143
  return pulumi.get(self, "host_cluster_exit_timeout")
2530
2144
 
@@ -2532,13 +2146,23 @@ class _ComputeClusterState:
2532
2146
  def host_cluster_exit_timeout(self, value: Optional[pulumi.Input[int]]):
2533
2147
  pulumi.set(self, "host_cluster_exit_timeout", value)
2534
2148
 
2149
+ @property
2150
+ @pulumi.getter(name="hostImage")
2151
+ def host_image(self) -> Optional[pulumi.Input['ComputeClusterHostImageArgs']]:
2152
+ """
2153
+ Details about the host image which should be applied to the cluster.
2154
+ """
2155
+ return pulumi.get(self, "host_image")
2156
+
2157
+ @host_image.setter
2158
+ def host_image(self, value: Optional[pulumi.Input['ComputeClusterHostImageArgs']]):
2159
+ pulumi.set(self, "host_image", value)
2160
+
2535
2161
  @property
2536
2162
  @pulumi.getter(name="hostManaged")
2537
2163
  def host_managed(self) -> Optional[pulumi.Input[bool]]:
2538
2164
  """
2539
- Can be set to `true` if compute cluster
2540
- membership will be managed through the `host` resource rather than the
2541
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
2165
+ Must be set if cluster enrollment is managed from host resource.
2542
2166
  """
2543
2167
  return pulumi.get(self, "host_managed")
2544
2168
 
@@ -2550,8 +2174,7 @@ class _ComputeClusterState:
2550
2174
  @pulumi.getter(name="hostSystemIds")
2551
2175
  def host_system_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2552
2176
  """
2553
- The managed object IDs of
2554
- the hosts to put in the cluster. Conflicts with: `host_managed`.
2177
+ The managed object IDs of the hosts to put in the cluster.
2555
2178
  """
2556
2179
  return pulumi.get(self, "host_system_ids")
2557
2180
 
@@ -2575,10 +2198,7 @@ class _ComputeClusterState:
2575
2198
  @pulumi.getter(name="proactiveHaAutomationLevel")
2576
2199
  def proactive_ha_automation_level(self) -> Optional[pulumi.Input[str]]:
2577
2200
  """
2578
- Determines how the host
2579
- quarantine, maintenance mode, or virtual machine migration recommendations
2580
- made by proactive HA are to be handled. Can be one of `Automated` or
2581
- `Manual`. Default: `Manual`. <sup>\\*</sup>
2201
+ The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
2582
2202
  """
2583
2203
  return pulumi.get(self, "proactive_ha_automation_level")
2584
2204
 
@@ -2590,8 +2210,7 @@ class _ComputeClusterState:
2590
2210
  @pulumi.getter(name="proactiveHaEnabled")
2591
2211
  def proactive_ha_enabled(self) -> Optional[pulumi.Input[bool]]:
2592
2212
  """
2593
- Enables Proactive HA. Default: `false`.
2594
- <sup>\\*</sup>
2213
+ Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
2595
2214
  """
2596
2215
  return pulumi.get(self, "proactive_ha_enabled")
2597
2216
 
@@ -2603,12 +2222,8 @@ class _ComputeClusterState:
2603
2222
  @pulumi.getter(name="proactiveHaModerateRemediation")
2604
2223
  def proactive_ha_moderate_remediation(self) -> Optional[pulumi.Input[str]]:
2605
2224
  """
2606
- The configured remediation
2607
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
2608
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
2609
- `proactive_ha_severe_remediation` is set
2610
- to `QuarantineMode`. Default: `QuarantineMode`.
2611
- <sup>\\*</sup>
2225
+ The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
2226
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
2612
2227
  """
2613
2228
  return pulumi.get(self, "proactive_ha_moderate_remediation")
2614
2229
 
@@ -2620,9 +2235,7 @@ class _ComputeClusterState:
2620
2235
  @pulumi.getter(name="proactiveHaProviderIds")
2621
2236
  def proactive_ha_provider_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2622
2237
  """
2623
- The list of IDs for health update
2624
- providers configured for this cluster.
2625
- <sup>\\*</sup>
2238
+ The list of IDs for health update providers configured for this cluster.
2626
2239
  """
2627
2240
  return pulumi.get(self, "proactive_ha_provider_ids")
2628
2241
 
@@ -2634,12 +2247,8 @@ class _ComputeClusterState:
2634
2247
  @pulumi.getter(name="proactiveHaSevereRemediation")
2635
2248
  def proactive_ha_severe_remediation(self) -> Optional[pulumi.Input[str]]:
2636
2249
  """
2637
- The configured remediation for
2638
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
2639
- Note that this cannot be set to `QuarantineMode` when
2640
- `proactive_ha_moderate_remediation` is
2641
- set to `MaintenanceMode`. Default: `QuarantineMode`.
2642
- <sup>\\*</sup>
2250
+ The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
2251
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
2643
2252
  """
2644
2253
  return pulumi.get(self, "proactive_ha_severe_remediation")
2645
2254
 
@@ -2679,8 +2288,7 @@ class _ComputeClusterState:
2679
2288
  @pulumi.getter(name="vsanCompressionEnabled")
2680
2289
  def vsan_compression_enabled(self) -> Optional[pulumi.Input[bool]]:
2681
2290
  """
2682
- Enables vSAN compression on the
2683
- cluster.
2291
+ Whether the vSAN compression service is enabled for the cluster.
2684
2292
  """
2685
2293
  return pulumi.get(self, "vsan_compression_enabled")
2686
2294
 
@@ -2692,9 +2300,7 @@ class _ComputeClusterState:
2692
2300
  @pulumi.getter(name="vsanDedupEnabled")
2693
2301
  def vsan_dedup_enabled(self) -> Optional[pulumi.Input[bool]]:
2694
2302
  """
2695
- Enables vSAN deduplication on the cluster.
2696
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
2697
- compression must also be enabled.
2303
+ Whether the vSAN deduplication service is enabled for the cluster.
2698
2304
  """
2699
2305
  return pulumi.get(self, "vsan_dedup_enabled")
2700
2306
 
@@ -2706,8 +2312,7 @@ class _ComputeClusterState:
2706
2312
  @pulumi.getter(name="vsanDiskGroups")
2707
2313
  def vsan_disk_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]]]:
2708
2314
  """
2709
- Represents the configuration of a host disk
2710
- group in the cluster.
2315
+ A list of disk UUIDs to add to the vSAN cluster.
2711
2316
  """
2712
2317
  return pulumi.get(self, "vsan_disk_groups")
2713
2318
 
@@ -2719,10 +2324,7 @@ class _ComputeClusterState:
2719
2324
  @pulumi.getter(name="vsanDitEncryptionEnabled")
2720
2325
  def vsan_dit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]:
2721
2326
  """
2722
- Enables vSAN data-in-transit
2723
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
2724
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
2725
- at the same time.
2327
+ Whether the vSAN data-in-transit encryption is enabled for the cluster.
2726
2328
  """
2727
2329
  return pulumi.get(self, "vsan_dit_encryption_enabled")
2728
2330
 
@@ -2734,9 +2336,7 @@ class _ComputeClusterState:
2734
2336
  @pulumi.getter(name="vsanDitRekeyInterval")
2735
2337
  def vsan_dit_rekey_interval(self) -> Optional[pulumi.Input[int]]:
2736
2338
  """
2737
- Indicates the rekey interval in
2738
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
2739
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
2339
+ When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
2740
2340
  """
2741
2341
  return pulumi.get(self, "vsan_dit_rekey_interval")
2742
2342
 
@@ -2748,7 +2348,7 @@ class _ComputeClusterState:
2748
2348
  @pulumi.getter(name="vsanEnabled")
2749
2349
  def vsan_enabled(self) -> Optional[pulumi.Input[bool]]:
2750
2350
  """
2751
- Enables vSAN on the cluster.
2351
+ Whether the vSAN service is enabled for the cluster.
2752
2352
  """
2753
2353
  return pulumi.get(self, "vsan_enabled")
2754
2354
 
@@ -2760,7 +2360,7 @@ class _ComputeClusterState:
2760
2360
  @pulumi.getter(name="vsanEsaEnabled")
2761
2361
  def vsan_esa_enabled(self) -> Optional[pulumi.Input[bool]]:
2762
2362
  """
2763
- Enables vSAN ESA on the cluster.
2363
+ Whether the vSAN ESA service is enabled for the cluster.
2764
2364
  """
2765
2365
  return pulumi.get(self, "vsan_esa_enabled")
2766
2366
 
@@ -2772,7 +2372,7 @@ class _ComputeClusterState:
2772
2372
  @pulumi.getter(name="vsanFaultDomains")
2773
2373
  def vsan_fault_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainArgs']]]]:
2774
2374
  """
2775
- Configurations of vSAN fault domains.
2375
+ The configuration for vSAN fault domains.
2776
2376
  """
2777
2377
  return pulumi.get(self, "vsan_fault_domains")
2778
2378
 
@@ -2784,8 +2384,7 @@ class _ComputeClusterState:
2784
2384
  @pulumi.getter(name="vsanNetworkDiagnosticModeEnabled")
2785
2385
  def vsan_network_diagnostic_mode_enabled(self) -> Optional[pulumi.Input[bool]]:
2786
2386
  """
2787
- Enables network
2788
- diagnostic mode for vSAN performance service on the cluster.
2387
+ Whether the vSAN network diagnostic mode is enabled for the cluster.
2789
2388
  """
2790
2389
  return pulumi.get(self, "vsan_network_diagnostic_mode_enabled")
2791
2390
 
@@ -2797,8 +2396,7 @@ class _ComputeClusterState:
2797
2396
  @pulumi.getter(name="vsanPerformanceEnabled")
2798
2397
  def vsan_performance_enabled(self) -> Optional[pulumi.Input[bool]]:
2799
2398
  """
2800
- Enables vSAN performance service on
2801
- the cluster. Default: `true`.
2399
+ Whether the vSAN performance service is enabled for the cluster.
2802
2400
  """
2803
2401
  return pulumi.get(self, "vsan_performance_enabled")
2804
2402
 
@@ -2810,10 +2408,7 @@ class _ComputeClusterState:
2810
2408
  @pulumi.getter(name="vsanRemoteDatastoreIds")
2811
2409
  def vsan_remote_datastore_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2812
2410
  """
2813
- The remote vSAN datastore IDs to be
2814
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
2815
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
2816
- data-in-transit encryption feature at the same time.
2411
+ The managed object IDs of the vSAN datastore to be mounted on the cluster.
2817
2412
  """
2818
2413
  return pulumi.get(self, "vsan_remote_datastore_ids")
2819
2414
 
@@ -2825,7 +2420,7 @@ class _ComputeClusterState:
2825
2420
  @pulumi.getter(name="vsanStretchedCluster")
2826
2421
  def vsan_stretched_cluster(self) -> Optional[pulumi.Input['ComputeClusterVsanStretchedClusterArgs']]:
2827
2422
  """
2828
- Configurations of vSAN stretched cluster.
2423
+ The configuration for stretched cluster.
2829
2424
  """
2830
2425
  return pulumi.get(self, "vsan_stretched_cluster")
2831
2426
 
@@ -2837,8 +2432,7 @@ class _ComputeClusterState:
2837
2432
  @pulumi.getter(name="vsanUnmapEnabled")
2838
2433
  def vsan_unmap_enabled(self) -> Optional[pulumi.Input[bool]]:
2839
2434
  """
2840
- Enables vSAN unmap on the cluster.
2841
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
2435
+ Whether the vSAN unmap service is enabled for the cluster.
2842
2436
  """
2843
2437
  return pulumi.get(self, "vsan_unmap_enabled")
2844
2438
 
@@ -2850,8 +2444,7 @@ class _ComputeClusterState:
2850
2444
  @pulumi.getter(name="vsanVerboseModeEnabled")
2851
2445
  def vsan_verbose_mode_enabled(self) -> Optional[pulumi.Input[bool]]:
2852
2446
  """
2853
- Enables verbose mode for vSAN
2854
- performance service on the cluster.
2447
+ Whether the vSAN verbose mode is enabled for the cluster.
2855
2448
  """
2856
2449
  return pulumi.get(self, "vsan_verbose_mode_enabled")
2857
2450
 
@@ -2910,6 +2503,7 @@ class ComputeCluster(pulumi.CustomResource):
2910
2503
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
2911
2504
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
2912
2505
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
2506
+ host_image: Optional[pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']]] = None,
2913
2507
  host_managed: Optional[pulumi.Input[bool]] = None,
2914
2508
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2915
2509
  name: Optional[pulumi.Input[str]] = None,
@@ -2921,21 +2515,108 @@ class ComputeCluster(pulumi.CustomResource):
2921
2515
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2922
2516
  vsan_compression_enabled: Optional[pulumi.Input[bool]] = None,
2923
2517
  vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None,
2924
- vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]]] = None,
2518
+ vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]]] = None,
2925
2519
  vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None,
2926
2520
  vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None,
2927
2521
  vsan_enabled: Optional[pulumi.Input[bool]] = None,
2928
2522
  vsan_esa_enabled: Optional[pulumi.Input[bool]] = None,
2929
- vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]]] = None,
2523
+ vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]]] = None,
2930
2524
  vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None,
2931
2525
  vsan_performance_enabled: Optional[pulumi.Input[bool]] = None,
2932
2526
  vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2933
- vsan_stretched_cluster: Optional[pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']]] = None,
2527
+ vsan_stretched_cluster: Optional[pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']]] = None,
2934
2528
  vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None,
2935
2529
  vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None,
2936
2530
  __props__=None):
2937
2531
  """
2938
- Create a ComputeCluster resource with the given unique name, props, and options.
2532
+ > **A note on the naming of this resource:** VMware refers to clusters of
2533
+ hosts in the UI and documentation as _clusters_, _HA clusters_, or _DRS
2534
+ clusters_. All of these refer to the same kind of resource (with the latter two
2535
+ referring to specific features of clustering). We use
2536
+ `ComputeCluster` to differentiate host clusters from _datastore
2537
+ clusters_, which are clusters of datastores that can be used to distribute load
2538
+ and ensure fault tolerance via distribution of virtual machines. Datastore
2539
+ clusters can also be managed through the provider, via the
2540
+ `DatastoreCluster` resource.
2541
+
2542
+ The `ComputeCluster` resource can be used to create and manage
2543
+ clusters of hosts allowing for resource control of compute resources, load
2544
+ balancing through DRS, and high availability through vSphere HA.
2545
+
2546
+ For more information on vSphere clusters and DRS, see [this
2547
+ page][ref-vsphere-drs-clusters]. For more information on vSphere HA, see [this
2548
+ page][ref-vsphere-ha-clusters].
2549
+
2550
+ [ref-vsphere-drs-clusters]: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-resource-management/GUID-8ACF3502-5314-469F-8CC9-4A9BD5925BC2.html
2551
+ [ref-vsphere-ha-clusters]: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-availability/GUID-5432CA24-14F1-44E3-87FB-61D937831CF6.html
2552
+
2553
+ > **NOTE:** This resource requires vCenter and is not available on
2554
+ direct ESXi connections.
2555
+
2556
+ ## Import
2557
+
2558
+ An existing cluster can be imported into this resource via the
2559
+
2560
+ path to the cluster, via the following command:
2561
+
2562
+ hcl
2563
+
2564
+ variable "datacenter" {
2565
+
2566
+ default = "dc-01"
2567
+
2568
+ }
2569
+
2570
+ data "vsphere_datacenter" "datacenter" {
2571
+
2572
+ name = var.datacenter
2573
+
2574
+ }
2575
+
2576
+ resource "vsphere_compute_cluster" "compute_cluster" {
2577
+
2578
+ name = "cluster-01"
2579
+
2580
+ datacenter_id = data.vsphere_datacenter.datacenter.id
2581
+
2582
+ }
2583
+
2584
+ hcl
2585
+
2586
+ resource "vsphere_compute_cluster" "compute_cluster" {
2587
+
2588
+ name = "cluster-01"
2589
+
2590
+ datacenter_id = data.vsphere_datacenter.datacenter.id
2591
+
2592
+ vsan_enabled = true
2593
+
2594
+ vsan_performance_enabled = true
2595
+
2596
+ host_system_ids = [for host in data.vsphere_host.host : host.id]
2597
+
2598
+ dpm_automation_level = "automated"
2599
+
2600
+ drs_automation_level = "fullyAutomated"
2601
+
2602
+ drs_enabled = true
2603
+
2604
+ ha_datastore_apd_response = "restartConservative"
2605
+
2606
+ ha_datastore_pdl_response = "restartAggressive"
2607
+
2608
+ ... etc.
2609
+
2610
+ console
2611
+
2612
+ ```sh
2613
+ $ pulumi import vsphere:index/computeCluster:ComputeCluster compute_cluster /dc-01/host/cluster-01
2614
+ ```
2615
+
2616
+ The above would import the cluster named `cluster-01` that is located in
2617
+
2618
+ the `dc-01` datacenter.
2619
+
2939
2620
  :param str resource_name: The name of the resource.
2940
2621
  :param pulumi.ResourceOptions opts: Options for the resource.
2941
2622
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of custom attribute ids to attribute
@@ -2945,225 +2626,115 @@ class ComputeCluster(pulumi.CustomResource):
2945
2626
  and require vCenter Server.
2946
2627
  :param pulumi.Input[str] datacenter_id: The managed object ID of
2947
2628
  the datacenter to create the cluster in. Forces a new resource if changed.
2948
- :param pulumi.Input[str] dpm_automation_level: The automation level for host power
2949
- operations in this cluster. Can be one of `manual` or `automated`. Default:
2950
- `manual`.
2951
- :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS in this cluster.
2952
- Requires `drs_enabled` to be `true` in order to be effective.
2953
- Default: `false`.
2954
- :param pulumi.Input[int] dpm_threshold: A value between `1` and `5` indicating the
2955
- threshold of load within the cluster that influences host power operations.
2956
- This affects both power on and power off operations - a lower setting will
2957
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
2958
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: A key/value map that specifies advanced
2959
- options for DRS and DPM.
2960
- :param pulumi.Input[str] drs_automation_level: The default automation level for all
2961
- virtual machines in this cluster. Can be one of `manual`,
2962
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
2963
- :param pulumi.Input[bool] drs_enable_predictive_drs: When `true`, enables DRS to use data
2964
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
2965
- recommendations. <sup>\\*</sup>
2966
-
2967
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
2968
- :param pulumi.Input[bool] drs_enable_vm_overrides: Allow individual DRS overrides to be
2969
- set for virtual machines in the cluster. Default: `true`.
2970
- :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster. Default: `false`.
2971
- :param pulumi.Input[int] drs_migration_threshold: A value between `1` and `5` indicating
2972
- the threshold of imbalance tolerated between hosts. A lower setting will
2973
- tolerate more imbalance while a higher setting will tolerate less. Default:
2974
- `3`.
2975
- :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all
2976
- resource pools in the cluster. Can be one of `disabled` or
2977
- `scaleCpuAndMemoryShares`. Default: `disabled`.
2629
+ :param pulumi.Input[str] dpm_automation_level: The automation level for host power operations in this cluster. Can be one of manual or automated.
2630
+ :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
2631
+ machines in the cluster. Requires that DRS be enabled.
2632
+ :param pulumi.Input[int] dpm_threshold: A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
2633
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
2634
+ setting.
2635
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: Advanced configuration options for DRS and DPM.
2636
+ :param pulumi.Input[str] drs_automation_level: The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
2637
+ fullyAutomated.
2638
+ :param pulumi.Input[bool] drs_enable_predictive_drs: When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
2639
+ :param pulumi.Input[bool] drs_enable_vm_overrides: When true, allows individual VM overrides within this cluster to be set.
2640
+ :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster.
2641
+ :param pulumi.Input[int] drs_migration_threshold: A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
2642
+ more imbalance while a higher setting will tolerate less.
2643
+ :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all descendants of this cluster.
2978
2644
  :param pulumi.Input[str] folder: The relative path to a folder to put this cluster in.
2979
2645
  This is a path relative to the datacenter you are deploying the cluster to.
2980
2646
  Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
2981
2647
  The provider will place a cluster named `compute-cluster-test` in a
2982
2648
  host folder located at `/dc1/host/foo/bar`, with the final inventory path
2983
2649
  being `/dc1/host/foo/bar/datastore-cluster-test`.
2984
- :param pulumi.Input[bool] force_evacuate_on_destroy: When destroying the resource, setting this to
2985
- `true` will auto-remove any hosts that are currently a member of the cluster,
2986
- as if they were removed by taking their entry out of `host_system_ids` (see
2987
- below. This is an advanced
2988
- option and should only be used for testing. Default: `false`.
2989
-
2990
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
2991
- there are many pitfalls to its use when working with complex cluster
2992
- configurations. Depending on the virtual machines currently on the cluster, and
2993
- your DRS and HA settings, the full host evacuation may fail. Instead,
2994
- incrementally remove hosts from your configuration by adjusting the contents of
2995
- the `host_system_ids` attribute.
2996
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: Defines the
2997
- managed object IDs of hosts to use as dedicated failover
2998
- hosts. These hosts are kept as available as possible - admission control will
2999
- block access to the host, and DRS will ignore the host when making
3000
- recommendations.
3001
- :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number
3002
- of failed hosts that admission control tolerates when making decisions on
3003
- whether to permit virtual machine operations. The maximum is one less than
3004
- the number of hosts in the cluster. Default: `1`.
3005
- <sup>\\*</sup>
3006
- :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of
3007
- resource reduction that a cluster of virtual machines can tolerate in case of
3008
- a failover. A value of 0 produces warnings only, whereas a value of 100
3009
- disables the setting. Default: `100` (disabled).
3010
- :param pulumi.Input[str] ha_admission_control_policy: The type of admission control
3011
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
3012
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
3013
- :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: Automatically determine available resource percentages by subtracting the
3014
- average number of host resources represented by the
3015
- `ha_admission_control_host_failure_tolerance`
3016
- setting from the total amount of resources in the cluster. Disable to supply
3017
- user-defined values. Default: `true`.
3018
- <sup>\\*</sup>
3019
- :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: Controls the
3020
- user-defined percentage of CPU resources in the cluster to reserve for
3021
- failover. Default: `100`.
3022
- :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: Controls the
3023
- user-defined percentage of memory resources in the cluster to reserve for
3024
- failover. Default: `100`.
3025
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: Controls the
3026
- user-defined CPU slot size, in MHz. Default: `32`.
3027
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: Controls the
3028
- user-defined memory slot size, in MB. Default: `100`.
3029
- :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: Controls
3030
- whether or not you wish to supply explicit values to CPU and memory slot
3031
- sizes. The default is `false`, which tells vSphere to gather a automatic
3032
- average based on all powered-on virtual machines currently in the cluster.
3033
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: A key/value map that specifies advanced
3034
- options for vSphere HA.
3035
- :param pulumi.Input[str] ha_datastore_apd_recovery_action: Controls the action to take
3036
- on virtual machines if an APD status on an affected datastore clears in the
3037
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
3038
- <sup>\\*</sup>
3039
- :param pulumi.Input[str] ha_datastore_apd_response: Controls the action to take on
3040
- virtual machines when the cluster has detected loss to all paths to a
3041
- relevant datastore. Can be one of `disabled`, `warning`,
3042
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
3043
- <sup>\\*</sup>
3044
- :param pulumi.Input[int] ha_datastore_apd_response_delay: The time, in seconds,
3045
- to wait after an APD timeout event to run the response action defined in
3046
- `ha_datastore_apd_response`. Default: `180`
3047
- seconds (3 minutes). <sup>\\*</sup>
3048
- :param pulumi.Input[str] ha_datastore_pdl_response: Controls the action to take on
3049
- virtual machines when the cluster has detected a permanent device loss to a
3050
- relevant datastore. Can be one of `disabled`, `warning`, or
3051
- `restartAggressive`. Default: `disabled`.
3052
- <sup>\\*</sup>
3053
- :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster. Default:
3054
- `false`.
3055
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for
3056
- preferred datastores to use for HA heartbeating. This setting is only useful
3057
- when `ha_heartbeat_datastore_policy` is set
3058
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
3059
- :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA
3060
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
3061
- `allFeasibleDsWithUserPreference`. Default:
3062
- `allFeasibleDsWithUserPreference`.
3063
- :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual
3064
- machines when a host has detected that it has been isolated from the rest of
3065
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
3066
- `none`.
3067
- :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether
3068
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
3069
- or `disabled`. Default: `enabled`.
3070
- :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component
3071
- protection for virtual machines in this cluster. Can be one of `enabled` or
3072
- `disabled`. Default: `enabled`.
3073
- <sup>\\*</sup>
3074
- :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to
3075
- determine whether or not virtual machines in a certain restart priority class
3076
- are online, allowing HA to move on to restarting virtual machines on the next
3077
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
3078
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
3079
- is considered ready immediately after a host is found to start it on.
3080
- <sup>\\*</sup>
3081
- :param pulumi.Input[int] ha_vm_failure_interval: The time interval, in seconds, a heartbeat
3082
- from a virtual machine is not received within this configured interval,
3083
- the virtual machine is marked as failed. Default: `30` seconds.
3084
- :param pulumi.Input[int] ha_vm_maximum_failure_window: The time, in seconds, for the reset window in
3085
- which `ha_vm_maximum_resets` can operate. When this
3086
- window expires, no more resets are attempted regardless of the setting
3087
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
3088
- unlimited reset time is allotted. Default: `-1` (no window).
3089
- :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will
3090
- perform to a virtual machine when responding to a failure event. Default: `3`
3091
- :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after
3092
- powering on a virtual machine before monitoring for heartbeats. Default:
3093
- `120` seconds (2 minutes).
3094
- :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use
3095
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
3096
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
3097
- :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay, in seconds,
3098
- after ready condition is met. A VM is considered ready at this point.
3099
- Default: `0` seconds (no delay). <sup>\\*</sup>
3100
- :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority
3101
- for affected virtual machines when vSphere detects a host failure. Can be one
3102
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
3103
- :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds,
3104
- that vSphere HA will wait for virtual machines in one priority to be ready
3105
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
3106
- <sup>\\*</sup>
3107
- :param pulumi.Input[int] host_cluster_exit_timeout: The timeout, in seconds, for each host maintenance
3108
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
3109
- :param pulumi.Input[bool] host_managed: Can be set to `true` if compute cluster
3110
- membership will be managed through the `host` resource rather than the
3111
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
3112
- :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of
3113
- the hosts to put in the cluster. Conflicts with: `host_managed`.
2650
+ :param pulumi.Input[bool] force_evacuate_on_destroy: Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
2651
+ for testing and is not recommended in normal use.
2652
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
2653
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
2654
+ will ignore the host when making recommendations.
2655
+ :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
2656
+ machine operations. The maximum is one less than the number of hosts in the cluster.
2657
+ :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
2658
+ warnings only, whereas a value of 100 disables the setting.
2659
+ :param pulumi.Input[str] ha_admission_control_policy: The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
2660
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
2661
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
2662
+ issues.
2663
+ :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
2664
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
2665
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
2666
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
2667
+ the cluster to reserve for failover.
2668
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
2669
+ the cluster to reserve for failover.
2670
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
2671
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
2672
+ :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
2673
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
2674
+ currently in the cluster.
2675
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: Advanced configuration options for vSphere HA.
2676
+ :param pulumi.Input[str] ha_datastore_apd_recovery_action: When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
2677
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
2678
+ :param pulumi.Input[str] ha_datastore_apd_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
2679
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
2680
+ restartAggressive.
2681
+ :param pulumi.Input[int] ha_datastore_apd_response_delay: When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
2682
+ the response action defined in ha_datastore_apd_response.
2683
+ :param pulumi.Input[str] ha_datastore_pdl_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
2684
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
2685
+ :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster.
2686
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
2687
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
2688
+ :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
2689
+ allFeasibleDsWithUserPreference.
2690
+ :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
2691
+ Can be one of none, powerOff, or shutdown.
2692
+ :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
2693
+ :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
2694
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
2695
+ :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
2696
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
2697
+ :param pulumi.Input[int] ha_vm_failure_interval: If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
2698
+ failed. The value is in seconds.
2699
+ :param pulumi.Input[int] ha_vm_maximum_failure_window: The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
2700
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
2701
+ time is allotted.
2702
+ :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
2703
+ :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
2704
+ :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
2705
+ vmMonitoringOnly, or vmAndAppMonitoring.
2706
+ :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
2707
+ :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
2708
+ high, or highest.
2709
+ :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
2710
+ proceeding with the next priority.
2711
+ :param pulumi.Input[int] host_cluster_exit_timeout: The timeout for each host maintenance mode operation when removing hosts from a cluster.
2712
+ :param pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']] host_image: Details about the host image which should be applied to the cluster.
2713
+ :param pulumi.Input[bool] host_managed: Must be set if cluster enrollment is managed from host resource.
2714
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of the hosts to put in the cluster.
3114
2715
  :param pulumi.Input[str] name: The name of the cluster.
3115
- :param pulumi.Input[str] proactive_ha_automation_level: Determines how the host
3116
- quarantine, maintenance mode, or virtual machine migration recommendations
3117
- made by proactive HA are to be handled. Can be one of `Automated` or
3118
- `Manual`. Default: `Manual`. <sup>\\*</sup>
3119
- :param pulumi.Input[bool] proactive_ha_enabled: Enables Proactive HA. Default: `false`.
3120
- <sup>\\*</sup>
3121
- :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation
3122
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
3123
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
3124
- `proactive_ha_severe_remediation` is set
3125
- to `QuarantineMode`. Default: `QuarantineMode`.
3126
- <sup>\\*</sup>
3127
- :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update
3128
- providers configured for this cluster.
3129
- <sup>\\*</sup>
3130
- :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for
3131
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
3132
- Note that this cannot be set to `QuarantineMode` when
3133
- `proactive_ha_moderate_remediation` is
3134
- set to `MaintenanceMode`. Default: `QuarantineMode`.
3135
- <sup>\\*</sup>
2716
+ :param pulumi.Input[str] proactive_ha_automation_level: The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
2717
+ :param pulumi.Input[bool] proactive_ha_enabled: Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
2718
+ :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
2719
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
2720
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update providers configured for this cluster.
2721
+ :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
2722
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
3136
2723
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
3137
- :param pulumi.Input[bool] vsan_compression_enabled: Enables vSAN compression on the
3138
- cluster.
3139
- :param pulumi.Input[bool] vsan_dedup_enabled: Enables vSAN deduplication on the cluster.
3140
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
3141
- compression must also be enabled.
3142
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]] vsan_disk_groups: Represents the configuration of a host disk
3143
- group in the cluster.
3144
- :param pulumi.Input[bool] vsan_dit_encryption_enabled: Enables vSAN data-in-transit
3145
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
3146
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
3147
- at the same time.
3148
- :param pulumi.Input[int] vsan_dit_rekey_interval: Indicates the rekey interval in
3149
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
3150
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
3151
- :param pulumi.Input[bool] vsan_enabled: Enables vSAN on the cluster.
3152
- :param pulumi.Input[bool] vsan_esa_enabled: Enables vSAN ESA on the cluster.
3153
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]] vsan_fault_domains: Configurations of vSAN fault domains.
3154
- :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Enables network
3155
- diagnostic mode for vSAN performance service on the cluster.
3156
- :param pulumi.Input[bool] vsan_performance_enabled: Enables vSAN performance service on
3157
- the cluster. Default: `true`.
3158
- :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The remote vSAN datastore IDs to be
3159
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
3160
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
3161
- data-in-transit encryption feature at the same time.
3162
- :param pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']] vsan_stretched_cluster: Configurations of vSAN stretched cluster.
3163
- :param pulumi.Input[bool] vsan_unmap_enabled: Enables vSAN unmap on the cluster.
3164
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
3165
- :param pulumi.Input[bool] vsan_verbose_mode_enabled: Enables verbose mode for vSAN
3166
- performance service on the cluster.
2724
+ :param pulumi.Input[bool] vsan_compression_enabled: Whether the vSAN compression service is enabled for the cluster.
2725
+ :param pulumi.Input[bool] vsan_dedup_enabled: Whether the vSAN deduplication service is enabled for the cluster.
2726
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
2727
+ :param pulumi.Input[bool] vsan_dit_encryption_enabled: Whether the vSAN data-in-transit encryption is enabled for the cluster.
2728
+ :param pulumi.Input[int] vsan_dit_rekey_interval: When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
2729
+ :param pulumi.Input[bool] vsan_enabled: Whether the vSAN service is enabled for the cluster.
2730
+ :param pulumi.Input[bool] vsan_esa_enabled: Whether the vSAN ESA service is enabled for the cluster.
2731
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]] vsan_fault_domains: The configuration for vSAN fault domains.
2732
+ :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Whether the vSAN network diagnostic mode is enabled for the cluster.
2733
+ :param pulumi.Input[bool] vsan_performance_enabled: Whether the vSAN performance service is enabled for the cluster.
2734
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The managed object IDs of the vSAN datastore to be mounted on the cluster.
2735
+ :param pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']] vsan_stretched_cluster: The configuration for stretched cluster.
2736
+ :param pulumi.Input[bool] vsan_unmap_enabled: Whether the vSAN unmap service is enabled for the cluster.
2737
+ :param pulumi.Input[bool] vsan_verbose_mode_enabled: Whether the vSAN verbose mode is enabled for the cluster.
3167
2738
  """
3168
2739
  ...
3169
2740
  @overload
@@ -3172,7 +2743,94 @@ class ComputeCluster(pulumi.CustomResource):
3172
2743
  args: ComputeClusterArgs,
3173
2744
  opts: Optional[pulumi.ResourceOptions] = None):
3174
2745
  """
3175
- Create a ComputeCluster resource with the given unique name, props, and options.
2746
+ > **A note on the naming of this resource:** VMware refers to clusters of
2747
+ hosts in the UI and documentation as _clusters_, _HA clusters_, or _DRS
2748
+ clusters_. All of these refer to the same kind of resource (with the latter two
2749
+ referring to specific features of clustering). We use
2750
+ `ComputeCluster` to differentiate host clusters from _datastore
2751
+ clusters_, which are clusters of datastores that can be used to distribute load
2752
+ and ensure fault tolerance via distribution of virtual machines. Datastore
2753
+ clusters can also be managed through the provider, via the
2754
+ `DatastoreCluster` resource.
2755
+
2756
+ The `ComputeCluster` resource can be used to create and manage
2757
+ clusters of hosts allowing for resource control of compute resources, load
2758
+ balancing through DRS, and high availability through vSphere HA.
2759
+
2760
+ For more information on vSphere clusters and DRS, see [this
2761
+ page][ref-vsphere-drs-clusters]. For more information on vSphere HA, see [this
2762
+ page][ref-vsphere-ha-clusters].
2763
+
2764
+ [ref-vsphere-drs-clusters]: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-resource-management/GUID-8ACF3502-5314-469F-8CC9-4A9BD5925BC2.html
2765
+ [ref-vsphere-ha-clusters]: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-availability/GUID-5432CA24-14F1-44E3-87FB-61D937831CF6.html
2766
+
2767
+ > **NOTE:** This resource requires vCenter and is not available on
2768
+ direct ESXi connections.
2769
+
2770
+ ## Import
2771
+
2772
+ An existing cluster can be imported into this resource via the
2773
+
2774
+ path to the cluster, via the following command:
2775
+
2776
+ hcl
2777
+
2778
+ variable "datacenter" {
2779
+
2780
+ default = "dc-01"
2781
+
2782
+ }
2783
+
2784
+ data "vsphere_datacenter" "datacenter" {
2785
+
2786
+ name = var.datacenter
2787
+
2788
+ }
2789
+
2790
+ resource "vsphere_compute_cluster" "compute_cluster" {
2791
+
2792
+ name = "cluster-01"
2793
+
2794
+ datacenter_id = data.vsphere_datacenter.datacenter.id
2795
+
2796
+ }
2797
+
2798
+ hcl
2799
+
2800
+ resource "vsphere_compute_cluster" "compute_cluster" {
2801
+
2802
+ name = "cluster-01"
2803
+
2804
+ datacenter_id = data.vsphere_datacenter.datacenter.id
2805
+
2806
+ vsan_enabled = true
2807
+
2808
+ vsan_performance_enabled = true
2809
+
2810
+ host_system_ids = [for host in data.vsphere_host.host : host.id]
2811
+
2812
+ dpm_automation_level = "automated"
2813
+
2814
+ drs_automation_level = "fullyAutomated"
2815
+
2816
+ drs_enabled = true
2817
+
2818
+ ha_datastore_apd_response = "restartConservative"
2819
+
2820
+ ha_datastore_pdl_response = "restartAggressive"
2821
+
2822
+ ... etc.
2823
+
2824
+ console
2825
+
2826
+ ```sh
2827
+ $ pulumi import vsphere:index/computeCluster:ComputeCluster compute_cluster /dc-01/host/cluster-01
2828
+ ```
2829
+
2830
+ The above would import the cluster named `cluster-01` that is located in
2831
+
2832
+ the `dc-01` datacenter.
2833
+
3176
2834
  :param str resource_name: The name of the resource.
3177
2835
  :param ComputeClusterArgs args: The arguments to use to populate this resource's properties.
3178
2836
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -3233,6 +2891,7 @@ class ComputeCluster(pulumi.CustomResource):
3233
2891
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
3234
2892
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
3235
2893
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
2894
+ host_image: Optional[pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']]] = None,
3236
2895
  host_managed: Optional[pulumi.Input[bool]] = None,
3237
2896
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3238
2897
  name: Optional[pulumi.Input[str]] = None,
@@ -3244,16 +2903,16 @@ class ComputeCluster(pulumi.CustomResource):
3244
2903
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3245
2904
  vsan_compression_enabled: Optional[pulumi.Input[bool]] = None,
3246
2905
  vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None,
3247
- vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]]] = None,
2906
+ vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]]] = None,
3248
2907
  vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None,
3249
2908
  vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None,
3250
2909
  vsan_enabled: Optional[pulumi.Input[bool]] = None,
3251
2910
  vsan_esa_enabled: Optional[pulumi.Input[bool]] = None,
3252
- vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]]] = None,
2911
+ vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]]] = None,
3253
2912
  vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None,
3254
2913
  vsan_performance_enabled: Optional[pulumi.Input[bool]] = None,
3255
2914
  vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3256
- vsan_stretched_cluster: Optional[pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']]] = None,
2915
+ vsan_stretched_cluster: Optional[pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']]] = None,
3257
2916
  vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None,
3258
2917
  vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None,
3259
2918
  __props__=None):
@@ -3312,6 +2971,7 @@ class ComputeCluster(pulumi.CustomResource):
3312
2971
  __props__.__dict__["ha_vm_restart_priority"] = ha_vm_restart_priority
3313
2972
  __props__.__dict__["ha_vm_restart_timeout"] = ha_vm_restart_timeout
3314
2973
  __props__.__dict__["host_cluster_exit_timeout"] = host_cluster_exit_timeout
2974
+ __props__.__dict__["host_image"] = host_image
3315
2975
  __props__.__dict__["host_managed"] = host_managed
3316
2976
  __props__.__dict__["host_system_ids"] = host_system_ids
3317
2977
  __props__.__dict__["name"] = name
@@ -3391,6 +3051,7 @@ class ComputeCluster(pulumi.CustomResource):
3391
3051
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
3392
3052
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
3393
3053
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
3054
+ host_image: Optional[pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']]] = None,
3394
3055
  host_managed: Optional[pulumi.Input[bool]] = None,
3395
3056
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3396
3057
  name: Optional[pulumi.Input[str]] = None,
@@ -3403,16 +3064,16 @@ class ComputeCluster(pulumi.CustomResource):
3403
3064
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3404
3065
  vsan_compression_enabled: Optional[pulumi.Input[bool]] = None,
3405
3066
  vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None,
3406
- vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]]] = None,
3067
+ vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]]] = None,
3407
3068
  vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None,
3408
3069
  vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None,
3409
3070
  vsan_enabled: Optional[pulumi.Input[bool]] = None,
3410
3071
  vsan_esa_enabled: Optional[pulumi.Input[bool]] = None,
3411
- vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]]] = None,
3072
+ vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]]] = None,
3412
3073
  vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None,
3413
3074
  vsan_performance_enabled: Optional[pulumi.Input[bool]] = None,
3414
3075
  vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3415
- vsan_stretched_cluster: Optional[pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']]] = None,
3076
+ vsan_stretched_cluster: Optional[pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']]] = None,
3416
3077
  vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None,
3417
3078
  vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None) -> 'ComputeCluster':
3418
3079
  """
@@ -3429,230 +3090,120 @@ class ComputeCluster(pulumi.CustomResource):
3429
3090
  and require vCenter Server.
3430
3091
  :param pulumi.Input[str] datacenter_id: The managed object ID of
3431
3092
  the datacenter to create the cluster in. Forces a new resource if changed.
3432
- :param pulumi.Input[str] dpm_automation_level: The automation level for host power
3433
- operations in this cluster. Can be one of `manual` or `automated`. Default:
3434
- `manual`.
3435
- :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS in this cluster.
3436
- Requires `drs_enabled` to be `true` in order to be effective.
3437
- Default: `false`.
3438
- :param pulumi.Input[int] dpm_threshold: A value between `1` and `5` indicating the
3439
- threshold of load within the cluster that influences host power operations.
3440
- This affects both power on and power off operations - a lower setting will
3441
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
3442
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: A key/value map that specifies advanced
3443
- options for DRS and DPM.
3444
- :param pulumi.Input[str] drs_automation_level: The default automation level for all
3445
- virtual machines in this cluster. Can be one of `manual`,
3446
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
3447
- :param pulumi.Input[bool] drs_enable_predictive_drs: When `true`, enables DRS to use data
3448
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
3449
- recommendations. <sup>\\*</sup>
3450
-
3451
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
3452
- :param pulumi.Input[bool] drs_enable_vm_overrides: Allow individual DRS overrides to be
3453
- set for virtual machines in the cluster. Default: `true`.
3454
- :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster. Default: `false`.
3455
- :param pulumi.Input[int] drs_migration_threshold: A value between `1` and `5` indicating
3456
- the threshold of imbalance tolerated between hosts. A lower setting will
3457
- tolerate more imbalance while a higher setting will tolerate less. Default:
3458
- `3`.
3459
- :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all
3460
- resource pools in the cluster. Can be one of `disabled` or
3461
- `scaleCpuAndMemoryShares`. Default: `disabled`.
3093
+ :param pulumi.Input[str] dpm_automation_level: The automation level for host power operations in this cluster. Can be one of manual or automated.
3094
+ :param pulumi.Input[bool] dpm_enabled: Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
3095
+ machines in the cluster. Requires that DRS be enabled.
3096
+ :param pulumi.Input[int] dpm_threshold: A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
3097
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
3098
+ setting.
3099
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drs_advanced_options: Advanced configuration options for DRS and DPM.
3100
+ :param pulumi.Input[str] drs_automation_level: The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
3101
+ fullyAutomated.
3102
+ :param pulumi.Input[bool] drs_enable_predictive_drs: When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
3103
+ :param pulumi.Input[bool] drs_enable_vm_overrides: When true, allows individual VM overrides within this cluster to be set.
3104
+ :param pulumi.Input[bool] drs_enabled: Enable DRS for this cluster.
3105
+ :param pulumi.Input[int] drs_migration_threshold: A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
3106
+ more imbalance while a higher setting will tolerate less.
3107
+ :param pulumi.Input[str] drs_scale_descendants_shares: Enable scalable shares for all descendants of this cluster.
3462
3108
  :param pulumi.Input[str] folder: The relative path to a folder to put this cluster in.
3463
3109
  This is a path relative to the datacenter you are deploying the cluster to.
3464
3110
  Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
3465
3111
  The provider will place a cluster named `compute-cluster-test` in a
3466
3112
  host folder located at `/dc1/host/foo/bar`, with the final inventory path
3467
3113
  being `/dc1/host/foo/bar/datastore-cluster-test`.
3468
- :param pulumi.Input[bool] force_evacuate_on_destroy: When destroying the resource, setting this to
3469
- `true` will auto-remove any hosts that are currently a member of the cluster,
3470
- as if they were removed by taking their entry out of `host_system_ids` (see
3471
- below. This is an advanced
3472
- option and should only be used for testing. Default: `false`.
3473
-
3474
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
3475
- there are many pitfalls to its use when working with complex cluster
3476
- configurations. Depending on the virtual machines currently on the cluster, and
3477
- your DRS and HA settings, the full host evacuation may fail. Instead,
3478
- incrementally remove hosts from your configuration by adjusting the contents of
3479
- the `host_system_ids` attribute.
3480
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: Defines the
3481
- managed object IDs of hosts to use as dedicated failover
3482
- hosts. These hosts are kept as available as possible - admission control will
3483
- block access to the host, and DRS will ignore the host when making
3484
- recommendations.
3485
- :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number
3486
- of failed hosts that admission control tolerates when making decisions on
3487
- whether to permit virtual machine operations. The maximum is one less than
3488
- the number of hosts in the cluster. Default: `1`.
3489
- <sup>\\*</sup>
3490
- :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of
3491
- resource reduction that a cluster of virtual machines can tolerate in case of
3492
- a failover. A value of 0 produces warnings only, whereas a value of 100
3493
- disables the setting. Default: `100` (disabled).
3494
- :param pulumi.Input[str] ha_admission_control_policy: The type of admission control
3495
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
3496
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
3497
- :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: Automatically determine available resource percentages by subtracting the
3498
- average number of host resources represented by the
3499
- `ha_admission_control_host_failure_tolerance`
3500
- setting from the total amount of resources in the cluster. Disable to supply
3501
- user-defined values. Default: `true`.
3502
- <sup>\\*</sup>
3503
- :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: Controls the
3504
- user-defined percentage of CPU resources in the cluster to reserve for
3505
- failover. Default: `100`.
3506
- :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: Controls the
3507
- user-defined percentage of memory resources in the cluster to reserve for
3508
- failover. Default: `100`.
3509
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: Controls the
3510
- user-defined CPU slot size, in MHz. Default: `32`.
3511
- :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: Controls the
3512
- user-defined memory slot size, in MB. Default: `100`.
3513
- :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: Controls
3514
- whether or not you wish to supply explicit values to CPU and memory slot
3515
- sizes. The default is `false`, which tells vSphere to gather a automatic
3516
- average based on all powered-on virtual machines currently in the cluster.
3517
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: A key/value map that specifies advanced
3518
- options for vSphere HA.
3519
- :param pulumi.Input[str] ha_datastore_apd_recovery_action: Controls the action to take
3520
- on virtual machines if an APD status on an affected datastore clears in the
3521
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
3522
- <sup>\\*</sup>
3523
- :param pulumi.Input[str] ha_datastore_apd_response: Controls the action to take on
3524
- virtual machines when the cluster has detected loss to all paths to a
3525
- relevant datastore. Can be one of `disabled`, `warning`,
3526
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
3527
- <sup>\\*</sup>
3528
- :param pulumi.Input[int] ha_datastore_apd_response_delay: The time, in seconds,
3529
- to wait after an APD timeout event to run the response action defined in
3530
- `ha_datastore_apd_response`. Default: `180`
3531
- seconds (3 minutes). <sup>\\*</sup>
3532
- :param pulumi.Input[str] ha_datastore_pdl_response: Controls the action to take on
3533
- virtual machines when the cluster has detected a permanent device loss to a
3534
- relevant datastore. Can be one of `disabled`, `warning`, or
3535
- `restartAggressive`. Default: `disabled`.
3536
- <sup>\\*</sup>
3537
- :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster. Default:
3538
- `false`.
3539
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for
3540
- preferred datastores to use for HA heartbeating. This setting is only useful
3541
- when `ha_heartbeat_datastore_policy` is set
3542
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
3543
- :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA
3544
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
3545
- `allFeasibleDsWithUserPreference`. Default:
3546
- `allFeasibleDsWithUserPreference`.
3547
- :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual
3548
- machines when a host has detected that it has been isolated from the rest of
3549
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
3550
- `none`.
3551
- :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether
3552
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
3553
- or `disabled`. Default: `enabled`.
3554
- :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component
3555
- protection for virtual machines in this cluster. Can be one of `enabled` or
3556
- `disabled`. Default: `enabled`.
3557
- <sup>\\*</sup>
3558
- :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to
3559
- determine whether or not virtual machines in a certain restart priority class
3560
- are online, allowing HA to move on to restarting virtual machines on the next
3561
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
3562
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
3563
- is considered ready immediately after a host is found to start it on.
3564
- <sup>\\*</sup>
3565
- :param pulumi.Input[int] ha_vm_failure_interval: The time interval, in seconds, a heartbeat
3566
- from a virtual machine is not received within this configured interval,
3567
- the virtual machine is marked as failed. Default: `30` seconds.
3568
- :param pulumi.Input[int] ha_vm_maximum_failure_window: The time, in seconds, for the reset window in
3569
- which `ha_vm_maximum_resets` can operate. When this
3570
- window expires, no more resets are attempted regardless of the setting
3571
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
3572
- unlimited reset time is allotted. Default: `-1` (no window).
3573
- :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will
3574
- perform to a virtual machine when responding to a failure event. Default: `3`
3575
- :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after
3576
- powering on a virtual machine before monitoring for heartbeats. Default:
3577
- `120` seconds (2 minutes).
3578
- :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use
3579
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
3580
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
3581
- :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay, in seconds,
3582
- after ready condition is met. A VM is considered ready at this point.
3583
- Default: `0` seconds (no delay). <sup>\\*</sup>
3584
- :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority
3585
- for affected virtual machines when vSphere detects a host failure. Can be one
3586
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
3587
- :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds,
3588
- that vSphere HA will wait for virtual machines in one priority to be ready
3589
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
3590
- <sup>\\*</sup>
3591
- :param pulumi.Input[int] host_cluster_exit_timeout: The timeout, in seconds, for each host maintenance
3592
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
3593
- :param pulumi.Input[bool] host_managed: Can be set to `true` if compute cluster
3594
- membership will be managed through the `host` resource rather than the
3595
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
3596
- :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of
3597
- the hosts to put in the cluster. Conflicts with: `host_managed`.
3114
+ :param pulumi.Input[bool] force_evacuate_on_destroy: Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
3115
+ for testing and is not recommended in normal use.
3116
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_admission_control_failover_host_system_ids: When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
3117
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
3118
+ will ignore the host when making recommendations.
3119
+ :param pulumi.Input[int] ha_admission_control_host_failure_tolerance: The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
3120
+ machine operations. The maximum is one less than the number of hosts in the cluster.
3121
+ :param pulumi.Input[int] ha_admission_control_performance_tolerance: The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
3122
+ warnings only, whereas a value of 100 disables the setting.
3123
+ :param pulumi.Input[str] ha_admission_control_policy: The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
3124
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
3125
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
3126
+ issues.
3127
+ :param pulumi.Input[bool] ha_admission_control_resource_percentage_auto_compute: When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
3128
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
3129
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
3130
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_cpu: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
3131
+ the cluster to reserve for failover.
3132
+ :param pulumi.Input[int] ha_admission_control_resource_percentage_memory: When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
3133
+ the cluster to reserve for failover.
3134
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_cpu: When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
3135
+ :param pulumi.Input[int] ha_admission_control_slot_policy_explicit_memory: When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
3136
+ :param pulumi.Input[bool] ha_admission_control_slot_policy_use_explicit_size: When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
3137
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
3138
+ currently in the cluster.
3139
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] ha_advanced_options: Advanced configuration options for vSphere HA.
3140
+ :param pulumi.Input[str] ha_datastore_apd_recovery_action: When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
3141
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
3142
+ :param pulumi.Input[str] ha_datastore_apd_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
3143
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
3144
+ restartAggressive.
3145
+ :param pulumi.Input[int] ha_datastore_apd_response_delay: When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
3146
+ the response action defined in ha_datastore_apd_response.
3147
+ :param pulumi.Input[str] ha_datastore_pdl_response: When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
3148
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
3149
+ :param pulumi.Input[bool] ha_enabled: Enable vSphere HA for this cluster.
3150
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ha_heartbeat_datastore_ids: The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
3151
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
3152
+ :param pulumi.Input[str] ha_heartbeat_datastore_policy: The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
3153
+ allFeasibleDsWithUserPreference.
3154
+ :param pulumi.Input[str] ha_host_isolation_response: The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
3155
+ Can be one of none, powerOff, or shutdown.
3156
+ :param pulumi.Input[str] ha_host_monitoring: Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
3157
+ :param pulumi.Input[str] ha_vm_component_protection: Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
3158
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
3159
+ :param pulumi.Input[str] ha_vm_dependency_restart_condition: The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
3160
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
3161
+ :param pulumi.Input[int] ha_vm_failure_interval: If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
3162
+ failed. The value is in seconds.
3163
+ :param pulumi.Input[int] ha_vm_maximum_failure_window: The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
3164
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
3165
+ time is allotted.
3166
+ :param pulumi.Input[int] ha_vm_maximum_resets: The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
3167
+ :param pulumi.Input[int] ha_vm_minimum_uptime: The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
3168
+ :param pulumi.Input[str] ha_vm_monitoring: The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
3169
+ vmMonitoringOnly, or vmAndAppMonitoring.
3170
+ :param pulumi.Input[int] ha_vm_restart_additional_delay: Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
3171
+ :param pulumi.Input[str] ha_vm_restart_priority: The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
3172
+ high, or highest.
3173
+ :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
3174
+ proceeding with the next priority.
3175
+ :param pulumi.Input[int] host_cluster_exit_timeout: The timeout for each host maintenance mode operation when removing hosts from a cluster.
3176
+ :param pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']] host_image: Details about the host image which should be applied to the cluster.
3177
+ :param pulumi.Input[bool] host_managed: Must be set if cluster enrollment is managed from host resource.
3178
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of the hosts to put in the cluster.
3598
3179
  :param pulumi.Input[str] name: The name of the cluster.
3599
- :param pulumi.Input[str] proactive_ha_automation_level: Determines how the host
3600
- quarantine, maintenance mode, or virtual machine migration recommendations
3601
- made by proactive HA are to be handled. Can be one of `Automated` or
3602
- `Manual`. Default: `Manual`. <sup>\\*</sup>
3603
- :param pulumi.Input[bool] proactive_ha_enabled: Enables Proactive HA. Default: `false`.
3604
- <sup>\\*</sup>
3605
- :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation
3606
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
3607
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
3608
- `proactive_ha_severe_remediation` is set
3609
- to `QuarantineMode`. Default: `QuarantineMode`.
3610
- <sup>\\*</sup>
3611
- :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update
3612
- providers configured for this cluster.
3613
- <sup>\\*</sup>
3614
- :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for
3615
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
3616
- Note that this cannot be set to `QuarantineMode` when
3617
- `proactive_ha_moderate_remediation` is
3618
- set to `MaintenanceMode`. Default: `QuarantineMode`.
3619
- <sup>\\*</sup>
3180
+ :param pulumi.Input[str] proactive_ha_automation_level: The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
3181
+ :param pulumi.Input[bool] proactive_ha_enabled: Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
3182
+ :param pulumi.Input[str] proactive_ha_moderate_remediation: The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
3183
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
3184
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] proactive_ha_provider_ids: The list of IDs for health update providers configured for this cluster.
3185
+ :param pulumi.Input[str] proactive_ha_severe_remediation: The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
3186
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
3620
3187
  :param pulumi.Input[str] resource_pool_id: The managed object ID of the primary
3621
3188
  resource pool for this cluster. This can be passed directly to the
3622
3189
  `resource_pool_id`
3623
3190
  attribute of the
3624
3191
  `VirtualMachine` resource.
3625
3192
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
3626
- :param pulumi.Input[bool] vsan_compression_enabled: Enables vSAN compression on the
3627
- cluster.
3628
- :param pulumi.Input[bool] vsan_dedup_enabled: Enables vSAN deduplication on the cluster.
3629
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
3630
- compression must also be enabled.
3631
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]] vsan_disk_groups: Represents the configuration of a host disk
3632
- group in the cluster.
3633
- :param pulumi.Input[bool] vsan_dit_encryption_enabled: Enables vSAN data-in-transit
3634
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
3635
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
3636
- at the same time.
3637
- :param pulumi.Input[int] vsan_dit_rekey_interval: Indicates the rekey interval in
3638
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
3639
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
3640
- :param pulumi.Input[bool] vsan_enabled: Enables vSAN on the cluster.
3641
- :param pulumi.Input[bool] vsan_esa_enabled: Enables vSAN ESA on the cluster.
3642
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]] vsan_fault_domains: Configurations of vSAN fault domains.
3643
- :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Enables network
3644
- diagnostic mode for vSAN performance service on the cluster.
3645
- :param pulumi.Input[bool] vsan_performance_enabled: Enables vSAN performance service on
3646
- the cluster. Default: `true`.
3647
- :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The remote vSAN datastore IDs to be
3648
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
3649
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
3650
- data-in-transit encryption feature at the same time.
3651
- :param pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']] vsan_stretched_cluster: Configurations of vSAN stretched cluster.
3652
- :param pulumi.Input[bool] vsan_unmap_enabled: Enables vSAN unmap on the cluster.
3653
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
3654
- :param pulumi.Input[bool] vsan_verbose_mode_enabled: Enables verbose mode for vSAN
3655
- performance service on the cluster.
3193
+ :param pulumi.Input[bool] vsan_compression_enabled: Whether the vSAN compression service is enabled for the cluster.
3194
+ :param pulumi.Input[bool] vsan_dedup_enabled: Whether the vSAN deduplication service is enabled for the cluster.
3195
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
3196
+ :param pulumi.Input[bool] vsan_dit_encryption_enabled: Whether the vSAN data-in-transit encryption is enabled for the cluster.
3197
+ :param pulumi.Input[int] vsan_dit_rekey_interval: When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
3198
+ :param pulumi.Input[bool] vsan_enabled: Whether the vSAN service is enabled for the cluster.
3199
+ :param pulumi.Input[bool] vsan_esa_enabled: Whether the vSAN ESA service is enabled for the cluster.
3200
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]] vsan_fault_domains: The configuration for vSAN fault domains.
3201
+ :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Whether the vSAN network diagnostic mode is enabled for the cluster.
3202
+ :param pulumi.Input[bool] vsan_performance_enabled: Whether the vSAN performance service is enabled for the cluster.
3203
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The managed object IDs of the vSAN datastore to be mounted on the cluster.
3204
+ :param pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']] vsan_stretched_cluster: The configuration for stretched cluster.
3205
+ :param pulumi.Input[bool] vsan_unmap_enabled: Whether the vSAN unmap service is enabled for the cluster.
3206
+ :param pulumi.Input[bool] vsan_verbose_mode_enabled: Whether the vSAN verbose mode is enabled for the cluster.
3656
3207
  """
3657
3208
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
3658
3209
 
@@ -3703,6 +3254,7 @@ class ComputeCluster(pulumi.CustomResource):
3703
3254
  __props__.__dict__["ha_vm_restart_priority"] = ha_vm_restart_priority
3704
3255
  __props__.__dict__["ha_vm_restart_timeout"] = ha_vm_restart_timeout
3705
3256
  __props__.__dict__["host_cluster_exit_timeout"] = host_cluster_exit_timeout
3257
+ __props__.__dict__["host_image"] = host_image
3706
3258
  __props__.__dict__["host_managed"] = host_managed
3707
3259
  __props__.__dict__["host_system_ids"] = host_system_ids
3708
3260
  __props__.__dict__["name"] = name
@@ -3754,9 +3306,7 @@ class ComputeCluster(pulumi.CustomResource):
3754
3306
  @pulumi.getter(name="dpmAutomationLevel")
3755
3307
  def dpm_automation_level(self) -> pulumi.Output[Optional[str]]:
3756
3308
  """
3757
- The automation level for host power
3758
- operations in this cluster. Can be one of `manual` or `automated`. Default:
3759
- `manual`.
3309
+ The automation level for host power operations in this cluster. Can be one of manual or automated.
3760
3310
  """
3761
3311
  return pulumi.get(self, "dpm_automation_level")
3762
3312
 
@@ -3764,9 +3314,8 @@ class ComputeCluster(pulumi.CustomResource):
3764
3314
  @pulumi.getter(name="dpmEnabled")
3765
3315
  def dpm_enabled(self) -> pulumi.Output[Optional[bool]]:
3766
3316
  """
3767
- Enable DPM support for DRS in this cluster.
3768
- Requires `drs_enabled` to be `true` in order to be effective.
3769
- Default: `false`.
3317
+ Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual
3318
+ machines in the cluster. Requires that DRS be enabled.
3770
3319
  """
3771
3320
  return pulumi.get(self, "dpm_enabled")
3772
3321
 
@@ -3774,10 +3323,9 @@ class ComputeCluster(pulumi.CustomResource):
3774
3323
  @pulumi.getter(name="dpmThreshold")
3775
3324
  def dpm_threshold(self) -> pulumi.Output[Optional[int]]:
3776
3325
  """
3777
- A value between `1` and `5` indicating the
3778
- threshold of load within the cluster that influences host power operations.
3779
- This affects both power on and power off operations - a lower setting will
3780
- tolerate more of a surplus/deficit than a higher setting. Default: `3`.
3326
+ A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This
3327
+ affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher
3328
+ setting.
3781
3329
  """
3782
3330
  return pulumi.get(self, "dpm_threshold")
3783
3331
 
@@ -3785,8 +3333,7 @@ class ComputeCluster(pulumi.CustomResource):
3785
3333
  @pulumi.getter(name="drsAdvancedOptions")
3786
3334
  def drs_advanced_options(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
3787
3335
  """
3788
- A key/value map that specifies advanced
3789
- options for DRS and DPM.
3336
+ Advanced configuration options for DRS and DPM.
3790
3337
  """
3791
3338
  return pulumi.get(self, "drs_advanced_options")
3792
3339
 
@@ -3794,9 +3341,8 @@ class ComputeCluster(pulumi.CustomResource):
3794
3341
  @pulumi.getter(name="drsAutomationLevel")
3795
3342
  def drs_automation_level(self) -> pulumi.Output[Optional[str]]:
3796
3343
  """
3797
- The default automation level for all
3798
- virtual machines in this cluster. Can be one of `manual`,
3799
- `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
3344
+ The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or
3345
+ fullyAutomated.
3800
3346
  """
3801
3347
  return pulumi.get(self, "drs_automation_level")
3802
3348
 
@@ -3804,11 +3350,7 @@ class ComputeCluster(pulumi.CustomResource):
3804
3350
  @pulumi.getter(name="drsEnablePredictiveDrs")
3805
3351
  def drs_enable_predictive_drs(self) -> pulumi.Output[Optional[bool]]:
3806
3352
  """
3807
- When `true`, enables DRS to use data
3808
- from [vRealize Operations Manager][ref-vsphere-vrops] to make proactive DRS
3809
- recommendations. <sup>\\*</sup>
3810
-
3811
- [ref-vsphere-vrops]: https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
3353
+ When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
3812
3354
  """
3813
3355
  return pulumi.get(self, "drs_enable_predictive_drs")
3814
3356
 
@@ -3816,8 +3358,7 @@ class ComputeCluster(pulumi.CustomResource):
3816
3358
  @pulumi.getter(name="drsEnableVmOverrides")
3817
3359
  def drs_enable_vm_overrides(self) -> pulumi.Output[Optional[bool]]:
3818
3360
  """
3819
- Allow individual DRS overrides to be
3820
- set for virtual machines in the cluster. Default: `true`.
3361
+ When true, allows individual VM overrides within this cluster to be set.
3821
3362
  """
3822
3363
  return pulumi.get(self, "drs_enable_vm_overrides")
3823
3364
 
@@ -3825,7 +3366,7 @@ class ComputeCluster(pulumi.CustomResource):
3825
3366
  @pulumi.getter(name="drsEnabled")
3826
3367
  def drs_enabled(self) -> pulumi.Output[Optional[bool]]:
3827
3368
  """
3828
- Enable DRS for this cluster. Default: `false`.
3369
+ Enable DRS for this cluster.
3829
3370
  """
3830
3371
  return pulumi.get(self, "drs_enabled")
3831
3372
 
@@ -3833,10 +3374,8 @@ class ComputeCluster(pulumi.CustomResource):
3833
3374
  @pulumi.getter(name="drsMigrationThreshold")
3834
3375
  def drs_migration_threshold(self) -> pulumi.Output[Optional[int]]:
3835
3376
  """
3836
- A value between `1` and `5` indicating
3837
- the threshold of imbalance tolerated between hosts. A lower setting will
3838
- tolerate more imbalance while a higher setting will tolerate less. Default:
3839
- `3`.
3377
+ A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate
3378
+ more imbalance while a higher setting will tolerate less.
3840
3379
  """
3841
3380
  return pulumi.get(self, "drs_migration_threshold")
3842
3381
 
@@ -3844,9 +3383,7 @@ class ComputeCluster(pulumi.CustomResource):
3844
3383
  @pulumi.getter(name="drsScaleDescendantsShares")
3845
3384
  def drs_scale_descendants_shares(self) -> pulumi.Output[Optional[str]]:
3846
3385
  """
3847
- Enable scalable shares for all
3848
- resource pools in the cluster. Can be one of `disabled` or
3849
- `scaleCpuAndMemoryShares`. Default: `disabled`.
3386
+ Enable scalable shares for all descendants of this cluster.
3850
3387
  """
3851
3388
  return pulumi.get(self, "drs_scale_descendants_shares")
3852
3389
 
@@ -3867,18 +3404,8 @@ class ComputeCluster(pulumi.CustomResource):
3867
3404
  @pulumi.getter(name="forceEvacuateOnDestroy")
3868
3405
  def force_evacuate_on_destroy(self) -> pulumi.Output[Optional[bool]]:
3869
3406
  """
3870
- When destroying the resource, setting this to
3871
- `true` will auto-remove any hosts that are currently a member of the cluster,
3872
- as if they were removed by taking their entry out of `host_system_ids` (see
3873
- below. This is an advanced
3874
- option and should only be used for testing. Default: `false`.
3875
-
3876
- > **NOTE:** Do not set `force_evacuate_on_destroy` in production operation as
3877
- there are many pitfalls to its use when working with complex cluster
3878
- configurations. Depending on the virtual machines currently on the cluster, and
3879
- your DRS and HA settings, the full host evacuation may fail. Instead,
3880
- incrementally remove hosts from your configuration by adjusting the contents of
3881
- the `host_system_ids` attribute.
3407
+ Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists
3408
+ for testing and is not recommended in normal use.
3882
3409
  """
3883
3410
  return pulumi.get(self, "force_evacuate_on_destroy")
3884
3411
 
@@ -3886,11 +3413,9 @@ class ComputeCluster(pulumi.CustomResource):
3886
3413
  @pulumi.getter(name="haAdmissionControlFailoverHostSystemIds")
3887
3414
  def ha_admission_control_failover_host_system_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
3888
3415
  """
3889
- Defines the
3890
- managed object IDs of hosts to use as dedicated failover
3891
- hosts. These hosts are kept as available as possible - admission control will
3892
- block access to the host, and DRS will ignore the host when making
3893
- recommendations.
3416
+ When ha_admission_control_policy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated
3417
+ failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS
3418
+ will ignore the host when making recommendations.
3894
3419
  """
3895
3420
  return pulumi.get(self, "ha_admission_control_failover_host_system_ids")
3896
3421
 
@@ -3898,11 +3423,8 @@ class ComputeCluster(pulumi.CustomResource):
3898
3423
  @pulumi.getter(name="haAdmissionControlHostFailureTolerance")
3899
3424
  def ha_admission_control_host_failure_tolerance(self) -> pulumi.Output[Optional[int]]:
3900
3425
  """
3901
- The maximum number
3902
- of failed hosts that admission control tolerates when making decisions on
3903
- whether to permit virtual machine operations. The maximum is one less than
3904
- the number of hosts in the cluster. Default: `1`.
3905
- <sup>\\*</sup>
3426
+ The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual
3427
+ machine operations. The maximum is one less than the number of hosts in the cluster.
3906
3428
  """
3907
3429
  return pulumi.get(self, "ha_admission_control_host_failure_tolerance")
3908
3430
 
@@ -3910,10 +3432,8 @@ class ComputeCluster(pulumi.CustomResource):
3910
3432
  @pulumi.getter(name="haAdmissionControlPerformanceTolerance")
3911
3433
  def ha_admission_control_performance_tolerance(self) -> pulumi.Output[Optional[int]]:
3912
3434
  """
3913
- The percentage of
3914
- resource reduction that a cluster of virtual machines can tolerate in case of
3915
- a failover. A value of 0 produces warnings only, whereas a value of 100
3916
- disables the setting. Default: `100` (disabled).
3435
+ The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces
3436
+ warnings only, whereas a value of 100 disables the setting.
3917
3437
  """
3918
3438
  return pulumi.get(self, "ha_admission_control_performance_tolerance")
3919
3439
 
@@ -3921,9 +3441,10 @@ class ComputeCluster(pulumi.CustomResource):
3921
3441
  @pulumi.getter(name="haAdmissionControlPolicy")
3922
3442
  def ha_admission_control_policy(self) -> pulumi.Output[Optional[str]]:
3923
3443
  """
3924
- The type of admission control
3925
- policy to use with vSphere HA. Can be one of `resourcePercentage`,
3926
- `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
3444
+ The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are
3445
+ permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage,
3446
+ slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service
3447
+ issues.
3927
3448
  """
3928
3449
  return pulumi.get(self, "ha_admission_control_policy")
3929
3450
 
@@ -3931,12 +3452,9 @@ class ComputeCluster(pulumi.CustomResource):
3931
3452
  @pulumi.getter(name="haAdmissionControlResourcePercentageAutoCompute")
3932
3453
  def ha_admission_control_resource_percentage_auto_compute(self) -> pulumi.Output[Optional[bool]]:
3933
3454
  """
3934
- Automatically determine available resource percentages by subtracting the
3935
- average number of host resources represented by the
3936
- `ha_admission_control_host_failure_tolerance`
3937
- setting from the total amount of resources in the cluster. Disable to supply
3938
- user-defined values. Default: `true`.
3939
- <sup>\\*</sup>
3455
+ When ha_admission_control_policy is resourcePercentage, automatically determine available resource percentages by
3456
+ subtracting the average number of host resources represented by the ha_admission_control_host_failure_tolerance setting
3457
+ from the total amount of resources in the cluster. Disable to supply user-defined values.
3940
3458
  """
3941
3459
  return pulumi.get(self, "ha_admission_control_resource_percentage_auto_compute")
3942
3460
 
@@ -3944,9 +3462,8 @@ class ComputeCluster(pulumi.CustomResource):
3944
3462
  @pulumi.getter(name="haAdmissionControlResourcePercentageCpu")
3945
3463
  def ha_admission_control_resource_percentage_cpu(self) -> pulumi.Output[Optional[int]]:
3946
3464
  """
3947
- Controls the
3948
- user-defined percentage of CPU resources in the cluster to reserve for
3949
- failover. Default: `100`.
3465
+ When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of CPU resources in
3466
+ the cluster to reserve for failover.
3950
3467
  """
3951
3468
  return pulumi.get(self, "ha_admission_control_resource_percentage_cpu")
3952
3469
 
@@ -3954,9 +3471,8 @@ class ComputeCluster(pulumi.CustomResource):
3954
3471
  @pulumi.getter(name="haAdmissionControlResourcePercentageMemory")
3955
3472
  def ha_admission_control_resource_percentage_memory(self) -> pulumi.Output[Optional[int]]:
3956
3473
  """
3957
- Controls the
3958
- user-defined percentage of memory resources in the cluster to reserve for
3959
- failover. Default: `100`.
3474
+ When ha_admission_control_policy is resourcePercentage, this controls the user-defined percentage of memory resources in
3475
+ the cluster to reserve for failover.
3960
3476
  """
3961
3477
  return pulumi.get(self, "ha_admission_control_resource_percentage_memory")
3962
3478
 
@@ -3964,8 +3480,7 @@ class ComputeCluster(pulumi.CustomResource):
3964
3480
  @pulumi.getter(name="haAdmissionControlSlotPolicyExplicitCpu")
3965
3481
  def ha_admission_control_slot_policy_explicit_cpu(self) -> pulumi.Output[Optional[int]]:
3966
3482
  """
3967
- Controls the
3968
- user-defined CPU slot size, in MHz. Default: `32`.
3483
+ When ha_admission_control_policy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
3969
3484
  """
3970
3485
  return pulumi.get(self, "ha_admission_control_slot_policy_explicit_cpu")
3971
3486
 
@@ -3973,8 +3488,7 @@ class ComputeCluster(pulumi.CustomResource):
3973
3488
  @pulumi.getter(name="haAdmissionControlSlotPolicyExplicitMemory")
3974
3489
  def ha_admission_control_slot_policy_explicit_memory(self) -> pulumi.Output[Optional[int]]:
3975
3490
  """
3976
- Controls the
3977
- user-defined memory slot size, in MB. Default: `100`.
3491
+ When ha_admission_control_policy is slotPolicy, this controls the user-defined memory slot size, in MB.
3978
3492
  """
3979
3493
  return pulumi.get(self, "ha_admission_control_slot_policy_explicit_memory")
3980
3494
 
@@ -3982,10 +3496,9 @@ class ComputeCluster(pulumi.CustomResource):
3982
3496
  @pulumi.getter(name="haAdmissionControlSlotPolicyUseExplicitSize")
3983
3497
  def ha_admission_control_slot_policy_use_explicit_size(self) -> pulumi.Output[Optional[bool]]:
3984
3498
  """
3985
- Controls
3986
- whether or not you wish to supply explicit values to CPU and memory slot
3987
- sizes. The default is `false`, which tells vSphere to gather a automatic
3988
- average based on all powered-on virtual machines currently in the cluster.
3499
+ When ha_admission_control_policy is slotPolicy, this setting controls whether or not you wish to supply explicit values
3500
+ to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines
3501
+ currently in the cluster.
3989
3502
  """
3990
3503
  return pulumi.get(self, "ha_admission_control_slot_policy_use_explicit_size")
3991
3504
 
@@ -3993,8 +3506,7 @@ class ComputeCluster(pulumi.CustomResource):
3993
3506
  @pulumi.getter(name="haAdvancedOptions")
3994
3507
  def ha_advanced_options(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
3995
3508
  """
3996
- A key/value map that specifies advanced
3997
- options for vSphere HA.
3509
+ Advanced configuration options for vSphere HA.
3998
3510
  """
3999
3511
  return pulumi.get(self, "ha_advanced_options")
4000
3512
 
@@ -4002,10 +3514,8 @@ class ComputeCluster(pulumi.CustomResource):
4002
3514
  @pulumi.getter(name="haDatastoreApdRecoveryAction")
4003
3515
  def ha_datastore_apd_recovery_action(self) -> pulumi.Output[Optional[str]]:
4004
3516
  """
4005
- Controls the action to take
4006
- on virtual machines if an APD status on an affected datastore clears in the
4007
- middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
4008
- <sup>\\*</sup>
3517
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines if an APD status on an
3518
+ affected datastore clears in the middle of an APD event. Can be one of none or reset.
4009
3519
  """
4010
3520
  return pulumi.get(self, "ha_datastore_apd_recovery_action")
4011
3521
 
@@ -4013,11 +3523,9 @@ class ComputeCluster(pulumi.CustomResource):
4013
3523
  @pulumi.getter(name="haDatastoreApdResponse")
4014
3524
  def ha_datastore_apd_response(self) -> pulumi.Output[Optional[str]]:
4015
3525
  """
4016
- Controls the action to take on
4017
- virtual machines when the cluster has detected loss to all paths to a
4018
- relevant datastore. Can be one of `disabled`, `warning`,
4019
- `restartConservative`, or `restartAggressive`. Default: `disabled`.
4020
- <sup>\\*</sup>
3526
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
3527
+ detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or
3528
+ restartAggressive.
4021
3529
  """
4022
3530
  return pulumi.get(self, "ha_datastore_apd_response")
4023
3531
 
@@ -4025,10 +3533,8 @@ class ComputeCluster(pulumi.CustomResource):
4025
3533
  @pulumi.getter(name="haDatastoreApdResponseDelay")
4026
3534
  def ha_datastore_apd_response_delay(self) -> pulumi.Output[Optional[int]]:
4027
3535
  """
4028
- The time, in seconds,
4029
- to wait after an APD timeout event to run the response action defined in
4030
- `ha_datastore_apd_response`. Default: `180`
4031
- seconds (3 minutes). <sup>\\*</sup>
3536
+ When ha_vm_component_protection is enabled, controls the delay in seconds to wait after an APD timeout event to execute
3537
+ the response action defined in ha_datastore_apd_response.
4032
3538
  """
4033
3539
  return pulumi.get(self, "ha_datastore_apd_response_delay")
4034
3540
 
@@ -4036,11 +3542,8 @@ class ComputeCluster(pulumi.CustomResource):
4036
3542
  @pulumi.getter(name="haDatastorePdlResponse")
4037
3543
  def ha_datastore_pdl_response(self) -> pulumi.Output[Optional[str]]:
4038
3544
  """
4039
- Controls the action to take on
4040
- virtual machines when the cluster has detected a permanent device loss to a
4041
- relevant datastore. Can be one of `disabled`, `warning`, or
4042
- `restartAggressive`. Default: `disabled`.
4043
- <sup>\\*</sup>
3545
+ When ha_vm_component_protection is enabled, controls the action to take on virtual machines when the cluster has
3546
+ detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
4044
3547
  """
4045
3548
  return pulumi.get(self, "ha_datastore_pdl_response")
4046
3549
 
@@ -4048,8 +3551,7 @@ class ComputeCluster(pulumi.CustomResource):
4048
3551
  @pulumi.getter(name="haEnabled")
4049
3552
  def ha_enabled(self) -> pulumi.Output[Optional[bool]]:
4050
3553
  """
4051
- Enable vSphere HA for this cluster. Default:
4052
- `false`.
3554
+ Enable vSphere HA for this cluster.
4053
3555
  """
4054
3556
  return pulumi.get(self, "ha_enabled")
4055
3557
 
@@ -4057,10 +3559,8 @@ class ComputeCluster(pulumi.CustomResource):
4057
3559
  @pulumi.getter(name="haHeartbeatDatastoreIds")
4058
3560
  def ha_heartbeat_datastore_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
4059
3561
  """
4060
- The list of managed object IDs for
4061
- preferred datastores to use for HA heartbeating. This setting is only useful
4062
- when `ha_heartbeat_datastore_policy` is set
4063
- to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
3562
+ The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when
3563
+ ha_heartbeat_datastore_policy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
4064
3564
  """
4065
3565
  return pulumi.get(self, "ha_heartbeat_datastore_ids")
4066
3566
 
@@ -4068,10 +3568,8 @@ class ComputeCluster(pulumi.CustomResource):
4068
3568
  @pulumi.getter(name="haHeartbeatDatastorePolicy")
4069
3569
  def ha_heartbeat_datastore_policy(self) -> pulumi.Output[Optional[str]]:
4070
3570
  """
4071
- The selection policy for HA
4072
- heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
4073
- `allFeasibleDsWithUserPreference`. Default:
4074
- `allFeasibleDsWithUserPreference`.
3571
+ The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or
3572
+ allFeasibleDsWithUserPreference.
4075
3573
  """
4076
3574
  return pulumi.get(self, "ha_heartbeat_datastore_policy")
4077
3575
 
@@ -4079,10 +3577,8 @@ class ComputeCluster(pulumi.CustomResource):
4079
3577
  @pulumi.getter(name="haHostIsolationResponse")
4080
3578
  def ha_host_isolation_response(self) -> pulumi.Output[Optional[str]]:
4081
3579
  """
4082
- The action to take on virtual
4083
- machines when a host has detected that it has been isolated from the rest of
4084
- the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
4085
- `none`.
3580
+ The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster.
3581
+ Can be one of none, powerOff, or shutdown.
4086
3582
  """
4087
3583
  return pulumi.get(self, "ha_host_isolation_response")
4088
3584
 
@@ -4090,9 +3586,7 @@ class ComputeCluster(pulumi.CustomResource):
4090
3586
  @pulumi.getter(name="haHostMonitoring")
4091
3587
  def ha_host_monitoring(self) -> pulumi.Output[Optional[str]]:
4092
3588
  """
4093
- Global setting that controls whether
4094
- vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
4095
- or `disabled`. Default: `enabled`.
3589
+ Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
4096
3590
  """
4097
3591
  return pulumi.get(self, "ha_host_monitoring")
4098
3592
 
@@ -4100,10 +3594,8 @@ class ComputeCluster(pulumi.CustomResource):
4100
3594
  @pulumi.getter(name="haVmComponentProtection")
4101
3595
  def ha_vm_component_protection(self) -> pulumi.Output[Optional[str]]:
4102
3596
  """
4103
- Controls vSphere VM component
4104
- protection for virtual machines in this cluster. Can be one of `enabled` or
4105
- `disabled`. Default: `enabled`.
4106
- <sup>\\*</sup>
3597
+ Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to
3598
+ failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
4107
3599
  """
4108
3600
  return pulumi.get(self, "ha_vm_component_protection")
4109
3601
 
@@ -4111,13 +3603,8 @@ class ComputeCluster(pulumi.CustomResource):
4111
3603
  @pulumi.getter(name="haVmDependencyRestartCondition")
4112
3604
  def ha_vm_dependency_restart_condition(self) -> pulumi.Output[Optional[str]]:
4113
3605
  """
4114
- The condition used to
4115
- determine whether or not virtual machines in a certain restart priority class
4116
- are online, allowing HA to move on to restarting virtual machines on the next
4117
- priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
4118
- `appHbStatusGreen`. The default is `none`, which means that a virtual machine
4119
- is considered ready immediately after a host is found to start it on.
4120
- <sup>\\*</sup>
3606
+ The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move
3607
+ on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
4121
3608
  """
4122
3609
  return pulumi.get(self, "ha_vm_dependency_restart_condition")
4123
3610
 
@@ -4125,9 +3612,8 @@ class ComputeCluster(pulumi.CustomResource):
4125
3612
  @pulumi.getter(name="haVmFailureInterval")
4126
3613
  def ha_vm_failure_interval(self) -> pulumi.Output[Optional[int]]:
4127
3614
  """
4128
- The time interval, in seconds, a heartbeat
4129
- from a virtual machine is not received within this configured interval,
4130
- the virtual machine is marked as failed. Default: `30` seconds.
3615
+ If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as
3616
+ failed. The value is in seconds.
4131
3617
  """
4132
3618
  return pulumi.get(self, "ha_vm_failure_interval")
4133
3619
 
@@ -4135,11 +3621,9 @@ class ComputeCluster(pulumi.CustomResource):
4135
3621
  @pulumi.getter(name="haVmMaximumFailureWindow")
4136
3622
  def ha_vm_maximum_failure_window(self) -> pulumi.Output[Optional[int]]:
4137
3623
  """
4138
- The time, in seconds, for the reset window in
4139
- which `ha_vm_maximum_resets` can operate. When this
4140
- window expires, no more resets are attempted regardless of the setting
4141
- configured in `ha_vm_maximum_resets`. `-1` means no window, meaning an
4142
- unlimited reset time is allotted. Default: `-1` (no window).
3624
+ The length of the reset window in which ha_vm_maximum_resets can operate. When this window expires, no more resets are
3625
+ attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset
3626
+ time is allotted.
4143
3627
  """
4144
3628
  return pulumi.get(self, "ha_vm_maximum_failure_window")
4145
3629
 
@@ -4147,8 +3631,7 @@ class ComputeCluster(pulumi.CustomResource):
4147
3631
  @pulumi.getter(name="haVmMaximumResets")
4148
3632
  def ha_vm_maximum_resets(self) -> pulumi.Output[Optional[int]]:
4149
3633
  """
4150
- The maximum number of resets that HA will
4151
- perform to a virtual machine when responding to a failure event. Default: `3`
3634
+ The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
4152
3635
  """
4153
3636
  return pulumi.get(self, "ha_vm_maximum_resets")
4154
3637
 
@@ -4156,9 +3639,7 @@ class ComputeCluster(pulumi.CustomResource):
4156
3639
  @pulumi.getter(name="haVmMinimumUptime")
4157
3640
  def ha_vm_minimum_uptime(self) -> pulumi.Output[Optional[int]]:
4158
3641
  """
4159
- The time, in seconds, that HA waits after
4160
- powering on a virtual machine before monitoring for heartbeats. Default:
4161
- `120` seconds (2 minutes).
3642
+ The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
4162
3643
  """
4163
3644
  return pulumi.get(self, "ha_vm_minimum_uptime")
4164
3645
 
@@ -4166,9 +3647,8 @@ class ComputeCluster(pulumi.CustomResource):
4166
3647
  @pulumi.getter(name="haVmMonitoring")
4167
3648
  def ha_vm_monitoring(self) -> pulumi.Output[Optional[str]]:
4168
3649
  """
4169
- The type of virtual machine monitoring to use
4170
- when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
4171
- `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
3650
+ The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled,
3651
+ vmMonitoringOnly, or vmAndAppMonitoring.
4172
3652
  """
4173
3653
  return pulumi.get(self, "ha_vm_monitoring")
4174
3654
 
@@ -4176,9 +3656,7 @@ class ComputeCluster(pulumi.CustomResource):
4176
3656
  @pulumi.getter(name="haVmRestartAdditionalDelay")
4177
3657
  def ha_vm_restart_additional_delay(self) -> pulumi.Output[Optional[int]]:
4178
3658
  """
4179
- Additional delay, in seconds,
4180
- after ready condition is met. A VM is considered ready at this point.
4181
- Default: `0` seconds (no delay). <sup>\\*</sup>
3659
+ Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
4182
3660
  """
4183
3661
  return pulumi.get(self, "ha_vm_restart_additional_delay")
4184
3662
 
@@ -4186,9 +3664,8 @@ class ComputeCluster(pulumi.CustomResource):
4186
3664
  @pulumi.getter(name="haVmRestartPriority")
4187
3665
  def ha_vm_restart_priority(self) -> pulumi.Output[Optional[str]]:
4188
3666
  """
4189
- The default restart priority
4190
- for affected virtual machines when vSphere detects a host failure. Can be one
4191
- of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
3667
+ The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium,
3668
+ high, or highest.
4192
3669
  """
4193
3670
  return pulumi.get(self, "ha_vm_restart_priority")
4194
3671
 
@@ -4196,10 +3673,8 @@ class ComputeCluster(pulumi.CustomResource):
4196
3673
  @pulumi.getter(name="haVmRestartTimeout")
4197
3674
  def ha_vm_restart_timeout(self) -> pulumi.Output[Optional[int]]:
4198
3675
  """
4199
- The maximum time, in seconds,
4200
- that vSphere HA will wait for virtual machines in one priority to be ready
4201
- before proceeding with the next priority. Default: `600` seconds (10 minutes).
4202
- <sup>\\*</sup>
3676
+ The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
3677
+ proceeding with the next priority.
4203
3678
  """
4204
3679
  return pulumi.get(self, "ha_vm_restart_timeout")
4205
3680
 
@@ -4207,18 +3682,23 @@ class ComputeCluster(pulumi.CustomResource):
4207
3682
  @pulumi.getter(name="hostClusterExitTimeout")
4208
3683
  def host_cluster_exit_timeout(self) -> pulumi.Output[Optional[int]]:
4209
3684
  """
4210
- The timeout, in seconds, for each host maintenance
4211
- mode operation when removing hosts from a cluster. Default: `3600` seconds (1 hour).
3685
+ The timeout for each host maintenance mode operation when removing hosts from a cluster.
4212
3686
  """
4213
3687
  return pulumi.get(self, "host_cluster_exit_timeout")
4214
3688
 
3689
+ @property
3690
+ @pulumi.getter(name="hostImage")
3691
+ def host_image(self) -> pulumi.Output[Optional['outputs.ComputeClusterHostImage']]:
3692
+ """
3693
+ Details about the host image which should be applied to the cluster.
3694
+ """
3695
+ return pulumi.get(self, "host_image")
3696
+
4215
3697
  @property
4216
3698
  @pulumi.getter(name="hostManaged")
4217
3699
  def host_managed(self) -> pulumi.Output[Optional[bool]]:
4218
3700
  """
4219
- Can be set to `true` if compute cluster
4220
- membership will be managed through the `host` resource rather than the
4221
- `compute_cluster` resource. Conflicts with: `host_system_ids`.
3701
+ Must be set if cluster enrollment is managed from host resource.
4222
3702
  """
4223
3703
  return pulumi.get(self, "host_managed")
4224
3704
 
@@ -4226,8 +3706,7 @@ class ComputeCluster(pulumi.CustomResource):
4226
3706
  @pulumi.getter(name="hostSystemIds")
4227
3707
  def host_system_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
4228
3708
  """
4229
- The managed object IDs of
4230
- the hosts to put in the cluster. Conflicts with: `host_managed`.
3709
+ The managed object IDs of the hosts to put in the cluster.
4231
3710
  """
4232
3711
  return pulumi.get(self, "host_system_ids")
4233
3712
 
@@ -4243,10 +3722,7 @@ class ComputeCluster(pulumi.CustomResource):
4243
3722
  @pulumi.getter(name="proactiveHaAutomationLevel")
4244
3723
  def proactive_ha_automation_level(self) -> pulumi.Output[Optional[str]]:
4245
3724
  """
4246
- Determines how the host
4247
- quarantine, maintenance mode, or virtual machine migration recommendations
4248
- made by proactive HA are to be handled. Can be one of `Automated` or
4249
- `Manual`. Default: `Manual`. <sup>\\*</sup>
3725
+ The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
4250
3726
  """
4251
3727
  return pulumi.get(self, "proactive_ha_automation_level")
4252
3728
 
@@ -4254,8 +3730,7 @@ class ComputeCluster(pulumi.CustomResource):
4254
3730
  @pulumi.getter(name="proactiveHaEnabled")
4255
3731
  def proactive_ha_enabled(self) -> pulumi.Output[Optional[bool]]:
4256
3732
  """
4257
- Enables Proactive HA. Default: `false`.
4258
- <sup>\\*</sup>
3733
+ Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
4259
3734
  """
4260
3735
  return pulumi.get(self, "proactive_ha_enabled")
4261
3736
 
@@ -4263,12 +3738,8 @@ class ComputeCluster(pulumi.CustomResource):
4263
3738
  @pulumi.getter(name="proactiveHaModerateRemediation")
4264
3739
  def proactive_ha_moderate_remediation(self) -> pulumi.Output[Optional[str]]:
4265
3740
  """
4266
- The configured remediation
4267
- for moderately degraded hosts. Can be one of `MaintenanceMode` or
4268
- `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
4269
- `proactive_ha_severe_remediation` is set
4270
- to `QuarantineMode`. Default: `QuarantineMode`.
4271
- <sup>\\*</sup>
3741
+ The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that
3742
+ this cannot be set to MaintenanceMode when proactive_ha_severe_remediation is set to QuarantineMode.
4272
3743
  """
4273
3744
  return pulumi.get(self, "proactive_ha_moderate_remediation")
4274
3745
 
@@ -4276,9 +3747,7 @@ class ComputeCluster(pulumi.CustomResource):
4276
3747
  @pulumi.getter(name="proactiveHaProviderIds")
4277
3748
  def proactive_ha_provider_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
4278
3749
  """
4279
- The list of IDs for health update
4280
- providers configured for this cluster.
4281
- <sup>\\*</sup>
3750
+ The list of IDs for health update providers configured for this cluster.
4282
3751
  """
4283
3752
  return pulumi.get(self, "proactive_ha_provider_ids")
4284
3753
 
@@ -4286,12 +3755,8 @@ class ComputeCluster(pulumi.CustomResource):
4286
3755
  @pulumi.getter(name="proactiveHaSevereRemediation")
4287
3756
  def proactive_ha_severe_remediation(self) -> pulumi.Output[Optional[str]]:
4288
3757
  """
4289
- The configured remediation for
4290
- severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
4291
- Note that this cannot be set to `QuarantineMode` when
4292
- `proactive_ha_moderate_remediation` is
4293
- set to `MaintenanceMode`. Default: `QuarantineMode`.
4294
- <sup>\\*</sup>
3758
+ The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this
3759
+ cannot be set to QuarantineMode when proactive_ha_moderate_remediation is set to MaintenanceMode.
4295
3760
  """
4296
3761
  return pulumi.get(self, "proactive_ha_severe_remediation")
4297
3762
 
@@ -4319,8 +3784,7 @@ class ComputeCluster(pulumi.CustomResource):
4319
3784
  @pulumi.getter(name="vsanCompressionEnabled")
4320
3785
  def vsan_compression_enabled(self) -> pulumi.Output[Optional[bool]]:
4321
3786
  """
4322
- Enables vSAN compression on the
4323
- cluster.
3787
+ Whether the vSAN compression service is enabled for the cluster.
4324
3788
  """
4325
3789
  return pulumi.get(self, "vsan_compression_enabled")
4326
3790
 
@@ -4328,9 +3792,7 @@ class ComputeCluster(pulumi.CustomResource):
4328
3792
  @pulumi.getter(name="vsanDedupEnabled")
4329
3793
  def vsan_dedup_enabled(self) -> pulumi.Output[Optional[bool]]:
4330
3794
  """
4331
- Enables vSAN deduplication on the cluster.
4332
- Cannot be independently set to `true`. When vSAN deduplication is enabled, vSAN
4333
- compression must also be enabled.
3795
+ Whether the vSAN deduplication service is enabled for the cluster.
4334
3796
  """
4335
3797
  return pulumi.get(self, "vsan_dedup_enabled")
4336
3798
 
@@ -4338,8 +3800,7 @@ class ComputeCluster(pulumi.CustomResource):
4338
3800
  @pulumi.getter(name="vsanDiskGroups")
4339
3801
  def vsan_disk_groups(self) -> pulumi.Output[Sequence['outputs.ComputeClusterVsanDiskGroup']]:
4340
3802
  """
4341
- Represents the configuration of a host disk
4342
- group in the cluster.
3803
+ A list of disk UUIDs to add to the vSAN cluster.
4343
3804
  """
4344
3805
  return pulumi.get(self, "vsan_disk_groups")
4345
3806
 
@@ -4347,10 +3808,7 @@ class ComputeCluster(pulumi.CustomResource):
4347
3808
  @pulumi.getter(name="vsanDitEncryptionEnabled")
4348
3809
  def vsan_dit_encryption_enabled(self) -> pulumi.Output[Optional[bool]]:
4349
3810
  """
4350
- Enables vSAN data-in-transit
4351
- encryption on the cluster. Conflicts with `vsan_remote_datastore_ids`, i.e.,
4352
- vSAN data-in-transit feature cannot be enabled with the vSAN HCI Mesh feature
4353
- at the same time.
3811
+ Whether the vSAN data-in-transit encryption is enabled for the cluster.
4354
3812
  """
4355
3813
  return pulumi.get(self, "vsan_dit_encryption_enabled")
4356
3814
 
@@ -4358,9 +3816,7 @@ class ComputeCluster(pulumi.CustomResource):
4358
3816
  @pulumi.getter(name="vsanDitRekeyInterval")
4359
3817
  def vsan_dit_rekey_interval(self) -> pulumi.Output[int]:
4360
3818
  """
4361
- Indicates the rekey interval in
4362
- minutes for data-in-transit encryption. The valid rekey interval is 30 to
4363
- 10800 (feature defaults to 1440). Conflicts with `vsan_remote_datastore_ids`.
3819
+ When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
4364
3820
  """
4365
3821
  return pulumi.get(self, "vsan_dit_rekey_interval")
4366
3822
 
@@ -4368,7 +3824,7 @@ class ComputeCluster(pulumi.CustomResource):
4368
3824
  @pulumi.getter(name="vsanEnabled")
4369
3825
  def vsan_enabled(self) -> pulumi.Output[Optional[bool]]:
4370
3826
  """
4371
- Enables vSAN on the cluster.
3827
+ Whether the vSAN service is enabled for the cluster.
4372
3828
  """
4373
3829
  return pulumi.get(self, "vsan_enabled")
4374
3830
 
@@ -4376,7 +3832,7 @@ class ComputeCluster(pulumi.CustomResource):
4376
3832
  @pulumi.getter(name="vsanEsaEnabled")
4377
3833
  def vsan_esa_enabled(self) -> pulumi.Output[Optional[bool]]:
4378
3834
  """
4379
- Enables vSAN ESA on the cluster.
3835
+ Whether the vSAN ESA service is enabled for the cluster.
4380
3836
  """
4381
3837
  return pulumi.get(self, "vsan_esa_enabled")
4382
3838
 
@@ -4384,7 +3840,7 @@ class ComputeCluster(pulumi.CustomResource):
4384
3840
  @pulumi.getter(name="vsanFaultDomains")
4385
3841
  def vsan_fault_domains(self) -> pulumi.Output[Optional[Sequence['outputs.ComputeClusterVsanFaultDomain']]]:
4386
3842
  """
4387
- Configurations of vSAN fault domains.
3843
+ The configuration for vSAN fault domains.
4388
3844
  """
4389
3845
  return pulumi.get(self, "vsan_fault_domains")
4390
3846
 
@@ -4392,8 +3848,7 @@ class ComputeCluster(pulumi.CustomResource):
4392
3848
  @pulumi.getter(name="vsanNetworkDiagnosticModeEnabled")
4393
3849
  def vsan_network_diagnostic_mode_enabled(self) -> pulumi.Output[Optional[bool]]:
4394
3850
  """
4395
- Enables network
4396
- diagnostic mode for vSAN performance service on the cluster.
3851
+ Whether the vSAN network diagnostic mode is enabled for the cluster.
4397
3852
  """
4398
3853
  return pulumi.get(self, "vsan_network_diagnostic_mode_enabled")
4399
3854
 
@@ -4401,8 +3856,7 @@ class ComputeCluster(pulumi.CustomResource):
4401
3856
  @pulumi.getter(name="vsanPerformanceEnabled")
4402
3857
  def vsan_performance_enabled(self) -> pulumi.Output[Optional[bool]]:
4403
3858
  """
4404
- Enables vSAN performance service on
4405
- the cluster. Default: `true`.
3859
+ Whether the vSAN performance service is enabled for the cluster.
4406
3860
  """
4407
3861
  return pulumi.get(self, "vsan_performance_enabled")
4408
3862
 
@@ -4410,10 +3864,7 @@ class ComputeCluster(pulumi.CustomResource):
4410
3864
  @pulumi.getter(name="vsanRemoteDatastoreIds")
4411
3865
  def vsan_remote_datastore_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
4412
3866
  """
4413
- The remote vSAN datastore IDs to be
4414
- mounted to this cluster. Conflicts with `vsan_dit_encryption_enabled` and
4415
- `vsan_dit_rekey_interval`, i.e., vSAN HCI Mesh feature cannot be enabled with
4416
- data-in-transit encryption feature at the same time.
3867
+ The managed object IDs of the vSAN datastore to be mounted on the cluster.
4417
3868
  """
4418
3869
  return pulumi.get(self, "vsan_remote_datastore_ids")
4419
3870
 
@@ -4421,7 +3872,7 @@ class ComputeCluster(pulumi.CustomResource):
4421
3872
  @pulumi.getter(name="vsanStretchedCluster")
4422
3873
  def vsan_stretched_cluster(self) -> pulumi.Output[Optional['outputs.ComputeClusterVsanStretchedCluster']]:
4423
3874
  """
4424
- Configurations of vSAN stretched cluster.
3875
+ The configuration for stretched cluster.
4425
3876
  """
4426
3877
  return pulumi.get(self, "vsan_stretched_cluster")
4427
3878
 
@@ -4429,8 +3880,7 @@ class ComputeCluster(pulumi.CustomResource):
4429
3880
  @pulumi.getter(name="vsanUnmapEnabled")
4430
3881
  def vsan_unmap_enabled(self) -> pulumi.Output[Optional[bool]]:
4431
3882
  """
4432
- Enables vSAN unmap on the cluster.
4433
- You must explicitly enable vSAN unmap when you enable vSAN ESA on the cluster.
3883
+ Whether the vSAN unmap service is enabled for the cluster.
4434
3884
  """
4435
3885
  return pulumi.get(self, "vsan_unmap_enabled")
4436
3886
 
@@ -4438,8 +3888,7 @@ class ComputeCluster(pulumi.CustomResource):
4438
3888
  @pulumi.getter(name="vsanVerboseModeEnabled")
4439
3889
  def vsan_verbose_mode_enabled(self) -> pulumi.Output[Optional[bool]]:
4440
3890
  """
4441
- Enables verbose mode for vSAN
4442
- performance service on the cluster.
3891
+ Whether the vSAN verbose mode is enabled for the cluster.
4443
3892
  """
4444
3893
  return pulumi.get(self, "vsan_verbose_mode_enabled")
4445
3894