pulumi-vsphere 4.14.0a1746734806__py3-none-any.whl → 4.14.0a1747752163__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 (50) hide show
  1. pulumi_vsphere/compute_cluster.py +10 -10
  2. pulumi_vsphere/compute_cluster_host_group.py +70 -0
  3. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +4 -0
  4. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +4 -0
  5. pulumi_vsphere/compute_cluster_vm_group.py +4 -0
  6. pulumi_vsphere/compute_cluster_vm_host_rule.py +4 -0
  7. pulumi_vsphere/content_library.py +4 -0
  8. pulumi_vsphere/content_library_item.py +4 -0
  9. pulumi_vsphere/custom_attribute.py +4 -0
  10. pulumi_vsphere/datastore_cluster.py +88 -0
  11. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +4 -0
  12. pulumi_vsphere/distributed_port_group.py +4 -0
  13. pulumi_vsphere/distributed_virtual_switch.py +4 -0
  14. pulumi_vsphere/dpm_host_override.py +88 -0
  15. pulumi_vsphere/drs_vm_override.py +4 -0
  16. pulumi_vsphere/file.py +34 -49
  17. pulumi_vsphere/folder.py +16 -12
  18. pulumi_vsphere/get_compute_cluster_host_group.py +0 -4
  19. pulumi_vsphere/get_datastore_cluster.py +1 -1
  20. pulumi_vsphere/get_datastore_stats.py +0 -4
  21. pulumi_vsphere/get_dynamic.py +0 -4
  22. pulumi_vsphere/get_folder.py +130 -8
  23. pulumi_vsphere/get_guest_os_customization.py +21 -2
  24. pulumi_vsphere/get_license.py +8 -6
  25. pulumi_vsphere/get_network.py +35 -1
  26. pulumi_vsphere/get_ovf_vm_template.py +4 -4
  27. pulumi_vsphere/ha_vm_override.py +4 -0
  28. pulumi_vsphere/host.py +60 -6
  29. pulumi_vsphere/host_virtual_switch.py +4 -0
  30. pulumi_vsphere/license.py +66 -26
  31. pulumi_vsphere/nas_datastore.py +62 -0
  32. pulumi_vsphere/offline_software_depot.py +4 -0
  33. pulumi_vsphere/outputs.py +33 -0
  34. pulumi_vsphere/pulumi-plugin.json +1 -1
  35. pulumi_vsphere/resource_pool.py +489 -163
  36. pulumi_vsphere/storage_drs_vm_override.py +4 -0
  37. pulumi_vsphere/supervisor.py +2 -2
  38. pulumi_vsphere/tag.py +4 -0
  39. pulumi_vsphere/tag_category.py +4 -0
  40. pulumi_vsphere/vapp_container.py +4 -0
  41. pulumi_vsphere/vapp_entity.py +4 -0
  42. pulumi_vsphere/virtual_disk.py +4 -0
  43. pulumi_vsphere/virtual_machine.py +4 -4
  44. pulumi_vsphere/virtual_machine_class.py +4 -4
  45. pulumi_vsphere/vmfs_datastore.py +4 -0
  46. {pulumi_vsphere-4.14.0a1746734806.dist-info → pulumi_vsphere-4.14.0a1747752163.dist-info}/METADATA +1 -1
  47. pulumi_vsphere-4.14.0a1747752163.dist-info/RECORD +87 -0
  48. {pulumi_vsphere-4.14.0a1746734806.dist-info → pulumi_vsphere-4.14.0a1747752163.dist-info}/WHEEL +1 -1
  49. pulumi_vsphere-4.14.0a1746734806.dist-info/RECORD +0 -87
  50. {pulumi_vsphere-4.14.0a1746734806.dist-info → pulumi_vsphere-4.14.0a1747752163.dist-info}/top_level.txt +0 -0
pulumi_vsphere/file.py CHANGED
@@ -32,13 +32,10 @@ class FileArgs:
32
32
  :param pulumi.Input[builtins.str] datastore: The name of the datastore to which to upload the
33
33
  file.
34
34
  :param pulumi.Input[builtins.str] destination_file: The path to where the file should be uploaded
35
- or copied to on the destination `datastore` in vSphere.
36
- :param pulumi.Input[builtins.bool] create_directories: Create directories in `destination_file`
37
- path parameter on first apply if any are missing for copy operation.
38
-
39
- > **NOTE:** Any directory created as part of the `create_directories` argument
40
- will not be deleted when the resource is destroyed. New directories are not
41
- created if the `destination_file` path is changed in subsequent applies.
35
+ or copied to on the destination datastore.
36
+ :param pulumi.Input[builtins.str] source_file: The path to the file being uploaded from or copied.
37
+ Forces a new resource if changed.
38
+ :param pulumi.Input[builtins.bool] create_directories: Specifies whether to create the parent directories of the destination file if they do not exist.
42
39
  :param pulumi.Input[builtins.str] datacenter: The name of a datacenter to which the file will be
43
40
  uploaded.
44
41
  :param pulumi.Input[builtins.str] source_datacenter: The name of a datacenter from which the file
@@ -76,7 +73,7 @@ class FileArgs:
76
73
  def destination_file(self) -> pulumi.Input[builtins.str]:
77
74
  """
78
75
  The path to where the file should be uploaded
79
- or copied to on the destination `datastore` in vSphere.
76
+ or copied to on the destination datastore.
80
77
  """
81
78
  return pulumi.get(self, "destination_file")
82
79
 
@@ -87,6 +84,10 @@ class FileArgs:
87
84
  @property
88
85
  @pulumi.getter(name="sourceFile")
89
86
  def source_file(self) -> pulumi.Input[builtins.str]:
87
+ """
88
+ The path to the file being uploaded from or copied.
89
+ Forces a new resource if changed.
90
+ """
90
91
  return pulumi.get(self, "source_file")
91
92
 
92
93
  @source_file.setter
@@ -97,12 +98,7 @@ class FileArgs:
97
98
  @pulumi.getter(name="createDirectories")
98
99
  def create_directories(self) -> Optional[pulumi.Input[builtins.bool]]:
99
100
  """
100
- Create directories in `destination_file`
101
- path parameter on first apply if any are missing for copy operation.
102
-
103
- > **NOTE:** Any directory created as part of the `create_directories` argument
104
- will not be deleted when the resource is destroyed. New directories are not
105
- created if the `destination_file` path is changed in subsequent applies.
101
+ Specifies whether to create the parent directories of the destination file if they do not exist.
106
102
  """
107
103
  return pulumi.get(self, "create_directories")
108
104
 
@@ -162,22 +158,19 @@ class _FileState:
162
158
  source_file: Optional[pulumi.Input[builtins.str]] = None):
163
159
  """
164
160
  Input properties used for looking up and filtering File resources.
165
- :param pulumi.Input[builtins.bool] create_directories: Create directories in `destination_file`
166
- path parameter on first apply if any are missing for copy operation.
167
-
168
- > **NOTE:** Any directory created as part of the `create_directories` argument
169
- will not be deleted when the resource is destroyed. New directories are not
170
- created if the `destination_file` path is changed in subsequent applies.
161
+ :param pulumi.Input[builtins.bool] create_directories: Specifies whether to create the parent directories of the destination file if they do not exist.
171
162
  :param pulumi.Input[builtins.str] datacenter: The name of a datacenter to which the file will be
172
163
  uploaded.
173
164
  :param pulumi.Input[builtins.str] datastore: The name of the datastore to which to upload the
174
165
  file.
175
166
  :param pulumi.Input[builtins.str] destination_file: The path to where the file should be uploaded
176
- or copied to on the destination `datastore` in vSphere.
167
+ or copied to on the destination datastore.
177
168
  :param pulumi.Input[builtins.str] source_datacenter: The name of a datacenter from which the file
178
169
  will be copied. Forces a new resource if changed.
179
170
  :param pulumi.Input[builtins.str] source_datastore: The name of the datastore from which file will
180
171
  be copied. Forces a new resource if changed.
172
+ :param pulumi.Input[builtins.str] source_file: The path to the file being uploaded from or copied.
173
+ Forces a new resource if changed.
181
174
  """
182
175
  if create_directories is not None:
183
176
  pulumi.set(__self__, "create_directories", create_directories)
@@ -198,12 +191,7 @@ class _FileState:
198
191
  @pulumi.getter(name="createDirectories")
199
192
  def create_directories(self) -> Optional[pulumi.Input[builtins.bool]]:
200
193
  """
201
- Create directories in `destination_file`
202
- path parameter on first apply if any are missing for copy operation.
203
-
204
- > **NOTE:** Any directory created as part of the `create_directories` argument
205
- will not be deleted when the resource is destroyed. New directories are not
206
- created if the `destination_file` path is changed in subsequent applies.
194
+ Specifies whether to create the parent directories of the destination file if they do not exist.
207
195
  """
208
196
  return pulumi.get(self, "create_directories")
209
197
 
@@ -242,7 +230,7 @@ class _FileState:
242
230
  def destination_file(self) -> Optional[pulumi.Input[builtins.str]]:
243
231
  """
244
232
  The path to where the file should be uploaded
245
- or copied to on the destination `datastore` in vSphere.
233
+ or copied to on the destination datastore.
246
234
  """
247
235
  return pulumi.get(self, "destination_file")
248
236
 
@@ -279,6 +267,10 @@ class _FileState:
279
267
  @property
280
268
  @pulumi.getter(name="sourceFile")
281
269
  def source_file(self) -> Optional[pulumi.Input[builtins.str]]:
270
+ """
271
+ The path to the file being uploaded from or copied.
272
+ Forces a new resource if changed.
273
+ """
282
274
  return pulumi.get(self, "source_file")
283
275
 
284
276
  @source_file.setter
@@ -335,22 +327,19 @@ class File(pulumi.CustomResource):
335
327
 
336
328
  :param str resource_name: The name of the resource.
337
329
  :param pulumi.ResourceOptions opts: Options for the resource.
338
- :param pulumi.Input[builtins.bool] create_directories: Create directories in `destination_file`
339
- path parameter on first apply if any are missing for copy operation.
340
-
341
- > **NOTE:** Any directory created as part of the `create_directories` argument
342
- will not be deleted when the resource is destroyed. New directories are not
343
- created if the `destination_file` path is changed in subsequent applies.
330
+ :param pulumi.Input[builtins.bool] create_directories: Specifies whether to create the parent directories of the destination file if they do not exist.
344
331
  :param pulumi.Input[builtins.str] datacenter: The name of a datacenter to which the file will be
345
332
  uploaded.
346
333
  :param pulumi.Input[builtins.str] datastore: The name of the datastore to which to upload the
347
334
  file.
348
335
  :param pulumi.Input[builtins.str] destination_file: The path to where the file should be uploaded
349
- or copied to on the destination `datastore` in vSphere.
336
+ or copied to on the destination datastore.
350
337
  :param pulumi.Input[builtins.str] source_datacenter: The name of a datacenter from which the file
351
338
  will be copied. Forces a new resource if changed.
352
339
  :param pulumi.Input[builtins.str] source_datastore: The name of the datastore from which file will
353
340
  be copied. Forces a new resource if changed.
341
+ :param pulumi.Input[builtins.str] source_file: The path to the file being uploaded from or copied.
342
+ Forces a new resource if changed.
354
343
  """
355
344
  ...
356
345
  @overload
@@ -459,22 +448,19 @@ class File(pulumi.CustomResource):
459
448
  :param str resource_name: The unique name of the resulting resource.
460
449
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
461
450
  :param pulumi.ResourceOptions opts: Options for the resource.
462
- :param pulumi.Input[builtins.bool] create_directories: Create directories in `destination_file`
463
- path parameter on first apply if any are missing for copy operation.
464
-
465
- > **NOTE:** Any directory created as part of the `create_directories` argument
466
- will not be deleted when the resource is destroyed. New directories are not
467
- created if the `destination_file` path is changed in subsequent applies.
451
+ :param pulumi.Input[builtins.bool] create_directories: Specifies whether to create the parent directories of the destination file if they do not exist.
468
452
  :param pulumi.Input[builtins.str] datacenter: The name of a datacenter to which the file will be
469
453
  uploaded.
470
454
  :param pulumi.Input[builtins.str] datastore: The name of the datastore to which to upload the
471
455
  file.
472
456
  :param pulumi.Input[builtins.str] destination_file: The path to where the file should be uploaded
473
- or copied to on the destination `datastore` in vSphere.
457
+ or copied to on the destination datastore.
474
458
  :param pulumi.Input[builtins.str] source_datacenter: The name of a datacenter from which the file
475
459
  will be copied. Forces a new resource if changed.
476
460
  :param pulumi.Input[builtins.str] source_datastore: The name of the datastore from which file will
477
461
  be copied. Forces a new resource if changed.
462
+ :param pulumi.Input[builtins.str] source_file: The path to the file being uploaded from or copied.
463
+ Forces a new resource if changed.
478
464
  """
479
465
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
480
466
 
@@ -493,12 +479,7 @@ class File(pulumi.CustomResource):
493
479
  @pulumi.getter(name="createDirectories")
494
480
  def create_directories(self) -> pulumi.Output[Optional[builtins.bool]]:
495
481
  """
496
- Create directories in `destination_file`
497
- path parameter on first apply if any are missing for copy operation.
498
-
499
- > **NOTE:** Any directory created as part of the `create_directories` argument
500
- will not be deleted when the resource is destroyed. New directories are not
501
- created if the `destination_file` path is changed in subsequent applies.
482
+ Specifies whether to create the parent directories of the destination file if they do not exist.
502
483
  """
503
484
  return pulumi.get(self, "create_directories")
504
485
 
@@ -525,7 +506,7 @@ class File(pulumi.CustomResource):
525
506
  def destination_file(self) -> pulumi.Output[builtins.str]:
526
507
  """
527
508
  The path to where the file should be uploaded
528
- or copied to on the destination `datastore` in vSphere.
509
+ or copied to on the destination datastore.
529
510
  """
530
511
  return pulumi.get(self, "destination_file")
531
512
 
@@ -550,5 +531,9 @@ class File(pulumi.CustomResource):
550
531
  @property
551
532
  @pulumi.getter(name="sourceFile")
552
533
  def source_file(self) -> pulumi.Output[builtins.str]:
534
+ """
535
+ The path to the file being uploaded from or copied.
536
+ Forces a new resource if changed.
537
+ """
553
538
  return pulumi.get(self, "source_file")
554
539
 
pulumi_vsphere/folder.py CHANGED
@@ -300,7 +300,7 @@ class Folder(pulumi.CustomResource):
300
300
  Paths are always relative to the specific type of folder you are creating.
301
301
  A subfolder is discovered by parsing the relative path specified in `path`, so
302
302
  `foo/bar` will create a folder named `bar` in the parent folder `foo`, as long
303
- as that folder exists.
303
+ as the folder `foo` exists.
304
304
 
305
305
  ## Example Usage
306
306
 
@@ -311,14 +311,14 @@ class Folder(pulumi.CustomResource):
311
311
  import pulumi
312
312
  import pulumi_vsphere as vsphere
313
313
 
314
- datacenter = vsphere.get_datacenter()
314
+ datacenter = vsphere.get_datacenter(name=vsphere_datacenter)
315
315
  folder = vsphere.Folder("folder",
316
316
  path="test-folder",
317
317
  type="vm",
318
318
  datacenter_id=datacenter.id)
319
319
  ```
320
320
 
321
- ### Example with subfolders
321
+ ### Example with Sub-folders
322
322
 
323
323
  The below example builds off of the above by first creating a folder named
324
324
  `test-parent`, and then locating `test-folder` in that
@@ -333,7 +333,7 @@ class Folder(pulumi.CustomResource):
333
333
  import pulumi
334
334
  import pulumi_vsphere as vsphere
335
335
 
336
- datacenter = vsphere.get_datacenter()
336
+ datacenter = vsphere.get_datacenter(name=vsphere_datacenter)
337
337
  parent = vsphere.Folder("parent",
338
338
  path="test-parent",
339
339
  type="vm",
@@ -350,13 +350,15 @@ class Folder(pulumi.CustomResource):
350
350
 
351
351
  its full path, via the following command:
352
352
 
353
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
354
+
353
355
  ```sh
354
- $ pulumi import vsphere:index/folder:Folder folder /default-dc/vm/terraform-test-folder
356
+ $ pulumi import vsphere:index/folder:Folder folder /default-dc/vm/example-vm-folder
355
357
  ```
356
358
 
357
359
  The above command would import the folder from our examples above, the VM
358
360
 
359
- folder named `terraform-test-folder` located in the datacenter named
361
+ folder named `example-vm-folder` located in the datacenter named
360
362
 
361
363
  `default-dc`.
362
364
 
@@ -405,7 +407,7 @@ class Folder(pulumi.CustomResource):
405
407
  Paths are always relative to the specific type of folder you are creating.
406
408
  A subfolder is discovered by parsing the relative path specified in `path`, so
407
409
  `foo/bar` will create a folder named `bar` in the parent folder `foo`, as long
408
- as that folder exists.
410
+ as the folder `foo` exists.
409
411
 
410
412
  ## Example Usage
411
413
 
@@ -416,14 +418,14 @@ class Folder(pulumi.CustomResource):
416
418
  import pulumi
417
419
  import pulumi_vsphere as vsphere
418
420
 
419
- datacenter = vsphere.get_datacenter()
421
+ datacenter = vsphere.get_datacenter(name=vsphere_datacenter)
420
422
  folder = vsphere.Folder("folder",
421
423
  path="test-folder",
422
424
  type="vm",
423
425
  datacenter_id=datacenter.id)
424
426
  ```
425
427
 
426
- ### Example with subfolders
428
+ ### Example with Sub-folders
427
429
 
428
430
  The below example builds off of the above by first creating a folder named
429
431
  `test-parent`, and then locating `test-folder` in that
@@ -438,7 +440,7 @@ class Folder(pulumi.CustomResource):
438
440
  import pulumi
439
441
  import pulumi_vsphere as vsphere
440
442
 
441
- datacenter = vsphere.get_datacenter()
443
+ datacenter = vsphere.get_datacenter(name=vsphere_datacenter)
442
444
  parent = vsphere.Folder("parent",
443
445
  path="test-parent",
444
446
  type="vm",
@@ -455,13 +457,15 @@ class Folder(pulumi.CustomResource):
455
457
 
456
458
  its full path, via the following command:
457
459
 
460
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
461
+
458
462
  ```sh
459
- $ pulumi import vsphere:index/folder:Folder folder /default-dc/vm/terraform-test-folder
463
+ $ pulumi import vsphere:index/folder:Folder folder /default-dc/vm/example-vm-folder
460
464
  ```
461
465
 
462
466
  The above command would import the folder from our examples above, the VM
463
467
 
464
- folder named `terraform-test-folder` located in the datacenter named
468
+ folder named `example-vm-folder` located in the datacenter named
465
469
 
466
470
  `default-dc`.
467
471
 
@@ -111,8 +111,6 @@ def get_compute_cluster_host_group(compute_cluster_id: Optional[builtins.str] =
111
111
  :param builtins.str compute_cluster_id: The
112
112
  [managed object reference ID][docs-about-morefs] of the compute cluster for
113
113
  the host group.
114
-
115
- [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
116
114
  :param builtins.str name: The name of the host group.
117
115
  """
118
116
  __args__ = dict()
@@ -156,8 +154,6 @@ def get_compute_cluster_host_group_output(compute_cluster_id: Optional[pulumi.In
156
154
  :param builtins.str compute_cluster_id: The
157
155
  [managed object reference ID][docs-about-morefs] of the compute cluster for
158
156
  the host group.
159
-
160
- [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
161
157
  :param builtins.str name: The name of the host group.
162
158
  """
163
159
  __args__ = dict()
@@ -50,7 +50,7 @@ class GetDatastoreClusterResult:
50
50
  @pulumi.getter
51
51
  def datastores(self) -> Sequence[builtins.str]:
52
52
  """
53
- (Optional) The names of the datastores included in the specific
53
+ (Optional) The names of the datastores included in the specific
54
54
  cluster.
55
55
  """
56
56
  return pulumi.get(self, "datastores")
@@ -131,8 +131,6 @@ def get_datastore_stats(capacity: Optional[Mapping[str, builtins.str]] = None,
131
131
  [managed object reference ID][docs-about-morefs] of the datacenter the
132
132
  datastores are located in. For default datacenters, use the `id` attribute
133
133
  from an empty `Datacenter` data source.
134
-
135
- [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
136
134
  :param Mapping[str, builtins.str] free_space: A mapping of the free space for each datastore in the
137
135
  datacenter, where the name of the datastore is used as key and the free space
138
136
  as value.
@@ -190,8 +188,6 @@ def get_datastore_stats_output(capacity: Optional[pulumi.Input[Optional[Mapping[
190
188
  [managed object reference ID][docs-about-morefs] of the datacenter the
191
189
  datastores are located in. For default datacenters, use the `id` attribute
192
190
  from an empty `Datacenter` data source.
193
-
194
- [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
195
191
  :param Mapping[str, builtins.str] free_space: A mapping of the free space for each datastore in the
196
192
  datacenter, where the name of the datastore is used as key and the free space
197
193
  as value.
@@ -82,8 +82,6 @@ def get_dynamic(filters: Optional[Sequence[builtins.str]] = None,
82
82
  type: Optional[builtins.str] = None,
83
83
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDynamicResult:
84
84
  """
85
- [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
86
-
87
85
  The `get_dynamic` data source can be used to get the
88
86
  [managed object reference ID][docs-about-morefs] of any tagged managed object in
89
87
  vCenter Server by providing a list of tag IDs and an optional regular expression
@@ -134,8 +132,6 @@ def get_dynamic_output(filters: Optional[pulumi.Input[Sequence[builtins.str]]] =
134
132
  type: Optional[pulumi.Input[Optional[builtins.str]]] = None,
135
133
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDynamicResult]:
136
134
  """
137
- [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
138
-
139
135
  The `get_dynamic` data source can be used to get the
140
136
  [managed object reference ID][docs-about-morefs] of any tagged managed object in
141
137
  vCenter Server by providing a list of tag IDs and an optional regular expression
@@ -75,15 +75,76 @@ def get_folder(path: Optional[builtins.str] = None,
75
75
  import pulumi
76
76
  import pulumi_vsphere as vsphere
77
77
 
78
- folder = vsphere.get_folder(path="/dc-01/datastore-01/folder-01")
78
+ datacenter_folder_folder = vsphere.Folder("datacenter_folder",
79
+ path="example-datacenter-folder",
80
+ type="datacenter")
81
+ datacenter_folder = vsphere.get_folder_output(path=datacenter_folder_folder.path.apply(lambda path: f"/{path}"))
82
+ datacenter_datacenter = vsphere.Datacenter("datacenter",
83
+ name="example-datacenter",
84
+ folder=datacenter_folder.path,
85
+ opts = pulumi.ResourceOptions(depends_on=[datacenter_folder]))
86
+ datacenter = vsphere.get_datacenter_output(name=datacenter_datacenter.name)
87
+ vm_folder_folder = vsphere.Folder("vm_folder",
88
+ path="example-vm-folder",
89
+ type="vm",
90
+ datacenter_id=datacenter.id)
91
+ datastore_folder_folder = vsphere.Folder("datastore_folder",
92
+ path="example-datastore-folder",
93
+ type="datastore",
94
+ datacenter_id=datacenter.id)
95
+ network_folder_folder = vsphere.Folder("network_folder",
96
+ path="example-network-folder",
97
+ type="network",
98
+ datacenter_id=datacenter.id)
99
+ host_folder_folder = vsphere.Folder("host_folder",
100
+ path="example-host-folder",
101
+ type="host",
102
+ datacenter_id=datacenter.id)
103
+ vm_folder = vsphere.get_folder_output(path=pulumi.Output.all(
104
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
105
+ name=datacenter_datacenter.name,
106
+ vmFolderFolderPath=vm_folder_folder.path
107
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/vm/{resolved_outputs['vmFolderFolderPath']}")
108
+ )
109
+ datastore_folder = vsphere.get_folder_output(path=pulumi.Output.all(
110
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
111
+ name=datacenter_datacenter.name,
112
+ datastoreFolderFolderPath=datastore_folder_folder.path
113
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/datastore/{resolved_outputs['datastoreFolderFolderPath']}")
114
+ )
115
+ network_folder = vsphere.get_folder_output(path=pulumi.Output.all(
116
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
117
+ name=datacenter_datacenter.name,
118
+ networkFolderFolderPath=network_folder_folder.path
119
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/network/{resolved_outputs['networkFolderFolderPath']}")
120
+ )
121
+ host_folder = vsphere.get_folder_output(path=pulumi.Output.all(
122
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
123
+ name=datacenter_datacenter.name,
124
+ hostFolderFolderPath=host_folder_folder.path
125
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/host/{resolved_outputs['hostFolderFolderPath']}")
126
+ )
127
+ pulumi.export("vmFolderId", vm_folder.id)
128
+ pulumi.export("datastoreFolderId", datastore_folder.id)
129
+ pulumi.export("networkFolderId", network_folder.id)
130
+ pulumi.export("hostFolderId", host_folder.id)
131
+ pulumi.export("datacenterId", datacenter.id)
132
+ pulumi.export("datacenterFolderPath", datacenter_folder_folder.path)
79
133
  ```
80
134
 
81
135
 
82
136
  :param builtins.str path: The absolute path of the folder. For example, given a
83
137
  default datacenter of `default-dc`, a folder of type `vm`, and a folder name
84
- of `test-folder`, the resulting path would be
85
- `/default-dc/vm/test-folder`. The valid folder types to be used in
86
- the path are: `vm`, `host`, `datacenter`, `datastore`, or `network`.
138
+ of `example-vm-folder`, the resulting `path` would be
139
+ `/default-dc/vm/example-vm-folder`.
140
+
141
+ For nested datacenters, include the full hierarchy in the path. For example, if datacenter
142
+ `default-dc` is inside folder `parent-folder`, the path to a VM folder would be
143
+ `/parent-folder/default-dc/vm/example-vm-folder`.
144
+
145
+ The valid folder types to be used in a `path` are: `vm`, `host`, `datacenter`, `datastore`, or `network`.
146
+
147
+ Always include a leading slash in the `path`.
87
148
  """
88
149
  __args__ = dict()
89
150
  __args__['path'] = path
@@ -109,15 +170,76 @@ def get_folder_output(path: Optional[pulumi.Input[builtins.str]] = None,
109
170
  import pulumi
110
171
  import pulumi_vsphere as vsphere
111
172
 
112
- folder = vsphere.get_folder(path="/dc-01/datastore-01/folder-01")
173
+ datacenter_folder_folder = vsphere.Folder("datacenter_folder",
174
+ path="example-datacenter-folder",
175
+ type="datacenter")
176
+ datacenter_folder = vsphere.get_folder_output(path=datacenter_folder_folder.path.apply(lambda path: f"/{path}"))
177
+ datacenter_datacenter = vsphere.Datacenter("datacenter",
178
+ name="example-datacenter",
179
+ folder=datacenter_folder.path,
180
+ opts = pulumi.ResourceOptions(depends_on=[datacenter_folder]))
181
+ datacenter = vsphere.get_datacenter_output(name=datacenter_datacenter.name)
182
+ vm_folder_folder = vsphere.Folder("vm_folder",
183
+ path="example-vm-folder",
184
+ type="vm",
185
+ datacenter_id=datacenter.id)
186
+ datastore_folder_folder = vsphere.Folder("datastore_folder",
187
+ path="example-datastore-folder",
188
+ type="datastore",
189
+ datacenter_id=datacenter.id)
190
+ network_folder_folder = vsphere.Folder("network_folder",
191
+ path="example-network-folder",
192
+ type="network",
193
+ datacenter_id=datacenter.id)
194
+ host_folder_folder = vsphere.Folder("host_folder",
195
+ path="example-host-folder",
196
+ type="host",
197
+ datacenter_id=datacenter.id)
198
+ vm_folder = vsphere.get_folder_output(path=pulumi.Output.all(
199
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
200
+ name=datacenter_datacenter.name,
201
+ vmFolderFolderPath=vm_folder_folder.path
202
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/vm/{resolved_outputs['vmFolderFolderPath']}")
203
+ )
204
+ datastore_folder = vsphere.get_folder_output(path=pulumi.Output.all(
205
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
206
+ name=datacenter_datacenter.name,
207
+ datastoreFolderFolderPath=datastore_folder_folder.path
208
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/datastore/{resolved_outputs['datastoreFolderFolderPath']}")
209
+ )
210
+ network_folder = vsphere.get_folder_output(path=pulumi.Output.all(
211
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
212
+ name=datacenter_datacenter.name,
213
+ networkFolderFolderPath=network_folder_folder.path
214
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/network/{resolved_outputs['networkFolderFolderPath']}")
215
+ )
216
+ host_folder = vsphere.get_folder_output(path=pulumi.Output.all(
217
+ datacenterFolderFolderPath=datacenter_folder_folder.path,
218
+ name=datacenter_datacenter.name,
219
+ hostFolderFolderPath=host_folder_folder.path
220
+ ).apply(lambda resolved_outputs: f"/{resolved_outputs['datacenterFolderFolderPath']}/{resolved_outputs['name']}/host/{resolved_outputs['hostFolderFolderPath']}")
221
+ )
222
+ pulumi.export("vmFolderId", vm_folder.id)
223
+ pulumi.export("datastoreFolderId", datastore_folder.id)
224
+ pulumi.export("networkFolderId", network_folder.id)
225
+ pulumi.export("hostFolderId", host_folder.id)
226
+ pulumi.export("datacenterId", datacenter.id)
227
+ pulumi.export("datacenterFolderPath", datacenter_folder_folder.path)
113
228
  ```
114
229
 
115
230
 
116
231
  :param builtins.str path: The absolute path of the folder. For example, given a
117
232
  default datacenter of `default-dc`, a folder of type `vm`, and a folder name
118
- of `test-folder`, the resulting path would be
119
- `/default-dc/vm/test-folder`. The valid folder types to be used in
120
- the path are: `vm`, `host`, `datacenter`, `datastore`, or `network`.
233
+ of `example-vm-folder`, the resulting `path` would be
234
+ `/default-dc/vm/example-vm-folder`.
235
+
236
+ For nested datacenters, include the full hierarchy in the path. For example, if datacenter
237
+ `default-dc` is inside folder `parent-folder`, the path to a VM folder would be
238
+ `/parent-folder/default-dc/vm/example-vm-folder`.
239
+
240
+ The valid folder types to be used in a `path` are: `vm`, `host`, `datacenter`, `datastore`, or `network`.
241
+
242
+ Always include a leading slash in the `path`.
121
243
  """
122
244
  __args__ = dict()
123
245
  __args__['path'] = path
@@ -54,11 +54,18 @@ class GetGuestOsCustomizationResult:
54
54
  @property
55
55
  @pulumi.getter(name="changeVersion")
56
56
  def change_version(self) -> builtins.str:
57
+ """
58
+ The number of last changed version to the customization
59
+ specification.
60
+ """
57
61
  return pulumi.get(self, "change_version")
58
62
 
59
63
  @property
60
64
  @pulumi.getter
61
65
  def description(self) -> builtins.str:
66
+ """
67
+ The description for the customization specification.
68
+ """
62
69
  return pulumi.get(self, "description")
63
70
 
64
71
  @property
@@ -72,6 +79,10 @@ class GetGuestOsCustomizationResult:
72
79
  @property
73
80
  @pulumi.getter(name="lastUpdateTime")
74
81
  def last_update_time(self) -> builtins.str:
82
+ """
83
+ The time of last modification to the customization
84
+ specification.
85
+ """
75
86
  return pulumi.get(self, "last_update_time")
76
87
 
77
88
  @property
@@ -82,11 +93,19 @@ class GetGuestOsCustomizationResult:
82
93
  @property
83
94
  @pulumi.getter
84
95
  def specs(self) -> Sequence['outputs.GetGuestOsCustomizationSpecResult']:
96
+ """
97
+ Container object for the guest operating system properties to be
98
+ customized. See
99
+ virtual machine customizations
100
+ """
85
101
  return pulumi.get(self, "specs")
86
102
 
87
103
  @property
88
104
  @pulumi.getter
89
105
  def type(self) -> builtins.str:
106
+ """
107
+ The type of customization specification: One among: Windows, Linux.
108
+ """
90
109
  return pulumi.get(self, "type")
91
110
 
92
111
 
@@ -113,7 +132,7 @@ def get_guest_os_customization(name: Optional[builtins.str] = None,
113
132
 
114
133
 
115
134
  :param builtins.str name: The name of the customization specification is the unique
116
- identifier per vCenter Server instance. ## Attribute Reference
135
+ identifier per vCenter Server instance.
117
136
  """
118
137
  __args__ = dict()
119
138
  __args__['name'] = name
@@ -136,7 +155,7 @@ def get_guest_os_customization_output(name: Optional[pulumi.Input[builtins.str]]
136
155
 
137
156
 
138
157
  :param builtins.str name: The name of the customization specification is the unique
139
- identifier per vCenter Server instance. ## Attribute Reference
158
+ identifier per vCenter Server instance.
140
159
  """
141
160
  __args__ = dict()
142
161
  __args__['name'] = name
@@ -61,14 +61,16 @@ class GetLicenseResult:
61
61
  @property
62
62
  @pulumi.getter
63
63
  def id(self) -> builtins.str:
64
+ """
65
+ The license key ID.
66
+ """
64
67
  return pulumi.get(self, "id")
65
68
 
66
69
  @property
67
70
  @pulumi.getter
68
71
  def labels(self) -> Mapping[str, builtins.str]:
69
72
  """
70
- A map of key/value pairs attached as labels (tags) to the license
71
- key.
73
+ A map of labels applied to the license key.
72
74
  """
73
75
  return pulumi.get(self, "labels")
74
76
 
@@ -89,7 +91,7 @@ class GetLicenseResult:
89
91
  @pulumi.getter
90
92
  def total(self) -> builtins.int:
91
93
  """
92
- Total number of units (example: CPUs) contained in the license.
94
+ The total number of units contained in the license key.
93
95
  """
94
96
  return pulumi.get(self, "total")
95
97
 
@@ -97,7 +99,7 @@ class GetLicenseResult:
97
99
  @pulumi.getter
98
100
  def used(self) -> builtins.int:
99
101
  """
100
- The number of units (example: CPUs) assigned to this license.
102
+ The number of units assigned to this license key.
101
103
  """
102
104
  return pulumi.get(self, "used")
103
105
 
@@ -133,7 +135,7 @@ def get_license(license_key: Optional[builtins.str] = None,
133
135
  ```
134
136
 
135
137
 
136
- :param builtins.str license_key: The license key.
138
+ :param builtins.str license_key: The license key value.
137
139
  """
138
140
  __args__ = dict()
139
141
  __args__['licenseKey'] = license_key
@@ -164,7 +166,7 @@ def get_license_output(license_key: Optional[pulumi.Input[builtins.str]] = None,
164
166
  ```
165
167
 
166
168
 
167
- :param builtins.str license_key: The license key.
169
+ :param builtins.str license_key: The license key value.
168
170
  """
169
171
  __args__ = dict()
170
172
  __args__['licenseKey'] = license_key