pulumi-vsphere 4.10.0a1710245029__py3-none-any.whl → 4.10.2__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 (64) hide show
  1. pulumi_vsphere/__init__.py +28 -0
  2. pulumi_vsphere/_inputs.py +566 -236
  3. pulumi_vsphere/_utilities.py +35 -0
  4. pulumi_vsphere/compute_cluster.py +747 -1477
  5. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +28 -20
  6. pulumi_vsphere/datacenter.py +33 -40
  7. pulumi_vsphere/datastore_cluster.py +154 -364
  8. pulumi_vsphere/distributed_port_group.py +126 -182
  9. pulumi_vsphere/distributed_virtual_switch.py +301 -819
  10. pulumi_vsphere/entity_permissions.py +56 -35
  11. pulumi_vsphere/file.py +16 -24
  12. pulumi_vsphere/folder.py +7 -28
  13. pulumi_vsphere/get_compute_cluster.py +0 -4
  14. pulumi_vsphere/get_compute_cluster_host_group.py +20 -20
  15. pulumi_vsphere/get_content_library.py +10 -10
  16. pulumi_vsphere/get_content_library_item.py +12 -8
  17. pulumi_vsphere/get_custom_attribute.py +0 -4
  18. pulumi_vsphere/get_datacenter.py +0 -4
  19. pulumi_vsphere/get_datastore.py +9 -13
  20. pulumi_vsphere/get_datastore_cluster.py +0 -4
  21. pulumi_vsphere/get_datastore_stats.py +38 -44
  22. pulumi_vsphere/get_distributed_virtual_switch.py +2 -4
  23. pulumi_vsphere/get_dynamic.py +18 -20
  24. pulumi_vsphere/get_folder.py +10 -6
  25. pulumi_vsphere/get_guest_os_customization.py +8 -47
  26. pulumi_vsphere/get_host.py +0 -4
  27. pulumi_vsphere/get_host_base_images.py +97 -0
  28. pulumi_vsphere/get_host_pci_device.py +8 -14
  29. pulumi_vsphere/get_host_thumbprint.py +12 -16
  30. pulumi_vsphere/get_host_vgpu_profile.py +4 -10
  31. pulumi_vsphere/get_license.py +2 -5
  32. pulumi_vsphere/get_network.py +14 -18
  33. pulumi_vsphere/get_policy.py +0 -4
  34. pulumi_vsphere/get_resource_pool.py +14 -18
  35. pulumi_vsphere/get_role.py +4 -8
  36. pulumi_vsphere/get_tag.py +0 -4
  37. pulumi_vsphere/get_tag_category.py +0 -4
  38. pulumi_vsphere/get_vapp_container.py +0 -4
  39. pulumi_vsphere/get_virtual_machine.py +58 -41
  40. pulumi_vsphere/get_vmfs_disks.py +0 -4
  41. pulumi_vsphere/guest_os_customization.py +50 -0
  42. pulumi_vsphere/ha_vm_override.py +189 -378
  43. pulumi_vsphere/host.py +0 -20
  44. pulumi_vsphere/host_port_group.py +12 -24
  45. pulumi_vsphere/host_virtual_switch.py +140 -287
  46. pulumi_vsphere/license.py +0 -32
  47. pulumi_vsphere/nas_datastore.py +7 -7
  48. pulumi_vsphere/offline_software_depot.py +180 -0
  49. pulumi_vsphere/outputs.py +591 -270
  50. pulumi_vsphere/provider.py +2 -6
  51. pulumi_vsphere/pulumi-plugin.json +2 -1
  52. pulumi_vsphere/resource_pool.py +50 -24
  53. pulumi_vsphere/supervisor.py +962 -0
  54. pulumi_vsphere/virtual_disk.py +14 -20
  55. pulumi_vsphere/virtual_machine.py +580 -809
  56. pulumi_vsphere/virtual_machine_class.py +442 -0
  57. pulumi_vsphere/virtual_machine_snapshot.py +8 -12
  58. pulumi_vsphere/vm_storage_policy.py +74 -86
  59. pulumi_vsphere/vnic.py +61 -77
  60. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.10.2.dist-info}/METADATA +1 -1
  61. pulumi_vsphere-4.10.2.dist-info/RECORD +86 -0
  62. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.10.2.dist-info}/WHEEL +1 -1
  63. pulumi_vsphere-4.10.0a1710245029.dist-info/RECORD +0 -82
  64. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.10.2.dist-info}/top_level.txt +0 -0
pulumi_vsphere/outputs.py CHANGED
@@ -11,6 +11,8 @@ from . import _utilities
11
11
  from . import outputs
12
12
 
13
13
  __all__ = [
14
+ 'ComputeClusterHostImage',
15
+ 'ComputeClusterHostImageComponent',
14
16
  'ComputeClusterVsanDiskGroup',
15
17
  'ComputeClusterVsanFaultDomain',
16
18
  'ComputeClusterVsanFaultDomainFaultDomain',
@@ -27,6 +29,13 @@ __all__ = [
27
29
  'GuestOsCustomizationSpecNetworkInterface',
28
30
  'GuestOsCustomizationSpecWindowsOptions',
29
31
  'HostPortGroupPort',
32
+ 'OfflineSoftwareDepotComponent',
33
+ 'SupervisorEgressCidr',
34
+ 'SupervisorIngressCidr',
35
+ 'SupervisorManagementNetwork',
36
+ 'SupervisorNamespace',
37
+ 'SupervisorPodCidr',
38
+ 'SupervisorServiceCidr',
30
39
  'VirtualMachineCdrom',
31
40
  'VirtualMachineClone',
32
41
  'VirtualMachineCloneCustomizationSpec',
@@ -51,14 +60,93 @@ __all__ = [
51
60
  'GetVirtualMachineVappResult',
52
61
  ]
53
62
 
63
+ @pulumi.output_type
64
+ class ComputeClusterHostImage(dict):
65
+ @staticmethod
66
+ def __key_warning(key: str):
67
+ suggest = None
68
+ if key == "esxVersion":
69
+ suggest = "esx_version"
70
+
71
+ if suggest:
72
+ pulumi.log.warn(f"Key '{key}' not found in ComputeClusterHostImage. Access the value via the '{suggest}' property getter instead.")
73
+
74
+ def __getitem__(self, key: str) -> Any:
75
+ ComputeClusterHostImage.__key_warning(key)
76
+ return super().__getitem__(key)
77
+
78
+ def get(self, key: str, default = None) -> Any:
79
+ ComputeClusterHostImage.__key_warning(key)
80
+ return super().get(key, default)
81
+
82
+ def __init__(__self__, *,
83
+ components: Optional[Sequence['outputs.ComputeClusterHostImageComponent']] = None,
84
+ esx_version: Optional[str] = None):
85
+ """
86
+ :param Sequence['ComputeClusterHostImageComponentArgs'] components: List of custom components.
87
+ :param str esx_version: The ESXi version which the image is based on.
88
+ """
89
+ if components is not None:
90
+ pulumi.set(__self__, "components", components)
91
+ if esx_version is not None:
92
+ pulumi.set(__self__, "esx_version", esx_version)
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def components(self) -> Optional[Sequence['outputs.ComputeClusterHostImageComponent']]:
97
+ """
98
+ List of custom components.
99
+ """
100
+ return pulumi.get(self, "components")
101
+
102
+ @property
103
+ @pulumi.getter(name="esxVersion")
104
+ def esx_version(self) -> Optional[str]:
105
+ """
106
+ The ESXi version which the image is based on.
107
+ """
108
+ return pulumi.get(self, "esx_version")
109
+
110
+
111
+ @pulumi.output_type
112
+ class ComputeClusterHostImageComponent(dict):
113
+ def __init__(__self__, *,
114
+ key: Optional[str] = None,
115
+ version: Optional[str] = None):
116
+ """
117
+ :param str key: The identifier for the component.
118
+ :param str version: The version to use.
119
+ """
120
+ if key is not None:
121
+ pulumi.set(__self__, "key", key)
122
+ if version is not None:
123
+ pulumi.set(__self__, "version", version)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def key(self) -> Optional[str]:
128
+ """
129
+ The identifier for the component.
130
+ """
131
+ return pulumi.get(self, "key")
132
+
133
+ @property
134
+ @pulumi.getter
135
+ def version(self) -> Optional[str]:
136
+ """
137
+ The version to use.
138
+ """
139
+ return pulumi.get(self, "version")
140
+
141
+
54
142
  @pulumi.output_type
55
143
  class ComputeClusterVsanDiskGroup(dict):
56
144
  def __init__(__self__, *,
57
145
  cache: Optional[str] = None,
58
146
  storages: Optional[Sequence[str]] = None):
59
147
  """
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.
148
+ :param str cache: Cache disk.
149
+ :param Sequence[str] storages: List of storage disks.
62
150
  """
63
151
  if cache is not None:
64
152
  pulumi.set(__self__, "cache", cache)
@@ -69,7 +157,7 @@ class ComputeClusterVsanDiskGroup(dict):
69
157
  @pulumi.getter
70
158
  def cache(self) -> Optional[str]:
71
159
  """
72
- The canonical name of the disk to use for vSAN cache.
160
+ Cache disk.
73
161
  """
74
162
  return pulumi.get(self, "cache")
75
163
 
@@ -77,7 +165,7 @@ class ComputeClusterVsanDiskGroup(dict):
77
165
  @pulumi.getter
78
166
  def storages(self) -> Optional[Sequence[str]]:
79
167
  """
80
- An array of disk canonical names for vSAN storage.
168
+ List of storage disks.
81
169
  """
82
170
  return pulumi.get(self, "storages")
83
171
 
@@ -201,56 +289,8 @@ class ComputeClusterVsanStretchedCluster(dict):
201
289
  :param Sequence[str] preferred_fault_domain_host_ids: The managed object IDs of the hosts to put in the first fault domain.
202
290
  :param Sequence[str] secondary_fault_domain_host_ids: The managed object IDs of the hosts to put in the second fault domain.
203
291
  :param str witness_node: The managed object IDs of the host selected as witness node when enable stretched cluster.
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 -->
292
+ :param str preferred_fault_domain_name: The name of prepferred fault domain.
293
+ :param str secondary_fault_domain_name: The name of secondary fault domain.
254
294
  """
255
295
  pulumi.set(__self__, "preferred_fault_domain_host_ids", preferred_fault_domain_host_ids)
256
296
  pulumi.set(__self__, "secondary_fault_domain_host_ids", secondary_fault_domain_host_ids)
@@ -288,7 +328,7 @@ class ComputeClusterVsanStretchedCluster(dict):
288
328
  @pulumi.getter(name="preferredFaultDomainName")
289
329
  def preferred_fault_domain_name(self) -> Optional[str]:
290
330
  """
291
- The name of first fault domain. Default is `Preferred`.
331
+ The name of prepferred fault domain.
292
332
  """
293
333
  return pulumi.get(self, "preferred_fault_domain_name")
294
334
 
@@ -296,55 +336,7 @@ class ComputeClusterVsanStretchedCluster(dict):
296
336
  @pulumi.getter(name="secondaryFaultDomainName")
297
337
  def secondary_fault_domain_name(self) -> Optional[str]:
298
338
  """
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 -->
339
+ The name of secondary fault domain.
348
340
  """
349
341
  return pulumi.get(self, "secondary_fault_domain_name")
350
342
 
@@ -377,11 +369,11 @@ class ContentLibraryPublication(dict):
377
369
  published: Optional[bool] = None,
378
370
  username: Optional[str] = None):
379
371
  """
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.
372
+ :param str authentication_method: Method to authenticate users. Must be `NONE` or `BASIC`.
373
+ :param str password: Password used by subscribers to authenticate.
382
374
  :param str publish_url: The URL of the published content library.
383
375
  :param bool published: Publish the content library. Default `false`.
384
- :param str username: Username used for authentication.
376
+ :param str username: Username used by subscribers to authenticate. Currently can only be `vcsp`.
385
377
  """
386
378
  if authentication_method is not None:
387
379
  pulumi.set(__self__, "authentication_method", authentication_method)
@@ -398,7 +390,7 @@ class ContentLibraryPublication(dict):
398
390
  @pulumi.getter(name="authenticationMethod")
399
391
  def authentication_method(self) -> Optional[str]:
400
392
  """
401
- Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
393
+ Method to authenticate users. Must be `NONE` or `BASIC`.
402
394
  """
403
395
  return pulumi.get(self, "authentication_method")
404
396
 
@@ -406,7 +398,7 @@ class ContentLibraryPublication(dict):
406
398
  @pulumi.getter
407
399
  def password(self) -> Optional[str]:
408
400
  """
409
- Password used for authentication.
401
+ Password used by subscribers to authenticate.
410
402
  """
411
403
  return pulumi.get(self, "password")
412
404
 
@@ -430,7 +422,7 @@ class ContentLibraryPublication(dict):
430
422
  @pulumi.getter
431
423
  def username(self) -> Optional[str]:
432
424
  """
433
- Username used for authentication.
425
+ Username used by subscribers to authenticate. Currently can only be `vcsp`.
434
426
  """
435
427
  return pulumi.get(self, "username")
436
428
 
@@ -608,10 +600,8 @@ class DistributedVirtualSwitchHost(dict):
608
600
  host_system_id: str,
609
601
  devices: Optional[Sequence[str]] = None):
610
602
  """
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.
603
+ :param str host_system_id: The managed object ID of the host this specification applies to.
604
+ :param Sequence[str] devices: Name of the physical NIC to be added to the proxy switch.
615
605
  """
616
606
  pulumi.set(__self__, "host_system_id", host_system_id)
617
607
  if devices is not None:
@@ -621,8 +611,7 @@ class DistributedVirtualSwitchHost(dict):
621
611
  @pulumi.getter(name="hostSystemId")
622
612
  def host_system_id(self) -> str:
623
613
  """
624
- The host system ID of the host to add to the
625
- VDS.
614
+ The managed object ID of the host this specification applies to.
626
615
  """
627
616
  return pulumi.get(self, "host_system_id")
628
617
 
@@ -630,8 +619,7 @@ class DistributedVirtualSwitchHost(dict):
630
619
  @pulumi.getter
631
620
  def devices(self) -> Optional[Sequence[str]]:
632
621
  """
633
- The list of NIC devices to map to uplinks on the VDS,
634
- added in order they are specified.
622
+ Name of the physical NIC to be added to the proxy switch.
635
623
  """
636
624
  return pulumi.get(self, "devices")
637
625
 
@@ -664,12 +652,9 @@ class DistributedVirtualSwitchPvlanMapping(dict):
664
652
  pvlan_type: str,
665
653
  secondary_vlan_id: int):
666
654
  """
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.
655
+ :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.
656
+ :param str pvlan_type: The private VLAN type. Valid values are promiscuous, community and isolated.
657
+ :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.
673
658
  """
674
659
  pulumi.set(__self__, "primary_vlan_id", primary_vlan_id)
675
660
  pulumi.set(__self__, "pvlan_type", pvlan_type)
@@ -679,8 +664,7 @@ class DistributedVirtualSwitchPvlanMapping(dict):
679
664
  @pulumi.getter(name="primaryVlanId")
680
665
  def primary_vlan_id(self) -> int:
681
666
  """
682
- The primary VLAN ID. The VLAN IDs of 0 and
683
- 4095 are reserved and cannot be used in this property.
667
+ The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
684
668
  """
685
669
  return pulumi.get(self, "primary_vlan_id")
686
670
 
@@ -688,8 +672,7 @@ class DistributedVirtualSwitchPvlanMapping(dict):
688
672
  @pulumi.getter(name="pvlanType")
689
673
  def pvlan_type(self) -> str:
690
674
  """
691
- The private VLAN type. Valid values are
692
- promiscuous, community and isolated.
675
+ The private VLAN type. Valid values are promiscuous, community and isolated.
693
676
  """
694
677
  return pulumi.get(self, "pvlan_type")
695
678
 
@@ -697,8 +680,7 @@ class DistributedVirtualSwitchPvlanMapping(dict):
697
680
  @pulumi.getter(name="secondaryVlanId")
698
681
  def secondary_vlan_id(self) -> int:
699
682
  """
700
- The secondary VLAN ID. The VLAN IDs of 0
701
- and 4095 are reserved and cannot be used in this property.
683
+ The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
702
684
  """
703
685
  return pulumi.get(self, "secondary_vlan_id")
704
686
 
@@ -780,9 +762,12 @@ class EntityPermissionsPermission(dict):
780
762
  role_id: str,
781
763
  user_or_group: str):
782
764
  """
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.
765
+ :param bool is_group: Whether `user_or_group` field refers to a user or a
766
+ group. True for a group and false for a user.
767
+ :param bool propagate: Whether or not this permission propagates down the
768
+ hierarchy to sub-entities.
769
+ :param str role_id: The role id of the role to be given to the user on
770
+ the specified entity.
786
771
  :param str user_or_group: The user/group getting the permission.
787
772
  """
788
773
  pulumi.set(__self__, "is_group", is_group)
@@ -794,7 +779,8 @@ class EntityPermissionsPermission(dict):
794
779
  @pulumi.getter(name="isGroup")
795
780
  def is_group(self) -> bool:
796
781
  """
797
- Whether user_or_group field refers to a user or a group. True for a group and false for a user.
782
+ Whether `user_or_group` field refers to a user or a
783
+ group. True for a group and false for a user.
798
784
  """
799
785
  return pulumi.get(self, "is_group")
800
786
 
@@ -802,7 +788,8 @@ class EntityPermissionsPermission(dict):
802
788
  @pulumi.getter
803
789
  def propagate(self) -> bool:
804
790
  """
805
- Whether or not this permission propagates down the hierarchy to sub-entities.
791
+ Whether or not this permission propagates down the
792
+ hierarchy to sub-entities.
806
793
  """
807
794
  return pulumi.get(self, "propagate")
808
795
 
@@ -810,7 +797,8 @@ class EntityPermissionsPermission(dict):
810
797
  @pulumi.getter(name="roleId")
811
798
  def role_id(self) -> str:
812
799
  """
813
- The role id of the role to be given to the user on the specified entity.
800
+ The role id of the role to be given to the user on
801
+ the specified entity.
814
802
  """
815
803
  return pulumi.get(self, "role_id")
816
804
 
@@ -1168,6 +1156,8 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1168
1156
  suggest = "domain_admin_password"
1169
1157
  elif key == "domainAdminUser":
1170
1158
  suggest = "domain_admin_user"
1159
+ elif key == "domainOu":
1160
+ suggest = "domain_ou"
1171
1161
  elif key == "fullName":
1172
1162
  suggest = "full_name"
1173
1163
  elif key == "joinDomain":
@@ -1199,6 +1189,7 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1199
1189
  auto_logon_count: Optional[int] = None,
1200
1190
  domain_admin_password: Optional[str] = None,
1201
1191
  domain_admin_user: Optional[str] = None,
1192
+ domain_ou: Optional[str] = None,
1202
1193
  full_name: Optional[str] = None,
1203
1194
  join_domain: Optional[str] = None,
1204
1195
  organization_name: Optional[str] = None,
@@ -1213,6 +1204,7 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1213
1204
  :param int auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1214
1205
  :param str domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
1215
1206
  :param str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
1207
+ :param str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1216
1208
  :param str full_name: The full name of the user of this virtual machine.
1217
1209
  :param str join_domain: The domain that the virtual machine should join.
1218
1210
  :param str organization_name: The organization name this virtual machine is being installed for.
@@ -1232,6 +1224,8 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1232
1224
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
1233
1225
  if domain_admin_user is not None:
1234
1226
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
1227
+ if domain_ou is not None:
1228
+ pulumi.set(__self__, "domain_ou", domain_ou)
1235
1229
  if full_name is not None:
1236
1230
  pulumi.set(__self__, "full_name", full_name)
1237
1231
  if join_domain is not None:
@@ -1295,6 +1289,14 @@ class GuestOsCustomizationSpecWindowsOptions(dict):
1295
1289
  """
1296
1290
  return pulumi.get(self, "domain_admin_user")
1297
1291
 
1292
+ @property
1293
+ @pulumi.getter(name="domainOu")
1294
+ def domain_ou(self) -> Optional[str]:
1295
+ """
1296
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1297
+ """
1298
+ return pulumi.get(self, "domain_ou")
1299
+
1298
1300
  @property
1299
1301
  @pulumi.getter(name="fullName")
1300
1302
  def full_name(self) -> Optional[str]:
@@ -1412,6 +1414,326 @@ class HostPortGroupPort(dict):
1412
1414
  return pulumi.get(self, "type")
1413
1415
 
1414
1416
 
1417
+ @pulumi.output_type
1418
+ class OfflineSoftwareDepotComponent(dict):
1419
+ @staticmethod
1420
+ def __key_warning(key: str):
1421
+ suggest = None
1422
+ if key == "displayName":
1423
+ suggest = "display_name"
1424
+
1425
+ if suggest:
1426
+ pulumi.log.warn(f"Key '{key}' not found in OfflineSoftwareDepotComponent. Access the value via the '{suggest}' property getter instead.")
1427
+
1428
+ def __getitem__(self, key: str) -> Any:
1429
+ OfflineSoftwareDepotComponent.__key_warning(key)
1430
+ return super().__getitem__(key)
1431
+
1432
+ def get(self, key: str, default = None) -> Any:
1433
+ OfflineSoftwareDepotComponent.__key_warning(key)
1434
+ return super().get(key, default)
1435
+
1436
+ def __init__(__self__, *,
1437
+ display_name: Optional[str] = None,
1438
+ key: Optional[str] = None,
1439
+ versions: Optional[Sequence[str]] = None):
1440
+ """
1441
+ :param str display_name: The name of the component. Useful for easier identification.
1442
+ :param str key: The identifier of the component.
1443
+ :param Sequence[str] versions: The list of available versions of the component.
1444
+ """
1445
+ if display_name is not None:
1446
+ pulumi.set(__self__, "display_name", display_name)
1447
+ if key is not None:
1448
+ pulumi.set(__self__, "key", key)
1449
+ if versions is not None:
1450
+ pulumi.set(__self__, "versions", versions)
1451
+
1452
+ @property
1453
+ @pulumi.getter(name="displayName")
1454
+ def display_name(self) -> Optional[str]:
1455
+ """
1456
+ The name of the component. Useful for easier identification.
1457
+ """
1458
+ return pulumi.get(self, "display_name")
1459
+
1460
+ @property
1461
+ @pulumi.getter
1462
+ def key(self) -> Optional[str]:
1463
+ """
1464
+ The identifier of the component.
1465
+ """
1466
+ return pulumi.get(self, "key")
1467
+
1468
+ @property
1469
+ @pulumi.getter
1470
+ def versions(self) -> Optional[Sequence[str]]:
1471
+ """
1472
+ The list of available versions of the component.
1473
+ """
1474
+ return pulumi.get(self, "versions")
1475
+
1476
+
1477
+ @pulumi.output_type
1478
+ class SupervisorEgressCidr(dict):
1479
+ def __init__(__self__, *,
1480
+ address: str,
1481
+ prefix: int):
1482
+ """
1483
+ :param str address: Network address.
1484
+ :param int prefix: Subnet prefix.
1485
+ """
1486
+ pulumi.set(__self__, "address", address)
1487
+ pulumi.set(__self__, "prefix", prefix)
1488
+
1489
+ @property
1490
+ @pulumi.getter
1491
+ def address(self) -> str:
1492
+ """
1493
+ Network address.
1494
+ """
1495
+ return pulumi.get(self, "address")
1496
+
1497
+ @property
1498
+ @pulumi.getter
1499
+ def prefix(self) -> int:
1500
+ """
1501
+ Subnet prefix.
1502
+ """
1503
+ return pulumi.get(self, "prefix")
1504
+
1505
+
1506
+ @pulumi.output_type
1507
+ class SupervisorIngressCidr(dict):
1508
+ def __init__(__self__, *,
1509
+ address: str,
1510
+ prefix: int):
1511
+ """
1512
+ :param str address: Network address.
1513
+ :param int prefix: Subnet prefix.
1514
+ """
1515
+ pulumi.set(__self__, "address", address)
1516
+ pulumi.set(__self__, "prefix", prefix)
1517
+
1518
+ @property
1519
+ @pulumi.getter
1520
+ def address(self) -> str:
1521
+ """
1522
+ Network address.
1523
+ """
1524
+ return pulumi.get(self, "address")
1525
+
1526
+ @property
1527
+ @pulumi.getter
1528
+ def prefix(self) -> int:
1529
+ """
1530
+ Subnet prefix.
1531
+ """
1532
+ return pulumi.get(self, "prefix")
1533
+
1534
+
1535
+ @pulumi.output_type
1536
+ class SupervisorManagementNetwork(dict):
1537
+ @staticmethod
1538
+ def __key_warning(key: str):
1539
+ suggest = None
1540
+ if key == "addressCount":
1541
+ suggest = "address_count"
1542
+ elif key == "startingAddress":
1543
+ suggest = "starting_address"
1544
+ elif key == "subnetMask":
1545
+ suggest = "subnet_mask"
1546
+
1547
+ if suggest:
1548
+ pulumi.log.warn(f"Key '{key}' not found in SupervisorManagementNetwork. Access the value via the '{suggest}' property getter instead.")
1549
+
1550
+ def __getitem__(self, key: str) -> Any:
1551
+ SupervisorManagementNetwork.__key_warning(key)
1552
+ return super().__getitem__(key)
1553
+
1554
+ def get(self, key: str, default = None) -> Any:
1555
+ SupervisorManagementNetwork.__key_warning(key)
1556
+ return super().get(key, default)
1557
+
1558
+ def __init__(__self__, *,
1559
+ address_count: int,
1560
+ gateway: str,
1561
+ network: str,
1562
+ starting_address: str,
1563
+ subnet_mask: str):
1564
+ """
1565
+ :param int address_count: Number of addresses to allocate. Starts from 'starting_address'
1566
+ :param str gateway: Gateway IP address.
1567
+ :param str network: ID of the network. (e.g. a distributed port group).
1568
+ :param str starting_address: Starting address of the management network range.
1569
+ :param str subnet_mask: Subnet mask.
1570
+ """
1571
+ pulumi.set(__self__, "address_count", address_count)
1572
+ pulumi.set(__self__, "gateway", gateway)
1573
+ pulumi.set(__self__, "network", network)
1574
+ pulumi.set(__self__, "starting_address", starting_address)
1575
+ pulumi.set(__self__, "subnet_mask", subnet_mask)
1576
+
1577
+ @property
1578
+ @pulumi.getter(name="addressCount")
1579
+ def address_count(self) -> int:
1580
+ """
1581
+ Number of addresses to allocate. Starts from 'starting_address'
1582
+ """
1583
+ return pulumi.get(self, "address_count")
1584
+
1585
+ @property
1586
+ @pulumi.getter
1587
+ def gateway(self) -> str:
1588
+ """
1589
+ Gateway IP address.
1590
+ """
1591
+ return pulumi.get(self, "gateway")
1592
+
1593
+ @property
1594
+ @pulumi.getter
1595
+ def network(self) -> str:
1596
+ """
1597
+ ID of the network. (e.g. a distributed port group).
1598
+ """
1599
+ return pulumi.get(self, "network")
1600
+
1601
+ @property
1602
+ @pulumi.getter(name="startingAddress")
1603
+ def starting_address(self) -> str:
1604
+ """
1605
+ Starting address of the management network range.
1606
+ """
1607
+ return pulumi.get(self, "starting_address")
1608
+
1609
+ @property
1610
+ @pulumi.getter(name="subnetMask")
1611
+ def subnet_mask(self) -> str:
1612
+ """
1613
+ Subnet mask.
1614
+ """
1615
+ return pulumi.get(self, "subnet_mask")
1616
+
1617
+
1618
+ @pulumi.output_type
1619
+ class SupervisorNamespace(dict):
1620
+ @staticmethod
1621
+ def __key_warning(key: str):
1622
+ suggest = None
1623
+ if key == "contentLibraries":
1624
+ suggest = "content_libraries"
1625
+ elif key == "vmClasses":
1626
+ suggest = "vm_classes"
1627
+
1628
+ if suggest:
1629
+ pulumi.log.warn(f"Key '{key}' not found in SupervisorNamespace. Access the value via the '{suggest}' property getter instead.")
1630
+
1631
+ def __getitem__(self, key: str) -> Any:
1632
+ SupervisorNamespace.__key_warning(key)
1633
+ return super().__getitem__(key)
1634
+
1635
+ def get(self, key: str, default = None) -> Any:
1636
+ SupervisorNamespace.__key_warning(key)
1637
+ return super().get(key, default)
1638
+
1639
+ def __init__(__self__, *,
1640
+ name: str,
1641
+ content_libraries: Optional[Sequence[str]] = None,
1642
+ vm_classes: Optional[Sequence[str]] = None):
1643
+ """
1644
+ :param str name: The name of the namespace.
1645
+ :param Sequence[str] content_libraries: A list of content libraries.
1646
+ :param Sequence[str] vm_classes: A list of virtual machine classes.
1647
+ """
1648
+ pulumi.set(__self__, "name", name)
1649
+ if content_libraries is not None:
1650
+ pulumi.set(__self__, "content_libraries", content_libraries)
1651
+ if vm_classes is not None:
1652
+ pulumi.set(__self__, "vm_classes", vm_classes)
1653
+
1654
+ @property
1655
+ @pulumi.getter
1656
+ def name(self) -> str:
1657
+ """
1658
+ The name of the namespace.
1659
+ """
1660
+ return pulumi.get(self, "name")
1661
+
1662
+ @property
1663
+ @pulumi.getter(name="contentLibraries")
1664
+ def content_libraries(self) -> Optional[Sequence[str]]:
1665
+ """
1666
+ A list of content libraries.
1667
+ """
1668
+ return pulumi.get(self, "content_libraries")
1669
+
1670
+ @property
1671
+ @pulumi.getter(name="vmClasses")
1672
+ def vm_classes(self) -> Optional[Sequence[str]]:
1673
+ """
1674
+ A list of virtual machine classes.
1675
+ """
1676
+ return pulumi.get(self, "vm_classes")
1677
+
1678
+
1679
+ @pulumi.output_type
1680
+ class SupervisorPodCidr(dict):
1681
+ def __init__(__self__, *,
1682
+ address: str,
1683
+ prefix: int):
1684
+ """
1685
+ :param str address: Network address.
1686
+ :param int prefix: Subnet prefix.
1687
+ """
1688
+ pulumi.set(__self__, "address", address)
1689
+ pulumi.set(__self__, "prefix", prefix)
1690
+
1691
+ @property
1692
+ @pulumi.getter
1693
+ def address(self) -> str:
1694
+ """
1695
+ Network address.
1696
+ """
1697
+ return pulumi.get(self, "address")
1698
+
1699
+ @property
1700
+ @pulumi.getter
1701
+ def prefix(self) -> int:
1702
+ """
1703
+ Subnet prefix.
1704
+ """
1705
+ return pulumi.get(self, "prefix")
1706
+
1707
+
1708
+ @pulumi.output_type
1709
+ class SupervisorServiceCidr(dict):
1710
+ def __init__(__self__, *,
1711
+ address: str,
1712
+ prefix: int):
1713
+ """
1714
+ :param str address: Network address.
1715
+ :param int prefix: Subnet prefix.
1716
+ """
1717
+ pulumi.set(__self__, "address", address)
1718
+ pulumi.set(__self__, "prefix", prefix)
1719
+
1720
+ @property
1721
+ @pulumi.getter
1722
+ def address(self) -> str:
1723
+ """
1724
+ Network address.
1725
+ """
1726
+ return pulumi.get(self, "address")
1727
+
1728
+ @property
1729
+ @pulumi.getter
1730
+ def prefix(self) -> int:
1731
+ """
1732
+ Subnet prefix.
1733
+ """
1734
+ return pulumi.get(self, "prefix")
1735
+
1736
+
1415
1737
  @pulumi.output_type
1416
1738
  class VirtualMachineCdrom(dict):
1417
1739
  @staticmethod
@@ -1442,15 +1764,11 @@ class VirtualMachineCdrom(dict):
1442
1764
  key: Optional[int] = None,
1443
1765
  path: Optional[str] = None):
1444
1766
  """
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`.
1767
+ :param bool client_device: Indicates whether the device should be mapped to a remote client device
1768
+ :param str datastore_id: The datastore ID the ISO is located on.
1447
1769
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
1448
1770
  :param int key: The ID of the device within the virtual machine.
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.
1771
+ :param str path: The path to the ISO file on the datastore.
1454
1772
  """
1455
1773
  if client_device is not None:
1456
1774
  pulumi.set(__self__, "client_device", client_device)
@@ -1467,7 +1785,7 @@ class VirtualMachineCdrom(dict):
1467
1785
  @pulumi.getter(name="clientDevice")
1468
1786
  def client_device(self) -> Optional[bool]:
1469
1787
  """
1470
- Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1788
+ Indicates whether the device should be mapped to a remote client device
1471
1789
  """
1472
1790
  return pulumi.get(self, "client_device")
1473
1791
 
@@ -1475,7 +1793,7 @@ class VirtualMachineCdrom(dict):
1475
1793
  @pulumi.getter(name="datastoreId")
1476
1794
  def datastore_id(self) -> Optional[str]:
1477
1795
  """
1478
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1796
+ The datastore ID the ISO is located on.
1479
1797
  """
1480
1798
  return pulumi.get(self, "datastore_id")
1481
1799
 
@@ -1499,11 +1817,7 @@ class VirtualMachineCdrom(dict):
1499
1817
  @pulumi.getter
1500
1818
  def path(self) -> Optional[str]:
1501
1819
  """
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.
1820
+ The path to the ISO file on the datastore.
1507
1821
  """
1508
1822
  return pulumi.get(self, "path")
1509
1823
 
@@ -1702,7 +2016,7 @@ class VirtualMachineCloneCustomize(dict):
1702
2016
  :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.
1703
2017
  :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.
1704
2018
  :param 'VirtualMachineCloneCustomizeLinuxOptionsArgs' linux_options: A list of configuration options specific to Linux virtual machines.
1705
- :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2019
+ :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification of network interface configuration options.
1706
2020
  :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.
1707
2021
  :param 'VirtualMachineCloneCustomizeWindowsOptionsArgs' windows_options: A list of configuration options specific to Windows virtual machines.
1708
2022
  :param str windows_sysprep_text: Use this option to specify a windows sysprep file directly.
@@ -1770,7 +2084,7 @@ class VirtualMachineCloneCustomize(dict):
1770
2084
  @pulumi.getter(name="networkInterfaces")
1771
2085
  def network_interfaces(self) -> Optional[Sequence['outputs.VirtualMachineCloneCustomizeNetworkInterface']]:
1772
2086
  """
1773
- A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2087
+ A specification of network interface configuration options.
1774
2088
  """
1775
2089
  return pulumi.get(self, "network_interfaces")
1776
2090
 
@@ -2010,6 +2324,8 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2010
2324
  suggest = "domain_admin_password"
2011
2325
  elif key == "domainAdminUser":
2012
2326
  suggest = "domain_admin_user"
2327
+ elif key == "domainOu":
2328
+ suggest = "domain_ou"
2013
2329
  elif key == "fullName":
2014
2330
  suggest = "full_name"
2015
2331
  elif key == "joinDomain":
@@ -2041,6 +2357,7 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2041
2357
  auto_logon_count: Optional[int] = None,
2042
2358
  domain_admin_password: Optional[str] = None,
2043
2359
  domain_admin_user: Optional[str] = None,
2360
+ domain_ou: Optional[str] = None,
2044
2361
  full_name: Optional[str] = None,
2045
2362
  join_domain: Optional[str] = None,
2046
2363
  organization_name: Optional[str] = None,
@@ -2055,6 +2372,7 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2055
2372
  :param int auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
2056
2373
  :param str domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
2057
2374
  :param str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
2375
+ :param str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
2058
2376
  :param str full_name: The full name of the user of this virtual machine.
2059
2377
  :param str join_domain: The domain that the virtual machine should join.
2060
2378
  :param str organization_name: The organization name this virtual machine is being installed for.
@@ -2074,6 +2392,8 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2074
2392
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
2075
2393
  if domain_admin_user is not None:
2076
2394
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
2395
+ if domain_ou is not None:
2396
+ pulumi.set(__self__, "domain_ou", domain_ou)
2077
2397
  if full_name is not None:
2078
2398
  pulumi.set(__self__, "full_name", full_name)
2079
2399
  if join_domain is not None:
@@ -2137,6 +2457,14 @@ class VirtualMachineCloneCustomizeWindowsOptions(dict):
2137
2457
  """
2138
2458
  return pulumi.get(self, "domain_admin_user")
2139
2459
 
2460
+ @property
2461
+ @pulumi.getter(name="domainOu")
2462
+ def domain_ou(self) -> Optional[str]:
2463
+ """
2464
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
2465
+ """
2466
+ return pulumi.get(self, "domain_ou")
2467
+
2140
2468
  @property
2141
2469
  @pulumi.getter(name="fullName")
2142
2470
  def full_name(self) -> Optional[str]:
@@ -2265,36 +2593,26 @@ class VirtualMachineDisk(dict):
2265
2593
  write_through: Optional[bool] = None):
2266
2594
  """
2267
2595
  :param str label: A unique label for this disk.
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`.
2596
+ :param bool attach: If this is true, the disk is attached instead of created. Implies keep_on_remove.
2597
+ :param str controller_type: The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2598
+ :param str datastore_id: The datastore ID for this virtual disk, if different than the virtual machine.
2273
2599
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
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`.
2600
+ :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.
2601
+ :param str disk_sharing: The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2602
+ :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.
2603
+ :param int io_limit: The upper limit of IOPS that this disk can use.
2604
+ :param int io_reservation: The I/O guarantee that this disk has, in IOPS.
2605
+ :param int io_share_count: The share count for this disk when the share level is custom.
2606
+ :param str io_share_level: The share allocation level for this disk. Can be one of low, normal, high, or custom.
2607
+ :param bool keep_on_remove: Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2286
2608
  :param int key: The ID of the device within the virtual machine.
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`.
2609
+ :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.
2610
+ :param int size: The size of the disk, in GB.
2611
+ :param str storage_policy_id: The ID of the storage policy to assign to the virtual disk in VM.
2612
+ :param bool thin_provisioned: If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2613
+ :param int unit_number: The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2614
+ :param str uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
2615
+ :param bool write_through: If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2298
2616
  """
2299
2617
  pulumi.set(__self__, "label", label)
2300
2618
  if attach is not None:
@@ -2350,9 +2668,7 @@ class VirtualMachineDisk(dict):
2350
2668
  @pulumi.getter
2351
2669
  def attach(self) -> Optional[bool]:
2352
2670
  """
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.
2671
+ If this is true, the disk is attached instead of created. Implies keep_on_remove.
2356
2672
  """
2357
2673
  return pulumi.get(self, "attach")
2358
2674
 
@@ -2360,7 +2676,7 @@ class VirtualMachineDisk(dict):
2360
2676
  @pulumi.getter(name="controllerType")
2361
2677
  def controller_type(self) -> Optional[str]:
2362
2678
  """
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`.
2679
+ The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2364
2680
  """
2365
2681
  return pulumi.get(self, "controller_type")
2366
2682
 
@@ -2368,7 +2684,7 @@ class VirtualMachineDisk(dict):
2368
2684
  @pulumi.getter(name="datastoreId")
2369
2685
  def datastore_id(self) -> Optional[str]:
2370
2686
  """
2371
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2687
+ The datastore ID for this virtual disk, if different than the virtual machine.
2372
2688
  """
2373
2689
  return pulumi.get(self, "datastore_id")
2374
2690
 
@@ -2384,9 +2700,7 @@ class VirtualMachineDisk(dict):
2384
2700
  @pulumi.getter(name="diskMode")
2385
2701
  def disk_mode(self) -> Optional[str]:
2386
2702
  """
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
2703
+ 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.
2390
2704
  """
2391
2705
  return pulumi.get(self, "disk_mode")
2392
2706
 
@@ -2394,9 +2708,7 @@ class VirtualMachineDisk(dict):
2394
2708
  @pulumi.getter(name="diskSharing")
2395
2709
  def disk_sharing(self) -> Optional[str]:
2396
2710
  """
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.
2711
+ The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2400
2712
  """
2401
2713
  return pulumi.get(self, "disk_sharing")
2402
2714
 
@@ -2404,7 +2716,7 @@ class VirtualMachineDisk(dict):
2404
2716
  @pulumi.getter(name="eagerlyScrub")
2405
2717
  def eagerly_scrub(self) -> Optional[bool]:
2406
2718
  """
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`.
2719
+ 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.
2408
2720
  """
2409
2721
  return pulumi.get(self, "eagerly_scrub")
2410
2722
 
@@ -2412,7 +2724,7 @@ class VirtualMachineDisk(dict):
2412
2724
  @pulumi.getter(name="ioLimit")
2413
2725
  def io_limit(self) -> Optional[int]:
2414
2726
  """
2415
- The upper limit of IOPS that this disk can use. The default is no limit.
2727
+ The upper limit of IOPS that this disk can use.
2416
2728
  """
2417
2729
  return pulumi.get(self, "io_limit")
2418
2730
 
@@ -2420,7 +2732,7 @@ class VirtualMachineDisk(dict):
2420
2732
  @pulumi.getter(name="ioReservation")
2421
2733
  def io_reservation(self) -> Optional[int]:
2422
2734
  """
2423
- The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2735
+ The I/O guarantee that this disk has, in IOPS.
2424
2736
  """
2425
2737
  return pulumi.get(self, "io_reservation")
2426
2738
 
@@ -2428,7 +2740,7 @@ class VirtualMachineDisk(dict):
2428
2740
  @pulumi.getter(name="ioShareCount")
2429
2741
  def io_share_count(self) -> Optional[int]:
2430
2742
  """
2431
- The share count for the virtual disk when the share level is `custom`.
2743
+ The share count for this disk when the share level is custom.
2432
2744
  """
2433
2745
  return pulumi.get(self, "io_share_count")
2434
2746
 
@@ -2436,7 +2748,7 @@ class VirtualMachineDisk(dict):
2436
2748
  @pulumi.getter(name="ioShareLevel")
2437
2749
  def io_share_level(self) -> Optional[str]:
2438
2750
  """
2439
- The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2751
+ The share allocation level for this disk. Can be one of low, normal, high, or custom.
2440
2752
  """
2441
2753
  return pulumi.get(self, "io_share_level")
2442
2754
 
@@ -2444,7 +2756,7 @@ class VirtualMachineDisk(dict):
2444
2756
  @pulumi.getter(name="keepOnRemove")
2445
2757
  def keep_on_remove(self) -> Optional[bool]:
2446
2758
  """
2447
- Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2759
+ Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2448
2760
  """
2449
2761
  return pulumi.get(self, "keep_on_remove")
2450
2762
 
@@ -2460,11 +2772,7 @@ class VirtualMachineDisk(dict):
2460
2772
  @pulumi.getter
2461
2773
  def path(self) -> Optional[str]:
2462
2774
  """
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.
2775
+ 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.
2468
2776
  """
2469
2777
  return pulumi.get(self, "path")
2470
2778
 
@@ -2472,7 +2780,7 @@ class VirtualMachineDisk(dict):
2472
2780
  @pulumi.getter
2473
2781
  def size(self) -> Optional[int]:
2474
2782
  """
2475
- The size of the disk, in GB. Must be a whole number.
2783
+ The size of the disk, in GB.
2476
2784
  """
2477
2785
  return pulumi.get(self, "size")
2478
2786
 
@@ -2480,7 +2788,7 @@ class VirtualMachineDisk(dict):
2480
2788
  @pulumi.getter(name="storagePolicyId")
2481
2789
  def storage_policy_id(self) -> Optional[str]:
2482
2790
  """
2483
- The UUID of the storage policy to assign to the virtual disk.
2791
+ The ID of the storage policy to assign to the virtual disk in VM.
2484
2792
  """
2485
2793
  return pulumi.get(self, "storage_policy_id")
2486
2794
 
@@ -2488,7 +2796,7 @@ class VirtualMachineDisk(dict):
2488
2796
  @pulumi.getter(name="thinProvisioned")
2489
2797
  def thin_provisioned(self) -> Optional[bool]:
2490
2798
  """
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`.
2799
+ If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2492
2800
  """
2493
2801
  return pulumi.get(self, "thin_provisioned")
2494
2802
 
@@ -2496,7 +2804,7 @@ class VirtualMachineDisk(dict):
2496
2804
  @pulumi.getter(name="unitNumber")
2497
2805
  def unit_number(self) -> Optional[int]:
2498
2806
  """
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.
2807
+ The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2500
2808
  """
2501
2809
  return pulumi.get(self, "unit_number")
2502
2810
 
@@ -2504,7 +2812,7 @@ class VirtualMachineDisk(dict):
2504
2812
  @pulumi.getter
2505
2813
  def uuid(self) -> Optional[str]:
2506
2814
  """
2507
- The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2815
+ The UUID of the virtual machine. Also exposed as the `id` of the resource.
2508
2816
  """
2509
2817
  return pulumi.get(self, "uuid")
2510
2818
 
@@ -2512,7 +2820,7 @@ class VirtualMachineDisk(dict):
2512
2820
  @pulumi.getter(name="writeThrough")
2513
2821
  def write_through(self) -> Optional[bool]:
2514
2822
  """
2515
- If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2823
+ If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2516
2824
  """
2517
2825
  return pulumi.get(self, "write_through")
2518
2826
 
@@ -2570,18 +2878,18 @@ class VirtualMachineNetworkInterface(dict):
2570
2878
  physical_function: Optional[str] = None,
2571
2879
  use_static_mac: Optional[bool] = None):
2572
2880
  """
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`.
2881
+ :param str network_id: The ID of the network to connect this network interface to.
2882
+ :param str adapter_type: The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2883
+ :param int bandwidth_limit: The upper bandwidth limit of this network interface, in Mbits/sec.
2884
+ :param int bandwidth_reservation: The bandwidth reservation of this network interface, in Mbits/sec.
2885
+ :param int bandwidth_share_count: The share count for this network interface when the share level is custom.
2886
+ :param str bandwidth_share_level: The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2579
2887
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2580
2888
  :param int key: The ID of the device within the virtual machine.
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.
2889
+ :param str mac_address: The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2890
+ :param str ovf_mapping: Mapping of network interface to OVF network.
2583
2891
  :param str physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
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`.
2892
+ :param bool use_static_mac: If true, the mac_address field is treated as a static MAC address and set accordingly.
2585
2893
  """
2586
2894
  pulumi.set(__self__, "network_id", network_id)
2587
2895
  if adapter_type is not None:
@@ -2611,7 +2919,7 @@ class VirtualMachineNetworkInterface(dict):
2611
2919
  @pulumi.getter(name="networkId")
2612
2920
  def network_id(self) -> str:
2613
2921
  """
2614
- The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2922
+ The ID of the network to connect this network interface to.
2615
2923
  """
2616
2924
  return pulumi.get(self, "network_id")
2617
2925
 
@@ -2619,7 +2927,7 @@ class VirtualMachineNetworkInterface(dict):
2619
2927
  @pulumi.getter(name="adapterType")
2620
2928
  def adapter_type(self) -> Optional[str]:
2621
2929
  """
2622
- The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2930
+ The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2623
2931
  """
2624
2932
  return pulumi.get(self, "adapter_type")
2625
2933
 
@@ -2627,7 +2935,7 @@ class VirtualMachineNetworkInterface(dict):
2627
2935
  @pulumi.getter(name="bandwidthLimit")
2628
2936
  def bandwidth_limit(self) -> Optional[int]:
2629
2937
  """
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`.
2938
+ The upper bandwidth limit of this network interface, in Mbits/sec.
2631
2939
  """
2632
2940
  return pulumi.get(self, "bandwidth_limit")
2633
2941
 
@@ -2635,7 +2943,7 @@ class VirtualMachineNetworkInterface(dict):
2635
2943
  @pulumi.getter(name="bandwidthReservation")
2636
2944
  def bandwidth_reservation(self) -> Optional[int]:
2637
2945
  """
2638
- The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
2946
+ The bandwidth reservation of this network interface, in Mbits/sec.
2639
2947
  """
2640
2948
  return pulumi.get(self, "bandwidth_reservation")
2641
2949
 
@@ -2643,7 +2951,7 @@ class VirtualMachineNetworkInterface(dict):
2643
2951
  @pulumi.getter(name="bandwidthShareCount")
2644
2952
  def bandwidth_share_count(self) -> Optional[int]:
2645
2953
  """
2646
- The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
2954
+ The share count for this network interface when the share level is custom.
2647
2955
  """
2648
2956
  return pulumi.get(self, "bandwidth_share_count")
2649
2957
 
@@ -2651,7 +2959,7 @@ class VirtualMachineNetworkInterface(dict):
2651
2959
  @pulumi.getter(name="bandwidthShareLevel")
2652
2960
  def bandwidth_share_level(self) -> Optional[str]:
2653
2961
  """
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`.
2962
+ The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2655
2963
  """
2656
2964
  return pulumi.get(self, "bandwidth_share_level")
2657
2965
 
@@ -2675,7 +2983,7 @@ class VirtualMachineNetworkInterface(dict):
2675
2983
  @pulumi.getter(name="macAddress")
2676
2984
  def mac_address(self) -> Optional[str]:
2677
2985
  """
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.
2986
+ The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2679
2987
  """
2680
2988
  return pulumi.get(self, "mac_address")
2681
2989
 
@@ -2683,7 +2991,7 @@ class VirtualMachineNetworkInterface(dict):
2683
2991
  @pulumi.getter(name="ovfMapping")
2684
2992
  def ovf_mapping(self) -> Optional[str]:
2685
2993
  """
2686
- Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
2994
+ Mapping of network interface to OVF network.
2687
2995
  """
2688
2996
  return pulumi.get(self, "ovf_mapping")
2689
2997
 
@@ -2699,7 +3007,7 @@ class VirtualMachineNetworkInterface(dict):
2699
3007
  @pulumi.getter(name="useStaticMac")
2700
3008
  def use_static_mac(self) -> Optional[bool]:
2701
3009
  """
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`.
3010
+ If true, the mac_address field is treated as a static MAC address and set accordingly.
2703
3011
  """
2704
3012
  return pulumi.get(self, "use_static_mac")
2705
3013
 
@@ -2939,10 +3247,10 @@ class VnicIpv4(dict):
2939
3247
  ip: Optional[str] = None,
2940
3248
  netmask: Optional[str] = None):
2941
3249
  """
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.
3250
+ :param bool dhcp: Use DHCP to configure the interface's IPv4 stack.
3251
+ :param str gw: IP address of the default gateway, if DHCP is not set.
3252
+ :param str ip: address of the interface, if DHCP is not set.
3253
+ :param str netmask: netmask of the interface, if DHCP is not set.
2946
3254
  """
2947
3255
  if dhcp is not None:
2948
3256
  pulumi.set(__self__, "dhcp", dhcp)
@@ -2957,7 +3265,7 @@ class VnicIpv4(dict):
2957
3265
  @pulumi.getter
2958
3266
  def dhcp(self) -> Optional[bool]:
2959
3267
  """
2960
- Use DHCP to configure the interface's IPv6 stack.
3268
+ Use DHCP to configure the interface's IPv4 stack.
2961
3269
  """
2962
3270
  return pulumi.get(self, "dhcp")
2963
3271
 
@@ -2965,7 +3273,7 @@ class VnicIpv4(dict):
2965
3273
  @pulumi.getter
2966
3274
  def gw(self) -> Optional[str]:
2967
3275
  """
2968
- IP address of the default gateway, if DHCP or autoconfig is not set.
3276
+ IP address of the default gateway, if DHCP is not set.
2969
3277
  """
2970
3278
  return pulumi.get(self, "gw")
2971
3279
 
@@ -2973,7 +3281,7 @@ class VnicIpv4(dict):
2973
3281
  @pulumi.getter
2974
3282
  def ip(self) -> Optional[str]:
2975
3283
  """
2976
- Address of the interface, if DHCP is not set.
3284
+ address of the interface, if DHCP is not set.
2977
3285
  """
2978
3286
  return pulumi.get(self, "ip")
2979
3287
 
@@ -2981,7 +3289,7 @@ class VnicIpv4(dict):
2981
3289
  @pulumi.getter
2982
3290
  def netmask(self) -> Optional[str]:
2983
3291
  """
2984
- Netmask of the interface, if DHCP is not set.
3292
+ netmask of the interface, if DHCP is not set.
2985
3293
  """
2986
3294
  return pulumi.get(self, "netmask")
2987
3295
 
@@ -2996,7 +3304,7 @@ class VnicIpv6(dict):
2996
3304
  """
2997
3305
  :param Sequence[str] addresses: List of IPv6 addresses
2998
3306
  :param bool autoconfig: Use IPv6 Autoconfiguration (RFC2462).
2999
- :param bool dhcp: Use DHCP to configure the interface's IPv6 stack.
3307
+ :param bool dhcp: Use DHCP to configure the interface's IPv4 stack.
3000
3308
  :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set.
3001
3309
  """
3002
3310
  if addresses is not None:
@@ -3028,7 +3336,7 @@ class VnicIpv6(dict):
3028
3336
  @pulumi.getter
3029
3337
  def dhcp(self) -> Optional[bool]:
3030
3338
  """
3031
- Use DHCP to configure the interface's IPv6 stack.
3339
+ Use DHCP to configure the interface's IPv4 stack.
3032
3340
  """
3033
3341
  return pulumi.get(self, "dhcp")
3034
3342
 
@@ -3257,6 +3565,7 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3257
3565
  auto_logon_count: int,
3258
3566
  computer_name: str,
3259
3567
  domain_admin_user: str,
3568
+ domain_ou: str,
3260
3569
  join_domain: str,
3261
3570
  run_once_command_lists: Sequence[str],
3262
3571
  time_zone: int,
@@ -3268,6 +3577,7 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3268
3577
  :param int auto_logon_count: Specifies how many times the guest operating system should auto-logon the Administrator account when `auto_logon` is `true`.
3269
3578
  :param str computer_name: The hostname for this virtual machine.
3270
3579
  :param str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
3580
+ :param str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3271
3581
  :param str join_domain: The Active Directory domain for the virtual machine to join.
3272
3582
  :param Sequence[str] run_once_command_lists: A list of commands to run at first user logon, after guest customization.
3273
3583
  :param int time_zone: The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
@@ -3279,6 +3589,7 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3279
3589
  pulumi.set(__self__, "auto_logon_count", auto_logon_count)
3280
3590
  pulumi.set(__self__, "computer_name", computer_name)
3281
3591
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
3592
+ pulumi.set(__self__, "domain_ou", domain_ou)
3282
3593
  pulumi.set(__self__, "join_domain", join_domain)
3283
3594
  pulumi.set(__self__, "run_once_command_lists", run_once_command_lists)
3284
3595
  pulumi.set(__self__, "time_zone", time_zone)
@@ -3326,6 +3637,14 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3326
3637
  """
3327
3638
  return pulumi.get(self, "domain_admin_user")
3328
3639
 
3640
+ @property
3641
+ @pulumi.getter(name="domainOu")
3642
+ def domain_ou(self) -> str:
3643
+ """
3644
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3645
+ """
3646
+ return pulumi.get(self, "domain_ou")
3647
+
3329
3648
  @property
3330
3649
  @pulumi.getter(name="joinDomain")
3331
3650
  def join_domain(self) -> str:
@@ -3378,13 +3697,14 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3378
3697
  """
3379
3698
  :param bool disk_snapshot_supported: Indicates whether the GPU plugin on this host is
3380
3699
  capable of disk-only snapshots when VM is not powered off.
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).
3700
+ :param bool memory_snapshot_supported: Indicates whether the GPU plugin on this host
3701
+ is capable of memory snapshots.
3702
+ :param bool migrate_supported: Indicates whether the GPU plugin on this host is
3703
+ capable of migration.
3704
+ :param bool suspend_supported: Indicates whether the GPU plugin on this host is
3705
+ capable of suspend-resume.
3706
+ :param str vgpu: Name of a particular vGPU available as a shared GPU device (vGPU
3707
+ profile).
3388
3708
  """
3389
3709
  pulumi.set(__self__, "disk_snapshot_supported", disk_snapshot_supported)
3390
3710
  pulumi.set(__self__, "memory_snapshot_supported", memory_snapshot_supported)
@@ -3405,8 +3725,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3405
3725
  @pulumi.getter(name="memorySnapshotSupported")
3406
3726
  def memory_snapshot_supported(self) -> bool:
3407
3727
  """
3408
- Indicates whether the GPU plugin on this host is
3409
- capable of memory snapshots.
3728
+ Indicates whether the GPU plugin on this host
3729
+ is capable of memory snapshots.
3410
3730
  """
3411
3731
  return pulumi.get(self, "memory_snapshot_supported")
3412
3732
 
@@ -3414,8 +3734,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3414
3734
  @pulumi.getter(name="migrateSupported")
3415
3735
  def migrate_supported(self) -> bool:
3416
3736
  """
3417
- Indicates whether the GPU plugin on this host is capable
3418
- of migration.
3737
+ Indicates whether the GPU plugin on this host is
3738
+ capable of migration.
3419
3739
  """
3420
3740
  return pulumi.get(self, "migrate_supported")
3421
3741
 
@@ -3423,8 +3743,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3423
3743
  @pulumi.getter(name="suspendSupported")
3424
3744
  def suspend_supported(self) -> bool:
3425
3745
  """
3426
- Indicates whether the GPU plugin on this host is capable
3427
- of suspend-resume.
3746
+ Indicates whether the GPU plugin on this host is
3747
+ capable of suspend-resume.
3428
3748
  """
3429
3749
  return pulumi.get(self, "suspend_supported")
3430
3750
 
@@ -3432,7 +3752,8 @@ class GetHostVgpuProfileVgpuProfileResult(dict):
3432
3752
  @pulumi.getter
3433
3753
  def vgpu(self) -> str:
3434
3754
  """
3435
- Name of a particular vGPU available as a shared GPU device (vGPU profile).
3755
+ Name of a particular vGPU available as a shared GPU device (vGPU
3756
+ profile).
3436
3757
  """
3437
3758
  return pulumi.get(self, "vgpu")
3438
3759
 
@@ -3511,21 +3832,21 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3511
3832
  bandwidth_reservation: Optional[int] = None,
3512
3833
  bandwidth_share_level: Optional[str] = None):
3513
3834
  """
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`.
3835
+ :param str adapter_type: The network interface types for each network interface found
3836
+ on the virtual machine, in device bus order. Will be one of `e1000`,
3837
+ `e1000e`, `vmxnet3vrdma`, or `vmxnet3`.
3517
3838
  :param int bandwidth_share_count: The share count for this network interface when the
3518
3839
  share level is custom.
3519
3840
  :param str mac_address: The MAC address of this network interface.
3520
- :param str network_id: The managed object reference ID of the network this interface is
3521
- connected to.
3841
+ :param str network_id: The managed object reference ID of the network this interface
3842
+ is connected to.
3522
3843
  :param str physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
3523
- :param int bandwidth_limit: The upper bandwidth limit of this network interface,
3844
+ :param int bandwidth_limit: The upper bandwidth limit of this network interface,
3524
3845
  in Mbits/sec.
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`.
3846
+ :param int bandwidth_reservation: The bandwidth reservation of this network
3847
+ interface, in Mbits/sec.
3848
+ :param str bandwidth_share_level: The bandwidth share allocation level for this
3849
+ interface. Can be one of `low`, `normal`, `high`, or `custom`.
3529
3850
  """
3530
3851
  pulumi.set(__self__, "adapter_type", adapter_type)
3531
3852
  pulumi.set(__self__, "bandwidth_share_count", bandwidth_share_count)
@@ -3543,9 +3864,9 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3543
3864
  @pulumi.getter(name="adapterType")
3544
3865
  def adapter_type(self) -> str:
3545
3866
  """
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`.
3867
+ The network interface types for each network interface found
3868
+ on the virtual machine, in device bus order. Will be one of `e1000`,
3869
+ `e1000e`, `vmxnet3vrdma`, or `vmxnet3`.
3549
3870
  """
3550
3871
  return pulumi.get(self, "adapter_type")
3551
3872
 
@@ -3570,8 +3891,8 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3570
3891
  @pulumi.getter(name="networkId")
3571
3892
  def network_id(self) -> str:
3572
3893
  """
3573
- The managed object reference ID of the network this interface is
3574
- connected to.
3894
+ The managed object reference ID of the network this interface
3895
+ is connected to.
3575
3896
  """
3576
3897
  return pulumi.get(self, "network_id")
3577
3898
 
@@ -3587,7 +3908,7 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3587
3908
  @pulumi.getter(name="bandwidthLimit")
3588
3909
  def bandwidth_limit(self) -> Optional[int]:
3589
3910
  """
3590
- The upper bandwidth limit of this network interface,
3911
+ The upper bandwidth limit of this network interface,
3591
3912
  in Mbits/sec.
3592
3913
  """
3593
3914
  return pulumi.get(self, "bandwidth_limit")
@@ -3596,8 +3917,8 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3596
3917
  @pulumi.getter(name="bandwidthReservation")
3597
3918
  def bandwidth_reservation(self) -> Optional[int]:
3598
3919
  """
3599
- The bandwidth reservation of this network interface,
3600
- in Mbits/sec.
3920
+ The bandwidth reservation of this network
3921
+ interface, in Mbits/sec.
3601
3922
  """
3602
3923
  return pulumi.get(self, "bandwidth_reservation")
3603
3924
 
@@ -3605,8 +3926,8 @@ class GetVirtualMachineNetworkInterfaceResult(dict):
3605
3926
  @pulumi.getter(name="bandwidthShareLevel")
3606
3927
  def bandwidth_share_level(self) -> Optional[str]:
3607
3928
  """
3608
- The bandwidth share allocation level for this interface.
3609
- Can be one of `low`, `normal`, `high`, or `custom`.
3929
+ The bandwidth share allocation level for this
3930
+ interface. Can be one of `low`, `normal`, `high`, or `custom`.
3610
3931
  """
3611
3932
  return pulumi.get(self, "bandwidth_share_level")
3612
3933