@pulumi/vsphere 4.0.0-alpha.1637765992 → 4.0.0-alpha.1781597360

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/computeCluster.d.ts +622 -648
  2. package/computeCluster.d.ts.map +1 -0
  3. package/computeCluster.js +319 -135
  4. package/computeCluster.js.map +1 -1
  5. package/computeClusterHostGroup.d.ts +119 -14
  6. package/computeClusterHostGroup.d.ts.map +1 -0
  7. package/computeClusterHostGroup.js +127 -29
  8. package/computeClusterHostGroup.js.map +1 -1
  9. package/computeClusterVmAffinityRule.d.ts +162 -14
  10. package/computeClusterVmAffinityRule.d.ts.map +1 -0
  11. package/computeClusterVmAffinityRule.js +186 -36
  12. package/computeClusterVmAffinityRule.js.map +1 -1
  13. package/computeClusterVmAntiAffinityRule.d.ts +75 -14
  14. package/computeClusterVmAntiAffinityRule.d.ts.map +1 -0
  15. package/computeClusterVmAntiAffinityRule.js +99 -36
  16. package/computeClusterVmAntiAffinityRule.js.map +1 -1
  17. package/computeClusterVmDependencyRule.d.ts +152 -15
  18. package/computeClusterVmDependencyRule.d.ts.map +1 -0
  19. package/computeClusterVmDependencyRule.js +180 -41
  20. package/computeClusterVmDependencyRule.js.map +1 -1
  21. package/computeClusterVmGroup.d.ts +144 -11
  22. package/computeClusterVmGroup.d.ts.map +1 -0
  23. package/computeClusterVmGroup.js +140 -29
  24. package/computeClusterVmGroup.js.map +1 -1
  25. package/computeClusterVmHostRule.d.ts +166 -18
  26. package/computeClusterVmHostRule.d.ts.map +1 -0
  27. package/computeClusterVmHostRule.js +178 -40
  28. package/computeClusterVmHostRule.js.map +1 -1
  29. package/config/index.d.ts +1 -0
  30. package/config/index.d.ts.map +1 -0
  31. package/config/index.js +6 -2
  32. package/config/index.js.map +1 -1
  33. package/config/vars.d.ts +1 -0
  34. package/config/vars.d.ts.map +1 -0
  35. package/config/vars.js +34 -19
  36. package/config/vars.js.map +1 -1
  37. package/configurationProfile.d.ts +175 -0
  38. package/configurationProfile.d.ts.map +1 -0
  39. package/configurationProfile.js +169 -0
  40. package/configurationProfile.js.map +1 -0
  41. package/contentLibrary.d.ts +91 -28
  42. package/contentLibrary.d.ts.map +1 -0
  43. package/contentLibrary.js +118 -33
  44. package/contentLibrary.js.map +1 -1
  45. package/contentLibraryItem.d.ts +118 -29
  46. package/contentLibraryItem.d.ts.map +1 -0
  47. package/contentLibraryItem.js +144 -35
  48. package/contentLibraryItem.js.map +1 -1
  49. package/customAttribute.d.ts +47 -10
  50. package/customAttribute.d.ts.map +1 -0
  51. package/customAttribute.js +84 -24
  52. package/customAttribute.js.map +1 -1
  53. package/datacenter.d.ts +60 -17
  54. package/datacenter.d.ts.map +1 -0
  55. package/datacenter.js +72 -33
  56. package/datacenter.js.map +1 -1
  57. package/datastoreCluster.d.ts +223 -211
  58. package/datastoreCluster.d.ts.map +1 -0
  59. package/datastoreCluster.js +171 -73
  60. package/datastoreCluster.js.map +1 -1
  61. package/datastoreClusterVmAntiAffinityRule.d.ts +127 -14
  62. package/datastoreClusterVmAntiAffinityRule.d.ts.map +1 -0
  63. package/datastoreClusterVmAntiAffinityRule.js +148 -36
  64. package/datastoreClusterVmAntiAffinityRule.js.map +1 -1
  65. package/distributedPortGroup.d.ts +331 -194
  66. package/distributedPortGroup.d.ts.map +1 -0
  67. package/distributedPortGroup.js +288 -119
  68. package/distributedPortGroup.js.map +1 -1
  69. package/distributedVirtualSwitch.d.ts +519 -530
  70. package/distributedVirtualSwitch.d.ts.map +1 -0
  71. package/distributedVirtualSwitch.js +366 -213
  72. package/distributedVirtualSwitch.js.map +1 -1
  73. package/distributedVirtualSwitchPvlanMapping.d.ts +85 -0
  74. package/distributedVirtualSwitchPvlanMapping.d.ts.map +1 -0
  75. package/distributedVirtualSwitchPvlanMapping.js +90 -0
  76. package/distributedVirtualSwitchPvlanMapping.js.map +1 -0
  77. package/dpmHostOverride.d.ts +106 -12
  78. package/dpmHostOverride.d.ts.map +1 -0
  79. package/dpmHostOverride.js +130 -34
  80. package/dpmHostOverride.js.map +1 -1
  81. package/drsVmOverride.d.ts +123 -12
  82. package/drsVmOverride.d.ts.map +1 -0
  83. package/drsVmOverride.js +147 -34
  84. package/drsVmOverride.js.map +1 -1
  85. package/entityPermissions.d.ts +88 -19
  86. package/entityPermissions.d.ts.map +1 -0
  87. package/entityPermissions.js +114 -35
  88. package/entityPermissions.js.map +1 -1
  89. package/file.d.ts +74 -73
  90. package/file.d.ts.map +1 -0
  91. package/file.js +90 -63
  92. package/file.js.map +1 -1
  93. package/folder.d.ts +144 -17
  94. package/folder.d.ts.map +1 -0
  95. package/folder.js +132 -36
  96. package/folder.js.map +1 -1
  97. package/getComputeCluster.d.ts +69 -26
  98. package/getComputeCluster.d.ts.map +1 -0
  99. package/getComputeCluster.js +84 -24
  100. package/getComputeCluster.js.map +1 -1
  101. package/getComputeClusterHostGroup.d.ts +110 -0
  102. package/getComputeClusterHostGroup.d.ts.map +1 -0
  103. package/getComputeClusterHostGroup.js +107 -0
  104. package/getComputeClusterHostGroup.js.map +1 -0
  105. package/getConfigurationProfile.d.ts +84 -0
  106. package/getConfigurationProfile.d.ts.map +1 -0
  107. package/getConfigurationProfile.js +89 -0
  108. package/getConfigurationProfile.js.map +1 -0
  109. package/getContentLibrary.d.ts +28 -8
  110. package/getContentLibrary.d.ts.map +1 -0
  111. package/getContentLibrary.js +55 -15
  112. package/getContentLibrary.js.map +1 -1
  113. package/getContentLibraryItem.d.ts +22 -27
  114. package/getContentLibraryItem.d.ts.map +1 -0
  115. package/getContentLibraryItem.js +43 -27
  116. package/getContentLibraryItem.js.map +1 -1
  117. package/getCustomAttribute.d.ts +36 -10
  118. package/getCustomAttribute.d.ts.map +1 -0
  119. package/getCustomAttribute.js +65 -19
  120. package/getCustomAttribute.js.map +1 -1
  121. package/getDatacenter.d.ts +46 -10
  122. package/getDatacenter.d.ts.map +1 -0
  123. package/getDatacenter.js +59 -16
  124. package/getDatacenter.js.map +1 -1
  125. package/getDatastore.d.ts +71 -21
  126. package/getDatastore.d.ts.map +1 -0
  127. package/getDatastore.js +68 -19
  128. package/getDatastore.js.map +1 -1
  129. package/getDatastoreCluster.d.ts +55 -17
  130. package/getDatastoreCluster.d.ts.map +1 -0
  131. package/getDatastoreCluster.js +75 -21
  132. package/getDatastoreCluster.js.map +1 -1
  133. package/getDatastoreStats.d.ts +155 -0
  134. package/getDatastoreStats.d.ts.map +1 -0
  135. package/getDatastoreStats.js +117 -0
  136. package/getDatastoreStats.js.map +1 -0
  137. package/getDistributedVirtualSwitch.d.ts +79 -33
  138. package/getDistributedVirtualSwitch.d.ts.map +1 -0
  139. package/getDistributedVirtualSwitch.js +90 -27
  140. package/getDistributedVirtualSwitch.js.map +1 -1
  141. package/getDynamic.d.ts +54 -20
  142. package/getDynamic.d.ts.map +1 -0
  143. package/getDynamic.js +75 -21
  144. package/getDynamic.js.map +1 -1
  145. package/getFolder.d.ts +151 -12
  146. package/getFolder.d.ts.map +1 -0
  147. package/getFolder.js +160 -15
  148. package/getFolder.js.map +1 -1
  149. package/getGuestOsCustomization.d.ts +115 -0
  150. package/getGuestOsCustomization.d.ts.map +1 -0
  151. package/getGuestOsCustomization.js +101 -0
  152. package/getGuestOsCustomization.js.map +1 -0
  153. package/getHost.d.ts +57 -20
  154. package/getHost.d.ts.map +1 -0
  155. package/getHost.js +64 -18
  156. package/getHost.js.map +1 -1
  157. package/getHostBaseImages.d.ts +43 -0
  158. package/getHostBaseImages.d.ts.map +1 -0
  159. package/getHostBaseImages.js +67 -0
  160. package/getHostBaseImages.js.map +1 -0
  161. package/getHostPciDevice.d.ts +91 -17
  162. package/getHostPciDevice.d.ts.map +1 -0
  163. package/getHostPciDevice.js +104 -15
  164. package/getHostPciDevice.js.map +1 -1
  165. package/getHostThumbprint.d.ts +44 -18
  166. package/getHostThumbprint.d.ts.map +1 -0
  167. package/getHostThumbprint.js +67 -17
  168. package/getHostThumbprint.js.map +1 -1
  169. package/getHostVgpuProfile.d.ts +148 -0
  170. package/getHostVgpuProfile.d.ts.map +1 -0
  171. package/getHostVgpuProfile.js +133 -0
  172. package/getHostVgpuProfile.js.map +1 -0
  173. package/getLicense.d.ts +84 -0
  174. package/getLicense.d.ts.map +1 -0
  175. package/getLicense.js +75 -0
  176. package/getLicense.js.map +1 -0
  177. package/getNetwork.d.ts +132 -27
  178. package/getNetwork.d.ts.map +1 -0
  179. package/getNetwork.js +107 -18
  180. package/getNetwork.js.map +1 -1
  181. package/getOvfVmTemplate.d.ts +362 -59
  182. package/getOvfVmTemplate.d.ts.map +1 -0
  183. package/getOvfVmTemplate.js +317 -19
  184. package/getOvfVmTemplate.js.map +1 -1
  185. package/getPolicy.d.ts +34 -8
  186. package/getPolicy.d.ts.map +1 -0
  187. package/getPolicy.js +63 -17
  188. package/getPolicy.js.map +1 -1
  189. package/getResourcePool.d.ts +158 -34
  190. package/getResourcePool.d.ts.map +1 -0
  191. package/getResourcePool.js +154 -31
  192. package/getResourcePool.js.map +1 -1
  193. package/getRole.d.ts +25 -9
  194. package/getRole.d.ts.map +1 -0
  195. package/getRole.js +54 -15
  196. package/getRole.js.map +1 -1
  197. package/getTag.d.ts +47 -15
  198. package/getTag.d.ts.map +1 -0
  199. package/getTag.js +73 -22
  200. package/getTag.js.map +1 -1
  201. package/getTagCategory.d.ts +36 -10
  202. package/getTagCategory.d.ts.map +1 -0
  203. package/getTagCategory.js +65 -19
  204. package/getTagCategory.js.map +1 -1
  205. package/getVappContainer.d.ts +44 -12
  206. package/getVappContainer.d.ts.map +1 -0
  207. package/getVappContainer.js +64 -17
  208. package/getVappContainer.js.map +1 -1
  209. package/getVirtualMachine.d.ts +276 -102
  210. package/getVirtualMachine.d.ts.map +1 -0
  211. package/getVirtualMachine.js +174 -17
  212. package/getVirtualMachine.js.map +1 -1
  213. package/getVmfsDisks.d.ts +56 -13
  214. package/getVmfsDisks.d.ts.map +1 -0
  215. package/getVmfsDisks.js +71 -18
  216. package/getVmfsDisks.js.map +1 -1
  217. package/guestOsCustomization.d.ts +134 -0
  218. package/guestOsCustomization.d.ts.map +1 -0
  219. package/guestOsCustomization.js +119 -0
  220. package/guestOsCustomization.js.map +1 -0
  221. package/haVmOverride.d.ts +164 -190
  222. package/haVmOverride.d.ts.map +1 -0
  223. package/haVmOverride.js +167 -56
  224. package/haVmOverride.js.map +1 -1
  225. package/host.d.ts +243 -67
  226. package/host.d.ts.map +1 -0
  227. package/host.js +187 -75
  228. package/host.js.map +1 -1
  229. package/hostPortGroup.d.ts +107 -98
  230. package/hostPortGroup.d.ts.map +1 -0
  231. package/hostPortGroup.js +134 -103
  232. package/hostPortGroup.js.map +1 -1
  233. package/hostVirtualSwitch.d.ts +201 -166
  234. package/hostVirtualSwitch.d.ts.map +1 -0
  235. package/hostVirtualSwitch.js +183 -74
  236. package/hostVirtualSwitch.js.map +1 -1
  237. package/index.d.ts +226 -62
  238. package/index.d.ts.map +1 -0
  239. package/index.js +263 -150
  240. package/index.js.map +1 -1
  241. package/license.d.ts +28 -22
  242. package/license.d.ts.map +1 -0
  243. package/license.js +58 -38
  244. package/license.js.map +1 -1
  245. package/nasDatastore.d.ts +149 -51
  246. package/nasDatastore.d.ts.map +1 -0
  247. package/nasDatastore.js +155 -67
  248. package/nasDatastore.js.map +1 -1
  249. package/offlineSoftwareDepot.d.ts +66 -0
  250. package/offlineSoftwareDepot.d.ts.map +1 -0
  251. package/offlineSoftwareDepot.js +84 -0
  252. package/offlineSoftwareDepot.js.map +1 -0
  253. package/package.json +7 -9
  254. package/provider.d.ts +31 -16
  255. package/provider.d.ts.map +1 -0
  256. package/provider.js +59 -37
  257. package/provider.js.map +1 -1
  258. package/resourcePool.d.ts +214 -54
  259. package/resourcePool.d.ts.map +1 -0
  260. package/resourcePool.js +200 -51
  261. package/resourcePool.js.map +1 -1
  262. package/role.d.ts +50 -5
  263. package/role.d.ts.map +1 -0
  264. package/role.js +91 -26
  265. package/role.js.map +1 -1
  266. package/storageDrsVmOverride.d.ts +120 -17
  267. package/storageDrsVmOverride.d.ts.map +1 -0
  268. package/storageDrsVmOverride.js +147 -36
  269. package/storageDrsVmOverride.js.map +1 -1
  270. package/supervisor.d.ts +317 -0
  271. package/supervisor.d.ts.map +1 -0
  272. package/supervisor.js +211 -0
  273. package/supervisor.js.map +1 -0
  274. package/tag.d.ts +91 -5
  275. package/tag.d.ts.map +1 -0
  276. package/tag.js +135 -29
  277. package/tag.js.map +1 -1
  278. package/tagCategory.d.ts +58 -6
  279. package/tagCategory.d.ts.map +1 -0
  280. package/tagCategory.js +97 -34
  281. package/tagCategory.js.map +1 -1
  282. package/types/index.d.ts +1 -0
  283. package/types/index.d.ts.map +1 -0
  284. package/types/index.js +26 -3
  285. package/types/index.js.map +1 -1
  286. package/types/input.d.ts +695 -229
  287. package/types/input.d.ts.map +1 -0
  288. package/types/input.js +1 -1
  289. package/types/input.js.map +1 -1
  290. package/types/output.d.ts +749 -129
  291. package/types/output.d.ts.map +1 -0
  292. package/types/output.js +1 -1
  293. package/types/output.js.map +1 -1
  294. package/utilities.d.ts +1 -0
  295. package/utilities.d.ts.map +1 -0
  296. package/utilities.js +64 -2
  297. package/utilities.js.map +1 -1
  298. package/vappContainer.d.ts +148 -44
  299. package/vappContainer.d.ts.map +1 -0
  300. package/vappContainer.js +168 -53
  301. package/vappContainer.js.map +1 -1
  302. package/vappEntity.d.ts +109 -24
  303. package/vappEntity.d.ts.map +1 -0
  304. package/vappEntity.js +145 -46
  305. package/vappEntity.js.map +1 -1
  306. package/virtualDisk.d.ts +106 -27
  307. package/virtualDisk.d.ts.map +1 -0
  308. package/virtualDisk.js +98 -50
  309. package/virtualDisk.js.map +1 -1
  310. package/virtualMachine.d.ts +1530 -828
  311. package/virtualMachine.d.ts.map +1 -0
  312. package/virtualMachine.js +1295 -187
  313. package/virtualMachine.js.map +1 -1
  314. package/virtualMachineClass.d.ts +144 -0
  315. package/virtualMachineClass.d.ts.map +1 -0
  316. package/virtualMachineClass.js +123 -0
  317. package/virtualMachineClass.js.map +1 -0
  318. package/virtualMachineSnapshot.d.ts +17 -15
  319. package/virtualMachineSnapshot.d.ts.map +1 -0
  320. package/virtualMachineSnapshot.js +77 -55
  321. package/virtualMachineSnapshot.js.map +1 -1
  322. package/vmStoragePolicy.d.ts +127 -33
  323. package/vmStoragePolicy.d.ts.map +1 -0
  324. package/vmStoragePolicy.js +169 -56
  325. package/vmStoragePolicy.js.map +1 -1
  326. package/vmfsDatastore.d.ts +217 -40
  327. package/vmfsDatastore.d.ts.map +1 -0
  328. package/vmfsDatastore.js +218 -54
  329. package/vmfsDatastore.js.map +1 -1
  330. package/vnic.d.ts +88 -63
  331. package/vnic.d.ts.map +1 -0
  332. package/vnic.js +108 -74
  333. package/vnic.js.map +1 -1
  334. package/package.json.bak +0 -28
  335. package/package.json.dev +0 -28
  336. package/scripts/install-pulumi-plugin.js +0 -21
  337. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -1,5 +1,141 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
- import { input as inputs, output as outputs } from "./types";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * > **A note on the naming of this resource:** VMware refers to clusters of
6
+ * hosts in the UI and documentation as _clusters_, _HA clusters_, or _DRS
7
+ * clusters_. All of these refer to the same kind of resource (with the latter two
8
+ * referring to specific features of clustering). In Terraform, we use
9
+ * `vsphere.ComputeCluster` to differentiate host clusters from _datastore
10
+ * clusters_, which are clusters of datastores that can be used to distribute load
11
+ * and ensure fault tolerance via distribution of virtual machines. Datastore
12
+ * clusters can also be managed through Terraform, via the
13
+ * [`vsphere.DatastoreCluster` resource][docs-r-vsphere-datastore-cluster].
14
+ *
15
+ * [docs-r-vsphere-datastore-cluster]: /docs/providers/vsphere/r/datastore_cluster.html
16
+ *
17
+ * The `vsphere.ComputeCluster` resource can be used to create and manage
18
+ * clusters of hosts allowing for resource control of compute resources, load
19
+ * balancing through DRS, and high availability through vSphere HA.
20
+ *
21
+ * For more information on vSphere clusters and DRS, see [this
22
+ * page][ref-vsphere-drs-clusters]. For more information on vSphere HA, see [this
23
+ * page][ref-vsphere-ha-clusters].
24
+ *
25
+ * [ref-vsphere-drs-clusters]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-resource-management-8-0/creating-a-drs-cluster.html
26
+ * [ref-vsphere-ha-clusters]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-availability.html
27
+ *
28
+ * > **NOTE:** This resource requires vCenter and is not available on
29
+ * direct ESXi connections.
30
+ *
31
+ * ## Example Usage
32
+ *
33
+ * The following example sets up a cluster and enables DRS and vSphere HA with the
34
+ * default settings. The hosts have to exist already in vSphere and should not
35
+ * already be members of clusters - it's best to add these as standalone hosts
36
+ * before adding them to a cluster.
37
+ *
38
+ * Note that the following example assumes each host has been configured correctly
39
+ * according to the requirements of vSphere HA. For more information, click
40
+ * [here][ref-vsphere-ha-checklist].
41
+ *
42
+ * [ref-vsphere-ha-checklist]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-availability.html
43
+ *
44
+ * ```typescript
45
+ * import * as pulumi from "@pulumi/pulumi";
46
+ * import * as std from "@pulumi/std";
47
+ * import * as vsphere from "@pulumi/vsphere";
48
+ *
49
+ * const config = new pulumi.Config();
50
+ * const datacenter = config.get("datacenter") || "dc-01";
51
+ * const hosts = config.getObject<any>("hosts") || [
52
+ * "esxi-01.example.com",
53
+ * "esxi-02.example.com",
54
+ * "esxi-03.example.com",
55
+ * ];
56
+ * const datacenterGetDatacenter = vsphere.getDatacenter({
57
+ * name: datacenter,
58
+ * });
59
+ * const host = .reduce((__obj, [__key, __value]) => ({ ...__obj, [String(__key)]: vsphere.getHost({
60
+ * name: __value,
61
+ * datacenterId: _arg0_.id,
62
+ * }) }), {});
63
+ * const computeCluster = new vsphere.ComputeCluster("compute_cluster", {
64
+ * name: "pulumi-compute-cluster-test",
65
+ * datacenterId: datacenterGetDatacenter.then(datacenterGetDatacenter => datacenterGetDatacenter.id),
66
+ * hostSystemIds: Object.values(host).map(host => (host.id)),
67
+ * drsEnabled: true,
68
+ * drsAutomationLevel: "fullyAutomated",
69
+ * haEnabled: true,
70
+ * });
71
+ * ```
72
+ *
73
+ * ## vSphere Version Requirements
74
+ *
75
+ * Some settings in the `vsphere.ComputeCluster` resource may require a
76
+ * specific version of vSphere.
77
+ *
78
+ * ### Settings that Require vSphere 7.0 or higher
79
+ *
80
+ * These settings require vSphere 7.0 or higher:
81
+ *
82
+ * * `drsScaleDescendantsShares`
83
+ *
84
+ * ### Settings that Require vSphere 8.0 or higher
85
+ *
86
+ * These settings require vSphere 8.0 or higher:
87
+ *
88
+ * * `vsanEsaEnabled`
89
+ *
90
+ * ## Import
91
+ *
92
+ * An existing cluster can be imported into this resource via the
93
+ * path to the cluster, via the following command:
94
+ *
95
+ * [docs-import]: https://developer.hashicorp.com/terraform/cli/import
96
+ *
97
+ * ```typescript
98
+ * import * as pulumi from "@pulumi/pulumi";
99
+ * import * as vsphere from "@pulumi/vsphere";
100
+ *
101
+ * const config = new pulumi.Config();
102
+ * const datacenter = config.get("datacenter") || "dc-01";
103
+ * const datacenterGetDatacenter = vsphere.getDatacenter({
104
+ * name: datacenter,
105
+ * });
106
+ * const computeCluster = new vsphere.ComputeCluster("compute_cluster", {
107
+ * name: "cluster-01",
108
+ * datacenterId: datacenterGetDatacenter.then(datacenterGetDatacenter => datacenterGetDatacenter.id),
109
+ * });
110
+ * ```
111
+ *
112
+ * > **NOTE:** When you import a cluster, all managed settings are returned. Ensure all settings are set correctly in resource. For example:
113
+ *
114
+ * ```typescript
115
+ * import * as pulumi from "@pulumi/pulumi";
116
+ * import * as vsphere from "@pulumi/vsphere";
117
+ *
118
+ * const computeCluster = new vsphere.ComputeCluster("compute_cluster", {
119
+ * name: "cluster-01",
120
+ * datacenterId: datacenter.id,
121
+ * vsanEnabled: true,
122
+ * vsanPerformanceEnabled: true,
123
+ * hostSystemIds: .map(host => (host.id)),
124
+ * dpmAutomationLevel: "automated",
125
+ * drsAutomationLevel: "fullyAutomated",
126
+ * drsEnabled: true,
127
+ * haDatastoreApdResponse: "restartConservative",
128
+ * haDatastorePdlResponse: "restartAggressive",
129
+ * });
130
+ * ```
131
+ *
132
+ * ```sh
133
+ * $ pulumi import vsphere:index/computeCluster:ComputeCluster compute_cluster /dc-01/host/cluster-01
134
+ * ```
135
+ *
136
+ * The above would import the cluster named `cluster-01` that is located in
137
+ * the `dc-01` datacenter.
138
+ */
3
139
  export declare class ComputeCluster extends pulumi.CustomResource {
4
140
  /**
5
141
  * Get an existing ComputeCluster resource's state with the given name, ID, and optional extra
@@ -18,307 +154,214 @@ export declare class ComputeCluster extends pulumi.CustomResource {
18
154
  static isInstance(obj: any): obj is ComputeCluster;
19
155
  /**
20
156
  * A map of custom attribute ids to attribute
21
- * value strings to set for the datastore cluster.
157
+ * value strings to set for the datastore cluster. See
158
+ * [here][docs-setting-custom-attributes] for a reference on how to set values
159
+ * for custom attributes.
160
+ *
161
+ * [docs-setting-custom-attributes]: /docs/providers/vsphere/r/custom_attribute.html#using-custom-attributes-in-a-supported-resource
162
+ *
163
+ * > **NOTE:** Custom attributes are not supported on direct ESXi host
164
+ * connections and requires vCenter Server.
22
165
  */
23
166
  readonly customAttributes: pulumi.Output<{
24
167
  [key: string]: string;
25
168
  } | undefined>;
26
169
  /**
27
- * The managed object ID of
170
+ * The [managed object ID][docs-about-morefs] of
28
171
  * the datacenter to create the cluster in. Forces a new resource if changed.
29
172
  */
30
173
  readonly datacenterId: pulumi.Output<string>;
31
174
  /**
32
- * The automation level for host power
33
- * operations in this cluster. Can be one of `manual` or `automated`. Default:
34
- * `manual`.
175
+ * The automation level for host power operations in this cluster. Can be one of manual or automated.
35
176
  */
36
177
  readonly dpmAutomationLevel: pulumi.Output<string | undefined>;
37
178
  /**
38
- * Enable DPM support for DRS in this cluster.
39
- * Requires `drsEnabled` to be `true` in order to be effective.
40
- * Default: `false`.
179
+ * Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual machines in the cluster. Requires that DRS be enabled.
41
180
  */
42
181
  readonly dpmEnabled: pulumi.Output<boolean | undefined>;
43
182
  /**
44
- * A value between `1` and `5` indicating the
45
- * threshold of load within the cluster that influences host power operations.
46
- * This affects both power on and power off operations - a lower setting will
47
- * tolerate more of a surplus/deficit than a higher setting. Default: `3`.
183
+ * A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher setting.
48
184
  */
49
185
  readonly dpmThreshold: pulumi.Output<number | undefined>;
50
186
  /**
51
- * A key/value map that specifies advanced
52
- * options for DRS and DPM.
187
+ * Advanced configuration options for DRS and DPM.
53
188
  */
54
189
  readonly drsAdvancedOptions: pulumi.Output<{
55
190
  [key: string]: string;
56
191
  } | undefined>;
57
192
  /**
58
- * The default automation level for all
59
- * virtual machines in this cluster. Can be one of `manual`,
60
- * `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
193
+ * The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or fullyAutomated.
61
194
  */
62
195
  readonly drsAutomationLevel: pulumi.Output<string | undefined>;
63
196
  /**
64
- * When `true`, enables DRS to use data
65
- * from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
66
- * recommendations. <sup>\*</sup>
197
+ * When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
67
198
  */
68
199
  readonly drsEnablePredictiveDrs: pulumi.Output<boolean | undefined>;
69
200
  /**
70
- * Allow individual DRS overrides to be
71
- * set for virtual machines in the cluster. Default: `true`.
201
+ * When true, allows individual VM overrides within this cluster to be set.
72
202
  */
73
203
  readonly drsEnableVmOverrides: pulumi.Output<boolean | undefined>;
74
204
  /**
75
- * Enable DRS for this cluster. Default: `false`.
205
+ * Enable DRS for this cluster.
76
206
  */
77
207
  readonly drsEnabled: pulumi.Output<boolean | undefined>;
78
208
  /**
79
- * A value between `1` and `5` indicating
80
- * the threshold of imbalance tolerated between hosts. A lower setting will
81
- * tolerate more imbalance while a higher setting will tolerate less. Default:
82
- * `3`.
209
+ * A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate more imbalance while a higher setting will tolerate less.
83
210
  */
84
211
  readonly drsMigrationThreshold: pulumi.Output<number | undefined>;
212
+ /**
213
+ * Enable scalable shares for all descendants of this cluster.
214
+ */
215
+ readonly drsScaleDescendantsShares: pulumi.Output<string | undefined>;
85
216
  /**
86
217
  * The relative path to a folder to put this cluster in.
87
218
  * This is a path relative to the datacenter you are deploying the cluster to.
88
219
  * Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
89
- * The provider will place a cluster named `compute-cluster-test` in a
220
+ * Terraform will place a cluster named `terraform-compute-cluster-test` in a
90
221
  * host folder located at `/dc1/host/foo/bar`, with the final inventory path
91
- * being `/dc1/host/foo/bar/datastore-cluster-test`.
222
+ * being `/dc1/host/foo/bar/terraform-datastore-cluster-test`.
92
223
  */
93
224
  readonly folder: pulumi.Output<string | undefined>;
94
225
  /**
95
- * When destroying the resource, setting this to
96
- * `true` will auto-remove any hosts that are currently a member of the cluster,
97
- * as if they were removed by taking their entry out of `hostSystemIds` (see
98
- * below). This is an advanced
99
- * option and should only be used for testing. Default: `false`.
226
+ * Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists for testing and is not recommended in normal use.
100
227
  */
101
228
  readonly forceEvacuateOnDestroy: pulumi.Output<boolean | undefined>;
102
229
  /**
103
- * Defines the
104
- * managed object IDs of hosts to use as dedicated failover
105
- * hosts. These hosts are kept as available as possible - admission control will
106
- * block access to the host, and DRS will ignore the host when making
107
- * recommendations.
230
+ * When haAdmissionControlPolicy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS will ignore the host when making recommendations.
108
231
  */
109
232
  readonly haAdmissionControlFailoverHostSystemIds: pulumi.Output<string[] | undefined>;
110
233
  /**
111
- * The maximum number
112
- * of failed hosts that admission control tolerates when making decisions on
113
- * whether to permit virtual machine operations. The maximum is one less than
114
- * the number of hosts in the cluster. Default: `1`.
115
- * <sup>\*</sup>
234
+ * The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual machine operations. The maximum is one less than the number of hosts in the cluster.
116
235
  */
117
236
  readonly haAdmissionControlHostFailureTolerance: pulumi.Output<number | undefined>;
118
237
  /**
119
- * The percentage of
120
- * resource reduction that a cluster of virtual machines can tolerate in case of
121
- * a failover. A value of 0 produces warnings only, whereas a value of 100
122
- * disables the setting. Default: `100` (disabled).
238
+ * The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces warnings only, whereas a value of 100 disables the setting.
123
239
  */
124
240
  readonly haAdmissionControlPerformanceTolerance: pulumi.Output<number | undefined>;
125
241
  /**
126
- * The type of admission control
127
- * policy to use with vSphere HA. Can be one of `resourcePercentage`,
128
- * `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
242
+ * The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage, slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service issues.
129
243
  */
130
244
  readonly haAdmissionControlPolicy: pulumi.Output<string | undefined>;
131
245
  /**
132
- * Automatically determine available resource percentages by subtracting the
133
- * average number of host resources represented by the
134
- * `haAdmissionControlHostFailureTolerance`
135
- * setting from the total amount of resources in the cluster. Disable to supply
136
- * user-defined values. Default: `true`.
137
- * <sup>\*</sup>
246
+ * When haAdmissionControlPolicy is resourcePercentage, automatically determine available resource percentages by subtracting the average number of host resources represented by the haAdmissionControlHostFailureTolerance setting from the total amount of resources in the cluster. Disable to supply user-defined values.
138
247
  */
139
248
  readonly haAdmissionControlResourcePercentageAutoCompute: pulumi.Output<boolean | undefined>;
140
249
  /**
141
- * Controls the
142
- * user-defined percentage of CPU resources in the cluster to reserve for
143
- * failover. Default: `100`.
250
+ * When haAdmissionControlPolicy is resourcePercentage, this controls the user-defined percentage of CPU resources in the cluster to reserve for failover.
144
251
  */
145
252
  readonly haAdmissionControlResourcePercentageCpu: pulumi.Output<number | undefined>;
146
253
  /**
147
- * Controls the
148
- * user-defined percentage of memory resources in the cluster to reserve for
149
- * failover. Default: `100`.
254
+ * When haAdmissionControlPolicy is resourcePercentage, this controls the user-defined percentage of memory resources in the cluster to reserve for failover.
150
255
  */
151
256
  readonly haAdmissionControlResourcePercentageMemory: pulumi.Output<number | undefined>;
152
257
  /**
153
- * Controls the
154
- * user-defined CPU slot size, in MHz. Default: `32`.
258
+ * When haAdmissionControlPolicy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
155
259
  */
156
260
  readonly haAdmissionControlSlotPolicyExplicitCpu: pulumi.Output<number | undefined>;
157
261
  /**
158
- * Controls the
159
- * user-defined memory slot size, in MB. Default: `100`.
262
+ * When haAdmissionControlPolicy is slotPolicy, this controls the user-defined memory slot size, in MB.
160
263
  */
161
264
  readonly haAdmissionControlSlotPolicyExplicitMemory: pulumi.Output<number | undefined>;
162
265
  /**
163
- * Controls
164
- * whether or not you wish to supply explicit values to CPU and memory slot
165
- * sizes. The default is `false`, which tells vSphere to gather a automatic
166
- * average based on all powered-on virtual machines currently in the cluster.
266
+ * When haAdmissionControlPolicy is slotPolicy, this setting controls whether or not you wish to supply explicit values to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines currently in the cluster.
167
267
  */
168
268
  readonly haAdmissionControlSlotPolicyUseExplicitSize: pulumi.Output<boolean | undefined>;
169
269
  /**
170
- * A key/value map that specifies advanced
171
- * options for vSphere HA.
270
+ * Advanced configuration options for vSphere HA.
172
271
  */
173
272
  readonly haAdvancedOptions: pulumi.Output<{
174
273
  [key: string]: string;
175
274
  } | undefined>;
176
275
  /**
177
- * Controls the action to take
178
- * on virtual machines if an APD status on an affected datastore clears in the
179
- * middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
180
- * <sup>\*</sup>
276
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines if an APD status on an affected datastore clears in the middle of an APD event. Can be one of none or reset.
181
277
  */
182
278
  readonly haDatastoreApdRecoveryAction: pulumi.Output<string | undefined>;
183
279
  /**
184
- * Controls the action to take on
185
- * virtual machines when the cluster has detected loss to all paths to a
186
- * relevant datastore. Can be one of `disabled`, `warning`,
187
- * `restartConservative`, or `restartAggressive`. Default: `disabled`.
188
- * <sup>\*</sup>
280
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines when the cluster has detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or restartAggressive.
189
281
  */
190
282
  readonly haDatastoreApdResponse: pulumi.Output<string | undefined>;
191
283
  /**
192
- * Controls the delay in minutes
193
- * to wait after an APD timeout event to execute the response action defined in
194
- * `haDatastoreApdResponse`. Default: `3`
195
- * minutes. <sup>\*</sup>
284
+ * When haVmComponentProtection is enabled, controls the delay in seconds to wait after an APD timeout event to execute the response action defined in ha_datastore_apd_response.
196
285
  */
197
286
  readonly haDatastoreApdResponseDelay: pulumi.Output<number | undefined>;
198
287
  /**
199
- * Controls the action to take on
200
- * virtual machines when the cluster has detected a permanent device loss to a
201
- * relevant datastore. Can be one of `disabled`, `warning`, or
202
- * `restartAggressive`. Default: `disabled`.
203
- * <sup>\*</sup>
288
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines when the cluster has detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
204
289
  */
205
290
  readonly haDatastorePdlResponse: pulumi.Output<string | undefined>;
206
291
  /**
207
- * Enable vSphere HA for this cluster. Default:
208
- * `false`.
292
+ * Enable vSphere HA for this cluster.
209
293
  */
210
294
  readonly haEnabled: pulumi.Output<boolean | undefined>;
211
295
  /**
212
- * The list of managed object IDs for
213
- * preferred datastores to use for HA heartbeating. This setting is only useful
214
- * when `haHeartbeatDatastorePolicy` is set
215
- * to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
296
+ * The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when haHeartbeatDatastorePolicy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
216
297
  */
217
298
  readonly haHeartbeatDatastoreIds: pulumi.Output<string[] | undefined>;
218
299
  /**
219
- * The selection policy for HA
220
- * heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
221
- * `allFeasibleDsWithUserPreference`. Default:
222
- * `allFeasibleDsWithUserPreference`.
300
+ * The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or allFeasibleDsWithUserPreference.
223
301
  */
224
302
  readonly haHeartbeatDatastorePolicy: pulumi.Output<string | undefined>;
225
303
  /**
226
- * The action to take on virtual
227
- * machines when a host has detected that it has been isolated from the rest of
228
- * the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
229
- * `none`.
304
+ * The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster. Can be one of none, powerOff, or shutdown.
230
305
  */
231
306
  readonly haHostIsolationResponse: pulumi.Output<string | undefined>;
232
307
  /**
233
- * Global setting that controls whether
234
- * vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
235
- * or `disabled`. Default: `enabled`.
308
+ * Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
236
309
  */
237
310
  readonly haHostMonitoring: pulumi.Output<string | undefined>;
238
311
  /**
239
- * Controls vSphere VM component
240
- * protection for virtual machines in this cluster. Can be one of `enabled` or
241
- * `disabled`. Default: `enabled`.
242
- * <sup>\*</sup>
312
+ * Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
243
313
  */
244
314
  readonly haVmComponentProtection: pulumi.Output<string | undefined>;
245
315
  /**
246
- * The condition used to
247
- * determine whether or not virtual machines in a certain restart priority class
248
- * are online, allowing HA to move on to restarting virtual machines on the next
249
- * priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
250
- * `appHbStatusGreen`. The default is `none`, which means that a virtual machine
251
- * is considered ready immediately after a host is found to start it on.
252
- * <sup>\*</sup>
316
+ * The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
253
317
  */
254
318
  readonly haVmDependencyRestartCondition: pulumi.Output<string | undefined>;
255
319
  /**
256
- * If a heartbeat from a virtual machine
257
- * is not received within this configured interval, the virtual machine is
258
- * marked as failed. The value is in seconds. Default: `30`.
320
+ * If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as failed. The value is in seconds.
259
321
  */
260
322
  readonly haVmFailureInterval: pulumi.Output<number | undefined>;
261
323
  /**
262
- * The length of the reset window in
263
- * which `haVmMaximumResets` can operate. When this
264
- * window expires, no more resets are attempted regardless of the setting
265
- * configured in `haVmMaximumResets`. `-1` means no window, meaning an
266
- * unlimited reset time is allotted. The value is specified in seconds. Default:
267
- * `-1` (no window).
324
+ * The length of the reset window in which haVmMaximumResets can operate. When this window expires, no more resets are attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset time is allotted.
268
325
  */
269
326
  readonly haVmMaximumFailureWindow: pulumi.Output<number | undefined>;
270
327
  /**
271
- * The maximum number of resets that HA will
272
- * perform to a virtual machine when responding to a failure event. Default: `3`
328
+ * The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
273
329
  */
274
330
  readonly haVmMaximumResets: pulumi.Output<number | undefined>;
275
331
  /**
276
- * The time, in seconds, that HA waits after
277
- * powering on a virtual machine before monitoring for heartbeats. Default:
278
- * `120` (2 minutes).
332
+ * The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
279
333
  */
280
334
  readonly haVmMinimumUptime: pulumi.Output<number | undefined>;
281
335
  /**
282
- * The type of virtual machine monitoring to use
283
- * when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
284
- * `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
336
+ * The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled, vmMonitoringOnly, or vmAndAppMonitoring.
285
337
  */
286
338
  readonly haVmMonitoring: pulumi.Output<string | undefined>;
287
339
  /**
288
- * Additional delay in seconds
289
- * after ready condition is met. A VM is considered ready at this point.
290
- * Default: `0` (no delay). <sup>\*</sup>
340
+ * Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
291
341
  */
292
342
  readonly haVmRestartAdditionalDelay: pulumi.Output<number | undefined>;
293
343
  /**
294
- * The default restart priority
295
- * for affected virtual machines when vSphere detects a host failure. Can be one
296
- * of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
344
+ * The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium, high, or highest.
297
345
  */
298
346
  readonly haVmRestartPriority: pulumi.Output<string | undefined>;
299
347
  /**
300
- * The maximum time, in seconds,
301
- * that vSphere HA will wait for virtual machines in one priority to be ready
302
- * before proceeding with the next priority. Default: `600` (10 minutes).
303
- * <sup>\*</sup>
348
+ * The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before proceeding with the next priority.
304
349
  */
305
350
  readonly haVmRestartTimeout: pulumi.Output<number | undefined>;
306
351
  /**
307
- * The timeout for each host maintenance mode
308
- * operation when removing hosts from a cluster. The value is specified in
309
- * seconds. Default: `3600` (1 hour).
352
+ * The timeout for each host maintenance mode operation when removing hosts from a cluster.
310
353
  */
311
354
  readonly hostClusterExitTimeout: pulumi.Output<number | undefined>;
312
355
  /**
313
- * Can be set to `true` if compute cluster
314
- * membership will be managed through the `host` resource rather than the
315
- * `computeCluster` resource. Conflicts with: `hostSystemIds`.
316
- * >>>>>>> v1.18.3
356
+ * Details about the host image which should be applied to the cluster.
357
+ */
358
+ readonly hostImage: pulumi.Output<outputs.ComputeClusterHostImage | undefined>;
359
+ /**
360
+ * Must be set if cluster enrollment is managed from host resource.
317
361
  */
318
362
  readonly hostManaged: pulumi.Output<boolean | undefined>;
319
363
  /**
320
- * The [managed object IDs][docs-about-morefs] of
321
- * the hosts to put in the cluster. Conflicts with: `hostManaged`.
364
+ * The managed object IDs of the hosts to put in the cluster.
322
365
  */
323
366
  readonly hostSystemIds: pulumi.Output<string[] | undefined>;
324
367
  /**
@@ -326,57 +369,97 @@ export declare class ComputeCluster extends pulumi.CustomResource {
326
369
  */
327
370
  readonly name: pulumi.Output<string>;
328
371
  /**
329
- * Determines how the host
330
- * quarantine, maintenance mode, or virtual machine migration recommendations
331
- * made by proactive HA are to be handled. Can be one of `Automated` or
332
- * `Manual`. Default: `Manual`. <sup>\*</sup>
372
+ * The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
333
373
  */
334
374
  readonly proactiveHaAutomationLevel: pulumi.Output<string | undefined>;
335
375
  /**
336
- * Enables Proactive HA. Default: `false`.
337
- * <sup>\*</sup>
376
+ * Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
338
377
  */
339
378
  readonly proactiveHaEnabled: pulumi.Output<boolean | undefined>;
340
379
  /**
341
- * The configured remediation
342
- * for moderately degraded hosts. Can be one of `MaintenanceMode` or
343
- * `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
344
- * `proactiveHaSevereRemediation` is set
345
- * to `QuarantineMode`. Default: `QuarantineMode`.
346
- * <sup>\*</sup>
380
+ * The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this cannot be set to MaintenanceMode when proactiveHaSevereRemediation is set to QuarantineMode.
347
381
  */
348
382
  readonly proactiveHaModerateRemediation: pulumi.Output<string | undefined>;
349
383
  /**
350
- * The list of IDs for health update
351
- * providers configured for this cluster.
352
- * <sup>\*</sup>
384
+ * The list of IDs for health update providers configured for this cluster.
353
385
  */
354
386
  readonly proactiveHaProviderIds: pulumi.Output<string[] | undefined>;
355
387
  /**
356
- * The configured remediation for
357
- * severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
358
- * Note that this cannot be set to `QuarantineMode` when
359
- * `proactiveHaModerateRemediation` is
360
- * set to `MaintenanceMode`. Default: `QuarantineMode`.
361
- * <sup>\*</sup>
388
+ * The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this cannot be set to QuarantineMode when proactiveHaModerateRemediation is set to MaintenanceMode.
362
389
  */
363
390
  readonly proactiveHaSevereRemediation: pulumi.Output<string | undefined>;
364
391
  /**
365
- * The managed object ID of the cluster's root resource pool.
392
+ * The [managed object ID][docs-about-morefs] of the primary
393
+ * resource pool for this cluster. This can be passed directly to the
394
+ * [`resourcePoolId`
395
+ * attribute][docs-r-vsphere-virtual-machine-resource-pool-id] of the
396
+ * [`vsphere.VirtualMachine`][docs-r-vsphere-virtual-machine] resource.
366
397
  */
367
398
  readonly resourcePoolId: pulumi.Output<string>;
368
399
  /**
369
- * The IDs of any tags to attach to this resource.
400
+ * The IDs of any tags to attach to this resource. See
401
+ * [here][docs-applying-tags] for a reference on how to apply tags.
402
+ *
403
+ * [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
404
+ * [docs-applying-tags]: /docs/providers/vsphere/r/tag.html#using-tags-in-a-supported-resource
370
405
  */
371
406
  readonly tags: pulumi.Output<string[] | undefined>;
407
+ /**
408
+ * Whether the vSAN compression service is enabled for the cluster.
409
+ */
410
+ readonly vsanCompressionEnabled: pulumi.Output<boolean | undefined>;
411
+ /**
412
+ * Whether the vSAN deduplication service is enabled for the cluster.
413
+ */
414
+ readonly vsanDedupEnabled: pulumi.Output<boolean | undefined>;
372
415
  /**
373
416
  * A list of disk UUIDs to add to the vSAN cluster.
374
417
  */
375
418
  readonly vsanDiskGroups: pulumi.Output<outputs.ComputeClusterVsanDiskGroup[]>;
376
419
  /**
377
- * Whether the VSAN service is enabled for the cluster.
420
+ * Whether the vSAN data-in-transit encryption is enabled for the cluster.
378
421
  */
379
- readonly vsanEnabled: pulumi.Output<boolean>;
422
+ readonly vsanDitEncryptionEnabled: pulumi.Output<boolean | undefined>;
423
+ /**
424
+ * When vsanDitEncryptionEnabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
425
+ */
426
+ readonly vsanDitRekeyInterval: pulumi.Output<number>;
427
+ /**
428
+ * Whether the vSAN service is enabled for the cluster.
429
+ */
430
+ readonly vsanEnabled: pulumi.Output<boolean | undefined>;
431
+ /**
432
+ * Whether the vSAN ESA service is enabled for the cluster.
433
+ */
434
+ readonly vsanEsaEnabled: pulumi.Output<boolean | undefined>;
435
+ /**
436
+ * The configuration for vSAN fault domains.
437
+ */
438
+ readonly vsanFaultDomains: pulumi.Output<outputs.ComputeClusterVsanFaultDomain[] | undefined>;
439
+ /**
440
+ * Whether the vSAN network diagnostic mode is enabled for the cluster.
441
+ */
442
+ readonly vsanNetworkDiagnosticModeEnabled: pulumi.Output<boolean | undefined>;
443
+ /**
444
+ * Whether the vSAN performance service is enabled for the cluster.
445
+ */
446
+ readonly vsanPerformanceEnabled: pulumi.Output<boolean | undefined>;
447
+ /**
448
+ * The managed object IDs of the vSAN datastore to be mounted on the cluster.
449
+ */
450
+ readonly vsanRemoteDatastoreIds: pulumi.Output<string[] | undefined>;
451
+ /**
452
+ * The configuration for stretched cluster.
453
+ */
454
+ readonly vsanStretchedCluster: pulumi.Output<outputs.ComputeClusterVsanStretchedCluster | undefined>;
455
+ /**
456
+ * Whether the vSAN unmap service is enabled for the cluster.
457
+ */
458
+ readonly vsanUnmapEnabled: pulumi.Output<boolean | undefined>;
459
+ /**
460
+ * Whether the vSAN verbose mode is enabled for the cluster.
461
+ */
462
+ readonly vsanVerboseModeEnabled: pulumi.Output<boolean | undefined>;
380
463
  /**
381
464
  * Create a ComputeCluster resource with the given unique name, arguments, and options.
382
465
  *
@@ -392,365 +475,312 @@ export declare class ComputeCluster extends pulumi.CustomResource {
392
475
  export interface ComputeClusterState {
393
476
  /**
394
477
  * A map of custom attribute ids to attribute
395
- * value strings to set for the datastore cluster.
478
+ * value strings to set for the datastore cluster. See
479
+ * [here][docs-setting-custom-attributes] for a reference on how to set values
480
+ * for custom attributes.
481
+ *
482
+ * [docs-setting-custom-attributes]: /docs/providers/vsphere/r/custom_attribute.html#using-custom-attributes-in-a-supported-resource
483
+ *
484
+ * > **NOTE:** Custom attributes are not supported on direct ESXi host
485
+ * connections and requires vCenter Server.
396
486
  */
397
487
  customAttributes?: pulumi.Input<{
398
488
  [key: string]: pulumi.Input<string>;
399
- }>;
489
+ } | undefined>;
400
490
  /**
401
- * The managed object ID of
491
+ * The [managed object ID][docs-about-morefs] of
402
492
  * the datacenter to create the cluster in. Forces a new resource if changed.
403
493
  */
404
- datacenterId?: pulumi.Input<string>;
494
+ datacenterId?: pulumi.Input<string | undefined>;
405
495
  /**
406
- * The automation level for host power
407
- * operations in this cluster. Can be one of `manual` or `automated`. Default:
408
- * `manual`.
496
+ * The automation level for host power operations in this cluster. Can be one of manual or automated.
409
497
  */
410
- dpmAutomationLevel?: pulumi.Input<string>;
498
+ dpmAutomationLevel?: pulumi.Input<string | undefined>;
411
499
  /**
412
- * Enable DPM support for DRS in this cluster.
413
- * Requires `drsEnabled` to be `true` in order to be effective.
414
- * Default: `false`.
500
+ * Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual machines in the cluster. Requires that DRS be enabled.
415
501
  */
416
- dpmEnabled?: pulumi.Input<boolean>;
502
+ dpmEnabled?: pulumi.Input<boolean | undefined>;
417
503
  /**
418
- * A value between `1` and `5` indicating the
419
- * threshold of load within the cluster that influences host power operations.
420
- * This affects both power on and power off operations - a lower setting will
421
- * tolerate more of a surplus/deficit than a higher setting. Default: `3`.
504
+ * A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher setting.
422
505
  */
423
- dpmThreshold?: pulumi.Input<number>;
506
+ dpmThreshold?: pulumi.Input<number | undefined>;
424
507
  /**
425
- * A key/value map that specifies advanced
426
- * options for DRS and DPM.
508
+ * Advanced configuration options for DRS and DPM.
427
509
  */
428
510
  drsAdvancedOptions?: pulumi.Input<{
429
511
  [key: string]: pulumi.Input<string>;
430
- }>;
512
+ } | undefined>;
513
+ /**
514
+ * The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or fullyAutomated.
515
+ */
516
+ drsAutomationLevel?: pulumi.Input<string | undefined>;
431
517
  /**
432
- * The default automation level for all
433
- * virtual machines in this cluster. Can be one of `manual`,
434
- * `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
518
+ * When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
435
519
  */
436
- drsAutomationLevel?: pulumi.Input<string>;
520
+ drsEnablePredictiveDrs?: pulumi.Input<boolean | undefined>;
437
521
  /**
438
- * When `true`, enables DRS to use data
439
- * from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
440
- * recommendations. <sup>\*</sup>
522
+ * When true, allows individual VM overrides within this cluster to be set.
441
523
  */
442
- drsEnablePredictiveDrs?: pulumi.Input<boolean>;
524
+ drsEnableVmOverrides?: pulumi.Input<boolean | undefined>;
443
525
  /**
444
- * Allow individual DRS overrides to be
445
- * set for virtual machines in the cluster. Default: `true`.
526
+ * Enable DRS for this cluster.
446
527
  */
447
- drsEnableVmOverrides?: pulumi.Input<boolean>;
528
+ drsEnabled?: pulumi.Input<boolean | undefined>;
448
529
  /**
449
- * Enable DRS for this cluster. Default: `false`.
530
+ * A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate more imbalance while a higher setting will tolerate less.
450
531
  */
451
- drsEnabled?: pulumi.Input<boolean>;
532
+ drsMigrationThreshold?: pulumi.Input<number | undefined>;
452
533
  /**
453
- * A value between `1` and `5` indicating
454
- * the threshold of imbalance tolerated between hosts. A lower setting will
455
- * tolerate more imbalance while a higher setting will tolerate less. Default:
456
- * `3`.
534
+ * Enable scalable shares for all descendants of this cluster.
457
535
  */
458
- drsMigrationThreshold?: pulumi.Input<number>;
536
+ drsScaleDescendantsShares?: pulumi.Input<string | undefined>;
459
537
  /**
460
538
  * The relative path to a folder to put this cluster in.
461
539
  * This is a path relative to the datacenter you are deploying the cluster to.
462
540
  * Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
463
- * The provider will place a cluster named `compute-cluster-test` in a
541
+ * Terraform will place a cluster named `terraform-compute-cluster-test` in a
464
542
  * host folder located at `/dc1/host/foo/bar`, with the final inventory path
465
- * being `/dc1/host/foo/bar/datastore-cluster-test`.
543
+ * being `/dc1/host/foo/bar/terraform-datastore-cluster-test`.
466
544
  */
467
- folder?: pulumi.Input<string>;
545
+ folder?: pulumi.Input<string | undefined>;
468
546
  /**
469
- * When destroying the resource, setting this to
470
- * `true` will auto-remove any hosts that are currently a member of the cluster,
471
- * as if they were removed by taking their entry out of `hostSystemIds` (see
472
- * below). This is an advanced
473
- * option and should only be used for testing. Default: `false`.
547
+ * Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists for testing and is not recommended in normal use.
474
548
  */
475
- forceEvacuateOnDestroy?: pulumi.Input<boolean>;
549
+ forceEvacuateOnDestroy?: pulumi.Input<boolean | undefined>;
476
550
  /**
477
- * Defines the
478
- * managed object IDs of hosts to use as dedicated failover
479
- * hosts. These hosts are kept as available as possible - admission control will
480
- * block access to the host, and DRS will ignore the host when making
481
- * recommendations.
551
+ * When haAdmissionControlPolicy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS will ignore the host when making recommendations.
482
552
  */
483
- haAdmissionControlFailoverHostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;
553
+ haAdmissionControlFailoverHostSystemIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
484
554
  /**
485
- * The maximum number
486
- * of failed hosts that admission control tolerates when making decisions on
487
- * whether to permit virtual machine operations. The maximum is one less than
488
- * the number of hosts in the cluster. Default: `1`.
489
- * <sup>\*</sup>
555
+ * The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual machine operations. The maximum is one less than the number of hosts in the cluster.
490
556
  */
491
- haAdmissionControlHostFailureTolerance?: pulumi.Input<number>;
557
+ haAdmissionControlHostFailureTolerance?: pulumi.Input<number | undefined>;
492
558
  /**
493
- * The percentage of
494
- * resource reduction that a cluster of virtual machines can tolerate in case of
495
- * a failover. A value of 0 produces warnings only, whereas a value of 100
496
- * disables the setting. Default: `100` (disabled).
559
+ * The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces warnings only, whereas a value of 100 disables the setting.
497
560
  */
498
- haAdmissionControlPerformanceTolerance?: pulumi.Input<number>;
561
+ haAdmissionControlPerformanceTolerance?: pulumi.Input<number | undefined>;
499
562
  /**
500
- * The type of admission control
501
- * policy to use with vSphere HA. Can be one of `resourcePercentage`,
502
- * `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
563
+ * The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage, slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service issues.
503
564
  */
504
- haAdmissionControlPolicy?: pulumi.Input<string>;
565
+ haAdmissionControlPolicy?: pulumi.Input<string | undefined>;
505
566
  /**
506
- * Automatically determine available resource percentages by subtracting the
507
- * average number of host resources represented by the
508
- * `haAdmissionControlHostFailureTolerance`
509
- * setting from the total amount of resources in the cluster. Disable to supply
510
- * user-defined values. Default: `true`.
511
- * <sup>\*</sup>
567
+ * When haAdmissionControlPolicy is resourcePercentage, automatically determine available resource percentages by subtracting the average number of host resources represented by the haAdmissionControlHostFailureTolerance setting from the total amount of resources in the cluster. Disable to supply user-defined values.
512
568
  */
513
- haAdmissionControlResourcePercentageAutoCompute?: pulumi.Input<boolean>;
569
+ haAdmissionControlResourcePercentageAutoCompute?: pulumi.Input<boolean | undefined>;
514
570
  /**
515
- * Controls the
516
- * user-defined percentage of CPU resources in the cluster to reserve for
517
- * failover. Default: `100`.
571
+ * When haAdmissionControlPolicy is resourcePercentage, this controls the user-defined percentage of CPU resources in the cluster to reserve for failover.
518
572
  */
519
- haAdmissionControlResourcePercentageCpu?: pulumi.Input<number>;
573
+ haAdmissionControlResourcePercentageCpu?: pulumi.Input<number | undefined>;
520
574
  /**
521
- * Controls the
522
- * user-defined percentage of memory resources in the cluster to reserve for
523
- * failover. Default: `100`.
575
+ * When haAdmissionControlPolicy is resourcePercentage, this controls the user-defined percentage of memory resources in the cluster to reserve for failover.
524
576
  */
525
- haAdmissionControlResourcePercentageMemory?: pulumi.Input<number>;
577
+ haAdmissionControlResourcePercentageMemory?: pulumi.Input<number | undefined>;
526
578
  /**
527
- * Controls the
528
- * user-defined CPU slot size, in MHz. Default: `32`.
579
+ * When haAdmissionControlPolicy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
529
580
  */
530
- haAdmissionControlSlotPolicyExplicitCpu?: pulumi.Input<number>;
581
+ haAdmissionControlSlotPolicyExplicitCpu?: pulumi.Input<number | undefined>;
531
582
  /**
532
- * Controls the
533
- * user-defined memory slot size, in MB. Default: `100`.
583
+ * When haAdmissionControlPolicy is slotPolicy, this controls the user-defined memory slot size, in MB.
534
584
  */
535
- haAdmissionControlSlotPolicyExplicitMemory?: pulumi.Input<number>;
585
+ haAdmissionControlSlotPolicyExplicitMemory?: pulumi.Input<number | undefined>;
536
586
  /**
537
- * Controls
538
- * whether or not you wish to supply explicit values to CPU and memory slot
539
- * sizes. The default is `false`, which tells vSphere to gather a automatic
540
- * average based on all powered-on virtual machines currently in the cluster.
587
+ * When haAdmissionControlPolicy is slotPolicy, this setting controls whether or not you wish to supply explicit values to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines currently in the cluster.
541
588
  */
542
- haAdmissionControlSlotPolicyUseExplicitSize?: pulumi.Input<boolean>;
589
+ haAdmissionControlSlotPolicyUseExplicitSize?: pulumi.Input<boolean | undefined>;
543
590
  /**
544
- * A key/value map that specifies advanced
545
- * options for vSphere HA.
591
+ * Advanced configuration options for vSphere HA.
546
592
  */
547
593
  haAdvancedOptions?: pulumi.Input<{
548
594
  [key: string]: pulumi.Input<string>;
549
- }>;
595
+ } | undefined>;
596
+ /**
597
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines if an APD status on an affected datastore clears in the middle of an APD event. Can be one of none or reset.
598
+ */
599
+ haDatastoreApdRecoveryAction?: pulumi.Input<string | undefined>;
550
600
  /**
551
- * Controls the action to take
552
- * on virtual machines if an APD status on an affected datastore clears in the
553
- * middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
554
- * <sup>\*</sup>
601
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines when the cluster has detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or restartAggressive.
555
602
  */
556
- haDatastoreApdRecoveryAction?: pulumi.Input<string>;
603
+ haDatastoreApdResponse?: pulumi.Input<string | undefined>;
557
604
  /**
558
- * Controls the action to take on
559
- * virtual machines when the cluster has detected loss to all paths to a
560
- * relevant datastore. Can be one of `disabled`, `warning`,
561
- * `restartConservative`, or `restartAggressive`. Default: `disabled`.
562
- * <sup>\*</sup>
605
+ * When haVmComponentProtection is enabled, controls the delay in seconds to wait after an APD timeout event to execute the response action defined in ha_datastore_apd_response.
563
606
  */
564
- haDatastoreApdResponse?: pulumi.Input<string>;
607
+ haDatastoreApdResponseDelay?: pulumi.Input<number | undefined>;
565
608
  /**
566
- * Controls the delay in minutes
567
- * to wait after an APD timeout event to execute the response action defined in
568
- * `haDatastoreApdResponse`. Default: `3`
569
- * minutes. <sup>\*</sup>
609
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines when the cluster has detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
570
610
  */
571
- haDatastoreApdResponseDelay?: pulumi.Input<number>;
611
+ haDatastorePdlResponse?: pulumi.Input<string | undefined>;
572
612
  /**
573
- * Controls the action to take on
574
- * virtual machines when the cluster has detected a permanent device loss to a
575
- * relevant datastore. Can be one of `disabled`, `warning`, or
576
- * `restartAggressive`. Default: `disabled`.
577
- * <sup>\*</sup>
613
+ * Enable vSphere HA for this cluster.
578
614
  */
579
- haDatastorePdlResponse?: pulumi.Input<string>;
615
+ haEnabled?: pulumi.Input<boolean | undefined>;
580
616
  /**
581
- * Enable vSphere HA for this cluster. Default:
582
- * `false`.
617
+ * The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when haHeartbeatDatastorePolicy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
583
618
  */
584
- haEnabled?: pulumi.Input<boolean>;
619
+ haHeartbeatDatastoreIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
585
620
  /**
586
- * The list of managed object IDs for
587
- * preferred datastores to use for HA heartbeating. This setting is only useful
588
- * when `haHeartbeatDatastorePolicy` is set
589
- * to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
621
+ * The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or allFeasibleDsWithUserPreference.
590
622
  */
591
- haHeartbeatDatastoreIds?: pulumi.Input<pulumi.Input<string>[]>;
623
+ haHeartbeatDatastorePolicy?: pulumi.Input<string | undefined>;
592
624
  /**
593
- * The selection policy for HA
594
- * heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
595
- * `allFeasibleDsWithUserPreference`. Default:
596
- * `allFeasibleDsWithUserPreference`.
625
+ * The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster. Can be one of none, powerOff, or shutdown.
597
626
  */
598
- haHeartbeatDatastorePolicy?: pulumi.Input<string>;
627
+ haHostIsolationResponse?: pulumi.Input<string | undefined>;
599
628
  /**
600
- * The action to take on virtual
601
- * machines when a host has detected that it has been isolated from the rest of
602
- * the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
603
- * `none`.
629
+ * Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
604
630
  */
605
- haHostIsolationResponse?: pulumi.Input<string>;
631
+ haHostMonitoring?: pulumi.Input<string | undefined>;
606
632
  /**
607
- * Global setting that controls whether
608
- * vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
609
- * or `disabled`. Default: `enabled`.
633
+ * Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
610
634
  */
611
- haHostMonitoring?: pulumi.Input<string>;
635
+ haVmComponentProtection?: pulumi.Input<string | undefined>;
612
636
  /**
613
- * Controls vSphere VM component
614
- * protection for virtual machines in this cluster. Can be one of `enabled` or
615
- * `disabled`. Default: `enabled`.
616
- * <sup>\*</sup>
637
+ * The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
617
638
  */
618
- haVmComponentProtection?: pulumi.Input<string>;
639
+ haVmDependencyRestartCondition?: pulumi.Input<string | undefined>;
619
640
  /**
620
- * The condition used to
621
- * determine whether or not virtual machines in a certain restart priority class
622
- * are online, allowing HA to move on to restarting virtual machines on the next
623
- * priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
624
- * `appHbStatusGreen`. The default is `none`, which means that a virtual machine
625
- * is considered ready immediately after a host is found to start it on.
626
- * <sup>\*</sup>
641
+ * If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as failed. The value is in seconds.
627
642
  */
628
- haVmDependencyRestartCondition?: pulumi.Input<string>;
643
+ haVmFailureInterval?: pulumi.Input<number | undefined>;
629
644
  /**
630
- * If a heartbeat from a virtual machine
631
- * is not received within this configured interval, the virtual machine is
632
- * marked as failed. The value is in seconds. Default: `30`.
645
+ * The length of the reset window in which haVmMaximumResets can operate. When this window expires, no more resets are attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset time is allotted.
633
646
  */
634
- haVmFailureInterval?: pulumi.Input<number>;
647
+ haVmMaximumFailureWindow?: pulumi.Input<number | undefined>;
635
648
  /**
636
- * The length of the reset window in
637
- * which `haVmMaximumResets` can operate. When this
638
- * window expires, no more resets are attempted regardless of the setting
639
- * configured in `haVmMaximumResets`. `-1` means no window, meaning an
640
- * unlimited reset time is allotted. The value is specified in seconds. Default:
641
- * `-1` (no window).
649
+ * The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
642
650
  */
643
- haVmMaximumFailureWindow?: pulumi.Input<number>;
651
+ haVmMaximumResets?: pulumi.Input<number | undefined>;
644
652
  /**
645
- * The maximum number of resets that HA will
646
- * perform to a virtual machine when responding to a failure event. Default: `3`
653
+ * The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
647
654
  */
648
- haVmMaximumResets?: pulumi.Input<number>;
655
+ haVmMinimumUptime?: pulumi.Input<number | undefined>;
649
656
  /**
650
- * The time, in seconds, that HA waits after
651
- * powering on a virtual machine before monitoring for heartbeats. Default:
652
- * `120` (2 minutes).
657
+ * The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled, vmMonitoringOnly, or vmAndAppMonitoring.
653
658
  */
654
- haVmMinimumUptime?: pulumi.Input<number>;
659
+ haVmMonitoring?: pulumi.Input<string | undefined>;
655
660
  /**
656
- * The type of virtual machine monitoring to use
657
- * when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
658
- * `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
661
+ * Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
659
662
  */
660
- haVmMonitoring?: pulumi.Input<string>;
663
+ haVmRestartAdditionalDelay?: pulumi.Input<number | undefined>;
661
664
  /**
662
- * Additional delay in seconds
663
- * after ready condition is met. A VM is considered ready at this point.
664
- * Default: `0` (no delay). <sup>\*</sup>
665
+ * The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium, high, or highest.
665
666
  */
666
- haVmRestartAdditionalDelay?: pulumi.Input<number>;
667
+ haVmRestartPriority?: pulumi.Input<string | undefined>;
667
668
  /**
668
- * The default restart priority
669
- * for affected virtual machines when vSphere detects a host failure. Can be one
670
- * of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
669
+ * The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before proceeding with the next priority.
671
670
  */
672
- haVmRestartPriority?: pulumi.Input<string>;
671
+ haVmRestartTimeout?: pulumi.Input<number | undefined>;
673
672
  /**
674
- * The maximum time, in seconds,
675
- * that vSphere HA will wait for virtual machines in one priority to be ready
676
- * before proceeding with the next priority. Default: `600` (10 minutes).
677
- * <sup>\*</sup>
673
+ * The timeout for each host maintenance mode operation when removing hosts from a cluster.
678
674
  */
679
- haVmRestartTimeout?: pulumi.Input<number>;
675
+ hostClusterExitTimeout?: pulumi.Input<number | undefined>;
680
676
  /**
681
- * The timeout for each host maintenance mode
682
- * operation when removing hosts from a cluster. The value is specified in
683
- * seconds. Default: `3600` (1 hour).
677
+ * Details about the host image which should be applied to the cluster.
684
678
  */
685
- hostClusterExitTimeout?: pulumi.Input<number>;
679
+ hostImage?: pulumi.Input<inputs.ComputeClusterHostImage | undefined>;
686
680
  /**
687
- * Can be set to `true` if compute cluster
688
- * membership will be managed through the `host` resource rather than the
689
- * `computeCluster` resource. Conflicts with: `hostSystemIds`.
690
- * >>>>>>> v1.18.3
681
+ * Must be set if cluster enrollment is managed from host resource.
691
682
  */
692
- hostManaged?: pulumi.Input<boolean>;
683
+ hostManaged?: pulumi.Input<boolean | undefined>;
693
684
  /**
694
- * The [managed object IDs][docs-about-morefs] of
695
- * the hosts to put in the cluster. Conflicts with: `hostManaged`.
685
+ * The managed object IDs of the hosts to put in the cluster.
696
686
  */
697
- hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;
687
+ hostSystemIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
698
688
  /**
699
689
  * The name of the cluster.
700
690
  */
701
- name?: pulumi.Input<string>;
691
+ name?: pulumi.Input<string | undefined>;
692
+ /**
693
+ * The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
694
+ */
695
+ proactiveHaAutomationLevel?: pulumi.Input<string | undefined>;
696
+ /**
697
+ * Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
698
+ */
699
+ proactiveHaEnabled?: pulumi.Input<boolean | undefined>;
702
700
  /**
703
- * Determines how the host
704
- * quarantine, maintenance mode, or virtual machine migration recommendations
705
- * made by proactive HA are to be handled. Can be one of `Automated` or
706
- * `Manual`. Default: `Manual`. <sup>\*</sup>
701
+ * The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this cannot be set to MaintenanceMode when proactiveHaSevereRemediation is set to QuarantineMode.
707
702
  */
708
- proactiveHaAutomationLevel?: pulumi.Input<string>;
703
+ proactiveHaModerateRemediation?: pulumi.Input<string | undefined>;
709
704
  /**
710
- * Enables Proactive HA. Default: `false`.
711
- * <sup>\*</sup>
705
+ * The list of IDs for health update providers configured for this cluster.
712
706
  */
713
- proactiveHaEnabled?: pulumi.Input<boolean>;
707
+ proactiveHaProviderIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
714
708
  /**
715
- * The configured remediation
716
- * for moderately degraded hosts. Can be one of `MaintenanceMode` or
717
- * `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
718
- * `proactiveHaSevereRemediation` is set
719
- * to `QuarantineMode`. Default: `QuarantineMode`.
720
- * <sup>\*</sup>
709
+ * The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this cannot be set to QuarantineMode when proactiveHaModerateRemediation is set to MaintenanceMode.
721
710
  */
722
- proactiveHaModerateRemediation?: pulumi.Input<string>;
711
+ proactiveHaSevereRemediation?: pulumi.Input<string | undefined>;
723
712
  /**
724
- * The list of IDs for health update
725
- * providers configured for this cluster.
726
- * <sup>\*</sup>
713
+ * The [managed object ID][docs-about-morefs] of the primary
714
+ * resource pool for this cluster. This can be passed directly to the
715
+ * [`resourcePoolId`
716
+ * attribute][docs-r-vsphere-virtual-machine-resource-pool-id] of the
717
+ * [`vsphere.VirtualMachine`][docs-r-vsphere-virtual-machine] resource.
727
718
  */
728
- proactiveHaProviderIds?: pulumi.Input<pulumi.Input<string>[]>;
719
+ resourcePoolId?: pulumi.Input<string | undefined>;
729
720
  /**
730
- * The configured remediation for
731
- * severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
732
- * Note that this cannot be set to `QuarantineMode` when
733
- * `proactiveHaModerateRemediation` is
734
- * set to `MaintenanceMode`. Default: `QuarantineMode`.
735
- * <sup>\*</sup>
721
+ * The IDs of any tags to attach to this resource. See
722
+ * [here][docs-applying-tags] for a reference on how to apply tags.
723
+ *
724
+ * [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
725
+ * [docs-applying-tags]: /docs/providers/vsphere/r/tag.html#using-tags-in-a-supported-resource
736
726
  */
737
- proactiveHaSevereRemediation?: pulumi.Input<string>;
727
+ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
738
728
  /**
739
- * The managed object ID of the cluster's root resource pool.
729
+ * Whether the vSAN compression service is enabled for the cluster.
740
730
  */
741
- resourcePoolId?: pulumi.Input<string>;
731
+ vsanCompressionEnabled?: pulumi.Input<boolean | undefined>;
742
732
  /**
743
- * The IDs of any tags to attach to this resource.
733
+ * Whether the vSAN deduplication service is enabled for the cluster.
744
734
  */
745
- tags?: pulumi.Input<pulumi.Input<string>[]>;
735
+ vsanDedupEnabled?: pulumi.Input<boolean | undefined>;
746
736
  /**
747
737
  * A list of disk UUIDs to add to the vSAN cluster.
748
738
  */
749
- vsanDiskGroups?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanDiskGroup>[]>;
739
+ vsanDiskGroups?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanDiskGroup>[] | undefined>;
740
+ /**
741
+ * Whether the vSAN data-in-transit encryption is enabled for the cluster.
742
+ */
743
+ vsanDitEncryptionEnabled?: pulumi.Input<boolean | undefined>;
744
+ /**
745
+ * When vsanDitEncryptionEnabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
746
+ */
747
+ vsanDitRekeyInterval?: pulumi.Input<number | undefined>;
750
748
  /**
751
- * Whether the VSAN service is enabled for the cluster.
749
+ * Whether the vSAN service is enabled for the cluster.
752
750
  */
753
- vsanEnabled?: pulumi.Input<boolean>;
751
+ vsanEnabled?: pulumi.Input<boolean | undefined>;
752
+ /**
753
+ * Whether the vSAN ESA service is enabled for the cluster.
754
+ */
755
+ vsanEsaEnabled?: pulumi.Input<boolean | undefined>;
756
+ /**
757
+ * The configuration for vSAN fault domains.
758
+ */
759
+ vsanFaultDomains?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanFaultDomain>[] | undefined>;
760
+ /**
761
+ * Whether the vSAN network diagnostic mode is enabled for the cluster.
762
+ */
763
+ vsanNetworkDiagnosticModeEnabled?: pulumi.Input<boolean | undefined>;
764
+ /**
765
+ * Whether the vSAN performance service is enabled for the cluster.
766
+ */
767
+ vsanPerformanceEnabled?: pulumi.Input<boolean | undefined>;
768
+ /**
769
+ * The managed object IDs of the vSAN datastore to be mounted on the cluster.
770
+ */
771
+ vsanRemoteDatastoreIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
772
+ /**
773
+ * The configuration for stretched cluster.
774
+ */
775
+ vsanStretchedCluster?: pulumi.Input<inputs.ComputeClusterVsanStretchedCluster | undefined>;
776
+ /**
777
+ * Whether the vSAN unmap service is enabled for the cluster.
778
+ */
779
+ vsanUnmapEnabled?: pulumi.Input<boolean | undefined>;
780
+ /**
781
+ * Whether the vSAN verbose mode is enabled for the cluster.
782
+ */
783
+ vsanVerboseModeEnabled?: pulumi.Input<boolean | undefined>;
754
784
  }
755
785
  /**
756
786
  * The set of arguments for constructing a ComputeCluster resource.
@@ -758,359 +788,303 @@ export interface ComputeClusterState {
758
788
  export interface ComputeClusterArgs {
759
789
  /**
760
790
  * A map of custom attribute ids to attribute
761
- * value strings to set for the datastore cluster.
791
+ * value strings to set for the datastore cluster. See
792
+ * [here][docs-setting-custom-attributes] for a reference on how to set values
793
+ * for custom attributes.
794
+ *
795
+ * [docs-setting-custom-attributes]: /docs/providers/vsphere/r/custom_attribute.html#using-custom-attributes-in-a-supported-resource
796
+ *
797
+ * > **NOTE:** Custom attributes are not supported on direct ESXi host
798
+ * connections and requires vCenter Server.
762
799
  */
763
800
  customAttributes?: pulumi.Input<{
764
801
  [key: string]: pulumi.Input<string>;
765
- }>;
802
+ } | undefined>;
766
803
  /**
767
- * The managed object ID of
804
+ * The [managed object ID][docs-about-morefs] of
768
805
  * the datacenter to create the cluster in. Forces a new resource if changed.
769
806
  */
770
807
  datacenterId: pulumi.Input<string>;
771
808
  /**
772
- * The automation level for host power
773
- * operations in this cluster. Can be one of `manual` or `automated`. Default:
774
- * `manual`.
809
+ * The automation level for host power operations in this cluster. Can be one of manual or automated.
775
810
  */
776
- dpmAutomationLevel?: pulumi.Input<string>;
811
+ dpmAutomationLevel?: pulumi.Input<string | undefined>;
777
812
  /**
778
- * Enable DPM support for DRS in this cluster.
779
- * Requires `drsEnabled` to be `true` in order to be effective.
780
- * Default: `false`.
813
+ * Enable DPM support for DRS. This allows you to dynamically control the power of hosts depending on the needs of virtual machines in the cluster. Requires that DRS be enabled.
781
814
  */
782
- dpmEnabled?: pulumi.Input<boolean>;
815
+ dpmEnabled?: pulumi.Input<boolean | undefined>;
783
816
  /**
784
- * A value between `1` and `5` indicating the
785
- * threshold of load within the cluster that influences host power operations.
786
- * This affects both power on and power off operations - a lower setting will
787
- * tolerate more of a surplus/deficit than a higher setting. Default: `3`.
817
+ * A value between 1 and 5 indicating the threshold of load within the cluster that influences host power operations. This affects both power on and power off operations - a lower setting will tolerate more of a surplus/deficit than a higher setting.
788
818
  */
789
- dpmThreshold?: pulumi.Input<number>;
819
+ dpmThreshold?: pulumi.Input<number | undefined>;
790
820
  /**
791
- * A key/value map that specifies advanced
792
- * options for DRS and DPM.
821
+ * Advanced configuration options for DRS and DPM.
793
822
  */
794
823
  drsAdvancedOptions?: pulumi.Input<{
795
824
  [key: string]: pulumi.Input<string>;
796
- }>;
825
+ } | undefined>;
826
+ /**
827
+ * The default automation level for all virtual machines in this cluster. Can be one of manual, partiallyAutomated, or fullyAutomated.
828
+ */
829
+ drsAutomationLevel?: pulumi.Input<string | undefined>;
797
830
  /**
798
- * The default automation level for all
799
- * virtual machines in this cluster. Can be one of `manual`,
800
- * `partiallyAutomated`, or `fullyAutomated`. Default: `manual`.
831
+ * When true, enables DRS to use data from vRealize Operations Manager to make proactive DRS recommendations.
801
832
  */
802
- drsAutomationLevel?: pulumi.Input<string>;
833
+ drsEnablePredictiveDrs?: pulumi.Input<boolean | undefined>;
803
834
  /**
804
- * When `true`, enables DRS to use data
805
- * from [vRealize Operations Manager][ref-vsphere-vro] to make proactive DRS
806
- * recommendations. <sup>\*</sup>
835
+ * When true, allows individual VM overrides within this cluster to be set.
807
836
  */
808
- drsEnablePredictiveDrs?: pulumi.Input<boolean>;
837
+ drsEnableVmOverrides?: pulumi.Input<boolean | undefined>;
809
838
  /**
810
- * Allow individual DRS overrides to be
811
- * set for virtual machines in the cluster. Default: `true`.
839
+ * Enable DRS for this cluster.
812
840
  */
813
- drsEnableVmOverrides?: pulumi.Input<boolean>;
841
+ drsEnabled?: pulumi.Input<boolean | undefined>;
814
842
  /**
815
- * Enable DRS for this cluster. Default: `false`.
843
+ * A value between 1 and 5 indicating the threshold of imbalance tolerated between hosts. A lower setting will tolerate more imbalance while a higher setting will tolerate less.
816
844
  */
817
- drsEnabled?: pulumi.Input<boolean>;
845
+ drsMigrationThreshold?: pulumi.Input<number | undefined>;
818
846
  /**
819
- * A value between `1` and `5` indicating
820
- * the threshold of imbalance tolerated between hosts. A lower setting will
821
- * tolerate more imbalance while a higher setting will tolerate less. Default:
822
- * `3`.
847
+ * Enable scalable shares for all descendants of this cluster.
823
848
  */
824
- drsMigrationThreshold?: pulumi.Input<number>;
849
+ drsScaleDescendantsShares?: pulumi.Input<string | undefined>;
825
850
  /**
826
851
  * The relative path to a folder to put this cluster in.
827
852
  * This is a path relative to the datacenter you are deploying the cluster to.
828
853
  * Example: for the `dc1` datacenter, and a provided `folder` of `foo/bar`,
829
- * The provider will place a cluster named `compute-cluster-test` in a
854
+ * Terraform will place a cluster named `terraform-compute-cluster-test` in a
830
855
  * host folder located at `/dc1/host/foo/bar`, with the final inventory path
831
- * being `/dc1/host/foo/bar/datastore-cluster-test`.
856
+ * being `/dc1/host/foo/bar/terraform-datastore-cluster-test`.
832
857
  */
833
- folder?: pulumi.Input<string>;
858
+ folder?: pulumi.Input<string | undefined>;
834
859
  /**
835
- * When destroying the resource, setting this to
836
- * `true` will auto-remove any hosts that are currently a member of the cluster,
837
- * as if they were removed by taking their entry out of `hostSystemIds` (see
838
- * below). This is an advanced
839
- * option and should only be used for testing. Default: `false`.
860
+ * Force removal of all hosts in the cluster during destroy and make them standalone hosts. Use of this flag mainly exists for testing and is not recommended in normal use.
840
861
  */
841
- forceEvacuateOnDestroy?: pulumi.Input<boolean>;
862
+ forceEvacuateOnDestroy?: pulumi.Input<boolean | undefined>;
842
863
  /**
843
- * Defines the
844
- * managed object IDs of hosts to use as dedicated failover
845
- * hosts. These hosts are kept as available as possible - admission control will
846
- * block access to the host, and DRS will ignore the host when making
847
- * recommendations.
864
+ * When haAdmissionControlPolicy is failoverHosts, this defines the managed object IDs of hosts to use as dedicated failover hosts. These hosts are kept as available as possible - admission control will block access to the host, and DRS will ignore the host when making recommendations.
848
865
  */
849
- haAdmissionControlFailoverHostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;
866
+ haAdmissionControlFailoverHostSystemIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
850
867
  /**
851
- * The maximum number
852
- * of failed hosts that admission control tolerates when making decisions on
853
- * whether to permit virtual machine operations. The maximum is one less than
854
- * the number of hosts in the cluster. Default: `1`.
855
- * <sup>\*</sup>
868
+ * The maximum number of failed hosts that admission control tolerates when making decisions on whether to permit virtual machine operations. The maximum is one less than the number of hosts in the cluster.
856
869
  */
857
- haAdmissionControlHostFailureTolerance?: pulumi.Input<number>;
870
+ haAdmissionControlHostFailureTolerance?: pulumi.Input<number | undefined>;
858
871
  /**
859
- * The percentage of
860
- * resource reduction that a cluster of virtual machines can tolerate in case of
861
- * a failover. A value of 0 produces warnings only, whereas a value of 100
862
- * disables the setting. Default: `100` (disabled).
872
+ * The percentage of resource reduction that a cluster of VMs can tolerate in case of a failover. A value of 0 produces warnings only, whereas a value of 100 disables the setting.
863
873
  */
864
- haAdmissionControlPerformanceTolerance?: pulumi.Input<number>;
874
+ haAdmissionControlPerformanceTolerance?: pulumi.Input<number | undefined>;
865
875
  /**
866
- * The type of admission control
867
- * policy to use with vSphere HA. Can be one of `resourcePercentage`,
868
- * `slotPolicy`, `failoverHosts`, or `disabled`. Default: `resourcePercentage`.
876
+ * The type of admission control policy to use with vSphere HA, which controls whether or not specific VM operations are permitted in the cluster in order to protect the reliability of the cluster. Can be one of resourcePercentage, slotPolicy, failoverHosts, or disabled. Note that disabling admission control is not recommended and can lead to service issues.
869
877
  */
870
- haAdmissionControlPolicy?: pulumi.Input<string>;
878
+ haAdmissionControlPolicy?: pulumi.Input<string | undefined>;
871
879
  /**
872
- * Automatically determine available resource percentages by subtracting the
873
- * average number of host resources represented by the
874
- * `haAdmissionControlHostFailureTolerance`
875
- * setting from the total amount of resources in the cluster. Disable to supply
876
- * user-defined values. Default: `true`.
877
- * <sup>\*</sup>
880
+ * When haAdmissionControlPolicy is resourcePercentage, automatically determine available resource percentages by subtracting the average number of host resources represented by the haAdmissionControlHostFailureTolerance setting from the total amount of resources in the cluster. Disable to supply user-defined values.
878
881
  */
879
- haAdmissionControlResourcePercentageAutoCompute?: pulumi.Input<boolean>;
882
+ haAdmissionControlResourcePercentageAutoCompute?: pulumi.Input<boolean | undefined>;
880
883
  /**
881
- * Controls the
882
- * user-defined percentage of CPU resources in the cluster to reserve for
883
- * failover. Default: `100`.
884
+ * When haAdmissionControlPolicy is resourcePercentage, this controls the user-defined percentage of CPU resources in the cluster to reserve for failover.
884
885
  */
885
- haAdmissionControlResourcePercentageCpu?: pulumi.Input<number>;
886
+ haAdmissionControlResourcePercentageCpu?: pulumi.Input<number | undefined>;
886
887
  /**
887
- * Controls the
888
- * user-defined percentage of memory resources in the cluster to reserve for
889
- * failover. Default: `100`.
888
+ * When haAdmissionControlPolicy is resourcePercentage, this controls the user-defined percentage of memory resources in the cluster to reserve for failover.
890
889
  */
891
- haAdmissionControlResourcePercentageMemory?: pulumi.Input<number>;
890
+ haAdmissionControlResourcePercentageMemory?: pulumi.Input<number | undefined>;
892
891
  /**
893
- * Controls the
894
- * user-defined CPU slot size, in MHz. Default: `32`.
892
+ * When haAdmissionControlPolicy is slotPolicy, this controls the user-defined CPU slot size, in MHz.
895
893
  */
896
- haAdmissionControlSlotPolicyExplicitCpu?: pulumi.Input<number>;
894
+ haAdmissionControlSlotPolicyExplicitCpu?: pulumi.Input<number | undefined>;
897
895
  /**
898
- * Controls the
899
- * user-defined memory slot size, in MB. Default: `100`.
896
+ * When haAdmissionControlPolicy is slotPolicy, this controls the user-defined memory slot size, in MB.
900
897
  */
901
- haAdmissionControlSlotPolicyExplicitMemory?: pulumi.Input<number>;
898
+ haAdmissionControlSlotPolicyExplicitMemory?: pulumi.Input<number | undefined>;
902
899
  /**
903
- * Controls
904
- * whether or not you wish to supply explicit values to CPU and memory slot
905
- * sizes. The default is `false`, which tells vSphere to gather a automatic
906
- * average based on all powered-on virtual machines currently in the cluster.
900
+ * When haAdmissionControlPolicy is slotPolicy, this setting controls whether or not you wish to supply explicit values to CPU and memory slot sizes. The default is to gather a automatic average based on all powered-on virtual machines currently in the cluster.
907
901
  */
908
- haAdmissionControlSlotPolicyUseExplicitSize?: pulumi.Input<boolean>;
902
+ haAdmissionControlSlotPolicyUseExplicitSize?: pulumi.Input<boolean | undefined>;
909
903
  /**
910
- * A key/value map that specifies advanced
911
- * options for vSphere HA.
904
+ * Advanced configuration options for vSphere HA.
912
905
  */
913
906
  haAdvancedOptions?: pulumi.Input<{
914
907
  [key: string]: pulumi.Input<string>;
915
- }>;
908
+ } | undefined>;
909
+ /**
910
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines if an APD status on an affected datastore clears in the middle of an APD event. Can be one of none or reset.
911
+ */
912
+ haDatastoreApdRecoveryAction?: pulumi.Input<string | undefined>;
916
913
  /**
917
- * Controls the action to take
918
- * on virtual machines if an APD status on an affected datastore clears in the
919
- * middle of an APD event. Can be one of `none` or `reset`. Default: `none`.
920
- * <sup>\*</sup>
914
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines when the cluster has detected loss to all paths to a relevant datastore. Can be one of disabled, warning, restartConservative, or restartAggressive.
921
915
  */
922
- haDatastoreApdRecoveryAction?: pulumi.Input<string>;
916
+ haDatastoreApdResponse?: pulumi.Input<string | undefined>;
923
917
  /**
924
- * Controls the action to take on
925
- * virtual machines when the cluster has detected loss to all paths to a
926
- * relevant datastore. Can be one of `disabled`, `warning`,
927
- * `restartConservative`, or `restartAggressive`. Default: `disabled`.
928
- * <sup>\*</sup>
918
+ * When haVmComponentProtection is enabled, controls the delay in seconds to wait after an APD timeout event to execute the response action defined in ha_datastore_apd_response.
929
919
  */
930
- haDatastoreApdResponse?: pulumi.Input<string>;
920
+ haDatastoreApdResponseDelay?: pulumi.Input<number | undefined>;
931
921
  /**
932
- * Controls the delay in minutes
933
- * to wait after an APD timeout event to execute the response action defined in
934
- * `haDatastoreApdResponse`. Default: `3`
935
- * minutes. <sup>\*</sup>
922
+ * When haVmComponentProtection is enabled, controls the action to take on virtual machines when the cluster has detected a permanent device loss to a relevant datastore. Can be one of disabled, warning, or restartAggressive.
936
923
  */
937
- haDatastoreApdResponseDelay?: pulumi.Input<number>;
924
+ haDatastorePdlResponse?: pulumi.Input<string | undefined>;
938
925
  /**
939
- * Controls the action to take on
940
- * virtual machines when the cluster has detected a permanent device loss to a
941
- * relevant datastore. Can be one of `disabled`, `warning`, or
942
- * `restartAggressive`. Default: `disabled`.
943
- * <sup>\*</sup>
926
+ * Enable vSphere HA for this cluster.
944
927
  */
945
- haDatastorePdlResponse?: pulumi.Input<string>;
928
+ haEnabled?: pulumi.Input<boolean | undefined>;
946
929
  /**
947
- * Enable vSphere HA for this cluster. Default:
948
- * `false`.
930
+ * The list of managed object IDs for preferred datastores to use for HA heartbeating. This setting is only useful when haHeartbeatDatastorePolicy is set to either userSelectedDs or allFeasibleDsWithUserPreference.
949
931
  */
950
- haEnabled?: pulumi.Input<boolean>;
932
+ haHeartbeatDatastoreIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
951
933
  /**
952
- * The list of managed object IDs for
953
- * preferred datastores to use for HA heartbeating. This setting is only useful
954
- * when `haHeartbeatDatastorePolicy` is set
955
- * to either `userSelectedDs` or `allFeasibleDsWithUserPreference`.
934
+ * The selection policy for HA heartbeat datastores. Can be one of allFeasibleDs, userSelectedDs, or allFeasibleDsWithUserPreference.
956
935
  */
957
- haHeartbeatDatastoreIds?: pulumi.Input<pulumi.Input<string>[]>;
936
+ haHeartbeatDatastorePolicy?: pulumi.Input<string | undefined>;
958
937
  /**
959
- * The selection policy for HA
960
- * heartbeat datastores. Can be one of `allFeasibleDs`, `userSelectedDs`, or
961
- * `allFeasibleDsWithUserPreference`. Default:
962
- * `allFeasibleDsWithUserPreference`.
938
+ * The action to take on virtual machines when a host has detected that it has been isolated from the rest of the cluster. Can be one of none, powerOff, or shutdown.
963
939
  */
964
- haHeartbeatDatastorePolicy?: pulumi.Input<string>;
940
+ haHostIsolationResponse?: pulumi.Input<string | undefined>;
965
941
  /**
966
- * The action to take on virtual
967
- * machines when a host has detected that it has been isolated from the rest of
968
- * the cluster. Can be one of `none`, `powerOff`, or `shutdown`. Default:
969
- * `none`.
942
+ * Global setting that controls whether vSphere HA remediates VMs on host failure. Can be one of enabled or disabled.
970
943
  */
971
- haHostIsolationResponse?: pulumi.Input<string>;
944
+ haHostMonitoring?: pulumi.Input<string | undefined>;
972
945
  /**
973
- * Global setting that controls whether
974
- * vSphere HA remediates virtual machines on host failure. Can be one of `enabled`
975
- * or `disabled`. Default: `enabled`.
946
+ * Controls vSphere VM component protection for virtual machines in this cluster. This allows vSphere HA to react to failures between hosts and specific virtual machine components, such as datastores. Can be one of enabled or disabled.
976
947
  */
977
- haHostMonitoring?: pulumi.Input<string>;
948
+ haVmComponentProtection?: pulumi.Input<string | undefined>;
978
949
  /**
979
- * Controls vSphere VM component
980
- * protection for virtual machines in this cluster. Can be one of `enabled` or
981
- * `disabled`. Default: `enabled`.
982
- * <sup>\*</sup>
950
+ * The condition used to determine whether or not VMs in a certain restart priority class are online, allowing HA to move on to restarting VMs on the next priority. Can be one of none, poweredOn, guestHbStatusGreen, or appHbStatusGreen.
983
951
  */
984
- haVmComponentProtection?: pulumi.Input<string>;
952
+ haVmDependencyRestartCondition?: pulumi.Input<string | undefined>;
985
953
  /**
986
- * The condition used to
987
- * determine whether or not virtual machines in a certain restart priority class
988
- * are online, allowing HA to move on to restarting virtual machines on the next
989
- * priority. Can be one of `none`, `poweredOn`, `guestHbStatusGreen`, or
990
- * `appHbStatusGreen`. The default is `none`, which means that a virtual machine
991
- * is considered ready immediately after a host is found to start it on.
992
- * <sup>\*</sup>
954
+ * If a heartbeat from a virtual machine is not received within this configured interval, the virtual machine is marked as failed. The value is in seconds.
993
955
  */
994
- haVmDependencyRestartCondition?: pulumi.Input<string>;
956
+ haVmFailureInterval?: pulumi.Input<number | undefined>;
995
957
  /**
996
- * If a heartbeat from a virtual machine
997
- * is not received within this configured interval, the virtual machine is
998
- * marked as failed. The value is in seconds. Default: `30`.
958
+ * The length of the reset window in which haVmMaximumResets can operate. When this window expires, no more resets are attempted regardless of the setting configured in ha_vm_maximum_resets. -1 means no window, meaning an unlimited reset time is allotted.
999
959
  */
1000
- haVmFailureInterval?: pulumi.Input<number>;
960
+ haVmMaximumFailureWindow?: pulumi.Input<number | undefined>;
1001
961
  /**
1002
- * The length of the reset window in
1003
- * which `haVmMaximumResets` can operate. When this
1004
- * window expires, no more resets are attempted regardless of the setting
1005
- * configured in `haVmMaximumResets`. `-1` means no window, meaning an
1006
- * unlimited reset time is allotted. The value is specified in seconds. Default:
1007
- * `-1` (no window).
962
+ * The maximum number of resets that HA will perform to a virtual machine when responding to a failure event.
1008
963
  */
1009
- haVmMaximumFailureWindow?: pulumi.Input<number>;
964
+ haVmMaximumResets?: pulumi.Input<number | undefined>;
1010
965
  /**
1011
- * The maximum number of resets that HA will
1012
- * perform to a virtual machine when responding to a failure event. Default: `3`
966
+ * The time, in seconds, that HA waits after powering on a virtual machine before monitoring for heartbeats.
1013
967
  */
1014
- haVmMaximumResets?: pulumi.Input<number>;
968
+ haVmMinimumUptime?: pulumi.Input<number | undefined>;
1015
969
  /**
1016
- * The time, in seconds, that HA waits after
1017
- * powering on a virtual machine before monitoring for heartbeats. Default:
1018
- * `120` (2 minutes).
970
+ * The type of virtual machine monitoring to use when HA is enabled in the cluster. Can be one of vmMonitoringDisabled, vmMonitoringOnly, or vmAndAppMonitoring.
1019
971
  */
1020
- haVmMinimumUptime?: pulumi.Input<number>;
972
+ haVmMonitoring?: pulumi.Input<string | undefined>;
1021
973
  /**
1022
- * The type of virtual machine monitoring to use
1023
- * when HA is enabled in the cluster. Can be one of `vmMonitoringDisabled`,
1024
- * `vmMonitoringOnly`, or `vmAndAppMonitoring`. Default: `vmMonitoringDisabled`.
974
+ * Additional delay in seconds after ready condition is met. A VM is considered ready at this point.
1025
975
  */
1026
- haVmMonitoring?: pulumi.Input<string>;
976
+ haVmRestartAdditionalDelay?: pulumi.Input<number | undefined>;
1027
977
  /**
1028
- * Additional delay in seconds
1029
- * after ready condition is met. A VM is considered ready at this point.
1030
- * Default: `0` (no delay). <sup>\*</sup>
978
+ * The default restart priority for affected VMs when vSphere detects a host failure. Can be one of lowest, low, medium, high, or highest.
1031
979
  */
1032
- haVmRestartAdditionalDelay?: pulumi.Input<number>;
980
+ haVmRestartPriority?: pulumi.Input<string | undefined>;
1033
981
  /**
1034
- * The default restart priority
1035
- * for affected virtual machines when vSphere detects a host failure. Can be one
1036
- * of `lowest`, `low`, `medium`, `high`, or `highest`. Default: `medium`.
982
+ * The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before proceeding with the next priority.
1037
983
  */
1038
- haVmRestartPriority?: pulumi.Input<string>;
984
+ haVmRestartTimeout?: pulumi.Input<number | undefined>;
1039
985
  /**
1040
- * The maximum time, in seconds,
1041
- * that vSphere HA will wait for virtual machines in one priority to be ready
1042
- * before proceeding with the next priority. Default: `600` (10 minutes).
1043
- * <sup>\*</sup>
986
+ * The timeout for each host maintenance mode operation when removing hosts from a cluster.
1044
987
  */
1045
- haVmRestartTimeout?: pulumi.Input<number>;
988
+ hostClusterExitTimeout?: pulumi.Input<number | undefined>;
1046
989
  /**
1047
- * The timeout for each host maintenance mode
1048
- * operation when removing hosts from a cluster. The value is specified in
1049
- * seconds. Default: `3600` (1 hour).
990
+ * Details about the host image which should be applied to the cluster.
1050
991
  */
1051
- hostClusterExitTimeout?: pulumi.Input<number>;
992
+ hostImage?: pulumi.Input<inputs.ComputeClusterHostImage | undefined>;
1052
993
  /**
1053
- * Can be set to `true` if compute cluster
1054
- * membership will be managed through the `host` resource rather than the
1055
- * `computeCluster` resource. Conflicts with: `hostSystemIds`.
1056
- * >>>>>>> v1.18.3
994
+ * Must be set if cluster enrollment is managed from host resource.
1057
995
  */
1058
- hostManaged?: pulumi.Input<boolean>;
996
+ hostManaged?: pulumi.Input<boolean | undefined>;
1059
997
  /**
1060
- * The [managed object IDs][docs-about-morefs] of
1061
- * the hosts to put in the cluster. Conflicts with: `hostManaged`.
998
+ * The managed object IDs of the hosts to put in the cluster.
1062
999
  */
1063
- hostSystemIds?: pulumi.Input<pulumi.Input<string>[]>;
1000
+ hostSystemIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1064
1001
  /**
1065
1002
  * The name of the cluster.
1066
1003
  */
1067
- name?: pulumi.Input<string>;
1004
+ name?: pulumi.Input<string | undefined>;
1068
1005
  /**
1069
- * Determines how the host
1070
- * quarantine, maintenance mode, or virtual machine migration recommendations
1071
- * made by proactive HA are to be handled. Can be one of `Automated` or
1072
- * `Manual`. Default: `Manual`. <sup>\*</sup>
1006
+ * The DRS behavior for proactive HA recommendations. Can be one of Automated or Manual.
1073
1007
  */
1074
- proactiveHaAutomationLevel?: pulumi.Input<string>;
1008
+ proactiveHaAutomationLevel?: pulumi.Input<string | undefined>;
1075
1009
  /**
1076
- * Enables Proactive HA. Default: `false`.
1077
- * <sup>\*</sup>
1010
+ * Enables proactive HA, allowing for vSphere to get HA data from external providers and use DRS to perform remediation.
1078
1011
  */
1079
- proactiveHaEnabled?: pulumi.Input<boolean>;
1012
+ proactiveHaEnabled?: pulumi.Input<boolean | undefined>;
1080
1013
  /**
1081
- * The configured remediation
1082
- * for moderately degraded hosts. Can be one of `MaintenanceMode` or
1083
- * `QuarantineMode`. Note that this cannot be set to `MaintenanceMode` when
1084
- * `proactiveHaSevereRemediation` is set
1085
- * to `QuarantineMode`. Default: `QuarantineMode`.
1086
- * <sup>\*</sup>
1014
+ * The configured remediation for moderately degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this cannot be set to MaintenanceMode when proactiveHaSevereRemediation is set to QuarantineMode.
1087
1015
  */
1088
- proactiveHaModerateRemediation?: pulumi.Input<string>;
1016
+ proactiveHaModerateRemediation?: pulumi.Input<string | undefined>;
1089
1017
  /**
1090
- * The list of IDs for health update
1091
- * providers configured for this cluster.
1092
- * <sup>\*</sup>
1018
+ * The list of IDs for health update providers configured for this cluster.
1093
1019
  */
1094
- proactiveHaProviderIds?: pulumi.Input<pulumi.Input<string>[]>;
1020
+ proactiveHaProviderIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1095
1021
  /**
1096
- * The configured remediation for
1097
- * severely degraded hosts. Can be one of `MaintenanceMode` or `QuarantineMode`.
1098
- * Note that this cannot be set to `QuarantineMode` when
1099
- * `proactiveHaModerateRemediation` is
1100
- * set to `MaintenanceMode`. Default: `QuarantineMode`.
1101
- * <sup>\*</sup>
1022
+ * The configured remediation for severely degraded hosts. Can be one of MaintenanceMode or QuarantineMode. Note that this cannot be set to QuarantineMode when proactiveHaModerateRemediation is set to MaintenanceMode.
1102
1023
  */
1103
- proactiveHaSevereRemediation?: pulumi.Input<string>;
1024
+ proactiveHaSevereRemediation?: pulumi.Input<string | undefined>;
1104
1025
  /**
1105
- * The IDs of any tags to attach to this resource.
1026
+ * The IDs of any tags to attach to this resource. See
1027
+ * [here][docs-applying-tags] for a reference on how to apply tags.
1028
+ *
1029
+ * [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
1030
+ * [docs-applying-tags]: /docs/providers/vsphere/r/tag.html#using-tags-in-a-supported-resource
1031
+ */
1032
+ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1033
+ /**
1034
+ * Whether the vSAN compression service is enabled for the cluster.
1106
1035
  */
1107
- tags?: pulumi.Input<pulumi.Input<string>[]>;
1036
+ vsanCompressionEnabled?: pulumi.Input<boolean | undefined>;
1037
+ /**
1038
+ * Whether the vSAN deduplication service is enabled for the cluster.
1039
+ */
1040
+ vsanDedupEnabled?: pulumi.Input<boolean | undefined>;
1108
1041
  /**
1109
1042
  * A list of disk UUIDs to add to the vSAN cluster.
1110
1043
  */
1111
- vsanDiskGroups?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanDiskGroup>[]>;
1044
+ vsanDiskGroups?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanDiskGroup>[] | undefined>;
1045
+ /**
1046
+ * Whether the vSAN data-in-transit encryption is enabled for the cluster.
1047
+ */
1048
+ vsanDitEncryptionEnabled?: pulumi.Input<boolean | undefined>;
1049
+ /**
1050
+ * When vsanDitEncryptionEnabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
1051
+ */
1052
+ vsanDitRekeyInterval?: pulumi.Input<number | undefined>;
1053
+ /**
1054
+ * Whether the vSAN service is enabled for the cluster.
1055
+ */
1056
+ vsanEnabled?: pulumi.Input<boolean | undefined>;
1057
+ /**
1058
+ * Whether the vSAN ESA service is enabled for the cluster.
1059
+ */
1060
+ vsanEsaEnabled?: pulumi.Input<boolean | undefined>;
1061
+ /**
1062
+ * The configuration for vSAN fault domains.
1063
+ */
1064
+ vsanFaultDomains?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanFaultDomain>[] | undefined>;
1065
+ /**
1066
+ * Whether the vSAN network diagnostic mode is enabled for the cluster.
1067
+ */
1068
+ vsanNetworkDiagnosticModeEnabled?: pulumi.Input<boolean | undefined>;
1069
+ /**
1070
+ * Whether the vSAN performance service is enabled for the cluster.
1071
+ */
1072
+ vsanPerformanceEnabled?: pulumi.Input<boolean | undefined>;
1073
+ /**
1074
+ * The managed object IDs of the vSAN datastore to be mounted on the cluster.
1075
+ */
1076
+ vsanRemoteDatastoreIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1077
+ /**
1078
+ * The configuration for stretched cluster.
1079
+ */
1080
+ vsanStretchedCluster?: pulumi.Input<inputs.ComputeClusterVsanStretchedCluster | undefined>;
1081
+ /**
1082
+ * Whether the vSAN unmap service is enabled for the cluster.
1083
+ */
1084
+ vsanUnmapEnabled?: pulumi.Input<boolean | undefined>;
1112
1085
  /**
1113
- * Whether the VSAN service is enabled for the cluster.
1086
+ * Whether the vSAN verbose mode is enabled for the cluster.
1114
1087
  */
1115
- vsanEnabled?: pulumi.Input<boolean>;
1088
+ vsanVerboseModeEnabled?: pulumi.Input<boolean | undefined>;
1116
1089
  }
1090
+ //# sourceMappingURL=computeCluster.d.ts.map