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

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

Potentially problematic release.


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

Files changed (89) hide show
  1. pulumi_vsphere/__init__.py +51 -1
  2. pulumi_vsphere/_inputs.py +2568 -1025
  3. pulumi_vsphere/_utilities.py +50 -10
  4. pulumi_vsphere/compute_cluster.py +1564 -2373
  5. pulumi_vsphere/compute_cluster_host_group.py +191 -55
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +157 -113
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +133 -89
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +314 -106
  9. pulumi_vsphere/compute_cluster_vm_group.py +256 -55
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +323 -123
  11. pulumi_vsphere/config/__init__.py +2 -1
  12. pulumi_vsphere/config/__init__.pyi +7 -2
  13. pulumi_vsphere/config/vars.py +20 -15
  14. pulumi_vsphere/configuration_profile.py +286 -0
  15. pulumi_vsphere/content_library.py +177 -71
  16. pulumi_vsphere/content_library_item.py +252 -106
  17. pulumi_vsphere/custom_attribute.py +118 -38
  18. pulumi_vsphere/datacenter.py +128 -107
  19. pulumi_vsphere/datastore_cluster.py +636 -731
  20. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +251 -89
  21. pulumi_vsphere/distributed_port_group.py +1129 -967
  22. pulumi_vsphere/distributed_virtual_switch.py +1971 -2239
  23. pulumi_vsphere/distributed_virtual_switch_pvlan_mapping.py +294 -0
  24. pulumi_vsphere/dpm_host_override.py +222 -72
  25. pulumi_vsphere/drs_vm_override.py +236 -72
  26. pulumi_vsphere/entity_permissions.py +96 -69
  27. pulumi_vsphere/file.py +173 -178
  28. pulumi_vsphere/folder.py +236 -113
  29. pulumi_vsphere/get_compute_cluster.py +34 -23
  30. pulumi_vsphere/get_compute_cluster_host_group.py +52 -41
  31. pulumi_vsphere/get_configuration_profile.py +145 -0
  32. pulumi_vsphere/get_content_library.py +33 -21
  33. pulumi_vsphere/get_content_library_item.py +47 -31
  34. pulumi_vsphere/get_custom_attribute.py +26 -17
  35. pulumi_vsphere/get_datacenter.py +40 -18
  36. pulumi_vsphere/get_datastore.py +60 -24
  37. pulumi_vsphere/get_datastore_cluster.py +47 -22
  38. pulumi_vsphere/get_datastore_stats.py +204 -0
  39. pulumi_vsphere/get_distributed_virtual_switch.py +36 -23
  40. pulumi_vsphere/get_dynamic.py +55 -45
  41. pulumi_vsphere/get_folder.py +163 -25
  42. pulumi_vsphere/get_guest_os_customization.py +68 -37
  43. pulumi_vsphere/get_host.py +34 -23
  44. pulumi_vsphere/get_host_base_images.py +104 -0
  45. pulumi_vsphere/get_host_pci_device.py +78 -35
  46. pulumi_vsphere/get_host_thumbprint.py +58 -38
  47. pulumi_vsphere/get_host_vgpu_profile.py +195 -0
  48. pulumi_vsphere/get_license.py +44 -28
  49. pulumi_vsphere/get_network.py +157 -46
  50. pulumi_vsphere/get_ovf_vm_template.py +184 -301
  51. pulumi_vsphere/get_policy.py +23 -15
  52. pulumi_vsphere/get_resource_pool.py +107 -40
  53. pulumi_vsphere/get_role.py +49 -35
  54. pulumi_vsphere/get_tag.py +34 -23
  55. pulumi_vsphere/get_tag_category.py +32 -21
  56. pulumi_vsphere/get_vapp_container.py +31 -21
  57. pulumi_vsphere/get_virtual_machine.py +499 -287
  58. pulumi_vsphere/get_vmfs_disks.py +42 -29
  59. pulumi_vsphere/guest_os_customization.py +135 -79
  60. pulumi_vsphere/ha_vm_override.py +470 -577
  61. pulumi_vsphere/host.py +515 -262
  62. pulumi_vsphere/host_port_group.py +352 -355
  63. pulumi_vsphere/host_virtual_switch.py +580 -580
  64. pulumi_vsphere/license.py +110 -92
  65. pulumi_vsphere/nas_datastore.py +398 -270
  66. pulumi_vsphere/offline_software_depot.py +190 -0
  67. pulumi_vsphere/outputs.py +1582 -1027
  68. pulumi_vsphere/provider.py +172 -152
  69. pulumi_vsphere/pulumi-plugin.json +2 -1
  70. pulumi_vsphere/resource_pool.py +357 -273
  71. pulumi_vsphere/role.py +79 -47
  72. pulumi_vsphere/storage_drs_vm_override.py +225 -89
  73. pulumi_vsphere/supervisor.py +1064 -0
  74. pulumi_vsphere/tag.py +217 -55
  75. pulumi_vsphere/tag_category.py +158 -72
  76. pulumi_vsphere/vapp_container.py +425 -259
  77. pulumi_vsphere/vapp_entity.py +324 -174
  78. pulumi_vsphere/virtual_disk.py +245 -153
  79. pulumi_vsphere/virtual_machine.py +1696 -1836
  80. pulumi_vsphere/virtual_machine_class.py +448 -0
  81. pulumi_vsphere/virtual_machine_snapshot.py +137 -131
  82. pulumi_vsphere/vm_storage_policy.py +160 -154
  83. pulumi_vsphere/vmfs_datastore.py +460 -186
  84. pulumi_vsphere/vnic.py +249 -231
  85. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/METADATA +7 -6
  86. pulumi_vsphere-4.17.0a1763710194.dist-info/RECORD +89 -0
  87. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/WHEEL +1 -1
  88. pulumi_vsphere-4.10.0a1709017641.dist-info/RECORD +0 -80
  89. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['StorageDrsVmOverrideArgs', 'StorageDrsVmOverride']
@@ -14,26 +19,26 @@ __all__ = ['StorageDrsVmOverrideArgs', 'StorageDrsVmOverride']
14
19
  @pulumi.input_type
15
20
  class StorageDrsVmOverrideArgs:
16
21
  def __init__(__self__, *,
17
- datastore_cluster_id: pulumi.Input[str],
18
- virtual_machine_id: pulumi.Input[str],
19
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
20
- sdrs_enabled: Optional[pulumi.Input[str]] = None,
21
- sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None):
22
+ datastore_cluster_id: pulumi.Input[_builtins.str],
23
+ virtual_machine_id: pulumi.Input[_builtins.str],
24
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
25
+ sdrs_enabled: Optional[pulumi.Input[_builtins.str]] = None,
26
+ sdrs_intra_vm_affinity: Optional[pulumi.Input[_builtins.str]] = None):
22
27
  """
23
28
  The set of arguments for constructing a StorageDrsVmOverride resource.
24
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference
29
+ :param pulumi.Input[_builtins.str] datastore_cluster_id: The managed object reference
25
30
  ID of the datastore cluster to put the override in.
26
31
  Forces a new resource if changed.
27
- :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create
32
+ :param pulumi.Input[_builtins.str] virtual_machine_id: The UUID of the virtual machine to create
28
33
  the override for. Forces a new resource if changed.
29
- :param pulumi.Input[str] sdrs_automation_level: Overrides any Storage DRS automation
34
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: Overrides any Storage DRS automation
30
35
  levels for this virtual machine. Can be one of `automated` or `manual`. When
31
36
  not specified, the datastore cluster's settings are used according to the
32
37
  specific SDRS subsystem.
33
- :param pulumi.Input[str] sdrs_enabled: Overrides the default Storage DRS setting for
38
+ :param pulumi.Input[_builtins.str] sdrs_enabled: Overrides the default Storage DRS setting for
34
39
  this virtual machine. When not specified, the datastore cluster setting is
35
40
  used.
36
- :param pulumi.Input[str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
41
+ :param pulumi.Input[_builtins.str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
37
42
  for this virtual machine. When `true`, all disks for this virtual machine
38
43
  will be kept on the same datastore. When `false`, Storage DRS may locate
39
44
  individual disks on different datastores if it helps satisfy cluster
@@ -48,9 +53,9 @@ class StorageDrsVmOverrideArgs:
48
53
  if sdrs_intra_vm_affinity is not None:
49
54
  pulumi.set(__self__, "sdrs_intra_vm_affinity", sdrs_intra_vm_affinity)
50
55
 
51
- @property
56
+ @_builtins.property
52
57
  @pulumi.getter(name="datastoreClusterId")
53
- def datastore_cluster_id(self) -> pulumi.Input[str]:
58
+ def datastore_cluster_id(self) -> pulumi.Input[_builtins.str]:
54
59
  """
55
60
  The managed object reference
56
61
  ID of the datastore cluster to put the override in.
@@ -59,12 +64,12 @@ class StorageDrsVmOverrideArgs:
59
64
  return pulumi.get(self, "datastore_cluster_id")
60
65
 
61
66
  @datastore_cluster_id.setter
62
- def datastore_cluster_id(self, value: pulumi.Input[str]):
67
+ def datastore_cluster_id(self, value: pulumi.Input[_builtins.str]):
63
68
  pulumi.set(self, "datastore_cluster_id", value)
64
69
 
65
- @property
70
+ @_builtins.property
66
71
  @pulumi.getter(name="virtualMachineId")
67
- def virtual_machine_id(self) -> pulumi.Input[str]:
72
+ def virtual_machine_id(self) -> pulumi.Input[_builtins.str]:
68
73
  """
69
74
  The UUID of the virtual machine to create
70
75
  the override for. Forces a new resource if changed.
@@ -72,12 +77,12 @@ class StorageDrsVmOverrideArgs:
72
77
  return pulumi.get(self, "virtual_machine_id")
73
78
 
74
79
  @virtual_machine_id.setter
75
- def virtual_machine_id(self, value: pulumi.Input[str]):
80
+ def virtual_machine_id(self, value: pulumi.Input[_builtins.str]):
76
81
  pulumi.set(self, "virtual_machine_id", value)
77
82
 
78
- @property
83
+ @_builtins.property
79
84
  @pulumi.getter(name="sdrsAutomationLevel")
80
- def sdrs_automation_level(self) -> Optional[pulumi.Input[str]]:
85
+ def sdrs_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
81
86
  """
82
87
  Overrides any Storage DRS automation
83
88
  levels for this virtual machine. Can be one of `automated` or `manual`. When
@@ -87,12 +92,12 @@ class StorageDrsVmOverrideArgs:
87
92
  return pulumi.get(self, "sdrs_automation_level")
88
93
 
89
94
  @sdrs_automation_level.setter
90
- def sdrs_automation_level(self, value: Optional[pulumi.Input[str]]):
95
+ def sdrs_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
91
96
  pulumi.set(self, "sdrs_automation_level", value)
92
97
 
93
- @property
98
+ @_builtins.property
94
99
  @pulumi.getter(name="sdrsEnabled")
95
- def sdrs_enabled(self) -> Optional[pulumi.Input[str]]:
100
+ def sdrs_enabled(self) -> Optional[pulumi.Input[_builtins.str]]:
96
101
  """
97
102
  Overrides the default Storage DRS setting for
98
103
  this virtual machine. When not specified, the datastore cluster setting is
@@ -101,12 +106,12 @@ class StorageDrsVmOverrideArgs:
101
106
  return pulumi.get(self, "sdrs_enabled")
102
107
 
103
108
  @sdrs_enabled.setter
104
- def sdrs_enabled(self, value: Optional[pulumi.Input[str]]):
109
+ def sdrs_enabled(self, value: Optional[pulumi.Input[_builtins.str]]):
105
110
  pulumi.set(self, "sdrs_enabled", value)
106
111
 
107
- @property
112
+ @_builtins.property
108
113
  @pulumi.getter(name="sdrsIntraVmAffinity")
109
- def sdrs_intra_vm_affinity(self) -> Optional[pulumi.Input[str]]:
114
+ def sdrs_intra_vm_affinity(self) -> Optional[pulumi.Input[_builtins.str]]:
110
115
  """
111
116
  Overrides the intra-VM affinity setting
112
117
  for this virtual machine. When `true`, all disks for this virtual machine
@@ -117,36 +122,36 @@ class StorageDrsVmOverrideArgs:
117
122
  return pulumi.get(self, "sdrs_intra_vm_affinity")
118
123
 
119
124
  @sdrs_intra_vm_affinity.setter
120
- def sdrs_intra_vm_affinity(self, value: Optional[pulumi.Input[str]]):
125
+ def sdrs_intra_vm_affinity(self, value: Optional[pulumi.Input[_builtins.str]]):
121
126
  pulumi.set(self, "sdrs_intra_vm_affinity", value)
122
127
 
123
128
 
124
129
  @pulumi.input_type
125
130
  class _StorageDrsVmOverrideState:
126
131
  def __init__(__self__, *,
127
- datastore_cluster_id: Optional[pulumi.Input[str]] = None,
128
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
129
- sdrs_enabled: Optional[pulumi.Input[str]] = None,
130
- sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None,
131
- virtual_machine_id: Optional[pulumi.Input[str]] = None):
132
+ datastore_cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
133
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
134
+ sdrs_enabled: Optional[pulumi.Input[_builtins.str]] = None,
135
+ sdrs_intra_vm_affinity: Optional[pulumi.Input[_builtins.str]] = None,
136
+ virtual_machine_id: Optional[pulumi.Input[_builtins.str]] = None):
132
137
  """
133
138
  Input properties used for looking up and filtering StorageDrsVmOverride resources.
134
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference
139
+ :param pulumi.Input[_builtins.str] datastore_cluster_id: The managed object reference
135
140
  ID of the datastore cluster to put the override in.
136
141
  Forces a new resource if changed.
137
- :param pulumi.Input[str] sdrs_automation_level: Overrides any Storage DRS automation
142
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: Overrides any Storage DRS automation
138
143
  levels for this virtual machine. Can be one of `automated` or `manual`. When
139
144
  not specified, the datastore cluster's settings are used according to the
140
145
  specific SDRS subsystem.
141
- :param pulumi.Input[str] sdrs_enabled: Overrides the default Storage DRS setting for
146
+ :param pulumi.Input[_builtins.str] sdrs_enabled: Overrides the default Storage DRS setting for
142
147
  this virtual machine. When not specified, the datastore cluster setting is
143
148
  used.
144
- :param pulumi.Input[str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
149
+ :param pulumi.Input[_builtins.str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
145
150
  for this virtual machine. When `true`, all disks for this virtual machine
146
151
  will be kept on the same datastore. When `false`, Storage DRS may locate
147
152
  individual disks on different datastores if it helps satisfy cluster
148
153
  requirements. When not specified, the datastore cluster's settings are used.
149
- :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create
154
+ :param pulumi.Input[_builtins.str] virtual_machine_id: The UUID of the virtual machine to create
150
155
  the override for. Forces a new resource if changed.
151
156
  """
152
157
  if datastore_cluster_id is not None:
@@ -160,9 +165,9 @@ class _StorageDrsVmOverrideState:
160
165
  if virtual_machine_id is not None:
161
166
  pulumi.set(__self__, "virtual_machine_id", virtual_machine_id)
162
167
 
163
- @property
168
+ @_builtins.property
164
169
  @pulumi.getter(name="datastoreClusterId")
165
- def datastore_cluster_id(self) -> Optional[pulumi.Input[str]]:
170
+ def datastore_cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]:
166
171
  """
167
172
  The managed object reference
168
173
  ID of the datastore cluster to put the override in.
@@ -171,12 +176,12 @@ class _StorageDrsVmOverrideState:
171
176
  return pulumi.get(self, "datastore_cluster_id")
172
177
 
173
178
  @datastore_cluster_id.setter
174
- def datastore_cluster_id(self, value: Optional[pulumi.Input[str]]):
179
+ def datastore_cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]):
175
180
  pulumi.set(self, "datastore_cluster_id", value)
176
181
 
177
- @property
182
+ @_builtins.property
178
183
  @pulumi.getter(name="sdrsAutomationLevel")
179
- def sdrs_automation_level(self) -> Optional[pulumi.Input[str]]:
184
+ def sdrs_automation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
180
185
  """
181
186
  Overrides any Storage DRS automation
182
187
  levels for this virtual machine. Can be one of `automated` or `manual`. When
@@ -186,12 +191,12 @@ class _StorageDrsVmOverrideState:
186
191
  return pulumi.get(self, "sdrs_automation_level")
187
192
 
188
193
  @sdrs_automation_level.setter
189
- def sdrs_automation_level(self, value: Optional[pulumi.Input[str]]):
194
+ def sdrs_automation_level(self, value: Optional[pulumi.Input[_builtins.str]]):
190
195
  pulumi.set(self, "sdrs_automation_level", value)
191
196
 
192
- @property
197
+ @_builtins.property
193
198
  @pulumi.getter(name="sdrsEnabled")
194
- def sdrs_enabled(self) -> Optional[pulumi.Input[str]]:
199
+ def sdrs_enabled(self) -> Optional[pulumi.Input[_builtins.str]]:
195
200
  """
196
201
  Overrides the default Storage DRS setting for
197
202
  this virtual machine. When not specified, the datastore cluster setting is
@@ -200,12 +205,12 @@ class _StorageDrsVmOverrideState:
200
205
  return pulumi.get(self, "sdrs_enabled")
201
206
 
202
207
  @sdrs_enabled.setter
203
- def sdrs_enabled(self, value: Optional[pulumi.Input[str]]):
208
+ def sdrs_enabled(self, value: Optional[pulumi.Input[_builtins.str]]):
204
209
  pulumi.set(self, "sdrs_enabled", value)
205
210
 
206
- @property
211
+ @_builtins.property
207
212
  @pulumi.getter(name="sdrsIntraVmAffinity")
208
- def sdrs_intra_vm_affinity(self) -> Optional[pulumi.Input[str]]:
213
+ def sdrs_intra_vm_affinity(self) -> Optional[pulumi.Input[_builtins.str]]:
209
214
  """
210
215
  Overrides the intra-VM affinity setting
211
216
  for this virtual machine. When `true`, all disks for this virtual machine
@@ -216,12 +221,12 @@ class _StorageDrsVmOverrideState:
216
221
  return pulumi.get(self, "sdrs_intra_vm_affinity")
217
222
 
218
223
  @sdrs_intra_vm_affinity.setter
219
- def sdrs_intra_vm_affinity(self, value: Optional[pulumi.Input[str]]):
224
+ def sdrs_intra_vm_affinity(self, value: Optional[pulumi.Input[_builtins.str]]):
220
225
  pulumi.set(self, "sdrs_intra_vm_affinity", value)
221
226
 
222
- @property
227
+ @_builtins.property
223
228
  @pulumi.getter(name="virtualMachineId")
224
- def virtual_machine_id(self) -> Optional[pulumi.Input[str]]:
229
+ def virtual_machine_id(self) -> Optional[pulumi.Input[_builtins.str]]:
225
230
  """
226
231
  The UUID of the virtual machine to create
227
232
  the override for. Forces a new resource if changed.
@@ -229,41 +234,107 @@ class _StorageDrsVmOverrideState:
229
234
  return pulumi.get(self, "virtual_machine_id")
230
235
 
231
236
  @virtual_machine_id.setter
232
- def virtual_machine_id(self, value: Optional[pulumi.Input[str]]):
237
+ def virtual_machine_id(self, value: Optional[pulumi.Input[_builtins.str]]):
233
238
  pulumi.set(self, "virtual_machine_id", value)
234
239
 
235
240
 
241
+ @pulumi.type_token("vsphere:index/storageDrsVmOverride:StorageDrsVmOverride")
236
242
  class StorageDrsVmOverride(pulumi.CustomResource):
237
243
  @overload
238
244
  def __init__(__self__,
239
245
  resource_name: str,
240
246
  opts: Optional[pulumi.ResourceOptions] = None,
241
- datastore_cluster_id: Optional[pulumi.Input[str]] = None,
242
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
243
- sdrs_enabled: Optional[pulumi.Input[str]] = None,
244
- sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None,
245
- virtual_machine_id: Optional[pulumi.Input[str]] = None,
247
+ datastore_cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
248
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
249
+ sdrs_enabled: Optional[pulumi.Input[_builtins.str]] = None,
250
+ sdrs_intra_vm_affinity: Optional[pulumi.Input[_builtins.str]] = None,
251
+ virtual_machine_id: Optional[pulumi.Input[_builtins.str]] = None,
246
252
  __props__=None):
247
253
  """
248
- Create a StorageDrsVmOverride resource with the given unique name, props, and options.
254
+ The `StorageDrsVmOverride` resource can be used to add a Storage DRS
255
+ override to a datastore cluster for a specific virtual machine. With this
256
+ resource, one can enable or disable Storage DRS, and control the automation
257
+ level and disk affinity for a single virtual machine without affecting the rest
258
+ of the datastore cluster.
259
+
260
+ For more information on vSphere datastore clusters and Storage DRS, see [this
261
+ page][ref-vsphere-datastore-clusters].
262
+
263
+ [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
264
+
265
+ ## Example Usage
266
+
267
+ ```python
268
+ import pulumi
269
+ import pulumi_vsphere as vsphere
270
+
271
+ datacenter = vsphere.get_datacenter(name="dc-01")
272
+ datastore_cluster = vsphere.get_datastore_cluster(name="datastore-cluster1",
273
+ datacenter_id=datacenter.id)
274
+ member_datastore = vsphere.get_datastore(name="datastore-cluster1-member1",
275
+ datacenter_id=datacenter.id)
276
+ pool = vsphere.get_resource_pool(name="cluster1/Resources",
277
+ datacenter_id=datacenter.id)
278
+ network = vsphere.get_network(name="public",
279
+ datacenter_id=datacenter.id)
280
+ vm = vsphere.VirtualMachine("vm",
281
+ name="test",
282
+ resource_pool_id=pool.id,
283
+ datastore_id=member_datastore.id,
284
+ num_cpus=2,
285
+ memory=1024,
286
+ guest_id="otherLinux64Guest",
287
+ network_interfaces=[{
288
+ "network_id": network.id,
289
+ }],
290
+ disks=[{
291
+ "label": "disk0",
292
+ "size": 20,
293
+ }])
294
+ drs_vm_override = vsphere.StorageDrsVmOverride("drs_vm_override",
295
+ datastore_cluster_id=datastore_cluster.id,
296
+ virtual_machine_id=vm.id,
297
+ sdrs_enabled="false")
298
+ ```
299
+
300
+ ## Import
301
+
302
+ An existing override can be imported into this resource by
303
+
304
+ supplying both the path to the datastore cluster and the path to the virtual
305
+
306
+ machine to `pulumi import`. If no override exists, an error will be given.
307
+
308
+ An example is below:
309
+
310
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
311
+
312
+ ```sh
313
+ $ pulumi import vsphere:index/storageDrsVmOverride:StorageDrsVmOverride drs_vm_override \\
314
+ ```
315
+
316
+ '{"datastore_cluster_path": "/dc1/datastore/ds-cluster", \\
317
+
318
+ "virtual_machine_path": "/dc1/vm/srv1"}'
319
+
249
320
  :param str resource_name: The name of the resource.
250
321
  :param pulumi.ResourceOptions opts: Options for the resource.
251
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference
322
+ :param pulumi.Input[_builtins.str] datastore_cluster_id: The managed object reference
252
323
  ID of the datastore cluster to put the override in.
253
324
  Forces a new resource if changed.
254
- :param pulumi.Input[str] sdrs_automation_level: Overrides any Storage DRS automation
325
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: Overrides any Storage DRS automation
255
326
  levels for this virtual machine. Can be one of `automated` or `manual`. When
256
327
  not specified, the datastore cluster's settings are used according to the
257
328
  specific SDRS subsystem.
258
- :param pulumi.Input[str] sdrs_enabled: Overrides the default Storage DRS setting for
329
+ :param pulumi.Input[_builtins.str] sdrs_enabled: Overrides the default Storage DRS setting for
259
330
  this virtual machine. When not specified, the datastore cluster setting is
260
331
  used.
261
- :param pulumi.Input[str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
332
+ :param pulumi.Input[_builtins.str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
262
333
  for this virtual machine. When `true`, all disks for this virtual machine
263
334
  will be kept on the same datastore. When `false`, Storage DRS may locate
264
335
  individual disks on different datastores if it helps satisfy cluster
265
336
  requirements. When not specified, the datastore cluster's settings are used.
266
- :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create
337
+ :param pulumi.Input[_builtins.str] virtual_machine_id: The UUID of the virtual machine to create
267
338
  the override for. Forces a new resource if changed.
268
339
  """
269
340
  ...
@@ -273,7 +344,72 @@ class StorageDrsVmOverride(pulumi.CustomResource):
273
344
  args: StorageDrsVmOverrideArgs,
274
345
  opts: Optional[pulumi.ResourceOptions] = None):
275
346
  """
276
- Create a StorageDrsVmOverride resource with the given unique name, props, and options.
347
+ The `StorageDrsVmOverride` resource can be used to add a Storage DRS
348
+ override to a datastore cluster for a specific virtual machine. With this
349
+ resource, one can enable or disable Storage DRS, and control the automation
350
+ level and disk affinity for a single virtual machine without affecting the rest
351
+ of the datastore cluster.
352
+
353
+ For more information on vSphere datastore clusters and Storage DRS, see [this
354
+ page][ref-vsphere-datastore-clusters].
355
+
356
+ [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
357
+
358
+ ## Example Usage
359
+
360
+ ```python
361
+ import pulumi
362
+ import pulumi_vsphere as vsphere
363
+
364
+ datacenter = vsphere.get_datacenter(name="dc-01")
365
+ datastore_cluster = vsphere.get_datastore_cluster(name="datastore-cluster1",
366
+ datacenter_id=datacenter.id)
367
+ member_datastore = vsphere.get_datastore(name="datastore-cluster1-member1",
368
+ datacenter_id=datacenter.id)
369
+ pool = vsphere.get_resource_pool(name="cluster1/Resources",
370
+ datacenter_id=datacenter.id)
371
+ network = vsphere.get_network(name="public",
372
+ datacenter_id=datacenter.id)
373
+ vm = vsphere.VirtualMachine("vm",
374
+ name="test",
375
+ resource_pool_id=pool.id,
376
+ datastore_id=member_datastore.id,
377
+ num_cpus=2,
378
+ memory=1024,
379
+ guest_id="otherLinux64Guest",
380
+ network_interfaces=[{
381
+ "network_id": network.id,
382
+ }],
383
+ disks=[{
384
+ "label": "disk0",
385
+ "size": 20,
386
+ }])
387
+ drs_vm_override = vsphere.StorageDrsVmOverride("drs_vm_override",
388
+ datastore_cluster_id=datastore_cluster.id,
389
+ virtual_machine_id=vm.id,
390
+ sdrs_enabled="false")
391
+ ```
392
+
393
+ ## Import
394
+
395
+ An existing override can be imported into this resource by
396
+
397
+ supplying both the path to the datastore cluster and the path to the virtual
398
+
399
+ machine to `pulumi import`. If no override exists, an error will be given.
400
+
401
+ An example is below:
402
+
403
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
404
+
405
+ ```sh
406
+ $ pulumi import vsphere:index/storageDrsVmOverride:StorageDrsVmOverride drs_vm_override \\
407
+ ```
408
+
409
+ '{"datastore_cluster_path": "/dc1/datastore/ds-cluster", \\
410
+
411
+ "virtual_machine_path": "/dc1/vm/srv1"}'
412
+
277
413
  :param str resource_name: The name of the resource.
278
414
  :param StorageDrsVmOverrideArgs args: The arguments to use to populate this resource's properties.
279
415
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -289,11 +425,11 @@ class StorageDrsVmOverride(pulumi.CustomResource):
289
425
  def _internal_init(__self__,
290
426
  resource_name: str,
291
427
  opts: Optional[pulumi.ResourceOptions] = None,
292
- datastore_cluster_id: Optional[pulumi.Input[str]] = None,
293
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
294
- sdrs_enabled: Optional[pulumi.Input[str]] = None,
295
- sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None,
296
- virtual_machine_id: Optional[pulumi.Input[str]] = None,
428
+ datastore_cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
429
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
430
+ sdrs_enabled: Optional[pulumi.Input[_builtins.str]] = None,
431
+ sdrs_intra_vm_affinity: Optional[pulumi.Input[_builtins.str]] = None,
432
+ virtual_machine_id: Optional[pulumi.Input[_builtins.str]] = None,
297
433
  __props__=None):
298
434
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
299
435
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -322,11 +458,11 @@ class StorageDrsVmOverride(pulumi.CustomResource):
322
458
  def get(resource_name: str,
323
459
  id: pulumi.Input[str],
324
460
  opts: Optional[pulumi.ResourceOptions] = None,
325
- datastore_cluster_id: Optional[pulumi.Input[str]] = None,
326
- sdrs_automation_level: Optional[pulumi.Input[str]] = None,
327
- sdrs_enabled: Optional[pulumi.Input[str]] = None,
328
- sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None,
329
- virtual_machine_id: Optional[pulumi.Input[str]] = None) -> 'StorageDrsVmOverride':
461
+ datastore_cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
462
+ sdrs_automation_level: Optional[pulumi.Input[_builtins.str]] = None,
463
+ sdrs_enabled: Optional[pulumi.Input[_builtins.str]] = None,
464
+ sdrs_intra_vm_affinity: Optional[pulumi.Input[_builtins.str]] = None,
465
+ virtual_machine_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'StorageDrsVmOverride':
330
466
  """
331
467
  Get an existing StorageDrsVmOverride resource's state with the given name, id, and optional extra
332
468
  properties used to qualify the lookup.
@@ -334,22 +470,22 @@ class StorageDrsVmOverride(pulumi.CustomResource):
334
470
  :param str resource_name: The unique name of the resulting resource.
335
471
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
336
472
  :param pulumi.ResourceOptions opts: Options for the resource.
337
- :param pulumi.Input[str] datastore_cluster_id: The managed object reference
473
+ :param pulumi.Input[_builtins.str] datastore_cluster_id: The managed object reference
338
474
  ID of the datastore cluster to put the override in.
339
475
  Forces a new resource if changed.
340
- :param pulumi.Input[str] sdrs_automation_level: Overrides any Storage DRS automation
476
+ :param pulumi.Input[_builtins.str] sdrs_automation_level: Overrides any Storage DRS automation
341
477
  levels for this virtual machine. Can be one of `automated` or `manual`. When
342
478
  not specified, the datastore cluster's settings are used according to the
343
479
  specific SDRS subsystem.
344
- :param pulumi.Input[str] sdrs_enabled: Overrides the default Storage DRS setting for
480
+ :param pulumi.Input[_builtins.str] sdrs_enabled: Overrides the default Storage DRS setting for
345
481
  this virtual machine. When not specified, the datastore cluster setting is
346
482
  used.
347
- :param pulumi.Input[str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
483
+ :param pulumi.Input[_builtins.str] sdrs_intra_vm_affinity: Overrides the intra-VM affinity setting
348
484
  for this virtual machine. When `true`, all disks for this virtual machine
349
485
  will be kept on the same datastore. When `false`, Storage DRS may locate
350
486
  individual disks on different datastores if it helps satisfy cluster
351
487
  requirements. When not specified, the datastore cluster's settings are used.
352
- :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create
488
+ :param pulumi.Input[_builtins.str] virtual_machine_id: The UUID of the virtual machine to create
353
489
  the override for. Forces a new resource if changed.
354
490
  """
355
491
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -363,9 +499,9 @@ class StorageDrsVmOverride(pulumi.CustomResource):
363
499
  __props__.__dict__["virtual_machine_id"] = virtual_machine_id
364
500
  return StorageDrsVmOverride(resource_name, opts=opts, __props__=__props__)
365
501
 
366
- @property
502
+ @_builtins.property
367
503
  @pulumi.getter(name="datastoreClusterId")
368
- def datastore_cluster_id(self) -> pulumi.Output[str]:
504
+ def datastore_cluster_id(self) -> pulumi.Output[_builtins.str]:
369
505
  """
370
506
  The managed object reference
371
507
  ID of the datastore cluster to put the override in.
@@ -373,9 +509,9 @@ class StorageDrsVmOverride(pulumi.CustomResource):
373
509
  """
374
510
  return pulumi.get(self, "datastore_cluster_id")
375
511
 
376
- @property
512
+ @_builtins.property
377
513
  @pulumi.getter(name="sdrsAutomationLevel")
378
- def sdrs_automation_level(self) -> pulumi.Output[Optional[str]]:
514
+ def sdrs_automation_level(self) -> pulumi.Output[Optional[_builtins.str]]:
379
515
  """
380
516
  Overrides any Storage DRS automation
381
517
  levels for this virtual machine. Can be one of `automated` or `manual`. When
@@ -384,9 +520,9 @@ class StorageDrsVmOverride(pulumi.CustomResource):
384
520
  """
385
521
  return pulumi.get(self, "sdrs_automation_level")
386
522
 
387
- @property
523
+ @_builtins.property
388
524
  @pulumi.getter(name="sdrsEnabled")
389
- def sdrs_enabled(self) -> pulumi.Output[Optional[str]]:
525
+ def sdrs_enabled(self) -> pulumi.Output[Optional[_builtins.str]]:
390
526
  """
391
527
  Overrides the default Storage DRS setting for
392
528
  this virtual machine. When not specified, the datastore cluster setting is
@@ -394,9 +530,9 @@ class StorageDrsVmOverride(pulumi.CustomResource):
394
530
  """
395
531
  return pulumi.get(self, "sdrs_enabled")
396
532
 
397
- @property
533
+ @_builtins.property
398
534
  @pulumi.getter(name="sdrsIntraVmAffinity")
399
- def sdrs_intra_vm_affinity(self) -> pulumi.Output[Optional[str]]:
535
+ def sdrs_intra_vm_affinity(self) -> pulumi.Output[Optional[_builtins.str]]:
400
536
  """
401
537
  Overrides the intra-VM affinity setting
402
538
  for this virtual machine. When `true`, all disks for this virtual machine
@@ -406,9 +542,9 @@ class StorageDrsVmOverride(pulumi.CustomResource):
406
542
  """
407
543
  return pulumi.get(self, "sdrs_intra_vm_affinity")
408
544
 
409
- @property
545
+ @_builtins.property
410
546
  @pulumi.getter(name="virtualMachineId")
411
- def virtual_machine_id(self) -> pulumi.Output[str]:
547
+ def virtual_machine_id(self) -> pulumi.Output[_builtins.str]:
412
548
  """
413
549
  The UUID of the virtual machine to create
414
550
  the override for. Forces a new resource if changed.