pulumi-vsphere 4.11.0__py3-none-any.whl → 4.11.0a1710920591__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 (65) hide show
  1. pulumi_vsphere/__init__.py +0 -28
  2. pulumi_vsphere/_inputs.py +236 -646
  3. pulumi_vsphere/_utilities.py +4 -40
  4. pulumi_vsphere/compute_cluster.py +1486 -756
  5. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +34 -42
  6. pulumi_vsphere/content_library.py +10 -10
  7. pulumi_vsphere/datacenter.py +40 -33
  8. pulumi_vsphere/datastore_cluster.py +364 -154
  9. pulumi_vsphere/distributed_port_group.py +187 -131
  10. pulumi_vsphere/distributed_virtual_switch.py +828 -310
  11. pulumi_vsphere/entity_permissions.py +38 -59
  12. pulumi_vsphere/file.py +24 -16
  13. pulumi_vsphere/folder.py +28 -7
  14. pulumi_vsphere/get_compute_cluster.py +4 -0
  15. pulumi_vsphere/get_compute_cluster_host_group.py +20 -20
  16. pulumi_vsphere/get_content_library.py +10 -10
  17. pulumi_vsphere/get_content_library_item.py +8 -12
  18. pulumi_vsphere/get_custom_attribute.py +4 -0
  19. pulumi_vsphere/get_datacenter.py +4 -0
  20. pulumi_vsphere/get_datastore.py +16 -12
  21. pulumi_vsphere/get_datastore_cluster.py +4 -0
  22. pulumi_vsphere/get_datastore_stats.py +52 -46
  23. pulumi_vsphere/get_distributed_virtual_switch.py +4 -2
  24. pulumi_vsphere/get_dynamic.py +20 -18
  25. pulumi_vsphere/get_folder.py +6 -10
  26. pulumi_vsphere/get_guest_os_customization.py +47 -8
  27. pulumi_vsphere/get_host.py +4 -0
  28. pulumi_vsphere/get_host_pci_device.py +14 -8
  29. pulumi_vsphere/get_host_thumbprint.py +16 -12
  30. pulumi_vsphere/get_host_vgpu_profile.py +10 -4
  31. pulumi_vsphere/get_license.py +5 -2
  32. pulumi_vsphere/get_network.py +18 -14
  33. pulumi_vsphere/get_policy.py +4 -0
  34. pulumi_vsphere/get_resource_pool.py +18 -14
  35. pulumi_vsphere/get_role.py +8 -4
  36. pulumi_vsphere/get_tag.py +4 -0
  37. pulumi_vsphere/get_tag_category.py +4 -0
  38. pulumi_vsphere/get_vapp_container.py +4 -0
  39. pulumi_vsphere/get_virtual_machine.py +43 -60
  40. pulumi_vsphere/get_vmfs_disks.py +4 -0
  41. pulumi_vsphere/guest_os_customization.py +5 -55
  42. pulumi_vsphere/ha_vm_override.py +378 -189
  43. pulumi_vsphere/host.py +60 -49
  44. pulumi_vsphere/host_port_group.py +26 -14
  45. pulumi_vsphere/host_virtual_switch.py +287 -140
  46. pulumi_vsphere/license.py +32 -0
  47. pulumi_vsphere/nas_datastore.py +7 -7
  48. pulumi_vsphere/outputs.py +270 -672
  49. pulumi_vsphere/provider.py +6 -2
  50. pulumi_vsphere/pulumi-plugin.json +1 -2
  51. pulumi_vsphere/resource_pool.py +24 -50
  52. pulumi_vsphere/virtual_disk.py +34 -42
  53. pulumi_vsphere/virtual_machine.py +827 -598
  54. pulumi_vsphere/virtual_machine_snapshot.py +12 -8
  55. pulumi_vsphere/vm_storage_policy.py +127 -115
  56. pulumi_vsphere/vnic.py +105 -89
  57. {pulumi_vsphere-4.11.0.dist-info → pulumi_vsphere-4.11.0a1710920591.dist-info}/METADATA +1 -1
  58. pulumi_vsphere-4.11.0a1710920591.dist-info/RECORD +82 -0
  59. {pulumi_vsphere-4.11.0.dist-info → pulumi_vsphere-4.11.0a1710920591.dist-info}/WHEEL +1 -1
  60. pulumi_vsphere/get_host_base_images.py +0 -97
  61. pulumi_vsphere/offline_software_depot.py +0 -180
  62. pulumi_vsphere/supervisor.py +0 -962
  63. pulumi_vsphere/virtual_machine_class.py +0 -442
  64. pulumi_vsphere-4.11.0.dist-info/RECORD +0 -86
  65. {pulumi_vsphere-4.11.0.dist-info → pulumi_vsphere-4.11.0a1710920591.dist-info}/top_level.txt +0 -0
pulumi_vsphere/_inputs.py CHANGED
@@ -10,8 +10,6 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
 
12
12
  __all__ = [
13
- 'ComputeClusterHostImageArgs',
14
- 'ComputeClusterHostImageComponentArgs',
15
13
  'ComputeClusterVsanDiskGroupArgs',
16
14
  'ComputeClusterVsanFaultDomainArgs',
17
15
  'ComputeClusterVsanFaultDomainFaultDomainArgs',
@@ -28,15 +26,6 @@ __all__ = [
28
26
  'GuestOsCustomizationSpecNetworkInterfaceArgs',
29
27
  'GuestOsCustomizationSpecWindowsOptionsArgs',
30
28
  'HostPortGroupPortArgs',
31
- 'HostServiceArgs',
32
- 'HostServiceNtpdArgs',
33
- 'OfflineSoftwareDepotComponentArgs',
34
- 'SupervisorEgressCidrArgs',
35
- 'SupervisorIngressCidrArgs',
36
- 'SupervisorManagementNetworkArgs',
37
- 'SupervisorNamespaceArgs',
38
- 'SupervisorPodCidrArgs',
39
- 'SupervisorServiceCidrArgs',
40
29
  'VirtualMachineCdromArgs',
41
30
  'VirtualMachineCloneArgs',
42
31
  'VirtualMachineCloneCustomizationSpecArgs',
@@ -54,92 +43,14 @@ __all__ = [
54
43
  'GetVirtualMachineVappArgs',
55
44
  ]
56
45
 
57
- @pulumi.input_type
58
- class ComputeClusterHostImageArgs:
59
- def __init__(__self__, *,
60
- components: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]]] = None,
61
- esx_version: Optional[pulumi.Input[str]] = None):
62
- """
63
- :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]] components: List of custom components.
64
- :param pulumi.Input[str] esx_version: The ESXi version which the image is based on.
65
- """
66
- if components is not None:
67
- pulumi.set(__self__, "components", components)
68
- if esx_version is not None:
69
- pulumi.set(__self__, "esx_version", esx_version)
70
-
71
- @property
72
- @pulumi.getter
73
- def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]]]:
74
- """
75
- List of custom components.
76
- """
77
- return pulumi.get(self, "components")
78
-
79
- @components.setter
80
- def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]]]):
81
- pulumi.set(self, "components", value)
82
-
83
- @property
84
- @pulumi.getter(name="esxVersion")
85
- def esx_version(self) -> Optional[pulumi.Input[str]]:
86
- """
87
- The ESXi version which the image is based on.
88
- """
89
- return pulumi.get(self, "esx_version")
90
-
91
- @esx_version.setter
92
- def esx_version(self, value: Optional[pulumi.Input[str]]):
93
- pulumi.set(self, "esx_version", value)
94
-
95
-
96
- @pulumi.input_type
97
- class ComputeClusterHostImageComponentArgs:
98
- def __init__(__self__, *,
99
- key: Optional[pulumi.Input[str]] = None,
100
- version: Optional[pulumi.Input[str]] = None):
101
- """
102
- :param pulumi.Input[str] key: The identifier for the component.
103
- :param pulumi.Input[str] version: The version to use.
104
- """
105
- if key is not None:
106
- pulumi.set(__self__, "key", key)
107
- if version is not None:
108
- pulumi.set(__self__, "version", version)
109
-
110
- @property
111
- @pulumi.getter
112
- def key(self) -> Optional[pulumi.Input[str]]:
113
- """
114
- The identifier for the component.
115
- """
116
- return pulumi.get(self, "key")
117
-
118
- @key.setter
119
- def key(self, value: Optional[pulumi.Input[str]]):
120
- pulumi.set(self, "key", value)
121
-
122
- @property
123
- @pulumi.getter
124
- def version(self) -> Optional[pulumi.Input[str]]:
125
- """
126
- The version to use.
127
- """
128
- return pulumi.get(self, "version")
129
-
130
- @version.setter
131
- def version(self, value: Optional[pulumi.Input[str]]):
132
- pulumi.set(self, "version", value)
133
-
134
-
135
46
  @pulumi.input_type
136
47
  class ComputeClusterVsanDiskGroupArgs:
137
48
  def __init__(__self__, *,
138
49
  cache: Optional[pulumi.Input[str]] = None,
139
50
  storages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
140
51
  """
141
- :param pulumi.Input[str] cache: Cache disk.
142
- :param pulumi.Input[Sequence[pulumi.Input[str]]] storages: List of storage disks.
52
+ :param pulumi.Input[str] cache: The canonical name of the disk to use for vSAN cache.
53
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] storages: An array of disk canonical names for vSAN storage.
143
54
  """
144
55
  if cache is not None:
145
56
  pulumi.set(__self__, "cache", cache)
@@ -150,7 +61,7 @@ class ComputeClusterVsanDiskGroupArgs:
150
61
  @pulumi.getter
151
62
  def cache(self) -> Optional[pulumi.Input[str]]:
152
63
  """
153
- Cache disk.
64
+ The canonical name of the disk to use for vSAN cache.
154
65
  """
155
66
  return pulumi.get(self, "cache")
156
67
 
@@ -162,7 +73,7 @@ class ComputeClusterVsanDiskGroupArgs:
162
73
  @pulumi.getter
163
74
  def storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
164
75
  """
165
- List of storage disks.
76
+ An array of disk canonical names for vSAN storage.
166
77
  """
167
78
  return pulumi.get(self, "storages")
168
79
 
@@ -243,8 +154,56 @@ class ComputeClusterVsanStretchedClusterArgs:
243
154
  :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_fault_domain_host_ids: The managed object IDs of the hosts to put in the first fault domain.
244
155
  :param pulumi.Input[Sequence[pulumi.Input[str]]] secondary_fault_domain_host_ids: The managed object IDs of the hosts to put in the second fault domain.
245
156
  :param pulumi.Input[str] witness_node: The managed object IDs of the host selected as witness node when enable stretched cluster.
246
- :param pulumi.Input[str] preferred_fault_domain_name: The name of prepferred fault domain.
247
- :param pulumi.Input[str] secondary_fault_domain_name: The name of secondary fault domain.
157
+ :param pulumi.Input[str] preferred_fault_domain_name: The name of first fault domain. Default is `Preferred`.
158
+ :param pulumi.Input[str] secondary_fault_domain_name: The name of second fault domain. Default is `Secondary`.
159
+
160
+ > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
161
+ You can enable or re-enable vSphere HA after vSAN is configured.
162
+
163
+ <!--Start PulumiCodeChooser -->
164
+ ```python
165
+ import pulumi
166
+ import pulumi_vsphere as vsphere
167
+
168
+ compute_cluster = vsphere.ComputeCluster("computeCluster",
169
+ datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
170
+ host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
171
+ drs_enabled=True,
172
+ drs_automation_level="fullyAutomated",
173
+ ha_enabled=False,
174
+ vsan_enabled=True,
175
+ vsan_esa_enabled=True,
176
+ vsan_dedup_enabled=True,
177
+ vsan_compression_enabled=True,
178
+ vsan_performance_enabled=True,
179
+ vsan_verbose_mode_enabled=True,
180
+ vsan_network_diagnostic_mode_enabled=True,
181
+ vsan_unmap_enabled=True,
182
+ vsan_dit_encryption_enabled=True,
183
+ vsan_dit_rekey_interval=1800,
184
+ vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
185
+ cache=data["vsphere_vmfs_disks"]["cache_disks"],
186
+ storages=data["vsphere_vmfs_disks"]["storage_disks"],
187
+ )],
188
+ vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
189
+ fault_domains=[
190
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
191
+ name="fd1",
192
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
193
+ ),
194
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
195
+ name="fd2",
196
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
197
+ ),
198
+ ],
199
+ )],
200
+ vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
201
+ preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
202
+ secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
203
+ witness_node=data["vsphere_host"]["witness_host"]["id"],
204
+ ))
205
+ ```
206
+ <!--End PulumiCodeChooser -->
248
207
  """
249
208
  pulumi.set(__self__, "preferred_fault_domain_host_ids", preferred_fault_domain_host_ids)
250
209
  pulumi.set(__self__, "secondary_fault_domain_host_ids", secondary_fault_domain_host_ids)
@@ -294,7 +253,7 @@ class ComputeClusterVsanStretchedClusterArgs:
294
253
  @pulumi.getter(name="preferredFaultDomainName")
295
254
  def preferred_fault_domain_name(self) -> Optional[pulumi.Input[str]]:
296
255
  """
297
- The name of prepferred fault domain.
256
+ The name of first fault domain. Default is `Preferred`.
298
257
  """
299
258
  return pulumi.get(self, "preferred_fault_domain_name")
300
259
 
@@ -306,7 +265,55 @@ class ComputeClusterVsanStretchedClusterArgs:
306
265
  @pulumi.getter(name="secondaryFaultDomainName")
307
266
  def secondary_fault_domain_name(self) -> Optional[pulumi.Input[str]]:
308
267
  """
309
- The name of secondary fault domain.
268
+ The name of second fault domain. Default is `Secondary`.
269
+
270
+ > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
271
+ You can enable or re-enable vSphere HA after vSAN is configured.
272
+
273
+ <!--Start PulumiCodeChooser -->
274
+ ```python
275
+ import pulumi
276
+ import pulumi_vsphere as vsphere
277
+
278
+ compute_cluster = vsphere.ComputeCluster("computeCluster",
279
+ datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
280
+ host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
281
+ drs_enabled=True,
282
+ drs_automation_level="fullyAutomated",
283
+ ha_enabled=False,
284
+ vsan_enabled=True,
285
+ vsan_esa_enabled=True,
286
+ vsan_dedup_enabled=True,
287
+ vsan_compression_enabled=True,
288
+ vsan_performance_enabled=True,
289
+ vsan_verbose_mode_enabled=True,
290
+ vsan_network_diagnostic_mode_enabled=True,
291
+ vsan_unmap_enabled=True,
292
+ vsan_dit_encryption_enabled=True,
293
+ vsan_dit_rekey_interval=1800,
294
+ vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
295
+ cache=data["vsphere_vmfs_disks"]["cache_disks"],
296
+ storages=data["vsphere_vmfs_disks"]["storage_disks"],
297
+ )],
298
+ vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
299
+ fault_domains=[
300
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
301
+ name="fd1",
302
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
303
+ ),
304
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
305
+ name="fd2",
306
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
307
+ ),
308
+ ],
309
+ )],
310
+ vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
311
+ preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
312
+ secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
313
+ witness_node=data["vsphere_host"]["witness_host"]["id"],
314
+ ))
315
+ ```
316
+ <!--End PulumiCodeChooser -->
310
317
  """
311
318
  return pulumi.get(self, "secondary_fault_domain_name")
312
319
 
@@ -324,11 +331,11 @@ class ContentLibraryPublicationArgs:
324
331
  published: Optional[pulumi.Input[bool]] = None,
325
332
  username: Optional[pulumi.Input[str]] = None):
326
333
  """
327
- :param pulumi.Input[str] authentication_method: Method to authenticate users. Must be `NONE` or `BASIC`.
328
- :param pulumi.Input[str] password: Password used by subscribers to authenticate.
334
+ :param pulumi.Input[str] authentication_method: Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
335
+ :param pulumi.Input[str] password: Password used for authentication.
329
336
  :param pulumi.Input[str] publish_url: The URL of the published content library.
330
337
  :param pulumi.Input[bool] published: Publish the content library. Default `false`.
331
- :param pulumi.Input[str] username: Username used by subscribers to authenticate. Currently can only be `vcsp`.
338
+ :param pulumi.Input[str] username: Username used for authentication.
332
339
  """
333
340
  if authentication_method is not None:
334
341
  pulumi.set(__self__, "authentication_method", authentication_method)
@@ -345,7 +352,7 @@ class ContentLibraryPublicationArgs:
345
352
  @pulumi.getter(name="authenticationMethod")
346
353
  def authentication_method(self) -> Optional[pulumi.Input[str]]:
347
354
  """
348
- Method to authenticate users. Must be `NONE` or `BASIC`.
355
+ Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
349
356
  """
350
357
  return pulumi.get(self, "authentication_method")
351
358
 
@@ -357,7 +364,7 @@ class ContentLibraryPublicationArgs:
357
364
  @pulumi.getter
358
365
  def password(self) -> Optional[pulumi.Input[str]]:
359
366
  """
360
- Password used by subscribers to authenticate.
367
+ Password used for authentication.
361
368
  """
362
369
  return pulumi.get(self, "password")
363
370
 
@@ -393,7 +400,7 @@ class ContentLibraryPublicationArgs:
393
400
  @pulumi.getter
394
401
  def username(self) -> Optional[pulumi.Input[str]]:
395
402
  """
396
- Username used by subscribers to authenticate. Currently can only be `vcsp`.
403
+ Username used for authentication.
397
404
  """
398
405
  return pulumi.get(self, "username")
399
406
 
@@ -548,8 +555,10 @@ class DistributedVirtualSwitchHostArgs:
548
555
  host_system_id: pulumi.Input[str],
549
556
  devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
550
557
  """
551
- :param pulumi.Input[str] host_system_id: The managed object ID of the host this specification applies to.
552
- :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: Name of the physical NIC to be added to the proxy switch.
558
+ :param pulumi.Input[str] host_system_id: The host system ID of the host to add to the
559
+ VDS.
560
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The list of NIC devices to map to uplinks on the VDS,
561
+ added in order they are specified.
553
562
  """
554
563
  pulumi.set(__self__, "host_system_id", host_system_id)
555
564
  if devices is not None:
@@ -559,7 +568,8 @@ class DistributedVirtualSwitchHostArgs:
559
568
  @pulumi.getter(name="hostSystemId")
560
569
  def host_system_id(self) -> pulumi.Input[str]:
561
570
  """
562
- The managed object ID of the host this specification applies to.
571
+ The host system ID of the host to add to the
572
+ VDS.
563
573
  """
564
574
  return pulumi.get(self, "host_system_id")
565
575
 
@@ -571,7 +581,8 @@ class DistributedVirtualSwitchHostArgs:
571
581
  @pulumi.getter
572
582
  def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
573
583
  """
574
- Name of the physical NIC to be added to the proxy switch.
584
+ The list of NIC devices to map to uplinks on the VDS,
585
+ added in order they are specified.
575
586
  """
576
587
  return pulumi.get(self, "devices")
577
588
 
@@ -587,9 +598,12 @@ class DistributedVirtualSwitchPvlanMappingArgs:
587
598
  pvlan_type: pulumi.Input[str],
588
599
  secondary_vlan_id: pulumi.Input[int]):
589
600
  """
590
- :param pulumi.Input[int] primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
591
- :param pulumi.Input[str] pvlan_type: The private VLAN type. Valid values are promiscuous, community and isolated.
592
- :param pulumi.Input[int] secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
601
+ :param pulumi.Input[int] primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and
602
+ 4095 are reserved and cannot be used in this property.
603
+ :param pulumi.Input[str] pvlan_type: The private VLAN type. Valid values are
604
+ promiscuous, community and isolated.
605
+ :param pulumi.Input[int] secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0
606
+ and 4095 are reserved and cannot be used in this property.
593
607
  """
594
608
  pulumi.set(__self__, "primary_vlan_id", primary_vlan_id)
595
609
  pulumi.set(__self__, "pvlan_type", pvlan_type)
@@ -599,7 +613,8 @@ class DistributedVirtualSwitchPvlanMappingArgs:
599
613
  @pulumi.getter(name="primaryVlanId")
600
614
  def primary_vlan_id(self) -> pulumi.Input[int]:
601
615
  """
602
- The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
616
+ The primary VLAN ID. The VLAN IDs of 0 and
617
+ 4095 are reserved and cannot be used in this property.
603
618
  """
604
619
  return pulumi.get(self, "primary_vlan_id")
605
620
 
@@ -611,7 +626,8 @@ class DistributedVirtualSwitchPvlanMappingArgs:
611
626
  @pulumi.getter(name="pvlanType")
612
627
  def pvlan_type(self) -> pulumi.Input[str]:
613
628
  """
614
- The private VLAN type. Valid values are promiscuous, community and isolated.
629
+ The private VLAN type. Valid values are
630
+ promiscuous, community and isolated.
615
631
  """
616
632
  return pulumi.get(self, "pvlan_type")
617
633
 
@@ -623,7 +639,8 @@ class DistributedVirtualSwitchPvlanMappingArgs:
623
639
  @pulumi.getter(name="secondaryVlanId")
624
640
  def secondary_vlan_id(self) -> pulumi.Input[int]:
625
641
  """
626
- The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
642
+ The secondary VLAN ID. The VLAN IDs of 0
643
+ and 4095 are reserved and cannot be used in this property.
627
644
  """
628
645
  return pulumi.get(self, "secondary_vlan_id")
629
646
 
@@ -677,12 +694,9 @@ class EntityPermissionsPermissionArgs:
677
694
  role_id: pulumi.Input[str],
678
695
  user_or_group: pulumi.Input[str]):
679
696
  """
680
- :param pulumi.Input[bool] is_group: Whether `user_or_group` field refers to a user or a
681
- group. True for a group and false for a user.
682
- :param pulumi.Input[bool] propagate: Whether or not this permission propagates down the
683
- hierarchy to sub-entities.
684
- :param pulumi.Input[str] role_id: The role id of the role to be given to the user on
685
- the specified entity.
697
+ :param pulumi.Input[bool] is_group: Whether user_or_group field refers to a user or a group. True for a group and false for a user.
698
+ :param pulumi.Input[bool] propagate: Whether or not this permission propagates down the hierarchy to sub-entities.
699
+ :param pulumi.Input[str] role_id: The role id of the role to be given to the user on the specified entity.
686
700
  :param pulumi.Input[str] user_or_group: The user/group getting the permission.
687
701
  """
688
702
  pulumi.set(__self__, "is_group", is_group)
@@ -694,8 +708,7 @@ class EntityPermissionsPermissionArgs:
694
708
  @pulumi.getter(name="isGroup")
695
709
  def is_group(self) -> pulumi.Input[bool]:
696
710
  """
697
- Whether `user_or_group` field refers to a user or a
698
- group. True for a group and false for a user.
711
+ Whether user_or_group field refers to a user or a group. True for a group and false for a user.
699
712
  """
700
713
  return pulumi.get(self, "is_group")
701
714
 
@@ -707,8 +720,7 @@ class EntityPermissionsPermissionArgs:
707
720
  @pulumi.getter
708
721
  def propagate(self) -> pulumi.Input[bool]:
709
722
  """
710
- Whether or not this permission propagates down the
711
- hierarchy to sub-entities.
723
+ Whether or not this permission propagates down the hierarchy to sub-entities.
712
724
  """
713
725
  return pulumi.get(self, "propagate")
714
726
 
@@ -720,8 +732,7 @@ class EntityPermissionsPermissionArgs:
720
732
  @pulumi.getter(name="roleId")
721
733
  def role_id(self) -> pulumi.Input[str]:
722
734
  """
723
- The role id of the role to be given to the user on
724
- the specified entity.
735
+ The role id of the role to be given to the user on the specified entity.
725
736
  """
726
737
  return pulumi.get(self, "role_id")
727
738
 
@@ -1074,7 +1085,6 @@ class GuestOsCustomizationSpecWindowsOptionsArgs:
1074
1085
  auto_logon_count: Optional[pulumi.Input[int]] = None,
1075
1086
  domain_admin_password: Optional[pulumi.Input[str]] = None,
1076
1087
  domain_admin_user: Optional[pulumi.Input[str]] = None,
1077
- domain_ou: Optional[pulumi.Input[str]] = None,
1078
1088
  full_name: Optional[pulumi.Input[str]] = None,
1079
1089
  join_domain: Optional[pulumi.Input[str]] = None,
1080
1090
  organization_name: Optional[pulumi.Input[str]] = None,
@@ -1089,7 +1099,6 @@ class GuestOsCustomizationSpecWindowsOptionsArgs:
1089
1099
  :param pulumi.Input[int] auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1090
1100
  :param pulumi.Input[str] domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
1091
1101
  :param pulumi.Input[str] domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
1092
- :param pulumi.Input[str] domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1093
1102
  :param pulumi.Input[str] full_name: The full name of the user of this virtual machine.
1094
1103
  :param pulumi.Input[str] join_domain: The domain that the virtual machine should join.
1095
1104
  :param pulumi.Input[str] organization_name: The organization name this virtual machine is being installed for.
@@ -1109,8 +1118,6 @@ class GuestOsCustomizationSpecWindowsOptionsArgs:
1109
1118
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
1110
1119
  if domain_admin_user is not None:
1111
1120
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
1112
- if domain_ou is not None:
1113
- pulumi.set(__self__, "domain_ou", domain_ou)
1114
1121
  if full_name is not None:
1115
1122
  pulumi.set(__self__, "full_name", full_name)
1116
1123
  if join_domain is not None:
@@ -1198,18 +1205,6 @@ class GuestOsCustomizationSpecWindowsOptionsArgs:
1198
1205
  def domain_admin_user(self, value: Optional[pulumi.Input[str]]):
1199
1206
  pulumi.set(self, "domain_admin_user", value)
1200
1207
 
1201
- @property
1202
- @pulumi.getter(name="domainOu")
1203
- def domain_ou(self) -> Optional[pulumi.Input[str]]:
1204
- """
1205
- The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1206
- """
1207
- return pulumi.get(self, "domain_ou")
1208
-
1209
- @domain_ou.setter
1210
- def domain_ou(self, value: Optional[pulumi.Input[str]]):
1211
- pulumi.set(self, "domain_ou", value)
1212
-
1213
1208
  @property
1214
1209
  @pulumi.getter(name="fullName")
1215
1210
  def full_name(self) -> Optional[pulumi.Input[str]]:
@@ -1350,423 +1345,6 @@ class HostPortGroupPortArgs:
1350
1345
  pulumi.set(self, "type", value)
1351
1346
 
1352
1347
 
1353
- @pulumi.input_type
1354
- class HostServiceArgs:
1355
- def __init__(__self__, *,
1356
- ntpd: Optional[pulumi.Input['HostServiceNtpdArgs']] = None):
1357
- """
1358
- :param pulumi.Input['HostServiceNtpdArgs'] ntpd: service has three settings, `enabled` sets service to running or not running, `policy` sets service based on setting of `on` which sets service to "Start and stop with host", `off` which sets service to "Start and stop manually", `automatic` which sets service to "Start and stop with port usage".
1359
-
1360
- > **NOTE:** `services` only supports ntpd service today.
1361
- """
1362
- if ntpd is not None:
1363
- pulumi.set(__self__, "ntpd", ntpd)
1364
-
1365
- @property
1366
- @pulumi.getter
1367
- def ntpd(self) -> Optional[pulumi.Input['HostServiceNtpdArgs']]:
1368
- """
1369
- service has three settings, `enabled` sets service to running or not running, `policy` sets service based on setting of `on` which sets service to "Start and stop with host", `off` which sets service to "Start and stop manually", `automatic` which sets service to "Start and stop with port usage".
1370
-
1371
- > **NOTE:** `services` only supports ntpd service today.
1372
- """
1373
- return pulumi.get(self, "ntpd")
1374
-
1375
- @ntpd.setter
1376
- def ntpd(self, value: Optional[pulumi.Input['HostServiceNtpdArgs']]):
1377
- pulumi.set(self, "ntpd", value)
1378
-
1379
-
1380
- @pulumi.input_type
1381
- class HostServiceNtpdArgs:
1382
- def __init__(__self__, *,
1383
- enabled: Optional[pulumi.Input[bool]] = None,
1384
- ntp_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1385
- policy: Optional[pulumi.Input[str]] = None):
1386
- """
1387
- :param pulumi.Input[bool] enabled: Whether the NTP service is enabled. Default is false.
1388
- :param pulumi.Input[str] policy: The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1389
- """
1390
- if enabled is not None:
1391
- pulumi.set(__self__, "enabled", enabled)
1392
- if ntp_servers is not None:
1393
- pulumi.set(__self__, "ntp_servers", ntp_servers)
1394
- if policy is not None:
1395
- pulumi.set(__self__, "policy", policy)
1396
-
1397
- @property
1398
- @pulumi.getter
1399
- def enabled(self) -> Optional[pulumi.Input[bool]]:
1400
- """
1401
- Whether the NTP service is enabled. Default is false.
1402
- """
1403
- return pulumi.get(self, "enabled")
1404
-
1405
- @enabled.setter
1406
- def enabled(self, value: Optional[pulumi.Input[bool]]):
1407
- pulumi.set(self, "enabled", value)
1408
-
1409
- @property
1410
- @pulumi.getter(name="ntpServers")
1411
- def ntp_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1412
- return pulumi.get(self, "ntp_servers")
1413
-
1414
- @ntp_servers.setter
1415
- def ntp_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1416
- pulumi.set(self, "ntp_servers", value)
1417
-
1418
- @property
1419
- @pulumi.getter
1420
- def policy(self) -> Optional[pulumi.Input[str]]:
1421
- """
1422
- The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1423
- """
1424
- return pulumi.get(self, "policy")
1425
-
1426
- @policy.setter
1427
- def policy(self, value: Optional[pulumi.Input[str]]):
1428
- pulumi.set(self, "policy", value)
1429
-
1430
-
1431
- @pulumi.input_type
1432
- class OfflineSoftwareDepotComponentArgs:
1433
- def __init__(__self__, *,
1434
- display_name: Optional[pulumi.Input[str]] = None,
1435
- key: Optional[pulumi.Input[str]] = None,
1436
- versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1437
- """
1438
- :param pulumi.Input[str] display_name: The name of the component. Useful for easier identification.
1439
- :param pulumi.Input[str] key: The identifier of the component.
1440
- :param pulumi.Input[Sequence[pulumi.Input[str]]] versions: The list of available versions of the component.
1441
- """
1442
- if display_name is not None:
1443
- pulumi.set(__self__, "display_name", display_name)
1444
- if key is not None:
1445
- pulumi.set(__self__, "key", key)
1446
- if versions is not None:
1447
- pulumi.set(__self__, "versions", versions)
1448
-
1449
- @property
1450
- @pulumi.getter(name="displayName")
1451
- def display_name(self) -> Optional[pulumi.Input[str]]:
1452
- """
1453
- The name of the component. Useful for easier identification.
1454
- """
1455
- return pulumi.get(self, "display_name")
1456
-
1457
- @display_name.setter
1458
- def display_name(self, value: Optional[pulumi.Input[str]]):
1459
- pulumi.set(self, "display_name", value)
1460
-
1461
- @property
1462
- @pulumi.getter
1463
- def key(self) -> Optional[pulumi.Input[str]]:
1464
- """
1465
- The identifier of the component.
1466
- """
1467
- return pulumi.get(self, "key")
1468
-
1469
- @key.setter
1470
- def key(self, value: Optional[pulumi.Input[str]]):
1471
- pulumi.set(self, "key", value)
1472
-
1473
- @property
1474
- @pulumi.getter
1475
- def versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1476
- """
1477
- The list of available versions of the component.
1478
- """
1479
- return pulumi.get(self, "versions")
1480
-
1481
- @versions.setter
1482
- def versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1483
- pulumi.set(self, "versions", value)
1484
-
1485
-
1486
- @pulumi.input_type
1487
- class SupervisorEgressCidrArgs:
1488
- def __init__(__self__, *,
1489
- address: pulumi.Input[str],
1490
- prefix: pulumi.Input[int]):
1491
- """
1492
- :param pulumi.Input[str] address: Network address.
1493
- :param pulumi.Input[int] prefix: Subnet prefix.
1494
- """
1495
- pulumi.set(__self__, "address", address)
1496
- pulumi.set(__self__, "prefix", prefix)
1497
-
1498
- @property
1499
- @pulumi.getter
1500
- def address(self) -> pulumi.Input[str]:
1501
- """
1502
- Network address.
1503
- """
1504
- return pulumi.get(self, "address")
1505
-
1506
- @address.setter
1507
- def address(self, value: pulumi.Input[str]):
1508
- pulumi.set(self, "address", value)
1509
-
1510
- @property
1511
- @pulumi.getter
1512
- def prefix(self) -> pulumi.Input[int]:
1513
- """
1514
- Subnet prefix.
1515
- """
1516
- return pulumi.get(self, "prefix")
1517
-
1518
- @prefix.setter
1519
- def prefix(self, value: pulumi.Input[int]):
1520
- pulumi.set(self, "prefix", value)
1521
-
1522
-
1523
- @pulumi.input_type
1524
- class SupervisorIngressCidrArgs:
1525
- def __init__(__self__, *,
1526
- address: pulumi.Input[str],
1527
- prefix: pulumi.Input[int]):
1528
- """
1529
- :param pulumi.Input[str] address: Network address.
1530
- :param pulumi.Input[int] prefix: Subnet prefix.
1531
- """
1532
- pulumi.set(__self__, "address", address)
1533
- pulumi.set(__self__, "prefix", prefix)
1534
-
1535
- @property
1536
- @pulumi.getter
1537
- def address(self) -> pulumi.Input[str]:
1538
- """
1539
- Network address.
1540
- """
1541
- return pulumi.get(self, "address")
1542
-
1543
- @address.setter
1544
- def address(self, value: pulumi.Input[str]):
1545
- pulumi.set(self, "address", value)
1546
-
1547
- @property
1548
- @pulumi.getter
1549
- def prefix(self) -> pulumi.Input[int]:
1550
- """
1551
- Subnet prefix.
1552
- """
1553
- return pulumi.get(self, "prefix")
1554
-
1555
- @prefix.setter
1556
- def prefix(self, value: pulumi.Input[int]):
1557
- pulumi.set(self, "prefix", value)
1558
-
1559
-
1560
- @pulumi.input_type
1561
- class SupervisorManagementNetworkArgs:
1562
- def __init__(__self__, *,
1563
- address_count: pulumi.Input[int],
1564
- gateway: pulumi.Input[str],
1565
- network: pulumi.Input[str],
1566
- starting_address: pulumi.Input[str],
1567
- subnet_mask: pulumi.Input[str]):
1568
- """
1569
- :param pulumi.Input[int] address_count: Number of addresses to allocate. Starts from 'starting_address'
1570
- :param pulumi.Input[str] gateway: Gateway IP address.
1571
- :param pulumi.Input[str] network: ID of the network. (e.g. a distributed port group).
1572
- :param pulumi.Input[str] starting_address: Starting address of the management network range.
1573
- :param pulumi.Input[str] subnet_mask: Subnet mask.
1574
- """
1575
- pulumi.set(__self__, "address_count", address_count)
1576
- pulumi.set(__self__, "gateway", gateway)
1577
- pulumi.set(__self__, "network", network)
1578
- pulumi.set(__self__, "starting_address", starting_address)
1579
- pulumi.set(__self__, "subnet_mask", subnet_mask)
1580
-
1581
- @property
1582
- @pulumi.getter(name="addressCount")
1583
- def address_count(self) -> pulumi.Input[int]:
1584
- """
1585
- Number of addresses to allocate. Starts from 'starting_address'
1586
- """
1587
- return pulumi.get(self, "address_count")
1588
-
1589
- @address_count.setter
1590
- def address_count(self, value: pulumi.Input[int]):
1591
- pulumi.set(self, "address_count", value)
1592
-
1593
- @property
1594
- @pulumi.getter
1595
- def gateway(self) -> pulumi.Input[str]:
1596
- """
1597
- Gateway IP address.
1598
- """
1599
- return pulumi.get(self, "gateway")
1600
-
1601
- @gateway.setter
1602
- def gateway(self, value: pulumi.Input[str]):
1603
- pulumi.set(self, "gateway", value)
1604
-
1605
- @property
1606
- @pulumi.getter
1607
- def network(self) -> pulumi.Input[str]:
1608
- """
1609
- ID of the network. (e.g. a distributed port group).
1610
- """
1611
- return pulumi.get(self, "network")
1612
-
1613
- @network.setter
1614
- def network(self, value: pulumi.Input[str]):
1615
- pulumi.set(self, "network", value)
1616
-
1617
- @property
1618
- @pulumi.getter(name="startingAddress")
1619
- def starting_address(self) -> pulumi.Input[str]:
1620
- """
1621
- Starting address of the management network range.
1622
- """
1623
- return pulumi.get(self, "starting_address")
1624
-
1625
- @starting_address.setter
1626
- def starting_address(self, value: pulumi.Input[str]):
1627
- pulumi.set(self, "starting_address", value)
1628
-
1629
- @property
1630
- @pulumi.getter(name="subnetMask")
1631
- def subnet_mask(self) -> pulumi.Input[str]:
1632
- """
1633
- Subnet mask.
1634
- """
1635
- return pulumi.get(self, "subnet_mask")
1636
-
1637
- @subnet_mask.setter
1638
- def subnet_mask(self, value: pulumi.Input[str]):
1639
- pulumi.set(self, "subnet_mask", value)
1640
-
1641
-
1642
- @pulumi.input_type
1643
- class SupervisorNamespaceArgs:
1644
- def __init__(__self__, *,
1645
- name: pulumi.Input[str],
1646
- content_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1647
- vm_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1648
- """
1649
- :param pulumi.Input[str] name: The name of the namespace.
1650
- :param pulumi.Input[Sequence[pulumi.Input[str]]] content_libraries: A list of content libraries.
1651
- :param pulumi.Input[Sequence[pulumi.Input[str]]] vm_classes: A list of virtual machine classes.
1652
- """
1653
- pulumi.set(__self__, "name", name)
1654
- if content_libraries is not None:
1655
- pulumi.set(__self__, "content_libraries", content_libraries)
1656
- if vm_classes is not None:
1657
- pulumi.set(__self__, "vm_classes", vm_classes)
1658
-
1659
- @property
1660
- @pulumi.getter
1661
- def name(self) -> pulumi.Input[str]:
1662
- """
1663
- The name of the namespace.
1664
- """
1665
- return pulumi.get(self, "name")
1666
-
1667
- @name.setter
1668
- def name(self, value: pulumi.Input[str]):
1669
- pulumi.set(self, "name", value)
1670
-
1671
- @property
1672
- @pulumi.getter(name="contentLibraries")
1673
- def content_libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1674
- """
1675
- A list of content libraries.
1676
- """
1677
- return pulumi.get(self, "content_libraries")
1678
-
1679
- @content_libraries.setter
1680
- def content_libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1681
- pulumi.set(self, "content_libraries", value)
1682
-
1683
- @property
1684
- @pulumi.getter(name="vmClasses")
1685
- def vm_classes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1686
- """
1687
- A list of virtual machine classes.
1688
- """
1689
- return pulumi.get(self, "vm_classes")
1690
-
1691
- @vm_classes.setter
1692
- def vm_classes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1693
- pulumi.set(self, "vm_classes", value)
1694
-
1695
-
1696
- @pulumi.input_type
1697
- class SupervisorPodCidrArgs:
1698
- def __init__(__self__, *,
1699
- address: pulumi.Input[str],
1700
- prefix: pulumi.Input[int]):
1701
- """
1702
- :param pulumi.Input[str] address: Network address.
1703
- :param pulumi.Input[int] prefix: Subnet prefix.
1704
- """
1705
- pulumi.set(__self__, "address", address)
1706
- pulumi.set(__self__, "prefix", prefix)
1707
-
1708
- @property
1709
- @pulumi.getter
1710
- def address(self) -> pulumi.Input[str]:
1711
- """
1712
- Network address.
1713
- """
1714
- return pulumi.get(self, "address")
1715
-
1716
- @address.setter
1717
- def address(self, value: pulumi.Input[str]):
1718
- pulumi.set(self, "address", value)
1719
-
1720
- @property
1721
- @pulumi.getter
1722
- def prefix(self) -> pulumi.Input[int]:
1723
- """
1724
- Subnet prefix.
1725
- """
1726
- return pulumi.get(self, "prefix")
1727
-
1728
- @prefix.setter
1729
- def prefix(self, value: pulumi.Input[int]):
1730
- pulumi.set(self, "prefix", value)
1731
-
1732
-
1733
- @pulumi.input_type
1734
- class SupervisorServiceCidrArgs:
1735
- def __init__(__self__, *,
1736
- address: pulumi.Input[str],
1737
- prefix: pulumi.Input[int]):
1738
- """
1739
- :param pulumi.Input[str] address: Network address.
1740
- :param pulumi.Input[int] prefix: Subnet prefix.
1741
- """
1742
- pulumi.set(__self__, "address", address)
1743
- pulumi.set(__self__, "prefix", prefix)
1744
-
1745
- @property
1746
- @pulumi.getter
1747
- def address(self) -> pulumi.Input[str]:
1748
- """
1749
- Network address.
1750
- """
1751
- return pulumi.get(self, "address")
1752
-
1753
- @address.setter
1754
- def address(self, value: pulumi.Input[str]):
1755
- pulumi.set(self, "address", value)
1756
-
1757
- @property
1758
- @pulumi.getter
1759
- def prefix(self) -> pulumi.Input[int]:
1760
- """
1761
- Subnet prefix.
1762
- """
1763
- return pulumi.get(self, "prefix")
1764
-
1765
- @prefix.setter
1766
- def prefix(self, value: pulumi.Input[int]):
1767
- pulumi.set(self, "prefix", value)
1768
-
1769
-
1770
1348
  @pulumi.input_type
1771
1349
  class VirtualMachineCdromArgs:
1772
1350
  def __init__(__self__, *,
@@ -1776,11 +1354,15 @@ class VirtualMachineCdromArgs:
1776
1354
  key: Optional[pulumi.Input[int]] = None,
1777
1355
  path: Optional[pulumi.Input[str]] = None):
1778
1356
  """
1779
- :param pulumi.Input[bool] client_device: Indicates whether the device should be mapped to a remote client device
1780
- :param pulumi.Input[str] datastore_id: The datastore ID the ISO is located on.
1357
+ :param pulumi.Input[bool] client_device: Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1358
+ :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1781
1359
  :param pulumi.Input[str] device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
1782
1360
  :param pulumi.Input[int] key: The ID of the device within the virtual machine.
1783
- :param pulumi.Input[str] path: The path to the ISO file on the datastore.
1361
+ :param pulumi.Input[str] path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1362
+
1363
+ > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .
1364
+
1365
+ > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.
1784
1366
  """
1785
1367
  if client_device is not None:
1786
1368
  pulumi.set(__self__, "client_device", client_device)
@@ -1797,7 +1379,7 @@ class VirtualMachineCdromArgs:
1797
1379
  @pulumi.getter(name="clientDevice")
1798
1380
  def client_device(self) -> Optional[pulumi.Input[bool]]:
1799
1381
  """
1800
- Indicates whether the device should be mapped to a remote client device
1382
+ Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1801
1383
  """
1802
1384
  return pulumi.get(self, "client_device")
1803
1385
 
@@ -1809,7 +1391,7 @@ class VirtualMachineCdromArgs:
1809
1391
  @pulumi.getter(name="datastoreId")
1810
1392
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
1811
1393
  """
1812
- The datastore ID the ISO is located on.
1394
+ The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1813
1395
  """
1814
1396
  return pulumi.get(self, "datastore_id")
1815
1397
 
@@ -1845,7 +1427,11 @@ class VirtualMachineCdromArgs:
1845
1427
  @pulumi.getter
1846
1428
  def path(self) -> Optional[pulumi.Input[str]]:
1847
1429
  """
1848
- The path to the ISO file on the datastore.
1430
+ The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1431
+
1432
+ > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .
1433
+
1434
+ > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.
1849
1435
  """
1850
1436
  return pulumi.get(self, "path")
1851
1437
 
@@ -2028,7 +1614,7 @@ class VirtualMachineCloneCustomizeArgs:
2028
1614
  :param pulumi.Input[str] ipv4_gateway: The IPv4 default gateway when using network_interface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
2029
1615
  :param pulumi.Input[str] ipv6_gateway: The IPv6 default gateway when using network_interface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
2030
1616
  :param pulumi.Input['VirtualMachineCloneCustomizeLinuxOptionsArgs'] linux_options: A list of configuration options specific to Linux virtual machines.
2031
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]] network_interfaces: A specification of network interface configuration options.
1617
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2032
1618
  :param pulumi.Input[int] timeout: The amount of time, in minutes, to wait for guest OS customization to complete before returning with an error. Setting this value to 0 or a negative value skips the waiter. Default: 10.
2033
1619
  :param pulumi.Input['VirtualMachineCloneCustomizeWindowsOptionsArgs'] windows_options: A list of configuration options specific to Windows virtual machines.
2034
1620
  :param pulumi.Input[str] windows_sysprep_text: Use this option to specify a windows sysprep file directly.
@@ -2116,7 +1702,7 @@ class VirtualMachineCloneCustomizeArgs:
2116
1702
  @pulumi.getter(name="networkInterfaces")
2117
1703
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]]]:
2118
1704
  """
2119
- A specification of network interface configuration options.
1705
+ A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2120
1706
  """
2121
1707
  return pulumi.get(self, "network_interfaces")
2122
1708
 
@@ -2358,7 +1944,6 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
2358
1944
  auto_logon_count: Optional[pulumi.Input[int]] = None,
2359
1945
  domain_admin_password: Optional[pulumi.Input[str]] = None,
2360
1946
  domain_admin_user: Optional[pulumi.Input[str]] = None,
2361
- domain_ou: Optional[pulumi.Input[str]] = None,
2362
1947
  full_name: Optional[pulumi.Input[str]] = None,
2363
1948
  join_domain: Optional[pulumi.Input[str]] = None,
2364
1949
  organization_name: Optional[pulumi.Input[str]] = None,
@@ -2373,7 +1958,6 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
2373
1958
  :param pulumi.Input[int] auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
2374
1959
  :param pulumi.Input[str] domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
2375
1960
  :param pulumi.Input[str] domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
2376
- :param pulumi.Input[str] domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
2377
1961
  :param pulumi.Input[str] full_name: The full name of the user of this virtual machine.
2378
1962
  :param pulumi.Input[str] join_domain: The domain that the virtual machine should join.
2379
1963
  :param pulumi.Input[str] organization_name: The organization name this virtual machine is being installed for.
@@ -2393,8 +1977,6 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
2393
1977
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
2394
1978
  if domain_admin_user is not None:
2395
1979
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
2396
- if domain_ou is not None:
2397
- pulumi.set(__self__, "domain_ou", domain_ou)
2398
1980
  if full_name is not None:
2399
1981
  pulumi.set(__self__, "full_name", full_name)
2400
1982
  if join_domain is not None:
@@ -2482,18 +2064,6 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
2482
2064
  def domain_admin_user(self, value: Optional[pulumi.Input[str]]):
2483
2065
  pulumi.set(self, "domain_admin_user", value)
2484
2066
 
2485
- @property
2486
- @pulumi.getter(name="domainOu")
2487
- def domain_ou(self) -> Optional[pulumi.Input[str]]:
2488
- """
2489
- The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
2490
- """
2491
- return pulumi.get(self, "domain_ou")
2492
-
2493
- @domain_ou.setter
2494
- def domain_ou(self, value: Optional[pulumi.Input[str]]):
2495
- pulumi.set(self, "domain_ou", value)
2496
-
2497
2067
  @property
2498
2068
  @pulumi.getter(name="fullName")
2499
2069
  def full_name(self) -> Optional[pulumi.Input[str]]:
@@ -2605,26 +2175,36 @@ class VirtualMachineDiskArgs:
2605
2175
  write_through: Optional[pulumi.Input[bool]] = None):
2606
2176
  """
2607
2177
  :param pulumi.Input[str] label: A unique label for this disk.
2608
- :param pulumi.Input[bool] attach: If this is true, the disk is attached instead of created. Implies keep_on_remove.
2609
- :param pulumi.Input[str] controller_type: The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2610
- :param pulumi.Input[str] datastore_id: The datastore ID for this virtual disk, if different than the virtual machine.
2178
+ :param pulumi.Input[bool] attach: Attach an external disk instead of creating a new one. Implies and conflicts with `keep_on_remove`. If set, you cannot set `size`, `eagerly_scrub`, or `thin_provisioned`. Must set `path` if used.
2179
+
2180
+ > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2181
+ :param pulumi.Input[str] controller_type: The type of storage controller to attach the disk to. Can be `scsi`, `sata`, or `ide`. You must have the appropriate number of controllers enabled for the selected type. Default `scsi`.
2182
+ :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2611
2183
  :param pulumi.Input[str] device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2612
- :param pulumi.Input[str] disk_mode: The mode of this this virtual disk for purposes of writes and snapshotting. Can be one of append, independent_nonpersistent, independent_persistent, nonpersistent, persistent, or undoable.
2613
- :param pulumi.Input[str] disk_sharing: The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2614
- :param pulumi.Input[bool] eagerly_scrub: The virtual disk file zeroing policy when thin_provision is not true. The default is false, which lazily-zeros the disk, speeding up thick-provisioned disk creation time.
2615
- :param pulumi.Input[int] io_limit: The upper limit of IOPS that this disk can use.
2616
- :param pulumi.Input[int] io_reservation: The I/O guarantee that this disk has, in IOPS.
2617
- :param pulumi.Input[int] io_share_count: The share count for this disk when the share level is custom.
2618
- :param pulumi.Input[str] io_share_level: The share allocation level for this disk. Can be one of low, normal, high, or custom.
2619
- :param pulumi.Input[bool] keep_on_remove: Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2184
+ :param pulumi.Input[str] disk_mode: The mode of this this virtual disk for purposes of writes and snapshots. One of `append`, `independent_nonpersistent`, `independent_persistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For more information on these option, please refer to the [product documentation][vmware-docs-disk-mode].
2185
+
2186
+ [vmware-docs-disk-mode]: https://vdc-download.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.device.VirtualDiskOption.DiskMode.html
2187
+ :param pulumi.Input[str] disk_sharing: The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2188
+
2189
+ > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2190
+ :param pulumi.Input[bool] eagerly_scrub: If set to `true`, the disk space is zeroed out when the virtual machine is created. This will delay the creation of the virtual disk. Cannot be set to `true` when `thin_provisioned` is `true`. See the section on picking a disk type for more information. Default: `false`.
2191
+ :param pulumi.Input[int] io_limit: The upper limit of IOPS that this disk can use. The default is no limit.
2192
+ :param pulumi.Input[int] io_reservation: The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2193
+ :param pulumi.Input[int] io_share_count: The share count for the virtual disk when the share level is `custom`.
2194
+ :param pulumi.Input[str] io_share_level: The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2195
+ :param pulumi.Input[bool] keep_on_remove: Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2620
2196
  :param pulumi.Input[int] key: The ID of the device within the virtual machine.
2621
- :param pulumi.Input[str] path: The full path of the virtual disk. This can only be provided if attach is set to true, otherwise it is a read-only value.
2622
- :param pulumi.Input[int] size: The size of the disk, in GB.
2623
- :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the virtual disk in VM.
2624
- :param pulumi.Input[bool] thin_provisioned: If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2625
- :param pulumi.Input[int] unit_number: The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2626
- :param pulumi.Input[str] uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
2627
- :param pulumi.Input[bool] write_through: If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2197
+ :param pulumi.Input[str] path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2198
+
2199
+ > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .
2200
+
2201
+ > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.
2202
+ :param pulumi.Input[int] size: The size of the disk, in GB. Must be a whole number.
2203
+ :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
2204
+ :param pulumi.Input[bool] thin_provisioned: If `true`, the disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerly_scrub` is `true`. See the section on selecting a disk type for more information. Default: `true`.
2205
+ :param pulumi.Input[int] unit_number: The disk number on the storage bus. The maximum value for this setting is the value of the controller count times the controller capacity (15 for SCSI, 30 for SATA, and 2 for IDE). Duplicate unit numbers are not allowed. Default `0`, for which one disk must be set to.
2206
+ :param pulumi.Input[str] uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2207
+ :param pulumi.Input[bool] write_through: If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2628
2208
  """
2629
2209
  pulumi.set(__self__, "label", label)
2630
2210
  if attach is not None:
@@ -2684,7 +2264,9 @@ class VirtualMachineDiskArgs:
2684
2264
  @pulumi.getter
2685
2265
  def attach(self) -> Optional[pulumi.Input[bool]]:
2686
2266
  """
2687
- If this is true, the disk is attached instead of created. Implies keep_on_remove.
2267
+ Attach an external disk instead of creating a new one. Implies and conflicts with `keep_on_remove`. If set, you cannot set `size`, `eagerly_scrub`, or `thin_provisioned`. Must set `path` if used.
2268
+
2269
+ > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2688
2270
  """
2689
2271
  return pulumi.get(self, "attach")
2690
2272
 
@@ -2696,7 +2278,7 @@ class VirtualMachineDiskArgs:
2696
2278
  @pulumi.getter(name="controllerType")
2697
2279
  def controller_type(self) -> Optional[pulumi.Input[str]]:
2698
2280
  """
2699
- The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2281
+ The type of storage controller to attach the disk to. Can be `scsi`, `sata`, or `ide`. You must have the appropriate number of controllers enabled for the selected type. Default `scsi`.
2700
2282
  """
2701
2283
  return pulumi.get(self, "controller_type")
2702
2284
 
@@ -2708,7 +2290,7 @@ class VirtualMachineDiskArgs:
2708
2290
  @pulumi.getter(name="datastoreId")
2709
2291
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
2710
2292
  """
2711
- The datastore ID for this virtual disk, if different than the virtual machine.
2293
+ The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2712
2294
  """
2713
2295
  return pulumi.get(self, "datastore_id")
2714
2296
 
@@ -2732,7 +2314,9 @@ class VirtualMachineDiskArgs:
2732
2314
  @pulumi.getter(name="diskMode")
2733
2315
  def disk_mode(self) -> Optional[pulumi.Input[str]]:
2734
2316
  """
2735
- The mode of this this virtual disk for purposes of writes and snapshotting. Can be one of append, independent_nonpersistent, independent_persistent, nonpersistent, persistent, or undoable.
2317
+ The mode of this this virtual disk for purposes of writes and snapshots. One of `append`, `independent_nonpersistent`, `independent_persistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For more information on these option, please refer to the [product documentation][vmware-docs-disk-mode].
2318
+
2319
+ [vmware-docs-disk-mode]: https://vdc-download.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.device.VirtualDiskOption.DiskMode.html
2736
2320
  """
2737
2321
  return pulumi.get(self, "disk_mode")
2738
2322
 
@@ -2744,7 +2328,9 @@ class VirtualMachineDiskArgs:
2744
2328
  @pulumi.getter(name="diskSharing")
2745
2329
  def disk_sharing(self) -> Optional[pulumi.Input[str]]:
2746
2330
  """
2747
- The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2331
+ The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2332
+
2333
+ > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2748
2334
  """
2749
2335
  return pulumi.get(self, "disk_sharing")
2750
2336
 
@@ -2756,7 +2342,7 @@ class VirtualMachineDiskArgs:
2756
2342
  @pulumi.getter(name="eagerlyScrub")
2757
2343
  def eagerly_scrub(self) -> Optional[pulumi.Input[bool]]:
2758
2344
  """
2759
- The virtual disk file zeroing policy when thin_provision is not true. The default is false, which lazily-zeros the disk, speeding up thick-provisioned disk creation time.
2345
+ If set to `true`, the disk space is zeroed out when the virtual machine is created. This will delay the creation of the virtual disk. Cannot be set to `true` when `thin_provisioned` is `true`. See the section on picking a disk type for more information. Default: `false`.
2760
2346
  """
2761
2347
  return pulumi.get(self, "eagerly_scrub")
2762
2348
 
@@ -2768,7 +2354,7 @@ class VirtualMachineDiskArgs:
2768
2354
  @pulumi.getter(name="ioLimit")
2769
2355
  def io_limit(self) -> Optional[pulumi.Input[int]]:
2770
2356
  """
2771
- The upper limit of IOPS that this disk can use.
2357
+ The upper limit of IOPS that this disk can use. The default is no limit.
2772
2358
  """
2773
2359
  return pulumi.get(self, "io_limit")
2774
2360
 
@@ -2780,7 +2366,7 @@ class VirtualMachineDiskArgs:
2780
2366
  @pulumi.getter(name="ioReservation")
2781
2367
  def io_reservation(self) -> Optional[pulumi.Input[int]]:
2782
2368
  """
2783
- The I/O guarantee that this disk has, in IOPS.
2369
+ The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2784
2370
  """
2785
2371
  return pulumi.get(self, "io_reservation")
2786
2372
 
@@ -2792,7 +2378,7 @@ class VirtualMachineDiskArgs:
2792
2378
  @pulumi.getter(name="ioShareCount")
2793
2379
  def io_share_count(self) -> Optional[pulumi.Input[int]]:
2794
2380
  """
2795
- The share count for this disk when the share level is custom.
2381
+ The share count for the virtual disk when the share level is `custom`.
2796
2382
  """
2797
2383
  return pulumi.get(self, "io_share_count")
2798
2384
 
@@ -2804,7 +2390,7 @@ class VirtualMachineDiskArgs:
2804
2390
  @pulumi.getter(name="ioShareLevel")
2805
2391
  def io_share_level(self) -> Optional[pulumi.Input[str]]:
2806
2392
  """
2807
- The share allocation level for this disk. Can be one of low, normal, high, or custom.
2393
+ The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2808
2394
  """
2809
2395
  return pulumi.get(self, "io_share_level")
2810
2396
 
@@ -2816,7 +2402,7 @@ class VirtualMachineDiskArgs:
2816
2402
  @pulumi.getter(name="keepOnRemove")
2817
2403
  def keep_on_remove(self) -> Optional[pulumi.Input[bool]]:
2818
2404
  """
2819
- Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2405
+ Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2820
2406
  """
2821
2407
  return pulumi.get(self, "keep_on_remove")
2822
2408
 
@@ -2840,7 +2426,11 @@ class VirtualMachineDiskArgs:
2840
2426
  @pulumi.getter
2841
2427
  def path(self) -> Optional[pulumi.Input[str]]:
2842
2428
  """
2843
- The full path of the virtual disk. This can only be provided if attach is set to true, otherwise it is a read-only value.
2429
+ The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2430
+
2431
+ > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .
2432
+
2433
+ > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.
2844
2434
  """
2845
2435
  return pulumi.get(self, "path")
2846
2436
 
@@ -2852,7 +2442,7 @@ class VirtualMachineDiskArgs:
2852
2442
  @pulumi.getter
2853
2443
  def size(self) -> Optional[pulumi.Input[int]]:
2854
2444
  """
2855
- The size of the disk, in GB.
2445
+ The size of the disk, in GB. Must be a whole number.
2856
2446
  """
2857
2447
  return pulumi.get(self, "size")
2858
2448
 
@@ -2864,7 +2454,7 @@ class VirtualMachineDiskArgs:
2864
2454
  @pulumi.getter(name="storagePolicyId")
2865
2455
  def storage_policy_id(self) -> Optional[pulumi.Input[str]]:
2866
2456
  """
2867
- The ID of the storage policy to assign to the virtual disk in VM.
2457
+ The UUID of the storage policy to assign to the virtual disk.
2868
2458
  """
2869
2459
  return pulumi.get(self, "storage_policy_id")
2870
2460
 
@@ -2876,7 +2466,7 @@ class VirtualMachineDiskArgs:
2876
2466
  @pulumi.getter(name="thinProvisioned")
2877
2467
  def thin_provisioned(self) -> Optional[pulumi.Input[bool]]:
2878
2468
  """
2879
- If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2469
+ If `true`, the disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerly_scrub` is `true`. See the section on selecting a disk type for more information. Default: `true`.
2880
2470
  """
2881
2471
  return pulumi.get(self, "thin_provisioned")
2882
2472
 
@@ -2888,7 +2478,7 @@ class VirtualMachineDiskArgs:
2888
2478
  @pulumi.getter(name="unitNumber")
2889
2479
  def unit_number(self) -> Optional[pulumi.Input[int]]:
2890
2480
  """
2891
- The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2481
+ The disk number on the storage bus. The maximum value for this setting is the value of the controller count times the controller capacity (15 for SCSI, 30 for SATA, and 2 for IDE). Duplicate unit numbers are not allowed. Default `0`, for which one disk must be set to.
2892
2482
  """
2893
2483
  return pulumi.get(self, "unit_number")
2894
2484
 
@@ -2900,7 +2490,7 @@ class VirtualMachineDiskArgs:
2900
2490
  @pulumi.getter
2901
2491
  def uuid(self) -> Optional[pulumi.Input[str]]:
2902
2492
  """
2903
- The UUID of the virtual machine. Also exposed as the `id` of the resource.
2493
+ The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2904
2494
  """
2905
2495
  return pulumi.get(self, "uuid")
2906
2496
 
@@ -2912,7 +2502,7 @@ class VirtualMachineDiskArgs:
2912
2502
  @pulumi.getter(name="writeThrough")
2913
2503
  def write_through(self) -> Optional[pulumi.Input[bool]]:
2914
2504
  """
2915
- If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2505
+ If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2916
2506
  """
2917
2507
  return pulumi.get(self, "write_through")
2918
2508
 
@@ -2937,18 +2527,18 @@ class VirtualMachineNetworkInterfaceArgs:
2937
2527
  physical_function: Optional[pulumi.Input[str]] = None,
2938
2528
  use_static_mac: Optional[pulumi.Input[bool]] = None):
2939
2529
  """
2940
- :param pulumi.Input[str] network_id: The ID of the network to connect this network interface to.
2941
- :param pulumi.Input[str] adapter_type: The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2942
- :param pulumi.Input[int] bandwidth_limit: The upper bandwidth limit of this network interface, in Mbits/sec.
2943
- :param pulumi.Input[int] bandwidth_reservation: The bandwidth reservation of this network interface, in Mbits/sec.
2944
- :param pulumi.Input[int] bandwidth_share_count: The share count for this network interface when the share level is custom.
2945
- :param pulumi.Input[str] bandwidth_share_level: The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2530
+ :param pulumi.Input[str] network_id: The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2531
+ :param pulumi.Input[str] adapter_type: The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2532
+ :param pulumi.Input[int] bandwidth_limit: The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
2533
+ :param pulumi.Input[int] bandwidth_reservation: The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
2534
+ :param pulumi.Input[int] bandwidth_share_count: The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
2535
+ :param pulumi.Input[str] bandwidth_share_level: The bandwidth share allocation level for the network interface. One of `low`, `normal`, `high`, or `custom`. Default: `normal`. Ignored if `adapter_type` is set to `sriov`.
2946
2536
  :param pulumi.Input[str] device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2947
2537
  :param pulumi.Input[int] key: The ID of the device within the virtual machine.
2948
- :param pulumi.Input[str] mac_address: The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2949
- :param pulumi.Input[str] ovf_mapping: Mapping of network interface to OVF network.
2538
+ :param pulumi.Input[str] mac_address: The MAC address of the network interface. Can only be manually set if `use_static_mac` is `true`. Otherwise, the value is computed and presents the assigned MAC address for the interface.
2539
+ :param pulumi.Input[str] ovf_mapping: Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
2950
2540
  :param pulumi.Input[str] physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
2951
- :param pulumi.Input[bool] use_static_mac: If true, the mac_address field is treated as a static MAC address and set accordingly.
2541
+ :param pulumi.Input[bool] use_static_mac: If true, the `mac_address` field is treated as a static MAC address and set accordingly. Setting this to `true` requires `mac_address` to be set. Default: `false`.
2952
2542
  """
2953
2543
  pulumi.set(__self__, "network_id", network_id)
2954
2544
  if adapter_type is not None:
@@ -2978,7 +2568,7 @@ class VirtualMachineNetworkInterfaceArgs:
2978
2568
  @pulumi.getter(name="networkId")
2979
2569
  def network_id(self) -> pulumi.Input[str]:
2980
2570
  """
2981
- The ID of the network to connect this network interface to.
2571
+ The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2982
2572
  """
2983
2573
  return pulumi.get(self, "network_id")
2984
2574
 
@@ -2990,7 +2580,7 @@ class VirtualMachineNetworkInterfaceArgs:
2990
2580
  @pulumi.getter(name="adapterType")
2991
2581
  def adapter_type(self) -> Optional[pulumi.Input[str]]:
2992
2582
  """
2993
- The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2583
+ The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2994
2584
  """
2995
2585
  return pulumi.get(self, "adapter_type")
2996
2586
 
@@ -3002,7 +2592,7 @@ class VirtualMachineNetworkInterfaceArgs:
3002
2592
  @pulumi.getter(name="bandwidthLimit")
3003
2593
  def bandwidth_limit(self) -> Optional[pulumi.Input[int]]:
3004
2594
  """
3005
- The upper bandwidth limit of this network interface, in Mbits/sec.
2595
+ The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
3006
2596
  """
3007
2597
  return pulumi.get(self, "bandwidth_limit")
3008
2598
 
@@ -3014,7 +2604,7 @@ class VirtualMachineNetworkInterfaceArgs:
3014
2604
  @pulumi.getter(name="bandwidthReservation")
3015
2605
  def bandwidth_reservation(self) -> Optional[pulumi.Input[int]]:
3016
2606
  """
3017
- The bandwidth reservation of this network interface, in Mbits/sec.
2607
+ The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
3018
2608
  """
3019
2609
  return pulumi.get(self, "bandwidth_reservation")
3020
2610
 
@@ -3026,7 +2616,7 @@ class VirtualMachineNetworkInterfaceArgs:
3026
2616
  @pulumi.getter(name="bandwidthShareCount")
3027
2617
  def bandwidth_share_count(self) -> Optional[pulumi.Input[int]]:
3028
2618
  """
3029
- The share count for this network interface when the share level is custom.
2619
+ The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
3030
2620
  """
3031
2621
  return pulumi.get(self, "bandwidth_share_count")
3032
2622
 
@@ -3038,7 +2628,7 @@ class VirtualMachineNetworkInterfaceArgs:
3038
2628
  @pulumi.getter(name="bandwidthShareLevel")
3039
2629
  def bandwidth_share_level(self) -> Optional[pulumi.Input[str]]:
3040
2630
  """
3041
- The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2631
+ The bandwidth share allocation level for the network interface. One of `low`, `normal`, `high`, or `custom`. Default: `normal`. Ignored if `adapter_type` is set to `sriov`.
3042
2632
  """
3043
2633
  return pulumi.get(self, "bandwidth_share_level")
3044
2634
 
@@ -3074,7 +2664,7 @@ class VirtualMachineNetworkInterfaceArgs:
3074
2664
  @pulumi.getter(name="macAddress")
3075
2665
  def mac_address(self) -> Optional[pulumi.Input[str]]:
3076
2666
  """
3077
- The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2667
+ The MAC address of the network interface. Can only be manually set if `use_static_mac` is `true`. Otherwise, the value is computed and presents the assigned MAC address for the interface.
3078
2668
  """
3079
2669
  return pulumi.get(self, "mac_address")
3080
2670
 
@@ -3086,7 +2676,7 @@ class VirtualMachineNetworkInterfaceArgs:
3086
2676
  @pulumi.getter(name="ovfMapping")
3087
2677
  def ovf_mapping(self) -> Optional[pulumi.Input[str]]:
3088
2678
  """
3089
- Mapping of network interface to OVF network.
2679
+ Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
3090
2680
  """
3091
2681
  return pulumi.get(self, "ovf_mapping")
3092
2682
 
@@ -3110,7 +2700,7 @@ class VirtualMachineNetworkInterfaceArgs:
3110
2700
  @pulumi.getter(name="useStaticMac")
3111
2701
  def use_static_mac(self) -> Optional[pulumi.Input[bool]]:
3112
2702
  """
3113
- If true, the mac_address field is treated as a static MAC address and set accordingly.
2703
+ If true, the `mac_address` field is treated as a static MAC address and set accordingly. Setting this to `true` requires `mac_address` to be set. Default: `false`.
3114
2704
  """
3115
2705
  return pulumi.get(self, "use_static_mac")
3116
2706
 
@@ -3354,10 +2944,10 @@ class VnicIpv4Args:
3354
2944
  ip: Optional[pulumi.Input[str]] = None,
3355
2945
  netmask: Optional[pulumi.Input[str]] = None):
3356
2946
  """
3357
- :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv4 stack.
3358
- :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP is not set.
3359
- :param pulumi.Input[str] ip: address of the interface, if DHCP is not set.
3360
- :param pulumi.Input[str] netmask: netmask of the interface, if DHCP is not set.
2947
+ :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv6 stack.
2948
+ :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP or autoconfig is not set.
2949
+ :param pulumi.Input[str] ip: Address of the interface, if DHCP is not set.
2950
+ :param pulumi.Input[str] netmask: Netmask of the interface, if DHCP is not set.
3361
2951
  """
3362
2952
  if dhcp is not None:
3363
2953
  pulumi.set(__self__, "dhcp", dhcp)
@@ -3372,7 +2962,7 @@ class VnicIpv4Args:
3372
2962
  @pulumi.getter
3373
2963
  def dhcp(self) -> Optional[pulumi.Input[bool]]:
3374
2964
  """
3375
- Use DHCP to configure the interface's IPv4 stack.
2965
+ Use DHCP to configure the interface's IPv6 stack.
3376
2966
  """
3377
2967
  return pulumi.get(self, "dhcp")
3378
2968
 
@@ -3384,7 +2974,7 @@ class VnicIpv4Args:
3384
2974
  @pulumi.getter
3385
2975
  def gw(self) -> Optional[pulumi.Input[str]]:
3386
2976
  """
3387
- IP address of the default gateway, if DHCP is not set.
2977
+ IP address of the default gateway, if DHCP or autoconfig is not set.
3388
2978
  """
3389
2979
  return pulumi.get(self, "gw")
3390
2980
 
@@ -3396,7 +2986,7 @@ class VnicIpv4Args:
3396
2986
  @pulumi.getter
3397
2987
  def ip(self) -> Optional[pulumi.Input[str]]:
3398
2988
  """
3399
- address of the interface, if DHCP is not set.
2989
+ Address of the interface, if DHCP is not set.
3400
2990
  """
3401
2991
  return pulumi.get(self, "ip")
3402
2992
 
@@ -3408,7 +2998,7 @@ class VnicIpv4Args:
3408
2998
  @pulumi.getter
3409
2999
  def netmask(self) -> Optional[pulumi.Input[str]]:
3410
3000
  """
3411
- netmask of the interface, if DHCP is not set.
3001
+ Netmask of the interface, if DHCP is not set.
3412
3002
  """
3413
3003
  return pulumi.get(self, "netmask")
3414
3004
 
@@ -3427,7 +3017,7 @@ class VnicIpv6Args:
3427
3017
  """
3428
3018
  :param pulumi.Input[Sequence[pulumi.Input[str]]] addresses: List of IPv6 addresses
3429
3019
  :param pulumi.Input[bool] autoconfig: Use IPv6 Autoconfiguration (RFC2462).
3430
- :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv4 stack.
3020
+ :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv6 stack.
3431
3021
  :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP or autoconfig is not set.
3432
3022
  """
3433
3023
  if addresses is not None:
@@ -3467,7 +3057,7 @@ class VnicIpv6Args:
3467
3057
  @pulumi.getter
3468
3058
  def dhcp(self) -> Optional[pulumi.Input[bool]]:
3469
3059
  """
3470
- Use DHCP to configure the interface's IPv4 stack.
3060
+ Use DHCP to configure the interface's IPv6 stack.
3471
3061
  """
3472
3062
  return pulumi.get(self, "dhcp")
3473
3063