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/outputs.py CHANGED
@@ -11,8 +11,6 @@ from . import _utilities
11
11
  from . import outputs
12
12
 
13
13
  __all__ = [
14
- 'ComputeClusterHostImage',
15
- 'ComputeClusterHostImageComponent',
16
14
  'ComputeClusterVsanDiskGroup',
17
15
  'ComputeClusterVsanFaultDomain',
18
16
  'ComputeClusterVsanFaultDomainFaultDomain',
@@ -29,15 +27,6 @@ __all__ = [
29
27
  'GuestOsCustomizationSpecNetworkInterface',
30
28
  'GuestOsCustomizationSpecWindowsOptions',
31
29
  'HostPortGroupPort',
32
- 'HostService',
33
- 'HostServiceNtpd',
34
- 'OfflineSoftwareDepotComponent',
35
- 'SupervisorEgressCidr',
36
- 'SupervisorIngressCidr',
37
- 'SupervisorManagementNetwork',
38
- 'SupervisorNamespace',
39
- 'SupervisorPodCidr',
40
- 'SupervisorServiceCidr',
41
30
  'VirtualMachineCdrom',
42
31
  'VirtualMachineClone',
43
32
  'VirtualMachineCloneCustomizationSpec',
@@ -62,93 +51,14 @@ __all__ = [
62
51
  'GetVirtualMachineVappResult',
63
52
  ]
64
53
 
65
- @pulumi.output_type
66
- class ComputeClusterHostImage(dict):
67
- @staticmethod
68
- def __key_warning(key: str):
69
- suggest = None
70
- if key == "esxVersion":
71
- suggest = "esx_version"
72
-
73
- if suggest:
74
- pulumi.log.warn(f"Key '{key}' not found in ComputeClusterHostImage. Access the value via the '{suggest}' property getter instead.")
75
-
76
- def __getitem__(self, key: str) -> Any:
77
- ComputeClusterHostImage.__key_warning(key)
78
- return super().__getitem__(key)
79
-
80
- def get(self, key: str, default = None) -> Any:
81
- ComputeClusterHostImage.__key_warning(key)
82
- return super().get(key, default)
83
-
84
- def __init__(__self__, *,
85
- components: Optional[Sequence['outputs.ComputeClusterHostImageComponent']] = None,
86
- esx_version: Optional[str] = None):
87
- """
88
- :param Sequence['ComputeClusterHostImageComponentArgs'] components: List of custom components.
89
- :param str esx_version: The ESXi version which the image is based on.
90
- """
91
- if components is not None:
92
- pulumi.set(__self__, "components", components)
93
- if esx_version is not None:
94
- pulumi.set(__self__, "esx_version", esx_version)
95
-
96
- @property
97
- @pulumi.getter
98
- def components(self) -> Optional[Sequence['outputs.ComputeClusterHostImageComponent']]:
99
- """
100
- List of custom components.
101
- """
102
- return pulumi.get(self, "components")
103
-
104
- @property
105
- @pulumi.getter(name="esxVersion")
106
- def esx_version(self) -> Optional[str]:
107
- """
108
- The ESXi version which the image is based on.
109
- """
110
- return pulumi.get(self, "esx_version")
111
-
112
-
113
- @pulumi.output_type
114
- class ComputeClusterHostImageComponent(dict):
115
- def __init__(__self__, *,
116
- key: Optional[str] = None,
117
- version: Optional[str] = None):
118
- """
119
- :param str key: The identifier for the component.
120
- :param str version: The version to use.
121
- """
122
- if key is not None:
123
- pulumi.set(__self__, "key", key)
124
- if version is not None:
125
- pulumi.set(__self__, "version", version)
126
-
127
- @property
128
- @pulumi.getter
129
- def key(self) -> Optional[str]:
130
- """
131
- The identifier for the component.
132
- """
133
- return pulumi.get(self, "key")
134
-
135
- @property
136
- @pulumi.getter
137
- def version(self) -> Optional[str]:
138
- """
139
- The version to use.
140
- """
141
- return pulumi.get(self, "version")
142
-
143
-
144
54
  @pulumi.output_type
145
55
  class ComputeClusterVsanDiskGroup(dict):
146
56
  def __init__(__self__, *,
147
57
  cache: Optional[str] = None,
148
58
  storages: Optional[Sequence[str]] = None):
149
59
  """
150
- :param str cache: Cache disk.
151
- :param Sequence[str] storages: List of storage disks.
60
+ :param str cache: The canonical name of the disk to use for vSAN cache.
61
+ :param Sequence[str] storages: An array of disk canonical names for vSAN storage.
152
62
  """
153
63
  if cache is not None:
154
64
  pulumi.set(__self__, "cache", cache)
@@ -159,7 +69,7 @@ class ComputeClusterVsanDiskGroup(dict):
159
69
  @pulumi.getter
160
70
  def cache(self) -> Optional[str]:
161
71
  """
162
- Cache disk.
72
+ The canonical name of the disk to use for vSAN cache.
163
73
  """
164
74
  return pulumi.get(self, "cache")
165
75
 
@@ -167,7 +77,7 @@ class ComputeClusterVsanDiskGroup(dict):
167
77
  @pulumi.getter
168
78
  def storages(self) -> Optional[Sequence[str]]:
169
79
  """
170
- List of storage disks.
80
+ An array of disk canonical names for vSAN storage.
171
81
  """
172
82
  return pulumi.get(self, "storages")
173
83
 
@@ -291,8 +201,56 @@ class ComputeClusterVsanStretchedCluster(dict):
291
201
  :param Sequence[str] preferred_fault_domain_host_ids: The managed object IDs of the hosts to put in the first fault domain.
292
202
  :param Sequence[str] secondary_fault_domain_host_ids: The managed object IDs of the hosts to put in the second fault domain.
293
203
  :param str witness_node: The managed object IDs of the host selected as witness node when enable stretched cluster.
294
- :param str preferred_fault_domain_name: The name of prepferred fault domain.
295
- :param str secondary_fault_domain_name: The name of secondary fault domain.
204
+ :param str preferred_fault_domain_name: The name of first fault domain. Default is `Preferred`.
205
+ :param str secondary_fault_domain_name: The name of second fault domain. Default is `Secondary`.
206
+
207
+ > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
208
+ You can enable or re-enable vSphere HA after vSAN is configured.
209
+
210
+ <!--Start PulumiCodeChooser -->
211
+ ```python
212
+ import pulumi
213
+ import pulumi_vsphere as vsphere
214
+
215
+ compute_cluster = vsphere.ComputeCluster("computeCluster",
216
+ datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
217
+ host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
218
+ drs_enabled=True,
219
+ drs_automation_level="fullyAutomated",
220
+ ha_enabled=False,
221
+ vsan_enabled=True,
222
+ vsan_esa_enabled=True,
223
+ vsan_dedup_enabled=True,
224
+ vsan_compression_enabled=True,
225
+ vsan_performance_enabled=True,
226
+ vsan_verbose_mode_enabled=True,
227
+ vsan_network_diagnostic_mode_enabled=True,
228
+ vsan_unmap_enabled=True,
229
+ vsan_dit_encryption_enabled=True,
230
+ vsan_dit_rekey_interval=1800,
231
+ vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
232
+ cache=data["vsphere_vmfs_disks"]["cache_disks"],
233
+ storages=data["vsphere_vmfs_disks"]["storage_disks"],
234
+ )],
235
+ vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
236
+ fault_domains=[
237
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
238
+ name="fd1",
239
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
240
+ ),
241
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
242
+ name="fd2",
243
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
244
+ ),
245
+ ],
246
+ )],
247
+ vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
248
+ preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
249
+ secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
250
+ witness_node=data["vsphere_host"]["witness_host"]["id"],
251
+ ))
252
+ ```
253
+ <!--End PulumiCodeChooser -->
296
254
  """
297
255
  pulumi.set(__self__, "preferred_fault_domain_host_ids", preferred_fault_domain_host_ids)
298
256
  pulumi.set(__self__, "secondary_fault_domain_host_ids", secondary_fault_domain_host_ids)
@@ -330,7 +288,7 @@ class ComputeClusterVsanStretchedCluster(dict):
330
288
  @pulumi.getter(name="preferredFaultDomainName")
331
289
  def preferred_fault_domain_name(self) -> Optional[str]:
332
290
  """
333
- The name of prepferred fault domain.
291
+ The name of first fault domain. Default is `Preferred`.
334
292
  """
335
293
  return pulumi.get(self, "preferred_fault_domain_name")
336
294
 
@@ -338,7 +296,55 @@ class ComputeClusterVsanStretchedCluster(dict):
338
296
  @pulumi.getter(name="secondaryFaultDomainName")
339
297
  def secondary_fault_domain_name(self) -> Optional[str]:
340
298
  """
341
- The name of secondary fault domain.
299
+ The name of second fault domain. Default is `Secondary`.
300
+
301
+ > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
302
+ You can enable or re-enable vSphere HA after vSAN is configured.
303
+
304
+ <!--Start PulumiCodeChooser -->
305
+ ```python
306
+ import pulumi
307
+ import pulumi_vsphere as vsphere
308
+
309
+ compute_cluster = vsphere.ComputeCluster("computeCluster",
310
+ datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
311
+ host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
312
+ drs_enabled=True,
313
+ drs_automation_level="fullyAutomated",
314
+ ha_enabled=False,
315
+ vsan_enabled=True,
316
+ vsan_esa_enabled=True,
317
+ vsan_dedup_enabled=True,
318
+ vsan_compression_enabled=True,
319
+ vsan_performance_enabled=True,
320
+ vsan_verbose_mode_enabled=True,
321
+ vsan_network_diagnostic_mode_enabled=True,
322
+ vsan_unmap_enabled=True,
323
+ vsan_dit_encryption_enabled=True,
324
+ vsan_dit_rekey_interval=1800,
325
+ vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
326
+ cache=data["vsphere_vmfs_disks"]["cache_disks"],
327
+ storages=data["vsphere_vmfs_disks"]["storage_disks"],
328
+ )],
329
+ vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
330
+ fault_domains=[
331
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
332
+ name="fd1",
333
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
334
+ ),
335
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
336
+ name="fd2",
337
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
338
+ ),
339
+ ],
340
+ )],
341
+ vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
342
+ preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
343
+ secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
344
+ witness_node=data["vsphere_host"]["witness_host"]["id"],
345
+ ))
346
+ ```
347
+ <!--End PulumiCodeChooser -->
342
348
  """
343
349
  return pulumi.get(self, "secondary_fault_domain_name")
344
350
 
@@ -371,11 +377,11 @@ class ContentLibraryPublication(dict):
371
377
  published: Optional[bool] = None,
372
378
  username: Optional[str] = None):
373
379
  """
374
- :param str authentication_method: Method to authenticate users. Must be `NONE` or `BASIC`.
375
- :param str password: Password used by subscribers to authenticate.
380
+ :param str authentication_method: Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
381
+ :param str password: Password used for authentication.
376
382
  :param str publish_url: The URL of the published content library.
377
383
  :param bool published: Publish the content library. Default `false`.
378
- :param str username: Username used by subscribers to authenticate. Currently can only be `vcsp`.
384
+ :param str username: Username used for authentication.
379
385
  """
380
386
  if authentication_method is not None:
381
387
  pulumi.set(__self__, "authentication_method", authentication_method)
@@ -392,7 +398,7 @@ class ContentLibraryPublication(dict):
392
398
  @pulumi.getter(name="authenticationMethod")
393
399
  def authentication_method(self) -> Optional[str]:
394
400
  """
395
- Method to authenticate users. Must be `NONE` or `BASIC`.
401
+ Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
396
402
  """
397
403
  return pulumi.get(self, "authentication_method")
398
404
 
@@ -400,7 +406,7 @@ class ContentLibraryPublication(dict):
400
406
  @pulumi.getter
401
407
  def password(self) -> Optional[str]:
402
408
  """
403
- Password used by subscribers to authenticate.
409
+ Password used for authentication.
404
410
  """
405
411
  return pulumi.get(self, "password")
406
412
 
@@ -424,7 +430,7 @@ class ContentLibraryPublication(dict):
424
430
  @pulumi.getter
425
431
  def username(self) -> Optional[str]:
426
432
  """
427
- Username used by subscribers to authenticate. Currently can only be `vcsp`.
433
+ Username used for authentication.
428
434
  """
429
435
  return pulumi.get(self, "username")
430
436
 
@@ -602,8 +608,10 @@ class DistributedVirtualSwitchHost(dict):
602
608
  host_system_id: str,
603
609
  devices: Optional[Sequence[str]] = None):
604
610
  """
605
- :param str host_system_id: The managed object ID of the host this specification applies to.
606
- :param Sequence[str] devices: Name of the physical NIC to be added to the proxy switch.
611
+ :param str host_system_id: The host system ID of the host to add to the
612
+ VDS.
613
+ :param Sequence[str] devices: The list of NIC devices to map to uplinks on the VDS,
614
+ added in order they are specified.
607
615
  """
608
616
  pulumi.set(__self__, "host_system_id", host_system_id)
609
617
  if devices is not None:
@@ -613,7 +621,8 @@ class DistributedVirtualSwitchHost(dict):
613
621
  @pulumi.getter(name="hostSystemId")
614
622
  def host_system_id(self) -> str:
615
623
  """
616
- The managed object ID of the host this specification applies to.
624
+ The host system ID of the host to add to the
625
+ VDS.
617
626
  """
618
627
  return pulumi.get(self, "host_system_id")
619
628
 
@@ -621,7 +630,8 @@ class DistributedVirtualSwitchHost(dict):
621
630
  @pulumi.getter
622
631
  def devices(self) -> Optional[Sequence[str]]:
623
632
  """
624
- Name of the physical NIC to be added to the proxy switch.
633
+ The list of NIC devices to map to uplinks on the VDS,
634
+ added in order they are specified.
625
635
  """
626
636
  return pulumi.get(self, "devices")
627
637
 
@@ -654,9 +664,12 @@ class DistributedVirtualSwitchPvlanMapping(dict):
654
664
  pvlan_type: str,
655
665
  secondary_vlan_id: int):
656
666
  """
657
- :param int primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
658
- :param str pvlan_type: The private VLAN type. Valid values are promiscuous, community and isolated.
659
- :param int secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
667
+ :param int primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and
668
+ 4095 are reserved and cannot be used in this property.
669
+ :param str pvlan_type: The private VLAN type. Valid values are
670
+ promiscuous, community and isolated.
671
+ :param int secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0
672
+ and 4095 are reserved and cannot be used in this property.
660
673
  """
661
674
  pulumi.set(__self__, "primary_vlan_id", primary_vlan_id)
662
675
  pulumi.set(__self__, "pvlan_type", pvlan_type)
@@ -666,7 +679,8 @@ class DistributedVirtualSwitchPvlanMapping(dict):
666
679
  @pulumi.getter(name="primaryVlanId")
667
680
  def primary_vlan_id(self) -> int:
668
681
  """
669
- The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
682
+ The primary VLAN ID. The VLAN IDs of 0 and
683
+ 4095 are reserved and cannot be used in this property.
670
684
  """
671
685
  return pulumi.get(self, "primary_vlan_id")
672
686
 
@@ -674,7 +688,8 @@ class DistributedVirtualSwitchPvlanMapping(dict):
674
688
  @pulumi.getter(name="pvlanType")
675
689
  def pvlan_type(self) -> str:
676
690
  """
677
- The private VLAN type. Valid values are promiscuous, community and isolated.
691
+ The private VLAN type. Valid values are
692
+ promiscuous, community and isolated.
678
693
  """
679
694
  return pulumi.get(self, "pvlan_type")
680
695
 
@@ -682,7 +697,8 @@ class DistributedVirtualSwitchPvlanMapping(dict):
682
697
  @pulumi.getter(name="secondaryVlanId")
683
698
  def secondary_vlan_id(self) -> int:
684
699
  """
685
- The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
700
+ The secondary VLAN ID. The VLAN IDs of 0
701
+ and 4095 are reserved and cannot be used in this property.
686
702
  """
687
703
  return pulumi.get(self, "secondary_vlan_id")
688
704
 
@@ -764,12 +780,9 @@ class EntityPermissionsPermission(dict):
764
780
  role_id: str,
765
781
  user_or_group: str):
766
782
  """
767
- :param bool is_group: Whether `user_or_group` field refers to a user or a
768
- group. True for a group and false for a user.
769
- :param bool propagate: Whether or not this permission propagates down the
770
- hierarchy to sub-entities.
771
- :param str role_id: The role id of the role to be given to the user on
772
- the specified entity.
783
+ :param bool is_group: Whether user_or_group field refers to a user or a group. True for a group and false for a user.
784
+ :param bool propagate: Whether or not this permission propagates down the hierarchy to sub-entities.
785
+ :param str role_id: The role id of the role to be given to the user on the specified entity.
773
786
  :param str user_or_group: The user/group getting the permission.
774
787
  """
775
788
  pulumi.set(__self__, "is_group", is_group)
@@ -781,8 +794,7 @@ class EntityPermissionsPermission(dict):
781
794
  @pulumi.getter(name="isGroup")
782
795
  def is_group(self) -> bool:
783
796
  """
784
- Whether `user_or_group` field refers to a user or a
785
- group. True for a group and false for a user.
797
+ Whether user_or_group field refers to a user or a group. True for a group and false for a user.
786
798
  """
787
799
  return pulumi.get(self, "is_group")
788
800
 
@@ -790,8 +802,7 @@ class EntityPermissionsPermission(dict):
790
802
  @pulumi.getter
791
803
  def propagate(self) -> bool:
792
804
  """
793
- Whether or not this permission propagates down the
794
- hierarchy to sub-entities.
805
+ Whether or not this permission propagates down the hierarchy to sub-entities.
795
806
  """
796
807
  return pulumi.get(self, "propagate")
797
808
 
@@ -799,8 +810,7 @@ class EntityPermissionsPermission(dict):
799
810
  @pulumi.getter(name="roleId")
800
811
  def role_id(self) -> str:
801
812
  """
802
- The role id of the role to be given to the user on
803
- the specified entity.
813
+ The role id of the role to be given to the user on the specified entity.
804
814
  """
805
815
  return pulumi.get(self, "role_id")
806
816
 
@@ -1158,8 +1168,6 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1158
1168
  suggest = "domain_admin_password"
1159
1169
  elif key == "domainAdminUser":
1160
1170
  suggest = "domain_admin_user"
1161
- elif key == "domainOu":
1162
- suggest = "domain_ou"
1163
1171
  elif key == "fullName":
1164
1172
  suggest = "full_name"
1165
1173
  elif key == "joinDomain":
@@ -1191,7 +1199,6 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1191
1199
  auto_logon_count: Optional[int] = None,
1192
1200
  domain_admin_password: Optional[str] = None,
1193
1201
  domain_admin_user: Optional[str] = None,
1194
- domain_ou: Optional[str] = None,
1195
1202
  full_name: Optional[str] = None,
1196
1203
  join_domain: Optional[str] = None,
1197
1204
  organization_name: Optional[str] = None,
@@ -1206,7 +1213,6 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1206
1213
  :param int auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1207
1214
  :param str domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
1208
1215
  :param str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
1209
- :param str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1210
1216
  :param str full_name: The full name of the user of this virtual machine.
1211
1217
  :param str join_domain: The domain that the virtual machine should join.
1212
1218
  :param str organization_name: The organization name this virtual machine is being installed for.
@@ -1226,8 +1232,6 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1226
1232
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
1227
1233
  if domain_admin_user is not None:
1228
1234
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
1229
- if domain_ou is not None:
1230
- pulumi.set(__self__, "domain_ou", domain_ou)
1231
1235
  if full_name is not None:
1232
1236
  pulumi.set(__self__, "full_name", full_name)
1233
1237
  if join_domain is not None:
@@ -1291,14 +1295,6 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1291
1295
  """
1292
1296
  return pulumi.get(self, "domain_admin_user")
1293
1297
 
1294
- @property
1295
- @pulumi.getter(name="domainOu")
1296
- def domain_ou(self) -> Optional[str]:
1297
- """
1298
- The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1299
- """
1300
- return pulumi.get(self, "domain_ou")
1301
-
1302
1298
  @property
1303
1299
  @pulumi.getter(name="fullName")
1304
1300
  def full_name(self) -> Optional[str]:
@@ -1416,405 +1412,6 @@ class HostPortGroupPort(dict):
1416
1412
  return pulumi.get(self, "type")
1417
1413
 
1418
1414
 
1419
- @pulumi.output_type
1420
- class HostService(dict):
1421
- def __init__(__self__, *,
1422
- ntpd: Optional['outputs.HostServiceNtpd'] = None):
1423
- """
1424
- :param '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".
1425
-
1426
- > **NOTE:** `services` only supports ntpd service today.
1427
- """
1428
- if ntpd is not None:
1429
- pulumi.set(__self__, "ntpd", ntpd)
1430
-
1431
- @property
1432
- @pulumi.getter
1433
- def ntpd(self) -> Optional['outputs.HostServiceNtpd']:
1434
- """
1435
- 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".
1436
-
1437
- > **NOTE:** `services` only supports ntpd service today.
1438
- """
1439
- return pulumi.get(self, "ntpd")
1440
-
1441
-
1442
- @pulumi.output_type
1443
- class HostServiceNtpd(dict):
1444
- @staticmethod
1445
- def __key_warning(key: str):
1446
- suggest = None
1447
- if key == "ntpServers":
1448
- suggest = "ntp_servers"
1449
-
1450
- if suggest:
1451
- pulumi.log.warn(f"Key '{key}' not found in HostServiceNtpd. Access the value via the '{suggest}' property getter instead.")
1452
-
1453
- def __getitem__(self, key: str) -> Any:
1454
- HostServiceNtpd.__key_warning(key)
1455
- return super().__getitem__(key)
1456
-
1457
- def get(self, key: str, default = None) -> Any:
1458
- HostServiceNtpd.__key_warning(key)
1459
- return super().get(key, default)
1460
-
1461
- def __init__(__self__, *,
1462
- enabled: Optional[bool] = None,
1463
- ntp_servers: Optional[Sequence[str]] = None,
1464
- policy: Optional[str] = None):
1465
- """
1466
- :param bool enabled: Whether the NTP service is enabled. Default is false.
1467
- :param 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'.
1468
- """
1469
- if enabled is not None:
1470
- pulumi.set(__self__, "enabled", enabled)
1471
- if ntp_servers is not None:
1472
- pulumi.set(__self__, "ntp_servers", ntp_servers)
1473
- if policy is not None:
1474
- pulumi.set(__self__, "policy", policy)
1475
-
1476
- @property
1477
- @pulumi.getter
1478
- def enabled(self) -> Optional[bool]:
1479
- """
1480
- Whether the NTP service is enabled. Default is false.
1481
- """
1482
- return pulumi.get(self, "enabled")
1483
-
1484
- @property
1485
- @pulumi.getter(name="ntpServers")
1486
- def ntp_servers(self) -> Optional[Sequence[str]]:
1487
- return pulumi.get(self, "ntp_servers")
1488
-
1489
- @property
1490
- @pulumi.getter
1491
- def policy(self) -> Optional[str]:
1492
- """
1493
- The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1494
- """
1495
- return pulumi.get(self, "policy")
1496
-
1497
-
1498
- @pulumi.output_type
1499
- class OfflineSoftwareDepotComponent(dict):
1500
- @staticmethod
1501
- def __key_warning(key: str):
1502
- suggest = None
1503
- if key == "displayName":
1504
- suggest = "display_name"
1505
-
1506
- if suggest:
1507
- pulumi.log.warn(f"Key '{key}' not found in OfflineSoftwareDepotComponent. Access the value via the '{suggest}' property getter instead.")
1508
-
1509
- def __getitem__(self, key: str) -> Any:
1510
- OfflineSoftwareDepotComponent.__key_warning(key)
1511
- return super().__getitem__(key)
1512
-
1513
- def get(self, key: str, default = None) -> Any:
1514
- OfflineSoftwareDepotComponent.__key_warning(key)
1515
- return super().get(key, default)
1516
-
1517
- def __init__(__self__, *,
1518
- display_name: Optional[str] = None,
1519
- key: Optional[str] = None,
1520
- versions: Optional[Sequence[str]] = None):
1521
- """
1522
- :param str display_name: The name of the component. Useful for easier identification.
1523
- :param str key: The identifier of the component.
1524
- :param Sequence[str] versions: The list of available versions of the component.
1525
- """
1526
- if display_name is not None:
1527
- pulumi.set(__self__, "display_name", display_name)
1528
- if key is not None:
1529
- pulumi.set(__self__, "key", key)
1530
- if versions is not None:
1531
- pulumi.set(__self__, "versions", versions)
1532
-
1533
- @property
1534
- @pulumi.getter(name="displayName")
1535
- def display_name(self) -> Optional[str]:
1536
- """
1537
- The name of the component. Useful for easier identification.
1538
- """
1539
- return pulumi.get(self, "display_name")
1540
-
1541
- @property
1542
- @pulumi.getter
1543
- def key(self) -> Optional[str]:
1544
- """
1545
- The identifier of the component.
1546
- """
1547
- return pulumi.get(self, "key")
1548
-
1549
- @property
1550
- @pulumi.getter
1551
- def versions(self) -> Optional[Sequence[str]]:
1552
- """
1553
- The list of available versions of the component.
1554
- """
1555
- return pulumi.get(self, "versions")
1556
-
1557
-
1558
- @pulumi.output_type
1559
- class SupervisorEgressCidr(dict):
1560
- def __init__(__self__, *,
1561
- address: str,
1562
- prefix: int):
1563
- """
1564
- :param str address: Network address.
1565
- :param int prefix: Subnet prefix.
1566
- """
1567
- pulumi.set(__self__, "address", address)
1568
- pulumi.set(__self__, "prefix", prefix)
1569
-
1570
- @property
1571
- @pulumi.getter
1572
- def address(self) -> str:
1573
- """
1574
- Network address.
1575
- """
1576
- return pulumi.get(self, "address")
1577
-
1578
- @property
1579
- @pulumi.getter
1580
- def prefix(self) -> int:
1581
- """
1582
- Subnet prefix.
1583
- """
1584
- return pulumi.get(self, "prefix")
1585
-
1586
-
1587
- @pulumi.output_type
1588
- class SupervisorIngressCidr(dict):
1589
- def __init__(__self__, *,
1590
- address: str,
1591
- prefix: int):
1592
- """
1593
- :param str address: Network address.
1594
- :param int prefix: Subnet prefix.
1595
- """
1596
- pulumi.set(__self__, "address", address)
1597
- pulumi.set(__self__, "prefix", prefix)
1598
-
1599
- @property
1600
- @pulumi.getter
1601
- def address(self) -> str:
1602
- """
1603
- Network address.
1604
- """
1605
- return pulumi.get(self, "address")
1606
-
1607
- @property
1608
- @pulumi.getter
1609
- def prefix(self) -> int:
1610
- """
1611
- Subnet prefix.
1612
- """
1613
- return pulumi.get(self, "prefix")
1614
-
1615
-
1616
- @pulumi.output_type
1617
- class SupervisorManagementNetwork(dict):
1618
- @staticmethod
1619
- def __key_warning(key: str):
1620
- suggest = None
1621
- if key == "addressCount":
1622
- suggest = "address_count"
1623
- elif key == "startingAddress":
1624
- suggest = "starting_address"
1625
- elif key == "subnetMask":
1626
- suggest = "subnet_mask"
1627
-
1628
- if suggest:
1629
- pulumi.log.warn(f"Key '{key}' not found in SupervisorManagementNetwork. Access the value via the '{suggest}' property getter instead.")
1630
-
1631
- def __getitem__(self, key: str) -> Any:
1632
- SupervisorManagementNetwork.__key_warning(key)
1633
- return super().__getitem__(key)
1634
-
1635
- def get(self, key: str, default = None) -> Any:
1636
- SupervisorManagementNetwork.__key_warning(key)
1637
- return super().get(key, default)
1638
-
1639
- def __init__(__self__, *,
1640
- address_count: int,
1641
- gateway: str,
1642
- network: str,
1643
- starting_address: str,
1644
- subnet_mask: str):
1645
- """
1646
- :param int address_count: Number of addresses to allocate. Starts from 'starting_address'
1647
- :param str gateway: Gateway IP address.
1648
- :param str network: ID of the network. (e.g. a distributed port group).
1649
- :param str starting_address: Starting address of the management network range.
1650
- :param str subnet_mask: Subnet mask.
1651
- """
1652
- pulumi.set(__self__, "address_count", address_count)
1653
- pulumi.set(__self__, "gateway", gateway)
1654
- pulumi.set(__self__, "network", network)
1655
- pulumi.set(__self__, "starting_address", starting_address)
1656
- pulumi.set(__self__, "subnet_mask", subnet_mask)
1657
-
1658
- @property
1659
- @pulumi.getter(name="addressCount")
1660
- def address_count(self) -> int:
1661
- """
1662
- Number of addresses to allocate. Starts from 'starting_address'
1663
- """
1664
- return pulumi.get(self, "address_count")
1665
-
1666
- @property
1667
- @pulumi.getter
1668
- def gateway(self) -> str:
1669
- """
1670
- Gateway IP address.
1671
- """
1672
- return pulumi.get(self, "gateway")
1673
-
1674
- @property
1675
- @pulumi.getter
1676
- def network(self) -> str:
1677
- """
1678
- ID of the network. (e.g. a distributed port group).
1679
- """
1680
- return pulumi.get(self, "network")
1681
-
1682
- @property
1683
- @pulumi.getter(name="startingAddress")
1684
- def starting_address(self) -> str:
1685
- """
1686
- Starting address of the management network range.
1687
- """
1688
- return pulumi.get(self, "starting_address")
1689
-
1690
- @property
1691
- @pulumi.getter(name="subnetMask")
1692
- def subnet_mask(self) -> str:
1693
- """
1694
- Subnet mask.
1695
- """
1696
- return pulumi.get(self, "subnet_mask")
1697
-
1698
-
1699
- @pulumi.output_type
1700
- class SupervisorNamespace(dict):
1701
- @staticmethod
1702
- def __key_warning(key: str):
1703
- suggest = None
1704
- if key == "contentLibraries":
1705
- suggest = "content_libraries"
1706
- elif key == "vmClasses":
1707
- suggest = "vm_classes"
1708
-
1709
- if suggest:
1710
- pulumi.log.warn(f"Key '{key}' not found in SupervisorNamespace. Access the value via the '{suggest}' property getter instead.")
1711
-
1712
- def __getitem__(self, key: str) -> Any:
1713
- SupervisorNamespace.__key_warning(key)
1714
- return super().__getitem__(key)
1715
-
1716
- def get(self, key: str, default = None) -> Any:
1717
- SupervisorNamespace.__key_warning(key)
1718
- return super().get(key, default)
1719
-
1720
- def __init__(__self__, *,
1721
- name: str,
1722
- content_libraries: Optional[Sequence[str]] = None,
1723
- vm_classes: Optional[Sequence[str]] = None):
1724
- """
1725
- :param str name: The name of the namespace.
1726
- :param Sequence[str] content_libraries: A list of content libraries.
1727
- :param Sequence[str] vm_classes: A list of virtual machine classes.
1728
- """
1729
- pulumi.set(__self__, "name", name)
1730
- if content_libraries is not None:
1731
- pulumi.set(__self__, "content_libraries", content_libraries)
1732
- if vm_classes is not None:
1733
- pulumi.set(__self__, "vm_classes", vm_classes)
1734
-
1735
- @property
1736
- @pulumi.getter
1737
- def name(self) -> str:
1738
- """
1739
- The name of the namespace.
1740
- """
1741
- return pulumi.get(self, "name")
1742
-
1743
- @property
1744
- @pulumi.getter(name="contentLibraries")
1745
- def content_libraries(self) -> Optional[Sequence[str]]:
1746
- """
1747
- A list of content libraries.
1748
- """
1749
- return pulumi.get(self, "content_libraries")
1750
-
1751
- @property
1752
- @pulumi.getter(name="vmClasses")
1753
- def vm_classes(self) -> Optional[Sequence[str]]:
1754
- """
1755
- A list of virtual machine classes.
1756
- """
1757
- return pulumi.get(self, "vm_classes")
1758
-
1759
-
1760
- @pulumi.output_type
1761
- class SupervisorPodCidr(dict):
1762
- def __init__(__self__, *,
1763
- address: str,
1764
- prefix: int):
1765
- """
1766
- :param str address: Network address.
1767
- :param int prefix: Subnet prefix.
1768
- """
1769
- pulumi.set(__self__, "address", address)
1770
- pulumi.set(__self__, "prefix", prefix)
1771
-
1772
- @property
1773
- @pulumi.getter
1774
- def address(self) -> str:
1775
- """
1776
- Network address.
1777
- """
1778
- return pulumi.get(self, "address")
1779
-
1780
- @property
1781
- @pulumi.getter
1782
- def prefix(self) -> int:
1783
- """
1784
- Subnet prefix.
1785
- """
1786
- return pulumi.get(self, "prefix")
1787
-
1788
-
1789
- @pulumi.output_type
1790
- class SupervisorServiceCidr(dict):
1791
- def __init__(__self__, *,
1792
- address: str,
1793
- prefix: int):
1794
- """
1795
- :param str address: Network address.
1796
- :param int prefix: Subnet prefix.
1797
- """
1798
- pulumi.set(__self__, "address", address)
1799
- pulumi.set(__self__, "prefix", prefix)
1800
-
1801
- @property
1802
- @pulumi.getter
1803
- def address(self) -> str:
1804
- """
1805
- Network address.
1806
- """
1807
- return pulumi.get(self, "address")
1808
-
1809
- @property
1810
- @pulumi.getter
1811
- def prefix(self) -> int:
1812
- """
1813
- Subnet prefix.
1814
- """
1815
- return pulumi.get(self, "prefix")
1816
-
1817
-
1818
1415
  @pulumi.output_type
1819
1416
  class VirtualMachineCdrom(dict):
1820
1417
  @staticmethod
@@ -1845,11 +1442,15 @@ class VirtualMachineCdrom(dict):
1845
1442
  key: Optional[int] = None,
1846
1443
  path: Optional[str] = None):
1847
1444
  """
1848
- :param bool client_device: Indicates whether the device should be mapped to a remote client device
1849
- :param str datastore_id: The datastore ID the ISO is located on.
1445
+ :param bool client_device: Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1446
+ :param str datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1850
1447
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
1851
1448
  :param int key: The ID of the device within the virtual machine.
1852
- :param str path: The path to the ISO file on the datastore.
1449
+ :param str path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1450
+
1451
+ > **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 .
1452
+
1453
+ > **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.
1853
1454
  """
1854
1455
  if client_device is not None:
1855
1456
  pulumi.set(__self__, "client_device", client_device)
@@ -1866,7 +1467,7 @@ class VirtualMachineCdrom(dict):
1866
1467
  @pulumi.getter(name="clientDevice")
1867
1468
  def client_device(self) -> Optional[bool]:
1868
1469
  """
1869
- Indicates whether the device should be mapped to a remote client device
1470
+ Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1870
1471
  """
1871
1472
  return pulumi.get(self, "client_device")
1872
1473
 
@@ -1874,7 +1475,7 @@ class VirtualMachineCdrom(dict):
1874
1475
  @pulumi.getter(name="datastoreId")
1875
1476
  def datastore_id(self) -> Optional[str]:
1876
1477
  """
1877
- The datastore ID the ISO is located on.
1478
+ The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1878
1479
  """
1879
1480
  return pulumi.get(self, "datastore_id")
1880
1481
 
@@ -1898,7 +1499,11 @@ class VirtualMachineCdrom(dict):
1898
1499
  @pulumi.getter
1899
1500
  def path(self) -> Optional[str]:
1900
1501
  """
1901
- The path to the ISO file on the datastore.
1502
+ The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1503
+
1504
+ > **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 .
1505
+
1506
+ > **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.
1902
1507
  """
1903
1508
  return pulumi.get(self, "path")
1904
1509
 
@@ -2097,7 +1702,7 @@ class VirtualMachineCloneCustomize(dict):
2097
1702
  :param 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.
2098
1703
  :param 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.
2099
1704
  :param 'VirtualMachineCloneCustomizeLinuxOptionsArgs' linux_options: A list of configuration options specific to Linux virtual machines.
2100
- :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification of network interface configuration options.
1705
+ :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2101
1706
  :param 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.
2102
1707
  :param 'VirtualMachineCloneCustomizeWindowsOptionsArgs' windows_options: A list of configuration options specific to Windows virtual machines.
2103
1708
  :param str windows_sysprep_text: Use this option to specify a windows sysprep file directly.
@@ -2165,7 +1770,7 @@ class VirtualMachineCloneCustomize(dict):
2165
1770
  @pulumi.getter(name="networkInterfaces")
2166
1771
  def network_interfaces(self) -> Optional[Sequence['outputs.VirtualMachineCloneCustomizeNetworkInterface']]:
2167
1772
  """
2168
- A specification of network interface configuration options.
1773
+ A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2169
1774
  """
2170
1775
  return pulumi.get(self, "network_interfaces")
2171
1776
 
@@ -2405,8 +2010,6 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2405
2010
  suggest = "domain_admin_password"
2406
2011
  elif key == "domainAdminUser":
2407
2012
  suggest = "domain_admin_user"
2408
- elif key == "domainOu":
2409
- suggest = "domain_ou"
2410
2013
  elif key == "fullName":
2411
2014
  suggest = "full_name"
2412
2015
  elif key == "joinDomain":
@@ -2438,7 +2041,6 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2438
2041
  auto_logon_count: Optional[int] = None,
2439
2042
  domain_admin_password: Optional[str] = None,
2440
2043
  domain_admin_user: Optional[str] = None,
2441
- domain_ou: Optional[str] = None,
2442
2044
  full_name: Optional[str] = None,
2443
2045
  join_domain: Optional[str] = None,
2444
2046
  organization_name: Optional[str] = None,
@@ -2453,7 +2055,6 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2453
2055
  :param int auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
2454
2056
  :param str domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
2455
2057
  :param str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
2456
- :param str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
2457
2058
  :param str full_name: The full name of the user of this virtual machine.
2458
2059
  :param str join_domain: The domain that the virtual machine should join.
2459
2060
  :param str organization_name: The organization name this virtual machine is being installed for.
@@ -2473,8 +2074,6 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2473
2074
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
2474
2075
  if domain_admin_user is not None:
2475
2076
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
2476
- if domain_ou is not None:
2477
- pulumi.set(__self__, "domain_ou", domain_ou)
2478
2077
  if full_name is not None:
2479
2078
  pulumi.set(__self__, "full_name", full_name)
2480
2079
  if join_domain is not None:
@@ -2538,14 +2137,6 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2538
2137
  """
2539
2138
  return pulumi.get(self, "domain_admin_user")
2540
2139
 
2541
- @property
2542
- @pulumi.getter(name="domainOu")
2543
- def domain_ou(self) -> Optional[str]:
2544
- """
2545
- The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
2546
- """
2547
- return pulumi.get(self, "domain_ou")
2548
-
2549
2140
  @property
2550
2141
  @pulumi.getter(name="fullName")
2551
2142
  def full_name(self) -> Optional[str]:
@@ -2674,26 +2265,36 @@ class VirtualMachineDisk(dict):
2674
2265
  write_through: Optional[bool] = None):
2675
2266
  """
2676
2267
  :param str label: A unique label for this disk.
2677
- :param bool attach: If this is true, the disk is attached instead of created. Implies keep_on_remove.
2678
- :param str controller_type: The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2679
- :param str datastore_id: The datastore ID for this virtual disk, if different than the virtual machine.
2268
+ :param 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.
2269
+
2270
+ > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2271
+ :param 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`.
2272
+ :param str datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2680
2273
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2681
- :param 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.
2682
- :param str disk_sharing: The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2683
- :param 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.
2684
- :param int io_limit: The upper limit of IOPS that this disk can use.
2685
- :param int io_reservation: The I/O guarantee that this disk has, in IOPS.
2686
- :param int io_share_count: The share count for this disk when the share level is custom.
2687
- :param str io_share_level: The share allocation level for this disk. Can be one of low, normal, high, or custom.
2688
- :param bool keep_on_remove: Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2274
+ :param 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].
2275
+
2276
+ [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
2277
+ :param str disk_sharing: The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2278
+
2279
+ > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2280
+ :param 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`.
2281
+ :param int io_limit: The upper limit of IOPS that this disk can use. The default is no limit.
2282
+ :param int io_reservation: The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2283
+ :param int io_share_count: The share count for the virtual disk when the share level is `custom`.
2284
+ :param str io_share_level: The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2285
+ :param bool keep_on_remove: Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2689
2286
  :param int key: The ID of the device within the virtual machine.
2690
- :param 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.
2691
- :param int size: The size of the disk, in GB.
2692
- :param str storage_policy_id: The ID of the storage policy to assign to the virtual disk in VM.
2693
- :param bool thin_provisioned: If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2694
- :param int unit_number: The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2695
- :param str uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
2696
- :param bool write_through: If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2287
+ :param str path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2288
+
2289
+ > **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 .
2290
+
2291
+ > **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.
2292
+ :param int size: The size of the disk, in GB. Must be a whole number.
2293
+ :param str storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
2294
+ :param 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`.
2295
+ :param 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.
2296
+ :param str uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2297
+ :param bool write_through: If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2697
2298
  """
2698
2299
  pulumi.set(__self__, "label", label)
2699
2300
  if attach is not None:
@@ -2749,7 +2350,9 @@ class VirtualMachineDisk(dict):
2749
2350
  @pulumi.getter
2750
2351
  def attach(self) -> Optional[bool]:
2751
2352
  """
2752
- If this is true, the disk is attached instead of created. Implies keep_on_remove.
2353
+ 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.
2354
+
2355
+ > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2753
2356
  """
2754
2357
  return pulumi.get(self, "attach")
2755
2358
 
@@ -2757,7 +2360,7 @@ class VirtualMachineDisk(dict):
2757
2360
  @pulumi.getter(name="controllerType")
2758
2361
  def controller_type(self) -> Optional[str]:
2759
2362
  """
2760
- The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2363
+ 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`.
2761
2364
  """
2762
2365
  return pulumi.get(self, "controller_type")
2763
2366
 
@@ -2765,7 +2368,7 @@ class VirtualMachineDisk(dict):
2765
2368
  @pulumi.getter(name="datastoreId")
2766
2369
  def datastore_id(self) -> Optional[str]:
2767
2370
  """
2768
- The datastore ID for this virtual disk, if different than the virtual machine.
2371
+ The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2769
2372
  """
2770
2373
  return pulumi.get(self, "datastore_id")
2771
2374
 
@@ -2781,7 +2384,9 @@ class VirtualMachineDisk(dict):
2781
2384
  @pulumi.getter(name="diskMode")
2782
2385
  def disk_mode(self) -> Optional[str]:
2783
2386
  """
2784
- 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.
2387
+ 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].
2388
+
2389
+ [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
2785
2390
  """
2786
2391
  return pulumi.get(self, "disk_mode")
2787
2392
 
@@ -2789,7 +2394,9 @@ class VirtualMachineDisk(dict):
2789
2394
  @pulumi.getter(name="diskSharing")
2790
2395
  def disk_sharing(self) -> Optional[str]:
2791
2396
  """
2792
- The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2397
+ The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2398
+
2399
+ > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2793
2400
  """
2794
2401
  return pulumi.get(self, "disk_sharing")
2795
2402
 
@@ -2797,7 +2404,7 @@ class VirtualMachineDisk(dict):
2797
2404
  @pulumi.getter(name="eagerlyScrub")
2798
2405
  def eagerly_scrub(self) -> Optional[bool]:
2799
2406
  """
2800
- 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.
2407
+ 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`.
2801
2408
  """
2802
2409
  return pulumi.get(self, "eagerly_scrub")
2803
2410
 
@@ -2805,7 +2412,7 @@ class VirtualMachineDisk(dict):
2805
2412
  @pulumi.getter(name="ioLimit")
2806
2413
  def io_limit(self) -> Optional[int]:
2807
2414
  """
2808
- The upper limit of IOPS that this disk can use.
2415
+ The upper limit of IOPS that this disk can use. The default is no limit.
2809
2416
  """
2810
2417
  return pulumi.get(self, "io_limit")
2811
2418
 
@@ -2813,7 +2420,7 @@ class VirtualMachineDisk(dict):
2813
2420
  @pulumi.getter(name="ioReservation")
2814
2421
  def io_reservation(self) -> Optional[int]:
2815
2422
  """
2816
- The I/O guarantee that this disk has, in IOPS.
2423
+ The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2817
2424
  """
2818
2425
  return pulumi.get(self, "io_reservation")
2819
2426
 
@@ -2821,7 +2428,7 @@ class VirtualMachineDisk(dict):
2821
2428
  @pulumi.getter(name="ioShareCount")
2822
2429
  def io_share_count(self) -> Optional[int]:
2823
2430
  """
2824
- The share count for this disk when the share level is custom.
2431
+ The share count for the virtual disk when the share level is `custom`.
2825
2432
  """
2826
2433
  return pulumi.get(self, "io_share_count")
2827
2434
 
@@ -2829,7 +2436,7 @@ class VirtualMachineDisk(dict):
2829
2436
  @pulumi.getter(name="ioShareLevel")
2830
2437
  def io_share_level(self) -> Optional[str]:
2831
2438
  """
2832
- The share allocation level for this disk. Can be one of low, normal, high, or custom.
2439
+ The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2833
2440
  """
2834
2441
  return pulumi.get(self, "io_share_level")
2835
2442
 
@@ -2837,7 +2444,7 @@ class VirtualMachineDisk(dict):
2837
2444
  @pulumi.getter(name="keepOnRemove")
2838
2445
  def keep_on_remove(self) -> Optional[bool]:
2839
2446
  """
2840
- Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2447
+ Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2841
2448
  """
2842
2449
  return pulumi.get(self, "keep_on_remove")
2843
2450
 
@@ -2853,7 +2460,11 @@ class VirtualMachineDisk(dict):
2853
2460
  @pulumi.getter
2854
2461
  def path(self) -> Optional[str]:
2855
2462
  """
2856
- 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.
2463
+ The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2464
+
2465
+ > **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 .
2466
+
2467
+ > **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.
2857
2468
  """
2858
2469
  return pulumi.get(self, "path")
2859
2470
 
@@ -2861,7 +2472,7 @@ class VirtualMachineDisk(dict):
2861
2472
  @pulumi.getter
2862
2473
  def size(self) -> Optional[int]:
2863
2474
  """
2864
- The size of the disk, in GB.
2475
+ The size of the disk, in GB. Must be a whole number.
2865
2476
  """
2866
2477
  return pulumi.get(self, "size")
2867
2478
 
@@ -2869,7 +2480,7 @@ class VirtualMachineDisk(dict):
2869
2480
  @pulumi.getter(name="storagePolicyId")
2870
2481
  def storage_policy_id(self) -> Optional[str]:
2871
2482
  """
2872
- The ID of the storage policy to assign to the virtual disk in VM.
2483
+ The UUID of the storage policy to assign to the virtual disk.
2873
2484
  """
2874
2485
  return pulumi.get(self, "storage_policy_id")
2875
2486
 
@@ -2877,7 +2488,7 @@ class VirtualMachineDisk(dict):
2877
2488
  @pulumi.getter(name="thinProvisioned")
2878
2489
  def thin_provisioned(self) -> Optional[bool]:
2879
2490
  """
2880
- If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2491
+ 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`.
2881
2492
  """
2882
2493
  return pulumi.get(self, "thin_provisioned")
2883
2494
 
@@ -2885,7 +2496,7 @@ class VirtualMachineDisk(dict):
2885
2496
  @pulumi.getter(name="unitNumber")
2886
2497
  def unit_number(self) -> Optional[int]:
2887
2498
  """
2888
- The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2499
+ 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.
2889
2500
  """
2890
2501
  return pulumi.get(self, "unit_number")
2891
2502
 
@@ -2893,7 +2504,7 @@ class VirtualMachineDisk(dict):
2893
2504
  @pulumi.getter
2894
2505
  def uuid(self) -> Optional[str]:
2895
2506
  """
2896
- The UUID of the virtual machine. Also exposed as the `id` of the resource.
2507
+ The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2897
2508
  """
2898
2509
  return pulumi.get(self, "uuid")
2899
2510
 
@@ -2901,7 +2512,7 @@ class VirtualMachineDisk(dict):
2901
2512
  @pulumi.getter(name="writeThrough")
2902
2513
  def write_through(self) -> Optional[bool]:
2903
2514
  """
2904
- If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2515
+ If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2905
2516
  """
2906
2517
  return pulumi.get(self, "write_through")
2907
2518
 
@@ -2959,18 +2570,18 @@ class VirtualMachineNetworkInterface(dict):
2959
2570
  physical_function: Optional[str] = None,
2960
2571
  use_static_mac: Optional[bool] = None):
2961
2572
  """
2962
- :param str network_id: The ID of the network to connect this network interface to.
2963
- :param str adapter_type: The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2964
- :param int bandwidth_limit: The upper bandwidth limit of this network interface, in Mbits/sec.
2965
- :param int bandwidth_reservation: The bandwidth reservation of this network interface, in Mbits/sec.
2966
- :param int bandwidth_share_count: The share count for this network interface when the share level is custom.
2967
- :param str bandwidth_share_level: The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2573
+ :param str network_id: The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2574
+ :param str adapter_type: The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2575
+ :param 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`.
2576
+ :param int bandwidth_reservation: The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
2577
+ :param 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`.
2578
+ :param 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`.
2968
2579
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2969
2580
  :param int key: The ID of the device within the virtual machine.
2970
- :param str mac_address: The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2971
- :param str ovf_mapping: Mapping of network interface to OVF network.
2581
+ :param 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.
2582
+ :param 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.
2972
2583
  :param str physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
2973
- :param bool use_static_mac: If true, the mac_address field is treated as a static MAC address and set accordingly.
2584
+ :param 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`.
2974
2585
  """
2975
2586
  pulumi.set(__self__, "network_id", network_id)
2976
2587
  if adapter_type is not None:
@@ -3000,7 +2611,7 @@ class VirtualMachineNetworkInterface(dict):
3000
2611
  @pulumi.getter(name="networkId")
3001
2612
  def network_id(self) -> str:
3002
2613
  """
3003
- The ID of the network to connect this network interface to.
2614
+ The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
3004
2615
  """
3005
2616
  return pulumi.get(self, "network_id")
3006
2617
 
@@ -3008,7 +2619,7 @@ class VirtualMachineNetworkInterface(dict):
3008
2619
  @pulumi.getter(name="adapterType")
3009
2620
  def adapter_type(self) -> Optional[str]:
3010
2621
  """
3011
- The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2622
+ The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
3012
2623
  """
3013
2624
  return pulumi.get(self, "adapter_type")
3014
2625
 
@@ -3016,7 +2627,7 @@ class VirtualMachineNetworkInterface(dict):
3016
2627
  @pulumi.getter(name="bandwidthLimit")
3017
2628
  def bandwidth_limit(self) -> Optional[int]:
3018
2629
  """
3019
- The upper bandwidth limit of this network interface, in Mbits/sec.
2630
+ The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
3020
2631
  """
3021
2632
  return pulumi.get(self, "bandwidth_limit")
3022
2633
 
@@ -3024,7 +2635,7 @@ class VirtualMachineNetworkInterface(dict):
3024
2635
  @pulumi.getter(name="bandwidthReservation")
3025
2636
  def bandwidth_reservation(self) -> Optional[int]:
3026
2637
  """
3027
- The bandwidth reservation of this network interface, in Mbits/sec.
2638
+ The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
3028
2639
  """
3029
2640
  return pulumi.get(self, "bandwidth_reservation")
3030
2641
 
@@ -3032,7 +2643,7 @@ class VirtualMachineNetworkInterface(dict):
3032
2643
  @pulumi.getter(name="bandwidthShareCount")
3033
2644
  def bandwidth_share_count(self) -> Optional[int]:
3034
2645
  """
3035
- The share count for this network interface when the share level is custom.
2646
+ The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
3036
2647
  """
3037
2648
  return pulumi.get(self, "bandwidth_share_count")
3038
2649
 
@@ -3040,7 +2651,7 @@ class VirtualMachineNetworkInterface(dict):
3040
2651
  @pulumi.getter(name="bandwidthShareLevel")
3041
2652
  def bandwidth_share_level(self) -> Optional[str]:
3042
2653
  """
3043
- The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2654
+ 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`.
3044
2655
  """
3045
2656
  return pulumi.get(self, "bandwidth_share_level")
3046
2657
 
@@ -3064,7 +2675,7 @@ class VirtualMachineNetworkInterface(dict):
3064
2675
  @pulumi.getter(name="macAddress")
3065
2676
  def mac_address(self) -> Optional[str]:
3066
2677
  """
3067
- The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2678
+ 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.
3068
2679
  """
3069
2680
  return pulumi.get(self, "mac_address")
3070
2681
 
@@ -3072,7 +2683,7 @@ class VirtualMachineNetworkInterface(dict):
3072
2683
  @pulumi.getter(name="ovfMapping")
3073
2684
  def ovf_mapping(self) -> Optional[str]:
3074
2685
  """
3075
- Mapping of network interface to OVF network.
2686
+ Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
3076
2687
  """
3077
2688
  return pulumi.get(self, "ovf_mapping")
3078
2689
 
@@ -3088,7 +2699,7 @@ class VirtualMachineNetworkInterface(dict):
3088
2699
  @pulumi.getter(name="useStaticMac")
3089
2700
  def use_static_mac(self) -> Optional[bool]:
3090
2701
  """
3091
- If true, the mac_address field is treated as a static MAC address and set accordingly.
2702
+ 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`.
3092
2703
  """
3093
2704
  return pulumi.get(self, "use_static_mac")
3094
2705
 
@@ -3328,10 +2939,10 @@ class VnicIpv4(dict):
3328
2939
  ip: Optional[str] = None,
3329
2940
  netmask: Optional[str] = None):
3330
2941
  """
3331
- :param bool dhcp: Use DHCP to configure the interface's IPv4 stack.
3332
- :param str gw: IP address of the default gateway, if DHCP is not set.
3333
- :param str ip: address of the interface, if DHCP is not set.
3334
- :param str netmask: netmask of the interface, if DHCP is not set.
2942
+ :param bool dhcp: Use DHCP to configure the interface's IPv6 stack.
2943
+ :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set.
2944
+ :param str ip: Address of the interface, if DHCP is not set.
2945
+ :param str netmask: Netmask of the interface, if DHCP is not set.
3335
2946
  """
3336
2947
  if dhcp is not None:
3337
2948
  pulumi.set(__self__, "dhcp", dhcp)
@@ -3346,7 +2957,7 @@ class VnicIpv4(dict):
3346
2957
  @pulumi.getter
3347
2958
  def dhcp(self) -> Optional[bool]:
3348
2959
  """
3349
- Use DHCP to configure the interface's IPv4 stack.
2960
+ Use DHCP to configure the interface's IPv6 stack.
3350
2961
  """
3351
2962
  return pulumi.get(self, "dhcp")
3352
2963
 
@@ -3354,7 +2965,7 @@ class VnicIpv4(dict):
3354
2965
  @pulumi.getter
3355
2966
  def gw(self) -> Optional[str]:
3356
2967
  """
3357
- IP address of the default gateway, if DHCP is not set.
2968
+ IP address of the default gateway, if DHCP or autoconfig is not set.
3358
2969
  """
3359
2970
  return pulumi.get(self, "gw")
3360
2971
 
@@ -3362,7 +2973,7 @@ class VnicIpv4(dict):
3362
2973
  @pulumi.getter
3363
2974
  def ip(self) -> Optional[str]:
3364
2975
  """
3365
- address of the interface, if DHCP is not set.
2976
+ Address of the interface, if DHCP is not set.
3366
2977
  """
3367
2978
  return pulumi.get(self, "ip")
3368
2979
 
@@ -3370,7 +2981,7 @@ class VnicIpv4(dict):
3370
2981
  @pulumi.getter
3371
2982
  def netmask(self) -> Optional[str]:
3372
2983
  """
3373
- netmask of the interface, if DHCP is not set.
2984
+ Netmask of the interface, if DHCP is not set.
3374
2985
  """
3375
2986
  return pulumi.get(self, "netmask")
3376
2987
 
@@ -3385,7 +2996,7 @@ class VnicIpv6(dict):
3385
2996
  """
3386
2997
  :param Sequence[str] addresses: List of IPv6 addresses
3387
2998
  :param bool autoconfig: Use IPv6 Autoconfiguration (RFC2462).
3388
- :param bool dhcp: Use DHCP to configure the interface's IPv4 stack.
2999
+ :param bool dhcp: Use DHCP to configure the interface's IPv6 stack.
3389
3000
  :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set.
3390
3001
  """
3391
3002
  if addresses is not None:
@@ -3417,7 +3028,7 @@ class VnicIpv6(dict):
3417
3028
  @pulumi.getter
3418
3029
  def dhcp(self) -> Optional[bool]:
3419
3030
  """
3420
- Use DHCP to configure the interface's IPv4 stack.
3031
+ Use DHCP to configure the interface's IPv6 stack.
3421
3032
  """
3422
3033
  return pulumi.get(self, "dhcp")
3423
3034
 
@@ -3646,7 +3257,6 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3646
3257
  auto_logon_count: int,
3647
3258
  computer_name: str,
3648
3259
  domain_admin_user: str,
3649
- domain_ou: str,
3650
3260
  join_domain: str,
3651
3261
  run_once_command_lists: Sequence[str],
3652
3262
  time_zone: int,
@@ -3658,7 +3268,6 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3658
3268
  :param int auto_logon_count: Specifies how many times the guest operating system should auto-logon the Administrator account when `auto_logon` is `true`.
3659
3269
  :param str computer_name: The hostname for this virtual machine.
3660
3270
  :param str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
3661
- :param str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3662
3271
  :param str join_domain: The Active Directory domain for the virtual machine to join.
3663
3272
  :param Sequence[str] run_once_command_lists: A list of commands to run at first user logon, after guest customization.
3664
3273
  :param int time_zone: The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
@@ -3670,7 +3279,6 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3670
3279
  pulumi.set(__self__, "auto_logon_count", auto_logon_count)
3671
3280
  pulumi.set(__self__, "computer_name", computer_name)
3672
3281
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
3673
- pulumi.set(__self__, "domain_ou", domain_ou)
3674
3282
  pulumi.set(__self__, "join_domain", join_domain)
3675
3283
  pulumi.set(__self__, "run_once_command_lists", run_once_command_lists)
3676
3284
  pulumi.set(__self__, "time_zone", time_zone)
@@ -3718,14 +3326,6 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3718
3326
  """
3719
3327
  return pulumi.get(self, "domain_admin_user")
3720
3328
 
3721
- @property
3722
- @pulumi.getter(name="domainOu")
3723
- def domain_ou(self) -> str:
3724
- """
3725
- The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3726
- """
3727
- return pulumi.get(self, "domain_ou")
3728
-
3729
3329
  @property
3730
3330
  @pulumi.getter(name="joinDomain")
3731
3331
  def join_domain(self) -> str:
@@ -3778,14 +3378,13 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3778
3378
  """
3779
3379
  :param bool disk_snapshot_supported: Indicates whether the GPU plugin on this host is
3780
3380
  capable of disk-only snapshots when VM is not powered off.
3781
- :param bool memory_snapshot_supported: Indicates whether the GPU plugin on this host
3782
- is capable of memory snapshots.
3783
- :param bool migrate_supported: Indicates whether the GPU plugin on this host is
3784
- capable of migration.
3785
- :param bool suspend_supported: Indicates whether the GPU plugin on this host is
3786
- capable of suspend-resume.
3787
- :param str vgpu: Name of a particular vGPU available as a shared GPU device (vGPU
3788
- profile).
3381
+ :param bool memory_snapshot_supported: Indicates whether the GPU plugin on this host is
3382
+ capable of memory snapshots.
3383
+ :param bool migrate_supported: Indicates whether the GPU plugin on this host is capable
3384
+ of migration.
3385
+ :param bool suspend_supported: Indicates whether the GPU plugin on this host is capable
3386
+ of suspend-resume.
3387
+ :param str vgpu: Name of a particular vGPU available as a shared GPU device (vGPU profile).
3789
3388
  """
3790
3389
  pulumi.set(__self__, "disk_snapshot_supported", disk_snapshot_supported)
3791
3390
  pulumi.set(__self__, "memory_snapshot_supported", memory_snapshot_supported)
@@ -3806,8 +3405,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3806
3405
  @pulumi.getter(name="memorySnapshotSupported")
3807
3406
  def memory_snapshot_supported(self) -> bool:
3808
3407
  """
3809
- Indicates whether the GPU plugin on this host
3810
- is capable of memory snapshots.
3408
+ Indicates whether the GPU plugin on this host is
3409
+ capable of memory snapshots.
3811
3410
  """
3812
3411
  return pulumi.get(self, "memory_snapshot_supported")
3813
3412
 
@@ -3815,8 +3414,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3815
3414
  @pulumi.getter(name="migrateSupported")
3816
3415
  def migrate_supported(self) -> bool:
3817
3416
  """
3818
- Indicates whether the GPU plugin on this host is
3819
- capable of migration.
3417
+ Indicates whether the GPU plugin on this host is capable
3418
+ of migration.
3820
3419
  """
3821
3420
  return pulumi.get(self, "migrate_supported")
3822
3421
 
@@ -3824,8 +3423,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3824
3423
  @pulumi.getter(name="suspendSupported")
3825
3424
  def suspend_supported(self) -> bool:
3826
3425
  """
3827
- Indicates whether the GPU plugin on this host is
3828
- capable of suspend-resume.
3426
+ Indicates whether the GPU plugin on this host is capable
3427
+ of suspend-resume.
3829
3428
  """
3830
3429
  return pulumi.get(self, "suspend_supported")
3831
3430
 
@@ -3833,8 +3432,7 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3833
3432
  @pulumi.getter
3834
3433
  def vgpu(self) -> str:
3835
3434
  """
3836
- Name of a particular vGPU available as a shared GPU device (vGPU
3837
- profile).
3435
+ Name of a particular vGPU available as a shared GPU device (vGPU profile).
3838
3436
  """
3839
3437
  return pulumi.get(self, "vgpu")
3840
3438
 
@@ -3913,21 +3511,21 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3913
3511
  bandwidth_reservation: Optional[int] = None,
3914
3512
  bandwidth_share_level: Optional[str] = None):
3915
3513
  """
3916
- :param str adapter_type: The network interface types for each network interface found
3917
- on the virtual machine, in device bus order. Will be one of `e1000`,
3918
- `e1000e`, `vmxnet3vrdma`, or `vmxnet3`.
3514
+ :param str adapter_type: The network interface types for each network interface found
3515
+ on the virtual machine, in device bus order. Will be one of `e1000`, `e1000e`,
3516
+ `vmxnet3vrdma`, or `vmxnet3`.
3919
3517
  :param int bandwidth_share_count: The share count for this network interface when the
3920
3518
  share level is custom.
3921
3519
  :param str mac_address: The MAC address of this network interface.
3922
- :param str network_id: The managed object reference ID of the network this interface
3923
- is connected to.
3520
+ :param str network_id: The managed object reference ID of the network this interface is
3521
+ connected to.
3924
3522
  :param str physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
3925
- :param int bandwidth_limit: The upper bandwidth limit of this network interface,
3523
+ :param int bandwidth_limit: The upper bandwidth limit of this network interface,
3926
3524
  in Mbits/sec.
3927
- :param int bandwidth_reservation: The bandwidth reservation of this network
3928
- interface, in Mbits/sec.
3929
- :param str bandwidth_share_level: The bandwidth share allocation level for this
3930
- interface. Can be one of `low`, `normal`, `high`, or `custom`.
3525
+ :param int bandwidth_reservation: The bandwidth reservation of this network interface,
3526
+ in Mbits/sec.
3527
+ :param str bandwidth_share_level: The bandwidth share allocation level for this interface.
3528
+ Can be one of `low`, `normal`, `high`, or `custom`.
3931
3529
  """
3932
3530
  pulumi.set(__self__, "adapter_type", adapter_type)
3933
3531
  pulumi.set(__self__, "bandwidth_share_count", bandwidth_share_count)
@@ -3945,9 +3543,9 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3945
3543
  @pulumi.getter(name="adapterType")
3946
3544
  def adapter_type(self) -> str:
3947
3545
  """
3948
- The network interface types for each network interface found
3949
- on the virtual machine, in device bus order. Will be one of `e1000`,
3950
- `e1000e`, `vmxnet3vrdma`, or `vmxnet3`.
3546
+ The network interface types for each network interface found
3547
+ on the virtual machine, in device bus order. Will be one of `e1000`, `e1000e`,
3548
+ `vmxnet3vrdma`, or `vmxnet3`.
3951
3549
  """
3952
3550
  return pulumi.get(self, "adapter_type")
3953
3551
 
@@ -3972,8 +3570,8 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3972
3570
  @pulumi.getter(name="networkId")
3973
3571
  def network_id(self) -> str:
3974
3572
  """
3975
- The managed object reference ID of the network this interface
3976
- is connected to.
3573
+ The managed object reference ID of the network this interface is
3574
+ connected to.
3977
3575
  """
3978
3576
  return pulumi.get(self, "network_id")
3979
3577
 
@@ -3989,7 +3587,7 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3989
3587
  @pulumi.getter(name="bandwidthLimit")
3990
3588
  def bandwidth_limit(self) -> Optional[int]:
3991
3589
  """
3992
- The upper bandwidth limit of this network interface,
3590
+ The upper bandwidth limit of this network interface,
3993
3591
  in Mbits/sec.
3994
3592
  """
3995
3593
  return pulumi.get(self, "bandwidth_limit")
@@ -3998,8 +3596,8 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3998
3596
  @pulumi.getter(name="bandwidthReservation")
3999
3597
  def bandwidth_reservation(self) -> Optional[int]:
4000
3598
  """
4001
- The bandwidth reservation of this network
4002
- interface, in Mbits/sec.
3599
+ The bandwidth reservation of this network interface,
3600
+ in Mbits/sec.
4003
3601
  """
4004
3602
  return pulumi.get(self, "bandwidth_reservation")
4005
3603
 
@@ -4007,8 +3605,8 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
4007
3605
  @pulumi.getter(name="bandwidthShareLevel")
4008
3606
  def bandwidth_share_level(self) -> Optional[str]:
4009
3607
  """
4010
- The bandwidth share allocation level for this
4011
- interface. Can be one of `low`, `normal`, `high`, or `custom`.
3608
+ The bandwidth share allocation level for this interface.
3609
+ Can be one of `low`, `normal`, `high`, or `custom`.
4012
3610
  """
4013
3611
  return pulumi.get(self, "bandwidth_share_level")
4014
3612