pulumi-vsphere 4.10.0a1710160860__py3-none-any.whl → 4.13.0a1736836157__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 (85) hide show
  1. pulumi_vsphere/__init__.py +30 -0
  2. pulumi_vsphere/_inputs.py +1816 -277
  3. pulumi_vsphere/_utilities.py +41 -5
  4. pulumi_vsphere/compute_cluster.py +937 -1488
  5. pulumi_vsphere/compute_cluster_host_group.py +67 -2
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +69 -34
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +41 -2
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +205 -2
  9. pulumi_vsphere/compute_cluster_vm_group.py +198 -2
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +73 -2
  11. pulumi_vsphere/config/__init__.pyi +5 -0
  12. pulumi_vsphere/config/vars.py +5 -0
  13. pulumi_vsphere/content_library.py +113 -12
  14. pulumi_vsphere/content_library_item.py +143 -2
  15. pulumi_vsphere/custom_attribute.py +77 -2
  16. pulumi_vsphere/datacenter.py +48 -40
  17. pulumi_vsphere/datastore_cluster.py +217 -366
  18. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +159 -2
  19. pulumi_vsphere/distributed_port_group.py +416 -189
  20. pulumi_vsphere/distributed_virtual_switch.py +571 -830
  21. pulumi_vsphere/dpm_host_override.py +63 -2
  22. pulumi_vsphere/drs_vm_override.py +67 -2
  23. pulumi_vsphere/entity_permissions.py +64 -38
  24. pulumi_vsphere/file.py +21 -24
  25. pulumi_vsphere/folder.py +148 -30
  26. pulumi_vsphere/get_compute_cluster.py +16 -9
  27. pulumi_vsphere/get_compute_cluster_host_group.py +36 -25
  28. pulumi_vsphere/get_content_library.py +23 -15
  29. pulumi_vsphere/get_content_library_item.py +29 -13
  30. pulumi_vsphere/get_custom_attribute.py +14 -9
  31. pulumi_vsphere/get_datacenter.py +30 -12
  32. pulumi_vsphere/get_datastore.py +44 -12
  33. pulumi_vsphere/get_datastore_cluster.py +31 -10
  34. pulumi_vsphere/get_datastore_stats.py +208 -0
  35. pulumi_vsphere/get_distributed_virtual_switch.py +18 -9
  36. pulumi_vsphere/get_dynamic.py +35 -25
  37. pulumi_vsphere/get_folder.py +23 -11
  38. pulumi_vsphere/get_guest_os_customization.py +26 -52
  39. pulumi_vsphere/get_host.py +16 -9
  40. pulumi_vsphere/get_host_base_images.py +104 -0
  41. pulumi_vsphere/get_host_pci_device.py +28 -19
  42. pulumi_vsphere/get_host_thumbprint.py +41 -25
  43. pulumi_vsphere/get_host_vgpu_profile.py +195 -0
  44. pulumi_vsphere/get_license.py +20 -10
  45. pulumi_vsphere/get_network.py +80 -24
  46. pulumi_vsphere/get_ovf_vm_template.py +56 -5
  47. pulumi_vsphere/get_policy.py +13 -9
  48. pulumi_vsphere/get_resource_pool.py +29 -23
  49. pulumi_vsphere/get_role.py +23 -13
  50. pulumi_vsphere/get_tag.py +16 -9
  51. pulumi_vsphere/get_tag_category.py +16 -9
  52. pulumi_vsphere/get_vapp_container.py +15 -9
  53. pulumi_vsphere/get_virtual_machine.py +233 -48
  54. pulumi_vsphere/get_vmfs_disks.py +18 -9
  55. pulumi_vsphere/guest_os_customization.py +60 -5
  56. pulumi_vsphere/ha_vm_override.py +352 -380
  57. pulumi_vsphere/host.py +244 -64
  58. pulumi_vsphere/host_port_group.py +27 -24
  59. pulumi_vsphere/host_virtual_switch.py +209 -289
  60. pulumi_vsphere/license.py +5 -32
  61. pulumi_vsphere/nas_datastore.py +74 -9
  62. pulumi_vsphere/offline_software_depot.py +185 -0
  63. pulumi_vsphere/outputs.py +774 -256
  64. pulumi_vsphere/provider.py +7 -6
  65. pulumi_vsphere/pulumi-plugin.json +2 -1
  66. pulumi_vsphere/resource_pool.py +168 -411
  67. pulumi_vsphere/role.py +33 -2
  68. pulumi_vsphere/storage_drs_vm_override.py +133 -2
  69. pulumi_vsphere/supervisor.py +967 -0
  70. pulumi_vsphere/tag.py +159 -2
  71. pulumi_vsphere/tag_category.py +83 -2
  72. pulumi_vsphere/vapp_container.py +163 -2
  73. pulumi_vsphere/vapp_entity.py +147 -2
  74. pulumi_vsphere/virtual_disk.py +123 -36
  75. pulumi_vsphere/virtual_machine.py +759 -829
  76. pulumi_vsphere/virtual_machine_class.py +447 -0
  77. pulumi_vsphere/virtual_machine_snapshot.py +13 -12
  78. pulumi_vsphere/vm_storage_policy.py +120 -127
  79. pulumi_vsphere/vmfs_datastore.py +271 -2
  80. pulumi_vsphere/vnic.py +104 -105
  81. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/METADATA +7 -6
  82. pulumi_vsphere-4.13.0a1736836157.dist-info/RECORD +86 -0
  83. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/WHEEL +1 -1
  84. pulumi_vsphere-4.10.0a1710160860.dist-info/RECORD +0 -80
  85. {pulumi_vsphere-4.10.0a1710160860.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/top_level.txt +0 -0
pulumi_vsphere/_inputs.py CHANGED
@@ -4,53 +4,234 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
18
+ 'ComputeClusterHostImageArgs',
19
+ 'ComputeClusterHostImageArgsDict',
20
+ 'ComputeClusterHostImageComponentArgs',
21
+ 'ComputeClusterHostImageComponentArgsDict',
13
22
  'ComputeClusterVsanDiskGroupArgs',
23
+ 'ComputeClusterVsanDiskGroupArgsDict',
14
24
  'ComputeClusterVsanFaultDomainArgs',
25
+ 'ComputeClusterVsanFaultDomainArgsDict',
15
26
  'ComputeClusterVsanFaultDomainFaultDomainArgs',
27
+ 'ComputeClusterVsanFaultDomainFaultDomainArgsDict',
16
28
  'ComputeClusterVsanStretchedClusterArgs',
29
+ 'ComputeClusterVsanStretchedClusterArgsDict',
17
30
  'ContentLibraryPublicationArgs',
31
+ 'ContentLibraryPublicationArgsDict',
18
32
  'ContentLibrarySubscriptionArgs',
33
+ 'ContentLibrarySubscriptionArgsDict',
19
34
  'DistributedPortGroupVlanRangeArgs',
35
+ 'DistributedPortGroupVlanRangeArgsDict',
20
36
  'DistributedVirtualSwitchHostArgs',
37
+ 'DistributedVirtualSwitchHostArgsDict',
21
38
  'DistributedVirtualSwitchPvlanMappingArgs',
39
+ 'DistributedVirtualSwitchPvlanMappingArgsDict',
22
40
  'DistributedVirtualSwitchVlanRangeArgs',
41
+ 'DistributedVirtualSwitchVlanRangeArgsDict',
23
42
  'EntityPermissionsPermissionArgs',
43
+ 'EntityPermissionsPermissionArgsDict',
24
44
  'GuestOsCustomizationSpecArgs',
45
+ 'GuestOsCustomizationSpecArgsDict',
25
46
  'GuestOsCustomizationSpecLinuxOptionsArgs',
47
+ 'GuestOsCustomizationSpecLinuxOptionsArgsDict',
26
48
  'GuestOsCustomizationSpecNetworkInterfaceArgs',
49
+ 'GuestOsCustomizationSpecNetworkInterfaceArgsDict',
27
50
  'GuestOsCustomizationSpecWindowsOptionsArgs',
51
+ 'GuestOsCustomizationSpecWindowsOptionsArgsDict',
28
52
  'HostPortGroupPortArgs',
53
+ 'HostPortGroupPortArgsDict',
54
+ 'HostServiceArgs',
55
+ 'HostServiceArgsDict',
56
+ 'HostServiceNtpdArgs',
57
+ 'HostServiceNtpdArgsDict',
58
+ 'OfflineSoftwareDepotComponentArgs',
59
+ 'OfflineSoftwareDepotComponentArgsDict',
60
+ 'SupervisorEgressCidrArgs',
61
+ 'SupervisorEgressCidrArgsDict',
62
+ 'SupervisorIngressCidrArgs',
63
+ 'SupervisorIngressCidrArgsDict',
64
+ 'SupervisorManagementNetworkArgs',
65
+ 'SupervisorManagementNetworkArgsDict',
66
+ 'SupervisorNamespaceArgs',
67
+ 'SupervisorNamespaceArgsDict',
68
+ 'SupervisorPodCidrArgs',
69
+ 'SupervisorPodCidrArgsDict',
70
+ 'SupervisorServiceCidrArgs',
71
+ 'SupervisorServiceCidrArgsDict',
29
72
  'VirtualMachineCdromArgs',
73
+ 'VirtualMachineCdromArgsDict',
30
74
  'VirtualMachineCloneArgs',
75
+ 'VirtualMachineCloneArgsDict',
31
76
  'VirtualMachineCloneCustomizationSpecArgs',
77
+ 'VirtualMachineCloneCustomizationSpecArgsDict',
32
78
  'VirtualMachineCloneCustomizeArgs',
79
+ 'VirtualMachineCloneCustomizeArgsDict',
33
80
  'VirtualMachineCloneCustomizeLinuxOptionsArgs',
81
+ 'VirtualMachineCloneCustomizeLinuxOptionsArgsDict',
34
82
  'VirtualMachineCloneCustomizeNetworkInterfaceArgs',
83
+ 'VirtualMachineCloneCustomizeNetworkInterfaceArgsDict',
35
84
  'VirtualMachineCloneCustomizeWindowsOptionsArgs',
85
+ 'VirtualMachineCloneCustomizeWindowsOptionsArgsDict',
36
86
  'VirtualMachineDiskArgs',
87
+ 'VirtualMachineDiskArgsDict',
37
88
  'VirtualMachineNetworkInterfaceArgs',
89
+ 'VirtualMachineNetworkInterfaceArgsDict',
38
90
  'VirtualMachineOvfDeployArgs',
91
+ 'VirtualMachineOvfDeployArgsDict',
39
92
  'VirtualMachineVappArgs',
93
+ 'VirtualMachineVappArgsDict',
94
+ 'VirtualMachineVtpmArgs',
95
+ 'VirtualMachineVtpmArgsDict',
40
96
  'VmStoragePolicyTagRuleArgs',
97
+ 'VmStoragePolicyTagRuleArgsDict',
41
98
  'VnicIpv4Args',
99
+ 'VnicIpv4ArgsDict',
42
100
  'VnicIpv6Args',
101
+ 'VnicIpv6ArgsDict',
102
+ 'GetNetworkFilterArgs',
103
+ 'GetNetworkFilterArgsDict',
43
104
  'GetVirtualMachineVappArgs',
105
+ 'GetVirtualMachineVappArgsDict',
44
106
  ]
45
107
 
108
+ MYPY = False
109
+
110
+ if not MYPY:
111
+ class ComputeClusterHostImageArgsDict(TypedDict):
112
+ components: NotRequired[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgsDict']]]]
113
+ """
114
+ List of custom components.
115
+ """
116
+ esx_version: NotRequired[pulumi.Input[str]]
117
+ """
118
+ The ESXi version which the image is based on.
119
+ """
120
+ elif False:
121
+ ComputeClusterHostImageArgsDict: TypeAlias = Mapping[str, Any]
122
+
123
+ @pulumi.input_type
124
+ class ComputeClusterHostImageArgs:
125
+ def __init__(__self__, *,
126
+ components: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]]] = None,
127
+ esx_version: Optional[pulumi.Input[str]] = None):
128
+ """
129
+ :param pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]] components: List of custom components.
130
+ :param pulumi.Input[str] esx_version: The ESXi version which the image is based on.
131
+ """
132
+ if components is not None:
133
+ pulumi.set(__self__, "components", components)
134
+ if esx_version is not None:
135
+ pulumi.set(__self__, "esx_version", esx_version)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]]]:
140
+ """
141
+ List of custom components.
142
+ """
143
+ return pulumi.get(self, "components")
144
+
145
+ @components.setter
146
+ def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterHostImageComponentArgs']]]]):
147
+ pulumi.set(self, "components", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="esxVersion")
151
+ def esx_version(self) -> Optional[pulumi.Input[str]]:
152
+ """
153
+ The ESXi version which the image is based on.
154
+ """
155
+ return pulumi.get(self, "esx_version")
156
+
157
+ @esx_version.setter
158
+ def esx_version(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "esx_version", value)
160
+
161
+
162
+ if not MYPY:
163
+ class ComputeClusterHostImageComponentArgsDict(TypedDict):
164
+ key: NotRequired[pulumi.Input[str]]
165
+ """
166
+ The identifier for the component.
167
+ """
168
+ version: NotRequired[pulumi.Input[str]]
169
+ """
170
+ The version to use.
171
+ """
172
+ elif False:
173
+ ComputeClusterHostImageComponentArgsDict: TypeAlias = Mapping[str, Any]
174
+
175
+ @pulumi.input_type
176
+ class ComputeClusterHostImageComponentArgs:
177
+ def __init__(__self__, *,
178
+ key: Optional[pulumi.Input[str]] = None,
179
+ version: Optional[pulumi.Input[str]] = None):
180
+ """
181
+ :param pulumi.Input[str] key: The identifier for the component.
182
+ :param pulumi.Input[str] version: The version to use.
183
+ """
184
+ if key is not None:
185
+ pulumi.set(__self__, "key", key)
186
+ if version is not None:
187
+ pulumi.set(__self__, "version", version)
188
+
189
+ @property
190
+ @pulumi.getter
191
+ def key(self) -> Optional[pulumi.Input[str]]:
192
+ """
193
+ The identifier for the component.
194
+ """
195
+ return pulumi.get(self, "key")
196
+
197
+ @key.setter
198
+ def key(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "key", value)
200
+
201
+ @property
202
+ @pulumi.getter
203
+ def version(self) -> Optional[pulumi.Input[str]]:
204
+ """
205
+ The version to use.
206
+ """
207
+ return pulumi.get(self, "version")
208
+
209
+ @version.setter
210
+ def version(self, value: Optional[pulumi.Input[str]]):
211
+ pulumi.set(self, "version", value)
212
+
213
+
214
+ if not MYPY:
215
+ class ComputeClusterVsanDiskGroupArgsDict(TypedDict):
216
+ cache: NotRequired[pulumi.Input[str]]
217
+ """
218
+ Cache disk.
219
+ """
220
+ storages: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
221
+ """
222
+ List of storage disks.
223
+ """
224
+ elif False:
225
+ ComputeClusterVsanDiskGroupArgsDict: TypeAlias = Mapping[str, Any]
226
+
46
227
  @pulumi.input_type
47
228
  class ComputeClusterVsanDiskGroupArgs:
48
229
  def __init__(__self__, *,
49
230
  cache: Optional[pulumi.Input[str]] = None,
50
231
  storages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
51
232
  """
52
- :param pulumi.Input[str] cache: The canonical name of the disk to use for vSAN cache.
53
- :param pulumi.Input[Sequence[pulumi.Input[str]]] storages: An array of disk canonical names for vSAN storage.
233
+ :param pulumi.Input[str] cache: Cache disk.
234
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] storages: List of storage disks.
54
235
  """
55
236
  if cache is not None:
56
237
  pulumi.set(__self__, "cache", cache)
@@ -61,7 +242,7 @@ class ComputeClusterVsanDiskGroupArgs:
61
242
  @pulumi.getter
62
243
  def cache(self) -> Optional[pulumi.Input[str]]:
63
244
  """
64
- The canonical name of the disk to use for vSAN cache.
245
+ Cache disk.
65
246
  """
66
247
  return pulumi.get(self, "cache")
67
248
 
@@ -73,7 +254,7 @@ class ComputeClusterVsanDiskGroupArgs:
73
254
  @pulumi.getter
74
255
  def storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
75
256
  """
76
- An array of disk canonical names for vSAN storage.
257
+ List of storage disks.
77
258
  """
78
259
  return pulumi.get(self, "storages")
79
260
 
@@ -82,6 +263,15 @@ class ComputeClusterVsanDiskGroupArgs:
82
263
  pulumi.set(self, "storages", value)
83
264
 
84
265
 
266
+ if not MYPY:
267
+ class ComputeClusterVsanFaultDomainArgsDict(TypedDict):
268
+ fault_domains: NotRequired[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanFaultDomainFaultDomainArgsDict']]]]
269
+ """
270
+ The configuration for single fault domain.
271
+ """
272
+ elif False:
273
+ ComputeClusterVsanFaultDomainArgsDict: TypeAlias = Mapping[str, Any]
274
+
85
275
  @pulumi.input_type
86
276
  class ComputeClusterVsanFaultDomainArgs:
87
277
  def __init__(__self__, *,
@@ -105,6 +295,19 @@ class ComputeClusterVsanFaultDomainArgs:
105
295
  pulumi.set(self, "fault_domains", value)
106
296
 
107
297
 
298
+ if not MYPY:
299
+ class ComputeClusterVsanFaultDomainFaultDomainArgsDict(TypedDict):
300
+ host_ids: pulumi.Input[Sequence[pulumi.Input[str]]]
301
+ """
302
+ The managed object IDs of the hosts to put in the fault domain.
303
+ """
304
+ name: pulumi.Input[str]
305
+ """
306
+ The name of the cluster.
307
+ """
308
+ elif False:
309
+ ComputeClusterVsanFaultDomainFaultDomainArgsDict: TypeAlias = Mapping[str, Any]
310
+
108
311
  @pulumi.input_type
109
312
  class ComputeClusterVsanFaultDomainFaultDomainArgs:
110
313
  def __init__(__self__, *,
@@ -142,6 +345,31 @@ class ComputeClusterVsanFaultDomainFaultDomainArgs:
142
345
  pulumi.set(self, "name", value)
143
346
 
144
347
 
348
+ if not MYPY:
349
+ class ComputeClusterVsanStretchedClusterArgsDict(TypedDict):
350
+ preferred_fault_domain_host_ids: pulumi.Input[Sequence[pulumi.Input[str]]]
351
+ """
352
+ The managed object IDs of the hosts to put in the first fault domain.
353
+ """
354
+ secondary_fault_domain_host_ids: pulumi.Input[Sequence[pulumi.Input[str]]]
355
+ """
356
+ The managed object IDs of the hosts to put in the second fault domain.
357
+ """
358
+ witness_node: pulumi.Input[str]
359
+ """
360
+ The managed object IDs of the host selected as witness node when enable stretched cluster.
361
+ """
362
+ preferred_fault_domain_name: NotRequired[pulumi.Input[str]]
363
+ """
364
+ The name of prepferred fault domain.
365
+ """
366
+ secondary_fault_domain_name: NotRequired[pulumi.Input[str]]
367
+ """
368
+ The name of secondary fault domain.
369
+ """
370
+ elif False:
371
+ ComputeClusterVsanStretchedClusterArgsDict: TypeAlias = Mapping[str, Any]
372
+
145
373
  @pulumi.input_type
146
374
  class ComputeClusterVsanStretchedClusterArgs:
147
375
  def __init__(__self__, *,
@@ -154,56 +382,8 @@ class ComputeClusterVsanStretchedClusterArgs:
154
382
  :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_fault_domain_host_ids: The managed object IDs of the hosts to put in the first fault domain.
155
383
  :param pulumi.Input[Sequence[pulumi.Input[str]]] secondary_fault_domain_host_ids: The managed object IDs of the hosts to put in the second fault domain.
156
384
  :param pulumi.Input[str] witness_node: The managed object IDs of the host selected as witness node when enable stretched cluster.
157
- :param pulumi.Input[str] preferred_fault_domain_name: The name of first fault domain. Default is `Preferred`.
158
- :param pulumi.Input[str] secondary_fault_domain_name: The name of second fault domain. Default is `Secondary`.
159
-
160
- > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
161
- You can enable or re-enable vSphere HA after vSAN is configured.
162
-
163
- <!--Start PulumiCodeChooser -->
164
- ```python
165
- import pulumi
166
- import pulumi_vsphere as vsphere
167
-
168
- compute_cluster = vsphere.ComputeCluster("computeCluster",
169
- datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
170
- host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
171
- drs_enabled=True,
172
- drs_automation_level="fullyAutomated",
173
- ha_enabled=False,
174
- vsan_enabled=True,
175
- vsan_esa_enabled=True,
176
- vsan_dedup_enabled=True,
177
- vsan_compression_enabled=True,
178
- vsan_performance_enabled=True,
179
- vsan_verbose_mode_enabled=True,
180
- vsan_network_diagnostic_mode_enabled=True,
181
- vsan_unmap_enabled=True,
182
- vsan_dit_encryption_enabled=True,
183
- vsan_dit_rekey_interval=1800,
184
- vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
185
- cache=data["vsphere_vmfs_disks"]["cache_disks"],
186
- storages=data["vsphere_vmfs_disks"]["storage_disks"],
187
- )],
188
- vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
189
- fault_domains=[
190
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
191
- name="fd1",
192
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
193
- ),
194
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
195
- name="fd2",
196
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
197
- ),
198
- ],
199
- )],
200
- vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
201
- preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
202
- secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
203
- witness_node=data["vsphere_host"]["witness_host"]["id"],
204
- ))
205
- ```
206
- <!--End PulumiCodeChooser -->
385
+ :param pulumi.Input[str] preferred_fault_domain_name: The name of prepferred fault domain.
386
+ :param pulumi.Input[str] secondary_fault_domain_name: The name of secondary fault domain.
207
387
  """
208
388
  pulumi.set(__self__, "preferred_fault_domain_host_ids", preferred_fault_domain_host_ids)
209
389
  pulumi.set(__self__, "secondary_fault_domain_host_ids", secondary_fault_domain_host_ids)
@@ -253,7 +433,7 @@ class ComputeClusterVsanStretchedClusterArgs:
253
433
  @pulumi.getter(name="preferredFaultDomainName")
254
434
  def preferred_fault_domain_name(self) -> Optional[pulumi.Input[str]]:
255
435
  """
256
- The name of first fault domain. Default is `Preferred`.
436
+ The name of prepferred fault domain.
257
437
  """
258
438
  return pulumi.get(self, "preferred_fault_domain_name")
259
439
 
@@ -265,55 +445,7 @@ class ComputeClusterVsanStretchedClusterArgs:
265
445
  @pulumi.getter(name="secondaryFaultDomainName")
266
446
  def secondary_fault_domain_name(self) -> Optional[pulumi.Input[str]]:
267
447
  """
268
- The name of second fault domain. Default is `Secondary`.
269
-
270
- > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
271
- You can enable or re-enable vSphere HA after vSAN is configured.
272
-
273
- <!--Start PulumiCodeChooser -->
274
- ```python
275
- import pulumi
276
- import pulumi_vsphere as vsphere
277
-
278
- compute_cluster = vsphere.ComputeCluster("computeCluster",
279
- datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"],
280
- host_system_ids=[[__item["id"] for __item in data["vsphere_host"]["host"]]],
281
- drs_enabled=True,
282
- drs_automation_level="fullyAutomated",
283
- ha_enabled=False,
284
- vsan_enabled=True,
285
- vsan_esa_enabled=True,
286
- vsan_dedup_enabled=True,
287
- vsan_compression_enabled=True,
288
- vsan_performance_enabled=True,
289
- vsan_verbose_mode_enabled=True,
290
- vsan_network_diagnostic_mode_enabled=True,
291
- vsan_unmap_enabled=True,
292
- vsan_dit_encryption_enabled=True,
293
- vsan_dit_rekey_interval=1800,
294
- vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
295
- cache=data["vsphere_vmfs_disks"]["cache_disks"],
296
- storages=data["vsphere_vmfs_disks"]["storage_disks"],
297
- )],
298
- vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
299
- fault_domains=[
300
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
301
- name="fd1",
302
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
303
- ),
304
- vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
305
- name="fd2",
306
- host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
307
- ),
308
- ],
309
- )],
310
- vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
311
- preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
312
- secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
313
- witness_node=data["vsphere_host"]["witness_host"]["id"],
314
- ))
315
- ```
316
- <!--End PulumiCodeChooser -->
448
+ The name of secondary fault domain.
317
449
  """
318
450
  return pulumi.get(self, "secondary_fault_domain_name")
319
451
 
@@ -322,6 +454,31 @@ class ComputeClusterVsanStretchedClusterArgs:
322
454
  pulumi.set(self, "secondary_fault_domain_name", value)
323
455
 
324
456
 
457
+ if not MYPY:
458
+ class ContentLibraryPublicationArgsDict(TypedDict):
459
+ authentication_method: NotRequired[pulumi.Input[str]]
460
+ """
461
+ Method to authenticate users. Must be `NONE` or `BASIC`.
462
+ """
463
+ password: NotRequired[pulumi.Input[str]]
464
+ """
465
+ Password used by subscribers to authenticate.
466
+ """
467
+ publish_url: NotRequired[pulumi.Input[str]]
468
+ """
469
+ The URL of the published content library.
470
+ """
471
+ published: NotRequired[pulumi.Input[bool]]
472
+ """
473
+ Publish the content library. Default `false`.
474
+ """
475
+ username: NotRequired[pulumi.Input[str]]
476
+ """
477
+ Username used by subscribers to authenticate. Currently can only be `vcsp`.
478
+ """
479
+ elif False:
480
+ ContentLibraryPublicationArgsDict: TypeAlias = Mapping[str, Any]
481
+
325
482
  @pulumi.input_type
326
483
  class ContentLibraryPublicationArgs:
327
484
  def __init__(__self__, *,
@@ -331,11 +488,11 @@ class ContentLibraryPublicationArgs:
331
488
  published: Optional[pulumi.Input[bool]] = None,
332
489
  username: Optional[pulumi.Input[str]] = None):
333
490
  """
334
- :param pulumi.Input[str] authentication_method: Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
335
- :param pulumi.Input[str] password: Password used for authentication.
491
+ :param pulumi.Input[str] authentication_method: Method to authenticate users. Must be `NONE` or `BASIC`.
492
+ :param pulumi.Input[str] password: Password used by subscribers to authenticate.
336
493
  :param pulumi.Input[str] publish_url: The URL of the published content library.
337
494
  :param pulumi.Input[bool] published: Publish the content library. Default `false`.
338
- :param pulumi.Input[str] username: Username used for authentication.
495
+ :param pulumi.Input[str] username: Username used by subscribers to authenticate. Currently can only be `vcsp`.
339
496
  """
340
497
  if authentication_method is not None:
341
498
  pulumi.set(__self__, "authentication_method", authentication_method)
@@ -352,7 +509,7 @@ class ContentLibraryPublicationArgs:
352
509
  @pulumi.getter(name="authenticationMethod")
353
510
  def authentication_method(self) -> Optional[pulumi.Input[str]]:
354
511
  """
355
- Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
512
+ Method to authenticate users. Must be `NONE` or `BASIC`.
356
513
  """
357
514
  return pulumi.get(self, "authentication_method")
358
515
 
@@ -364,7 +521,7 @@ class ContentLibraryPublicationArgs:
364
521
  @pulumi.getter
365
522
  def password(self) -> Optional[pulumi.Input[str]]:
366
523
  """
367
- Password used for authentication.
524
+ Password used by subscribers to authenticate.
368
525
  """
369
526
  return pulumi.get(self, "password")
370
527
 
@@ -400,7 +557,7 @@ class ContentLibraryPublicationArgs:
400
557
  @pulumi.getter
401
558
  def username(self) -> Optional[pulumi.Input[str]]:
402
559
  """
403
- Username used for authentication.
560
+ Username used by subscribers to authenticate. Currently can only be `vcsp`.
404
561
  """
405
562
  return pulumi.get(self, "username")
406
563
 
@@ -409,6 +566,35 @@ class ContentLibraryPublicationArgs:
409
566
  pulumi.set(self, "username", value)
410
567
 
411
568
 
569
+ if not MYPY:
570
+ class ContentLibrarySubscriptionArgsDict(TypedDict):
571
+ authentication_method: NotRequired[pulumi.Input[str]]
572
+ """
573
+ Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
574
+ """
575
+ automatic_sync: NotRequired[pulumi.Input[bool]]
576
+ """
577
+ Enable automatic synchronization with the published library. Default `false`.
578
+ """
579
+ on_demand: NotRequired[pulumi.Input[bool]]
580
+ """
581
+ Download the library from a content only when needed. Default `true`.
582
+ """
583
+ password: NotRequired[pulumi.Input[str]]
584
+ """
585
+ Password used for authentication.
586
+ """
587
+ subscription_url: NotRequired[pulumi.Input[str]]
588
+ """
589
+ URL of the published content library.
590
+ """
591
+ username: NotRequired[pulumi.Input[str]]
592
+ """
593
+ Username used for authentication.
594
+ """
595
+ elif False:
596
+ ContentLibrarySubscriptionArgsDict: TypeAlias = Mapping[str, Any]
597
+
412
598
  @pulumi.input_type
413
599
  class ContentLibrarySubscriptionArgs:
414
600
  def __init__(__self__, *,
@@ -512,6 +698,19 @@ class ContentLibrarySubscriptionArgs:
512
698
  pulumi.set(self, "username", value)
513
699
 
514
700
 
701
+ if not MYPY:
702
+ class DistributedPortGroupVlanRangeArgsDict(TypedDict):
703
+ max_vlan: pulumi.Input[int]
704
+ """
705
+ The minimum VLAN to use in the range.
706
+ """
707
+ min_vlan: pulumi.Input[int]
708
+ """
709
+ The minimum VLAN to use in the range.
710
+ """
711
+ elif False:
712
+ DistributedPortGroupVlanRangeArgsDict: TypeAlias = Mapping[str, Any]
713
+
515
714
  @pulumi.input_type
516
715
  class DistributedPortGroupVlanRangeArgs:
517
716
  def __init__(__self__, *,
@@ -549,16 +748,27 @@ class DistributedPortGroupVlanRangeArgs:
549
748
  pulumi.set(self, "min_vlan", value)
550
749
 
551
750
 
751
+ if not MYPY:
752
+ class DistributedVirtualSwitchHostArgsDict(TypedDict):
753
+ host_system_id: pulumi.Input[str]
754
+ """
755
+ The managed object ID of the host this specification applies to.
756
+ """
757
+ devices: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
758
+ """
759
+ Name of the physical NIC to be added to the proxy switch.
760
+ """
761
+ elif False:
762
+ DistributedVirtualSwitchHostArgsDict: TypeAlias = Mapping[str, Any]
763
+
552
764
  @pulumi.input_type
553
765
  class DistributedVirtualSwitchHostArgs:
554
766
  def __init__(__self__, *,
555
767
  host_system_id: pulumi.Input[str],
556
768
  devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
557
769
  """
558
- :param pulumi.Input[str] host_system_id: The host system ID of the host to add to the
559
- VDS.
560
- :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The list of NIC devices to map to uplinks on the VDS,
561
- added in order they are specified.
770
+ :param pulumi.Input[str] host_system_id: The managed object ID of the host this specification applies to.
771
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: Name of the physical NIC to be added to the proxy switch.
562
772
  """
563
773
  pulumi.set(__self__, "host_system_id", host_system_id)
564
774
  if devices is not None:
@@ -568,8 +778,7 @@ class DistributedVirtualSwitchHostArgs:
568
778
  @pulumi.getter(name="hostSystemId")
569
779
  def host_system_id(self) -> pulumi.Input[str]:
570
780
  """
571
- The host system ID of the host to add to the
572
- VDS.
781
+ The managed object ID of the host this specification applies to.
573
782
  """
574
783
  return pulumi.get(self, "host_system_id")
575
784
 
@@ -581,8 +790,7 @@ class DistributedVirtualSwitchHostArgs:
581
790
  @pulumi.getter
582
791
  def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
583
792
  """
584
- The list of NIC devices to map to uplinks on the VDS,
585
- added in order they are specified.
793
+ Name of the physical NIC to be added to the proxy switch.
586
794
  """
587
795
  return pulumi.get(self, "devices")
588
796
 
@@ -591,6 +799,23 @@ class DistributedVirtualSwitchHostArgs:
591
799
  pulumi.set(self, "devices", value)
592
800
 
593
801
 
802
+ if not MYPY:
803
+ class DistributedVirtualSwitchPvlanMappingArgsDict(TypedDict):
804
+ primary_vlan_id: pulumi.Input[int]
805
+ """
806
+ The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
807
+ """
808
+ pvlan_type: pulumi.Input[str]
809
+ """
810
+ The private VLAN type. Valid values are promiscuous, community and isolated.
811
+ """
812
+ secondary_vlan_id: pulumi.Input[int]
813
+ """
814
+ The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
815
+ """
816
+ elif False:
817
+ DistributedVirtualSwitchPvlanMappingArgsDict: TypeAlias = Mapping[str, Any]
818
+
594
819
  @pulumi.input_type
595
820
  class DistributedVirtualSwitchPvlanMappingArgs:
596
821
  def __init__(__self__, *,
@@ -598,12 +823,9 @@ class DistributedVirtualSwitchPvlanMappingArgs:
598
823
  pvlan_type: pulumi.Input[str],
599
824
  secondary_vlan_id: pulumi.Input[int]):
600
825
  """
601
- :param pulumi.Input[int] primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and
602
- 4095 are reserved and cannot be used in this property.
603
- :param pulumi.Input[str] pvlan_type: The private VLAN type. Valid values are
604
- promiscuous, community and isolated.
605
- :param pulumi.Input[int] secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0
606
- and 4095 are reserved and cannot be used in this property.
826
+ :param pulumi.Input[int] primary_vlan_id: The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
827
+ :param pulumi.Input[str] pvlan_type: The private VLAN type. Valid values are promiscuous, community and isolated.
828
+ :param pulumi.Input[int] secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
607
829
  """
608
830
  pulumi.set(__self__, "primary_vlan_id", primary_vlan_id)
609
831
  pulumi.set(__self__, "pvlan_type", pvlan_type)
@@ -613,8 +835,7 @@ class DistributedVirtualSwitchPvlanMappingArgs:
613
835
  @pulumi.getter(name="primaryVlanId")
614
836
  def primary_vlan_id(self) -> pulumi.Input[int]:
615
837
  """
616
- The primary VLAN ID. The VLAN IDs of 0 and
617
- 4095 are reserved and cannot be used in this property.
838
+ The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
618
839
  """
619
840
  return pulumi.get(self, "primary_vlan_id")
620
841
 
@@ -626,8 +847,7 @@ class DistributedVirtualSwitchPvlanMappingArgs:
626
847
  @pulumi.getter(name="pvlanType")
627
848
  def pvlan_type(self) -> pulumi.Input[str]:
628
849
  """
629
- The private VLAN type. Valid values are
630
- promiscuous, community and isolated.
850
+ The private VLAN type. Valid values are promiscuous, community and isolated.
631
851
  """
632
852
  return pulumi.get(self, "pvlan_type")
633
853
 
@@ -639,8 +859,7 @@ class DistributedVirtualSwitchPvlanMappingArgs:
639
859
  @pulumi.getter(name="secondaryVlanId")
640
860
  def secondary_vlan_id(self) -> pulumi.Input[int]:
641
861
  """
642
- The secondary VLAN ID. The VLAN IDs of 0
643
- and 4095 are reserved and cannot be used in this property.
862
+ The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
644
863
  """
645
864
  return pulumi.get(self, "secondary_vlan_id")
646
865
 
@@ -649,6 +868,19 @@ class DistributedVirtualSwitchPvlanMappingArgs:
649
868
  pulumi.set(self, "secondary_vlan_id", value)
650
869
 
651
870
 
871
+ if not MYPY:
872
+ class DistributedVirtualSwitchVlanRangeArgsDict(TypedDict):
873
+ max_vlan: pulumi.Input[int]
874
+ """
875
+ The minimum VLAN to use in the range.
876
+ """
877
+ min_vlan: pulumi.Input[int]
878
+ """
879
+ The minimum VLAN to use in the range.
880
+ """
881
+ elif False:
882
+ DistributedVirtualSwitchVlanRangeArgsDict: TypeAlias = Mapping[str, Any]
883
+
652
884
  @pulumi.input_type
653
885
  class DistributedVirtualSwitchVlanRangeArgs:
654
886
  def __init__(__self__, *,
@@ -686,6 +918,30 @@ class DistributedVirtualSwitchVlanRangeArgs:
686
918
  pulumi.set(self, "min_vlan", value)
687
919
 
688
920
 
921
+ if not MYPY:
922
+ class EntityPermissionsPermissionArgsDict(TypedDict):
923
+ is_group: pulumi.Input[bool]
924
+ """
925
+ Whether `user_or_group` field refers to a user or a
926
+ group. True for a group and false for a user.
927
+ """
928
+ propagate: pulumi.Input[bool]
929
+ """
930
+ Whether or not this permission propagates down the
931
+ hierarchy to sub-entities.
932
+ """
933
+ role_id: pulumi.Input[str]
934
+ """
935
+ The role id of the role to be given to the user on
936
+ the specified entity.
937
+ """
938
+ user_or_group: pulumi.Input[str]
939
+ """
940
+ The user/group getting the permission.
941
+ """
942
+ elif False:
943
+ EntityPermissionsPermissionArgsDict: TypeAlias = Mapping[str, Any]
944
+
689
945
  @pulumi.input_type
690
946
  class EntityPermissionsPermissionArgs:
691
947
  def __init__(__self__, *,
@@ -694,9 +950,12 @@ class EntityPermissionsPermissionArgs:
694
950
  role_id: pulumi.Input[str],
695
951
  user_or_group: pulumi.Input[str]):
696
952
  """
697
- :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.
698
- :param pulumi.Input[bool] propagate: Whether or not this permission propagates down the hierarchy to sub-entities.
699
- :param pulumi.Input[str] role_id: The role id of the role to be given to the user on the specified entity.
953
+ :param pulumi.Input[bool] is_group: Whether `user_or_group` field refers to a user or a
954
+ group. True for a group and false for a user.
955
+ :param pulumi.Input[bool] propagate: Whether or not this permission propagates down the
956
+ hierarchy to sub-entities.
957
+ :param pulumi.Input[str] role_id: The role id of the role to be given to the user on
958
+ the specified entity.
700
959
  :param pulumi.Input[str] user_or_group: The user/group getting the permission.
701
960
  """
702
961
  pulumi.set(__self__, "is_group", is_group)
@@ -708,7 +967,8 @@ class EntityPermissionsPermissionArgs:
708
967
  @pulumi.getter(name="isGroup")
709
968
  def is_group(self) -> pulumi.Input[bool]:
710
969
  """
711
- Whether user_or_group field refers to a user or a group. True for a group and false for a user.
970
+ Whether `user_or_group` field refers to a user or a
971
+ group. True for a group and false for a user.
712
972
  """
713
973
  return pulumi.get(self, "is_group")
714
974
 
@@ -720,7 +980,8 @@ class EntityPermissionsPermissionArgs:
720
980
  @pulumi.getter
721
981
  def propagate(self) -> pulumi.Input[bool]:
722
982
  """
723
- Whether or not this permission propagates down the hierarchy to sub-entities.
983
+ Whether or not this permission propagates down the
984
+ hierarchy to sub-entities.
724
985
  """
725
986
  return pulumi.get(self, "propagate")
726
987
 
@@ -732,7 +993,8 @@ class EntityPermissionsPermissionArgs:
732
993
  @pulumi.getter(name="roleId")
733
994
  def role_id(self) -> pulumi.Input[str]:
734
995
  """
735
- The role id of the role to be given to the user on the specified entity.
996
+ The role id of the role to be given to the user on
997
+ the specified entity.
736
998
  """
737
999
  return pulumi.get(self, "role_id")
738
1000
 
@@ -753,6 +1015,43 @@ class EntityPermissionsPermissionArgs:
753
1015
  pulumi.set(self, "user_or_group", value)
754
1016
 
755
1017
 
1018
+ if not MYPY:
1019
+ class GuestOsCustomizationSpecArgsDict(TypedDict):
1020
+ dns_server_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1021
+ """
1022
+ The list of DNS servers for a virtual network adapter with a static IP address.
1023
+ """
1024
+ dns_suffix_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1025
+ """
1026
+ A list of DNS search domains to add to the DNS configuration on the virtual machine.
1027
+ """
1028
+ ipv4_gateway: NotRequired[pulumi.Input[str]]
1029
+ """
1030
+ 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.
1031
+ """
1032
+ ipv6_gateway: NotRequired[pulumi.Input[str]]
1033
+ """
1034
+ 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.
1035
+ """
1036
+ linux_options: NotRequired[pulumi.Input['GuestOsCustomizationSpecLinuxOptionsArgsDict']]
1037
+ """
1038
+ A list of configuration options specific to Linux virtual machines.
1039
+ """
1040
+ network_interfaces: NotRequired[pulumi.Input[Sequence[pulumi.Input['GuestOsCustomizationSpecNetworkInterfaceArgsDict']]]]
1041
+ """
1042
+ A specification of network interface configuration options.
1043
+ """
1044
+ windows_options: NotRequired[pulumi.Input['GuestOsCustomizationSpecWindowsOptionsArgsDict']]
1045
+ """
1046
+ A list of configuration options specific to Windows virtual machines.
1047
+ """
1048
+ windows_sysprep_text: NotRequired[pulumi.Input[str]]
1049
+ """
1050
+ Use this option to specify a windows sysprep file directly.
1051
+ """
1052
+ elif False:
1053
+ GuestOsCustomizationSpecArgsDict: TypeAlias = Mapping[str, Any]
1054
+
756
1055
  @pulumi.input_type
757
1056
  class GuestOsCustomizationSpecArgs:
758
1057
  def __init__(__self__, *,
@@ -888,6 +1187,31 @@ class GuestOsCustomizationSpecArgs:
888
1187
  pulumi.set(self, "windows_sysprep_text", value)
889
1188
 
890
1189
 
1190
+ if not MYPY:
1191
+ class GuestOsCustomizationSpecLinuxOptionsArgsDict(TypedDict):
1192
+ domain: pulumi.Input[str]
1193
+ """
1194
+ The domain name for this virtual machine.
1195
+ """
1196
+ host_name: pulumi.Input[str]
1197
+ """
1198
+ The hostname for this virtual machine.
1199
+ """
1200
+ hw_clock_utc: NotRequired[pulumi.Input[bool]]
1201
+ """
1202
+ Specifies whether or not the hardware clock should be in UTC or not.
1203
+ """
1204
+ script_text: NotRequired[pulumi.Input[str]]
1205
+ """
1206
+ The customization script to run before and or after guest customization
1207
+ """
1208
+ time_zone: NotRequired[pulumi.Input[str]]
1209
+ """
1210
+ Customize the time zone on the VM. This should be a time zone-style entry, like America/Los_Angeles.
1211
+ """
1212
+ elif False:
1213
+ GuestOsCustomizationSpecLinuxOptionsArgsDict: TypeAlias = Mapping[str, Any]
1214
+
891
1215
  @pulumi.input_type
892
1216
  class GuestOsCustomizationSpecLinuxOptionsArgs:
893
1217
  def __init__(__self__, *,
@@ -973,6 +1297,35 @@ class GuestOsCustomizationSpecLinuxOptionsArgs:
973
1297
  pulumi.set(self, "time_zone", value)
974
1298
 
975
1299
 
1300
+ if not MYPY:
1301
+ class GuestOsCustomizationSpecNetworkInterfaceArgsDict(TypedDict):
1302
+ dns_domain: NotRequired[pulumi.Input[str]]
1303
+ """
1304
+ A DNS search domain to add to the DNS configuration on the virtual machine.
1305
+ """
1306
+ dns_server_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1307
+ """
1308
+ Network-interface specific DNS settings for Windows operating systems. Ignored on Linux.
1309
+ """
1310
+ ipv4_address: NotRequired[pulumi.Input[str]]
1311
+ """
1312
+ The IPv4 address assigned to this network adapter. If left blank, DHCP is used.
1313
+ """
1314
+ ipv4_netmask: NotRequired[pulumi.Input[int]]
1315
+ """
1316
+ The IPv4 CIDR netmask for the supplied IP address. Ignored if DHCP is selected.
1317
+ """
1318
+ ipv6_address: NotRequired[pulumi.Input[str]]
1319
+ """
1320
+ The IPv6 address assigned to this network adapter. If left blank, default auto-configuration is used.
1321
+ """
1322
+ ipv6_netmask: NotRequired[pulumi.Input[int]]
1323
+ """
1324
+ The IPv6 CIDR netmask for the supplied IP address. Ignored if auto-configuration is selected.
1325
+ """
1326
+ elif False:
1327
+ GuestOsCustomizationSpecNetworkInterfaceArgsDict: TypeAlias = Mapping[str, Any]
1328
+
976
1329
  @pulumi.input_type
977
1330
  class GuestOsCustomizationSpecNetworkInterfaceArgs:
978
1331
  def __init__(__self__, *,
@@ -1076,48 +1429,113 @@ class GuestOsCustomizationSpecNetworkInterfaceArgs:
1076
1429
  pulumi.set(self, "ipv6_netmask", value)
1077
1430
 
1078
1431
 
1079
- @pulumi.input_type
1080
- class GuestOsCustomizationSpecWindowsOptionsArgs:
1081
- def __init__(__self__, *,
1082
- computer_name: pulumi.Input[str],
1083
- admin_password: Optional[pulumi.Input[str]] = None,
1084
- auto_logon: Optional[pulumi.Input[bool]] = None,
1085
- auto_logon_count: Optional[pulumi.Input[int]] = None,
1086
- domain_admin_password: Optional[pulumi.Input[str]] = None,
1087
- domain_admin_user: Optional[pulumi.Input[str]] = None,
1088
- full_name: Optional[pulumi.Input[str]] = None,
1089
- join_domain: Optional[pulumi.Input[str]] = None,
1090
- organization_name: Optional[pulumi.Input[str]] = None,
1091
- product_key: Optional[pulumi.Input[str]] = None,
1092
- run_once_command_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1093
- time_zone: Optional[pulumi.Input[int]] = None,
1094
- workgroup: Optional[pulumi.Input[str]] = None):
1432
+ if not MYPY:
1433
+ class GuestOsCustomizationSpecWindowsOptionsArgsDict(TypedDict):
1434
+ computer_name: pulumi.Input[str]
1095
1435
  """
1096
- :param pulumi.Input[str] computer_name: The host name for this virtual machine.
1097
- :param pulumi.Input[str] admin_password: The new administrator password for this virtual machine.
1098
- :param pulumi.Input[bool] auto_logon: Specifies whether or not the VM automatically logs on as Administrator.
1099
- :param pulumi.Input[int] auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1100
- :param pulumi.Input[str] domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
1101
- :param pulumi.Input[str] domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
1102
- :param pulumi.Input[str] full_name: The full name of the user of this virtual machine.
1103
- :param pulumi.Input[str] join_domain: The domain that the virtual machine should join.
1104
- :param pulumi.Input[str] organization_name: The organization name this virtual machine is being installed for.
1105
- :param pulumi.Input[str] product_key: The product key for this virtual machine.
1106
- :param pulumi.Input[Sequence[pulumi.Input[str]]] run_once_command_lists: A list of commands to run at first user logon, after guest customization.
1107
- :param pulumi.Input[int] time_zone: The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
1108
- :param pulumi.Input[str] workgroup: The workgroup for this virtual machine if not joining a domain.
1436
+ The host name for this virtual machine.
1109
1437
  """
1110
- pulumi.set(__self__, "computer_name", computer_name)
1111
- if admin_password is not None:
1112
- pulumi.set(__self__, "admin_password", admin_password)
1113
- if auto_logon is not None:
1114
- pulumi.set(__self__, "auto_logon", auto_logon)
1438
+ admin_password: NotRequired[pulumi.Input[str]]
1439
+ """
1440
+ The new administrator password for this virtual machine.
1441
+ """
1442
+ auto_logon: NotRequired[pulumi.Input[bool]]
1443
+ """
1444
+ Specifies whether or not the VM automatically logs on as Administrator.
1445
+ """
1446
+ auto_logon_count: NotRequired[pulumi.Input[int]]
1447
+ """
1448
+ Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1449
+ """
1450
+ domain_admin_password: NotRequired[pulumi.Input[str]]
1451
+ """
1452
+ The password of the domain administrator used to join this virtual machine to the domain.
1453
+ """
1454
+ domain_admin_user: NotRequired[pulumi.Input[str]]
1455
+ """
1456
+ The user account of the domain administrator used to join this virtual machine to the domain.
1457
+ """
1458
+ domain_ou: NotRequired[pulumi.Input[str]]
1459
+ """
1460
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1461
+ """
1462
+ full_name: NotRequired[pulumi.Input[str]]
1463
+ """
1464
+ The full name of the user of this virtual machine.
1465
+ """
1466
+ join_domain: NotRequired[pulumi.Input[str]]
1467
+ """
1468
+ The domain that the virtual machine should join.
1469
+ """
1470
+ organization_name: NotRequired[pulumi.Input[str]]
1471
+ """
1472
+ The organization name this virtual machine is being installed for.
1473
+ """
1474
+ product_key: NotRequired[pulumi.Input[str]]
1475
+ """
1476
+ The product key for this virtual machine.
1477
+ """
1478
+ run_once_command_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1479
+ """
1480
+ A list of commands to run at first user logon, after guest customization.
1481
+ """
1482
+ time_zone: NotRequired[pulumi.Input[int]]
1483
+ """
1484
+ The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
1485
+ """
1486
+ workgroup: NotRequired[pulumi.Input[str]]
1487
+ """
1488
+ The workgroup for this virtual machine if not joining a domain.
1489
+ """
1490
+ elif False:
1491
+ GuestOsCustomizationSpecWindowsOptionsArgsDict: TypeAlias = Mapping[str, Any]
1492
+
1493
+ @pulumi.input_type
1494
+ class GuestOsCustomizationSpecWindowsOptionsArgs:
1495
+ def __init__(__self__, *,
1496
+ computer_name: pulumi.Input[str],
1497
+ admin_password: Optional[pulumi.Input[str]] = None,
1498
+ auto_logon: Optional[pulumi.Input[bool]] = None,
1499
+ auto_logon_count: Optional[pulumi.Input[int]] = None,
1500
+ domain_admin_password: Optional[pulumi.Input[str]] = None,
1501
+ domain_admin_user: Optional[pulumi.Input[str]] = None,
1502
+ domain_ou: Optional[pulumi.Input[str]] = None,
1503
+ full_name: Optional[pulumi.Input[str]] = None,
1504
+ join_domain: Optional[pulumi.Input[str]] = None,
1505
+ organization_name: Optional[pulumi.Input[str]] = None,
1506
+ product_key: Optional[pulumi.Input[str]] = None,
1507
+ run_once_command_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1508
+ time_zone: Optional[pulumi.Input[int]] = None,
1509
+ workgroup: Optional[pulumi.Input[str]] = None):
1510
+ """
1511
+ :param pulumi.Input[str] computer_name: The host name for this virtual machine.
1512
+ :param pulumi.Input[str] admin_password: The new administrator password for this virtual machine.
1513
+ :param pulumi.Input[bool] auto_logon: Specifies whether or not the VM automatically logs on as Administrator.
1514
+ :param pulumi.Input[int] auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1515
+ :param pulumi.Input[str] domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
1516
+ :param pulumi.Input[str] domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
1517
+ :param pulumi.Input[str] domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1518
+ :param pulumi.Input[str] full_name: The full name of the user of this virtual machine.
1519
+ :param pulumi.Input[str] join_domain: The domain that the virtual machine should join.
1520
+ :param pulumi.Input[str] organization_name: The organization name this virtual machine is being installed for.
1521
+ :param pulumi.Input[str] product_key: The product key for this virtual machine.
1522
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] run_once_command_lists: A list of commands to run at first user logon, after guest customization.
1523
+ :param pulumi.Input[int] time_zone: The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
1524
+ :param pulumi.Input[str] workgroup: The workgroup for this virtual machine if not joining a domain.
1525
+ """
1526
+ pulumi.set(__self__, "computer_name", computer_name)
1527
+ if admin_password is not None:
1528
+ pulumi.set(__self__, "admin_password", admin_password)
1529
+ if auto_logon is not None:
1530
+ pulumi.set(__self__, "auto_logon", auto_logon)
1115
1531
  if auto_logon_count is not None:
1116
1532
  pulumi.set(__self__, "auto_logon_count", auto_logon_count)
1117
1533
  if domain_admin_password is not None:
1118
1534
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
1119
1535
  if domain_admin_user is not None:
1120
1536
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
1537
+ if domain_ou is not None:
1538
+ pulumi.set(__self__, "domain_ou", domain_ou)
1121
1539
  if full_name is not None:
1122
1540
  pulumi.set(__self__, "full_name", full_name)
1123
1541
  if join_domain is not None:
@@ -1205,6 +1623,18 @@ class GuestOsCustomizationSpecWindowsOptionsArgs:
1205
1623
  def domain_admin_user(self, value: Optional[pulumi.Input[str]]):
1206
1624
  pulumi.set(self, "domain_admin_user", value)
1207
1625
 
1626
+ @property
1627
+ @pulumi.getter(name="domainOu")
1628
+ def domain_ou(self) -> Optional[pulumi.Input[str]]:
1629
+ """
1630
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1631
+ """
1632
+ return pulumi.get(self, "domain_ou")
1633
+
1634
+ @domain_ou.setter
1635
+ def domain_ou(self, value: Optional[pulumi.Input[str]]):
1636
+ pulumi.set(self, "domain_ou", value)
1637
+
1208
1638
  @property
1209
1639
  @pulumi.getter(name="fullName")
1210
1640
  def full_name(self) -> Optional[pulumi.Input[str]]:
@@ -1290,6 +1720,23 @@ class GuestOsCustomizationSpecWindowsOptionsArgs:
1290
1720
  pulumi.set(self, "workgroup", value)
1291
1721
 
1292
1722
 
1723
+ if not MYPY:
1724
+ class HostPortGroupPortArgsDict(TypedDict):
1725
+ key: NotRequired[pulumi.Input[str]]
1726
+ """
1727
+ The key for this port group as returned from the vSphere API.
1728
+ """
1729
+ mac_addresses: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1730
+ """
1731
+ The MAC addresses of the network service of the virtual machine connected on this port.
1732
+ """
1733
+ type: NotRequired[pulumi.Input[str]]
1734
+ """
1735
+ Type type of the entity connected on this port. Possible values are host (VMKkernel), systemManagement (service console), virtualMachine, or unknown.
1736
+ """
1737
+ elif False:
1738
+ HostPortGroupPortArgsDict: TypeAlias = Mapping[str, Any]
1739
+
1293
1740
  @pulumi.input_type
1294
1741
  class HostPortGroupPortArgs:
1295
1742
  def __init__(__self__, *,
@@ -1345,6 +1792,584 @@ class HostPortGroupPortArgs:
1345
1792
  pulumi.set(self, "type", value)
1346
1793
 
1347
1794
 
1795
+ if not MYPY:
1796
+ class HostServiceArgsDict(TypedDict):
1797
+ ntpd: NotRequired[pulumi.Input['HostServiceNtpdArgsDict']]
1798
+ """
1799
+ 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".
1800
+
1801
+ > **NOTE:** `services` only supports ntpd service today.
1802
+ """
1803
+ elif False:
1804
+ HostServiceArgsDict: TypeAlias = Mapping[str, Any]
1805
+
1806
+ @pulumi.input_type
1807
+ class HostServiceArgs:
1808
+ def __init__(__self__, *,
1809
+ ntpd: Optional[pulumi.Input['HostServiceNtpdArgs']] = None):
1810
+ """
1811
+ :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".
1812
+
1813
+ > **NOTE:** `services` only supports ntpd service today.
1814
+ """
1815
+ if ntpd is not None:
1816
+ pulumi.set(__self__, "ntpd", ntpd)
1817
+
1818
+ @property
1819
+ @pulumi.getter
1820
+ def ntpd(self) -> Optional[pulumi.Input['HostServiceNtpdArgs']]:
1821
+ """
1822
+ 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".
1823
+
1824
+ > **NOTE:** `services` only supports ntpd service today.
1825
+ """
1826
+ return pulumi.get(self, "ntpd")
1827
+
1828
+ @ntpd.setter
1829
+ def ntpd(self, value: Optional[pulumi.Input['HostServiceNtpdArgs']]):
1830
+ pulumi.set(self, "ntpd", value)
1831
+
1832
+
1833
+ if not MYPY:
1834
+ class HostServiceNtpdArgsDict(TypedDict):
1835
+ enabled: NotRequired[pulumi.Input[bool]]
1836
+ """
1837
+ Whether the NTP service is enabled. Default is false.
1838
+ """
1839
+ ntp_servers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1840
+ policy: NotRequired[pulumi.Input[str]]
1841
+ """
1842
+ The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1843
+ """
1844
+ elif False:
1845
+ HostServiceNtpdArgsDict: TypeAlias = Mapping[str, Any]
1846
+
1847
+ @pulumi.input_type
1848
+ class HostServiceNtpdArgs:
1849
+ def __init__(__self__, *,
1850
+ enabled: Optional[pulumi.Input[bool]] = None,
1851
+ ntp_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1852
+ policy: Optional[pulumi.Input[str]] = None):
1853
+ """
1854
+ :param pulumi.Input[bool] enabled: Whether the NTP service is enabled. Default is false.
1855
+ :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'.
1856
+ """
1857
+ if enabled is not None:
1858
+ pulumi.set(__self__, "enabled", enabled)
1859
+ if ntp_servers is not None:
1860
+ pulumi.set(__self__, "ntp_servers", ntp_servers)
1861
+ if policy is not None:
1862
+ pulumi.set(__self__, "policy", policy)
1863
+
1864
+ @property
1865
+ @pulumi.getter
1866
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
1867
+ """
1868
+ Whether the NTP service is enabled. Default is false.
1869
+ """
1870
+ return pulumi.get(self, "enabled")
1871
+
1872
+ @enabled.setter
1873
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
1874
+ pulumi.set(self, "enabled", value)
1875
+
1876
+ @property
1877
+ @pulumi.getter(name="ntpServers")
1878
+ def ntp_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1879
+ return pulumi.get(self, "ntp_servers")
1880
+
1881
+ @ntp_servers.setter
1882
+ def ntp_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1883
+ pulumi.set(self, "ntp_servers", value)
1884
+
1885
+ @property
1886
+ @pulumi.getter
1887
+ def policy(self) -> Optional[pulumi.Input[str]]:
1888
+ """
1889
+ The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
1890
+ """
1891
+ return pulumi.get(self, "policy")
1892
+
1893
+ @policy.setter
1894
+ def policy(self, value: Optional[pulumi.Input[str]]):
1895
+ pulumi.set(self, "policy", value)
1896
+
1897
+
1898
+ if not MYPY:
1899
+ class OfflineSoftwareDepotComponentArgsDict(TypedDict):
1900
+ display_name: NotRequired[pulumi.Input[str]]
1901
+ """
1902
+ The name of the component. Useful for easier identification.
1903
+ """
1904
+ key: NotRequired[pulumi.Input[str]]
1905
+ """
1906
+ The identifier of the component.
1907
+ """
1908
+ versions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1909
+ """
1910
+ The list of available versions of the component.
1911
+ """
1912
+ elif False:
1913
+ OfflineSoftwareDepotComponentArgsDict: TypeAlias = Mapping[str, Any]
1914
+
1915
+ @pulumi.input_type
1916
+ class OfflineSoftwareDepotComponentArgs:
1917
+ def __init__(__self__, *,
1918
+ display_name: Optional[pulumi.Input[str]] = None,
1919
+ key: Optional[pulumi.Input[str]] = None,
1920
+ versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1921
+ """
1922
+ :param pulumi.Input[str] display_name: The name of the component. Useful for easier identification.
1923
+ :param pulumi.Input[str] key: The identifier of the component.
1924
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] versions: The list of available versions of the component.
1925
+ """
1926
+ if display_name is not None:
1927
+ pulumi.set(__self__, "display_name", display_name)
1928
+ if key is not None:
1929
+ pulumi.set(__self__, "key", key)
1930
+ if versions is not None:
1931
+ pulumi.set(__self__, "versions", versions)
1932
+
1933
+ @property
1934
+ @pulumi.getter(name="displayName")
1935
+ def display_name(self) -> Optional[pulumi.Input[str]]:
1936
+ """
1937
+ The name of the component. Useful for easier identification.
1938
+ """
1939
+ return pulumi.get(self, "display_name")
1940
+
1941
+ @display_name.setter
1942
+ def display_name(self, value: Optional[pulumi.Input[str]]):
1943
+ pulumi.set(self, "display_name", value)
1944
+
1945
+ @property
1946
+ @pulumi.getter
1947
+ def key(self) -> Optional[pulumi.Input[str]]:
1948
+ """
1949
+ The identifier of the component.
1950
+ """
1951
+ return pulumi.get(self, "key")
1952
+
1953
+ @key.setter
1954
+ def key(self, value: Optional[pulumi.Input[str]]):
1955
+ pulumi.set(self, "key", value)
1956
+
1957
+ @property
1958
+ @pulumi.getter
1959
+ def versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1960
+ """
1961
+ The list of available versions of the component.
1962
+ """
1963
+ return pulumi.get(self, "versions")
1964
+
1965
+ @versions.setter
1966
+ def versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1967
+ pulumi.set(self, "versions", value)
1968
+
1969
+
1970
+ if not MYPY:
1971
+ class SupervisorEgressCidrArgsDict(TypedDict):
1972
+ address: pulumi.Input[str]
1973
+ """
1974
+ Network address.
1975
+ """
1976
+ prefix: pulumi.Input[int]
1977
+ """
1978
+ Subnet prefix.
1979
+ """
1980
+ elif False:
1981
+ SupervisorEgressCidrArgsDict: TypeAlias = Mapping[str, Any]
1982
+
1983
+ @pulumi.input_type
1984
+ class SupervisorEgressCidrArgs:
1985
+ def __init__(__self__, *,
1986
+ address: pulumi.Input[str],
1987
+ prefix: pulumi.Input[int]):
1988
+ """
1989
+ :param pulumi.Input[str] address: Network address.
1990
+ :param pulumi.Input[int] prefix: Subnet prefix.
1991
+ """
1992
+ pulumi.set(__self__, "address", address)
1993
+ pulumi.set(__self__, "prefix", prefix)
1994
+
1995
+ @property
1996
+ @pulumi.getter
1997
+ def address(self) -> pulumi.Input[str]:
1998
+ """
1999
+ Network address.
2000
+ """
2001
+ return pulumi.get(self, "address")
2002
+
2003
+ @address.setter
2004
+ def address(self, value: pulumi.Input[str]):
2005
+ pulumi.set(self, "address", value)
2006
+
2007
+ @property
2008
+ @pulumi.getter
2009
+ def prefix(self) -> pulumi.Input[int]:
2010
+ """
2011
+ Subnet prefix.
2012
+ """
2013
+ return pulumi.get(self, "prefix")
2014
+
2015
+ @prefix.setter
2016
+ def prefix(self, value: pulumi.Input[int]):
2017
+ pulumi.set(self, "prefix", value)
2018
+
2019
+
2020
+ if not MYPY:
2021
+ class SupervisorIngressCidrArgsDict(TypedDict):
2022
+ address: pulumi.Input[str]
2023
+ """
2024
+ Network address.
2025
+ """
2026
+ prefix: pulumi.Input[int]
2027
+ """
2028
+ Subnet prefix.
2029
+ """
2030
+ elif False:
2031
+ SupervisorIngressCidrArgsDict: TypeAlias = Mapping[str, Any]
2032
+
2033
+ @pulumi.input_type
2034
+ class SupervisorIngressCidrArgs:
2035
+ def __init__(__self__, *,
2036
+ address: pulumi.Input[str],
2037
+ prefix: pulumi.Input[int]):
2038
+ """
2039
+ :param pulumi.Input[str] address: Network address.
2040
+ :param pulumi.Input[int] prefix: Subnet prefix.
2041
+ """
2042
+ pulumi.set(__self__, "address", address)
2043
+ pulumi.set(__self__, "prefix", prefix)
2044
+
2045
+ @property
2046
+ @pulumi.getter
2047
+ def address(self) -> pulumi.Input[str]:
2048
+ """
2049
+ Network address.
2050
+ """
2051
+ return pulumi.get(self, "address")
2052
+
2053
+ @address.setter
2054
+ def address(self, value: pulumi.Input[str]):
2055
+ pulumi.set(self, "address", value)
2056
+
2057
+ @property
2058
+ @pulumi.getter
2059
+ def prefix(self) -> pulumi.Input[int]:
2060
+ """
2061
+ Subnet prefix.
2062
+ """
2063
+ return pulumi.get(self, "prefix")
2064
+
2065
+ @prefix.setter
2066
+ def prefix(self, value: pulumi.Input[int]):
2067
+ pulumi.set(self, "prefix", value)
2068
+
2069
+
2070
+ if not MYPY:
2071
+ class SupervisorManagementNetworkArgsDict(TypedDict):
2072
+ address_count: pulumi.Input[int]
2073
+ """
2074
+ Number of addresses to allocate. Starts from 'starting_address'
2075
+ """
2076
+ gateway: pulumi.Input[str]
2077
+ """
2078
+ Gateway IP address.
2079
+ """
2080
+ network: pulumi.Input[str]
2081
+ """
2082
+ ID of the network. (e.g. a distributed port group).
2083
+ """
2084
+ starting_address: pulumi.Input[str]
2085
+ """
2086
+ Starting address of the management network range.
2087
+ """
2088
+ subnet_mask: pulumi.Input[str]
2089
+ """
2090
+ Subnet mask.
2091
+ """
2092
+ elif False:
2093
+ SupervisorManagementNetworkArgsDict: TypeAlias = Mapping[str, Any]
2094
+
2095
+ @pulumi.input_type
2096
+ class SupervisorManagementNetworkArgs:
2097
+ def __init__(__self__, *,
2098
+ address_count: pulumi.Input[int],
2099
+ gateway: pulumi.Input[str],
2100
+ network: pulumi.Input[str],
2101
+ starting_address: pulumi.Input[str],
2102
+ subnet_mask: pulumi.Input[str]):
2103
+ """
2104
+ :param pulumi.Input[int] address_count: Number of addresses to allocate. Starts from 'starting_address'
2105
+ :param pulumi.Input[str] gateway: Gateway IP address.
2106
+ :param pulumi.Input[str] network: ID of the network. (e.g. a distributed port group).
2107
+ :param pulumi.Input[str] starting_address: Starting address of the management network range.
2108
+ :param pulumi.Input[str] subnet_mask: Subnet mask.
2109
+ """
2110
+ pulumi.set(__self__, "address_count", address_count)
2111
+ pulumi.set(__self__, "gateway", gateway)
2112
+ pulumi.set(__self__, "network", network)
2113
+ pulumi.set(__self__, "starting_address", starting_address)
2114
+ pulumi.set(__self__, "subnet_mask", subnet_mask)
2115
+
2116
+ @property
2117
+ @pulumi.getter(name="addressCount")
2118
+ def address_count(self) -> pulumi.Input[int]:
2119
+ """
2120
+ Number of addresses to allocate. Starts from 'starting_address'
2121
+ """
2122
+ return pulumi.get(self, "address_count")
2123
+
2124
+ @address_count.setter
2125
+ def address_count(self, value: pulumi.Input[int]):
2126
+ pulumi.set(self, "address_count", value)
2127
+
2128
+ @property
2129
+ @pulumi.getter
2130
+ def gateway(self) -> pulumi.Input[str]:
2131
+ """
2132
+ Gateway IP address.
2133
+ """
2134
+ return pulumi.get(self, "gateway")
2135
+
2136
+ @gateway.setter
2137
+ def gateway(self, value: pulumi.Input[str]):
2138
+ pulumi.set(self, "gateway", value)
2139
+
2140
+ @property
2141
+ @pulumi.getter
2142
+ def network(self) -> pulumi.Input[str]:
2143
+ """
2144
+ ID of the network. (e.g. a distributed port group).
2145
+ """
2146
+ return pulumi.get(self, "network")
2147
+
2148
+ @network.setter
2149
+ def network(self, value: pulumi.Input[str]):
2150
+ pulumi.set(self, "network", value)
2151
+
2152
+ @property
2153
+ @pulumi.getter(name="startingAddress")
2154
+ def starting_address(self) -> pulumi.Input[str]:
2155
+ """
2156
+ Starting address of the management network range.
2157
+ """
2158
+ return pulumi.get(self, "starting_address")
2159
+
2160
+ @starting_address.setter
2161
+ def starting_address(self, value: pulumi.Input[str]):
2162
+ pulumi.set(self, "starting_address", value)
2163
+
2164
+ @property
2165
+ @pulumi.getter(name="subnetMask")
2166
+ def subnet_mask(self) -> pulumi.Input[str]:
2167
+ """
2168
+ Subnet mask.
2169
+ """
2170
+ return pulumi.get(self, "subnet_mask")
2171
+
2172
+ @subnet_mask.setter
2173
+ def subnet_mask(self, value: pulumi.Input[str]):
2174
+ pulumi.set(self, "subnet_mask", value)
2175
+
2176
+
2177
+ if not MYPY:
2178
+ class SupervisorNamespaceArgsDict(TypedDict):
2179
+ name: pulumi.Input[str]
2180
+ """
2181
+ The name of the namespace.
2182
+ """
2183
+ content_libraries: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2184
+ """
2185
+ A list of content libraries.
2186
+ """
2187
+ vm_classes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2188
+ """
2189
+ A list of virtual machine classes.
2190
+ """
2191
+ elif False:
2192
+ SupervisorNamespaceArgsDict: TypeAlias = Mapping[str, Any]
2193
+
2194
+ @pulumi.input_type
2195
+ class SupervisorNamespaceArgs:
2196
+ def __init__(__self__, *,
2197
+ name: pulumi.Input[str],
2198
+ content_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2199
+ vm_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2200
+ """
2201
+ :param pulumi.Input[str] name: The name of the namespace.
2202
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] content_libraries: A list of content libraries.
2203
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vm_classes: A list of virtual machine classes.
2204
+ """
2205
+ pulumi.set(__self__, "name", name)
2206
+ if content_libraries is not None:
2207
+ pulumi.set(__self__, "content_libraries", content_libraries)
2208
+ if vm_classes is not None:
2209
+ pulumi.set(__self__, "vm_classes", vm_classes)
2210
+
2211
+ @property
2212
+ @pulumi.getter
2213
+ def name(self) -> pulumi.Input[str]:
2214
+ """
2215
+ The name of the namespace.
2216
+ """
2217
+ return pulumi.get(self, "name")
2218
+
2219
+ @name.setter
2220
+ def name(self, value: pulumi.Input[str]):
2221
+ pulumi.set(self, "name", value)
2222
+
2223
+ @property
2224
+ @pulumi.getter(name="contentLibraries")
2225
+ def content_libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2226
+ """
2227
+ A list of content libraries.
2228
+ """
2229
+ return pulumi.get(self, "content_libraries")
2230
+
2231
+ @content_libraries.setter
2232
+ def content_libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2233
+ pulumi.set(self, "content_libraries", value)
2234
+
2235
+ @property
2236
+ @pulumi.getter(name="vmClasses")
2237
+ def vm_classes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2238
+ """
2239
+ A list of virtual machine classes.
2240
+ """
2241
+ return pulumi.get(self, "vm_classes")
2242
+
2243
+ @vm_classes.setter
2244
+ def vm_classes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2245
+ pulumi.set(self, "vm_classes", value)
2246
+
2247
+
2248
+ if not MYPY:
2249
+ class SupervisorPodCidrArgsDict(TypedDict):
2250
+ address: pulumi.Input[str]
2251
+ """
2252
+ Network address.
2253
+ """
2254
+ prefix: pulumi.Input[int]
2255
+ """
2256
+ Subnet prefix.
2257
+ """
2258
+ elif False:
2259
+ SupervisorPodCidrArgsDict: TypeAlias = Mapping[str, Any]
2260
+
2261
+ @pulumi.input_type
2262
+ class SupervisorPodCidrArgs:
2263
+ def __init__(__self__, *,
2264
+ address: pulumi.Input[str],
2265
+ prefix: pulumi.Input[int]):
2266
+ """
2267
+ :param pulumi.Input[str] address: Network address.
2268
+ :param pulumi.Input[int] prefix: Subnet prefix.
2269
+ """
2270
+ pulumi.set(__self__, "address", address)
2271
+ pulumi.set(__self__, "prefix", prefix)
2272
+
2273
+ @property
2274
+ @pulumi.getter
2275
+ def address(self) -> pulumi.Input[str]:
2276
+ """
2277
+ Network address.
2278
+ """
2279
+ return pulumi.get(self, "address")
2280
+
2281
+ @address.setter
2282
+ def address(self, value: pulumi.Input[str]):
2283
+ pulumi.set(self, "address", value)
2284
+
2285
+ @property
2286
+ @pulumi.getter
2287
+ def prefix(self) -> pulumi.Input[int]:
2288
+ """
2289
+ Subnet prefix.
2290
+ """
2291
+ return pulumi.get(self, "prefix")
2292
+
2293
+ @prefix.setter
2294
+ def prefix(self, value: pulumi.Input[int]):
2295
+ pulumi.set(self, "prefix", value)
2296
+
2297
+
2298
+ if not MYPY:
2299
+ class SupervisorServiceCidrArgsDict(TypedDict):
2300
+ address: pulumi.Input[str]
2301
+ """
2302
+ Network address.
2303
+ """
2304
+ prefix: pulumi.Input[int]
2305
+ """
2306
+ Subnet prefix.
2307
+ """
2308
+ elif False:
2309
+ SupervisorServiceCidrArgsDict: TypeAlias = Mapping[str, Any]
2310
+
2311
+ @pulumi.input_type
2312
+ class SupervisorServiceCidrArgs:
2313
+ def __init__(__self__, *,
2314
+ address: pulumi.Input[str],
2315
+ prefix: pulumi.Input[int]):
2316
+ """
2317
+ :param pulumi.Input[str] address: Network address.
2318
+ :param pulumi.Input[int] prefix: Subnet prefix.
2319
+ """
2320
+ pulumi.set(__self__, "address", address)
2321
+ pulumi.set(__self__, "prefix", prefix)
2322
+
2323
+ @property
2324
+ @pulumi.getter
2325
+ def address(self) -> pulumi.Input[str]:
2326
+ """
2327
+ Network address.
2328
+ """
2329
+ return pulumi.get(self, "address")
2330
+
2331
+ @address.setter
2332
+ def address(self, value: pulumi.Input[str]):
2333
+ pulumi.set(self, "address", value)
2334
+
2335
+ @property
2336
+ @pulumi.getter
2337
+ def prefix(self) -> pulumi.Input[int]:
2338
+ """
2339
+ Subnet prefix.
2340
+ """
2341
+ return pulumi.get(self, "prefix")
2342
+
2343
+ @prefix.setter
2344
+ def prefix(self, value: pulumi.Input[int]):
2345
+ pulumi.set(self, "prefix", value)
2346
+
2347
+
2348
+ if not MYPY:
2349
+ class VirtualMachineCdromArgsDict(TypedDict):
2350
+ client_device: NotRequired[pulumi.Input[bool]]
2351
+ """
2352
+ Indicates whether the device should be mapped to a remote client device
2353
+ """
2354
+ datastore_id: NotRequired[pulumi.Input[str]]
2355
+ """
2356
+ The datastore ID the ISO is located on.
2357
+ """
2358
+ device_address: NotRequired[pulumi.Input[str]]
2359
+ """
2360
+ The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2361
+ """
2362
+ key: NotRequired[pulumi.Input[int]]
2363
+ """
2364
+ The ID of the device within the virtual machine.
2365
+ """
2366
+ path: NotRequired[pulumi.Input[str]]
2367
+ """
2368
+ The path to the ISO file on the datastore.
2369
+ """
2370
+ elif False:
2371
+ VirtualMachineCdromArgsDict: TypeAlias = Mapping[str, Any]
2372
+
1348
2373
  @pulumi.input_type
1349
2374
  class VirtualMachineCdromArgs:
1350
2375
  def __init__(__self__, *,
@@ -1354,15 +2379,11 @@ class VirtualMachineCdromArgs:
1354
2379
  key: Optional[pulumi.Input[int]] = None,
1355
2380
  path: Optional[pulumi.Input[str]] = None):
1356
2381
  """
1357
- :param pulumi.Input[bool] client_device: Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
1358
- :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2382
+ :param pulumi.Input[bool] client_device: Indicates whether the device should be mapped to a remote client device
2383
+ :param pulumi.Input[str] datastore_id: The datastore ID the ISO is located on.
1359
2384
  :param pulumi.Input[str] device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
1360
2385
  :param pulumi.Input[int] key: The ID of the device within the virtual machine.
1361
- :param pulumi.Input[str] path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1362
-
1363
- > **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 .
1364
-
1365
- > **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.
2386
+ :param pulumi.Input[str] path: The path to the ISO file on the datastore.
1366
2387
  """
1367
2388
  if client_device is not None:
1368
2389
  pulumi.set(__self__, "client_device", client_device)
@@ -1379,7 +2400,7 @@ class VirtualMachineCdromArgs:
1379
2400
  @pulumi.getter(name="clientDevice")
1380
2401
  def client_device(self) -> Optional[pulumi.Input[bool]]:
1381
2402
  """
1382
- Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`.
2403
+ Indicates whether the device should be mapped to a remote client device
1383
2404
  """
1384
2405
  return pulumi.get(self, "client_device")
1385
2406
 
@@ -1391,7 +2412,7 @@ class VirtualMachineCdromArgs:
1391
2412
  @pulumi.getter(name="datastoreId")
1392
2413
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
1393
2414
  """
1394
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
2415
+ The datastore ID the ISO is located on.
1395
2416
  """
1396
2417
  return pulumi.get(self, "datastore_id")
1397
2418
 
@@ -1427,11 +2448,7 @@ class VirtualMachineCdromArgs:
1427
2448
  @pulumi.getter
1428
2449
  def path(self) -> Optional[pulumi.Input[str]]:
1429
2450
  """
1430
- The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
1431
-
1432
- > **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 .
1433
-
1434
- > **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.
2451
+ The path to the ISO file on the datastore.
1435
2452
  """
1436
2453
  return pulumi.get(self, "path")
1437
2454
 
@@ -1440,6 +2457,39 @@ class VirtualMachineCdromArgs:
1440
2457
  pulumi.set(self, "path", value)
1441
2458
 
1442
2459
 
2460
+ if not MYPY:
2461
+ class VirtualMachineCloneArgsDict(TypedDict):
2462
+ template_uuid: pulumi.Input[str]
2463
+ """
2464
+ The UUID of the source virtual machine or template.
2465
+ """
2466
+ customization_spec: NotRequired[pulumi.Input['VirtualMachineCloneCustomizationSpecArgsDict']]
2467
+ """
2468
+ The customization specification for the virtual machine post-clone.
2469
+ """
2470
+ customize: NotRequired[pulumi.Input['VirtualMachineCloneCustomizeArgsDict']]
2471
+ """
2472
+ The customization specification for the virtual machine post-clone.
2473
+ """
2474
+ linked_clone: NotRequired[pulumi.Input[bool]]
2475
+ """
2476
+ Whether or not to create a linked clone when cloning. When this option is used, the source VM must have a single snapshot associated with it.
2477
+ """
2478
+ ovf_network_map: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
2479
+ """
2480
+ Mapping of ovf networks to the networks to use in vSphere.
2481
+ """
2482
+ ovf_storage_map: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
2483
+ """
2484
+ Mapping of ovf storage to the datastores to use in vSphere.
2485
+ """
2486
+ timeout: NotRequired[pulumi.Input[int]]
2487
+ """
2488
+ The timeout, in minutes, to wait for the virtual machine clone to complete.
2489
+ """
2490
+ elif False:
2491
+ VirtualMachineCloneArgsDict: TypeAlias = Mapping[str, Any]
2492
+
1443
2493
  @pulumi.input_type
1444
2494
  class VirtualMachineCloneArgs:
1445
2495
  def __init__(__self__, *,
@@ -1558,6 +2608,19 @@ class VirtualMachineCloneArgs:
1558
2608
  pulumi.set(self, "timeout", value)
1559
2609
 
1560
2610
 
2611
+ if not MYPY:
2612
+ class VirtualMachineCloneCustomizationSpecArgsDict(TypedDict):
2613
+ id: pulumi.Input[str]
2614
+ """
2615
+ The UUID of the virtual machine.
2616
+ """
2617
+ timeout: NotRequired[pulumi.Input[int]]
2618
+ """
2619
+ 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.
2620
+ """
2621
+ elif False:
2622
+ VirtualMachineCloneCustomizationSpecArgsDict: TypeAlias = Mapping[str, Any]
2623
+
1561
2624
  @pulumi.input_type
1562
2625
  class VirtualMachineCloneCustomizationSpecArgs:
1563
2626
  def __init__(__self__, *,
@@ -1596,6 +2659,47 @@ class VirtualMachineCloneCustomizationSpecArgs:
1596
2659
  pulumi.set(self, "timeout", value)
1597
2660
 
1598
2661
 
2662
+ if not MYPY:
2663
+ class VirtualMachineCloneCustomizeArgsDict(TypedDict):
2664
+ dns_server_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2665
+ """
2666
+ The list of DNS servers for a virtual network adapter with a static IP address.
2667
+ """
2668
+ dns_suffix_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2669
+ """
2670
+ A list of DNS search domains to add to the DNS configuration on the virtual machine.
2671
+ """
2672
+ ipv4_gateway: NotRequired[pulumi.Input[str]]
2673
+ """
2674
+ 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.
2675
+ """
2676
+ ipv6_gateway: NotRequired[pulumi.Input[str]]
2677
+ """
2678
+ 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.
2679
+ """
2680
+ linux_options: NotRequired[pulumi.Input['VirtualMachineCloneCustomizeLinuxOptionsArgsDict']]
2681
+ """
2682
+ A list of configuration options specific to Linux virtual machines.
2683
+ """
2684
+ network_interfaces: NotRequired[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgsDict']]]]
2685
+ """
2686
+ A specification of network interface configuration options.
2687
+ """
2688
+ timeout: NotRequired[pulumi.Input[int]]
2689
+ """
2690
+ 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.
2691
+ """
2692
+ windows_options: NotRequired[pulumi.Input['VirtualMachineCloneCustomizeWindowsOptionsArgsDict']]
2693
+ """
2694
+ A list of configuration options specific to Windows virtual machines.
2695
+ """
2696
+ windows_sysprep_text: NotRequired[pulumi.Input[str]]
2697
+ """
2698
+ Use this option to specify a windows sysprep file directly.
2699
+ """
2700
+ elif False:
2701
+ VirtualMachineCloneCustomizeArgsDict: TypeAlias = Mapping[str, Any]
2702
+
1599
2703
  @pulumi.input_type
1600
2704
  class VirtualMachineCloneCustomizeArgs:
1601
2705
  def __init__(__self__, *,
@@ -1614,7 +2718,7 @@ class VirtualMachineCloneCustomizeArgs:
1614
2718
  :param pulumi.Input[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.
1615
2719
  :param pulumi.Input[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.
1616
2720
  :param pulumi.Input['VirtualMachineCloneCustomizeLinuxOptionsArgs'] linux_options: A list of configuration options specific to Linux virtual machines.
1617
- :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2721
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]] network_interfaces: A specification of network interface configuration options.
1618
2722
  :param pulumi.Input[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.
1619
2723
  :param pulumi.Input['VirtualMachineCloneCustomizeWindowsOptionsArgs'] windows_options: A list of configuration options specific to Windows virtual machines.
1620
2724
  :param pulumi.Input[str] windows_sysprep_text: Use this option to specify a windows sysprep file directly.
@@ -1702,7 +2806,7 @@ class VirtualMachineCloneCustomizeArgs:
1702
2806
  @pulumi.getter(name="networkInterfaces")
1703
2807
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]]]:
1704
2808
  """
1705
- A specification for a virtual NIC on the virtual machine. See network interface options for more information.
2809
+ A specification of network interface configuration options.
1706
2810
  """
1707
2811
  return pulumi.get(self, "network_interfaces")
1708
2812
 
@@ -1738,14 +2842,39 @@ class VirtualMachineCloneCustomizeArgs:
1738
2842
  @pulumi.getter(name="windowsSysprepText")
1739
2843
  def windows_sysprep_text(self) -> Optional[pulumi.Input[str]]:
1740
2844
  """
1741
- Use this option to specify a windows sysprep file directly.
2845
+ Use this option to specify a windows sysprep file directly.
2846
+ """
2847
+ return pulumi.get(self, "windows_sysprep_text")
2848
+
2849
+ @windows_sysprep_text.setter
2850
+ def windows_sysprep_text(self, value: Optional[pulumi.Input[str]]):
2851
+ pulumi.set(self, "windows_sysprep_text", value)
2852
+
2853
+
2854
+ if not MYPY:
2855
+ class VirtualMachineCloneCustomizeLinuxOptionsArgsDict(TypedDict):
2856
+ domain: pulumi.Input[str]
2857
+ """
2858
+ The domain name for this virtual machine.
2859
+ """
2860
+ host_name: pulumi.Input[str]
2861
+ """
2862
+ The hostname for this virtual machine.
2863
+ """
2864
+ hw_clock_utc: NotRequired[pulumi.Input[bool]]
2865
+ """
2866
+ Specifies whether or not the hardware clock should be in UTC or not.
2867
+ """
2868
+ script_text: NotRequired[pulumi.Input[str]]
2869
+ """
2870
+ The customization script to run before and or after guest customization
2871
+ """
2872
+ time_zone: NotRequired[pulumi.Input[str]]
2873
+ """
2874
+ Customize the time zone on the VM. This should be a time zone-style entry, like America/Los_Angeles.
1742
2875
  """
1743
- return pulumi.get(self, "windows_sysprep_text")
1744
-
1745
- @windows_sysprep_text.setter
1746
- def windows_sysprep_text(self, value: Optional[pulumi.Input[str]]):
1747
- pulumi.set(self, "windows_sysprep_text", value)
1748
-
2876
+ elif False:
2877
+ VirtualMachineCloneCustomizeLinuxOptionsArgsDict: TypeAlias = Mapping[str, Any]
1749
2878
 
1750
2879
  @pulumi.input_type
1751
2880
  class VirtualMachineCloneCustomizeLinuxOptionsArgs:
@@ -1832,6 +2961,35 @@ class VirtualMachineCloneCustomizeLinuxOptionsArgs:
1832
2961
  pulumi.set(self, "time_zone", value)
1833
2962
 
1834
2963
 
2964
+ if not MYPY:
2965
+ class VirtualMachineCloneCustomizeNetworkInterfaceArgsDict(TypedDict):
2966
+ dns_domain: NotRequired[pulumi.Input[str]]
2967
+ """
2968
+ A DNS search domain to add to the DNS configuration on the virtual machine.
2969
+ """
2970
+ dns_server_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2971
+ """
2972
+ Network-interface specific DNS settings for Windows operating systems. Ignored on Linux.
2973
+ """
2974
+ ipv4_address: NotRequired[pulumi.Input[str]]
2975
+ """
2976
+ The IPv4 address assigned to this network adapter. If left blank, DHCP is used.
2977
+ """
2978
+ ipv4_netmask: NotRequired[pulumi.Input[int]]
2979
+ """
2980
+ The IPv4 CIDR netmask for the supplied IP address. Ignored if DHCP is selected.
2981
+ """
2982
+ ipv6_address: NotRequired[pulumi.Input[str]]
2983
+ """
2984
+ The IPv6 address assigned to this network adapter. If left blank, default auto-configuration is used.
2985
+ """
2986
+ ipv6_netmask: NotRequired[pulumi.Input[int]]
2987
+ """
2988
+ The IPv6 CIDR netmask for the supplied IP address. Ignored if auto-configuration is selected.
2989
+ """
2990
+ elif False:
2991
+ VirtualMachineCloneCustomizeNetworkInterfaceArgsDict: TypeAlias = Mapping[str, Any]
2992
+
1835
2993
  @pulumi.input_type
1836
2994
  class VirtualMachineCloneCustomizeNetworkInterfaceArgs:
1837
2995
  def __init__(__self__, *,
@@ -1935,6 +3093,67 @@ class VirtualMachineCloneCustomizeNetworkInterfaceArgs:
1935
3093
  pulumi.set(self, "ipv6_netmask", value)
1936
3094
 
1937
3095
 
3096
+ if not MYPY:
3097
+ class VirtualMachineCloneCustomizeWindowsOptionsArgsDict(TypedDict):
3098
+ computer_name: pulumi.Input[str]
3099
+ """
3100
+ The host name for this virtual machine.
3101
+ """
3102
+ admin_password: NotRequired[pulumi.Input[str]]
3103
+ """
3104
+ The new administrator password for this virtual machine.
3105
+ """
3106
+ auto_logon: NotRequired[pulumi.Input[bool]]
3107
+ """
3108
+ Specifies whether or not the VM automatically logs on as Administrator.
3109
+ """
3110
+ auto_logon_count: NotRequired[pulumi.Input[int]]
3111
+ """
3112
+ Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
3113
+ """
3114
+ domain_admin_password: NotRequired[pulumi.Input[str]]
3115
+ """
3116
+ The password of the domain administrator used to join this virtual machine to the domain.
3117
+ """
3118
+ domain_admin_user: NotRequired[pulumi.Input[str]]
3119
+ """
3120
+ The user account of the domain administrator used to join this virtual machine to the domain.
3121
+ """
3122
+ domain_ou: NotRequired[pulumi.Input[str]]
3123
+ """
3124
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3125
+ """
3126
+ full_name: NotRequired[pulumi.Input[str]]
3127
+ """
3128
+ The full name of the user of this virtual machine.
3129
+ """
3130
+ join_domain: NotRequired[pulumi.Input[str]]
3131
+ """
3132
+ The domain that the virtual machine should join.
3133
+ """
3134
+ organization_name: NotRequired[pulumi.Input[str]]
3135
+ """
3136
+ The organization name this virtual machine is being installed for.
3137
+ """
3138
+ product_key: NotRequired[pulumi.Input[str]]
3139
+ """
3140
+ The product key for this virtual machine.
3141
+ """
3142
+ run_once_command_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3143
+ """
3144
+ A list of commands to run at first user logon, after guest customization.
3145
+ """
3146
+ time_zone: NotRequired[pulumi.Input[int]]
3147
+ """
3148
+ The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
3149
+ """
3150
+ workgroup: NotRequired[pulumi.Input[str]]
3151
+ """
3152
+ The workgroup for this virtual machine if not joining a domain.
3153
+ """
3154
+ elif False:
3155
+ VirtualMachineCloneCustomizeWindowsOptionsArgsDict: TypeAlias = Mapping[str, Any]
3156
+
1938
3157
  @pulumi.input_type
1939
3158
  class VirtualMachineCloneCustomizeWindowsOptionsArgs:
1940
3159
  def __init__(__self__, *,
@@ -1944,6 +3163,7 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
1944
3163
  auto_logon_count: Optional[pulumi.Input[int]] = None,
1945
3164
  domain_admin_password: Optional[pulumi.Input[str]] = None,
1946
3165
  domain_admin_user: Optional[pulumi.Input[str]] = None,
3166
+ domain_ou: Optional[pulumi.Input[str]] = None,
1947
3167
  full_name: Optional[pulumi.Input[str]] = None,
1948
3168
  join_domain: Optional[pulumi.Input[str]] = None,
1949
3169
  organization_name: Optional[pulumi.Input[str]] = None,
@@ -1958,6 +3178,7 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
1958
3178
  :param pulumi.Input[int] auto_logon_count: Specifies how many times the VM should auto-logon the Administrator account when auto_logon is true.
1959
3179
  :param pulumi.Input[str] domain_admin_password: The password of the domain administrator used to join this virtual machine to the domain.
1960
3180
  :param pulumi.Input[str] domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
3181
+ :param pulumi.Input[str] domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
1961
3182
  :param pulumi.Input[str] full_name: The full name of the user of this virtual machine.
1962
3183
  :param pulumi.Input[str] join_domain: The domain that the virtual machine should join.
1963
3184
  :param pulumi.Input[str] organization_name: The organization name this virtual machine is being installed for.
@@ -1977,6 +3198,8 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
1977
3198
  pulumi.set(__self__, "domain_admin_password", domain_admin_password)
1978
3199
  if domain_admin_user is not None:
1979
3200
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
3201
+ if domain_ou is not None:
3202
+ pulumi.set(__self__, "domain_ou", domain_ou)
1980
3203
  if full_name is not None:
1981
3204
  pulumi.set(__self__, "full_name", full_name)
1982
3205
  if join_domain is not None:
@@ -2064,6 +3287,18 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
2064
3287
  def domain_admin_user(self, value: Optional[pulumi.Input[str]]):
2065
3288
  pulumi.set(self, "domain_admin_user", value)
2066
3289
 
3290
+ @property
3291
+ @pulumi.getter(name="domainOu")
3292
+ def domain_ou(self) -> Optional[pulumi.Input[str]]:
3293
+ """
3294
+ The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3295
+ """
3296
+ return pulumi.get(self, "domain_ou")
3297
+
3298
+ @domain_ou.setter
3299
+ def domain_ou(self, value: Optional[pulumi.Input[str]]):
3300
+ pulumi.set(self, "domain_ou", value)
3301
+
2067
3302
  @property
2068
3303
  @pulumi.getter(name="fullName")
2069
3304
  def full_name(self) -> Optional[pulumi.Input[str]]:
@@ -2149,6 +3384,95 @@ class VirtualMachineCloneCustomizeWindowsOptionsArgs:
2149
3384
  pulumi.set(self, "workgroup", value)
2150
3385
 
2151
3386
 
3387
+ if not MYPY:
3388
+ class VirtualMachineDiskArgsDict(TypedDict):
3389
+ label: pulumi.Input[str]
3390
+ """
3391
+ A unique label for this disk.
3392
+ """
3393
+ attach: NotRequired[pulumi.Input[bool]]
3394
+ """
3395
+ If this is true, the disk is attached instead of created. Implies keep_on_remove.
3396
+ """
3397
+ controller_type: NotRequired[pulumi.Input[str]]
3398
+ """
3399
+ The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
3400
+ """
3401
+ datastore_id: NotRequired[pulumi.Input[str]]
3402
+ """
3403
+ The datastore ID for this virtual disk, if different than the virtual machine.
3404
+ """
3405
+ device_address: NotRequired[pulumi.Input[str]]
3406
+ """
3407
+ The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
3408
+ """
3409
+ disk_mode: NotRequired[pulumi.Input[str]]
3410
+ """
3411
+ 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.
3412
+ """
3413
+ disk_sharing: NotRequired[pulumi.Input[str]]
3414
+ """
3415
+ The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
3416
+ """
3417
+ eagerly_scrub: NotRequired[pulumi.Input[bool]]
3418
+ """
3419
+ 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.
3420
+ """
3421
+ io_limit: NotRequired[pulumi.Input[int]]
3422
+ """
3423
+ The upper limit of IOPS that this disk can use.
3424
+ """
3425
+ io_reservation: NotRequired[pulumi.Input[int]]
3426
+ """
3427
+ The I/O guarantee that this disk has, in IOPS.
3428
+ """
3429
+ io_share_count: NotRequired[pulumi.Input[int]]
3430
+ """
3431
+ The share count for this disk when the share level is custom.
3432
+ """
3433
+ io_share_level: NotRequired[pulumi.Input[str]]
3434
+ """
3435
+ The share allocation level for this disk. Can be one of low, normal, high, or custom.
3436
+ """
3437
+ keep_on_remove: NotRequired[pulumi.Input[bool]]
3438
+ """
3439
+ Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
3440
+ """
3441
+ key: NotRequired[pulumi.Input[int]]
3442
+ """
3443
+ The ID of the device within the virtual machine.
3444
+ """
3445
+ path: NotRequired[pulumi.Input[str]]
3446
+ """
3447
+ 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.
3448
+ """
3449
+ size: NotRequired[pulumi.Input[int]]
3450
+ """
3451
+ The size of the disk, in GB.
3452
+ """
3453
+ storage_policy_id: NotRequired[pulumi.Input[str]]
3454
+ """
3455
+ The ID of the storage policy to assign to the virtual disk in VM.
3456
+ """
3457
+ thin_provisioned: NotRequired[pulumi.Input[bool]]
3458
+ """
3459
+ If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
3460
+ """
3461
+ unit_number: NotRequired[pulumi.Input[int]]
3462
+ """
3463
+ The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
3464
+ """
3465
+ uuid: NotRequired[pulumi.Input[str]]
3466
+ """
3467
+ The UUID of the virtual machine. Also exposed as the `id` of the resource.
3468
+ """
3469
+ write_through: NotRequired[pulumi.Input[bool]]
3470
+ """
3471
+ If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
3472
+ """
3473
+ elif False:
3474
+ VirtualMachineDiskArgsDict: TypeAlias = Mapping[str, Any]
3475
+
2152
3476
  @pulumi.input_type
2153
3477
  class VirtualMachineDiskArgs:
2154
3478
  def __init__(__self__, *,
@@ -2175,36 +3499,26 @@ class VirtualMachineDiskArgs:
2175
3499
  write_through: Optional[pulumi.Input[bool]] = None):
2176
3500
  """
2177
3501
  :param pulumi.Input[str] label: A unique label for this disk.
2178
- :param pulumi.Input[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.
2179
-
2180
- > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used.
2181
- :param pulumi.Input[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`.
2182
- :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
3502
+ :param pulumi.Input[bool] attach: If this is true, the disk is attached instead of created. Implies keep_on_remove.
3503
+ :param pulumi.Input[str] controller_type: The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
3504
+ :param pulumi.Input[str] datastore_id: The datastore ID for this virtual disk, if different than the virtual machine.
2183
3505
  :param pulumi.Input[str] device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2184
- :param pulumi.Input[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].
2185
-
2186
- [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
2187
- :param pulumi.Input[str] disk_sharing: The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2188
-
2189
- > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
2190
- :param pulumi.Input[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`.
2191
- :param pulumi.Input[int] io_limit: The upper limit of IOPS that this disk can use. The default is no limit.
2192
- :param pulumi.Input[int] io_reservation: The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
2193
- :param pulumi.Input[int] io_share_count: The share count for the virtual disk when the share level is `custom`.
2194
- :param pulumi.Input[str] io_share_level: The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2195
- :param pulumi.Input[bool] keep_on_remove: Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
3506
+ :param pulumi.Input[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.
3507
+ :param pulumi.Input[str] disk_sharing: The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
3508
+ :param pulumi.Input[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.
3509
+ :param pulumi.Input[int] io_limit: The upper limit of IOPS that this disk can use.
3510
+ :param pulumi.Input[int] io_reservation: The I/O guarantee that this disk has, in IOPS.
3511
+ :param pulumi.Input[int] io_share_count: The share count for this disk when the share level is custom.
3512
+ :param pulumi.Input[str] io_share_level: The share allocation level for this disk. Can be one of low, normal, high, or custom.
3513
+ :param pulumi.Input[bool] keep_on_remove: Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2196
3514
  :param pulumi.Input[int] key: The ID of the device within the virtual machine.
2197
- :param pulumi.Input[str] path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2198
-
2199
- > **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 .
2200
-
2201
- > **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.
2202
- :param pulumi.Input[int] size: The size of the disk, in GB. Must be a whole number.
2203
- :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk.
2204
- :param pulumi.Input[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`.
2205
- :param pulumi.Input[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.
2206
- :param pulumi.Input[str] uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
2207
- :param pulumi.Input[bool] write_through: If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
3515
+ :param pulumi.Input[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.
3516
+ :param pulumi.Input[int] size: The size of the disk, in GB.
3517
+ :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the virtual disk in VM.
3518
+ :param pulumi.Input[bool] thin_provisioned: If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
3519
+ :param pulumi.Input[int] unit_number: The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
3520
+ :param pulumi.Input[str] uuid: The UUID of the virtual machine. Also exposed as the `id` of the resource.
3521
+ :param pulumi.Input[bool] write_through: If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2208
3522
  """
2209
3523
  pulumi.set(__self__, "label", label)
2210
3524
  if attach is not None:
@@ -2264,9 +3578,7 @@ class VirtualMachineDiskArgs:
2264
3578
  @pulumi.getter
2265
3579
  def attach(self) -> Optional[pulumi.Input[bool]]:
2266
3580
  """
2267
- 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.
3581
+ If this is true, the disk is attached instead of created. Implies keep_on_remove.
2270
3582
  """
2271
3583
  return pulumi.get(self, "attach")
2272
3584
 
@@ -2278,7 +3590,7 @@ class VirtualMachineDiskArgs:
2278
3590
  @pulumi.getter(name="controllerType")
2279
3591
  def controller_type(self) -> Optional[pulumi.Input[str]]:
2280
3592
  """
2281
- 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`.
3593
+ The type of controller the disk should be connected to. Must be 'scsi', 'sata', or 'ide'.
2282
3594
  """
2283
3595
  return pulumi.get(self, "controller_type")
2284
3596
 
@@ -2290,7 +3602,7 @@ class VirtualMachineDiskArgs:
2290
3602
  @pulumi.getter(name="datastoreId")
2291
3603
  def datastore_id(self) -> Optional[pulumi.Input[str]]:
2292
3604
  """
2293
- The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.
3605
+ The datastore ID for this virtual disk, if different than the virtual machine.
2294
3606
  """
2295
3607
  return pulumi.get(self, "datastore_id")
2296
3608
 
@@ -2314,9 +3626,7 @@ class VirtualMachineDiskArgs:
2314
3626
  @pulumi.getter(name="diskMode")
2315
3627
  def disk_mode(self) -> Optional[pulumi.Input[str]]:
2316
3628
  """
2317
- 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].
2318
-
2319
- [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
3629
+ 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.
2320
3630
  """
2321
3631
  return pulumi.get(self, "disk_mode")
2322
3632
 
@@ -2328,9 +3638,7 @@ class VirtualMachineDiskArgs:
2328
3638
  @pulumi.getter(name="diskSharing")
2329
3639
  def disk_sharing(self) -> Optional[pulumi.Input[str]]:
2330
3640
  """
2331
- The sharing mode of this virtual disk. One of `sharingMultiWriter` or `sharingNone`. Default: `sharingNone`.
2332
-
2333
- > **NOTE:** Disk sharing is only available on vSphere 6.0 and later.
3641
+ The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
2334
3642
  """
2335
3643
  return pulumi.get(self, "disk_sharing")
2336
3644
 
@@ -2342,7 +3650,7 @@ class VirtualMachineDiskArgs:
2342
3650
  @pulumi.getter(name="eagerlyScrub")
2343
3651
  def eagerly_scrub(self) -> Optional[pulumi.Input[bool]]:
2344
3652
  """
2345
- 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`.
3653
+ 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.
2346
3654
  """
2347
3655
  return pulumi.get(self, "eagerly_scrub")
2348
3656
 
@@ -2354,7 +3662,7 @@ class VirtualMachineDiskArgs:
2354
3662
  @pulumi.getter(name="ioLimit")
2355
3663
  def io_limit(self) -> Optional[pulumi.Input[int]]:
2356
3664
  """
2357
- The upper limit of IOPS that this disk can use. The default is no limit.
3665
+ The upper limit of IOPS that this disk can use.
2358
3666
  """
2359
3667
  return pulumi.get(self, "io_limit")
2360
3668
 
@@ -2366,7 +3674,7 @@ class VirtualMachineDiskArgs:
2366
3674
  @pulumi.getter(name="ioReservation")
2367
3675
  def io_reservation(self) -> Optional[pulumi.Input[int]]:
2368
3676
  """
2369
- The I/O reservation (guarantee) for the virtual disk has, in IOPS. The default is no reservation.
3677
+ The I/O guarantee that this disk has, in IOPS.
2370
3678
  """
2371
3679
  return pulumi.get(self, "io_reservation")
2372
3680
 
@@ -2378,7 +3686,7 @@ class VirtualMachineDiskArgs:
2378
3686
  @pulumi.getter(name="ioShareCount")
2379
3687
  def io_share_count(self) -> Optional[pulumi.Input[int]]:
2380
3688
  """
2381
- The share count for the virtual disk when the share level is `custom`.
3689
+ The share count for this disk when the share level is custom.
2382
3690
  """
2383
3691
  return pulumi.get(self, "io_share_count")
2384
3692
 
@@ -2390,7 +3698,7 @@ class VirtualMachineDiskArgs:
2390
3698
  @pulumi.getter(name="ioShareLevel")
2391
3699
  def io_share_level(self) -> Optional[pulumi.Input[str]]:
2392
3700
  """
2393
- The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
3701
+ The share allocation level for this disk. Can be one of low, normal, high, or custom.
2394
3702
  """
2395
3703
  return pulumi.get(self, "io_share_level")
2396
3704
 
@@ -2402,7 +3710,7 @@ class VirtualMachineDiskArgs:
2402
3710
  @pulumi.getter(name="keepOnRemove")
2403
3711
  def keep_on_remove(self) -> Optional[pulumi.Input[bool]]:
2404
3712
  """
2405
- Keep this disk when removing the device or destroying the virtual machine. Default: `false`.
3713
+ Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
2406
3714
  """
2407
3715
  return pulumi.get(self, "keep_on_remove")
2408
3716
 
@@ -2426,11 +3734,7 @@ class VirtualMachineDiskArgs:
2426
3734
  @pulumi.getter
2427
3735
  def path(self) -> Optional[pulumi.Input[str]]:
2428
3736
  """
2429
- The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.
2430
-
2431
- > **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 .
2432
-
2433
- > **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.
3737
+ 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.
2434
3738
  """
2435
3739
  return pulumi.get(self, "path")
2436
3740
 
@@ -2442,7 +3746,7 @@ class VirtualMachineDiskArgs:
2442
3746
  @pulumi.getter
2443
3747
  def size(self) -> Optional[pulumi.Input[int]]:
2444
3748
  """
2445
- The size of the disk, in GB. Must be a whole number.
3749
+ The size of the disk, in GB.
2446
3750
  """
2447
3751
  return pulumi.get(self, "size")
2448
3752
 
@@ -2454,7 +3758,7 @@ class VirtualMachineDiskArgs:
2454
3758
  @pulumi.getter(name="storagePolicyId")
2455
3759
  def storage_policy_id(self) -> Optional[pulumi.Input[str]]:
2456
3760
  """
2457
- The UUID of the storage policy to assign to the virtual disk.
3761
+ The ID of the storage policy to assign to the virtual disk in VM.
2458
3762
  """
2459
3763
  return pulumi.get(self, "storage_policy_id")
2460
3764
 
@@ -2466,7 +3770,7 @@ class VirtualMachineDiskArgs:
2466
3770
  @pulumi.getter(name="thinProvisioned")
2467
3771
  def thin_provisioned(self) -> Optional[pulumi.Input[bool]]:
2468
3772
  """
2469
- 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`.
3773
+ If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
2470
3774
  """
2471
3775
  return pulumi.get(self, "thin_provisioned")
2472
3776
 
@@ -2478,7 +3782,7 @@ class VirtualMachineDiskArgs:
2478
3782
  @pulumi.getter(name="unitNumber")
2479
3783
  def unit_number(self) -> Optional[pulumi.Input[int]]:
2480
3784
  """
2481
- 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.
3785
+ The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
2482
3786
  """
2483
3787
  return pulumi.get(self, "unit_number")
2484
3788
 
@@ -2490,7 +3794,7 @@ class VirtualMachineDiskArgs:
2490
3794
  @pulumi.getter
2491
3795
  def uuid(self) -> Optional[pulumi.Input[str]]:
2492
3796
  """
2493
- The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine.
3797
+ The UUID of the virtual machine. Also exposed as the `id` of the resource.
2494
3798
  """
2495
3799
  return pulumi.get(self, "uuid")
2496
3800
 
@@ -2502,7 +3806,7 @@ class VirtualMachineDiskArgs:
2502
3806
  @pulumi.getter(name="writeThrough")
2503
3807
  def write_through(self) -> Optional[pulumi.Input[bool]]:
2504
3808
  """
2505
- If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`.
3809
+ If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
2506
3810
  """
2507
3811
  return pulumi.get(self, "write_through")
2508
3812
 
@@ -2511,6 +3815,59 @@ class VirtualMachineDiskArgs:
2511
3815
  pulumi.set(self, "write_through", value)
2512
3816
 
2513
3817
 
3818
+ if not MYPY:
3819
+ class VirtualMachineNetworkInterfaceArgsDict(TypedDict):
3820
+ network_id: pulumi.Input[str]
3821
+ """
3822
+ The ID of the network to connect this network interface to.
3823
+ """
3824
+ adapter_type: NotRequired[pulumi.Input[str]]
3825
+ """
3826
+ The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
3827
+ """
3828
+ bandwidth_limit: NotRequired[pulumi.Input[int]]
3829
+ """
3830
+ The upper bandwidth limit of this network interface, in Mbits/sec.
3831
+ """
3832
+ bandwidth_reservation: NotRequired[pulumi.Input[int]]
3833
+ """
3834
+ The bandwidth reservation of this network interface, in Mbits/sec.
3835
+ """
3836
+ bandwidth_share_count: NotRequired[pulumi.Input[int]]
3837
+ """
3838
+ The share count for this network interface when the share level is custom.
3839
+ """
3840
+ bandwidth_share_level: NotRequired[pulumi.Input[str]]
3841
+ """
3842
+ The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
3843
+ """
3844
+ device_address: NotRequired[pulumi.Input[str]]
3845
+ """
3846
+ The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
3847
+ """
3848
+ key: NotRequired[pulumi.Input[int]]
3849
+ """
3850
+ The ID of the device within the virtual machine.
3851
+ """
3852
+ mac_address: NotRequired[pulumi.Input[str]]
3853
+ """
3854
+ The MAC address of this network interface. Can only be manually set if use_static_mac is true.
3855
+ """
3856
+ ovf_mapping: NotRequired[pulumi.Input[str]]
3857
+ """
3858
+ Mapping of network interface to OVF network.
3859
+ """
3860
+ physical_function: NotRequired[pulumi.Input[str]]
3861
+ """
3862
+ The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
3863
+ """
3864
+ use_static_mac: NotRequired[pulumi.Input[bool]]
3865
+ """
3866
+ If true, the mac_address field is treated as a static MAC address and set accordingly.
3867
+ """
3868
+ elif False:
3869
+ VirtualMachineNetworkInterfaceArgsDict: TypeAlias = Mapping[str, Any]
3870
+
2514
3871
  @pulumi.input_type
2515
3872
  class VirtualMachineNetworkInterfaceArgs:
2516
3873
  def __init__(__self__, *,
@@ -2527,18 +3884,18 @@ class VirtualMachineNetworkInterfaceArgs:
2527
3884
  physical_function: Optional[pulumi.Input[str]] = None,
2528
3885
  use_static_mac: Optional[pulumi.Input[bool]] = None):
2529
3886
  """
2530
- :param pulumi.Input[str] network_id: The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
2531
- :param pulumi.Input[str] adapter_type: The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2532
- :param pulumi.Input[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`.
2533
- :param pulumi.Input[int] bandwidth_reservation: The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
2534
- :param pulumi.Input[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`.
2535
- :param pulumi.Input[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`.
3887
+ :param pulumi.Input[str] network_id: The ID of the network to connect this network interface to.
3888
+ :param pulumi.Input[str] adapter_type: The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
3889
+ :param pulumi.Input[int] bandwidth_limit: The upper bandwidth limit of this network interface, in Mbits/sec.
3890
+ :param pulumi.Input[int] bandwidth_reservation: The bandwidth reservation of this network interface, in Mbits/sec.
3891
+ :param pulumi.Input[int] bandwidth_share_count: The share count for this network interface when the share level is custom.
3892
+ :param pulumi.Input[str] bandwidth_share_level: The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2536
3893
  :param pulumi.Input[str] device_address: The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
2537
3894
  :param pulumi.Input[int] key: The ID of the device within the virtual machine.
2538
- :param pulumi.Input[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.
2539
- :param pulumi.Input[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.
3895
+ :param pulumi.Input[str] mac_address: The MAC address of this network interface. Can only be manually set if use_static_mac is true.
3896
+ :param pulumi.Input[str] ovf_mapping: Mapping of network interface to OVF network.
2540
3897
  :param pulumi.Input[str] physical_function: The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
2541
- :param pulumi.Input[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`.
3898
+ :param pulumi.Input[bool] use_static_mac: If true, the mac_address field is treated as a static MAC address and set accordingly.
2542
3899
  """
2543
3900
  pulumi.set(__self__, "network_id", network_id)
2544
3901
  if adapter_type is not None:
@@ -2568,7 +3925,7 @@ class VirtualMachineNetworkInterfaceArgs:
2568
3925
  @pulumi.getter(name="networkId")
2569
3926
  def network_id(self) -> pulumi.Input[str]:
2570
3927
  """
2571
- The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
3928
+ The ID of the network to connect this network interface to.
2572
3929
  """
2573
3930
  return pulumi.get(self, "network_id")
2574
3931
 
@@ -2580,7 +3937,7 @@ class VirtualMachineNetworkInterfaceArgs:
2580
3937
  @pulumi.getter(name="adapterType")
2581
3938
  def adapter_type(self) -> Optional[pulumi.Input[str]]:
2582
3939
  """
2583
- The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
3940
+ The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
2584
3941
  """
2585
3942
  return pulumi.get(self, "adapter_type")
2586
3943
 
@@ -2592,7 +3949,7 @@ class VirtualMachineNetworkInterfaceArgs:
2592
3949
  @pulumi.getter(name="bandwidthLimit")
2593
3950
  def bandwidth_limit(self) -> Optional[pulumi.Input[int]]:
2594
3951
  """
2595
- The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
3952
+ The upper bandwidth limit of this network interface, in Mbits/sec.
2596
3953
  """
2597
3954
  return pulumi.get(self, "bandwidth_limit")
2598
3955
 
@@ -2604,7 +3961,7 @@ class VirtualMachineNetworkInterfaceArgs:
2604
3961
  @pulumi.getter(name="bandwidthReservation")
2605
3962
  def bandwidth_reservation(self) -> Optional[pulumi.Input[int]]:
2606
3963
  """
2607
- The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
3964
+ The bandwidth reservation of this network interface, in Mbits/sec.
2608
3965
  """
2609
3966
  return pulumi.get(self, "bandwidth_reservation")
2610
3967
 
@@ -2616,7 +3973,7 @@ class VirtualMachineNetworkInterfaceArgs:
2616
3973
  @pulumi.getter(name="bandwidthShareCount")
2617
3974
  def bandwidth_share_count(self) -> Optional[pulumi.Input[int]]:
2618
3975
  """
2619
- The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
3976
+ The share count for this network interface when the share level is custom.
2620
3977
  """
2621
3978
  return pulumi.get(self, "bandwidth_share_count")
2622
3979
 
@@ -2628,7 +3985,7 @@ class VirtualMachineNetworkInterfaceArgs:
2628
3985
  @pulumi.getter(name="bandwidthShareLevel")
2629
3986
  def bandwidth_share_level(self) -> Optional[pulumi.Input[str]]:
2630
3987
  """
2631
- 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`.
3988
+ The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
2632
3989
  """
2633
3990
  return pulumi.get(self, "bandwidth_share_level")
2634
3991
 
@@ -2664,7 +4021,7 @@ class VirtualMachineNetworkInterfaceArgs:
2664
4021
  @pulumi.getter(name="macAddress")
2665
4022
  def mac_address(self) -> Optional[pulumi.Input[str]]:
2666
4023
  """
2667
- 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.
4024
+ The MAC address of this network interface. Can only be manually set if use_static_mac is true.
2668
4025
  """
2669
4026
  return pulumi.get(self, "mac_address")
2670
4027
 
@@ -2676,7 +4033,7 @@ class VirtualMachineNetworkInterfaceArgs:
2676
4033
  @pulumi.getter(name="ovfMapping")
2677
4034
  def ovf_mapping(self) -> Optional[pulumi.Input[str]]:
2678
4035
  """
2679
- Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
4036
+ Mapping of network interface to OVF network.
2680
4037
  """
2681
4038
  return pulumi.get(self, "ovf_mapping")
2682
4039
 
@@ -2700,7 +4057,7 @@ class VirtualMachineNetworkInterfaceArgs:
2700
4057
  @pulumi.getter(name="useStaticMac")
2701
4058
  def use_static_mac(self) -> Optional[pulumi.Input[bool]]:
2702
4059
  """
2703
- 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`.
4060
+ If true, the mac_address field is treated as a static MAC address and set accordingly.
2704
4061
  """
2705
4062
  return pulumi.get(self, "use_static_mac")
2706
4063
 
@@ -2709,6 +4066,47 @@ class VirtualMachineNetworkInterfaceArgs:
2709
4066
  pulumi.set(self, "use_static_mac", value)
2710
4067
 
2711
4068
 
4069
+ if not MYPY:
4070
+ class VirtualMachineOvfDeployArgsDict(TypedDict):
4071
+ allow_unverified_ssl_cert: NotRequired[pulumi.Input[bool]]
4072
+ """
4073
+ Allow unverified ssl certificates while deploying ovf/ova from url.
4074
+ """
4075
+ deployment_option: NotRequired[pulumi.Input[str]]
4076
+ """
4077
+ The Deployment option to be chosen. If empty, the default option is used.
4078
+ """
4079
+ disk_provisioning: NotRequired[pulumi.Input[str]]
4080
+ """
4081
+ An optional disk provisioning. If set, all the disks in the deployed ovf will have the same specified disk type (e.g., thin provisioned).
4082
+ """
4083
+ enable_hidden_properties: NotRequired[pulumi.Input[bool]]
4084
+ """
4085
+ Allow properties with ovf:userConfigurable=false to be set.
4086
+ """
4087
+ ip_allocation_policy: NotRequired[pulumi.Input[str]]
4088
+ """
4089
+ The IP allocation policy.
4090
+ """
4091
+ ip_protocol: NotRequired[pulumi.Input[str]]
4092
+ """
4093
+ The IP protocol.
4094
+ """
4095
+ local_ovf_path: NotRequired[pulumi.Input[str]]
4096
+ """
4097
+ The absolute path to the ovf/ova file in the local system.
4098
+ """
4099
+ ovf_network_map: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
4100
+ """
4101
+ The mapping of name of network identifiers from the ovf descriptor to network UUID in the VI infrastructure.
4102
+ """
4103
+ remote_ovf_url: NotRequired[pulumi.Input[str]]
4104
+ """
4105
+ URL to the remote ovf/ova file to be deployed.
4106
+ """
4107
+ elif False:
4108
+ VirtualMachineOvfDeployArgsDict: TypeAlias = Mapping[str, Any]
4109
+
2712
4110
  @pulumi.input_type
2713
4111
  class VirtualMachineOvfDeployArgs:
2714
4112
  def __init__(__self__, *,
@@ -2860,6 +4258,15 @@ class VirtualMachineOvfDeployArgs:
2860
4258
  pulumi.set(self, "remote_ovf_url", value)
2861
4259
 
2862
4260
 
4261
+ if not MYPY:
4262
+ class VirtualMachineVappArgsDict(TypedDict):
4263
+ properties: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
4264
+ """
4265
+ A map of customizable vApp properties and their values. Allows customization of VMs cloned from OVF templates which have customizable vApp properties.
4266
+ """
4267
+ elif False:
4268
+ VirtualMachineVappArgsDict: TypeAlias = Mapping[str, Any]
4269
+
2863
4270
  @pulumi.input_type
2864
4271
  class VirtualMachineVappArgs:
2865
4272
  def __init__(__self__, *,
@@ -2883,6 +4290,55 @@ class VirtualMachineVappArgs:
2883
4290
  pulumi.set(self, "properties", value)
2884
4291
 
2885
4292
 
4293
+ if not MYPY:
4294
+ class VirtualMachineVtpmArgsDict(TypedDict):
4295
+ version: NotRequired[pulumi.Input[str]]
4296
+ """
4297
+ The version of the TPM device. Default is 2.0.
4298
+ """
4299
+ elif False:
4300
+ VirtualMachineVtpmArgsDict: TypeAlias = Mapping[str, Any]
4301
+
4302
+ @pulumi.input_type
4303
+ class VirtualMachineVtpmArgs:
4304
+ def __init__(__self__, *,
4305
+ version: Optional[pulumi.Input[str]] = None):
4306
+ """
4307
+ :param pulumi.Input[str] version: The version of the TPM device. Default is 2.0.
4308
+ """
4309
+ if version is not None:
4310
+ pulumi.set(__self__, "version", version)
4311
+
4312
+ @property
4313
+ @pulumi.getter
4314
+ def version(self) -> Optional[pulumi.Input[str]]:
4315
+ """
4316
+ The version of the TPM device. Default is 2.0.
4317
+ """
4318
+ return pulumi.get(self, "version")
4319
+
4320
+ @version.setter
4321
+ def version(self, value: Optional[pulumi.Input[str]]):
4322
+ pulumi.set(self, "version", value)
4323
+
4324
+
4325
+ if not MYPY:
4326
+ class VmStoragePolicyTagRuleArgsDict(TypedDict):
4327
+ tag_category: pulumi.Input[str]
4328
+ """
4329
+ Name of the tag category.
4330
+ """
4331
+ tags: pulumi.Input[Sequence[pulumi.Input[str]]]
4332
+ """
4333
+ List of Name of tags to select from the given category.
4334
+ """
4335
+ include_datastores_with_tags: NotRequired[pulumi.Input[bool]]
4336
+ """
4337
+ Include datastores with the given tags or exclude. Default `true`.
4338
+ """
4339
+ elif False:
4340
+ VmStoragePolicyTagRuleArgsDict: TypeAlias = Mapping[str, Any]
4341
+
2886
4342
  @pulumi.input_type
2887
4343
  class VmStoragePolicyTagRuleArgs:
2888
4344
  def __init__(__self__, *,
@@ -2936,6 +4392,27 @@ class VmStoragePolicyTagRuleArgs:
2936
4392
  pulumi.set(self, "include_datastores_with_tags", value)
2937
4393
 
2938
4394
 
4395
+ if not MYPY:
4396
+ class VnicIpv4ArgsDict(TypedDict):
4397
+ dhcp: NotRequired[pulumi.Input[bool]]
4398
+ """
4399
+ Use DHCP to configure the interface's IPv4 stack.
4400
+ """
4401
+ gw: NotRequired[pulumi.Input[str]]
4402
+ """
4403
+ IP address of the default gateway, if DHCP is not set.
4404
+ """
4405
+ ip: NotRequired[pulumi.Input[str]]
4406
+ """
4407
+ address of the interface, if DHCP is not set.
4408
+ """
4409
+ netmask: NotRequired[pulumi.Input[str]]
4410
+ """
4411
+ netmask of the interface, if DHCP is not set.
4412
+ """
4413
+ elif False:
4414
+ VnicIpv4ArgsDict: TypeAlias = Mapping[str, Any]
4415
+
2939
4416
  @pulumi.input_type
2940
4417
  class VnicIpv4Args:
2941
4418
  def __init__(__self__, *,
@@ -2944,10 +4421,10 @@ class VnicIpv4Args:
2944
4421
  ip: Optional[pulumi.Input[str]] = None,
2945
4422
  netmask: Optional[pulumi.Input[str]] = None):
2946
4423
  """
2947
- :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv6 stack.
2948
- :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP or autoconfig is not set.
2949
- :param pulumi.Input[str] ip: Address of the interface, if DHCP is not set.
2950
- :param pulumi.Input[str] netmask: Netmask of the interface, if DHCP is not set.
4424
+ :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv4 stack.
4425
+ :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP is not set.
4426
+ :param pulumi.Input[str] ip: address of the interface, if DHCP is not set.
4427
+ :param pulumi.Input[str] netmask: netmask of the interface, if DHCP is not set.
2951
4428
  """
2952
4429
  if dhcp is not None:
2953
4430
  pulumi.set(__self__, "dhcp", dhcp)
@@ -2962,7 +4439,7 @@ class VnicIpv4Args:
2962
4439
  @pulumi.getter
2963
4440
  def dhcp(self) -> Optional[pulumi.Input[bool]]:
2964
4441
  """
2965
- Use DHCP to configure the interface's IPv6 stack.
4442
+ Use DHCP to configure the interface's IPv4 stack.
2966
4443
  """
2967
4444
  return pulumi.get(self, "dhcp")
2968
4445
 
@@ -2974,7 +4451,7 @@ class VnicIpv4Args:
2974
4451
  @pulumi.getter
2975
4452
  def gw(self) -> Optional[pulumi.Input[str]]:
2976
4453
  """
2977
- IP address of the default gateway, if DHCP or autoconfig is not set.
4454
+ IP address of the default gateway, if DHCP is not set.
2978
4455
  """
2979
4456
  return pulumi.get(self, "gw")
2980
4457
 
@@ -2986,7 +4463,7 @@ class VnicIpv4Args:
2986
4463
  @pulumi.getter
2987
4464
  def ip(self) -> Optional[pulumi.Input[str]]:
2988
4465
  """
2989
- Address of the interface, if DHCP is not set.
4466
+ address of the interface, if DHCP is not set.
2990
4467
  """
2991
4468
  return pulumi.get(self, "ip")
2992
4469
 
@@ -2998,7 +4475,7 @@ class VnicIpv4Args:
2998
4475
  @pulumi.getter
2999
4476
  def netmask(self) -> Optional[pulumi.Input[str]]:
3000
4477
  """
3001
- Netmask of the interface, if DHCP is not set.
4478
+ netmask of the interface, if DHCP is not set.
3002
4479
  """
3003
4480
  return pulumi.get(self, "netmask")
3004
4481
 
@@ -3007,6 +4484,27 @@ class VnicIpv4Args:
3007
4484
  pulumi.set(self, "netmask", value)
3008
4485
 
3009
4486
 
4487
+ if not MYPY:
4488
+ class VnicIpv6ArgsDict(TypedDict):
4489
+ addresses: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4490
+ """
4491
+ List of IPv6 addresses
4492
+ """
4493
+ autoconfig: NotRequired[pulumi.Input[bool]]
4494
+ """
4495
+ Use IPv6 Autoconfiguration (RFC2462).
4496
+ """
4497
+ dhcp: NotRequired[pulumi.Input[bool]]
4498
+ """
4499
+ Use DHCP to configure the interface's IPv4 stack.
4500
+ """
4501
+ gw: NotRequired[pulumi.Input[str]]
4502
+ """
4503
+ IP address of the default gateway, if DHCP or autoconfig is not set.
4504
+ """
4505
+ elif False:
4506
+ VnicIpv6ArgsDict: TypeAlias = Mapping[str, Any]
4507
+
3010
4508
  @pulumi.input_type
3011
4509
  class VnicIpv6Args:
3012
4510
  def __init__(__self__, *,
@@ -3017,7 +4515,7 @@ class VnicIpv6Args:
3017
4515
  """
3018
4516
  :param pulumi.Input[Sequence[pulumi.Input[str]]] addresses: List of IPv6 addresses
3019
4517
  :param pulumi.Input[bool] autoconfig: Use IPv6 Autoconfiguration (RFC2462).
3020
- :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv6 stack.
4518
+ :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv4 stack.
3021
4519
  :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP or autoconfig is not set.
3022
4520
  """
3023
4521
  if addresses is not None:
@@ -3057,7 +4555,7 @@ class VnicIpv6Args:
3057
4555
  @pulumi.getter
3058
4556
  def dhcp(self) -> Optional[pulumi.Input[bool]]:
3059
4557
  """
3060
- Use DHCP to configure the interface's IPv6 stack.
4558
+ Use DHCP to configure the interface's IPv4 stack.
3061
4559
  """
3062
4560
  return pulumi.get(self, "dhcp")
3063
4561
 
@@ -3078,6 +4576,47 @@ class VnicIpv6Args:
3078
4576
  pulumi.set(self, "gw", value)
3079
4577
 
3080
4578
 
4579
+ if not MYPY:
4580
+ class GetNetworkFilterArgsDict(TypedDict):
4581
+ network_type: NotRequired[str]
4582
+ """
4583
+ This is required if you have multiple port groups with the same name. This will be one of `DistributedVirtualPortgroup` for distributed port groups, `Network` for standard (host-based) port groups, or `OpaqueNetwork` for networks managed externally, such as those managed by NSX.
4584
+ """
4585
+ elif False:
4586
+ GetNetworkFilterArgsDict: TypeAlias = Mapping[str, Any]
4587
+
4588
+ @pulumi.input_type
4589
+ class GetNetworkFilterArgs:
4590
+ def __init__(__self__, *,
4591
+ network_type: Optional[str] = None):
4592
+ """
4593
+ :param str network_type: This is required if you have multiple port groups with the same name. This will be one of `DistributedVirtualPortgroup` for distributed port groups, `Network` for standard (host-based) port groups, or `OpaqueNetwork` for networks managed externally, such as those managed by NSX.
4594
+ """
4595
+ if network_type is not None:
4596
+ pulumi.set(__self__, "network_type", network_type)
4597
+
4598
+ @property
4599
+ @pulumi.getter(name="networkType")
4600
+ def network_type(self) -> Optional[str]:
4601
+ """
4602
+ This is required if you have multiple port groups with the same name. This will be one of `DistributedVirtualPortgroup` for distributed port groups, `Network` for standard (host-based) port groups, or `OpaqueNetwork` for networks managed externally, such as those managed by NSX.
4603
+ """
4604
+ return pulumi.get(self, "network_type")
4605
+
4606
+ @network_type.setter
4607
+ def network_type(self, value: Optional[str]):
4608
+ pulumi.set(self, "network_type", value)
4609
+
4610
+
4611
+ if not MYPY:
4612
+ class GetVirtualMachineVappArgsDict(TypedDict):
4613
+ properties: NotRequired[Mapping[str, str]]
4614
+ """
4615
+ A map of customizable vApp properties and their values. Allows customization of VMs cloned from OVF templates which have customizable vApp properties.
4616
+ """
4617
+ elif False:
4618
+ GetVirtualMachineVappArgsDict: TypeAlias = Mapping[str, Any]
4619
+
3081
4620
  @pulumi.input_type
3082
4621
  class GetVirtualMachineVappArgs:
3083
4622
  def __init__(__self__, *,