pulumi-vsphere 4.10.0a1710245029__py3-none-any.whl → 4.13.0a1736849827__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.
Files changed (85) hide show
  1. pulumi_vsphere/__init__.py +28 -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 +29 -21
  33. pulumi_vsphere/get_datastore_cluster.py +31 -10
  34. pulumi_vsphere/get_datastore_stats.py +63 -57
  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 +20 -15
  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 +205 -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 +717 -270
  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 +698 -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.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736849827.dist-info}/METADATA +7 -6
  82. pulumi_vsphere-4.13.0a1736849827.dist-info/RECORD +86 -0
  83. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736849827.dist-info}/WHEEL +1 -1
  84. pulumi_vsphere-4.10.0a1710245029.dist-info/RECORD +0 -82
  85. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736849827.dist-info}/top_level.txt +0 -0
pulumi_vsphere/role.py CHANGED
@@ -4,9 +4,14 @@
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__ = ['RoleArgs', 'Role']
@@ -116,7 +121,20 @@ class Role(pulumi.CustomResource):
116
121
  role_privileges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
117
122
  __props__=None):
118
123
  """
119
- Create a Role resource with the given unique name, props, and options.
124
+ ## Import
125
+
126
+ An existing role can be imported into this resource by supplying the role id. An example is below:
127
+
128
+ ```sh
129
+ $ pulumi import vsphere:index/role:Role role1 -709298051
130
+ ```
131
+
132
+ Use [`vsphere_role` data source][ref-vsphere-role-data-source]
133
+
134
+ to read information about system roles.
135
+
136
+ [ref-vsphere-role-data-source]: /docs/providers/vsphere/d/vsphere_role.html
137
+
120
138
  :param str resource_name: The name of the resource.
121
139
  :param pulumi.ResourceOptions opts: Options for the resource.
122
140
  :param pulumi.Input[str] name: The name of the role.
@@ -129,7 +147,20 @@ class Role(pulumi.CustomResource):
129
147
  args: Optional[RoleArgs] = None,
130
148
  opts: Optional[pulumi.ResourceOptions] = None):
131
149
  """
132
- Create a Role resource with the given unique name, props, and options.
150
+ ## Import
151
+
152
+ An existing role can be imported into this resource by supplying the role id. An example is below:
153
+
154
+ ```sh
155
+ $ pulumi import vsphere:index/role:Role role1 -709298051
156
+ ```
157
+
158
+ Use [`vsphere_role` data source][ref-vsphere-role-data-source]
159
+
160
+ to read information about system roles.
161
+
162
+ [ref-vsphere-role-data-source]: /docs/providers/vsphere/d/vsphere_role.html
163
+
133
164
  :param str resource_name: The name of the resource.
134
165
  :param RoleArgs args: The arguments to use to populate this resource's properties.
135
166
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -4,9 +4,14 @@
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__ = ['StorageDrsVmOverrideArgs', 'StorageDrsVmOverride']
@@ -245,7 +250,70 @@ class StorageDrsVmOverride(pulumi.CustomResource):
245
250
  virtual_machine_id: Optional[pulumi.Input[str]] = None,
246
251
  __props__=None):
247
252
  """
248
- Create a StorageDrsVmOverride resource with the given unique name, props, and options.
253
+ The `StorageDrsVmOverride` resource can be used to add a Storage DRS
254
+ override to a datastore cluster for a specific virtual machine. With this
255
+ resource, one can enable or disable Storage DRS, and control the automation
256
+ level and disk affinity for a single virtual machine without affecting the rest
257
+ of the datastore cluster.
258
+
259
+ For more information on vSphere datastore clusters and Storage DRS, see [this
260
+ page][ref-vsphere-datastore-clusters].
261
+
262
+ [ref-vsphere-datastore-clusters]: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-resource-management/GUID-598DF695-107E-406B-9C95-0AF961FC227A.html
263
+
264
+ ## Example Usage
265
+
266
+ ```python
267
+ import pulumi
268
+ import pulumi_vsphere as vsphere
269
+
270
+ datacenter = vsphere.get_datacenter(name="dc-01")
271
+ datastore_cluster = vsphere.get_datastore_cluster(name="datastore-cluster1",
272
+ datacenter_id=datacenter.id)
273
+ member_datastore = vsphere.get_datastore(name="datastore-cluster1-member1",
274
+ datacenter_id=datacenter.id)
275
+ pool = vsphere.get_resource_pool(name="cluster1/Resources",
276
+ datacenter_id=datacenter.id)
277
+ network = vsphere.get_network(name="public",
278
+ datacenter_id=datacenter.id)
279
+ vm = vsphere.VirtualMachine("vm",
280
+ name="test",
281
+ resource_pool_id=pool.id,
282
+ datastore_id=member_datastore.id,
283
+ num_cpus=2,
284
+ memory=1024,
285
+ guest_id="otherLinux64Guest",
286
+ network_interfaces=[{
287
+ "network_id": network.id,
288
+ }],
289
+ disks=[{
290
+ "label": "disk0",
291
+ "size": 20,
292
+ }])
293
+ drs_vm_override = vsphere.StorageDrsVmOverride("drs_vm_override",
294
+ datastore_cluster_id=datastore_cluster.id,
295
+ virtual_machine_id=vm.id,
296
+ sdrs_enabled="false")
297
+ ```
298
+
299
+ ## Import
300
+
301
+ An existing override can be imported into this resource by
302
+
303
+ supplying both the path to the datastore cluster and the path to the virtual
304
+
305
+ machine to `pulumi import`. If no override exists, an error will be given.
306
+
307
+ An example is below:
308
+
309
+ ```sh
310
+ $ pulumi import vsphere:index/storageDrsVmOverride:StorageDrsVmOverride drs_vm_override \\
311
+ ```
312
+
313
+ '{"datastore_cluster_path": "/dc1/datastore/ds-cluster", \\
314
+
315
+ "virtual_machine_path": "/dc1/vm/srv1"}'
316
+
249
317
  :param str resource_name: The name of the resource.
250
318
  :param pulumi.ResourceOptions opts: Options for the resource.
251
319
  :param pulumi.Input[str] datastore_cluster_id: The managed object reference
@@ -273,7 +341,70 @@ class StorageDrsVmOverride(pulumi.CustomResource):
273
341
  args: StorageDrsVmOverrideArgs,
274
342
  opts: Optional[pulumi.ResourceOptions] = None):
275
343
  """
276
- Create a StorageDrsVmOverride resource with the given unique name, props, and options.
344
+ The `StorageDrsVmOverride` resource can be used to add a Storage DRS
345
+ override to a datastore cluster for a specific virtual machine. With this
346
+ resource, one can enable or disable Storage DRS, and control the automation
347
+ level and disk affinity for a single virtual machine without affecting the rest
348
+ of the datastore cluster.
349
+
350
+ For more information on vSphere datastore clusters and Storage DRS, see [this
351
+ page][ref-vsphere-datastore-clusters].
352
+
353
+ [ref-vsphere-datastore-clusters]: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-resource-management/GUID-598DF695-107E-406B-9C95-0AF961FC227A.html
354
+
355
+ ## Example Usage
356
+
357
+ ```python
358
+ import pulumi
359
+ import pulumi_vsphere as vsphere
360
+
361
+ datacenter = vsphere.get_datacenter(name="dc-01")
362
+ datastore_cluster = vsphere.get_datastore_cluster(name="datastore-cluster1",
363
+ datacenter_id=datacenter.id)
364
+ member_datastore = vsphere.get_datastore(name="datastore-cluster1-member1",
365
+ datacenter_id=datacenter.id)
366
+ pool = vsphere.get_resource_pool(name="cluster1/Resources",
367
+ datacenter_id=datacenter.id)
368
+ network = vsphere.get_network(name="public",
369
+ datacenter_id=datacenter.id)
370
+ vm = vsphere.VirtualMachine("vm",
371
+ name="test",
372
+ resource_pool_id=pool.id,
373
+ datastore_id=member_datastore.id,
374
+ num_cpus=2,
375
+ memory=1024,
376
+ guest_id="otherLinux64Guest",
377
+ network_interfaces=[{
378
+ "network_id": network.id,
379
+ }],
380
+ disks=[{
381
+ "label": "disk0",
382
+ "size": 20,
383
+ }])
384
+ drs_vm_override = vsphere.StorageDrsVmOverride("drs_vm_override",
385
+ datastore_cluster_id=datastore_cluster.id,
386
+ virtual_machine_id=vm.id,
387
+ sdrs_enabled="false")
388
+ ```
389
+
390
+ ## Import
391
+
392
+ An existing override can be imported into this resource by
393
+
394
+ supplying both the path to the datastore cluster and the path to the virtual
395
+
396
+ machine to `pulumi import`. If no override exists, an error will be given.
397
+
398
+ An example is below:
399
+
400
+ ```sh
401
+ $ pulumi import vsphere:index/storageDrsVmOverride:StorageDrsVmOverride drs_vm_override \\
402
+ ```
403
+
404
+ '{"datastore_cluster_path": "/dc1/datastore/ds-cluster", \\
405
+
406
+ "virtual_machine_path": "/dc1/vm/srv1"}'
407
+
277
408
  :param str resource_name: The name of the resource.
278
409
  :param StorageDrsVmOverrideArgs args: The arguments to use to populate this resource's properties.
279
410
  :param pulumi.ResourceOptions opts: Options for the resource.