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.
- pulumi_vsphere/__init__.py +51 -1
- pulumi_vsphere/_inputs.py +2568 -1025
- pulumi_vsphere/_utilities.py +50 -10
- pulumi_vsphere/compute_cluster.py +1564 -2373
- pulumi_vsphere/compute_cluster_host_group.py +191 -55
- pulumi_vsphere/compute_cluster_vm_affinity_rule.py +157 -113
- pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +133 -89
- pulumi_vsphere/compute_cluster_vm_dependency_rule.py +314 -106
- pulumi_vsphere/compute_cluster_vm_group.py +256 -55
- pulumi_vsphere/compute_cluster_vm_host_rule.py +323 -123
- pulumi_vsphere/config/__init__.py +2 -1
- pulumi_vsphere/config/__init__.pyi +7 -2
- pulumi_vsphere/config/vars.py +20 -15
- pulumi_vsphere/configuration_profile.py +286 -0
- pulumi_vsphere/content_library.py +177 -71
- pulumi_vsphere/content_library_item.py +252 -106
- pulumi_vsphere/custom_attribute.py +118 -38
- pulumi_vsphere/datacenter.py +128 -107
- pulumi_vsphere/datastore_cluster.py +636 -731
- pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +251 -89
- pulumi_vsphere/distributed_port_group.py +1129 -967
- pulumi_vsphere/distributed_virtual_switch.py +1971 -2239
- pulumi_vsphere/distributed_virtual_switch_pvlan_mapping.py +294 -0
- pulumi_vsphere/dpm_host_override.py +222 -72
- pulumi_vsphere/drs_vm_override.py +236 -72
- pulumi_vsphere/entity_permissions.py +96 -69
- pulumi_vsphere/file.py +173 -178
- pulumi_vsphere/folder.py +236 -113
- pulumi_vsphere/get_compute_cluster.py +34 -23
- pulumi_vsphere/get_compute_cluster_host_group.py +52 -41
- pulumi_vsphere/get_configuration_profile.py +145 -0
- pulumi_vsphere/get_content_library.py +33 -21
- pulumi_vsphere/get_content_library_item.py +47 -31
- pulumi_vsphere/get_custom_attribute.py +26 -17
- pulumi_vsphere/get_datacenter.py +40 -18
- pulumi_vsphere/get_datastore.py +60 -24
- pulumi_vsphere/get_datastore_cluster.py +47 -22
- pulumi_vsphere/get_datastore_stats.py +204 -0
- pulumi_vsphere/get_distributed_virtual_switch.py +36 -23
- pulumi_vsphere/get_dynamic.py +55 -45
- pulumi_vsphere/get_folder.py +163 -25
- pulumi_vsphere/get_guest_os_customization.py +68 -37
- pulumi_vsphere/get_host.py +34 -23
- pulumi_vsphere/get_host_base_images.py +104 -0
- pulumi_vsphere/get_host_pci_device.py +78 -35
- pulumi_vsphere/get_host_thumbprint.py +58 -38
- pulumi_vsphere/get_host_vgpu_profile.py +195 -0
- pulumi_vsphere/get_license.py +44 -28
- pulumi_vsphere/get_network.py +157 -46
- pulumi_vsphere/get_ovf_vm_template.py +184 -301
- pulumi_vsphere/get_policy.py +23 -15
- pulumi_vsphere/get_resource_pool.py +107 -40
- pulumi_vsphere/get_role.py +49 -35
- pulumi_vsphere/get_tag.py +34 -23
- pulumi_vsphere/get_tag_category.py +32 -21
- pulumi_vsphere/get_vapp_container.py +31 -21
- pulumi_vsphere/get_virtual_machine.py +499 -287
- pulumi_vsphere/get_vmfs_disks.py +42 -29
- pulumi_vsphere/guest_os_customization.py +135 -79
- pulumi_vsphere/ha_vm_override.py +470 -577
- pulumi_vsphere/host.py +515 -262
- pulumi_vsphere/host_port_group.py +352 -355
- pulumi_vsphere/host_virtual_switch.py +580 -580
- pulumi_vsphere/license.py +110 -92
- pulumi_vsphere/nas_datastore.py +398 -270
- pulumi_vsphere/offline_software_depot.py +190 -0
- pulumi_vsphere/outputs.py +1582 -1027
- pulumi_vsphere/provider.py +172 -152
- pulumi_vsphere/pulumi-plugin.json +2 -1
- pulumi_vsphere/resource_pool.py +357 -273
- pulumi_vsphere/role.py +79 -47
- pulumi_vsphere/storage_drs_vm_override.py +225 -89
- pulumi_vsphere/supervisor.py +1064 -0
- pulumi_vsphere/tag.py +217 -55
- pulumi_vsphere/tag_category.py +158 -72
- pulumi_vsphere/vapp_container.py +425 -259
- pulumi_vsphere/vapp_entity.py +324 -174
- pulumi_vsphere/virtual_disk.py +245 -153
- pulumi_vsphere/virtual_machine.py +1696 -1836
- pulumi_vsphere/virtual_machine_class.py +448 -0
- pulumi_vsphere/virtual_machine_snapshot.py +137 -131
- pulumi_vsphere/vm_storage_policy.py +160 -154
- pulumi_vsphere/vmfs_datastore.py +460 -186
- pulumi_vsphere/vnic.py +249 -231
- {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/METADATA +7 -6
- pulumi_vsphere-4.17.0a1763710194.dist-info/RECORD +89 -0
- {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/WHEEL +1 -1
- pulumi_vsphere-4.10.0a1709017641.dist-info/RECORD +0 -80
- {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
|
|
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
|
|
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:
|
|
65
|
-
|
|
66
|
-
:param pulumi.Input[
|
|
67
|
-
|
|
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
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
:param pulumi.Input[
|
|
77
|
-
|
|
78
|
-
:param pulumi.Input[int]
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
:param pulumi.Input[str]
|
|
82
|
-
|
|
83
|
-
:param pulumi.Input[
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
:param pulumi.Input[
|
|
87
|
-
|
|
88
|
-
:param pulumi.Input[
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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:
|
|
576
|
-
|
|
577
|
-
:param pulumi.Input[
|
|
578
|
-
|
|
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
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
:param pulumi.Input[
|
|
588
|
-
|
|
589
|
-
:param pulumi.Input[int]
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
:param pulumi.Input[str]
|
|
593
|
-
|
|
594
|
-
:param pulumi.Input[
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
:param pulumi.Input[
|
|
598
|
-
|
|
599
|
-
:param pulumi.Input[
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
1093
|
-
|
|
1094
|
-
:param pulumi.Input[
|
|
1095
|
-
|
|
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
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
:param pulumi.Input[
|
|
1105
|
-
|
|
1106
|
-
:param pulumi.Input[int]
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
:param pulumi.Input[str]
|
|
1110
|
-
|
|
1111
|
-
:param pulumi.Input[
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
:param pulumi.Input[
|
|
1115
|
-
|
|
1116
|
-
:param pulumi.Input[
|
|
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
|
-
|
|
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:
|
|
1297
|
-
|
|
1298
|
-
:param pulumi.Input[
|
|
1299
|
-
|
|
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
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
:param pulumi.Input[
|
|
1309
|
-
|
|
1310
|
-
:param pulumi.Input[int]
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
:param pulumi.Input[str]
|
|
1314
|
-
|
|
1315
|
-
:param pulumi.Input[
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
:param pulumi.Input[
|
|
1319
|
-
|
|
1320
|
-
:param pulumi.Input[
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|