pulumi-vsphere 4.10.0a1710160860__py3-none-any.whl → 4.10.1__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 (53) hide show
  1. pulumi_vsphere/__init__.py +2 -0
  2. pulumi_vsphere/_inputs.py +96 -230
  3. pulumi_vsphere/compute_cluster.py +700 -1477
  4. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +28 -16
  5. pulumi_vsphere/datacenter.py +26 -12
  6. pulumi_vsphere/datastore_cluster.py +154 -350
  7. pulumi_vsphere/distributed_port_group.py +70 -175
  8. pulumi_vsphere/distributed_virtual_switch.py +308 -805
  9. pulumi_vsphere/file.py +16 -24
  10. pulumi_vsphere/get_compute_cluster.py +0 -4
  11. pulumi_vsphere/get_compute_cluster_host_group.py +8 -10
  12. pulumi_vsphere/get_content_library.py +0 -4
  13. pulumi_vsphere/get_custom_attribute.py +0 -4
  14. pulumi_vsphere/get_datacenter.py +0 -4
  15. pulumi_vsphere/get_datastore.py +27 -7
  16. pulumi_vsphere/get_datastore_cluster.py +0 -4
  17. pulumi_vsphere/get_datastore_stats.py +194 -0
  18. pulumi_vsphere/get_distributed_virtual_switch.py +2 -4
  19. pulumi_vsphere/get_dynamic.py +4 -8
  20. pulumi_vsphere/get_folder.py +0 -4
  21. pulumi_vsphere/get_guest_os_customization.py +0 -4
  22. pulumi_vsphere/get_host.py +0 -4
  23. pulumi_vsphere/get_host_pci_device.py +4 -12
  24. pulumi_vsphere/get_host_thumbprint.py +0 -4
  25. pulumi_vsphere/get_host_vgpu_profile.py +182 -0
  26. pulumi_vsphere/get_license.py +0 -4
  27. pulumi_vsphere/get_network.py +0 -4
  28. pulumi_vsphere/get_policy.py +0 -4
  29. pulumi_vsphere/get_resource_pool.py +2 -10
  30. pulumi_vsphere/get_role.py +0 -4
  31. pulumi_vsphere/get_tag.py +0 -4
  32. pulumi_vsphere/get_tag_category.py +0 -4
  33. pulumi_vsphere/get_vapp_container.py +0 -4
  34. pulumi_vsphere/get_virtual_machine.py +29 -9
  35. pulumi_vsphere/get_vmfs_disks.py +0 -4
  36. pulumi_vsphere/guest_os_customization.py +50 -0
  37. pulumi_vsphere/ha_vm_override.py +189 -378
  38. pulumi_vsphere/host.py +0 -20
  39. pulumi_vsphere/host_port_group.py +12 -24
  40. pulumi_vsphere/host_virtual_switch.py +140 -287
  41. pulumi_vsphere/license.py +0 -32
  42. pulumi_vsphere/outputs.py +167 -230
  43. pulumi_vsphere/resource_pool.py +48 -22
  44. pulumi_vsphere/virtual_disk.py +10 -10
  45. pulumi_vsphere/virtual_machine.py +639 -807
  46. pulumi_vsphere/virtual_machine_snapshot.py +6 -10
  47. pulumi_vsphere/vm_storage_policy.py +72 -84
  48. pulumi_vsphere/vnic.py +8 -20
  49. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.10.1.dist-info}/METADATA +1 -1
  50. pulumi_vsphere-4.10.1.dist-info/RECORD +82 -0
  51. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.10.1.dist-info}/WHEEL +1 -1
  52. pulumi_vsphere-4.10.0a1710160860.dist-info/RECORD +0 -80
  53. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.10.1.dist-info}/top_level.txt +0 -0
pulumi_vsphere/outputs.py CHANGED
@@ -45,6 +45,7 @@ __all__ = [
45
45
  'GetGuestOsCustomizationSpecLinuxOptionResult',
46
46
  'GetGuestOsCustomizationSpecNetworkInterfaceResult',
47
47
  'GetGuestOsCustomizationSpecWindowsOptionResult',
48
+ 'GetHostVgpuProfileVgpuProfileResult',
48
49
  'GetVirtualMachineDiskResult',
49
50
  'GetVirtualMachineNetworkInterfaceResult',
50
51
  'GetVirtualMachineVappResult',
@@ -56,8 +57,8 @@ class ComputeClusterVsanDiskGroup(dict):
56
57
  cache: Optional[str] = None,
57
58
  storages: Optional[Sequence[str]] = None):
58
59
  """
59
- :param str cache: The canonical name of the disk to use for vSAN cache.
60
- :param Sequence[str] storages: An array of disk canonical names for vSAN storage.
60
+ :param str cache: Cache disk.
61
+ :param Sequence[str] storages: List of storage disks.
61
62
  """
62
63
  if cache is not None:
63
64
  pulumi.set(__self__, "cache", cache)
@@ -68,7 +69,7 @@ class ComputeClusterVsanDiskGroup(dict):
68
69
  @pulumi.getter
69
70
  def cache(self) -> Optional[str]:
70
71
  """
71
- The canonical name of the disk to use for vSAN cache.
72
+ Cache disk.
72
73
  """
73
74
  return pulumi.get(self, "cache")
74
75
 
@@ -76,7 +77,7 @@ class ComputeClusterVsanDiskGroup(dict):
76
77
  @pulumi.getter
77
78
  def storages(self) -> Optional[Sequence[str]]:
78
79
  """
79
- An array of disk canonical names for vSAN storage.
80
+ List of storage disks.
80
81
  """
81
82
  return pulumi.get(self, "storages")
82
83
 
@@ -200,56 +201,8 @@ class ComputeClusterVsanStretchedCluster(dict):
200
201
  :param Sequence[str] preferred_fault_domain_host_ids: The managed object IDs of the hosts to put in the first fault domain.
201
202
  :param Sequence[str] secondary_fault_domain_host_ids: The managed object IDs of the hosts to put in the second fault domain.
202
203
  :param str witness_node: The managed object IDs of the host selected as witness node when enable stretched cluster.
203
- :param str preferred_fault_domain_name: The name of first fault domain. Default is `Preferred`.
204
- :param str secondary_fault_domain_name: The name of second fault domain. Default is `Secondary`.
205
-
206
- > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
207
- You can enable or re-enable vSphere HA after vSAN is configured.
208
-
209
- <!--Start PulumiCodeChooser -->
210
- ```python
211
- import pulumi
212
- import pulumi_vsphere as vsphere
213
-
214
- compute_cluster = vsphere.ComputeCluster("computeCluster",
215
- datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
216
- host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
217
- drs_enabled=True,
218
- drs_automation_level="fullyAutomated",
219
- ha_enabled=False,
220
- vsan_enabled=True,
221
- vsan_esa_enabled=True,
222
- vsan_dedup_enabled=True,
223
- vsan_compression_enabled=True,
224
- vsan_performance_enabled=True,
225
- vsan_verbose_mode_enabled=True,
226
- vsan_network_diagnostic_mode_enabled=True,
227
- vsan_unmap_enabled=True,
228
- vsan_dit_encryption_enabled=True,
229
- vsan_dit_rekey_interval=1800,
230
- vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
231
- cache=data["vsphere_vmfs_disks"]["cache_disks"],
232
- storages=data["vsphere_vmfs_disks"]["storage_disks"],
233
- )],
234
- vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
235
- fault_domains=[
236
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
237
- name="fd1",
238
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
239
- ),
240
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
241
- name="fd2",
242
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
243
- ),
244
- ],
245
- )],
246
- vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
247
- preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
248
- secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
249
- witness_node=data["vsphere_host"]["witness_host"]["id"],
250
- ))
251
- ```
252
- <!--End PulumiCodeChooser -->
204
+ :param str preferred_fault_domain_name: The name of prepferred fault domain.
205
+ :param str secondary_fault_domain_name: The name of secondary fault domain.
253
206
  """
254
207
  pulumi.set(__self__, "preferred_fault_domain_host_ids", preferred_fault_domain_host_ids)
255
208
  pulumi.set(__self__, "secondary_fault_domain_host_ids", secondary_fault_domain_host_ids)
@@ -287,7 +240,7 @@ class ComputeClusterVsanStretchedCluster(dict):
287
240
  @pulumi.getter(name="preferredFaultDomainName")
288
241
  def preferred_fault_domain_name(self) -> Optional[str]:
289
242
  """
290
- The name of first fault domain. Default is `Preferred`.
243
+ The name of prepferred fault domain.
291
244
  """
292
245
  return pulumi.get(self, "preferred_fault_domain_name")
293
246
 
@@ -295,55 +248,7 @@ class ComputeClusterVsanStretchedCluster(dict):
295
248
  @pulumi.getter(name="secondaryFaultDomainName")
296
249
  def secondary_fault_domain_name(self) -> Optional[str]:
297
250
  """
298
- The name of second fault domain. Default is `Secondary`.
299
-
300
- > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
301
- You can enable or re-enable vSphere HA after vSAN is configured.
302
-
303
- <!--Start PulumiCodeChooser -->
304
- ```python
305
- import pulumi
306
- import pulumi_vsphere as vsphere
307
-
308
- compute_cluster = vsphere.ComputeCluster("computeCluster",
309
- datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
310
- host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
311
- drs_enabled=True,
312
- drs_automation_level="fullyAutomated",
313
- ha_enabled=False,
314
- vsan_enabled=True,
315
- vsan_esa_enabled=True,
316
- vsan_dedup_enabled=True,
317
- vsan_compression_enabled=True,
318
- vsan_performance_enabled=True,
319
- vsan_verbose_mode_enabled=True,
320
- vsan_network_diagnostic_mode_enabled=True,
321
- vsan_unmap_enabled=True,
322
- vsan_dit_encryption_enabled=True,
323
- vsan_dit_rekey_interval=1800,
324
- vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
325
- cache=data["vsphere_vmfs_disks"]["cache_disks"],
326
- storages=data["vsphere_vmfs_disks"]["storage_disks"],
327
- )],
328
- vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
329
- fault_domains=[
330
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
331
- name="fd1",
332
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
333
- ),
334
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
335
- name="fd2",
336
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
337
- ),
338
- ],
339
- )],
340
- vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
341
- preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
342
- secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
343
- witness_node=data["vsphere_host"]["witness_host"]["id"],
344
- ))
345
- ```
346
- <!--End PulumiCodeChooser -->
251
+ The name of secondary fault domain.
347
252
  """
348
253
  return pulumi.get(self, "secondary_fault_domain_name")
349
254
 
@@ -376,11 +281,11 @@ class ContentLibraryPublication(dict):
376
281
  published: Optional[bool] = None,
377
282
  username: Optional[str] = None):
378
283
  """
379
- :param str authentication_method: Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
380
- :param str password: Password used for authentication.
284
+ :param str authentication_method: Method to authenticate users. Must be `NONE` or `BASIC`.
285
+ :param str password: Password used by subscribers to authenticate.
381
286
  :param str publish_url: The URL of the published content library.
382
287
  :param bool published: Publish the content library. Default `false`.
383
- :param str username: Username used for authentication.
288
+ :param str username: Username used by subscribers to authenticate. Currently can only be `vcsp`.
384
289
  """
385
290
  if authentication_method is not None:
386
291
  pulumi.set(__self__, "authentication_method", authentication_method)
@@ -397,7 +302,7 @@ class ContentLibraryPublication(dict):
397
302
  @pulumi.getter(name="authenticationMethod")
398
303
  def authentication_method(self) -> Optional[str]:
399
304
  """
400
- Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
305
+ Method to authenticate users. Must be `NONE` or `BASIC`.
401
306
  """
402
307
  return pulumi.get(self, "authentication_method")
403
308
 
@@ -405,7 +310,7 @@ class ContentLibraryPublication(dict):
405
310
  @pulumi.getter
406
311
  def password(self) -> Optional[str]:
407
312
  """
408
- Password used for authentication.
313
+ Password used by subscribers to authenticate.
409
314
  """
410
315
  return pulumi.get(self, "password")
411
316
 
@@ -429,7 +334,7 @@ class ContentLibraryPublication(dict):
429
334
  @pulumi.getter
430
335
  def username(self) -> Optional[str]:
431
336
  """
432
- Username used for authentication.
337
+ Username used by subscribers to authenticate. Currently can only be `vcsp`.
433
338
  """
434
339
  return pulumi.get(self, "username")
435
340
 
@@ -607,10 +512,8 @@ class DistributedVirtualSwitchHost(dict):
607
512
  host_system_id: str,
608
513
  devices: Optional[Sequence[str]] = None):
609
514
  """
610
- :param str host_system_id: The host system ID of the host to add to the
611
- VDS.
612
- :param Sequence[str] devices: The list of NIC devices to map to uplinks on the VDS,
613
- added in order they are specified.
515
+ :param str host_system_id: The managed object ID of the host this specification applies to.
516
+ :param Sequence[str] devices: Name of the physical NIC to be added to the proxy switch.
614
517
  """
615
518
  pulumi.set(__self__, "host_system_id", host_system_id)
616
519
  if devices is not None:
@@ -620,8 +523,7 @@ class DistributedVirtualSwitchHost(dict):
620
523
  @pulumi.getter(name="hostSystemId")
621
524
  def host_system_id(self) -> str:
622
525
  """
623
- The host system ID of the host to add to the
624
- VDS.
526
+ The managed object ID of the host this specification applies to.
625
527
  """
626
528
  return pulumi.get(self, "host_system_id")
627
529
 
@@ -629,8 +531,7 @@ class DistributedVirtualSwitchHost(dict):
629
531
  @pulumi.getter
630
532
  def devices(self) -> Optional[Sequence[str]]:
631
533
  """
632
- The list of NIC devices to map to uplinks on the VDS,
633
- added in order they are specified.
534
+ Name of the physical NIC to be added to the proxy switch.
634
535
  """
635
536
  return pulumi.get(self, "devices")
636
537
 
@@ -663,12 +564,9 @@ class DistributedVirtualSwitchPvlanMapping(dict):
663
564
  pvlan_type: str,
664
565
  secondary_vlan_id: int):
665
566
  """
666
- :param int primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and
667
- 4095 are reserved and cannot be used in this property.
668
- :param str pvlan_type: The private VLAN type. Valid values are
669
- promiscuous, community and isolated.
670
- :param int secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0
671
- and 4095 are reserved and cannot be used in this property.
567
+ :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.
568
+ :param str pvlan_type: The private VLAN type. Valid values are promiscuous, community and isolated.
569
+ :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.
672
570
  """
673
571
  pulumi.set(__self__, "primary_vlan_id", primary_vlan_id)
674
572
  pulumi.set(__self__, "pvlan_type", pvlan_type)
@@ -678,8 +576,7 @@ class DistributedVirtualSwitchPvlanMapping(dict):
678
576
  @pulumi.getter(name="primaryVlanId")
679
577
  def primary_vlan_id(self) -> int:
680
578
  """
681
- The primary VLAN ID. The VLAN IDs of 0 and
682
- 4095 are reserved and cannot be used in this property.
579
+ The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
683
580
  """
684
581
  return pulumi.get(self, "primary_vlan_id")
685
582
 
@@ -687,8 +584,7 @@ class DistributedVirtualSwitchPvlanMapping(dict):
687
584
  @pulumi.getter(name="pvlanType")
688
585
  def pvlan_type(self) -> str:
689
586
  """
690
- The private VLAN type. Valid values are
691
- promiscuous, community and isolated.
587
+ The private VLAN type. Valid values are promiscuous, community and isolated.
692
588
  """
693
589
  return pulumi.get(self, "pvlan_type")
694
590
 
@@ -696,8 +592,7 @@ class DistributedVirtualSwitchPvlanMapping(dict):
696
592
  @pulumi.getter(name="secondaryVlanId")
697
593
  def secondary_vlan_id(self) -> int:
698
594
  """
699
- The secondary VLAN ID. The VLAN IDs of 0
700
- and 4095 are reserved and cannot be used in this property.
595
+ The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
701
596
  """
702
597
  return pulumi.get(self, "secondary_vlan_id")
703
598
 
@@ -1441,15 +1336,11 @@ class VirtualMachineCdrom(dict):
1441
1336
  key: Optional[int] = None,
1442
1337
  path: Optional[str] = None):
1443
1338
  """
1444
- :param bool client_device: Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1445
- :param str datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1339
+ :param bool client_device: Indicates whether the device should be mapped to a remote client device
1340
+ :param str datastore_id: The datastore ID the ISO is located on.
1446
1341
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
1447
1342
  :param int key: The ID of the device within the virtual machine.
1448
- :param str path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1449
-
1450
- > **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 .
1451
-
1452
- > **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.
1343
+ :param str path: The path to the ISO file on the datastore.
1453
1344
  """
1454
1345
  if client_device is not None:
1455
1346
  pulumi.set(__self__, "client_device", client_device)
@@ -1466,7 +1357,7 @@ class VirtualMachineCdrom(dict):
1466
1357
  @pulumi.getter(name="clientDevice")
1467
1358
  def client_device(self) -> Optional[bool]:
1468
1359
  """
1469
- Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1360
+ Indicates whether the device should be mapped to a remote client device
1470
1361
  """
1471
1362
  return pulumi.get(self, "client_device")
1472
1363
 
@@ -1474,7 +1365,7 @@ class VirtualMachineCdrom(dict):
1474
1365
  @pulumi.getter(name="datastoreId")
1475
1366
  def datastore_id(self) -> Optional[str]:
1476
1367
  """
1477
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
1368
+ The datastore ID the ISO is located on.
1478
1369
  """
1479
1370
  return pulumi.get(self, "datastore_id")
1480
1371
 
@@ -1498,11 +1389,7 @@ class VirtualMachineCdrom(dict):
1498
1389
  @pulumi.getter
1499
1390
  def path(self) -> Optional[str]:
1500
1391
  """
1501
- The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1502
-
1503
- > **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 .
1504
-
1505
- > **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.
1392
+ The path to the ISO file on the datastore.
1506
1393
  """
1507
1394
  return pulumi.get(self, "path")
1508
1395
 
@@ -1701,7 +1588,7 @@ class VirtualMachineCloneCustomize(dict):
1701
1588
  :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.
1702
1589
  :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.
1703
1590
  :param 'VirtualMachineCloneCustomizeLinuxOptionsArgs' linux_options: A list of configuration options specific to Linux virtual machines.
1704
- :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
1591
+ :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification of network interface configuration options.
1705
1592
  :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.
1706
1593
  :param 'VirtualMachineCloneCustomizeWindowsOptionsArgs' windows_options: A list of configuration options specific to Windows virtual machines.
1707
1594
  :param str windows_sysprep_text: Use this option to specify a windows sysprep file directly.
@@ -1769,7 +1656,7 @@ class VirtualMachineCloneCustomize(dict):
1769
1656
  @pulumi.getter(name="networkInterfaces")
1770
1657
  def network_interfaces(self) -> Optional[Sequence['outputs.VirtualMachineCloneCustomizeNetworkInterface']]:
1771
1658
  """
1772
- A specification for a virtual NIC on the virtual machine. See network interface options for more information.
1659
+ A specification of network interface configuration options.
1773
1660
  """
1774
1661
  return pulumi.get(self, "network_interfaces")
1775
1662
 
@@ -2264,36 +2151,26 @@ class VirtualMachineDisk(dict):
2264
2151
  write_through: Optional[bool] = None):
2265
2152
  """
2266
2153
  :param str label: A unique label for this disk.
2267
- :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.
2268
-
2269
- > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2270
- :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`.
2271
- :param str datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2154
+ :param bool attach: If this is true, the disk is attached instead of created. Implies keep_on_remove.
2155
+ :param str controller_type: The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2156
+ :param str datastore_id: The datastore ID for this virtual disk, if different than the virtual machine.
2272
2157
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2273
- :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].
2274
-
2275
- [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
2276
- :param str disk_sharing: The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2277
-
2278
- > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2279
- :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`.
2280
- :param int io_limit: The upper limit of IOPS that this disk can use. The default is no limit.
2281
- :param int io_reservation: The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2282
- :param int io_share_count: The share count for the virtual disk when the share level is `custom`.
2283
- :param str io_share_level: The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2284
- :param bool keep_on_remove: Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2158
+ :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.
2159
+ :param str disk_sharing: The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2160
+ :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.
2161
+ :param int io_limit: The upper limit of IOPS that this disk can use.
2162
+ :param int io_reservation: The I/O guarantee that this disk has, in IOPS.
2163
+ :param int io_share_count: The share count for this disk when the share level is custom.
2164
+ :param str io_share_level: The share allocation level for this disk. Can be one of low, normal, high, or custom.
2165
+ :param bool keep_on_remove: Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2285
2166
  :param int key: The ID of the device within the virtual machine.
2286
- :param str path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2287
-
2288
- > **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 .
2289
-
2290
- > **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.
2291
- :param int size: The size of the disk, in GB. Must be a whole number.
2292
- :param str storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
2293
- :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`.
2294
- :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.
2295
- :param str uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2296
- :param bool write_through: If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2167
+ :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.
2168
+ :param int size: The size of the disk, in GB.
2169
+ :param str storage_policy_id: The ID of the storage policy to assign to the virtual disk in VM.
2170
+ :param bool thin_provisioned: If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2171
+ :param int unit_number: The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2172
+ :param str uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
2173
+ :param bool write_through: If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2297
2174
  """
2298
2175
  pulumi.set(__self__, "label", label)
2299
2176
  if attach is not None:
@@ -2349,9 +2226,7 @@ class VirtualMachineDisk(dict):
2349
2226
  @pulumi.getter
2350
2227
  def attach(self) -> Optional[bool]:
2351
2228
  """
2352
- 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.
2353
-
2354
- > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2229
+ If this is true, the disk is attached instead of created. Implies keep_on_remove.
2355
2230
  """
2356
2231
  return pulumi.get(self, "attach")
2357
2232
 
@@ -2359,7 +2234,7 @@ class VirtualMachineDisk(dict):
2359
2234
  @pulumi.getter(name="controllerType")
2360
2235
  def controller_type(self) -> Optional[str]:
2361
2236
  """
2362
- 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`.
2237
+ The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2363
2238
  """
2364
2239
  return pulumi.get(self, "controller_type")
2365
2240
 
@@ -2367,7 +2242,7 @@ class VirtualMachineDisk(dict):
2367
2242
  @pulumi.getter(name="datastoreId")
2368
2243
  def datastore_id(self) -> Optional[str]:
2369
2244
  """
2370
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2245
+ The datastore ID for this virtual disk, if different than the virtual machine.
2371
2246
  """
2372
2247
  return pulumi.get(self, "datastore_id")
2373
2248
 
@@ -2383,9 +2258,7 @@ class VirtualMachineDisk(dict):
2383
2258
  @pulumi.getter(name="diskMode")
2384
2259
  def disk_mode(self) -> Optional[str]:
2385
2260
  """
2386
- 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].
2387
-
2388
- [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
2261
+ 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.
2389
2262
  """
2390
2263
  return pulumi.get(self, "disk_mode")
2391
2264
 
@@ -2393,9 +2266,7 @@ class VirtualMachineDisk(dict):
2393
2266
  @pulumi.getter(name="diskSharing")
2394
2267
  def disk_sharing(self) -> Optional[str]:
2395
2268
  """
2396
- The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2397
-
2398
- > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2269
+ The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2399
2270
  """
2400
2271
  return pulumi.get(self, "disk_sharing")
2401
2272
 
@@ -2403,7 +2274,7 @@ class VirtualMachineDisk(dict):
2403
2274
  @pulumi.getter(name="eagerlyScrub")
2404
2275
  def eagerly_scrub(self) -> Optional[bool]:
2405
2276
  """
2406
- 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`.
2277
+ 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
2278
  """
2408
2279
  return pulumi.get(self, "eagerly_scrub")
2409
2280
 
@@ -2411,7 +2282,7 @@ class VirtualMachineDisk(dict):
2411
2282
  @pulumi.getter(name="ioLimit")
2412
2283
  def io_limit(self) -> Optional[int]:
2413
2284
  """
2414
- The upper limit of IOPS that this disk can use. The default is no limit.
2285
+ The upper limit of IOPS that this disk can use.
2415
2286
  """
2416
2287
  return pulumi.get(self, "io_limit")
2417
2288
 
@@ -2419,7 +2290,7 @@ class VirtualMachineDisk(dict):
2419
2290
  @pulumi.getter(name="ioReservation")
2420
2291
  def io_reservation(self) -> Optional[int]:
2421
2292
  """
2422
- The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2293
+ The I/O guarantee that this disk has, in IOPS.
2423
2294
  """
2424
2295
  return pulumi.get(self, "io_reservation")
2425
2296
 
@@ -2427,7 +2298,7 @@ class VirtualMachineDisk(dict):
2427
2298
  @pulumi.getter(name="ioShareCount")
2428
2299
  def io_share_count(self) -> Optional[int]:
2429
2300
  """
2430
- The share count for the virtual disk when the share level is `custom`.
2301
+ The share count for this disk when the share level is custom.
2431
2302
  """
2432
2303
  return pulumi.get(self, "io_share_count")
2433
2304
 
@@ -2435,7 +2306,7 @@ class VirtualMachineDisk(dict):
2435
2306
  @pulumi.getter(name="ioShareLevel")
2436
2307
  def io_share_level(self) -> Optional[str]:
2437
2308
  """
2438
- The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2309
+ The share allocation level for this disk. Can be one of low, normal, high, or custom.
2439
2310
  """
2440
2311
  return pulumi.get(self, "io_share_level")
2441
2312
 
@@ -2443,7 +2314,7 @@ class VirtualMachineDisk(dict):
2443
2314
  @pulumi.getter(name="keepOnRemove")
2444
2315
  def keep_on_remove(self) -> Optional[bool]:
2445
2316
  """
2446
- Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
2317
+ Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2447
2318
  """
2448
2319
  return pulumi.get(self, "keep_on_remove")
2449
2320
 
@@ -2459,11 +2330,7 @@ class VirtualMachineDisk(dict):
2459
2330
  @pulumi.getter
2460
2331
  def path(self) -> Optional[str]:
2461
2332
  """
2462
- The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2463
-
2464
- > **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 .
2465
-
2466
- > **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.
2333
+ 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.
2467
2334
  """
2468
2335
  return pulumi.get(self, "path")
2469
2336
 
@@ -2471,7 +2338,7 @@ class VirtualMachineDisk(dict):
2471
2338
  @pulumi.getter
2472
2339
  def size(self) -> Optional[int]:
2473
2340
  """
2474
- The size of the disk, in GB. Must be a whole number.
2341
+ The size of the disk, in GB.
2475
2342
  """
2476
2343
  return pulumi.get(self, "size")
2477
2344
 
@@ -2479,7 +2346,7 @@ class VirtualMachineDisk(dict):
2479
2346
  @pulumi.getter(name="storagePolicyId")
2480
2347
  def storage_policy_id(self) -> Optional[str]:
2481
2348
  """
2482
- The UUID of the storage policy to assign to the virtual disk.
2349
+ The ID of the storage policy to assign to the virtual disk in VM.
2483
2350
  """
2484
2351
  return pulumi.get(self, "storage_policy_id")
2485
2352
 
@@ -2487,7 +2354,7 @@ class VirtualMachineDisk(dict):
2487
2354
  @pulumi.getter(name="thinProvisioned")
2488
2355
  def thin_provisioned(self) -> Optional[bool]:
2489
2356
  """
2490
- 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`.
2357
+ If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2491
2358
  """
2492
2359
  return pulumi.get(self, "thin_provisioned")
2493
2360
 
@@ -2495,7 +2362,7 @@ class VirtualMachineDisk(dict):
2495
2362
  @pulumi.getter(name="unitNumber")
2496
2363
  def unit_number(self) -> Optional[int]:
2497
2364
  """
2498
- 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.
2365
+ The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2499
2366
  """
2500
2367
  return pulumi.get(self, "unit_number")
2501
2368
 
@@ -2503,7 +2370,7 @@ class VirtualMachineDisk(dict):
2503
2370
  @pulumi.getter
2504
2371
  def uuid(self) -> Optional[str]:
2505
2372
  """
2506
- The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2373
+ The UUID of the virtual machine. Also exposed as the `id` of the resource.
2507
2374
  """
2508
2375
  return pulumi.get(self, "uuid")
2509
2376
 
@@ -2511,7 +2378,7 @@ class VirtualMachineDisk(dict):
2511
2378
  @pulumi.getter(name="writeThrough")
2512
2379
  def write_through(self) -> Optional[bool]:
2513
2380
  """
2514
- If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
2381
+ If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2515
2382
  """
2516
2383
  return pulumi.get(self, "write_through")
2517
2384
 
@@ -2569,18 +2436,18 @@ class VirtualMachineNetworkInterface(dict):
2569
2436
  physical_function: Optional[str] = None,
2570
2437
  use_static_mac: Optional[bool] = None):
2571
2438
  """
2572
- :param str network_id: The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2573
- :param str adapter_type: The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2574
- :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`.
2575
- :param int bandwidth_reservation: The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
2576
- :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`.
2577
- :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`.
2439
+ :param str network_id: The ID of the network to connect this network interface to.
2440
+ :param str adapter_type: The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2441
+ :param int bandwidth_limit: The upper bandwidth limit of this network interface, in Mbits/sec.
2442
+ :param int bandwidth_reservation: The bandwidth reservation of this network interface, in Mbits/sec.
2443
+ :param int bandwidth_share_count: The share count for this network interface when the share level is custom.
2444
+ :param str bandwidth_share_level: The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2578
2445
  :param str device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2579
2446
  :param int key: The ID of the device within the virtual machine.
2580
- :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.
2581
- :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.
2447
+ :param str mac_address: The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2448
+ :param str ovf_mapping: Mapping of network interface to OVF network.
2582
2449
  :param str physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
2583
- :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`.
2450
+ :param bool use_static_mac: If true, the mac_address field is treated as a static MAC address and set accordingly.
2584
2451
  """
2585
2452
  pulumi.set(__self__, "network_id", network_id)
2586
2453
  if adapter_type is not None:
@@ -2610,7 +2477,7 @@ class VirtualMachineNetworkInterface(dict):
2610
2477
  @pulumi.getter(name="networkId")
2611
2478
  def network_id(self) -> str:
2612
2479
  """
2613
- The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2480
+ The ID of the network to connect this network interface to.
2614
2481
  """
2615
2482
  return pulumi.get(self, "network_id")
2616
2483
 
@@ -2618,7 +2485,7 @@ class VirtualMachineNetworkInterface(dict):
2618
2485
  @pulumi.getter(name="adapterType")
2619
2486
  def adapter_type(self) -> Optional[str]:
2620
2487
  """
2621
- The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2488
+ The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2622
2489
  """
2623
2490
  return pulumi.get(self, "adapter_type")
2624
2491
 
@@ -2626,7 +2493,7 @@ class VirtualMachineNetworkInterface(dict):
2626
2493
  @pulumi.getter(name="bandwidthLimit")
2627
2494
  def bandwidth_limit(self) -> Optional[int]:
2628
2495
  """
2629
- The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
2496
+ The upper bandwidth limit of this network interface, in Mbits/sec.
2630
2497
  """
2631
2498
  return pulumi.get(self, "bandwidth_limit")
2632
2499
 
@@ -2634,7 +2501,7 @@ class VirtualMachineNetworkInterface(dict):
2634
2501
  @pulumi.getter(name="bandwidthReservation")
2635
2502
  def bandwidth_reservation(self) -> Optional[int]:
2636
2503
  """
2637
- The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
2504
+ The bandwidth reservation of this network interface, in Mbits/sec.
2638
2505
  """
2639
2506
  return pulumi.get(self, "bandwidth_reservation")
2640
2507
 
@@ -2642,7 +2509,7 @@ class VirtualMachineNetworkInterface(dict):
2642
2509
  @pulumi.getter(name="bandwidthShareCount")
2643
2510
  def bandwidth_share_count(self) -> Optional[int]:
2644
2511
  """
2645
- The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
2512
+ The share count for this network interface when the share level is custom.
2646
2513
  """
2647
2514
  return pulumi.get(self, "bandwidth_share_count")
2648
2515
 
@@ -2650,7 +2517,7 @@ class VirtualMachineNetworkInterface(dict):
2650
2517
  @pulumi.getter(name="bandwidthShareLevel")
2651
2518
  def bandwidth_share_level(self) -> Optional[str]:
2652
2519
  """
2653
- 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`.
2520
+ The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2654
2521
  """
2655
2522
  return pulumi.get(self, "bandwidth_share_level")
2656
2523
 
@@ -2674,7 +2541,7 @@ class VirtualMachineNetworkInterface(dict):
2674
2541
  @pulumi.getter(name="macAddress")
2675
2542
  def mac_address(self) -> Optional[str]:
2676
2543
  """
2677
- 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.
2544
+ The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2678
2545
  """
2679
2546
  return pulumi.get(self, "mac_address")
2680
2547
 
@@ -2682,7 +2549,7 @@ class VirtualMachineNetworkInterface(dict):
2682
2549
  @pulumi.getter(name="ovfMapping")
2683
2550
  def ovf_mapping(self) -> Optional[str]:
2684
2551
  """
2685
- Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
2552
+ Mapping of network interface to OVF network.
2686
2553
  """
2687
2554
  return pulumi.get(self, "ovf_mapping")
2688
2555
 
@@ -2698,7 +2565,7 @@ class VirtualMachineNetworkInterface(dict):
2698
2565
  @pulumi.getter(name="useStaticMac")
2699
2566
  def use_static_mac(self) -> Optional[bool]:
2700
2567
  """
2701
- 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`.
2568
+ If true, the mac_address field is treated as a static MAC address and set accordingly.
2702
2569
  """
2703
2570
  return pulumi.get(self, "use_static_mac")
2704
2571
 
@@ -2938,10 +2805,10 @@ class VnicIpv4(dict):
2938
2805
  ip: Optional[str] = None,
2939
2806
  netmask: Optional[str] = None):
2940
2807
  """
2941
- :param bool dhcp: Use DHCP to configure the interface's IPv6 stack.
2942
- :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set.
2943
- :param str ip: Address of the interface, if DHCP is not set.
2944
- :param str netmask: Netmask of the interface, if DHCP is not set.
2808
+ :param bool dhcp: Use DHCP to configure the interface's IPv4 stack.
2809
+ :param str gw: IP address of the default gateway, if DHCP is not set.
2810
+ :param str ip: address of the interface, if DHCP is not set.
2811
+ :param str netmask: netmask of the interface, if DHCP is not set.
2945
2812
  """
2946
2813
  if dhcp is not None:
2947
2814
  pulumi.set(__self__, "dhcp", dhcp)
@@ -2956,7 +2823,7 @@ class VnicIpv4(dict):
2956
2823
  @pulumi.getter
2957
2824
  def dhcp(self) -> Optional[bool]:
2958
2825
  """
2959
- Use DHCP to configure the interface's IPv6 stack.
2826
+ Use DHCP to configure the interface's IPv4 stack.
2960
2827
  """
2961
2828
  return pulumi.get(self, "dhcp")
2962
2829
 
@@ -2964,7 +2831,7 @@ class VnicIpv4(dict):
2964
2831
  @pulumi.getter
2965
2832
  def gw(self) -> Optional[str]:
2966
2833
  """
2967
- IP address of the default gateway, if DHCP or autoconfig is not set.
2834
+ IP address of the default gateway, if DHCP is not set.
2968
2835
  """
2969
2836
  return pulumi.get(self, "gw")
2970
2837
 
@@ -2972,7 +2839,7 @@ class VnicIpv4(dict):
2972
2839
  @pulumi.getter
2973
2840
  def ip(self) -> Optional[str]:
2974
2841
  """
2975
- Address of the interface, if DHCP is not set.
2842
+ address of the interface, if DHCP is not set.
2976
2843
  """
2977
2844
  return pulumi.get(self, "ip")
2978
2845
 
@@ -2980,7 +2847,7 @@ class VnicIpv4(dict):
2980
2847
  @pulumi.getter
2981
2848
  def netmask(self) -> Optional[str]:
2982
2849
  """
2983
- Netmask of the interface, if DHCP is not set.
2850
+ netmask of the interface, if DHCP is not set.
2984
2851
  """
2985
2852
  return pulumi.get(self, "netmask")
2986
2853
 
@@ -2995,7 +2862,7 @@ class VnicIpv6(dict):
2995
2862
  """
2996
2863
  :param Sequence[str] addresses: List of IPv6 addresses
2997
2864
  :param bool autoconfig: Use IPv6 Autoconfiguration (RFC2462).
2998
- :param bool dhcp: Use DHCP to configure the interface's IPv6 stack.
2865
+ :param bool dhcp: Use DHCP to configure the interface's IPv4 stack.
2999
2866
  :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set.
3000
2867
  """
3001
2868
  if addresses is not None:
@@ -3027,7 +2894,7 @@ class VnicIpv6(dict):
3027
2894
  @pulumi.getter
3028
2895
  def dhcp(self) -> Optional[bool]:
3029
2896
  """
3030
- Use DHCP to configure the interface's IPv6 stack.
2897
+ Use DHCP to configure the interface's IPv4 stack.
3031
2898
  """
3032
2899
  return pulumi.get(self, "dhcp")
3033
2900
 
@@ -3366,6 +3233,76 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3366
3233
  return pulumi.get(self, "domain_admin_password")
3367
3234
 
3368
3235
 
3236
+ @pulumi.output_type
3237
+ class GetHostVgpuProfileVgpuProfileResult(dict):
3238
+ def __init__(__self__, *,
3239
+ disk_snapshot_supported: bool,
3240
+ memory_snapshot_supported: bool,
3241
+ migrate_supported: bool,
3242
+ suspend_supported: bool,
3243
+ vgpu: str):
3244
+ """
3245
+ :param bool disk_snapshot_supported: Indicates whether the GPU plugin on this host is
3246
+ capable of disk-only snapshots when VM is not powered off.
3247
+ :param bool memory_snapshot_supported: Indicates whether the GPU plugin on this host is
3248
+ capable of memory snapshots.
3249
+ :param bool migrate_supported: Indicates whether the GPU plugin on this host is capable
3250
+ of migration.
3251
+ :param bool suspend_supported: Indicates whether the GPU plugin on this host is capable
3252
+ of suspend-resume.
3253
+ :param str vgpu: Name of a particular vGPU available as a shared GPU device (vGPU profile).
3254
+ """
3255
+ pulumi.set(__self__, "disk_snapshot_supported", disk_snapshot_supported)
3256
+ pulumi.set(__self__, "memory_snapshot_supported", memory_snapshot_supported)
3257
+ pulumi.set(__self__, "migrate_supported", migrate_supported)
3258
+ pulumi.set(__self__, "suspend_supported", suspend_supported)
3259
+ pulumi.set(__self__, "vgpu", vgpu)
3260
+
3261
+ @property
3262
+ @pulumi.getter(name="diskSnapshotSupported")
3263
+ def disk_snapshot_supported(self) -> bool:
3264
+ """
3265
+ Indicates whether the GPU plugin on this host is
3266
+ capable of disk-only snapshots when VM is not powered off.
3267
+ """
3268
+ return pulumi.get(self, "disk_snapshot_supported")
3269
+
3270
+ @property
3271
+ @pulumi.getter(name="memorySnapshotSupported")
3272
+ def memory_snapshot_supported(self) -> bool:
3273
+ """
3274
+ Indicates whether the GPU plugin on this host is
3275
+ capable of memory snapshots.
3276
+ """
3277
+ return pulumi.get(self, "memory_snapshot_supported")
3278
+
3279
+ @property
3280
+ @pulumi.getter(name="migrateSupported")
3281
+ def migrate_supported(self) -> bool:
3282
+ """
3283
+ Indicates whether the GPU plugin on this host is capable
3284
+ of migration.
3285
+ """
3286
+ return pulumi.get(self, "migrate_supported")
3287
+
3288
+ @property
3289
+ @pulumi.getter(name="suspendSupported")
3290
+ def suspend_supported(self) -> bool:
3291
+ """
3292
+ Indicates whether the GPU plugin on this host is capable
3293
+ of suspend-resume.
3294
+ """
3295
+ return pulumi.get(self, "suspend_supported")
3296
+
3297
+ @property
3298
+ @pulumi.getter
3299
+ def vgpu(self) -> str:
3300
+ """
3301
+ Name of a particular vGPU available as a shared GPU device (vGPU profile).
3302
+ """
3303
+ return pulumi.get(self, "vgpu")
3304
+
3305
+
3369
3306
  @pulumi.output_type
3370
3307
  class GetVirtualMachineDiskResult(dict):
3371
3308
  def __init__(__self__, *,