pulumi-vsphere 4.10.0a1709017641__py3-none-any.whl → 4.17.0a1763710194__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (89) hide show
  1. pulumi_vsphere/__init__.py +51 -1
  2. pulumi_vsphere/_inputs.py +2568 -1025
  3. pulumi_vsphere/_utilities.py +50 -10
  4. pulumi_vsphere/compute_cluster.py +1564 -2373
  5. pulumi_vsphere/compute_cluster_host_group.py +191 -55
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +157 -113
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +133 -89
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +314 -106
  9. pulumi_vsphere/compute_cluster_vm_group.py +256 -55
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +323 -123
  11. pulumi_vsphere/config/__init__.py +2 -1
  12. pulumi_vsphere/config/__init__.pyi +7 -2
  13. pulumi_vsphere/config/vars.py +20 -15
  14. pulumi_vsphere/configuration_profile.py +286 -0
  15. pulumi_vsphere/content_library.py +177 -71
  16. pulumi_vsphere/content_library_item.py +252 -106
  17. pulumi_vsphere/custom_attribute.py +118 -38
  18. pulumi_vsphere/datacenter.py +128 -107
  19. pulumi_vsphere/datastore_cluster.py +636 -731
  20. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +251 -89
  21. pulumi_vsphere/distributed_port_group.py +1129 -967
  22. pulumi_vsphere/distributed_virtual_switch.py +1971 -2239
  23. pulumi_vsphere/distributed_virtual_switch_pvlan_mapping.py +294 -0
  24. pulumi_vsphere/dpm_host_override.py +222 -72
  25. pulumi_vsphere/drs_vm_override.py +236 -72
  26. pulumi_vsphere/entity_permissions.py +96 -69
  27. pulumi_vsphere/file.py +173 -178
  28. pulumi_vsphere/folder.py +236 -113
  29. pulumi_vsphere/get_compute_cluster.py +34 -23
  30. pulumi_vsphere/get_compute_cluster_host_group.py +52 -41
  31. pulumi_vsphere/get_configuration_profile.py +145 -0
  32. pulumi_vsphere/get_content_library.py +33 -21
  33. pulumi_vsphere/get_content_library_item.py +47 -31
  34. pulumi_vsphere/get_custom_attribute.py +26 -17
  35. pulumi_vsphere/get_datacenter.py +40 -18
  36. pulumi_vsphere/get_datastore.py +60 -24
  37. pulumi_vsphere/get_datastore_cluster.py +47 -22
  38. pulumi_vsphere/get_datastore_stats.py +204 -0
  39. pulumi_vsphere/get_distributed_virtual_switch.py +36 -23
  40. pulumi_vsphere/get_dynamic.py +55 -45
  41. pulumi_vsphere/get_folder.py +163 -25
  42. pulumi_vsphere/get_guest_os_customization.py +68 -37
  43. pulumi_vsphere/get_host.py +34 -23
  44. pulumi_vsphere/get_host_base_images.py +104 -0
  45. pulumi_vsphere/get_host_pci_device.py +78 -35
  46. pulumi_vsphere/get_host_thumbprint.py +58 -38
  47. pulumi_vsphere/get_host_vgpu_profile.py +195 -0
  48. pulumi_vsphere/get_license.py +44 -28
  49. pulumi_vsphere/get_network.py +157 -46
  50. pulumi_vsphere/get_ovf_vm_template.py +184 -301
  51. pulumi_vsphere/get_policy.py +23 -15
  52. pulumi_vsphere/get_resource_pool.py +107 -40
  53. pulumi_vsphere/get_role.py +49 -35
  54. pulumi_vsphere/get_tag.py +34 -23
  55. pulumi_vsphere/get_tag_category.py +32 -21
  56. pulumi_vsphere/get_vapp_container.py +31 -21
  57. pulumi_vsphere/get_virtual_machine.py +499 -287
  58. pulumi_vsphere/get_vmfs_disks.py +42 -29
  59. pulumi_vsphere/guest_os_customization.py +135 -79
  60. pulumi_vsphere/ha_vm_override.py +470 -577
  61. pulumi_vsphere/host.py +515 -262
  62. pulumi_vsphere/host_port_group.py +352 -355
  63. pulumi_vsphere/host_virtual_switch.py +580 -580
  64. pulumi_vsphere/license.py +110 -92
  65. pulumi_vsphere/nas_datastore.py +398 -270
  66. pulumi_vsphere/offline_software_depot.py +190 -0
  67. pulumi_vsphere/outputs.py +1582 -1027
  68. pulumi_vsphere/provider.py +172 -152
  69. pulumi_vsphere/pulumi-plugin.json +2 -1
  70. pulumi_vsphere/resource_pool.py +357 -273
  71. pulumi_vsphere/role.py +79 -47
  72. pulumi_vsphere/storage_drs_vm_override.py +225 -89
  73. pulumi_vsphere/supervisor.py +1064 -0
  74. pulumi_vsphere/tag.py +217 -55
  75. pulumi_vsphere/tag_category.py +158 -72
  76. pulumi_vsphere/vapp_container.py +425 -259
  77. pulumi_vsphere/vapp_entity.py +324 -174
  78. pulumi_vsphere/virtual_disk.py +245 -153
  79. pulumi_vsphere/virtual_machine.py +1696 -1836
  80. pulumi_vsphere/virtual_machine_class.py +448 -0
  81. pulumi_vsphere/virtual_machine_snapshot.py +137 -131
  82. pulumi_vsphere/vm_storage_policy.py +160 -154
  83. pulumi_vsphere/vmfs_datastore.py +460 -186
  84. pulumi_vsphere/vnic.py +249 -231
  85. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/METADATA +7 -6
  86. pulumi_vsphere-4.17.0a1763710194.dist-info/RECORD +89 -0
  87. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/WHEEL +1 -1
  88. pulumi_vsphere-4.10.0a1709017641.dist-info/RECORD +0 -80
  89. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['DatastoreClusterArgs', 'DatastoreCluster']
@@ -14,37 +19,37 @@ __all__ = ['DatastoreClusterArgs', 'DatastoreCluster']
14
19
  @pulumi.input_type
15
20
  class DatastoreClusterArgs:
16
21
  def __init__(__self__, *,
17
- datacenter_id: pulumi.Input[str],
18
- custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
19
- folder: Optional[pulumi.Input[str]] = None,
20
- name: Optional[pulumi.Input[str]] = None,
21
- sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
22
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
23
- sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None,
24
- sdrs_enabled: Optional[pulumi.Input[bool]] = None,
25
- sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None,
26
- sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None,
27
- sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None,
28
- sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None,
29
- sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None,
30
- sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None,
31
- sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None,
32
- sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None,
33
- sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None,
34
- sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None,
35
- sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None,
36
- sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
37
- sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
38
- sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None,
39
- sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None,
40
- sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None,
41
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
22
+ datacenter_id: pulumi.Input[_builtins.str],
23
+ custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
24
+ folder: Optional[pulumi.Input[_builtins.str]] = None,
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
27
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
28
+ sdrs_default_intra_vm_affinity: Optional[pulumi.Input[_builtins.bool]] = None,
29
+ sdrs_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
30
+ sdrs_free_space_threshold: Optional[pulumi.Input[_builtins.int]] = None,
31
+ sdrs_free_space_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
32
+ sdrs_free_space_utilization_difference: Optional[pulumi.Input[_builtins.int]] = None,
33
+ sdrs_io_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
34
+ sdrs_io_latency_threshold: Optional[pulumi.Input[_builtins.int]] = None,
35
+ sdrs_io_load_balance_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
36
+ sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[_builtins.int]] = None,
37
+ sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[_builtins.int]] = None,
38
+ sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[_builtins.int]] = None,
39
+ sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
40
+ sdrs_load_balance_interval: Optional[pulumi.Input[_builtins.int]] = None,
41
+ sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
42
+ sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
43
+ sdrs_space_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
44
+ sdrs_space_utilization_threshold: Optional[pulumi.Input[_builtins.int]] = None,
45
+ sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
46
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
42
47
  """
43
48
  The set of arguments for constructing a DatastoreCluster resource.
44
- :param pulumi.Input[str] datacenter_id: The managed object ID of
49
+ :param pulumi.Input[_builtins.str] datacenter_id: The managed object ID of
45
50
  the datacenter to create the datastore cluster in. Forces a new resource if
46
51
  changed.
47
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of custom attribute ids to attribute
52
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_attributes: A map of custom attribute ids to attribute
48
53
  value strings to set for the datastore cluster. See
49
54
  [here][docs-setting-custom-attributes] for a reference on how to set values
50
55
  for custom attributes.
@@ -53,71 +58,36 @@ class DatastoreClusterArgs:
53
58
 
54
59
  > **NOTE:** Custom attributes are unsupported on direct ESXi connections
55
60
  and require vCenter.
56
- :param pulumi.Input[str] folder: The relative path to a folder to put this datastore
61
+ :param pulumi.Input[_builtins.str] folder: The relative path to a folder to put this datastore
57
62
  cluster in. This is a path relative to the datacenter you are deploying the
58
63
  datastore to. Example: for the `dc1` datacenter, and a provided `folder` of
59
64
  `foo/bar`, The provider will place a datastore cluster named
60
65
  `datastore-cluster-test` in a datastore folder located at
61
66
  `/dc1/datastore/foo/bar`, with the final inventory path being
62
67
  `/dc1/datastore/foo/bar/datastore-cluster-test`.
63
- :param pulumi.Input[str] name: The name of the datastore cluster.
64
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sdrs_advanced_options: A key/value map of advanced Storage DRS
65
- settings that are not exposed via the provider or the vSphere client.
66
- :param pulumi.Input[str] sdrs_automation_level: The global automation level for all
67
- virtual machines in this datastore cluster. Default: `manual`.
68
- :param pulumi.Input[bool] sdrs_default_intra_vm_affinity: When `true`, all disks in a
69
- single virtual machine will be kept on the same datastore. Default: `true`.
70
- :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
68
+ :param pulumi.Input[_builtins.str] name: The name of the datastore cluster.
69
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] sdrs_advanced_options: Advanced configuration options for storage DRS.
70
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: The default automation level for all virtual machines in this storage cluster.
71
+ :param pulumi.Input[_builtins.bool] sdrs_default_intra_vm_affinity: When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
72
+ :param pulumi.Input[_builtins.bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
71
73
  Default: `false`.
72
- :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use.
73
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
74
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
75
- `utilization`.
76
- :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
77
- freeSpace, drs_free_space_threshold is used.
78
- :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in
79
- percent, of difference between space utilization in datastores before storage
80
- DRS makes decisions to balance the space. Default: `5` percent.
81
- :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default
82
- automation settings when correcting I/O load imbalances.
83
- :param pulumi.Input[int] sdrs_io_latency_threshold: The I/O latency threshold, in
84
- milliseconds, that storage DRS uses to make recommendations to move disks
85
- from this datastore. Default: `15` seconds.
86
- :param pulumi.Input[bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for
87
- this datastore cluster. Default: `true`.
88
- :param pulumi.Input[int] sdrs_io_load_imbalance_threshold: The difference between load
89
- in datastores in the cluster before storage DRS makes recommendations to
90
- balance the load. Default: `5` percent.
91
- :param pulumi.Input[int] sdrs_io_reservable_iops_threshold: The threshold of reservable
92
- IOPS of all virtual machines on the datastore before storage DRS makes
93
- recommendations to move VMs off of a datastore. Note that this setting should
94
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
95
- estimate of the capacity of the datastores in your cluster, and should be set
96
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
97
- :param pulumi.Input[int] sdrs_io_reservable_percent_threshold: The threshold, in
98
- percent, of actual estimated performance of the datastore (in IOPS) that
99
- storage DRS uses to make recommendations to move VMs off of a datastore when
100
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
101
- :param pulumi.Input[str] sdrs_io_reservable_threshold_mode: The reservable IOPS
102
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
103
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
104
- `manual`. Default: `automatic`.
105
- :param pulumi.Input[int] sdrs_load_balance_interval: The storage DRS poll interval, in
106
- minutes. Default: `480` minutes.
107
- :param pulumi.Input[str] sdrs_policy_enforcement_automation_level: Overrides the default
108
- automation settings when correcting storage and VM policy violations.
109
- :param pulumi.Input[str] sdrs_rule_enforcement_automation_level: Overrides the default
110
- automation settings when correcting affinity rule violations.
111
- :param pulumi.Input[str] sdrs_space_balance_automation_level: Overrides the default
112
- automation settings when correcting disk space imbalances.
113
- :param pulumi.Input[int] sdrs_space_utilization_threshold: Runtime thresholds govern
114
- when Storage DRS performs or recommends migrations
115
- (based on the selected automation level). Default: `80` percent.
116
- :param pulumi.Input[str] sdrs_vm_evacuation_automation_level: Overrides the default
117
- automation settings when generating recommendations for datastore evacuation.
118
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
119
-
120
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
74
+ :param pulumi.Input[_builtins.int] sdrs_free_space_threshold: The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
75
+ :param pulumi.Input[_builtins.str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
76
+ :param pulumi.Input[_builtins.int] sdrs_free_space_utilization_difference: The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
77
+ :param pulumi.Input[_builtins.str] sdrs_io_balance_automation_level: Overrides the default automation settings when correcting I/O load imbalances.
78
+ :param pulumi.Input[_builtins.int] sdrs_io_latency_threshold: The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
79
+ :param pulumi.Input[_builtins.bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for this datastore cluster.
80
+ :param pulumi.Input[_builtins.int] sdrs_io_load_imbalance_threshold: The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
81
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_iops_threshold: The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
82
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_percent_threshold: The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
83
+ :param pulumi.Input[_builtins.str] sdrs_io_reservable_threshold_mode: The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
84
+ :param pulumi.Input[_builtins.int] sdrs_load_balance_interval: The storage DRS poll interval, in minutes.
85
+ :param pulumi.Input[_builtins.str] sdrs_policy_enforcement_automation_level: Overrides the default automation settings when correcting storage and VM policy violations.
86
+ :param pulumi.Input[_builtins.str] sdrs_rule_enforcement_automation_level: Overrides the default automation settings when correcting affinity rule violations.
87
+ :param pulumi.Input[_builtins.str] sdrs_space_balance_automation_level: Overrides the default automation settings when correcting disk space imbalances.
88
+ :param pulumi.Input[_builtins.int] sdrs_space_utilization_threshold: The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
89
+ :param pulumi.Input[_builtins.str] sdrs_vm_evacuation_automation_level: Overrides the default automation settings when generating recommendations for datastore evacuation.
90
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The IDs of any tags to attach to this resource.
121
91
  """
122
92
  pulumi.set(__self__, "datacenter_id", datacenter_id)
123
93
  if custom_attributes is not None:
@@ -169,9 +139,9 @@ class DatastoreClusterArgs:
169
139
  if tags is not None:
170
140
  pulumi.set(__self__, "tags", tags)
171
141
 
172
- @property
142
+ @_builtins.property
173
143
  @pulumi.getter(name="datacenterId")
174
- def datacenter_id(self) -> pulumi.Input[str]:
144
+ def datacenter_id(self) -> pulumi.Input[_builtins.str]:
175
145
  """
176
146
  The managed object ID of
177
147
  the datacenter to create the datastore cluster in. Forces a new resource if
@@ -180,12 +150,12 @@ class DatastoreClusterArgs:
180
150
  return pulumi.get(self, "datacenter_id")
181
151
 
182
152
  @datacenter_id.setter
183
- def datacenter_id(self, value: pulumi.Input[str]):
153
+ def datacenter_id(self, value: pulumi.Input[_builtins.str]):
184
154
  pulumi.set(self, "datacenter_id", value)
185
155
 
186
- @property
156
+ @_builtins.property
187
157
  @pulumi.getter(name="customAttributes")
188
- def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
158
+ def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
189
159
  """
190
160
  A map of custom attribute ids to attribute
191
161
  value strings to set for the datastore cluster. See
@@ -200,12 +170,12 @@ class DatastoreClusterArgs:
200
170
  return pulumi.get(self, "custom_attributes")
201
171
 
202
172
  @custom_attributes.setter
203
- def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
173
+ def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
204
174
  pulumi.set(self, "custom_attributes", value)
205
175
 
206
- @property
176
+ @_builtins.property
207
177
  @pulumi.getter
208
- def folder(self) -> Optional[pulumi.Input[str]]:
178
+ def folder(self) -> Optional[pulumi.Input[_builtins.str]]:
209
179
  """
210
180
  The relative path to a folder to put this datastore
211
181
  cluster in. This is a path relative to the datacenter you are deploying the
@@ -218,63 +188,60 @@ class DatastoreClusterArgs:
218
188
  return pulumi.get(self, "folder")
219
189
 
220
190
  @folder.setter
221
- def folder(self, value: Optional[pulumi.Input[str]]):
191
+ def folder(self, value: Optional[pulumi.Input[_builtins.str]]):
222
192
  pulumi.set(self, "folder", value)
223
193
 
224
- @property
194
+ @_builtins.property
225
195
  @pulumi.getter
226
- def name(self) -> Optional[pulumi.Input[str]]:
196
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
227
197
  """
228
198
  The name of the datastore cluster.
229
199
  """
230
200
  return pulumi.get(self, "name")
231
201
 
232
202
  @name.setter
233
- def name(self, value: Optional[pulumi.Input[str]]):
203
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
234
204
  pulumi.set(self, "name", value)
235
205
 
236
- @property
206
+ @_builtins.property
237
207
  @pulumi.getter(name="sdrsAdvancedOptions")
238
- def sdrs_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
208
+ def sdrs_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
239
209
  """
240
- A key/value map of advanced Storage DRS
241
- settings that are not exposed via the provider or the vSphere client.
210
+ Advanced configuration options for storage DRS.
242
211
  """
243
212
  return pulumi.get(self, "sdrs_advanced_options")
244
213
 
245
214
  @sdrs_advanced_options.setter
246
- def sdrs_advanced_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
215
+ def sdrs_advanced_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
247
216
  pulumi.set(self, "sdrs_advanced_options", value)
248
217
 
249
- @property
218
+ @_builtins.property
250
219
  @pulumi.getter(name="sdrsAutomationLevel")
251
- def sdrs_automation_level(self) -> Optional[pulumi.Input[str]]:
220
+ def sdrs_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
252
221
  """
253
- The global automation level for all
254
- virtual machines in this datastore cluster. Default: `manual`.
222
+ The default automation level for all virtual machines in this storage cluster.
255
223
  """
256
224
  return pulumi.get(self, "sdrs_automation_level")
257
225
 
258
226
  @sdrs_automation_level.setter
259
- def sdrs_automation_level(self, value: Optional[pulumi.Input[str]]):
227
+ def sdrs_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
260
228
  pulumi.set(self, "sdrs_automation_level", value)
261
229
 
262
- @property
230
+ @_builtins.property
263
231
  @pulumi.getter(name="sdrsDefaultIntraVmAffinity")
264
- def sdrs_default_intra_vm_affinity(self) -> Optional[pulumi.Input[bool]]:
232
+ def sdrs_default_intra_vm_affinity(self) -> Optional[pulumi.Input[_builtins.bool]]:
265
233
  """
266
- When `true`, all disks in a
267
- single virtual machine will be kept on the same datastore. Default: `true`.
234
+ When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
268
235
  """
269
236
  return pulumi.get(self, "sdrs_default_intra_vm_affinity")
270
237
 
271
238
  @sdrs_default_intra_vm_affinity.setter
272
- def sdrs_default_intra_vm_affinity(self, value: Optional[pulumi.Input[bool]]):
239
+ def sdrs_default_intra_vm_affinity(self, value: Optional[pulumi.Input[_builtins.bool]]):
273
240
  pulumi.set(self, "sdrs_default_intra_vm_affinity", value)
274
241
 
275
- @property
242
+ @_builtins.property
276
243
  @pulumi.getter(name="sdrsEnabled")
277
- def sdrs_enabled(self) -> Optional[pulumi.Input[bool]]:
244
+ def sdrs_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
278
245
  """
279
246
  Enable Storage DRS for this datastore cluster.
280
247
  Default: `false`.
@@ -282,277 +249,245 @@ class DatastoreClusterArgs:
282
249
  return pulumi.get(self, "sdrs_enabled")
283
250
 
284
251
  @sdrs_enabled.setter
285
- def sdrs_enabled(self, value: Optional[pulumi.Input[bool]]):
252
+ def sdrs_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
286
253
  pulumi.set(self, "sdrs_enabled", value)
287
254
 
288
- @property
255
+ @_builtins.property
289
256
  @pulumi.getter(name="sdrsFreeSpaceThreshold")
290
- def sdrs_free_space_threshold(self) -> Optional[pulumi.Input[int]]:
257
+ def sdrs_free_space_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
291
258
  """
292
- The free space threshold to use.
293
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
294
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
295
- `utilization`.
259
+ The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
296
260
  """
297
261
  return pulumi.get(self, "sdrs_free_space_threshold")
298
262
 
299
263
  @sdrs_free_space_threshold.setter
300
- def sdrs_free_space_threshold(self, value: Optional[pulumi.Input[int]]):
264
+ def sdrs_free_space_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
301
265
  pulumi.set(self, "sdrs_free_space_threshold", value)
302
266
 
303
- @property
267
+ @_builtins.property
304
268
  @pulumi.getter(name="sdrsFreeSpaceThresholdMode")
305
- def sdrs_free_space_threshold_mode(self) -> Optional[pulumi.Input[str]]:
269
+ def sdrs_free_space_threshold_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
306
270
  """
307
- The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
308
- freeSpace, drs_free_space_threshold is used.
271
+ The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
309
272
  """
310
273
  return pulumi.get(self, "sdrs_free_space_threshold_mode")
311
274
 
312
275
  @sdrs_free_space_threshold_mode.setter
313
- def sdrs_free_space_threshold_mode(self, value: Optional[pulumi.Input[str]]):
276
+ def sdrs_free_space_threshold_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
314
277
  pulumi.set(self, "sdrs_free_space_threshold_mode", value)
315
278
 
316
- @property
279
+ @_builtins.property
317
280
  @pulumi.getter(name="sdrsFreeSpaceUtilizationDifference")
318
- def sdrs_free_space_utilization_difference(self) -> Optional[pulumi.Input[int]]:
281
+ def sdrs_free_space_utilization_difference(self) -> Optional[pulumi.Input[_builtins.int]]:
319
282
  """
320
- The threshold, in
321
- percent, of difference between space utilization in datastores before storage
322
- DRS makes decisions to balance the space. Default: `5` percent.
283
+ The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
323
284
  """
324
285
  return pulumi.get(self, "sdrs_free_space_utilization_difference")
325
286
 
326
287
  @sdrs_free_space_utilization_difference.setter
327
- def sdrs_free_space_utilization_difference(self, value: Optional[pulumi.Input[int]]):
288
+ def sdrs_free_space_utilization_difference(self, value: Optional[pulumi.Input[_builtins.int]]):
328
289
  pulumi.set(self, "sdrs_free_space_utilization_difference", value)
329
290
 
330
- @property
291
+ @_builtins.property
331
292
  @pulumi.getter(name="sdrsIoBalanceAutomationLevel")
332
- def sdrs_io_balance_automation_level(self) -> Optional[pulumi.Input[str]]:
293
+ def sdrs_io_balance_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
333
294
  """
334
- Overrides the default
335
- automation settings when correcting I/O load imbalances.
295
+ Overrides the default automation settings when correcting I/O load imbalances.
336
296
  """
337
297
  return pulumi.get(self, "sdrs_io_balance_automation_level")
338
298
 
339
299
  @sdrs_io_balance_automation_level.setter
340
- def sdrs_io_balance_automation_level(self, value: Optional[pulumi.Input[str]]):
300
+ def sdrs_io_balance_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
341
301
  pulumi.set(self, "sdrs_io_balance_automation_level", value)
342
302
 
343
- @property
303
+ @_builtins.property
344
304
  @pulumi.getter(name="sdrsIoLatencyThreshold")
345
- def sdrs_io_latency_threshold(self) -> Optional[pulumi.Input[int]]:
305
+ def sdrs_io_latency_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
346
306
  """
347
- The I/O latency threshold, in
348
- milliseconds, that storage DRS uses to make recommendations to move disks
349
- from this datastore. Default: `15` seconds.
307
+ The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
350
308
  """
351
309
  return pulumi.get(self, "sdrs_io_latency_threshold")
352
310
 
353
311
  @sdrs_io_latency_threshold.setter
354
- def sdrs_io_latency_threshold(self, value: Optional[pulumi.Input[int]]):
312
+ def sdrs_io_latency_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
355
313
  pulumi.set(self, "sdrs_io_latency_threshold", value)
356
314
 
357
- @property
315
+ @_builtins.property
358
316
  @pulumi.getter(name="sdrsIoLoadBalanceEnabled")
359
- def sdrs_io_load_balance_enabled(self) -> Optional[pulumi.Input[bool]]:
317
+ def sdrs_io_load_balance_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
360
318
  """
361
- Enable I/O load balancing for
362
- this datastore cluster. Default: `true`.
319
+ Enable I/O load balancing for this datastore cluster.
363
320
  """
364
321
  return pulumi.get(self, "sdrs_io_load_balance_enabled")
365
322
 
366
323
  @sdrs_io_load_balance_enabled.setter
367
- def sdrs_io_load_balance_enabled(self, value: Optional[pulumi.Input[bool]]):
324
+ def sdrs_io_load_balance_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
368
325
  pulumi.set(self, "sdrs_io_load_balance_enabled", value)
369
326
 
370
- @property
327
+ @_builtins.property
371
328
  @pulumi.getter(name="sdrsIoLoadImbalanceThreshold")
372
- def sdrs_io_load_imbalance_threshold(self) -> Optional[pulumi.Input[int]]:
329
+ def sdrs_io_load_imbalance_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
373
330
  """
374
- The difference between load
375
- in datastores in the cluster before storage DRS makes recommendations to
376
- balance the load. Default: `5` percent.
331
+ The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
377
332
  """
378
333
  return pulumi.get(self, "sdrs_io_load_imbalance_threshold")
379
334
 
380
335
  @sdrs_io_load_imbalance_threshold.setter
381
- def sdrs_io_load_imbalance_threshold(self, value: Optional[pulumi.Input[int]]):
336
+ def sdrs_io_load_imbalance_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
382
337
  pulumi.set(self, "sdrs_io_load_imbalance_threshold", value)
383
338
 
384
- @property
339
+ @_builtins.property
385
340
  @pulumi.getter(name="sdrsIoReservableIopsThreshold")
386
- def sdrs_io_reservable_iops_threshold(self) -> Optional[pulumi.Input[int]]:
341
+ def sdrs_io_reservable_iops_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
387
342
  """
388
- The threshold of reservable
389
- IOPS of all virtual machines on the datastore before storage DRS makes
390
- recommendations to move VMs off of a datastore. Note that this setting should
391
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
392
- estimate of the capacity of the datastores in your cluster, and should be set
393
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
343
+ The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
394
344
  """
395
345
  return pulumi.get(self, "sdrs_io_reservable_iops_threshold")
396
346
 
397
347
  @sdrs_io_reservable_iops_threshold.setter
398
- def sdrs_io_reservable_iops_threshold(self, value: Optional[pulumi.Input[int]]):
348
+ def sdrs_io_reservable_iops_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
399
349
  pulumi.set(self, "sdrs_io_reservable_iops_threshold", value)
400
350
 
401
- @property
351
+ @_builtins.property
402
352
  @pulumi.getter(name="sdrsIoReservablePercentThreshold")
403
- def sdrs_io_reservable_percent_threshold(self) -> Optional[pulumi.Input[int]]:
353
+ def sdrs_io_reservable_percent_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
404
354
  """
405
- The threshold, in
406
- percent, of actual estimated performance of the datastore (in IOPS) that
407
- storage DRS uses to make recommendations to move VMs off of a datastore when
408
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
355
+ The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
409
356
  """
410
357
  return pulumi.get(self, "sdrs_io_reservable_percent_threshold")
411
358
 
412
359
  @sdrs_io_reservable_percent_threshold.setter
413
- def sdrs_io_reservable_percent_threshold(self, value: Optional[pulumi.Input[int]]):
360
+ def sdrs_io_reservable_percent_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
414
361
  pulumi.set(self, "sdrs_io_reservable_percent_threshold", value)
415
362
 
416
- @property
363
+ @_builtins.property
417
364
  @pulumi.getter(name="sdrsIoReservableThresholdMode")
418
- def sdrs_io_reservable_threshold_mode(self) -> Optional[pulumi.Input[str]]:
365
+ def sdrs_io_reservable_threshold_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
419
366
  """
420
- The reservable IOPS
421
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
422
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
423
- `manual`. Default: `automatic`.
367
+ The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
424
368
  """
425
369
  return pulumi.get(self, "sdrs_io_reservable_threshold_mode")
426
370
 
427
371
  @sdrs_io_reservable_threshold_mode.setter
428
- def sdrs_io_reservable_threshold_mode(self, value: Optional[pulumi.Input[str]]):
372
+ def sdrs_io_reservable_threshold_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
429
373
  pulumi.set(self, "sdrs_io_reservable_threshold_mode", value)
430
374
 
431
- @property
375
+ @_builtins.property
432
376
  @pulumi.getter(name="sdrsLoadBalanceInterval")
433
- def sdrs_load_balance_interval(self) -> Optional[pulumi.Input[int]]:
377
+ def sdrs_load_balance_interval(self) -> Optional[pulumi.Input[_builtins.int]]:
434
378
  """
435
- The storage DRS poll interval, in
436
- minutes. Default: `480` minutes.
379
+ The storage DRS poll interval, in minutes.
437
380
  """
438
381
  return pulumi.get(self, "sdrs_load_balance_interval")
439
382
 
440
383
  @sdrs_load_balance_interval.setter
441
- def sdrs_load_balance_interval(self, value: Optional[pulumi.Input[int]]):
384
+ def sdrs_load_balance_interval(self, value: Optional[pulumi.Input[_builtins.int]]):
442
385
  pulumi.set(self, "sdrs_load_balance_interval", value)
443
386
 
444
- @property
387
+ @_builtins.property
445
388
  @pulumi.getter(name="sdrsPolicyEnforcementAutomationLevel")
446
- def sdrs_policy_enforcement_automation_level(self) -> Optional[pulumi.Input[str]]:
389
+ def sdrs_policy_enforcement_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
447
390
  """
448
- Overrides the default
449
- automation settings when correcting storage and VM policy violations.
391
+ Overrides the default automation settings when correcting storage and VM policy violations.
450
392
  """
451
393
  return pulumi.get(self, "sdrs_policy_enforcement_automation_level")
452
394
 
453
395
  @sdrs_policy_enforcement_automation_level.setter
454
- def sdrs_policy_enforcement_automation_level(self, value: Optional[pulumi.Input[str]]):
396
+ def sdrs_policy_enforcement_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
455
397
  pulumi.set(self, "sdrs_policy_enforcement_automation_level", value)
456
398
 
457
- @property
399
+ @_builtins.property
458
400
  @pulumi.getter(name="sdrsRuleEnforcementAutomationLevel")
459
- def sdrs_rule_enforcement_automation_level(self) -> Optional[pulumi.Input[str]]:
401
+ def sdrs_rule_enforcement_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
460
402
  """
461
- Overrides the default
462
- automation settings when correcting affinity rule violations.
403
+ Overrides the default automation settings when correcting affinity rule violations.
463
404
  """
464
405
  return pulumi.get(self, "sdrs_rule_enforcement_automation_level")
465
406
 
466
407
  @sdrs_rule_enforcement_automation_level.setter
467
- def sdrs_rule_enforcement_automation_level(self, value: Optional[pulumi.Input[str]]):
408
+ def sdrs_rule_enforcement_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
468
409
  pulumi.set(self, "sdrs_rule_enforcement_automation_level", value)
469
410
 
470
- @property
411
+ @_builtins.property
471
412
  @pulumi.getter(name="sdrsSpaceBalanceAutomationLevel")
472
- def sdrs_space_balance_automation_level(self) -> Optional[pulumi.Input[str]]:
413
+ def sdrs_space_balance_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
473
414
  """
474
- Overrides the default
475
- automation settings when correcting disk space imbalances.
415
+ Overrides the default automation settings when correcting disk space imbalances.
476
416
  """
477
417
  return pulumi.get(self, "sdrs_space_balance_automation_level")
478
418
 
479
419
  @sdrs_space_balance_automation_level.setter
480
- def sdrs_space_balance_automation_level(self, value: Optional[pulumi.Input[str]]):
420
+ def sdrs_space_balance_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
481
421
  pulumi.set(self, "sdrs_space_balance_automation_level", value)
482
422
 
483
- @property
423
+ @_builtins.property
484
424
  @pulumi.getter(name="sdrsSpaceUtilizationThreshold")
485
- def sdrs_space_utilization_threshold(self) -> Optional[pulumi.Input[int]]:
425
+ def sdrs_space_utilization_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
486
426
  """
487
- Runtime thresholds govern
488
- when Storage DRS performs or recommends migrations
489
- (based on the selected automation level). Default: `80` percent.
427
+ The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
490
428
  """
491
429
  return pulumi.get(self, "sdrs_space_utilization_threshold")
492
430
 
493
431
  @sdrs_space_utilization_threshold.setter
494
- def sdrs_space_utilization_threshold(self, value: Optional[pulumi.Input[int]]):
432
+ def sdrs_space_utilization_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
495
433
  pulumi.set(self, "sdrs_space_utilization_threshold", value)
496
434
 
497
- @property
435
+ @_builtins.property
498
436
  @pulumi.getter(name="sdrsVmEvacuationAutomationLevel")
499
- def sdrs_vm_evacuation_automation_level(self) -> Optional[pulumi.Input[str]]:
437
+ def sdrs_vm_evacuation_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
500
438
  """
501
- Overrides the default
502
- automation settings when generating recommendations for datastore evacuation.
439
+ Overrides the default automation settings when generating recommendations for datastore evacuation.
503
440
  """
504
441
  return pulumi.get(self, "sdrs_vm_evacuation_automation_level")
505
442
 
506
443
  @sdrs_vm_evacuation_automation_level.setter
507
- def sdrs_vm_evacuation_automation_level(self, value: Optional[pulumi.Input[str]]):
444
+ def sdrs_vm_evacuation_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
508
445
  pulumi.set(self, "sdrs_vm_evacuation_automation_level", value)
509
446
 
510
- @property
447
+ @_builtins.property
511
448
  @pulumi.getter
512
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
449
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
513
450
  """
514
451
  The IDs of any tags to attach to this resource.
515
-
516
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
517
452
  """
518
453
  return pulumi.get(self, "tags")
519
454
 
520
455
  @tags.setter
521
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
456
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
522
457
  pulumi.set(self, "tags", value)
523
458
 
524
459
 
525
460
  @pulumi.input_type
526
461
  class _DatastoreClusterState:
527
462
  def __init__(__self__, *,
528
- custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
529
- datacenter_id: Optional[pulumi.Input[str]] = None,
530
- folder: Optional[pulumi.Input[str]] = None,
531
- name: Optional[pulumi.Input[str]] = None,
532
- sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
533
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
534
- sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None,
535
- sdrs_enabled: Optional[pulumi.Input[bool]] = None,
536
- sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None,
537
- sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None,
538
- sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None,
539
- sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None,
540
- sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None,
541
- sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None,
542
- sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None,
543
- sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None,
544
- sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None,
545
- sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None,
546
- sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None,
547
- sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
548
- sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
549
- sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None,
550
- sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None,
551
- sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None,
552
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
463
+ custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
464
+ datacenter_id: Optional[pulumi.Input[_builtins.str]] = None,
465
+ folder: Optional[pulumi.Input[_builtins.str]] = None,
466
+ name: Optional[pulumi.Input[_builtins.str]] = None,
467
+ sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
468
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
469
+ sdrs_default_intra_vm_affinity: Optional[pulumi.Input[_builtins.bool]] = None,
470
+ sdrs_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
471
+ sdrs_free_space_threshold: Optional[pulumi.Input[_builtins.int]] = None,
472
+ sdrs_free_space_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
473
+ sdrs_free_space_utilization_difference: Optional[pulumi.Input[_builtins.int]] = None,
474
+ sdrs_io_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
475
+ sdrs_io_latency_threshold: Optional[pulumi.Input[_builtins.int]] = None,
476
+ sdrs_io_load_balance_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
477
+ sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[_builtins.int]] = None,
478
+ sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[_builtins.int]] = None,
479
+ sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[_builtins.int]] = None,
480
+ sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
481
+ sdrs_load_balance_interval: Optional[pulumi.Input[_builtins.int]] = None,
482
+ sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
483
+ sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
484
+ sdrs_space_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
485
+ sdrs_space_utilization_threshold: Optional[pulumi.Input[_builtins.int]] = None,
486
+ sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
487
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
553
488
  """
554
489
  Input properties used for looking up and filtering DatastoreCluster resources.
555
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of custom attribute ids to attribute
490
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_attributes: A map of custom attribute ids to attribute
556
491
  value strings to set for the datastore cluster. See
557
492
  [here][docs-setting-custom-attributes] for a reference on how to set values
558
493
  for custom attributes.
@@ -561,74 +496,39 @@ class _DatastoreClusterState:
561
496
 
562
497
  > **NOTE:** Custom attributes are unsupported on direct ESXi connections
563
498
  and require vCenter.
564
- :param pulumi.Input[str] datacenter_id: The managed object ID of
499
+ :param pulumi.Input[_builtins.str] datacenter_id: The managed object ID of
565
500
  the datacenter to create the datastore cluster in. Forces a new resource if
566
501
  changed.
567
- :param pulumi.Input[str] folder: The relative path to a folder to put this datastore
502
+ :param pulumi.Input[_builtins.str] folder: The relative path to a folder to put this datastore
568
503
  cluster in. This is a path relative to the datacenter you are deploying the
569
504
  datastore to. Example: for the `dc1` datacenter, and a provided `folder` of
570
505
  `foo/bar`, The provider will place a datastore cluster named
571
506
  `datastore-cluster-test` in a datastore folder located at
572
507
  `/dc1/datastore/foo/bar`, with the final inventory path being
573
508
  `/dc1/datastore/foo/bar/datastore-cluster-test`.
574
- :param pulumi.Input[str] name: The name of the datastore cluster.
575
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sdrs_advanced_options: A key/value map of advanced Storage DRS
576
- settings that are not exposed via the provider or the vSphere client.
577
- :param pulumi.Input[str] sdrs_automation_level: The global automation level for all
578
- virtual machines in this datastore cluster. Default: `manual`.
579
- :param pulumi.Input[bool] sdrs_default_intra_vm_affinity: When `true`, all disks in a
580
- single virtual machine will be kept on the same datastore. Default: `true`.
581
- :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
509
+ :param pulumi.Input[_builtins.str] name: The name of the datastore cluster.
510
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] sdrs_advanced_options: Advanced configuration options for storage DRS.
511
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: The default automation level for all virtual machines in this storage cluster.
512
+ :param pulumi.Input[_builtins.bool] sdrs_default_intra_vm_affinity: When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
513
+ :param pulumi.Input[_builtins.bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
582
514
  Default: `false`.
583
- :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use.
584
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
585
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
586
- `utilization`.
587
- :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
588
- freeSpace, drs_free_space_threshold is used.
589
- :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in
590
- percent, of difference between space utilization in datastores before storage
591
- DRS makes decisions to balance the space. Default: `5` percent.
592
- :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default
593
- automation settings when correcting I/O load imbalances.
594
- :param pulumi.Input[int] sdrs_io_latency_threshold: The I/O latency threshold, in
595
- milliseconds, that storage DRS uses to make recommendations to move disks
596
- from this datastore. Default: `15` seconds.
597
- :param pulumi.Input[bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for
598
- this datastore cluster. Default: `true`.
599
- :param pulumi.Input[int] sdrs_io_load_imbalance_threshold: The difference between load
600
- in datastores in the cluster before storage DRS makes recommendations to
601
- balance the load. Default: `5` percent.
602
- :param pulumi.Input[int] sdrs_io_reservable_iops_threshold: The threshold of reservable
603
- IOPS of all virtual machines on the datastore before storage DRS makes
604
- recommendations to move VMs off of a datastore. Note that this setting should
605
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
606
- estimate of the capacity of the datastores in your cluster, and should be set
607
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
608
- :param pulumi.Input[int] sdrs_io_reservable_percent_threshold: The threshold, in
609
- percent, of actual estimated performance of the datastore (in IOPS) that
610
- storage DRS uses to make recommendations to move VMs off of a datastore when
611
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
612
- :param pulumi.Input[str] sdrs_io_reservable_threshold_mode: The reservable IOPS
613
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
614
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
615
- `manual`. Default: `automatic`.
616
- :param pulumi.Input[int] sdrs_load_balance_interval: The storage DRS poll interval, in
617
- minutes. Default: `480` minutes.
618
- :param pulumi.Input[str] sdrs_policy_enforcement_automation_level: Overrides the default
619
- automation settings when correcting storage and VM policy violations.
620
- :param pulumi.Input[str] sdrs_rule_enforcement_automation_level: Overrides the default
621
- automation settings when correcting affinity rule violations.
622
- :param pulumi.Input[str] sdrs_space_balance_automation_level: Overrides the default
623
- automation settings when correcting disk space imbalances.
624
- :param pulumi.Input[int] sdrs_space_utilization_threshold: Runtime thresholds govern
625
- when Storage DRS performs or recommends migrations
626
- (based on the selected automation level). Default: `80` percent.
627
- :param pulumi.Input[str] sdrs_vm_evacuation_automation_level: Overrides the default
628
- automation settings when generating recommendations for datastore evacuation.
629
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
630
-
631
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
515
+ :param pulumi.Input[_builtins.int] sdrs_free_space_threshold: The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
516
+ :param pulumi.Input[_builtins.str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
517
+ :param pulumi.Input[_builtins.int] sdrs_free_space_utilization_difference: The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
518
+ :param pulumi.Input[_builtins.str] sdrs_io_balance_automation_level: Overrides the default automation settings when correcting I/O load imbalances.
519
+ :param pulumi.Input[_builtins.int] sdrs_io_latency_threshold: The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
520
+ :param pulumi.Input[_builtins.bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for this datastore cluster.
521
+ :param pulumi.Input[_builtins.int] sdrs_io_load_imbalance_threshold: The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
522
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_iops_threshold: The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
523
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_percent_threshold: The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
524
+ :param pulumi.Input[_builtins.str] sdrs_io_reservable_threshold_mode: The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
525
+ :param pulumi.Input[_builtins.int] sdrs_load_balance_interval: The storage DRS poll interval, in minutes.
526
+ :param pulumi.Input[_builtins.str] sdrs_policy_enforcement_automation_level: Overrides the default automation settings when correcting storage and VM policy violations.
527
+ :param pulumi.Input[_builtins.str] sdrs_rule_enforcement_automation_level: Overrides the default automation settings when correcting affinity rule violations.
528
+ :param pulumi.Input[_builtins.str] sdrs_space_balance_automation_level: Overrides the default automation settings when correcting disk space imbalances.
529
+ :param pulumi.Input[_builtins.int] sdrs_space_utilization_threshold: The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
530
+ :param pulumi.Input[_builtins.str] sdrs_vm_evacuation_automation_level: Overrides the default automation settings when generating recommendations for datastore evacuation.
531
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The IDs of any tags to attach to this resource.
632
532
  """
633
533
  if custom_attributes is not None:
634
534
  pulumi.set(__self__, "custom_attributes", custom_attributes)
@@ -681,9 +581,9 @@ class _DatastoreClusterState:
681
581
  if tags is not None:
682
582
  pulumi.set(__self__, "tags", tags)
683
583
 
684
- @property
584
+ @_builtins.property
685
585
  @pulumi.getter(name="customAttributes")
686
- def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
586
+ def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
687
587
  """
688
588
  A map of custom attribute ids to attribute
689
589
  value strings to set for the datastore cluster. See
@@ -698,12 +598,12 @@ class _DatastoreClusterState:
698
598
  return pulumi.get(self, "custom_attributes")
699
599
 
700
600
  @custom_attributes.setter
701
- def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
601
+ def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
702
602
  pulumi.set(self, "custom_attributes", value)
703
603
 
704
- @property
604
+ @_builtins.property
705
605
  @pulumi.getter(name="datacenterId")
706
- def datacenter_id(self) -> Optional[pulumi.Input[str]]:
606
+ def datacenter_id(self) -> Optional[pulumi.Input[_builtins.str]]:
707
607
  """
708
608
  The managed object ID of
709
609
  the datacenter to create the datastore cluster in. Forces a new resource if
@@ -712,12 +612,12 @@ class _DatastoreClusterState:
712
612
  return pulumi.get(self, "datacenter_id")
713
613
 
714
614
  @datacenter_id.setter
715
- def datacenter_id(self, value: Optional[pulumi.Input[str]]):
615
+ def datacenter_id(self, value: Optional[pulumi.Input[_builtins.str]]):
716
616
  pulumi.set(self, "datacenter_id", value)
717
617
 
718
- @property
618
+ @_builtins.property
719
619
  @pulumi.getter
720
- def folder(self) -> Optional[pulumi.Input[str]]:
620
+ def folder(self) -> Optional[pulumi.Input[_builtins.str]]:
721
621
  """
722
622
  The relative path to a folder to put this datastore
723
623
  cluster in. This is a path relative to the datacenter you are deploying the
@@ -730,63 +630,60 @@ class _DatastoreClusterState:
730
630
  return pulumi.get(self, "folder")
731
631
 
732
632
  @folder.setter
733
- def folder(self, value: Optional[pulumi.Input[str]]):
633
+ def folder(self, value: Optional[pulumi.Input[_builtins.str]]):
734
634
  pulumi.set(self, "folder", value)
735
635
 
736
- @property
636
+ @_builtins.property
737
637
  @pulumi.getter
738
- def name(self) -> Optional[pulumi.Input[str]]:
638
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
739
639
  """
740
640
  The name of the datastore cluster.
741
641
  """
742
642
  return pulumi.get(self, "name")
743
643
 
744
644
  @name.setter
745
- def name(self, value: Optional[pulumi.Input[str]]):
645
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
746
646
  pulumi.set(self, "name", value)
747
647
 
748
- @property
648
+ @_builtins.property
749
649
  @pulumi.getter(name="sdrsAdvancedOptions")
750
- def sdrs_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
650
+ def sdrs_advanced_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
751
651
  """
752
- A key/value map of advanced Storage DRS
753
- settings that are not exposed via the provider or the vSphere client.
652
+ Advanced configuration options for storage DRS.
754
653
  """
755
654
  return pulumi.get(self, "sdrs_advanced_options")
756
655
 
757
656
  @sdrs_advanced_options.setter
758
- def sdrs_advanced_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
657
+ def sdrs_advanced_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
759
658
  pulumi.set(self, "sdrs_advanced_options", value)
760
659
 
761
- @property
660
+ @_builtins.property
762
661
  @pulumi.getter(name="sdrsAutomationLevel")
763
- def sdrs_automation_level(self) -> Optional[pulumi.Input[str]]:
662
+ def sdrs_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
764
663
  """
765
- The global automation level for all
766
- virtual machines in this datastore cluster. Default: `manual`.
664
+ The default automation level for all virtual machines in this storage cluster.
767
665
  """
768
666
  return pulumi.get(self, "sdrs_automation_level")
769
667
 
770
668
  @sdrs_automation_level.setter
771
- def sdrs_automation_level(self, value: Optional[pulumi.Input[str]]):
669
+ def sdrs_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
772
670
  pulumi.set(self, "sdrs_automation_level", value)
773
671
 
774
- @property
672
+ @_builtins.property
775
673
  @pulumi.getter(name="sdrsDefaultIntraVmAffinity")
776
- def sdrs_default_intra_vm_affinity(self) -> Optional[pulumi.Input[bool]]:
674
+ def sdrs_default_intra_vm_affinity(self) -> Optional[pulumi.Input[_builtins.bool]]:
777
675
  """
778
- When `true`, all disks in a
779
- single virtual machine will be kept on the same datastore. Default: `true`.
676
+ When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
780
677
  """
781
678
  return pulumi.get(self, "sdrs_default_intra_vm_affinity")
782
679
 
783
680
  @sdrs_default_intra_vm_affinity.setter
784
- def sdrs_default_intra_vm_affinity(self, value: Optional[pulumi.Input[bool]]):
681
+ def sdrs_default_intra_vm_affinity(self, value: Optional[pulumi.Input[_builtins.bool]]):
785
682
  pulumi.set(self, "sdrs_default_intra_vm_affinity", value)
786
683
 
787
- @property
684
+ @_builtins.property
788
685
  @pulumi.getter(name="sdrsEnabled")
789
- def sdrs_enabled(self) -> Optional[pulumi.Input[bool]]:
686
+ def sdrs_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
790
687
  """
791
688
  Enable Storage DRS for this datastore cluster.
792
689
  Default: `false`.
@@ -794,282 +691,323 @@ class _DatastoreClusterState:
794
691
  return pulumi.get(self, "sdrs_enabled")
795
692
 
796
693
  @sdrs_enabled.setter
797
- def sdrs_enabled(self, value: Optional[pulumi.Input[bool]]):
694
+ def sdrs_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
798
695
  pulumi.set(self, "sdrs_enabled", value)
799
696
 
800
- @property
697
+ @_builtins.property
801
698
  @pulumi.getter(name="sdrsFreeSpaceThreshold")
802
- def sdrs_free_space_threshold(self) -> Optional[pulumi.Input[int]]:
699
+ def sdrs_free_space_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
803
700
  """
804
- The free space threshold to use.
805
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
806
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
807
- `utilization`.
701
+ The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
808
702
  """
809
703
  return pulumi.get(self, "sdrs_free_space_threshold")
810
704
 
811
705
  @sdrs_free_space_threshold.setter
812
- def sdrs_free_space_threshold(self, value: Optional[pulumi.Input[int]]):
706
+ def sdrs_free_space_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
813
707
  pulumi.set(self, "sdrs_free_space_threshold", value)
814
708
 
815
- @property
709
+ @_builtins.property
816
710
  @pulumi.getter(name="sdrsFreeSpaceThresholdMode")
817
- def sdrs_free_space_threshold_mode(self) -> Optional[pulumi.Input[str]]:
711
+ def sdrs_free_space_threshold_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
818
712
  """
819
- The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
820
- freeSpace, drs_free_space_threshold is used.
713
+ The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
821
714
  """
822
715
  return pulumi.get(self, "sdrs_free_space_threshold_mode")
823
716
 
824
717
  @sdrs_free_space_threshold_mode.setter
825
- def sdrs_free_space_threshold_mode(self, value: Optional[pulumi.Input[str]]):
718
+ def sdrs_free_space_threshold_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
826
719
  pulumi.set(self, "sdrs_free_space_threshold_mode", value)
827
720
 
828
- @property
721
+ @_builtins.property
829
722
  @pulumi.getter(name="sdrsFreeSpaceUtilizationDifference")
830
- def sdrs_free_space_utilization_difference(self) -> Optional[pulumi.Input[int]]:
723
+ def sdrs_free_space_utilization_difference(self) -> Optional[pulumi.Input[_builtins.int]]:
831
724
  """
832
- The threshold, in
833
- percent, of difference between space utilization in datastores before storage
834
- DRS makes decisions to balance the space. Default: `5` percent.
725
+ The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
835
726
  """
836
727
  return pulumi.get(self, "sdrs_free_space_utilization_difference")
837
728
 
838
729
  @sdrs_free_space_utilization_difference.setter
839
- def sdrs_free_space_utilization_difference(self, value: Optional[pulumi.Input[int]]):
730
+ def sdrs_free_space_utilization_difference(self, value: Optional[pulumi.Input[_builtins.int]]):
840
731
  pulumi.set(self, "sdrs_free_space_utilization_difference", value)
841
732
 
842
- @property
733
+ @_builtins.property
843
734
  @pulumi.getter(name="sdrsIoBalanceAutomationLevel")
844
- def sdrs_io_balance_automation_level(self) -> Optional[pulumi.Input[str]]:
735
+ def sdrs_io_balance_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
845
736
  """
846
- Overrides the default
847
- automation settings when correcting I/O load imbalances.
737
+ Overrides the default automation settings when correcting I/O load imbalances.
848
738
  """
849
739
  return pulumi.get(self, "sdrs_io_balance_automation_level")
850
740
 
851
741
  @sdrs_io_balance_automation_level.setter
852
- def sdrs_io_balance_automation_level(self, value: Optional[pulumi.Input[str]]):
742
+ def sdrs_io_balance_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
853
743
  pulumi.set(self, "sdrs_io_balance_automation_level", value)
854
744
 
855
- @property
745
+ @_builtins.property
856
746
  @pulumi.getter(name="sdrsIoLatencyThreshold")
857
- def sdrs_io_latency_threshold(self) -> Optional[pulumi.Input[int]]:
747
+ def sdrs_io_latency_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
858
748
  """
859
- The I/O latency threshold, in
860
- milliseconds, that storage DRS uses to make recommendations to move disks
861
- from this datastore. Default: `15` seconds.
749
+ The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
862
750
  """
863
751
  return pulumi.get(self, "sdrs_io_latency_threshold")
864
752
 
865
753
  @sdrs_io_latency_threshold.setter
866
- def sdrs_io_latency_threshold(self, value: Optional[pulumi.Input[int]]):
754
+ def sdrs_io_latency_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
867
755
  pulumi.set(self, "sdrs_io_latency_threshold", value)
868
756
 
869
- @property
757
+ @_builtins.property
870
758
  @pulumi.getter(name="sdrsIoLoadBalanceEnabled")
871
- def sdrs_io_load_balance_enabled(self) -> Optional[pulumi.Input[bool]]:
759
+ def sdrs_io_load_balance_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
872
760
  """
873
- Enable I/O load balancing for
874
- this datastore cluster. Default: `true`.
761
+ Enable I/O load balancing for this datastore cluster.
875
762
  """
876
763
  return pulumi.get(self, "sdrs_io_load_balance_enabled")
877
764
 
878
765
  @sdrs_io_load_balance_enabled.setter
879
- def sdrs_io_load_balance_enabled(self, value: Optional[pulumi.Input[bool]]):
766
+ def sdrs_io_load_balance_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
880
767
  pulumi.set(self, "sdrs_io_load_balance_enabled", value)
881
768
 
882
- @property
769
+ @_builtins.property
883
770
  @pulumi.getter(name="sdrsIoLoadImbalanceThreshold")
884
- def sdrs_io_load_imbalance_threshold(self) -> Optional[pulumi.Input[int]]:
771
+ def sdrs_io_load_imbalance_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
885
772
  """
886
- The difference between load
887
- in datastores in the cluster before storage DRS makes recommendations to
888
- balance the load. Default: `5` percent.
773
+ The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
889
774
  """
890
775
  return pulumi.get(self, "sdrs_io_load_imbalance_threshold")
891
776
 
892
777
  @sdrs_io_load_imbalance_threshold.setter
893
- def sdrs_io_load_imbalance_threshold(self, value: Optional[pulumi.Input[int]]):
778
+ def sdrs_io_load_imbalance_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
894
779
  pulumi.set(self, "sdrs_io_load_imbalance_threshold", value)
895
780
 
896
- @property
781
+ @_builtins.property
897
782
  @pulumi.getter(name="sdrsIoReservableIopsThreshold")
898
- def sdrs_io_reservable_iops_threshold(self) -> Optional[pulumi.Input[int]]:
783
+ def sdrs_io_reservable_iops_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
899
784
  """
900
- The threshold of reservable
901
- IOPS of all virtual machines on the datastore before storage DRS makes
902
- recommendations to move VMs off of a datastore. Note that this setting should
903
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
904
- estimate of the capacity of the datastores in your cluster, and should be set
905
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
785
+ The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
906
786
  """
907
787
  return pulumi.get(self, "sdrs_io_reservable_iops_threshold")
908
788
 
909
789
  @sdrs_io_reservable_iops_threshold.setter
910
- def sdrs_io_reservable_iops_threshold(self, value: Optional[pulumi.Input[int]]):
790
+ def sdrs_io_reservable_iops_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
911
791
  pulumi.set(self, "sdrs_io_reservable_iops_threshold", value)
912
792
 
913
- @property
793
+ @_builtins.property
914
794
  @pulumi.getter(name="sdrsIoReservablePercentThreshold")
915
- def sdrs_io_reservable_percent_threshold(self) -> Optional[pulumi.Input[int]]:
795
+ def sdrs_io_reservable_percent_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
916
796
  """
917
- The threshold, in
918
- percent, of actual estimated performance of the datastore (in IOPS) that
919
- storage DRS uses to make recommendations to move VMs off of a datastore when
920
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
797
+ The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
921
798
  """
922
799
  return pulumi.get(self, "sdrs_io_reservable_percent_threshold")
923
800
 
924
801
  @sdrs_io_reservable_percent_threshold.setter
925
- def sdrs_io_reservable_percent_threshold(self, value: Optional[pulumi.Input[int]]):
802
+ def sdrs_io_reservable_percent_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
926
803
  pulumi.set(self, "sdrs_io_reservable_percent_threshold", value)
927
804
 
928
- @property
805
+ @_builtins.property
929
806
  @pulumi.getter(name="sdrsIoReservableThresholdMode")
930
- def sdrs_io_reservable_threshold_mode(self) -> Optional[pulumi.Input[str]]:
807
+ def sdrs_io_reservable_threshold_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
931
808
  """
932
- The reservable IOPS
933
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
934
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
935
- `manual`. Default: `automatic`.
809
+ The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
936
810
  """
937
811
  return pulumi.get(self, "sdrs_io_reservable_threshold_mode")
938
812
 
939
813
  @sdrs_io_reservable_threshold_mode.setter
940
- def sdrs_io_reservable_threshold_mode(self, value: Optional[pulumi.Input[str]]):
814
+ def sdrs_io_reservable_threshold_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
941
815
  pulumi.set(self, "sdrs_io_reservable_threshold_mode", value)
942
816
 
943
- @property
817
+ @_builtins.property
944
818
  @pulumi.getter(name="sdrsLoadBalanceInterval")
945
- def sdrs_load_balance_interval(self) -> Optional[pulumi.Input[int]]:
819
+ def sdrs_load_balance_interval(self) -> Optional[pulumi.Input[_builtins.int]]:
946
820
  """
947
- The storage DRS poll interval, in
948
- minutes. Default: `480` minutes.
821
+ The storage DRS poll interval, in minutes.
949
822
  """
950
823
  return pulumi.get(self, "sdrs_load_balance_interval")
951
824
 
952
825
  @sdrs_load_balance_interval.setter
953
- def sdrs_load_balance_interval(self, value: Optional[pulumi.Input[int]]):
826
+ def sdrs_load_balance_interval(self, value: Optional[pulumi.Input[_builtins.int]]):
954
827
  pulumi.set(self, "sdrs_load_balance_interval", value)
955
828
 
956
- @property
829
+ @_builtins.property
957
830
  @pulumi.getter(name="sdrsPolicyEnforcementAutomationLevel")
958
- def sdrs_policy_enforcement_automation_level(self) -> Optional[pulumi.Input[str]]:
831
+ def sdrs_policy_enforcement_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
959
832
  """
960
- Overrides the default
961
- automation settings when correcting storage and VM policy violations.
833
+ Overrides the default automation settings when correcting storage and VM policy violations.
962
834
  """
963
835
  return pulumi.get(self, "sdrs_policy_enforcement_automation_level")
964
836
 
965
837
  @sdrs_policy_enforcement_automation_level.setter
966
- def sdrs_policy_enforcement_automation_level(self, value: Optional[pulumi.Input[str]]):
838
+ def sdrs_policy_enforcement_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
967
839
  pulumi.set(self, "sdrs_policy_enforcement_automation_level", value)
968
840
 
969
- @property
841
+ @_builtins.property
970
842
  @pulumi.getter(name="sdrsRuleEnforcementAutomationLevel")
971
- def sdrs_rule_enforcement_automation_level(self) -> Optional[pulumi.Input[str]]:
843
+ def sdrs_rule_enforcement_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
972
844
  """
973
- Overrides the default
974
- automation settings when correcting affinity rule violations.
845
+ Overrides the default automation settings when correcting affinity rule violations.
975
846
  """
976
847
  return pulumi.get(self, "sdrs_rule_enforcement_automation_level")
977
848
 
978
849
  @sdrs_rule_enforcement_automation_level.setter
979
- def sdrs_rule_enforcement_automation_level(self, value: Optional[pulumi.Input[str]]):
850
+ def sdrs_rule_enforcement_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
980
851
  pulumi.set(self, "sdrs_rule_enforcement_automation_level", value)
981
852
 
982
- @property
853
+ @_builtins.property
983
854
  @pulumi.getter(name="sdrsSpaceBalanceAutomationLevel")
984
- def sdrs_space_balance_automation_level(self) -> Optional[pulumi.Input[str]]:
855
+ def sdrs_space_balance_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
985
856
  """
986
- Overrides the default
987
- automation settings when correcting disk space imbalances.
857
+ Overrides the default automation settings when correcting disk space imbalances.
988
858
  """
989
859
  return pulumi.get(self, "sdrs_space_balance_automation_level")
990
860
 
991
861
  @sdrs_space_balance_automation_level.setter
992
- def sdrs_space_balance_automation_level(self, value: Optional[pulumi.Input[str]]):
862
+ def sdrs_space_balance_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
993
863
  pulumi.set(self, "sdrs_space_balance_automation_level", value)
994
864
 
995
- @property
865
+ @_builtins.property
996
866
  @pulumi.getter(name="sdrsSpaceUtilizationThreshold")
997
- def sdrs_space_utilization_threshold(self) -> Optional[pulumi.Input[int]]:
867
+ def sdrs_space_utilization_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
998
868
  """
999
- Runtime thresholds govern
1000
- when Storage DRS performs or recommends migrations
1001
- (based on the selected automation level). Default: `80` percent.
869
+ The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1002
870
  """
1003
871
  return pulumi.get(self, "sdrs_space_utilization_threshold")
1004
872
 
1005
873
  @sdrs_space_utilization_threshold.setter
1006
- def sdrs_space_utilization_threshold(self, value: Optional[pulumi.Input[int]]):
874
+ def sdrs_space_utilization_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
1007
875
  pulumi.set(self, "sdrs_space_utilization_threshold", value)
1008
876
 
1009
- @property
877
+ @_builtins.property
1010
878
  @pulumi.getter(name="sdrsVmEvacuationAutomationLevel")
1011
- def sdrs_vm_evacuation_automation_level(self) -> Optional[pulumi.Input[str]]:
879
+ def sdrs_vm_evacuation_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
1012
880
  """
1013
- Overrides the default
1014
- automation settings when generating recommendations for datastore evacuation.
881
+ Overrides the default automation settings when generating recommendations for datastore evacuation.
1015
882
  """
1016
883
  return pulumi.get(self, "sdrs_vm_evacuation_automation_level")
1017
884
 
1018
885
  @sdrs_vm_evacuation_automation_level.setter
1019
- def sdrs_vm_evacuation_automation_level(self, value: Optional[pulumi.Input[str]]):
886
+ def sdrs_vm_evacuation_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
1020
887
  pulumi.set(self, "sdrs_vm_evacuation_automation_level", value)
1021
888
 
1022
- @property
889
+ @_builtins.property
1023
890
  @pulumi.getter
1024
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
891
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1025
892
  """
1026
893
  The IDs of any tags to attach to this resource.
1027
-
1028
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
1029
894
  """
1030
895
  return pulumi.get(self, "tags")
1031
896
 
1032
897
  @tags.setter
1033
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
898
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1034
899
  pulumi.set(self, "tags", value)
1035
900
 
1036
901
 
902
+ @pulumi.type_token("vsphere:index/datastoreCluster:DatastoreCluster")
1037
903
  class DatastoreCluster(pulumi.CustomResource):
1038
904
  @overload
1039
905
  def __init__(__self__,
1040
906
  resource_name: str,
1041
907
  opts: Optional[pulumi.ResourceOptions] = None,
1042
- custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1043
- datacenter_id: Optional[pulumi.Input[str]] = None,
1044
- folder: Optional[pulumi.Input[str]] = None,
1045
- name: Optional[pulumi.Input[str]] = None,
1046
- sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1047
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
1048
- sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None,
1049
- sdrs_enabled: Optional[pulumi.Input[bool]] = None,
1050
- sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None,
1051
- sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None,
1052
- sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None,
1053
- sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None,
1054
- sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None,
1055
- sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None,
1056
- sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None,
1057
- sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None,
1058
- sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None,
1059
- sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None,
1060
- sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None,
1061
- sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
1062
- sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
1063
- sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None,
1064
- sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None,
1065
- sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None,
1066
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
908
+ custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
909
+ datacenter_id: Optional[pulumi.Input[_builtins.str]] = None,
910
+ folder: Optional[pulumi.Input[_builtins.str]] = None,
911
+ name: Optional[pulumi.Input[_builtins.str]] = None,
912
+ sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
913
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
914
+ sdrs_default_intra_vm_affinity: Optional[pulumi.Input[_builtins.bool]] = None,
915
+ sdrs_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
916
+ sdrs_free_space_threshold: Optional[pulumi.Input[_builtins.int]] = None,
917
+ sdrs_free_space_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
918
+ sdrs_free_space_utilization_difference: Optional[pulumi.Input[_builtins.int]] = None,
919
+ sdrs_io_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
920
+ sdrs_io_latency_threshold: Optional[pulumi.Input[_builtins.int]] = None,
921
+ sdrs_io_load_balance_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
922
+ sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[_builtins.int]] = None,
923
+ sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[_builtins.int]] = None,
924
+ sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[_builtins.int]] = None,
925
+ sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
926
+ sdrs_load_balance_interval: Optional[pulumi.Input[_builtins.int]] = None,
927
+ sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
928
+ sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
929
+ sdrs_space_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
930
+ sdrs_space_utilization_threshold: Optional[pulumi.Input[_builtins.int]] = None,
931
+ sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
932
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1067
933
  __props__=None):
1068
934
  """
1069
- Create a DatastoreCluster resource with the given unique name, props, and options.
935
+ The `DatastoreCluster` resource can be used to create and manage
936
+ datastore clusters. This can be used to create groups of datastores with a
937
+ shared management interface, allowing for resource control and load balancing
938
+ through Storage DRS.
939
+
940
+ For more information on vSphere datastore clusters and Storage DRS, see [this
941
+ page][ref-vsphere-datastore-clusters].
942
+
943
+ [ref-vsphere-datastore-clusters]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-resource-management-8-0/creating-a-datastore-cluster.html
944
+
945
+ > **NOTE:** This resource requires vCenter and is not available on direct ESXi
946
+ connections.
947
+
948
+ > **NOTE:** Storage DRS requires a vSphere Enterprise Plus license.
949
+
950
+ ## Example Usage
951
+
952
+ The following example sets up a datastore cluster and enables Storage DRS with
953
+ the default settings. It then creates two NAS datastores using the
954
+ `NasDatastore` resource and assigns them to
955
+ the datastore cluster.
956
+
957
+ ```python
958
+ import pulumi
959
+ import pulumi_vsphere as vsphere
960
+
961
+ config = pulumi.Config()
962
+ hosts = config.get_object("hosts")
963
+ if hosts is None:
964
+ hosts = [
965
+ "esxi-01.example.com",
966
+ "esxi-02.example.com",
967
+ "esxi-03.example.com",
968
+ ]
969
+ datacenter = vsphere.get_datacenter()
970
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
971
+ datacenter_id=datacenter.id) for __index in range(len(hosts))]
972
+ datastore_cluster = vsphere.DatastoreCluster("datastore_cluster",
973
+ name="datastore-cluster-test",
974
+ datacenter_id=datacenter.id,
975
+ sdrs_enabled=True)
976
+ datastore1 = vsphere.NasDatastore("datastore1",
977
+ name="datastore-test1",
978
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
979
+ datastore_cluster_id=datastore_cluster.id,
980
+ type="NFS",
981
+ remote_hosts=["nfs"],
982
+ remote_path="/export/test1")
983
+ datastore2 = vsphere.NasDatastore("datastore2",
984
+ name="datastore-test2",
985
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
986
+ datastore_cluster_id=datastore_cluster.id,
987
+ type="NFS",
988
+ remote_hosts=["nfs"],
989
+ remote_path="/export/test2")
990
+ ```
991
+
992
+ ## Import
993
+
994
+ An existing datastore cluster can be imported into this resource
995
+
996
+ via the path to the cluster, via the following command:
997
+
998
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
999
+
1000
+ ```sh
1001
+ $ pulumi import vsphere:index/datastoreCluster:DatastoreCluster datastore_cluster /dc1/datastore/ds-cluster
1002
+ ```
1003
+
1004
+ The above would import the datastore cluster named `ds-cluster` that is located
1005
+
1006
+ in the `dc1` datacenter.
1007
+
1070
1008
  :param str resource_name: The name of the resource.
1071
1009
  :param pulumi.ResourceOptions opts: Options for the resource.
1072
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of custom attribute ids to attribute
1010
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_attributes: A map of custom attribute ids to attribute
1073
1011
  value strings to set for the datastore cluster. See
1074
1012
  [here][docs-setting-custom-attributes] for a reference on how to set values
1075
1013
  for custom attributes.
@@ -1078,74 +1016,39 @@ class DatastoreCluster(pulumi.CustomResource):
1078
1016
 
1079
1017
  > **NOTE:** Custom attributes are unsupported on direct ESXi connections
1080
1018
  and require vCenter.
1081
- :param pulumi.Input[str] datacenter_id: The managed object ID of
1019
+ :param pulumi.Input[_builtins.str] datacenter_id: The managed object ID of
1082
1020
  the datacenter to create the datastore cluster in. Forces a new resource if
1083
1021
  changed.
1084
- :param pulumi.Input[str] folder: The relative path to a folder to put this datastore
1022
+ :param pulumi.Input[_builtins.str] folder: The relative path to a folder to put this datastore
1085
1023
  cluster in. This is a path relative to the datacenter you are deploying the
1086
1024
  datastore to. Example: for the `dc1` datacenter, and a provided `folder` of
1087
1025
  `foo/bar`, The provider will place a datastore cluster named
1088
1026
  `datastore-cluster-test` in a datastore folder located at
1089
1027
  `/dc1/datastore/foo/bar`, with the final inventory path being
1090
1028
  `/dc1/datastore/foo/bar/datastore-cluster-test`.
1091
- :param pulumi.Input[str] name: The name of the datastore cluster.
1092
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sdrs_advanced_options: A key/value map of advanced Storage DRS
1093
- settings that are not exposed via the provider or the vSphere client.
1094
- :param pulumi.Input[str] sdrs_automation_level: The global automation level for all
1095
- virtual machines in this datastore cluster. Default: `manual`.
1096
- :param pulumi.Input[bool] sdrs_default_intra_vm_affinity: When `true`, all disks in a
1097
- single virtual machine will be kept on the same datastore. Default: `true`.
1098
- :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
1029
+ :param pulumi.Input[_builtins.str] name: The name of the datastore cluster.
1030
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] sdrs_advanced_options: Advanced configuration options for storage DRS.
1031
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: The default automation level for all virtual machines in this storage cluster.
1032
+ :param pulumi.Input[_builtins.bool] sdrs_default_intra_vm_affinity: When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
1033
+ :param pulumi.Input[_builtins.bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
1099
1034
  Default: `false`.
1100
- :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use.
1101
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
1102
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
1103
- `utilization`.
1104
- :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
1105
- freeSpace, drs_free_space_threshold is used.
1106
- :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in
1107
- percent, of difference between space utilization in datastores before storage
1108
- DRS makes decisions to balance the space. Default: `5` percent.
1109
- :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default
1110
- automation settings when correcting I/O load imbalances.
1111
- :param pulumi.Input[int] sdrs_io_latency_threshold: The I/O latency threshold, in
1112
- milliseconds, that storage DRS uses to make recommendations to move disks
1113
- from this datastore. Default: `15` seconds.
1114
- :param pulumi.Input[bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for
1115
- this datastore cluster. Default: `true`.
1116
- :param pulumi.Input[int] sdrs_io_load_imbalance_threshold: The difference between load
1117
- in datastores in the cluster before storage DRS makes recommendations to
1118
- balance the load. Default: `5` percent.
1119
- :param pulumi.Input[int] sdrs_io_reservable_iops_threshold: The threshold of reservable
1120
- IOPS of all virtual machines on the datastore before storage DRS makes
1121
- recommendations to move VMs off of a datastore. Note that this setting should
1122
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
1123
- estimate of the capacity of the datastores in your cluster, and should be set
1124
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
1125
- :param pulumi.Input[int] sdrs_io_reservable_percent_threshold: The threshold, in
1126
- percent, of actual estimated performance of the datastore (in IOPS) that
1127
- storage DRS uses to make recommendations to move VMs off of a datastore when
1128
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
1129
- :param pulumi.Input[str] sdrs_io_reservable_threshold_mode: The reservable IOPS
1130
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
1131
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
1132
- `manual`. Default: `automatic`.
1133
- :param pulumi.Input[int] sdrs_load_balance_interval: The storage DRS poll interval, in
1134
- minutes. Default: `480` minutes.
1135
- :param pulumi.Input[str] sdrs_policy_enforcement_automation_level: Overrides the default
1136
- automation settings when correcting storage and VM policy violations.
1137
- :param pulumi.Input[str] sdrs_rule_enforcement_automation_level: Overrides the default
1138
- automation settings when correcting affinity rule violations.
1139
- :param pulumi.Input[str] sdrs_space_balance_automation_level: Overrides the default
1140
- automation settings when correcting disk space imbalances.
1141
- :param pulumi.Input[int] sdrs_space_utilization_threshold: Runtime thresholds govern
1142
- when Storage DRS performs or recommends migrations
1143
- (based on the selected automation level). Default: `80` percent.
1144
- :param pulumi.Input[str] sdrs_vm_evacuation_automation_level: Overrides the default
1145
- automation settings when generating recommendations for datastore evacuation.
1146
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
1147
-
1148
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
1035
+ :param pulumi.Input[_builtins.int] sdrs_free_space_threshold: The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1036
+ :param pulumi.Input[_builtins.str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
1037
+ :param pulumi.Input[_builtins.int] sdrs_free_space_utilization_difference: The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
1038
+ :param pulumi.Input[_builtins.str] sdrs_io_balance_automation_level: Overrides the default automation settings when correcting I/O load imbalances.
1039
+ :param pulumi.Input[_builtins.int] sdrs_io_latency_threshold: The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
1040
+ :param pulumi.Input[_builtins.bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for this datastore cluster.
1041
+ :param pulumi.Input[_builtins.int] sdrs_io_load_imbalance_threshold: The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
1042
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_iops_threshold: The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
1043
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_percent_threshold: The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
1044
+ :param pulumi.Input[_builtins.str] sdrs_io_reservable_threshold_mode: The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
1045
+ :param pulumi.Input[_builtins.int] sdrs_load_balance_interval: The storage DRS poll interval, in minutes.
1046
+ :param pulumi.Input[_builtins.str] sdrs_policy_enforcement_automation_level: Overrides the default automation settings when correcting storage and VM policy violations.
1047
+ :param pulumi.Input[_builtins.str] sdrs_rule_enforcement_automation_level: Overrides the default automation settings when correcting affinity rule violations.
1048
+ :param pulumi.Input[_builtins.str] sdrs_space_balance_automation_level: Overrides the default automation settings when correcting disk space imbalances.
1049
+ :param pulumi.Input[_builtins.int] sdrs_space_utilization_threshold: The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1050
+ :param pulumi.Input[_builtins.str] sdrs_vm_evacuation_automation_level: Overrides the default automation settings when generating recommendations for datastore evacuation.
1051
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The IDs of any tags to attach to this resource.
1149
1052
  """
1150
1053
  ...
1151
1054
  @overload
@@ -1154,7 +1057,79 @@ class DatastoreCluster(pulumi.CustomResource):
1154
1057
  args: DatastoreClusterArgs,
1155
1058
  opts: Optional[pulumi.ResourceOptions] = None):
1156
1059
  """
1157
- Create a DatastoreCluster resource with the given unique name, props, and options.
1060
+ The `DatastoreCluster` resource can be used to create and manage
1061
+ datastore clusters. This can be used to create groups of datastores with a
1062
+ shared management interface, allowing for resource control and load balancing
1063
+ through Storage DRS.
1064
+
1065
+ For more information on vSphere datastore clusters and Storage DRS, see [this
1066
+ page][ref-vsphere-datastore-clusters].
1067
+
1068
+ [ref-vsphere-datastore-clusters]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-resource-management-8-0/creating-a-datastore-cluster.html
1069
+
1070
+ > **NOTE:** This resource requires vCenter and is not available on direct ESXi
1071
+ connections.
1072
+
1073
+ > **NOTE:** Storage DRS requires a vSphere Enterprise Plus license.
1074
+
1075
+ ## Example Usage
1076
+
1077
+ The following example sets up a datastore cluster and enables Storage DRS with
1078
+ the default settings. It then creates two NAS datastores using the
1079
+ `NasDatastore` resource and assigns them to
1080
+ the datastore cluster.
1081
+
1082
+ ```python
1083
+ import pulumi
1084
+ import pulumi_vsphere as vsphere
1085
+
1086
+ config = pulumi.Config()
1087
+ hosts = config.get_object("hosts")
1088
+ if hosts is None:
1089
+ hosts = [
1090
+ "esxi-01.example.com",
1091
+ "esxi-02.example.com",
1092
+ "esxi-03.example.com",
1093
+ ]
1094
+ datacenter = vsphere.get_datacenter()
1095
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
1096
+ datacenter_id=datacenter.id) for __index in range(len(hosts))]
1097
+ datastore_cluster = vsphere.DatastoreCluster("datastore_cluster",
1098
+ name="datastore-cluster-test",
1099
+ datacenter_id=datacenter.id,
1100
+ sdrs_enabled=True)
1101
+ datastore1 = vsphere.NasDatastore("datastore1",
1102
+ name="datastore-test1",
1103
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
1104
+ datastore_cluster_id=datastore_cluster.id,
1105
+ type="NFS",
1106
+ remote_hosts=["nfs"],
1107
+ remote_path="/export/test1")
1108
+ datastore2 = vsphere.NasDatastore("datastore2",
1109
+ name="datastore-test2",
1110
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
1111
+ datastore_cluster_id=datastore_cluster.id,
1112
+ type="NFS",
1113
+ remote_hosts=["nfs"],
1114
+ remote_path="/export/test2")
1115
+ ```
1116
+
1117
+ ## Import
1118
+
1119
+ An existing datastore cluster can be imported into this resource
1120
+
1121
+ via the path to the cluster, via the following command:
1122
+
1123
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
1124
+
1125
+ ```sh
1126
+ $ pulumi import vsphere:index/datastoreCluster:DatastoreCluster datastore_cluster /dc1/datastore/ds-cluster
1127
+ ```
1128
+
1129
+ The above would import the datastore cluster named `ds-cluster` that is located
1130
+
1131
+ in the `dc1` datacenter.
1132
+
1158
1133
  :param str resource_name: The name of the resource.
1159
1134
  :param DatastoreClusterArgs args: The arguments to use to populate this resource's properties.
1160
1135
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -1170,31 +1145,31 @@ class DatastoreCluster(pulumi.CustomResource):
1170
1145
  def _internal_init(__self__,
1171
1146
  resource_name: str,
1172
1147
  opts: Optional[pulumi.ResourceOptions] = None,
1173
- custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1174
- datacenter_id: Optional[pulumi.Input[str]] = None,
1175
- folder: Optional[pulumi.Input[str]] = None,
1176
- name: Optional[pulumi.Input[str]] = None,
1177
- sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1178
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
1179
- sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None,
1180
- sdrs_enabled: Optional[pulumi.Input[bool]] = None,
1181
- sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None,
1182
- sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None,
1183
- sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None,
1184
- sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None,
1185
- sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None,
1186
- sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None,
1187
- sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None,
1188
- sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None,
1189
- sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None,
1190
- sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None,
1191
- sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None,
1192
- sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
1193
- sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
1194
- sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None,
1195
- sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None,
1196
- sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None,
1197
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1148
+ custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1149
+ datacenter_id: Optional[pulumi.Input[_builtins.str]] = None,
1150
+ folder: Optional[pulumi.Input[_builtins.str]] = None,
1151
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1152
+ sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1153
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1154
+ sdrs_default_intra_vm_affinity: Optional[pulumi.Input[_builtins.bool]] = None,
1155
+ sdrs_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1156
+ sdrs_free_space_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1157
+ sdrs_free_space_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
1158
+ sdrs_free_space_utilization_difference: Optional[pulumi.Input[_builtins.int]] = None,
1159
+ sdrs_io_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1160
+ sdrs_io_latency_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1161
+ sdrs_io_load_balance_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1162
+ sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1163
+ sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1164
+ sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1165
+ sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
1166
+ sdrs_load_balance_interval: Optional[pulumi.Input[_builtins.int]] = None,
1167
+ sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1168
+ sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1169
+ sdrs_space_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1170
+ sdrs_space_utilization_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1171
+ sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1172
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1198
1173
  __props__=None):
1199
1174
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1200
1175
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1241,31 +1216,31 @@ class DatastoreCluster(pulumi.CustomResource):
1241
1216
  def get(resource_name: str,
1242
1217
  id: pulumi.Input[str],
1243
1218
  opts: Optional[pulumi.ResourceOptions] = None,
1244
- custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1245
- datacenter_id: Optional[pulumi.Input[str]] = None,
1246
- folder: Optional[pulumi.Input[str]] = None,
1247
- name: Optional[pulumi.Input[str]] = None,
1248
- sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1249
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
1250
- sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None,
1251
- sdrs_enabled: Optional[pulumi.Input[bool]] = None,
1252
- sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None,
1253
- sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None,
1254
- sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None,
1255
- sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None,
1256
- sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None,
1257
- sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None,
1258
- sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None,
1259
- sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None,
1260
- sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None,
1261
- sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None,
1262
- sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None,
1263
- sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
1264
- sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None,
1265
- sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None,
1266
- sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None,
1267
- sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None,
1268
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'DatastoreCluster':
1219
+ custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1220
+ datacenter_id: Optional[pulumi.Input[_builtins.str]] = None,
1221
+ folder: Optional[pulumi.Input[_builtins.str]] = None,
1222
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1223
+ sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1224
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1225
+ sdrs_default_intra_vm_affinity: Optional[pulumi.Input[_builtins.bool]] = None,
1226
+ sdrs_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1227
+ sdrs_free_space_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1228
+ sdrs_free_space_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
1229
+ sdrs_free_space_utilization_difference: Optional[pulumi.Input[_builtins.int]] = None,
1230
+ sdrs_io_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1231
+ sdrs_io_latency_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1232
+ sdrs_io_load_balance_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1233
+ sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1234
+ sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1235
+ sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1236
+ sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[_builtins.str]] = None,
1237
+ sdrs_load_balance_interval: Optional[pulumi.Input[_builtins.int]] = None,
1238
+ sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1239
+ sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1240
+ sdrs_space_balance_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1241
+ sdrs_space_utilization_threshold: Optional[pulumi.Input[_builtins.int]] = None,
1242
+ sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
1243
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'DatastoreCluster':
1269
1244
  """
1270
1245
  Get an existing DatastoreCluster resource's state with the given name, id, and optional extra
1271
1246
  properties used to qualify the lookup.
@@ -1273,7 +1248,7 @@ class DatastoreCluster(pulumi.CustomResource):
1273
1248
  :param str resource_name: The unique name of the resulting resource.
1274
1249
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1275
1250
  :param pulumi.ResourceOptions opts: Options for the resource.
1276
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of custom attribute ids to attribute
1251
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_attributes: A map of custom attribute ids to attribute
1277
1252
  value strings to set for the datastore cluster. See
1278
1253
  [here][docs-setting-custom-attributes] for a reference on how to set values
1279
1254
  for custom attributes.
@@ -1282,74 +1257,39 @@ class DatastoreCluster(pulumi.CustomResource):
1282
1257
 
1283
1258
  > **NOTE:** Custom attributes are unsupported on direct ESXi connections
1284
1259
  and require vCenter.
1285
- :param pulumi.Input[str] datacenter_id: The managed object ID of
1260
+ :param pulumi.Input[_builtins.str] datacenter_id: The managed object ID of
1286
1261
  the datacenter to create the datastore cluster in. Forces a new resource if
1287
1262
  changed.
1288
- :param pulumi.Input[str] folder: The relative path to a folder to put this datastore
1263
+ :param pulumi.Input[_builtins.str] folder: The relative path to a folder to put this datastore
1289
1264
  cluster in. This is a path relative to the datacenter you are deploying the
1290
1265
  datastore to. Example: for the `dc1` datacenter, and a provided `folder` of
1291
1266
  `foo/bar`, The provider will place a datastore cluster named
1292
1267
  `datastore-cluster-test` in a datastore folder located at
1293
1268
  `/dc1/datastore/foo/bar`, with the final inventory path being
1294
1269
  `/dc1/datastore/foo/bar/datastore-cluster-test`.
1295
- :param pulumi.Input[str] name: The name of the datastore cluster.
1296
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sdrs_advanced_options: A key/value map of advanced Storage DRS
1297
- settings that are not exposed via the provider or the vSphere client.
1298
- :param pulumi.Input[str] sdrs_automation_level: The global automation level for all
1299
- virtual machines in this datastore cluster. Default: `manual`.
1300
- :param pulumi.Input[bool] sdrs_default_intra_vm_affinity: When `true`, all disks in a
1301
- single virtual machine will be kept on the same datastore. Default: `true`.
1302
- :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
1270
+ :param pulumi.Input[_builtins.str] name: The name of the datastore cluster.
1271
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] sdrs_advanced_options: Advanced configuration options for storage DRS.
1272
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: The default automation level for all virtual machines in this storage cluster.
1273
+ :param pulumi.Input[_builtins.bool] sdrs_default_intra_vm_affinity: When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
1274
+ :param pulumi.Input[_builtins.bool] sdrs_enabled: Enable Storage DRS for this datastore cluster.
1303
1275
  Default: `false`.
1304
- :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use.
1305
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
1306
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
1307
- `utilization`.
1308
- :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
1309
- freeSpace, drs_free_space_threshold is used.
1310
- :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in
1311
- percent, of difference between space utilization in datastores before storage
1312
- DRS makes decisions to balance the space. Default: `5` percent.
1313
- :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default
1314
- automation settings when correcting I/O load imbalances.
1315
- :param pulumi.Input[int] sdrs_io_latency_threshold: The I/O latency threshold, in
1316
- milliseconds, that storage DRS uses to make recommendations to move disks
1317
- from this datastore. Default: `15` seconds.
1318
- :param pulumi.Input[bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for
1319
- this datastore cluster. Default: `true`.
1320
- :param pulumi.Input[int] sdrs_io_load_imbalance_threshold: The difference between load
1321
- in datastores in the cluster before storage DRS makes recommendations to
1322
- balance the load. Default: `5` percent.
1323
- :param pulumi.Input[int] sdrs_io_reservable_iops_threshold: The threshold of reservable
1324
- IOPS of all virtual machines on the datastore before storage DRS makes
1325
- recommendations to move VMs off of a datastore. Note that this setting should
1326
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
1327
- estimate of the capacity of the datastores in your cluster, and should be set
1328
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
1329
- :param pulumi.Input[int] sdrs_io_reservable_percent_threshold: The threshold, in
1330
- percent, of actual estimated performance of the datastore (in IOPS) that
1331
- storage DRS uses to make recommendations to move VMs off of a datastore when
1332
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
1333
- :param pulumi.Input[str] sdrs_io_reservable_threshold_mode: The reservable IOPS
1334
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
1335
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
1336
- `manual`. Default: `automatic`.
1337
- :param pulumi.Input[int] sdrs_load_balance_interval: The storage DRS poll interval, in
1338
- minutes. Default: `480` minutes.
1339
- :param pulumi.Input[str] sdrs_policy_enforcement_automation_level: Overrides the default
1340
- automation settings when correcting storage and VM policy violations.
1341
- :param pulumi.Input[str] sdrs_rule_enforcement_automation_level: Overrides the default
1342
- automation settings when correcting affinity rule violations.
1343
- :param pulumi.Input[str] sdrs_space_balance_automation_level: Overrides the default
1344
- automation settings when correcting disk space imbalances.
1345
- :param pulumi.Input[int] sdrs_space_utilization_threshold: Runtime thresholds govern
1346
- when Storage DRS performs or recommends migrations
1347
- (based on the selected automation level). Default: `80` percent.
1348
- :param pulumi.Input[str] sdrs_vm_evacuation_automation_level: Overrides the default
1349
- automation settings when generating recommendations for datastore evacuation.
1350
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
1351
-
1352
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
1276
+ :param pulumi.Input[_builtins.int] sdrs_free_space_threshold: The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1277
+ :param pulumi.Input[_builtins.str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
1278
+ :param pulumi.Input[_builtins.int] sdrs_free_space_utilization_difference: The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
1279
+ :param pulumi.Input[_builtins.str] sdrs_io_balance_automation_level: Overrides the default automation settings when correcting I/O load imbalances.
1280
+ :param pulumi.Input[_builtins.int] sdrs_io_latency_threshold: The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
1281
+ :param pulumi.Input[_builtins.bool] sdrs_io_load_balance_enabled: Enable I/O load balancing for this datastore cluster.
1282
+ :param pulumi.Input[_builtins.int] sdrs_io_load_imbalance_threshold: The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
1283
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_iops_threshold: The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
1284
+ :param pulumi.Input[_builtins.int] sdrs_io_reservable_percent_threshold: The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
1285
+ :param pulumi.Input[_builtins.str] sdrs_io_reservable_threshold_mode: The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
1286
+ :param pulumi.Input[_builtins.int] sdrs_load_balance_interval: The storage DRS poll interval, in minutes.
1287
+ :param pulumi.Input[_builtins.str] sdrs_policy_enforcement_automation_level: Overrides the default automation settings when correcting storage and VM policy violations.
1288
+ :param pulumi.Input[_builtins.str] sdrs_rule_enforcement_automation_level: Overrides the default automation settings when correcting affinity rule violations.
1289
+ :param pulumi.Input[_builtins.str] sdrs_space_balance_automation_level: Overrides the default automation settings when correcting disk space imbalances.
1290
+ :param pulumi.Input[_builtins.int] sdrs_space_utilization_threshold: The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1291
+ :param pulumi.Input[_builtins.str] sdrs_vm_evacuation_automation_level: Overrides the default automation settings when generating recommendations for datastore evacuation.
1292
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The IDs of any tags to attach to this resource.
1353
1293
  """
1354
1294
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1355
1295
 
@@ -1382,9 +1322,9 @@ class DatastoreCluster(pulumi.CustomResource):
1382
1322
  __props__.__dict__["tags"] = tags
1383
1323
  return DatastoreCluster(resource_name, opts=opts, __props__=__props__)
1384
1324
 
1385
- @property
1325
+ @_builtins.property
1386
1326
  @pulumi.getter(name="customAttributes")
1387
- def custom_attributes(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1327
+ def custom_attributes(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1388
1328
  """
1389
1329
  A map of custom attribute ids to attribute
1390
1330
  value strings to set for the datastore cluster. See
@@ -1398,9 +1338,9 @@ class DatastoreCluster(pulumi.CustomResource):
1398
1338
  """
1399
1339
  return pulumi.get(self, "custom_attributes")
1400
1340
 
1401
- @property
1341
+ @_builtins.property
1402
1342
  @pulumi.getter(name="datacenterId")
1403
- def datacenter_id(self) -> pulumi.Output[str]:
1343
+ def datacenter_id(self) -> pulumi.Output[_builtins.str]:
1404
1344
  """
1405
1345
  The managed object ID of
1406
1346
  the datacenter to create the datastore cluster in. Forces a new resource if
@@ -1408,9 +1348,9 @@ class DatastoreCluster(pulumi.CustomResource):
1408
1348
  """
1409
1349
  return pulumi.get(self, "datacenter_id")
1410
1350
 
1411
- @property
1351
+ @_builtins.property
1412
1352
  @pulumi.getter
1413
- def folder(self) -> pulumi.Output[Optional[str]]:
1353
+ def folder(self) -> pulumi.Output[Optional[_builtins.str]]:
1414
1354
  """
1415
1355
  The relative path to a folder to put this datastore
1416
1356
  cluster in. This is a path relative to the datacenter you are deploying the
@@ -1422,215 +1362,180 @@ class DatastoreCluster(pulumi.CustomResource):
1422
1362
  """
1423
1363
  return pulumi.get(self, "folder")
1424
1364
 
1425
- @property
1365
+ @_builtins.property
1426
1366
  @pulumi.getter
1427
- def name(self) -> pulumi.Output[str]:
1367
+ def name(self) -> pulumi.Output[_builtins.str]:
1428
1368
  """
1429
1369
  The name of the datastore cluster.
1430
1370
  """
1431
1371
  return pulumi.get(self, "name")
1432
1372
 
1433
- @property
1373
+ @_builtins.property
1434
1374
  @pulumi.getter(name="sdrsAdvancedOptions")
1435
- def sdrs_advanced_options(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1375
+ def sdrs_advanced_options(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1436
1376
  """
1437
- A key/value map of advanced Storage DRS
1438
- settings that are not exposed via the provider or the vSphere client.
1377
+ Advanced configuration options for storage DRS.
1439
1378
  """
1440
1379
  return pulumi.get(self, "sdrs_advanced_options")
1441
1380
 
1442
- @property
1381
+ @_builtins.property
1443
1382
  @pulumi.getter(name="sdrsAutomationLevel")
1444
- def sdrs_automation_level(self) -> pulumi.Output[Optional[str]]:
1383
+ def sdrs_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
1445
1384
  """
1446
- The global automation level for all
1447
- virtual machines in this datastore cluster. Default: `manual`.
1385
+ The default automation level for all virtual machines in this storage cluster.
1448
1386
  """
1449
1387
  return pulumi.get(self, "sdrs_automation_level")
1450
1388
 
1451
- @property
1389
+ @_builtins.property
1452
1390
  @pulumi.getter(name="sdrsDefaultIntraVmAffinity")
1453
- def sdrs_default_intra_vm_affinity(self) -> pulumi.Output[Optional[bool]]:
1391
+ def sdrs_default_intra_vm_affinity(self) -> pulumi.Output[Optional[_builtins.bool]]:
1454
1392
  """
1455
- When `true`, all disks in a
1456
- single virtual machine will be kept on the same datastore. Default: `true`.
1393
+ When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
1457
1394
  """
1458
1395
  return pulumi.get(self, "sdrs_default_intra_vm_affinity")
1459
1396
 
1460
- @property
1397
+ @_builtins.property
1461
1398
  @pulumi.getter(name="sdrsEnabled")
1462
- def sdrs_enabled(self) -> pulumi.Output[Optional[bool]]:
1399
+ def sdrs_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1463
1400
  """
1464
1401
  Enable Storage DRS for this datastore cluster.
1465
1402
  Default: `false`.
1466
1403
  """
1467
1404
  return pulumi.get(self, "sdrs_enabled")
1468
1405
 
1469
- @property
1406
+ @_builtins.property
1470
1407
  @pulumi.getter(name="sdrsFreeSpaceThreshold")
1471
- def sdrs_free_space_threshold(self) -> pulumi.Output[Optional[int]]:
1408
+ def sdrs_free_space_threshold(self) -> pulumi.Output[Optional[_builtins.int]]:
1472
1409
  """
1473
- The free space threshold to use.
1474
- When set to `utilization`, `drs_space_utilization_threshold` is used, and
1475
- when set to `freeSpace`, `drs_free_space_threshold` is used. Default:
1476
- `utilization`.
1410
+ The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1477
1411
  """
1478
1412
  return pulumi.get(self, "sdrs_free_space_threshold")
1479
1413
 
1480
- @property
1414
+ @_builtins.property
1481
1415
  @pulumi.getter(name="sdrsFreeSpaceThresholdMode")
1482
- def sdrs_free_space_threshold_mode(self) -> pulumi.Output[Optional[str]]:
1416
+ def sdrs_free_space_threshold_mode(self) -> pulumi.Output[Optional[_builtins.str]]:
1483
1417
  """
1484
- The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to
1485
- freeSpace, drs_free_space_threshold is used.
1418
+ The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
1486
1419
  """
1487
1420
  return pulumi.get(self, "sdrs_free_space_threshold_mode")
1488
1421
 
1489
- @property
1422
+ @_builtins.property
1490
1423
  @pulumi.getter(name="sdrsFreeSpaceUtilizationDifference")
1491
- def sdrs_free_space_utilization_difference(self) -> pulumi.Output[Optional[int]]:
1424
+ def sdrs_free_space_utilization_difference(self) -> pulumi.Output[Optional[_builtins.int]]:
1492
1425
  """
1493
- The threshold, in
1494
- percent, of difference between space utilization in datastores before storage
1495
- DRS makes decisions to balance the space. Default: `5` percent.
1426
+ The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
1496
1427
  """
1497
1428
  return pulumi.get(self, "sdrs_free_space_utilization_difference")
1498
1429
 
1499
- @property
1430
+ @_builtins.property
1500
1431
  @pulumi.getter(name="sdrsIoBalanceAutomationLevel")
1501
- def sdrs_io_balance_automation_level(self) -> pulumi.Output[Optional[str]]:
1432
+ def sdrs_io_balance_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
1502
1433
  """
1503
- Overrides the default
1504
- automation settings when correcting I/O load imbalances.
1434
+ Overrides the default automation settings when correcting I/O load imbalances.
1505
1435
  """
1506
1436
  return pulumi.get(self, "sdrs_io_balance_automation_level")
1507
1437
 
1508
- @property
1438
+ @_builtins.property
1509
1439
  @pulumi.getter(name="sdrsIoLatencyThreshold")
1510
- def sdrs_io_latency_threshold(self) -> pulumi.Output[Optional[int]]:
1440
+ def sdrs_io_latency_threshold(self) -> pulumi.Output[Optional[_builtins.int]]:
1511
1441
  """
1512
- The I/O latency threshold, in
1513
- milliseconds, that storage DRS uses to make recommendations to move disks
1514
- from this datastore. Default: `15` seconds.
1442
+ The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
1515
1443
  """
1516
1444
  return pulumi.get(self, "sdrs_io_latency_threshold")
1517
1445
 
1518
- @property
1446
+ @_builtins.property
1519
1447
  @pulumi.getter(name="sdrsIoLoadBalanceEnabled")
1520
- def sdrs_io_load_balance_enabled(self) -> pulumi.Output[Optional[bool]]:
1448
+ def sdrs_io_load_balance_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1521
1449
  """
1522
- Enable I/O load balancing for
1523
- this datastore cluster. Default: `true`.
1450
+ Enable I/O load balancing for this datastore cluster.
1524
1451
  """
1525
1452
  return pulumi.get(self, "sdrs_io_load_balance_enabled")
1526
1453
 
1527
- @property
1454
+ @_builtins.property
1528
1455
  @pulumi.getter(name="sdrsIoLoadImbalanceThreshold")
1529
- def sdrs_io_load_imbalance_threshold(self) -> pulumi.Output[Optional[int]]:
1456
+ def sdrs_io_load_imbalance_threshold(self) -> pulumi.Output[Optional[_builtins.int]]:
1530
1457
  """
1531
- The difference between load
1532
- in datastores in the cluster before storage DRS makes recommendations to
1533
- balance the load. Default: `5` percent.
1458
+ The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
1534
1459
  """
1535
1460
  return pulumi.get(self, "sdrs_io_load_imbalance_threshold")
1536
1461
 
1537
- @property
1462
+ @_builtins.property
1538
1463
  @pulumi.getter(name="sdrsIoReservableIopsThreshold")
1539
- def sdrs_io_reservable_iops_threshold(self) -> pulumi.Output[Optional[int]]:
1464
+ def sdrs_io_reservable_iops_threshold(self) -> pulumi.Output[Optional[_builtins.int]]:
1540
1465
  """
1541
- The threshold of reservable
1542
- IOPS of all virtual machines on the datastore before storage DRS makes
1543
- recommendations to move VMs off of a datastore. Note that this setting should
1544
- only be set if `sdrs_io_reservable_percent_threshold` cannot make an accurate
1545
- estimate of the capacity of the datastores in your cluster, and should be set
1546
- to roughly 50-60% of the worst case peak performance of the backing LUNs.
1466
+ The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
1547
1467
  """
1548
1468
  return pulumi.get(self, "sdrs_io_reservable_iops_threshold")
1549
1469
 
1550
- @property
1470
+ @_builtins.property
1551
1471
  @pulumi.getter(name="sdrsIoReservablePercentThreshold")
1552
- def sdrs_io_reservable_percent_threshold(self) -> pulumi.Output[Optional[int]]:
1472
+ def sdrs_io_reservable_percent_threshold(self) -> pulumi.Output[Optional[_builtins.int]]:
1553
1473
  """
1554
- The threshold, in
1555
- percent, of actual estimated performance of the datastore (in IOPS) that
1556
- storage DRS uses to make recommendations to move VMs off of a datastore when
1557
- the total reservable IOPS exceeds the threshold. Default: `60` percent.
1474
+ The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
1558
1475
  """
1559
1476
  return pulumi.get(self, "sdrs_io_reservable_percent_threshold")
1560
1477
 
1561
- @property
1478
+ @_builtins.property
1562
1479
  @pulumi.getter(name="sdrsIoReservableThresholdMode")
1563
- def sdrs_io_reservable_threshold_mode(self) -> pulumi.Output[Optional[str]]:
1480
+ def sdrs_io_reservable_threshold_mode(self) -> pulumi.Output[Optional[_builtins.str]]:
1564
1481
  """
1565
- The reservable IOPS
1566
- threshold setting to use, `sdrs_io_reservable_percent_threshold` in the event
1567
- of `automatic`, or `sdrs_io_reservable_iops_threshold` in the event of
1568
- `manual`. Default: `automatic`.
1482
+ The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
1569
1483
  """
1570
1484
  return pulumi.get(self, "sdrs_io_reservable_threshold_mode")
1571
1485
 
1572
- @property
1486
+ @_builtins.property
1573
1487
  @pulumi.getter(name="sdrsLoadBalanceInterval")
1574
- def sdrs_load_balance_interval(self) -> pulumi.Output[Optional[int]]:
1488
+ def sdrs_load_balance_interval(self) -> pulumi.Output[Optional[_builtins.int]]:
1575
1489
  """
1576
- The storage DRS poll interval, in
1577
- minutes. Default: `480` minutes.
1490
+ The storage DRS poll interval, in minutes.
1578
1491
  """
1579
1492
  return pulumi.get(self, "sdrs_load_balance_interval")
1580
1493
 
1581
- @property
1494
+ @_builtins.property
1582
1495
  @pulumi.getter(name="sdrsPolicyEnforcementAutomationLevel")
1583
- def sdrs_policy_enforcement_automation_level(self) -> pulumi.Output[Optional[str]]:
1496
+ def sdrs_policy_enforcement_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
1584
1497
  """
1585
- Overrides the default
1586
- automation settings when correcting storage and VM policy violations.
1498
+ Overrides the default automation settings when correcting storage and VM policy violations.
1587
1499
  """
1588
1500
  return pulumi.get(self, "sdrs_policy_enforcement_automation_level")
1589
1501
 
1590
- @property
1502
+ @_builtins.property
1591
1503
  @pulumi.getter(name="sdrsRuleEnforcementAutomationLevel")
1592
- def sdrs_rule_enforcement_automation_level(self) -> pulumi.Output[Optional[str]]:
1504
+ def sdrs_rule_enforcement_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
1593
1505
  """
1594
- Overrides the default
1595
- automation settings when correcting affinity rule violations.
1506
+ Overrides the default automation settings when correcting affinity rule violations.
1596
1507
  """
1597
1508
  return pulumi.get(self, "sdrs_rule_enforcement_automation_level")
1598
1509
 
1599
- @property
1510
+ @_builtins.property
1600
1511
  @pulumi.getter(name="sdrsSpaceBalanceAutomationLevel")
1601
- def sdrs_space_balance_automation_level(self) -> pulumi.Output[Optional[str]]:
1512
+ def sdrs_space_balance_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
1602
1513
  """
1603
- Overrides the default
1604
- automation settings when correcting disk space imbalances.
1514
+ Overrides the default automation settings when correcting disk space imbalances.
1605
1515
  """
1606
1516
  return pulumi.get(self, "sdrs_space_balance_automation_level")
1607
1517
 
1608
- @property
1518
+ @_builtins.property
1609
1519
  @pulumi.getter(name="sdrsSpaceUtilizationThreshold")
1610
- def sdrs_space_utilization_threshold(self) -> pulumi.Output[Optional[int]]:
1520
+ def sdrs_space_utilization_threshold(self) -> pulumi.Output[Optional[_builtins.int]]:
1611
1521
  """
1612
- Runtime thresholds govern
1613
- when Storage DRS performs or recommends migrations
1614
- (based on the selected automation level). Default: `80` percent.
1522
+ The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
1615
1523
  """
1616
1524
  return pulumi.get(self, "sdrs_space_utilization_threshold")
1617
1525
 
1618
- @property
1526
+ @_builtins.property
1619
1527
  @pulumi.getter(name="sdrsVmEvacuationAutomationLevel")
1620
- def sdrs_vm_evacuation_automation_level(self) -> pulumi.Output[Optional[str]]:
1528
+ def sdrs_vm_evacuation_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
1621
1529
  """
1622
- Overrides the default
1623
- automation settings when generating recommendations for datastore evacuation.
1530
+ Overrides the default automation settings when generating recommendations for datastore evacuation.
1624
1531
  """
1625
1532
  return pulumi.get(self, "sdrs_vm_evacuation_automation_level")
1626
1533
 
1627
- @property
1534
+ @_builtins.property
1628
1535
  @pulumi.getter
1629
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1536
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1630
1537
  """
1631
1538
  The IDs of any tags to attach to this resource.
1632
-
1633
- > **NOTE:** Tagging support requires vCenter 6.0 or higher.
1634
1539
  """
1635
1540
  return pulumi.get(self, "tags")
1636
1541