pulumi-vsphere 4.12.0__py3-none-any.whl → 4.12.0a1725645004__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 (84) hide show
  1. pulumi_vsphere/_inputs.py +6 -1135
  2. pulumi_vsphere/_utilities.py +1 -1
  3. pulumi_vsphere/compute_cluster.py +2 -181
  4. pulumi_vsphere/compute_cluster_host_group.py +2 -67
  5. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +2 -29
  6. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +2 -41
  7. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +2 -205
  8. pulumi_vsphere/compute_cluster_vm_group.py +2 -198
  9. pulumi_vsphere/compute_cluster_vm_host_rule.py +2 -73
  10. pulumi_vsphere/config/__init__.pyi +0 -5
  11. pulumi_vsphere/config/vars.py +0 -5
  12. pulumi_vsphere/content_library.py +2 -103
  13. pulumi_vsphere/content_library_item.py +2 -143
  14. pulumi_vsphere/custom_attribute.py +2 -77
  15. pulumi_vsphere/datacenter.py +4 -19
  16. pulumi_vsphere/datastore_cluster.py +2 -63
  17. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +2 -159
  18. pulumi_vsphere/distributed_port_group.py +2 -285
  19. pulumi_vsphere/distributed_virtual_switch.py +2 -261
  20. pulumi_vsphere/dpm_host_override.py +2 -63
  21. pulumi_vsphere/drs_vm_override.py +2 -67
  22. pulumi_vsphere/entity_permissions.py +0 -5
  23. pulumi_vsphere/file.py +0 -5
  24. pulumi_vsphere/folder.py +2 -141
  25. pulumi_vsphere/get_compute_cluster.py +4 -15
  26. pulumi_vsphere/get_compute_cluster_host_group.py +6 -17
  27. pulumi_vsphere/get_content_library.py +4 -12
  28. pulumi_vsphere/get_content_library_item.py +4 -16
  29. pulumi_vsphere/get_custom_attribute.py +4 -13
  30. pulumi_vsphere/get_datacenter.py +7 -29
  31. pulumi_vsphere/get_datastore.py +4 -16
  32. pulumi_vsphere/get_datastore_cluster.py +5 -30
  33. pulumi_vsphere/get_datastore_stats.py +4 -16
  34. pulumi_vsphere/get_distributed_virtual_switch.py +4 -15
  35. pulumi_vsphere/get_dynamic.py +4 -16
  36. pulumi_vsphere/get_folder.py +4 -12
  37. pulumi_vsphere/get_guest_os_customization.py +4 -17
  38. pulumi_vsphere/get_host.py +4 -15
  39. pulumi_vsphere/get_host_base_images.py +4 -11
  40. pulumi_vsphere/get_host_pci_device.py +4 -19
  41. pulumi_vsphere/get_host_thumbprint.py +14 -34
  42. pulumi_vsphere/get_host_vgpu_profile.py +4 -15
  43. pulumi_vsphere/get_license.py +4 -17
  44. pulumi_vsphere/get_network.py +5 -65
  45. pulumi_vsphere/get_ovf_vm_template.py +4 -55
  46. pulumi_vsphere/get_policy.py +4 -12
  47. pulumi_vsphere/get_resource_pool.py +4 -14
  48. pulumi_vsphere/get_role.py +4 -18
  49. pulumi_vsphere/get_tag.py +4 -15
  50. pulumi_vsphere/get_tag_category.py +4 -15
  51. pulumi_vsphere/get_vapp_container.py +4 -14
  52. pulumi_vsphere/get_virtual_machine.py +5 -145
  53. pulumi_vsphere/get_vmfs_disks.py +4 -17
  54. pulumi_vsphere/guest_os_customization.py +0 -5
  55. pulumi_vsphere/ha_vm_override.py +2 -163
  56. pulumi_vsphere/host.py +12 -203
  57. pulumi_vsphere/host_port_group.py +2 -17
  58. pulumi_vsphere/host_virtual_switch.py +2 -69
  59. pulumi_vsphere/license.py +0 -5
  60. pulumi_vsphere/nas_datastore.py +2 -67
  61. pulumi_vsphere/offline_software_depot.py +0 -5
  62. pulumi_vsphere/outputs.py +0 -45
  63. pulumi_vsphere/provider.py +0 -5
  64. pulumi_vsphere/pulumi-plugin.json +1 -1
  65. pulumi_vsphere/resource_pool.py +437 -168
  66. pulumi_vsphere/role.py +2 -33
  67. pulumi_vsphere/storage_drs_vm_override.py +2 -133
  68. pulumi_vsphere/supervisor.py +0 -5
  69. pulumi_vsphere/tag.py +2 -159
  70. pulumi_vsphere/tag_category.py +2 -83
  71. pulumi_vsphere/vapp_container.py +2 -163
  72. pulumi_vsphere/vapp_entity.py +2 -147
  73. pulumi_vsphere/virtual_disk.py +2 -81
  74. pulumi_vsphere/virtual_machine.py +2 -100
  75. pulumi_vsphere/virtual_machine_class.py +0 -5
  76. pulumi_vsphere/virtual_machine_snapshot.py +0 -5
  77. pulumi_vsphere/vm_storage_policy.py +0 -5
  78. pulumi_vsphere/vmfs_datastore.py +2 -271
  79. pulumi_vsphere/vnic.py +4 -19
  80. {pulumi_vsphere-4.12.0.dist-info → pulumi_vsphere-4.12.0a1725645004.dist-info}/METADATA +2 -3
  81. pulumi_vsphere-4.12.0a1725645004.dist-info/RECORD +86 -0
  82. {pulumi_vsphere-4.12.0.dist-info → pulumi_vsphere-4.12.0a1725645004.dist-info}/WHEEL +1 -1
  83. pulumi_vsphere-4.12.0.dist-info/RECORD +0 -86
  84. {pulumi_vsphere-4.12.0.dist-info → pulumi_vsphere-4.12.0a1725645004.dist-info}/top_level.txt +0 -0
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
10
  from . import _utilities
16
11
  from . import outputs
17
12
  from ._inputs import *
@@ -92,7 +87,6 @@ class VirtualMachineArgs:
92
87
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
93
88
  vapp: Optional[pulumi.Input['VirtualMachineVappArgs']] = None,
94
89
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
95
- vtpm: Optional[pulumi.Input['VirtualMachineVtpmArgs']] = None,
96
90
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
97
91
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
98
92
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -178,7 +172,6 @@ class VirtualMachineArgs:
178
172
  :param pulumi.Input[str] tools_upgrade_policy: Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
179
173
  :param pulumi.Input['VirtualMachineVappArgs'] vapp: vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
180
174
  :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
181
- :param pulumi.Input['VirtualMachineVtpmArgs'] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
182
175
  :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
183
176
  I/O Virtualization (AMD-Vi or IOMMU), is enabled.
184
177
  :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
@@ -329,8 +322,6 @@ class VirtualMachineArgs:
329
322
  pulumi.set(__self__, "vapp", vapp)
330
323
  if vbs_enabled is not None:
331
324
  pulumi.set(__self__, "vbs_enabled", vbs_enabled)
332
- if vtpm is not None:
333
- pulumi.set(__self__, "vtpm", vtpm)
334
325
  if vvtd_enabled is not None:
335
326
  pulumi.set(__self__, "vvtd_enabled", vvtd_enabled)
336
327
  if wait_for_guest_ip_timeout is not None:
@@ -1194,18 +1185,6 @@ class VirtualMachineArgs:
1194
1185
  def vbs_enabled(self, value: Optional[pulumi.Input[bool]]):
1195
1186
  pulumi.set(self, "vbs_enabled", value)
1196
1187
 
1197
- @property
1198
- @pulumi.getter
1199
- def vtpm(self) -> Optional[pulumi.Input['VirtualMachineVtpmArgs']]:
1200
- """
1201
- A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
1202
- """
1203
- return pulumi.get(self, "vtpm")
1204
-
1205
- @vtpm.setter
1206
- def vtpm(self, value: Optional[pulumi.Input['VirtualMachineVtpmArgs']]):
1207
- pulumi.set(self, "vtpm", value)
1208
-
1209
1188
  @property
1210
1189
  @pulumi.getter(name="vvtdEnabled")
1211
1190
  def vvtd_enabled(self) -> Optional[pulumi.Input[bool]]:
@@ -1344,7 +1323,6 @@ class _VirtualMachineState:
1344
1323
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
1345
1324
  vmware_tools_status: Optional[pulumi.Input[str]] = None,
1346
1325
  vmx_path: Optional[pulumi.Input[str]] = None,
1347
- vtpm: Optional[pulumi.Input['VirtualMachineVtpmArgs']] = None,
1348
1326
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
1349
1327
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
1350
1328
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -1440,7 +1418,6 @@ class _VirtualMachineState:
1440
1418
  :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
1441
1419
  :param pulumi.Input[str] vmware_tools_status: The state of VMware Tools in the guest. This will determine the proper course of action for some device operations.
1442
1420
  :param pulumi.Input[str] vmx_path: The path of the virtual machine configuration file on the datastore in which the virtual machine is placed.
1443
- :param pulumi.Input['VirtualMachineVtpmArgs'] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
1444
1421
  :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
1445
1422
  I/O Virtualization (AMD-Vi or IOMMU), is enabled.
1446
1423
  :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
@@ -1614,8 +1591,6 @@ class _VirtualMachineState:
1614
1591
  pulumi.set(__self__, "vmware_tools_status", vmware_tools_status)
1615
1592
  if vmx_path is not None:
1616
1593
  pulumi.set(__self__, "vmx_path", vmx_path)
1617
- if vtpm is not None:
1618
- pulumi.set(__self__, "vtpm", vtpm)
1619
1594
  if vvtd_enabled is not None:
1620
1595
  pulumi.set(__self__, "vvtd_enabled", vvtd_enabled)
1621
1596
  if wait_for_guest_ip_timeout is not None:
@@ -2608,18 +2583,6 @@ class _VirtualMachineState:
2608
2583
  def vmx_path(self, value: Optional[pulumi.Input[str]]):
2609
2584
  pulumi.set(self, "vmx_path", value)
2610
2585
 
2611
- @property
2612
- @pulumi.getter
2613
- def vtpm(self) -> Optional[pulumi.Input['VirtualMachineVtpmArgs']]:
2614
- """
2615
- A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
2616
- """
2617
- return pulumi.get(self, "vtpm")
2618
-
2619
- @vtpm.setter
2620
- def vtpm(self, value: Optional[pulumi.Input['VirtualMachineVtpmArgs']]):
2621
- pulumi.set(self, "vtpm", value)
2622
-
2623
2586
  @property
2624
2587
  @pulumi.getter(name="vvtdEnabled")
2625
2588
  def vvtd_enabled(self) -> Optional[pulumi.Input[bool]]:
@@ -2749,37 +2712,13 @@ class VirtualMachine(pulumi.CustomResource):
2749
2712
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
2750
2713
  vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
2751
2714
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
2752
- vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
2753
2715
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
2754
2716
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
2755
2717
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
2756
2718
  wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None,
2757
2719
  __props__=None):
2758
2720
  """
2759
- ## Import
2760
-
2761
- ### Additional Importing Requirements
2762
-
2763
- Many of the requirements for [cloning](#additional-requirements-and-notes-for-cloning) apply to importing. Although importing writes directly to the Terraform state, some rules can not be enforced during import time, so every effort should be made to ensure the correctness of the configuration before the import.
2764
-
2765
- The following requirements apply to import:
2766
-
2767
- * The disks must have a [`label`](#label) argument assigned in a convention matching `Hard Disk`, starting with disk number 0, based on each virtual disk order on the SCSI bus. As an example, a disk on SCSI controller `0` with a unit number of `0` would be labeled as `Hard Disk 0`, a disk on the same controller with a unit number of `1` would be `Hard Disk 1`, but the next disk, which is on SCSI controller `1` with a unit number of `0`, still becomes `Hard Disk 2`.
2768
-
2769
- * Disks are always imported with [`keep_on_remove`](#keep_on_remove) enabled until the first `pulumi up` run which will remove the setting for known disks. This process safeguards against naming or accounting mistakes in the disk configuration.
2770
-
2771
- * The storage controller count for the resource is set to the number of contiguous storage controllers found, starting with the controller at SCSI bus number `0`. If no storage controllers are discovered, the virtual machine is not eligible for import. For maximum compatibility, ensure that the virtual machine has the exact number of storage controllers needed and set the storage controller count accordingly.
2772
-
2773
- After importing, you should run `pulumi preview`. Unless you have changed anything else in the configuration that would cause other attributes to change. The only difference should be configuration-only changes, which are typically comprised of:
2774
-
2775
- * The [`imported`](#imported) flag will transition from `true` to `false`.
2776
-
2777
- * The [`keep_on_remove`](#keep_on_remove) of known disks will transition from `true` to `false`.
2778
-
2779
- * Configuration supplied in the [`clone`](#clone) block, if present, will be persisted to state. This initial persistence operation does not perform any cloning or customization actions, nor does it force a new resource. After the first apply operation, further changes to `clone` will force the creation of a new resource.
2780
-
2781
- These changes only update Terraform state when applied. Hence, it is safe to run when the virtual machine is running. If more settings are modified, you may need to plan maintenance accordingly for any necessary virtual machine re-configurations.
2782
-
2721
+ Create a VirtualMachine resource with the given unique name, props, and options.
2783
2722
  :param str resource_name: The name of the resource.
2784
2723
  :param pulumi.ResourceOptions opts: Options for the resource.
2785
2724
  :param pulumi.Input[str] alternate_guest_name: The guest name for the operating system when guest_id is otherGuest or otherGuest64.
@@ -2861,7 +2800,6 @@ class VirtualMachine(pulumi.CustomResource):
2861
2800
  :param pulumi.Input[str] tools_upgrade_policy: Set the upgrade policy for VMware Tools. Can be one of `manual` or `upgradeAtPowerCycle`.
2862
2801
  :param pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']] vapp: vApp configuration data for this virtual machine. Can be used to provide configuration data for OVF images.
2863
2802
  :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
2864
- :param pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
2865
2803
  :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
2866
2804
  I/O Virtualization (AMD-Vi or IOMMU), is enabled.
2867
2805
  :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
@@ -2878,30 +2816,7 @@ class VirtualMachine(pulumi.CustomResource):
2878
2816
  args: VirtualMachineArgs,
2879
2817
  opts: Optional[pulumi.ResourceOptions] = None):
2880
2818
  """
2881
- ## Import
2882
-
2883
- ### Additional Importing Requirements
2884
-
2885
- Many of the requirements for [cloning](#additional-requirements-and-notes-for-cloning) apply to importing. Although importing writes directly to the Terraform state, some rules can not be enforced during import time, so every effort should be made to ensure the correctness of the configuration before the import.
2886
-
2887
- The following requirements apply to import:
2888
-
2889
- * The disks must have a [`label`](#label) argument assigned in a convention matching `Hard Disk`, starting with disk number 0, based on each virtual disk order on the SCSI bus. As an example, a disk on SCSI controller `0` with a unit number of `0` would be labeled as `Hard Disk 0`, a disk on the same controller with a unit number of `1` would be `Hard Disk 1`, but the next disk, which is on SCSI controller `1` with a unit number of `0`, still becomes `Hard Disk 2`.
2890
-
2891
- * Disks are always imported with [`keep_on_remove`](#keep_on_remove) enabled until the first `pulumi up` run which will remove the setting for known disks. This process safeguards against naming or accounting mistakes in the disk configuration.
2892
-
2893
- * The storage controller count for the resource is set to the number of contiguous storage controllers found, starting with the controller at SCSI bus number `0`. If no storage controllers are discovered, the virtual machine is not eligible for import. For maximum compatibility, ensure that the virtual machine has the exact number of storage controllers needed and set the storage controller count accordingly.
2894
-
2895
- After importing, you should run `pulumi preview`. Unless you have changed anything else in the configuration that would cause other attributes to change. The only difference should be configuration-only changes, which are typically comprised of:
2896
-
2897
- * The [`imported`](#imported) flag will transition from `true` to `false`.
2898
-
2899
- * The [`keep_on_remove`](#keep_on_remove) of known disks will transition from `true` to `false`.
2900
-
2901
- * Configuration supplied in the [`clone`](#clone) block, if present, will be persisted to state. This initial persistence operation does not perform any cloning or customization actions, nor does it force a new resource. After the first apply operation, further changes to `clone` will force the creation of a new resource.
2902
-
2903
- These changes only update Terraform state when applied. Hence, it is safe to run when the virtual machine is running. If more settings are modified, you may need to plan maintenance accordingly for any necessary virtual machine re-configurations.
2904
-
2819
+ Create a VirtualMachine resource with the given unique name, props, and options.
2905
2820
  :param str resource_name: The name of the resource.
2906
2821
  :param VirtualMachineArgs args: The arguments to use to populate this resource's properties.
2907
2822
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -2988,7 +2903,6 @@ class VirtualMachine(pulumi.CustomResource):
2988
2903
  tools_upgrade_policy: Optional[pulumi.Input[str]] = None,
2989
2904
  vapp: Optional[pulumi.Input[Union['VirtualMachineVappArgs', 'VirtualMachineVappArgsDict']]] = None,
2990
2905
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
2991
- vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
2992
2906
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
2993
2907
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
2994
2908
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -3075,7 +2989,6 @@ class VirtualMachine(pulumi.CustomResource):
3075
2989
  __props__.__dict__["tools_upgrade_policy"] = tools_upgrade_policy
3076
2990
  __props__.__dict__["vapp"] = vapp
3077
2991
  __props__.__dict__["vbs_enabled"] = vbs_enabled
3078
- __props__.__dict__["vtpm"] = vtpm
3079
2992
  __props__.__dict__["vvtd_enabled"] = vvtd_enabled
3080
2993
  __props__.__dict__["wait_for_guest_ip_timeout"] = wait_for_guest_ip_timeout
3081
2994
  __props__.__dict__["wait_for_guest_net_routable"] = wait_for_guest_net_routable
@@ -3183,7 +3096,6 @@ class VirtualMachine(pulumi.CustomResource):
3183
3096
  vbs_enabled: Optional[pulumi.Input[bool]] = None,
3184
3097
  vmware_tools_status: Optional[pulumi.Input[str]] = None,
3185
3098
  vmx_path: Optional[pulumi.Input[str]] = None,
3186
- vtpm: Optional[pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']]] = None,
3187
3099
  vvtd_enabled: Optional[pulumi.Input[bool]] = None,
3188
3100
  wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None,
3189
3101
  wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None,
@@ -3284,7 +3196,6 @@ class VirtualMachine(pulumi.CustomResource):
3284
3196
  :param pulumi.Input[bool] vbs_enabled: Flag to specify if Virtualization-based security is enabled for this virtual machine.
3285
3197
  :param pulumi.Input[str] vmware_tools_status: The state of VMware Tools in the guest. This will determine the proper course of action for some device operations.
3286
3198
  :param pulumi.Input[str] vmx_path: The path of the virtual machine configuration file on the datastore in which the virtual machine is placed.
3287
- :param pulumi.Input[Union['VirtualMachineVtpmArgs', 'VirtualMachineVtpmArgsDict']] vtpm: A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
3288
3199
  :param pulumi.Input[bool] vvtd_enabled: Flag to specify if I/O MMU virtualization, also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD
3289
3200
  I/O Virtualization (AMD-Vi or IOMMU), is enabled.
3290
3201
  :param pulumi.Input[int] wait_for_guest_ip_timeout: The amount of time, in minutes, to wait for an available IP address on this virtual machine. A value less than 1
@@ -3380,7 +3291,6 @@ class VirtualMachine(pulumi.CustomResource):
3380
3291
  __props__.__dict__["vbs_enabled"] = vbs_enabled
3381
3292
  __props__.__dict__["vmware_tools_status"] = vmware_tools_status
3382
3293
  __props__.__dict__["vmx_path"] = vmx_path
3383
- __props__.__dict__["vtpm"] = vtpm
3384
3294
  __props__.__dict__["vvtd_enabled"] = vvtd_enabled
3385
3295
  __props__.__dict__["wait_for_guest_ip_timeout"] = wait_for_guest_ip_timeout
3386
3296
  __props__.__dict__["wait_for_guest_net_routable"] = wait_for_guest_net_routable
@@ -4042,14 +3952,6 @@ class VirtualMachine(pulumi.CustomResource):
4042
3952
  """
4043
3953
  return pulumi.get(self, "vmx_path")
4044
3954
 
4045
- @property
4046
- @pulumi.getter
4047
- def vtpm(self) -> pulumi.Output[Optional['outputs.VirtualMachineVtpm']]:
4048
- """
4049
- A specification for a virtual Trusted Platform Module (TPM) device on the virtual machine.
4050
- """
4051
- return pulumi.get(self, "vtpm")
4052
-
4053
3955
  @property
4054
3956
  @pulumi.getter(name="vvtdEnabled")
4055
3957
  def vvtd_enabled(self) -> pulumi.Output[Optional[bool]]:
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
10
  from . import _utilities
16
11
 
17
12
  __all__ = ['VirtualMachineClassArgs', 'VirtualMachineClass']
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
10
  from . import _utilities
16
11
 
17
12
  __all__ = ['VirtualMachineSnapshotArgs', 'VirtualMachineSnapshot']
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
10
  from . import _utilities
16
11
  from . import outputs
17
12
  from ._inputs import *
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
10
  from . import _utilities
16
11
 
17
12
  __all__ = ['VmfsDatastoreArgs', 'VmfsDatastore']
@@ -466,139 +461,7 @@ class VmfsDatastore(pulumi.CustomResource):
466
461
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
467
462
  __props__=None):
468
463
  """
469
- The `VmfsDatastore` resource can be used to create and manage VMFS
470
- datastores on an ESXi host or a set of hosts. The resource supports using any
471
- SCSI device that can generally be used in a datastore, such as local disks, or
472
- disks presented to a host or multiple hosts over Fibre Channel or iSCSI.
473
- Devices can be specified manually, or discovered using the
474
- [`get_vmfs_disks`][data-source-vmfs-disks] data source.
475
-
476
- [data-source-vmfs-disks]: /docs/providers/vsphere/d/vmfs_disks.html
477
-
478
- ## Auto-Mounting of Datastores Within vCenter
479
-
480
- Note that the current behavior of this resource will auto-mount any created
481
- datastores to any other host within vCenter that has access to the same disk.
482
-
483
- Example: You want to create a datastore with a iSCSI LUN that is visible on 3
484
- hosts in a single vSphere cluster (`esxi1`, `esxi2` and `esxi3`). When you
485
- create the datastore on `esxi1`, the datastore will be automatically mounted on
486
- `esxi2` and `esxi3`, without the need to configure the resource on either of
487
- those two hosts.
488
-
489
- Future versions of this resource may allow you to control the hosts that a
490
- datastore is mounted to, but currently, this automatic behavior cannot be
491
- changed, so keep this in mind when writing your configurations and deploying
492
- your disks.
493
-
494
- ## Increasing Datastore Size
495
-
496
- To increase the size of a datastore, you must add additional disks to the
497
- `disks` attribute. Expanding the size of a datastore by increasing the size of
498
- an already provisioned disk is currently not supported (but may be in future
499
- versions of this resource).
500
-
501
- > **NOTE:** You cannot decrease the size of a datastore. If the resource
502
- detects disks removed from the configuration, the provider will give an error.
503
-
504
- [cmd-taint]: /docs/commands/taint.html
505
-
506
- ## Example Usage
507
-
508
- ### Addition of local disks on a single host
509
-
510
- The following example uses the default datacenter and default host to add a
511
- datastore with local disks to a single ESXi server.
512
-
513
- > **NOTE:** There are some situations where datastore creation will not work
514
- when working through vCenter (usually when trying to create a datastore on a
515
- single host with local disks). If you experience trouble creating the datastore
516
- you need through vCenter, break the datastore off into a different configuration
517
- and deploy it using the ESXi server as the provider endpoint, using a similar
518
- configuration to what is below.
519
-
520
- ```python
521
- import pulumi
522
- import pulumi_vsphere as vsphere
523
-
524
- datacenter = vsphere.get_datacenter()
525
- host = vsphere.get_host(datacenter_id=datacenter.id)
526
- datastore = vsphere.VmfsDatastore("datastore",
527
- name="test",
528
- host_system_id=esxi_host["id"],
529
- disks=[
530
- "mpx.vmhba1:C0:T1:L0",
531
- "mpx.vmhba1:C0:T2:L0",
532
- "mpx.vmhba1:C0:T2:L0",
533
- ])
534
- ```
535
-
536
- ### Auto-detection of disks via `get_vmfs_disks`
537
-
538
- The following example makes use of the
539
- `get_vmfs_disks` data source to auto-detect
540
- exported iSCSI LUNS matching a certain NAA vendor ID (in this case, LUNs
541
- exported from a [NetApp][ext-netapp]). These discovered disks are then loaded
542
- into `VmfsDatastore`. The datastore is also placed in the
543
- `datastore-folder` folder afterwards.
544
-
545
- [ext-netapp]: https://kb.netapp.com/support/s/article/ka31A0000000rLRQAY/how-to-match-a-lun-s-naa-number-to-its-serial-number?language=en_US
546
-
547
- ```python
548
- import pulumi
549
- import pulumi_vsphere as vsphere
550
-
551
- datacenter = vsphere.get_datacenter(name="dc-01")
552
- host = vsphere.get_host(name="esxi-01.example.com",
553
- datacenter_id=datacenter.id)
554
- available = vsphere.get_vmfs_disks(host_system_id=host.id,
555
- rescan=True,
556
- filter="naa.60a98000")
557
- datastore = vsphere.VmfsDatastore("datastore",
558
- name="test",
559
- host_system_id=esxi_host["id"],
560
- folder="datastore-folder",
561
- disks=[available.disks])
562
- ```
563
-
564
- ## Import
565
-
566
- An existing VMFS datastore can be imported into this resource
567
-
568
- via its managed object ID, via the command below. You also need the host system
569
-
570
- ID.
571
-
572
- ```sh
573
- $ pulumi import vsphere:index/vmfsDatastore:VmfsDatastore datastore datastore-123:host-10
574
- ```
575
-
576
- You need a tool like [`govc`][ext-govc] that can display managed object IDs.
577
-
578
- [ext-govc]: https://github.com/vmware/govmomi/tree/master/govc
579
-
580
- In the case of govc, you can locate a managed object ID from an inventory path
581
-
582
- by doing the following:
583
-
584
- $ govc ls -i /dc/datastore/terraform-test
585
-
586
- Datastore:datastore-123
587
-
588
- To locate host IDs, it might be a good idea to supply the `-l` flag as well so
589
-
590
- that you can line up the names with the IDs:
591
-
592
- $ govc ls -l -i /dc/host/cluster1
593
-
594
- ResourcePool:resgroup-10 /dc/host/cluster1/Resources
595
-
596
- HostSystem:host-10 /dc/host/cluster1/esxi1
597
-
598
- HostSystem:host-11 /dc/host/cluster1/esxi2
599
-
600
- HostSystem:host-12 /dc/host/cluster1/esxi3
601
-
464
+ Create a VmfsDatastore resource with the given unique name, props, and options.
602
465
  :param str resource_name: The name of the resource.
603
466
  :param pulumi.ResourceOptions opts: Options for the resource.
604
467
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Map of custom attribute ids to attribute
@@ -636,139 +499,7 @@ class VmfsDatastore(pulumi.CustomResource):
636
499
  args: VmfsDatastoreArgs,
637
500
  opts: Optional[pulumi.ResourceOptions] = None):
638
501
  """
639
- The `VmfsDatastore` resource can be used to create and manage VMFS
640
- datastores on an ESXi host or a set of hosts. The resource supports using any
641
- SCSI device that can generally be used in a datastore, such as local disks, or
642
- disks presented to a host or multiple hosts over Fibre Channel or iSCSI.
643
- Devices can be specified manually, or discovered using the
644
- [`get_vmfs_disks`][data-source-vmfs-disks] data source.
645
-
646
- [data-source-vmfs-disks]: /docs/providers/vsphere/d/vmfs_disks.html
647
-
648
- ## Auto-Mounting of Datastores Within vCenter
649
-
650
- Note that the current behavior of this resource will auto-mount any created
651
- datastores to any other host within vCenter that has access to the same disk.
652
-
653
- Example: You want to create a datastore with a iSCSI LUN that is visible on 3
654
- hosts in a single vSphere cluster (`esxi1`, `esxi2` and `esxi3`). When you
655
- create the datastore on `esxi1`, the datastore will be automatically mounted on
656
- `esxi2` and `esxi3`, without the need to configure the resource on either of
657
- those two hosts.
658
-
659
- Future versions of this resource may allow you to control the hosts that a
660
- datastore is mounted to, but currently, this automatic behavior cannot be
661
- changed, so keep this in mind when writing your configurations and deploying
662
- your disks.
663
-
664
- ## Increasing Datastore Size
665
-
666
- To increase the size of a datastore, you must add additional disks to the
667
- `disks` attribute. Expanding the size of a datastore by increasing the size of
668
- an already provisioned disk is currently not supported (but may be in future
669
- versions of this resource).
670
-
671
- > **NOTE:** You cannot decrease the size of a datastore. If the resource
672
- detects disks removed from the configuration, the provider will give an error.
673
-
674
- [cmd-taint]: /docs/commands/taint.html
675
-
676
- ## Example Usage
677
-
678
- ### Addition of local disks on a single host
679
-
680
- The following example uses the default datacenter and default host to add a
681
- datastore with local disks to a single ESXi server.
682
-
683
- > **NOTE:** There are some situations where datastore creation will not work
684
- when working through vCenter (usually when trying to create a datastore on a
685
- single host with local disks). If you experience trouble creating the datastore
686
- you need through vCenter, break the datastore off into a different configuration
687
- and deploy it using the ESXi server as the provider endpoint, using a similar
688
- configuration to what is below.
689
-
690
- ```python
691
- import pulumi
692
- import pulumi_vsphere as vsphere
693
-
694
- datacenter = vsphere.get_datacenter()
695
- host = vsphere.get_host(datacenter_id=datacenter.id)
696
- datastore = vsphere.VmfsDatastore("datastore",
697
- name="test",
698
- host_system_id=esxi_host["id"],
699
- disks=[
700
- "mpx.vmhba1:C0:T1:L0",
701
- "mpx.vmhba1:C0:T2:L0",
702
- "mpx.vmhba1:C0:T2:L0",
703
- ])
704
- ```
705
-
706
- ### Auto-detection of disks via `get_vmfs_disks`
707
-
708
- The following example makes use of the
709
- `get_vmfs_disks` data source to auto-detect
710
- exported iSCSI LUNS matching a certain NAA vendor ID (in this case, LUNs
711
- exported from a [NetApp][ext-netapp]). These discovered disks are then loaded
712
- into `VmfsDatastore`. The datastore is also placed in the
713
- `datastore-folder` folder afterwards.
714
-
715
- [ext-netapp]: https://kb.netapp.com/support/s/article/ka31A0000000rLRQAY/how-to-match-a-lun-s-naa-number-to-its-serial-number?language=en_US
716
-
717
- ```python
718
- import pulumi
719
- import pulumi_vsphere as vsphere
720
-
721
- datacenter = vsphere.get_datacenter(name="dc-01")
722
- host = vsphere.get_host(name="esxi-01.example.com",
723
- datacenter_id=datacenter.id)
724
- available = vsphere.get_vmfs_disks(host_system_id=host.id,
725
- rescan=True,
726
- filter="naa.60a98000")
727
- datastore = vsphere.VmfsDatastore("datastore",
728
- name="test",
729
- host_system_id=esxi_host["id"],
730
- folder="datastore-folder",
731
- disks=[available.disks])
732
- ```
733
-
734
- ## Import
735
-
736
- An existing VMFS datastore can be imported into this resource
737
-
738
- via its managed object ID, via the command below. You also need the host system
739
-
740
- ID.
741
-
742
- ```sh
743
- $ pulumi import vsphere:index/vmfsDatastore:VmfsDatastore datastore datastore-123:host-10
744
- ```
745
-
746
- You need a tool like [`govc`][ext-govc] that can display managed object IDs.
747
-
748
- [ext-govc]: https://github.com/vmware/govmomi/tree/master/govc
749
-
750
- In the case of govc, you can locate a managed object ID from an inventory path
751
-
752
- by doing the following:
753
-
754
- $ govc ls -i /dc/datastore/terraform-test
755
-
756
- Datastore:datastore-123
757
-
758
- To locate host IDs, it might be a good idea to supply the `-l` flag as well so
759
-
760
- that you can line up the names with the IDs:
761
-
762
- $ govc ls -l -i /dc/host/cluster1
763
-
764
- ResourcePool:resgroup-10 /dc/host/cluster1/Resources
765
-
766
- HostSystem:host-10 /dc/host/cluster1/esxi1
767
-
768
- HostSystem:host-11 /dc/host/cluster1/esxi2
769
-
770
- HostSystem:host-12 /dc/host/cluster1/esxi3
771
-
502
+ Create a VmfsDatastore resource with the given unique name, props, and options.
772
503
  :param str resource_name: The name of the resource.
773
504
  :param VmfsDatastoreArgs args: The arguments to use to populate this resource's properties.
774
505
  :param pulumi.ResourceOptions opts: Options for the resource.
pulumi_vsphere/vnic.py CHANGED
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
10
  from . import _utilities
16
11
  from . import outputs
17
12
  from ._inputs import *
@@ -438,18 +433,13 @@ class Vnic(pulumi.CustomResource):
438
433
  ])
439
434
  ```
440
435
 
441
- ## Import
442
-
443
- An existing vNic can be imported into this resource
436
+ ## Importing
444
437
 
438
+ An existing vNic can be [imported][docs-import] into this resource
445
439
  via supplying the vNic's ID. An example is below:
446
440
 
447
441
  [docs-import]: /docs/import/index.html
448
442
 
449
- ```sh
450
- $ pulumi import vsphere:index/vnic:Vnic vnic host-123_vmk2
451
- ```
452
-
453
443
  The above would import the vnic `vmk2` from host with ID `host-123`.
454
444
 
455
445
  :param str resource_name: The name of the resource.
@@ -540,18 +530,13 @@ class Vnic(pulumi.CustomResource):
540
530
  ])
541
531
  ```
542
532
 
543
- ## Import
544
-
545
- An existing vNic can be imported into this resource
533
+ ## Importing
546
534
 
535
+ An existing vNic can be [imported][docs-import] into this resource
547
536
  via supplying the vNic's ID. An example is below:
548
537
 
549
538
  [docs-import]: /docs/import/index.html
550
539
 
551
- ```sh
552
- $ pulumi import vsphere:index/vnic:Vnic vnic host-123_vmk2
553
- ```
554
-
555
540
  The above would import the vnic `vmk2` from host with ID `host-123`.
556
541
 
557
542
  :param str resource_name: The name of the resource.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_vsphere
3
- Version: 4.12.0
3
+ Version: 4.12.0a1725645004
4
4
  Summary: A Pulumi package for creating vsphere resources
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -9,9 +9,8 @@ Keywords: pulumi,vsphere
9
9
  Requires-Python: >=3.8
10
10
  Description-Content-Type: text/markdown
11
11
  Requires-Dist: parver >=0.2.1
12
- Requires-Dist: pulumi <4.0.0,>=3.136.0
12
+ Requires-Dist: pulumi <4.0.0,>=3.0.0
13
13
  Requires-Dist: semver >=2.8.1
14
- Requires-Dist: typing-extensions >=4.11 ; python_version < "3.11"
15
14
 
16
15
  [![Actions Status](https://github.com/pulumi/pulumi-vsphere/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-vsphere/actions)
17
16
  [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com)