pulumi-vsphere 4.13.2__py3-none-any.whl → 4.14.0__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 (61) hide show
  1. pulumi_vsphere/compute_cluster.py +11 -10
  2. pulumi_vsphere/compute_cluster_host_group.py +71 -0
  3. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +1 -0
  4. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +5 -0
  5. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +5 -0
  6. pulumi_vsphere/compute_cluster_vm_group.py +5 -0
  7. pulumi_vsphere/compute_cluster_vm_host_rule.py +5 -0
  8. pulumi_vsphere/content_library.py +5 -0
  9. pulumi_vsphere/content_library_item.py +5 -0
  10. pulumi_vsphere/custom_attribute.py +5 -0
  11. pulumi_vsphere/datacenter.py +1 -0
  12. pulumi_vsphere/datastore_cluster.py +89 -0
  13. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +5 -0
  14. pulumi_vsphere/distributed_port_group.py +5 -0
  15. pulumi_vsphere/distributed_virtual_switch.py +5 -0
  16. pulumi_vsphere/distributed_virtual_switch_pvlan_mapping.py +1 -0
  17. pulumi_vsphere/dpm_host_override.py +89 -0
  18. pulumi_vsphere/drs_vm_override.py +5 -0
  19. pulumi_vsphere/entity_permissions.py +1 -0
  20. pulumi_vsphere/file.py +35 -49
  21. pulumi_vsphere/folder.py +17 -12
  22. pulumi_vsphere/get_compute_cluster_host_group.py +0 -4
  23. pulumi_vsphere/get_datastore_cluster.py +1 -1
  24. pulumi_vsphere/get_datastore_stats.py +0 -4
  25. pulumi_vsphere/get_dynamic.py +0 -4
  26. pulumi_vsphere/get_folder.py +130 -8
  27. pulumi_vsphere/get_guest_os_customization.py +21 -2
  28. pulumi_vsphere/get_license.py +8 -6
  29. pulumi_vsphere/get_network.py +35 -1
  30. pulumi_vsphere/get_ovf_vm_template.py +4 -4
  31. pulumi_vsphere/guest_os_customization.py +1 -0
  32. pulumi_vsphere/ha_vm_override.py +5 -0
  33. pulumi_vsphere/host.py +61 -6
  34. pulumi_vsphere/host_port_group.py +1 -0
  35. pulumi_vsphere/host_virtual_switch.py +5 -0
  36. pulumi_vsphere/license.py +67 -26
  37. pulumi_vsphere/nas_datastore.py +63 -0
  38. pulumi_vsphere/offline_software_depot.py +5 -0
  39. pulumi_vsphere/outputs.py +33 -0
  40. pulumi_vsphere/provider.py +21 -0
  41. pulumi_vsphere/pulumi-plugin.json +1 -1
  42. pulumi_vsphere/resource_pool.py +490 -163
  43. pulumi_vsphere/role.py +1 -0
  44. pulumi_vsphere/storage_drs_vm_override.py +5 -0
  45. pulumi_vsphere/supervisor.py +3 -2
  46. pulumi_vsphere/tag.py +5 -0
  47. pulumi_vsphere/tag_category.py +5 -0
  48. pulumi_vsphere/vapp_container.py +5 -0
  49. pulumi_vsphere/vapp_entity.py +5 -0
  50. pulumi_vsphere/virtual_disk.py +5 -0
  51. pulumi_vsphere/virtual_machine.py +5 -4
  52. pulumi_vsphere/virtual_machine_class.py +5 -4
  53. pulumi_vsphere/virtual_machine_snapshot.py +1 -0
  54. pulumi_vsphere/vm_storage_policy.py +1 -0
  55. pulumi_vsphere/vmfs_datastore.py +5 -0
  56. pulumi_vsphere/vnic.py +1 -0
  57. {pulumi_vsphere-4.13.2.dist-info → pulumi_vsphere-4.14.0.dist-info}/METADATA +3 -3
  58. pulumi_vsphere-4.14.0.dist-info/RECORD +87 -0
  59. {pulumi_vsphere-4.13.2.dist-info → pulumi_vsphere-4.14.0.dist-info}/WHEEL +1 -1
  60. pulumi_vsphere-4.13.2.dist-info/RECORD +0 -87
  61. {pulumi_vsphere-4.13.2.dist-info → pulumi_vsphere-4.14.0.dist-info}/top_level.txt +0 -0
@@ -2454,6 +2454,7 @@ class _ComputeClusterState:
2454
2454
  pulumi.set(self, "vsan_verbose_mode_enabled", value)
2455
2455
 
2456
2456
 
2457
+ @pulumi.type_token("vsphere:index/computeCluster:ComputeCluster")
2457
2458
  class ComputeCluster(pulumi.CustomResource):
2458
2459
  @overload
2459
2460
  def __init__(__self__,
@@ -2560,6 +2561,8 @@ class ComputeCluster(pulumi.CustomResource):
2560
2561
 
2561
2562
  path to the cluster, via the following command:
2562
2563
 
2564
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
2565
+
2563
2566
  hcl
2564
2567
 
2565
2568
  variable "datacenter" {
@@ -2576,9 +2579,9 @@ class ComputeCluster(pulumi.CustomResource):
2576
2579
 
2577
2580
  resource "vsphere_compute_cluster" "compute_cluster" {
2578
2581
 
2579
- name = "cluster-01"
2582
+ name = "cluster-01"
2580
2583
 
2581
- datacenter_id = data.vsphere_datacenter.datacenter.id
2584
+ datacenter_id = data.vsphere_datacenter.datacenter.id
2582
2585
 
2583
2586
  }
2584
2587
 
@@ -2606,9 +2609,7 @@ class ComputeCluster(pulumi.CustomResource):
2606
2609
 
2607
2610
  ha_datastore_pdl_response = "restartAggressive"
2608
2611
 
2609
- ... etc.
2610
-
2611
- console
2612
+ }
2612
2613
 
2613
2614
  ```sh
2614
2615
  $ pulumi import vsphere:index/computeCluster:ComputeCluster compute_cluster /dc-01/host/cluster-01
@@ -2774,6 +2775,8 @@ class ComputeCluster(pulumi.CustomResource):
2774
2775
 
2775
2776
  path to the cluster, via the following command:
2776
2777
 
2778
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
2779
+
2777
2780
  hcl
2778
2781
 
2779
2782
  variable "datacenter" {
@@ -2790,9 +2793,9 @@ class ComputeCluster(pulumi.CustomResource):
2790
2793
 
2791
2794
  resource "vsphere_compute_cluster" "compute_cluster" {
2792
2795
 
2793
- name = "cluster-01"
2796
+ name = "cluster-01"
2794
2797
 
2795
- datacenter_id = data.vsphere_datacenter.datacenter.id
2798
+ datacenter_id = data.vsphere_datacenter.datacenter.id
2796
2799
 
2797
2800
  }
2798
2801
 
@@ -2820,9 +2823,7 @@ class ComputeCluster(pulumi.CustomResource):
2820
2823
 
2821
2824
  ha_datastore_pdl_response = "restartAggressive"
2822
2825
 
2823
- ... etc.
2824
-
2825
- console
2826
+ }
2826
2827
 
2827
2828
  ```sh
2828
2829
  $ pulumi import vsphere:index/computeCluster:ComputeCluster compute_cluster /dc-01/host/cluster-01
@@ -164,6 +164,7 @@ class _ComputeClusterHostGroupState:
164
164
  pulumi.set(self, "name", value)
165
165
 
166
166
 
167
+ @pulumi.type_token("vsphere:index/computeClusterHostGroup:ComputeClusterHostGroup")
167
168
  class ComputeClusterHostGroup(pulumi.CustomResource):
168
169
  @overload
169
170
  def __init__(__self__,
@@ -187,6 +188,39 @@ class ComputeClusterHostGroup(pulumi.CustomResource):
187
188
  > **NOTE:** This resource requires vCenter and is not available on direct ESXi
188
189
  connections.
189
190
 
191
+ ## Example Usage
192
+
193
+ ```python
194
+ import pulumi
195
+ import pulumi_vsphere as vsphere
196
+
197
+ config = pulumi.Config()
198
+ datacenter = config.get("datacenter")
199
+ if datacenter is None:
200
+ datacenter = "dc-01"
201
+ hosts = config.get_object("hosts")
202
+ if hosts is None:
203
+ hosts = [
204
+ "esxi-01.example.com",
205
+ "esxi-02.example.com",
206
+ "esxi-03.example.com",
207
+ ]
208
+ datacenter_get_datacenter = vsphere.get_datacenter(name=datacenter)
209
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
210
+ datacenter_id=datacenter_get_datacenter.id) for __index in range(len(hosts))]
211
+ compute_cluster = vsphere.ComputeCluster("compute_cluster",
212
+ name="compute-cluster-test",
213
+ datacenter_id=dc["id"],
214
+ host_system_ids=[[__item.id for __item in hosts_get_host]],
215
+ drs_enabled=True,
216
+ drs_automation_level="fullyAutomated",
217
+ ha_enabled=True)
218
+ cluster_host_group = vsphere.ComputeClusterHostGroup("cluster_host_group",
219
+ name="test-cluster-host-group",
220
+ compute_cluster_id=compute_cluster.id,
221
+ host_system_ids=[[__item.id for __item in hosts_get_host]])
222
+ ```
223
+
190
224
  ## Import
191
225
 
192
226
  An existing group can be imported into this resource by
@@ -197,6 +231,8 @@ class ComputeClusterHostGroup(pulumi.CustomResource):
197
231
 
198
232
  will be returned. An example is below:
199
233
 
234
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
235
+
200
236
  ```sh
201
237
  $ pulumi import vsphere:index/computeClusterHostGroup:ComputeClusterHostGroup cluster_host_group \\
202
238
  ```
@@ -240,6 +276,39 @@ class ComputeClusterHostGroup(pulumi.CustomResource):
240
276
  > **NOTE:** This resource requires vCenter and is not available on direct ESXi
241
277
  connections.
242
278
 
279
+ ## Example Usage
280
+
281
+ ```python
282
+ import pulumi
283
+ import pulumi_vsphere as vsphere
284
+
285
+ config = pulumi.Config()
286
+ datacenter = config.get("datacenter")
287
+ if datacenter is None:
288
+ datacenter = "dc-01"
289
+ hosts = config.get_object("hosts")
290
+ if hosts is None:
291
+ hosts = [
292
+ "esxi-01.example.com",
293
+ "esxi-02.example.com",
294
+ "esxi-03.example.com",
295
+ ]
296
+ datacenter_get_datacenter = vsphere.get_datacenter(name=datacenter)
297
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
298
+ datacenter_id=datacenter_get_datacenter.id) for __index in range(len(hosts))]
299
+ compute_cluster = vsphere.ComputeCluster("compute_cluster",
300
+ name="compute-cluster-test",
301
+ datacenter_id=dc["id"],
302
+ host_system_ids=[[__item.id for __item in hosts_get_host]],
303
+ drs_enabled=True,
304
+ drs_automation_level="fullyAutomated",
305
+ ha_enabled=True)
306
+ cluster_host_group = vsphere.ComputeClusterHostGroup("cluster_host_group",
307
+ name="test-cluster-host-group",
308
+ compute_cluster_id=compute_cluster.id,
309
+ host_system_ids=[[__item.id for __item in hosts_get_host]])
310
+ ```
311
+
243
312
  ## Import
244
313
 
245
314
  An existing group can be imported into this resource by
@@ -250,6 +319,8 @@ class ComputeClusterHostGroup(pulumi.CustomResource):
250
319
 
251
320
  will be returned. An example is below:
252
321
 
322
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
323
+
253
324
  ```sh
254
325
  $ pulumi import vsphere:index/computeClusterHostGroup:ComputeClusterHostGroup cluster_host_group \\
255
326
  ```
@@ -223,6 +223,7 @@ class _ComputeClusterVmAffinityRuleState:
223
223
  pulumi.set(self, "virtual_machine_ids", value)
224
224
 
225
225
 
226
+ @pulumi.type_token("vsphere:index/computeClusterVmAffinityRule:ComputeClusterVmAffinityRule")
226
227
  class ComputeClusterVmAffinityRule(pulumi.CustomResource):
227
228
  @overload
228
229
  def __init__(__self__,
@@ -223,6 +223,7 @@ class _ComputeClusterVmAntiAffinityRuleState:
223
223
  pulumi.set(self, "virtual_machine_ids", value)
224
224
 
225
225
 
226
+ @pulumi.type_token("vsphere:index/computeClusterVmAntiAffinityRule:ComputeClusterVmAntiAffinityRule")
226
227
  class ComputeClusterVmAntiAffinityRule(pulumi.CustomResource):
227
228
  @overload
228
229
  def __init__(__self__,
@@ -245,6 +246,8 @@ class ComputeClusterVmAntiAffinityRule(pulumi.CustomResource):
245
246
 
246
247
  example is below:
247
248
 
249
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
250
+
248
251
  ```sh
249
252
  $ pulumi import vsphere:index/computeClusterVmAntiAffinityRule:ComputeClusterVmAntiAffinityRule vm_anti_affinity_rule \\
250
253
  ```
@@ -286,6 +289,8 @@ class ComputeClusterVmAntiAffinityRule(pulumi.CustomResource):
286
289
 
287
290
  example is below:
288
291
 
292
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
293
+
289
294
  ```sh
290
295
  $ pulumi import vsphere:index/computeClusterVmAntiAffinityRule:ComputeClusterVmAntiAffinityRule vm_anti_affinity_rule \\
291
296
  ```
@@ -278,6 +278,7 @@ class _ComputeClusterVmDependencyRuleState:
278
278
  pulumi.set(self, "vm_group_name", value)
279
279
 
280
280
 
281
+ @pulumi.type_token("vsphere:index/computeClusterVmDependencyRule:ComputeClusterVmDependencyRule")
281
282
  class ComputeClusterVmDependencyRule(pulumi.CustomResource):
282
283
  @overload
283
284
  def __init__(__self__,
@@ -383,6 +384,8 @@ class ComputeClusterVmDependencyRule(pulumi.CustomResource):
383
384
 
384
385
  example is below:
385
386
 
387
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
388
+
386
389
  ```sh
387
390
  $ pulumi import vsphere:index/computeClusterVmDependencyRule:ComputeClusterVmDependencyRule cluster_vm_dependency_rule \\
388
391
  ```
@@ -513,6 +516,8 @@ class ComputeClusterVmDependencyRule(pulumi.CustomResource):
513
516
 
514
517
  example is below:
515
518
 
519
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
520
+
516
521
  ```sh
517
522
  $ pulumi import vsphere:index/computeClusterVmDependencyRule:ComputeClusterVmDependencyRule cluster_vm_dependency_rule \\
518
523
  ```
@@ -184,6 +184,7 @@ class _ComputeClusterVmGroupState:
184
184
  pulumi.set(self, "virtual_machine_ids", value)
185
185
 
186
186
 
187
+ @pulumi.type_token("vsphere:index/computeClusterVmGroup:ComputeClusterVmGroup")
187
188
  class ComputeClusterVmGroup(pulumi.CustomResource):
188
189
  @overload
189
190
  def __init__(__self__,
@@ -265,6 +266,8 @@ class ComputeClusterVmGroup(pulumi.CustomResource):
265
266
 
266
267
  will be returned. An example is below:
267
268
 
269
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
270
+
268
271
  ```sh
269
272
  $ pulumi import vsphere:index/computeClusterVmGroup:ComputeClusterVmGroup cluster_vm_group \\
270
273
  ```
@@ -371,6 +374,8 @@ class ComputeClusterVmGroup(pulumi.CustomResource):
371
374
 
372
375
  will be returned. An example is below:
373
376
 
377
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
378
+
374
379
  ```sh
375
380
  $ pulumi import vsphere:index/computeClusterVmGroup:ComputeClusterVmGroup cluster_vm_group \\
376
381
  ```
@@ -323,6 +323,7 @@ class _ComputeClusterVmHostRuleState:
323
323
  pulumi.set(self, "vm_group_name", value)
324
324
 
325
325
 
326
+ @pulumi.type_token("vsphere:index/computeClusterVmHostRule:ComputeClusterVmHostRule")
326
327
  class ComputeClusterVmHostRule(pulumi.CustomResource):
327
328
  @overload
328
329
  def __init__(__self__,
@@ -425,6 +426,8 @@ class ComputeClusterVmHostRule(pulumi.CustomResource):
425
426
 
426
427
  example is below:
427
428
 
429
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
430
+
428
431
  ```sh
429
432
  $ pulumi import vsphere:index/computeClusterVmHostRule:ComputeClusterVmHostRule cluster_vm_host_rule \\
430
433
  ```
@@ -555,6 +558,8 @@ class ComputeClusterVmHostRule(pulumi.CustomResource):
555
558
 
556
559
  example is below:
557
560
 
561
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
562
+
558
563
  ```sh
559
564
  $ pulumi import vsphere:index/computeClusterVmHostRule:ComputeClusterVmHostRule cluster_vm_host_rule \\
560
565
  ```
@@ -194,6 +194,7 @@ class _ContentLibraryState:
194
194
  pulumi.set(self, "subscription", value)
195
195
 
196
196
 
197
+ @pulumi.type_token("vsphere:index/contentLibrary:ContentLibrary")
197
198
  class ContentLibrary(pulumi.CustomResource):
198
199
  @overload
199
200
  def __init__(__self__,
@@ -251,6 +252,8 @@ class ContentLibrary(pulumi.CustomResource):
251
252
 
252
253
  An existing content library can be imported into this resource by supplying the content library ID. For example:
253
254
 
255
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
256
+
254
257
  ```sh
255
258
  $ pulumi import vsphere:index/contentLibrary:ContentLibrary vsphere_content_library publisher_content_library f42a4b25-844a-44ec-9063-a3a5e9cc88c7
256
259
  ```
@@ -315,6 +318,8 @@ class ContentLibrary(pulumi.CustomResource):
315
318
 
316
319
  An existing content library can be imported into this resource by supplying the content library ID. For example:
317
320
 
321
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
322
+
318
323
  ```sh
319
324
  $ pulumi import vsphere:index/contentLibrary:ContentLibrary vsphere_content_library publisher_content_library f42a4b25-844a-44ec-9063-a3a5e9cc88c7
320
325
  ```
@@ -228,6 +228,7 @@ class _ContentLibraryItemState:
228
228
  pulumi.set(self, "type", value)
229
229
 
230
230
 
231
+ @pulumi.type_token("vsphere:index/contentLibraryItem:ContentLibraryItem")
231
232
  class ContentLibraryItem(pulumi.CustomResource):
232
233
  @overload
233
234
  def __init__(__self__,
@@ -306,6 +307,8 @@ class ContentLibraryItem(pulumi.CustomResource):
306
307
 
307
308
  supplying the content library ID. An example is below:
308
309
 
310
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
311
+
309
312
  ```sh
310
313
  $ pulumi import vsphere:index/contentLibraryItem:ContentLibraryItem vsphere_content_library_item iso-linux-ubuntu-server-lts xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
311
314
  ```
@@ -392,6 +395,8 @@ class ContentLibraryItem(pulumi.CustomResource):
392
395
 
393
396
  supplying the content library ID. An example is below:
394
397
 
398
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
399
+
395
400
  ```sh
396
401
  $ pulumi import vsphere:index/contentLibraryItem:ContentLibraryItem vsphere_content_library_item iso-linux-ubuntu-server-lts xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
397
402
  ```
@@ -105,6 +105,7 @@ class _CustomAttributeState:
105
105
  pulumi.set(self, "name", value)
106
106
 
107
107
 
108
+ @pulumi.type_token("vsphere:index/customAttribute:CustomAttribute")
108
109
  class CustomAttribute(pulumi.CustomResource):
109
110
  @overload
110
111
  def __init__(__self__,
@@ -146,6 +147,8 @@ class CustomAttribute(pulumi.CustomResource):
146
147
 
147
148
  via its name, using the following command:
148
149
 
150
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
151
+
149
152
  ```sh
150
153
  $ pulumi import vsphere:index/customAttribute:CustomAttribute attribute terraform-test-attribute
151
154
  ```
@@ -196,6 +199,8 @@ class CustomAttribute(pulumi.CustomResource):
196
199
 
197
200
  via its name, using the following command:
198
201
 
202
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
203
+
199
204
  ```sh
200
205
  $ pulumi import vsphere:index/customAttribute:CustomAttribute attribute terraform-test-attribute
201
206
  ```
@@ -217,6 +217,7 @@ class _DatacenterState:
217
217
  pulumi.set(self, "tags", value)
218
218
 
219
219
 
220
+ @pulumi.type_token("vsphere:index/datacenter:Datacenter")
220
221
  class Datacenter(pulumi.CustomResource):
221
222
  @overload
222
223
  def __init__(__self__,
@@ -920,6 +920,7 @@ class _DatastoreClusterState:
920
920
  pulumi.set(self, "tags", value)
921
921
 
922
922
 
923
+ @pulumi.type_token("vsphere:index/datastoreCluster:DatastoreCluster")
923
924
  class DatastoreCluster(pulumi.CustomResource):
924
925
  @overload
925
926
  def __init__(__self__,
@@ -967,12 +968,56 @@ class DatastoreCluster(pulumi.CustomResource):
967
968
 
968
969
  > **NOTE:** Storage DRS requires a vSphere Enterprise Plus license.
969
970
 
971
+ ## Example Usage
972
+
973
+ The following example sets up a datastore cluster and enables Storage DRS with
974
+ the default settings. It then creates two NAS datastores using the
975
+ `NasDatastore` resource and assigns them to
976
+ the datastore cluster.
977
+
978
+ ```python
979
+ import pulumi
980
+ import pulumi_vsphere as vsphere
981
+
982
+ config = pulumi.Config()
983
+ hosts = config.get_object("hosts")
984
+ if hosts is None:
985
+ hosts = [
986
+ "esxi-01.example.com",
987
+ "esxi-02.example.com",
988
+ "esxi-03.example.com",
989
+ ]
990
+ datacenter = vsphere.get_datacenter()
991
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
992
+ datacenter_id=datacenter.id) for __index in range(len(hosts))]
993
+ datastore_cluster = vsphere.DatastoreCluster("datastore_cluster",
994
+ name="datastore-cluster-test",
995
+ datacenter_id=datacenter.id,
996
+ sdrs_enabled=True)
997
+ datastore1 = vsphere.NasDatastore("datastore1",
998
+ name="datastore-test1",
999
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
1000
+ datastore_cluster_id=datastore_cluster.id,
1001
+ type="NFS",
1002
+ remote_hosts=["nfs"],
1003
+ remote_path="/export/test1")
1004
+ datastore2 = vsphere.NasDatastore("datastore2",
1005
+ name="datastore-test2",
1006
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
1007
+ datastore_cluster_id=datastore_cluster.id,
1008
+ type="NFS",
1009
+ remote_hosts=["nfs"],
1010
+ remote_path="/export/test2")
1011
+ ```
1012
+
970
1013
  ## Import
971
1014
 
972
1015
  An existing datastore cluster can be imported into this resource
973
1016
 
974
1017
  via the path to the cluster, via the following command:
975
1018
 
1019
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
1020
+
976
1021
  ```sh
977
1022
  $ pulumi import vsphere:index/datastoreCluster:DatastoreCluster datastore_cluster /dc1/datastore/ds-cluster
978
1023
  ```
@@ -1053,12 +1098,56 @@ class DatastoreCluster(pulumi.CustomResource):
1053
1098
 
1054
1099
  > **NOTE:** Storage DRS requires a vSphere Enterprise Plus license.
1055
1100
 
1101
+ ## Example Usage
1102
+
1103
+ The following example sets up a datastore cluster and enables Storage DRS with
1104
+ the default settings. It then creates two NAS datastores using the
1105
+ `NasDatastore` resource and assigns them to
1106
+ the datastore cluster.
1107
+
1108
+ ```python
1109
+ import pulumi
1110
+ import pulumi_vsphere as vsphere
1111
+
1112
+ config = pulumi.Config()
1113
+ hosts = config.get_object("hosts")
1114
+ if hosts is None:
1115
+ hosts = [
1116
+ "esxi-01.example.com",
1117
+ "esxi-02.example.com",
1118
+ "esxi-03.example.com",
1119
+ ]
1120
+ datacenter = vsphere.get_datacenter()
1121
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
1122
+ datacenter_id=datacenter.id) for __index in range(len(hosts))]
1123
+ datastore_cluster = vsphere.DatastoreCluster("datastore_cluster",
1124
+ name="datastore-cluster-test",
1125
+ datacenter_id=datacenter.id,
1126
+ sdrs_enabled=True)
1127
+ datastore1 = vsphere.NasDatastore("datastore1",
1128
+ name="datastore-test1",
1129
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
1130
+ datastore_cluster_id=datastore_cluster.id,
1131
+ type="NFS",
1132
+ remote_hosts=["nfs"],
1133
+ remote_path="/export/test1")
1134
+ datastore2 = vsphere.NasDatastore("datastore2",
1135
+ name="datastore-test2",
1136
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
1137
+ datastore_cluster_id=datastore_cluster.id,
1138
+ type="NFS",
1139
+ remote_hosts=["nfs"],
1140
+ remote_path="/export/test2")
1141
+ ```
1142
+
1056
1143
  ## Import
1057
1144
 
1058
1145
  An existing datastore cluster can be imported into this resource
1059
1146
 
1060
1147
  via the path to the cluster, via the following command:
1061
1148
 
1149
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
1150
+
1062
1151
  ```sh
1063
1152
  $ pulumi import vsphere:index/datastoreCluster:DatastoreCluster datastore_cluster /dc1/datastore/ds-cluster
1064
1153
  ```
@@ -215,6 +215,7 @@ class _DatastoreClusterVmAntiAffinityRuleState:
215
215
  pulumi.set(self, "virtual_machine_ids", value)
216
216
 
217
217
 
218
+ @pulumi.type_token("vsphere:index/datastoreClusterVmAntiAffinityRule:DatastoreClusterVmAntiAffinityRule")
218
219
  class DatastoreClusterVmAntiAffinityRule(pulumi.CustomResource):
219
220
  @overload
220
221
  def __init__(__self__,
@@ -296,6 +297,8 @@ class DatastoreClusterVmAntiAffinityRule(pulumi.CustomResource):
296
297
 
297
298
  example is below:
298
299
 
300
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
301
+
299
302
  ```sh
300
303
  $ pulumi import vsphere:index/datastoreClusterVmAntiAffinityRule:DatastoreClusterVmAntiAffinityRule cluster_vm_anti_affinity_rule \\
301
304
  ```
@@ -394,6 +397,8 @@ class DatastoreClusterVmAntiAffinityRule(pulumi.CustomResource):
394
397
 
395
398
  example is below:
396
399
 
400
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
401
+
397
402
  ```sh
398
403
  $ pulumi import vsphere:index/datastoreClusterVmAntiAffinityRule:DatastoreClusterVmAntiAffinityRule cluster_vm_anti_affinity_rule \\
399
404
  ```
@@ -1624,6 +1624,7 @@ class _DistributedPortGroupState:
1624
1624
  pulumi.set(self, "vlan_ranges", value)
1625
1625
 
1626
1626
 
1627
+ @pulumi.type_token("vsphere:index/distributedPortGroup:DistributedPortGroup")
1627
1628
  class DistributedPortGroup(pulumi.CustomResource):
1628
1629
  @overload
1629
1630
  def __init__(__self__,
@@ -1809,6 +1810,8 @@ class DistributedPortGroup(pulumi.CustomResource):
1809
1810
 
1810
1811
  the managed object id of the port group, via the following command:
1811
1812
 
1813
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
1814
+
1812
1815
  ```sh
1813
1816
  $ pulumi import vsphere:index/distributedPortGroup:DistributedPortGroup pg /dc-01/network/pg-01
1814
1817
  ```
@@ -2026,6 +2029,8 @@ class DistributedPortGroup(pulumi.CustomResource):
2026
2029
 
2027
2030
  the managed object id of the port group, via the following command:
2028
2031
 
2032
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
2033
+
2029
2034
  ```sh
2030
2035
  $ pulumi import vsphere:index/distributedPortGroup:DistributedPortGroup pg /dc-01/network/pg-01
2031
2036
  ```
@@ -3144,6 +3144,7 @@ class _DistributedVirtualSwitchState:
3144
3144
  pulumi.set(self, "vsan_share_level", value)
3145
3145
 
3146
3146
 
3147
+ @pulumi.type_token("vsphere:index/distributedVirtualSwitch:DistributedVirtualSwitch")
3147
3148
  class DistributedVirtualSwitch(pulumi.CustomResource):
3148
3149
  @overload
3149
3150
  def __init__(__self__,
@@ -3365,6 +3366,8 @@ class DistributedVirtualSwitch(pulumi.CustomResource):
3365
3366
 
3366
3367
  to the VDS, via the following command:
3367
3368
 
3369
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
3370
+
3368
3371
  ```sh
3369
3372
  $ pulumi import vsphere:index/distributedVirtualSwitch:DistributedVirtualSwitch vds /dc-01/network/vds-01
3370
3373
  ```
@@ -3618,6 +3621,8 @@ class DistributedVirtualSwitch(pulumi.CustomResource):
3618
3621
 
3619
3622
  to the VDS, via the following command:
3620
3623
 
3624
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
3625
+
3621
3626
  ```sh
3622
3627
  $ pulumi import vsphere:index/distributedVirtualSwitch:DistributedVirtualSwitch vds /dc-01/network/vds-01
3623
3628
  ```
@@ -157,6 +157,7 @@ class _DistributedVirtualSwitchPvlanMappingState:
157
157
  pulumi.set(self, "secondary_vlan_id", value)
158
158
 
159
159
 
160
+ @pulumi.type_token("vsphere:index/distributedVirtualSwitchPvlanMapping:DistributedVirtualSwitchPvlanMapping")
160
161
  class DistributedVirtualSwitchPvlanMapping(pulumi.CustomResource):
161
162
  @overload
162
163
  def __init__(__self__,