pulumi-vsphere 4.11.0__py3-none-any.whl → 4.11.0a1__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 (48) hide show
  1. pulumi_vsphere/_inputs.py +6 -92
  2. pulumi_vsphere/_utilities.py +4 -40
  3. pulumi_vsphere/compute_cluster.py +20 -20
  4. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +18 -14
  5. pulumi_vsphere/content_library.py +10 -10
  6. pulumi_vsphere/datacenter.py +28 -7
  7. pulumi_vsphere/datastore_cluster.py +14 -0
  8. pulumi_vsphere/distributed_port_group.py +12 -61
  9. pulumi_vsphere/distributed_virtual_switch.py +43 -22
  10. pulumi_vsphere/entity_permissions.py +38 -59
  11. pulumi_vsphere/folder.py +21 -0
  12. pulumi_vsphere/get_compute_cluster_host_group.py +16 -18
  13. pulumi_vsphere/get_content_library.py +6 -10
  14. pulumi_vsphere/get_content_library_item.py +8 -12
  15. pulumi_vsphere/get_datastore.py +12 -12
  16. pulumi_vsphere/get_datastore_stats.py +40 -42
  17. pulumi_vsphere/get_dynamic.py +12 -14
  18. pulumi_vsphere/get_guest_os_customization.py +43 -8
  19. pulumi_vsphere/get_host_base_images.py +6 -6
  20. pulumi_vsphere/get_host_pci_device.py +2 -4
  21. pulumi_vsphere/get_host_thumbprint.py +12 -12
  22. pulumi_vsphere/get_host_vgpu_profile.py +2 -4
  23. pulumi_vsphere/get_license.py +1 -2
  24. pulumi_vsphere/get_network.py +14 -14
  25. pulumi_vsphere/get_resource_pool.py +8 -12
  26. pulumi_vsphere/get_role.py +4 -4
  27. pulumi_vsphere/get_virtual_machine.py +35 -60
  28. pulumi_vsphere/guest_os_customization.py +31 -31
  29. pulumi_vsphere/host.py +40 -49
  30. pulumi_vsphere/host_port_group.py +2 -2
  31. pulumi_vsphere/nas_datastore.py +7 -7
  32. pulumi_vsphere/offline_software_depot.py +2 -2
  33. pulumi_vsphere/outputs.py +40 -129
  34. pulumi_vsphere/provider.py +6 -2
  35. pulumi_vsphere/pulumi-plugin.json +1 -1
  36. pulumi_vsphere/resource_pool.py +2 -2
  37. pulumi_vsphere/supervisor.py +30 -134
  38. pulumi_vsphere/virtual_disk.py +30 -38
  39. pulumi_vsphere/virtual_machine.py +32 -32
  40. pulumi_vsphere/virtual_machine_class.py +0 -2
  41. pulumi_vsphere/virtual_machine_snapshot.py +2 -2
  42. pulumi_vsphere/vm_storage_policy.py +67 -67
  43. pulumi_vsphere/vnic.py +93 -89
  44. {pulumi_vsphere-4.11.0.dist-info → pulumi_vsphere-4.11.0a1.dist-info}/METADATA +1 -1
  45. pulumi_vsphere-4.11.0a1.dist-info/RECORD +86 -0
  46. {pulumi_vsphere-4.11.0.dist-info → pulumi_vsphere-4.11.0a1.dist-info}/WHEEL +1 -1
  47. pulumi_vsphere-4.11.0.dist-info/RECORD +0 -86
  48. {pulumi_vsphere-4.11.0.dist-info → pulumi_vsphere-4.11.0a1.dist-info}/top_level.txt +0 -0
pulumi_vsphere/_inputs.py CHANGED
@@ -28,8 +28,6 @@ __all__ = [
28
28
  'GuestOsCustomizationSpecNetworkInterfaceArgs',
29
29
  'GuestOsCustomizationSpecWindowsOptionsArgs',
30
30
  'HostPortGroupPortArgs',
31
- 'HostServiceArgs',
32
- 'HostServiceNtpdArgs',
33
31
  'OfflineSoftwareDepotComponentArgs',
34
32
  'SupervisorEgressCidrArgs',
35
33
  'SupervisorIngressCidrArgs',
@@ -677,12 +675,9 @@ class EntityPermissionsPermissionArgs:
677
675
  role_id: pulumi.Input[str],
678
676
  user_or_group: pulumi.Input[str]):
679
677
  """
680
- :param pulumi.Input[bool] is_group: Whether `user_or_group` field refers to a user or a
681
- group. True for a group and false for a user.
682
- :param pulumi.Input[bool] propagate: Whether or not this permission propagates down the
683
- hierarchy to sub-entities.
684
- :param pulumi.Input[str] role_id: The role id of the role to be given to the user on
685
- the specified entity.
678
+ :param pulumi.Input[bool] is_group: Whether user_or_group field refers to a user or a group. True for a group and false for a user.
679
+ :param pulumi.Input[bool] propagate: Whether or not this permission propagates down the hierarchy to sub-entities.
680
+ :param pulumi.Input[str] role_id: The role id of the role to be given to the user on the specified entity.
686
681
  :param pulumi.Input[str] user_or_group: The user/group getting the permission.
687
682
  """
688
683
  pulumi.set(__self__, "is_group", is_group)
@@ -694,8 +689,7 @@ class EntityPermissionsPermissionArgs:
694
689
  @pulumi.getter(name="isGroup")
695
690
  def is_group(self) -> pulumi.Input[bool]:
696
691
  """
697
- Whether `user_or_group` field refers to a user or a
698
- group. True for a group and false for a user.
692
+ Whether user_or_group field refers to a user or a group. True for a group and false for a user.
699
693
  """
700
694
  return pulumi.get(self, "is_group")
701
695
 
@@ -707,8 +701,7 @@ class EntityPermissionsPermissionArgs:
707
701
  @pulumi.getter
708
702
  def propagate(self) -> pulumi.Input[bool]:
709
703
  """
710
- Whether or not this permission propagates down the
711
- hierarchy to sub-entities.
704
+ Whether or not this permission propagates down the hierarchy to sub-entities.
712
705
  """
713
706
  return pulumi.get(self, "propagate")
714
707
 
@@ -720,8 +713,7 @@ class EntityPermissionsPermissionArgs:
720
713
  @pulumi.getter(name="roleId")
721
714
  def role_id(self) -> pulumi.Input[str]:
722
715
  """
723
- The role id of the role to be given to the user on
724
- the specified entity.
716
+ The role id of the role to be given to the user on the specified entity.
725
717
  """
726
718
  return pulumi.get(self, "role_id")
727
719
 
@@ -1350,84 +1342,6 @@ class HostPortGroupPortArgs:
1350
1342
  pulumi.set(self, "type", value)
1351
1343
 
1352
1344
 
1353
- @pulumi.input_type
1354
- class HostServiceArgs:
1355
- def __init__(__self__, *,
1356
- ntpd: Optional[pulumi.Input['HostServiceNtpdArgs']] = None):
1357
- """
1358
- :param pulumi.Input['HostServiceNtpdArgs'] ntpd: service has three settings, `enabled` sets service to running or not running, `policy` sets service based on setting of `on` which sets service to "Start and stop with host", `off` which sets service to "Start and stop manually", `automatic` which sets service to "Start and stop with port usage".
1359
-
1360
- > **NOTE:** `services` only supports ntpd service today.
1361
- """
1362
- if ntpd is not None:
1363
- pulumi.set(__self__, "ntpd", ntpd)
1364
-
1365
- @property
1366
- @pulumi.getter
1367
- def ntpd(self) -> Optional[pulumi.Input['HostServiceNtpdArgs']]:
1368
- """
1369
- service has three settings, `enabled` sets service to running or not running, `policy` sets service based on setting of `on` which sets service to "Start and stop with host", `off` which sets service to "Start and stop manually", `automatic` which sets service to "Start and stop with port usage".
1370
-
1371
- > **NOTE:** `services` only supports ntpd service today.
1372
- """
1373
- return pulumi.get(self, "ntpd")
1374
-
1375
- @ntpd.setter
1376
- def ntpd(self, value: Optional[pulumi.Input['HostServiceNtpdArgs']]):
1377
- pulumi.set(self, "ntpd", value)
1378
-
1379
-
1380
- @pulumi.input_type
1381
- class HostServiceNtpdArgs:
1382
- def __init__(__self__, *,
1383
- enabled: Optional[pulumi.Input[bool]] = None,
1384
- ntp_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1385
- policy: Optional[pulumi.Input[str]] = None):
1386
- """
1387
- :param pulumi.Input[bool] enabled: Whether the NTP service is enabled. Default is false.
1388
- :param pulumi.Input[str] policy: The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1389
- """
1390
- if enabled is not None:
1391
- pulumi.set(__self__, "enabled", enabled)
1392
- if ntp_servers is not None:
1393
- pulumi.set(__self__, "ntp_servers", ntp_servers)
1394
- if policy is not None:
1395
- pulumi.set(__self__, "policy", policy)
1396
-
1397
- @property
1398
- @pulumi.getter
1399
- def enabled(self) -> Optional[pulumi.Input[bool]]:
1400
- """
1401
- Whether the NTP service is enabled. Default is false.
1402
- """
1403
- return pulumi.get(self, "enabled")
1404
-
1405
- @enabled.setter
1406
- def enabled(self, value: Optional[pulumi.Input[bool]]):
1407
- pulumi.set(self, "enabled", value)
1408
-
1409
- @property
1410
- @pulumi.getter(name="ntpServers")
1411
- def ntp_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1412
- return pulumi.get(self, "ntp_servers")
1413
-
1414
- @ntp_servers.setter
1415
- def ntp_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1416
- pulumi.set(self, "ntp_servers", value)
1417
-
1418
- @property
1419
- @pulumi.getter
1420
- def policy(self) -> Optional[pulumi.Input[str]]:
1421
- """
1422
- The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1423
- """
1424
- return pulumi.get(self, "policy")
1425
-
1426
- @policy.setter
1427
- def policy(self, value: Optional[pulumi.Input[str]]):
1428
- pulumi.set(self, "policy", value)
1429
-
1430
-
1431
1345
  @pulumi.input_type
1432
1346
  class OfflineSoftwareDepotComponentArgs:
1433
1347
  def __init__(__self__, *,
@@ -4,7 +4,6 @@
4
4
 
5
5
 
6
6
  import asyncio
7
- import functools
8
7
  import importlib.metadata
9
8
  import importlib.util
10
9
  import inspect
@@ -12,19 +11,14 @@ import json
12
11
  import os
13
12
  import sys
14
13
  import typing
15
- import warnings
16
- import base64
17
14
 
18
15
  import pulumi
19
16
  import pulumi.runtime
20
17
  from pulumi.runtime.sync_await import _sync_await
21
- from pulumi.runtime.proto import resource_pb2
22
18
 
23
19
  from semver import VersionInfo as SemverVersion
24
20
  from parver import Version as PEP440Version
25
21
 
26
- C = typing.TypeVar("C", bound=typing.Callable)
27
-
28
22
 
29
23
  def get_env(*args):
30
24
  for v in args:
@@ -102,6 +96,10 @@ def _get_semver_version():
102
96
  _version = _get_semver_version()
103
97
  _version_str = str(_version)
104
98
 
99
+
100
+ def get_version():
101
+ return _version_str
102
+
105
103
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
106
104
  return pulumi.ResourceOptions(
107
105
  version=get_version(),
@@ -289,39 +287,5 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
289
287
  await o._resources,
290
288
  )
291
289
 
292
-
293
- # This is included to provide an upgrade path for users who are using a version
294
- # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
- def deprecated(message: str) -> typing.Callable[[C], C]:
296
- """
297
- Decorator to indicate a function is deprecated.
298
-
299
- As well as inserting appropriate statements to indicate that the function is
300
- deprecated, this decorator also tags the function with a special attribute
301
- so that Pulumi code can detect that it is deprecated and react appropriately
302
- in certain situations.
303
-
304
- message is the deprecation message that should be printed if the function is called.
305
- """
306
-
307
- def decorator(fn: C) -> C:
308
- if not callable(fn):
309
- raise TypeError("Expected fn to be callable")
310
-
311
- @functools.wraps(fn)
312
- def deprecated_fn(*args, **kwargs):
313
- warnings.warn(message)
314
- pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
-
316
- return fn(*args, **kwargs)
317
-
318
- deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
- return typing.cast(C, deprecated_fn)
320
-
321
- return decorator
322
-
323
290
  def get_plugin_download_url():
324
291
  return None
325
-
326
- def get_version():
327
- return _version_str
@@ -2498,7 +2498,7 @@ class ComputeCluster(pulumi.CustomResource):
2498
2498
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
2499
2499
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
2500
2500
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
2501
- host_image: Optional[pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']]] = None,
2501
+ host_image: Optional[pulumi.Input[pulumi.InputType['ComputeClusterHostImageArgs']]] = None,
2502
2502
  host_managed: Optional[pulumi.Input[bool]] = None,
2503
2503
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2504
2504
  name: Optional[pulumi.Input[str]] = None,
@@ -2510,16 +2510,16 @@ class ComputeCluster(pulumi.CustomResource):
2510
2510
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2511
2511
  vsan_compression_enabled: Optional[pulumi.Input[bool]] = None,
2512
2512
  vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None,
2513
- vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]]] = None,
2513
+ vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]]] = None,
2514
2514
  vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None,
2515
2515
  vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None,
2516
2516
  vsan_enabled: Optional[pulumi.Input[bool]] = None,
2517
2517
  vsan_esa_enabled: Optional[pulumi.Input[bool]] = None,
2518
- vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]]] = None,
2518
+ vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]]] = None,
2519
2519
  vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None,
2520
2520
  vsan_performance_enabled: Optional[pulumi.Input[bool]] = None,
2521
2521
  vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2522
- vsan_stretched_cluster: Optional[pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']]] = None,
2522
+ vsan_stretched_cluster: Optional[pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']]] = None,
2523
2523
  vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None,
2524
2524
  vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None,
2525
2525
  __props__=None):
@@ -2617,7 +2617,7 @@ class ComputeCluster(pulumi.CustomResource):
2617
2617
  :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
2618
2618
  proceeding with the next priority.
2619
2619
  :param pulumi.Input[int] host_cluster_exit_timeout: The timeout for each host maintenance mode operation when removing hosts from a cluster.
2620
- :param pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']] host_image: Details about the host image which should be applied to the cluster.
2620
+ :param pulumi.Input[pulumi.InputType['ComputeClusterHostImageArgs']] host_image: Details about the host image which should be applied to the cluster.
2621
2621
  :param pulumi.Input[bool] host_managed: Must be set if cluster enrollment is managed from host resource.
2622
2622
  :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of the hosts to put in the cluster.
2623
2623
  :param pulumi.Input[str] name: The name of the cluster.
@@ -2631,16 +2631,16 @@ class ComputeCluster(pulumi.CustomResource):
2631
2631
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
2632
2632
  :param pulumi.Input[bool] vsan_compression_enabled: Whether the vSAN compression service is enabled for the cluster.
2633
2633
  :param pulumi.Input[bool] vsan_dedup_enabled: Whether the vSAN deduplication service is enabled for the cluster.
2634
- :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
2634
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
2635
2635
  :param pulumi.Input[bool] vsan_dit_encryption_enabled: Whether the vSAN data-in-transit encryption is enabled for the cluster.
2636
2636
  :param pulumi.Input[int] vsan_dit_rekey_interval: When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
2637
2637
  :param pulumi.Input[bool] vsan_enabled: Whether the vSAN service is enabled for the cluster.
2638
2638
  :param pulumi.Input[bool] vsan_esa_enabled: Whether the vSAN ESA service is enabled for the cluster.
2639
- :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]] vsan_fault_domains: The configuration for vSAN fault domains.
2639
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]] vsan_fault_domains: The configuration for vSAN fault domains.
2640
2640
  :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Whether the vSAN network diagnostic mode is enabled for the cluster.
2641
2641
  :param pulumi.Input[bool] vsan_performance_enabled: Whether the vSAN performance service is enabled for the cluster.
2642
2642
  :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The managed object IDs of the vSAN datastore to be mounted on the cluster.
2643
- :param pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']] vsan_stretched_cluster: The configuration for stretched cluster.
2643
+ :param pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']] vsan_stretched_cluster: The configuration for stretched cluster.
2644
2644
  :param pulumi.Input[bool] vsan_unmap_enabled: Whether the vSAN unmap service is enabled for the cluster.
2645
2645
  :param pulumi.Input[bool] vsan_verbose_mode_enabled: Whether the vSAN verbose mode is enabled for the cluster.
2646
2646
  """
@@ -2712,7 +2712,7 @@ class ComputeCluster(pulumi.CustomResource):
2712
2712
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
2713
2713
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
2714
2714
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
2715
- host_image: Optional[pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']]] = None,
2715
+ host_image: Optional[pulumi.Input[pulumi.InputType['ComputeClusterHostImageArgs']]] = None,
2716
2716
  host_managed: Optional[pulumi.Input[bool]] = None,
2717
2717
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2718
2718
  name: Optional[pulumi.Input[str]] = None,
@@ -2724,16 +2724,16 @@ class ComputeCluster(pulumi.CustomResource):
2724
2724
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2725
2725
  vsan_compression_enabled: Optional[pulumi.Input[bool]] = None,
2726
2726
  vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None,
2727
- vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]]] = None,
2727
+ vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]]] = None,
2728
2728
  vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None,
2729
2729
  vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None,
2730
2730
  vsan_enabled: Optional[pulumi.Input[bool]] = None,
2731
2731
  vsan_esa_enabled: Optional[pulumi.Input[bool]] = None,
2732
- vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]]] = None,
2732
+ vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]]] = None,
2733
2733
  vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None,
2734
2734
  vsan_performance_enabled: Optional[pulumi.Input[bool]] = None,
2735
2735
  vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2736
- vsan_stretched_cluster: Optional[pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']]] = None,
2736
+ vsan_stretched_cluster: Optional[pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']]] = None,
2737
2737
  vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None,
2738
2738
  vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None,
2739
2739
  __props__=None):
@@ -2872,7 +2872,7 @@ class ComputeCluster(pulumi.CustomResource):
2872
2872
  ha_vm_restart_priority: Optional[pulumi.Input[str]] = None,
2873
2873
  ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None,
2874
2874
  host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None,
2875
- host_image: Optional[pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']]] = None,
2875
+ host_image: Optional[pulumi.Input[pulumi.InputType['ComputeClusterHostImageArgs']]] = None,
2876
2876
  host_managed: Optional[pulumi.Input[bool]] = None,
2877
2877
  host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2878
2878
  name: Optional[pulumi.Input[str]] = None,
@@ -2885,16 +2885,16 @@ class ComputeCluster(pulumi.CustomResource):
2885
2885
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2886
2886
  vsan_compression_enabled: Optional[pulumi.Input[bool]] = None,
2887
2887
  vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None,
2888
- vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]]] = None,
2888
+ vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]]] = None,
2889
2889
  vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None,
2890
2890
  vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None,
2891
2891
  vsan_enabled: Optional[pulumi.Input[bool]] = None,
2892
2892
  vsan_esa_enabled: Optional[pulumi.Input[bool]] = None,
2893
- vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]]] = None,
2893
+ vsan_fault_domains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]]] = None,
2894
2894
  vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None,
2895
2895
  vsan_performance_enabled: Optional[pulumi.Input[bool]] = None,
2896
2896
  vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2897
- vsan_stretched_cluster: Optional[pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']]] = None,
2897
+ vsan_stretched_cluster: Optional[pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']]] = None,
2898
2898
  vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None,
2899
2899
  vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None) -> 'ComputeCluster':
2900
2900
  """
@@ -2994,7 +2994,7 @@ class ComputeCluster(pulumi.CustomResource):
2994
2994
  :param pulumi.Input[int] ha_vm_restart_timeout: The maximum time, in seconds, that vSphere HA will wait for virtual machines in one priority to be ready before
2995
2995
  proceeding with the next priority.
2996
2996
  :param pulumi.Input[int] host_cluster_exit_timeout: The timeout for each host maintenance mode operation when removing hosts from a cluster.
2997
- :param pulumi.Input[Union['ComputeClusterHostImageArgs', 'ComputeClusterHostImageArgsDict']] host_image: Details about the host image which should be applied to the cluster.
2997
+ :param pulumi.Input[pulumi.InputType['ComputeClusterHostImageArgs']] host_image: Details about the host image which should be applied to the cluster.
2998
2998
  :param pulumi.Input[bool] host_managed: Must be set if cluster enrollment is managed from host resource.
2999
2999
  :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of the hosts to put in the cluster.
3000
3000
  :param pulumi.Input[str] name: The name of the cluster.
@@ -3013,16 +3013,16 @@ class ComputeCluster(pulumi.CustomResource):
3013
3013
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
3014
3014
  :param pulumi.Input[bool] vsan_compression_enabled: Whether the vSAN compression service is enabled for the cluster.
3015
3015
  :param pulumi.Input[bool] vsan_dedup_enabled: Whether the vSAN deduplication service is enabled for the cluster.
3016
- :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanDiskGroupArgs', 'ComputeClusterVsanDiskGroupArgsDict']]]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
3016
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanDiskGroupArgs']]]] vsan_disk_groups: A list of disk UUIDs to add to the vSAN cluster.
3017
3017
  :param pulumi.Input[bool] vsan_dit_encryption_enabled: Whether the vSAN data-in-transit encryption is enabled for the cluster.
3018
3018
  :param pulumi.Input[int] vsan_dit_rekey_interval: When vsan_dit_encryption_enabled is enabled, sets the rekey interval of data-in-transit encryption (in minutes).
3019
3019
  :param pulumi.Input[bool] vsan_enabled: Whether the vSAN service is enabled for the cluster.
3020
3020
  :param pulumi.Input[bool] vsan_esa_enabled: Whether the vSAN ESA service is enabled for the cluster.
3021
- :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeClusterVsanFaultDomainArgs', 'ComputeClusterVsanFaultDomainArgsDict']]]] vsan_fault_domains: The configuration for vSAN fault domains.
3021
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ComputeClusterVsanFaultDomainArgs']]]] vsan_fault_domains: The configuration for vSAN fault domains.
3022
3022
  :param pulumi.Input[bool] vsan_network_diagnostic_mode_enabled: Whether the vSAN network diagnostic mode is enabled for the cluster.
3023
3023
  :param pulumi.Input[bool] vsan_performance_enabled: Whether the vSAN performance service is enabled for the cluster.
3024
3024
  :param pulumi.Input[Sequence[pulumi.Input[str]]] vsan_remote_datastore_ids: The managed object IDs of the vSAN datastore to be mounted on the cluster.
3025
- :param pulumi.Input[Union['ComputeClusterVsanStretchedClusterArgs', 'ComputeClusterVsanStretchedClusterArgsDict']] vsan_stretched_cluster: The configuration for stretched cluster.
3025
+ :param pulumi.Input[pulumi.InputType['ComputeClusterVsanStretchedClusterArgs']] vsan_stretched_cluster: The configuration for stretched cluster.
3026
3026
  :param pulumi.Input[bool] vsan_unmap_enabled: Whether the vSAN unmap service is enabled for the cluster.
3027
3027
  :param pulumi.Input[bool] vsan_verbose_mode_enabled: Whether the vSAN verbose mode is enabled for the cluster.
3028
3028
  """
@@ -249,6 +249,8 @@ class ComputeClusterVmAffinityRule(pulumi.CustomResource):
249
249
  > **NOTE:** This resource requires vCenter Server and is not available on
250
250
  direct ESXi host connections.
251
251
 
252
+ > **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.
253
+
252
254
  ## Example Usage
253
255
 
254
256
  The following example creates two virtual machines in a cluster using the
@@ -278,13 +280,13 @@ class ComputeClusterVmAffinityRule(pulumi.CustomResource):
278
280
  num_cpus=1,
279
281
  memory=1024,
280
282
  guest_id="otherLinux64Guest",
281
- network_interfaces=[{
282
- "network_id": network.id,
283
- }],
284
- disks=[{
285
- "label": "disk0",
286
- "size": 20,
287
- }]))
283
+ network_interfaces=[vsphere.VirtualMachineNetworkInterfaceArgs(
284
+ network_id=network.id,
285
+ )],
286
+ disks=[vsphere.VirtualMachineDiskArgs(
287
+ label="disk0",
288
+ size=20,
289
+ )]))
288
290
  vm_affinity_rule = vsphere.ComputeClusterVmAffinityRule("vm_affinity_rule",
289
291
  name="vm-affinity-rule",
290
292
  compute_cluster_id=cluster.id,
@@ -365,6 +367,8 @@ class ComputeClusterVmAffinityRule(pulumi.CustomResource):
365
367
  > **NOTE:** This resource requires vCenter Server and is not available on
366
368
  direct ESXi host connections.
367
369
 
370
+ > **NOTE:** vSphere DRS requires a vSphere Enterprise Plus license.
371
+
368
372
  ## Example Usage
369
373
 
370
374
  The following example creates two virtual machines in a cluster using the
@@ -394,13 +398,13 @@ class ComputeClusterVmAffinityRule(pulumi.CustomResource):
394
398
  num_cpus=1,
395
399
  memory=1024,
396
400
  guest_id="otherLinux64Guest",
397
- network_interfaces=[{
398
- "network_id": network.id,
399
- }],
400
- disks=[{
401
- "label": "disk0",
402
- "size": 20,
403
- }]))
401
+ network_interfaces=[vsphere.VirtualMachineNetworkInterfaceArgs(
402
+ network_id=network.id,
403
+ )],
404
+ disks=[vsphere.VirtualMachineDiskArgs(
405
+ label="disk0",
406
+ size=20,
407
+ )]))
404
408
  vm_affinity_rule = vsphere.ComputeClusterVmAffinityRule("vm_affinity_rule",
405
409
  name="vm-affinity-rule",
406
410
  compute_cluster_id=cluster.id,
@@ -195,9 +195,9 @@ class ContentLibrary(pulumi.CustomResource):
195
195
  opts: Optional[pulumi.ResourceOptions] = None,
196
196
  description: Optional[pulumi.Input[str]] = None,
197
197
  name: Optional[pulumi.Input[str]] = None,
198
- publication: Optional[pulumi.Input[Union['ContentLibraryPublicationArgs', 'ContentLibraryPublicationArgsDict']]] = None,
198
+ publication: Optional[pulumi.Input[pulumi.InputType['ContentLibraryPublicationArgs']]] = None,
199
199
  storage_backings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
200
- subscription: Optional[pulumi.Input[Union['ContentLibrarySubscriptionArgs', 'ContentLibrarySubscriptionArgsDict']]] = None,
200
+ subscription: Optional[pulumi.Input[pulumi.InputType['ContentLibrarySubscriptionArgs']]] = None,
201
201
  __props__=None):
202
202
  """
203
203
  Create a ContentLibrary resource with the given unique name, props, and options.
@@ -205,9 +205,9 @@ class ContentLibrary(pulumi.CustomResource):
205
205
  :param pulumi.ResourceOptions opts: Options for the resource.
206
206
  :param pulumi.Input[str] description: A description for the content library.
207
207
  :param pulumi.Input[str] name: The name of the content library.
208
- :param pulumi.Input[Union['ContentLibraryPublicationArgs', 'ContentLibraryPublicationArgsDict']] publication: Options to publish a local content library.
208
+ :param pulumi.Input[pulumi.InputType['ContentLibraryPublicationArgs']] publication: Options to publish a local content library.
209
209
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_backings: The managed object reference ID of the datastore on which to store the content library items.
210
- :param pulumi.Input[Union['ContentLibrarySubscriptionArgs', 'ContentLibrarySubscriptionArgsDict']] subscription: Options subscribe to a published content library.
210
+ :param pulumi.Input[pulumi.InputType['ContentLibrarySubscriptionArgs']] subscription: Options subscribe to a published content library.
211
211
  """
212
212
  ...
213
213
  @overload
@@ -234,9 +234,9 @@ class ContentLibrary(pulumi.CustomResource):
234
234
  opts: Optional[pulumi.ResourceOptions] = None,
235
235
  description: Optional[pulumi.Input[str]] = None,
236
236
  name: Optional[pulumi.Input[str]] = None,
237
- publication: Optional[pulumi.Input[Union['ContentLibraryPublicationArgs', 'ContentLibraryPublicationArgsDict']]] = None,
237
+ publication: Optional[pulumi.Input[pulumi.InputType['ContentLibraryPublicationArgs']]] = None,
238
238
  storage_backings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
239
- subscription: Optional[pulumi.Input[Union['ContentLibrarySubscriptionArgs', 'ContentLibrarySubscriptionArgsDict']]] = None,
239
+ subscription: Optional[pulumi.Input[pulumi.InputType['ContentLibrarySubscriptionArgs']]] = None,
240
240
  __props__=None):
241
241
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
242
242
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -265,9 +265,9 @@ class ContentLibrary(pulumi.CustomResource):
265
265
  opts: Optional[pulumi.ResourceOptions] = None,
266
266
  description: Optional[pulumi.Input[str]] = None,
267
267
  name: Optional[pulumi.Input[str]] = None,
268
- publication: Optional[pulumi.Input[Union['ContentLibraryPublicationArgs', 'ContentLibraryPublicationArgsDict']]] = None,
268
+ publication: Optional[pulumi.Input[pulumi.InputType['ContentLibraryPublicationArgs']]] = None,
269
269
  storage_backings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
270
- subscription: Optional[pulumi.Input[Union['ContentLibrarySubscriptionArgs', 'ContentLibrarySubscriptionArgsDict']]] = None) -> 'ContentLibrary':
270
+ subscription: Optional[pulumi.Input[pulumi.InputType['ContentLibrarySubscriptionArgs']]] = None) -> 'ContentLibrary':
271
271
  """
272
272
  Get an existing ContentLibrary resource's state with the given name, id, and optional extra
273
273
  properties used to qualify the lookup.
@@ -277,9 +277,9 @@ class ContentLibrary(pulumi.CustomResource):
277
277
  :param pulumi.ResourceOptions opts: Options for the resource.
278
278
  :param pulumi.Input[str] description: A description for the content library.
279
279
  :param pulumi.Input[str] name: The name of the content library.
280
- :param pulumi.Input[Union['ContentLibraryPublicationArgs', 'ContentLibraryPublicationArgsDict']] publication: Options to publish a local content library.
280
+ :param pulumi.Input[pulumi.InputType['ContentLibraryPublicationArgs']] publication: Options to publish a local content library.
281
281
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_backings: The managed object reference ID of the datastore on which to store the content library items.
282
- :param pulumi.Input[Union['ContentLibrarySubscriptionArgs', 'ContentLibrarySubscriptionArgsDict']] subscription: Options subscribe to a published content library.
282
+ :param pulumi.Input[pulumi.InputType['ContentLibrarySubscriptionArgs']] subscription: Options subscribe to a published content library.
283
283
  """
284
284
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
285
285
 
@@ -20,7 +20,7 @@ class DatacenterArgs:
20
20
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
21
21
  """
22
22
  The set of arguments for constructing a Datacenter resource.
23
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
23
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
24
24
  strings to set for datacenter resource. See
25
25
  [here][docs-setting-custom-attributes] for a reference on how to set values
26
26
  for custom attributes.
@@ -34,6 +34,9 @@ class DatacenterArgs:
34
34
  :param pulumi.Input[str] name: The name of the datacenter. This name needs to be unique
35
35
  within the folder. Forces a new resource if changed.
36
36
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
37
+
38
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
39
+ requires vCenter 6.0 or higher.
37
40
  """
38
41
  if custom_attributes is not None:
39
42
  pulumi.set(__self__, "custom_attributes", custom_attributes)
@@ -48,7 +51,7 @@ class DatacenterArgs:
48
51
  @pulumi.getter(name="customAttributes")
49
52
  def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
50
53
  """
51
- Map of custom attribute ids to value
54
+ Map of custom attribute ids to value
52
55
  strings to set for datacenter resource. See
53
56
  [here][docs-setting-custom-attributes] for a reference on how to set values
54
57
  for custom attributes.
@@ -95,6 +98,9 @@ class DatacenterArgs:
95
98
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
96
99
  """
97
100
  The IDs of any tags to attach to this resource.
101
+
102
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
103
+ requires vCenter 6.0 or higher.
98
104
  """
99
105
  return pulumi.get(self, "tags")
100
106
 
@@ -113,7 +119,7 @@ class _DatacenterState:
113
119
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
114
120
  """
115
121
  Input properties used for looking up and filtering Datacenter resources.
116
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
122
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
117
123
  strings to set for datacenter resource. See
118
124
  [here][docs-setting-custom-attributes] for a reference on how to set values
119
125
  for custom attributes.
@@ -128,6 +134,9 @@ class _DatacenterState:
128
134
  :param pulumi.Input[str] name: The name of the datacenter. This name needs to be unique
129
135
  within the folder. Forces a new resource if changed.
130
136
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
137
+
138
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
139
+ requires vCenter 6.0 or higher.
131
140
  """
132
141
  if custom_attributes is not None:
133
142
  pulumi.set(__self__, "custom_attributes", custom_attributes)
@@ -144,7 +153,7 @@ class _DatacenterState:
144
153
  @pulumi.getter(name="customAttributes")
145
154
  def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
146
155
  """
147
- Map of custom attribute ids to value
156
+ Map of custom attribute ids to value
148
157
  strings to set for datacenter resource. See
149
158
  [here][docs-setting-custom-attributes] for a reference on how to set values
150
159
  for custom attributes.
@@ -203,6 +212,9 @@ class _DatacenterState:
203
212
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
204
213
  """
205
214
  The IDs of any tags to attach to this resource.
215
+
216
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
217
+ requires vCenter 6.0 or higher.
206
218
  """
207
219
  return pulumi.get(self, "tags")
208
220
 
@@ -258,7 +270,7 @@ class Datacenter(pulumi.CustomResource):
258
270
 
259
271
  :param str resource_name: The name of the resource.
260
272
  :param pulumi.ResourceOptions opts: Options for the resource.
261
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
273
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
262
274
  strings to set for datacenter resource. See
263
275
  [here][docs-setting-custom-attributes] for a reference on how to set values
264
276
  for custom attributes.
@@ -272,6 +284,9 @@ class Datacenter(pulumi.CustomResource):
272
284
  :param pulumi.Input[str] name: The name of the datacenter. This name needs to be unique
273
285
  within the folder. Forces a new resource if changed.
274
286
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
287
+
288
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
289
+ requires vCenter 6.0 or higher.
275
290
  """
276
291
  ...
277
292
  @overload
@@ -369,7 +384,7 @@ class Datacenter(pulumi.CustomResource):
369
384
  :param str resource_name: The unique name of the resulting resource.
370
385
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
371
386
  :param pulumi.ResourceOptions opts: Options for the resource.
372
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
387
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to value
373
388
  strings to set for datacenter resource. See
374
389
  [here][docs-setting-custom-attributes] for a reference on how to set values
375
390
  for custom attributes.
@@ -384,6 +399,9 @@ class Datacenter(pulumi.CustomResource):
384
399
  :param pulumi.Input[str] name: The name of the datacenter. This name needs to be unique
385
400
  within the folder. Forces a new resource if changed.
386
401
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource.
402
+
403
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
404
+ requires vCenter 6.0 or higher.
387
405
  """
388
406
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
389
407
 
@@ -400,7 +418,7 @@ class Datacenter(pulumi.CustomResource):
400
418
  @pulumi.getter(name="customAttributes")
401
419
  def custom_attributes(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
402
420
  """
403
- Map of custom attribute ids to value
421
+ Map of custom attribute ids to value
404
422
  strings to set for datacenter resource. See
405
423
  [here][docs-setting-custom-attributes] for a reference on how to set values
406
424
  for custom attributes.
@@ -443,6 +461,9 @@ class Datacenter(pulumi.CustomResource):
443
461
  def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
444
462
  """
445
463
  The IDs of any tags to attach to this resource.
464
+
465
+ > **NOTE:** Tagging support is unsupported on direct ESXi connections and
466
+ requires vCenter 6.0 or higher.
446
467
  """
447
468
  return pulumi.get(self, "tags")
448
469