pulumi-vsphere 4.14.0a1746734806__py3-none-any.whl → 4.15.0a1747983379__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 (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.15.0a1747983379.dist-info}/METADATA +1 -1
  47. pulumi_vsphere-4.15.0a1747983379.dist-info/RECORD +87 -0
  48. {pulumi_vsphere-4.14.0a1746734806.dist-info → pulumi_vsphere-4.15.0a1747983379.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.15.0a1747983379.dist-info}/top_level.txt +0 -0
@@ -29,7 +29,7 @@ class GetNetworkResult:
29
29
  """
30
30
  A collection of values returned by getNetwork.
31
31
  """
32
- def __init__(__self__, datacenter_id=None, distributed_virtual_switch_uuid=None, filters=None, id=None, name=None, type=None):
32
+ def __init__(__self__, datacenter_id=None, distributed_virtual_switch_uuid=None, filters=None, id=None, name=None, retry_interval=None, retry_timeout=None, type=None):
33
33
  if datacenter_id and not isinstance(datacenter_id, str):
34
34
  raise TypeError("Expected argument 'datacenter_id' to be a str")
35
35
  pulumi.set(__self__, "datacenter_id", datacenter_id)
@@ -45,6 +45,12 @@ class GetNetworkResult:
45
45
  if name and not isinstance(name, str):
46
46
  raise TypeError("Expected argument 'name' to be a str")
47
47
  pulumi.set(__self__, "name", name)
48
+ if retry_interval and not isinstance(retry_interval, int):
49
+ raise TypeError("Expected argument 'retry_interval' to be a int")
50
+ pulumi.set(__self__, "retry_interval", retry_interval)
51
+ if retry_timeout and not isinstance(retry_timeout, int):
52
+ raise TypeError("Expected argument 'retry_timeout' to be a int")
53
+ pulumi.set(__self__, "retry_timeout", retry_timeout)
48
54
  if type and not isinstance(type, str):
49
55
  raise TypeError("Expected argument 'type' to be a str")
50
56
  pulumi.set(__self__, "type", type)
@@ -77,6 +83,16 @@ class GetNetworkResult:
77
83
  def name(self) -> builtins.str:
78
84
  return pulumi.get(self, "name")
79
85
 
86
+ @property
87
+ @pulumi.getter(name="retryInterval")
88
+ def retry_interval(self) -> Optional[builtins.int]:
89
+ return pulumi.get(self, "retry_interval")
90
+
91
+ @property
92
+ @pulumi.getter(name="retryTimeout")
93
+ def retry_timeout(self) -> Optional[builtins.int]:
94
+ return pulumi.get(self, "retry_timeout")
95
+
80
96
  @property
81
97
  @pulumi.getter
82
98
  def type(self) -> builtins.str:
@@ -100,6 +116,8 @@ class AwaitableGetNetworkResult(GetNetworkResult):
100
116
  filters=self.filters,
101
117
  id=self.id,
102
118
  name=self.name,
119
+ retry_interval=self.retry_interval,
120
+ retry_timeout=self.retry_timeout,
103
121
  type=self.type)
104
122
 
105
123
 
@@ -107,6 +125,8 @@ def get_network(datacenter_id: Optional[builtins.str] = None,
107
125
  distributed_virtual_switch_uuid: Optional[builtins.str] = None,
108
126
  filters: Optional[Sequence[Union['GetNetworkFilterArgs', 'GetNetworkFilterArgsDict']]] = None,
109
127
  name: Optional[builtins.str] = None,
128
+ retry_interval: Optional[builtins.int] = None,
129
+ retry_timeout: Optional[builtins.int] = None,
110
130
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkResult:
111
131
  """
112
132
  The `get_network` data source can be used to discover the ID of a network in
@@ -151,12 +171,16 @@ def get_network(datacenter_id: Optional[builtins.str] = None,
151
171
  the distributed virtual switch ID.
152
172
  :param Sequence[Union['GetNetworkFilterArgs', 'GetNetworkFilterArgsDict']] filters: Apply a filter for the discovered network.
153
173
  :param builtins.str name: The name of the network. This can be a name or path.
174
+ :param builtins.int retry_interval: The interval in milliseconds to retry the read operation if `retry_timeout` is set. Default: 500.
175
+ :param builtins.int retry_timeout: The timeout duration in seconds for the data source to retry read operations.
154
176
  """
155
177
  __args__ = dict()
156
178
  __args__['datacenterId'] = datacenter_id
157
179
  __args__['distributedVirtualSwitchUuid'] = distributed_virtual_switch_uuid
158
180
  __args__['filters'] = filters
159
181
  __args__['name'] = name
182
+ __args__['retryInterval'] = retry_interval
183
+ __args__['retryTimeout'] = retry_timeout
160
184
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
161
185
  __ret__ = pulumi.runtime.invoke('vsphere:index/getNetwork:getNetwork', __args__, opts=opts, typ=GetNetworkResult).value
162
186
 
@@ -166,11 +190,15 @@ def get_network(datacenter_id: Optional[builtins.str] = None,
166
190
  filters=pulumi.get(__ret__, 'filters'),
167
191
  id=pulumi.get(__ret__, 'id'),
168
192
  name=pulumi.get(__ret__, 'name'),
193
+ retry_interval=pulumi.get(__ret__, 'retry_interval'),
194
+ retry_timeout=pulumi.get(__ret__, 'retry_timeout'),
169
195
  type=pulumi.get(__ret__, 'type'))
170
196
  def get_network_output(datacenter_id: Optional[pulumi.Input[Optional[builtins.str]]] = None,
171
197
  distributed_virtual_switch_uuid: Optional[pulumi.Input[Optional[builtins.str]]] = None,
172
198
  filters: Optional[pulumi.Input[Optional[Sequence[Union['GetNetworkFilterArgs', 'GetNetworkFilterArgsDict']]]]] = None,
173
199
  name: Optional[pulumi.Input[builtins.str]] = None,
200
+ retry_interval: Optional[pulumi.Input[Optional[builtins.int]]] = None,
201
+ retry_timeout: Optional[pulumi.Input[Optional[builtins.int]]] = None,
174
202
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkResult]:
175
203
  """
176
204
  The `get_network` data source can be used to discover the ID of a network in
@@ -215,12 +243,16 @@ def get_network_output(datacenter_id: Optional[pulumi.Input[Optional[builtins.st
215
243
  the distributed virtual switch ID.
216
244
  :param Sequence[Union['GetNetworkFilterArgs', 'GetNetworkFilterArgsDict']] filters: Apply a filter for the discovered network.
217
245
  :param builtins.str name: The name of the network. This can be a name or path.
246
+ :param builtins.int retry_interval: The interval in milliseconds to retry the read operation if `retry_timeout` is set. Default: 500.
247
+ :param builtins.int retry_timeout: The timeout duration in seconds for the data source to retry read operations.
218
248
  """
219
249
  __args__ = dict()
220
250
  __args__['datacenterId'] = datacenter_id
221
251
  __args__['distributedVirtualSwitchUuid'] = distributed_virtual_switch_uuid
222
252
  __args__['filters'] = filters
223
253
  __args__['name'] = name
254
+ __args__['retryInterval'] = retry_interval
255
+ __args__['retryTimeout'] = retry_timeout
224
256
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
225
257
  __ret__ = pulumi.runtime.invoke_output('vsphere:index/getNetwork:getNetwork', __args__, opts=opts, typ=GetNetworkResult)
226
258
  return __ret__.apply(lambda __response__: GetNetworkResult(
@@ -229,4 +261,6 @@ def get_network_output(datacenter_id: Optional[pulumi.Input[Optional[builtins.st
229
261
  filters=pulumi.get(__response__, 'filters'),
230
262
  id=pulumi.get(__response__, 'id'),
231
263
  name=pulumi.get(__response__, 'name'),
264
+ retry_interval=pulumi.get(__response__, 'retry_interval'),
265
+ retry_timeout=pulumi.get(__response__, 'retry_timeout'),
232
266
  type=pulumi.get(__response__, 'type')))
@@ -400,8 +400,8 @@ def get_ovf_vm_template(allow_unverified_ssl_cert: Optional[builtins.bool] = Non
400
400
  :param builtins.str deployment_option: The key of the chosen deployment option. If
401
401
  empty, the default option is chosen.
402
402
  :param builtins.str disk_provisioning: The disk provisioning type. If set, all the
403
- disks in the deployed OVA/OVF will have the same specified disk type. Can be
404
- one of `thin`, `flat`, `thick` or `sameAsSource`.
403
+ disks included in the OVF/OVA will have the same specified policy. Can be
404
+ one of `thin`, `thick`, `eagerZeroedThick`, or `sameAsSource`.
405
405
  :param builtins.bool enable_hidden_properties: Allow properties with
406
406
  `ovf:userConfigurable=false` to be set.
407
407
  :param builtins.str folder: The name of the folder in which to place the virtual
@@ -503,8 +503,8 @@ def get_ovf_vm_template_output(allow_unverified_ssl_cert: Optional[pulumi.Input[
503
503
  :param builtins.str deployment_option: The key of the chosen deployment option. If
504
504
  empty, the default option is chosen.
505
505
  :param builtins.str disk_provisioning: The disk provisioning type. If set, all the
506
- disks in the deployed OVA/OVF will have the same specified disk type. Can be
507
- one of `thin`, `flat`, `thick` or `sameAsSource`.
506
+ disks included in the OVF/OVA will have the same specified policy. Can be
507
+ one of `thin`, `thick`, `eagerZeroedThick`, or `sameAsSource`.
508
508
  :param builtins.bool enable_hidden_properties: Allow properties with
509
509
  `ovf:userConfigurable=false` to be set.
510
510
  :param builtins.str folder: The name of the folder in which to place the virtual
@@ -653,6 +653,8 @@ class HaVmOverride(pulumi.CustomResource):
653
653
 
654
654
  is below:
655
655
 
656
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
657
+
656
658
  ```sh
657
659
  $ pulumi import vsphere:index/haVmOverride:HaVmOverride ha_vm_override \\
658
660
  ```
@@ -769,6 +771,8 @@ class HaVmOverride(pulumi.CustomResource):
769
771
 
770
772
  is below:
771
773
 
774
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
775
+
772
776
  ```sh
773
777
  $ pulumi import vsphere:index/haVmOverride:HaVmOverride ha_vm_override \\
774
778
  ```
pulumi_vsphere/host.py CHANGED
@@ -674,6 +674,33 @@ class Host(pulumi.CustomResource):
674
674
  datacenter=datacenter.id)
675
675
  ```
676
676
 
677
+ ### Create host in a compute cluster
678
+
679
+ ```python
680
+ import pulumi
681
+ import pulumi_vsphere as vsphere
682
+
683
+ datacenter = vsphere.get_datacenter(name="dc-01")
684
+ cluster = vsphere.get_compute_cluster(name="cluster-01",
685
+ datacenter_id=datacenter.id)
686
+ thumbprint = vsphere.get_host_thumbprint(address="esxi-01.example.com",
687
+ insecure=True)
688
+ esx_01 = vsphere.Host("esx-01",
689
+ hostname="esxi-01.example.com",
690
+ username="root",
691
+ password="password",
692
+ license="00000-00000-00000-00000-00000",
693
+ thumbprint=thumbprint.id,
694
+ cluster=cluster.id,
695
+ services=[{
696
+ "ntpd": {
697
+ "enabled": True,
698
+ "policy": "on",
699
+ "ntp_servers": ["pool.ntp.org"],
700
+ },
701
+ }])
702
+ ```
703
+
677
704
  ## Import
678
705
 
679
706
  An existing host can be imported into this resource by supplying
@@ -718,7 +745,7 @@ class Host(pulumi.CustomResource):
718
745
 
719
746
  data "vsphere_host_thumbprint" "thumbprint" {
720
747
 
721
- address = "esxi-01.example.com"
748
+ address = "esxi-01.example.com"
722
749
 
723
750
  insecure = true
724
751
 
@@ -766,9 +793,9 @@ class Host(pulumi.CustomResource):
766
793
 
767
794
  }
768
795
 
769
- }
796
+ }
770
797
 
771
- console
798
+ }
772
799
 
773
800
  ```sh
774
801
  $ pulumi import vsphere:index/host:Host esx-01 host-123
@@ -853,6 +880,33 @@ class Host(pulumi.CustomResource):
853
880
  datacenter=datacenter.id)
854
881
  ```
855
882
 
883
+ ### Create host in a compute cluster
884
+
885
+ ```python
886
+ import pulumi
887
+ import pulumi_vsphere as vsphere
888
+
889
+ datacenter = vsphere.get_datacenter(name="dc-01")
890
+ cluster = vsphere.get_compute_cluster(name="cluster-01",
891
+ datacenter_id=datacenter.id)
892
+ thumbprint = vsphere.get_host_thumbprint(address="esxi-01.example.com",
893
+ insecure=True)
894
+ esx_01 = vsphere.Host("esx-01",
895
+ hostname="esxi-01.example.com",
896
+ username="root",
897
+ password="password",
898
+ license="00000-00000-00000-00000-00000",
899
+ thumbprint=thumbprint.id,
900
+ cluster=cluster.id,
901
+ services=[{
902
+ "ntpd": {
903
+ "enabled": True,
904
+ "policy": "on",
905
+ "ntp_servers": ["pool.ntp.org"],
906
+ },
907
+ }])
908
+ ```
909
+
856
910
  ## Import
857
911
 
858
912
  An existing host can be imported into this resource by supplying
@@ -897,7 +951,7 @@ class Host(pulumi.CustomResource):
897
951
 
898
952
  data "vsphere_host_thumbprint" "thumbprint" {
899
953
 
900
- address = "esxi-01.example.com"
954
+ address = "esxi-01.example.com"
901
955
 
902
956
  insecure = true
903
957
 
@@ -945,9 +999,9 @@ class Host(pulumi.CustomResource):
945
999
 
946
1000
  }
947
1001
 
948
- }
1002
+ }
949
1003
 
950
- console
1004
+ }
951
1005
 
952
1006
  ```sh
953
1007
  $ pulumi import vsphere:index/host:Host esx-01 host-123
@@ -841,6 +841,8 @@ class HostVirtualSwitch(pulumi.CustomResource):
841
841
 
842
842
  Import can the be done via the following command:
843
843
 
844
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
845
+
844
846
  [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
845
847
 
846
848
  ```sh
@@ -962,6 +964,8 @@ class HostVirtualSwitch(pulumi.CustomResource):
962
964
 
963
965
  Import can the be done via the following command:
964
966
 
967
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
968
+
965
969
  [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
966
970
 
967
971
  ```sh
pulumi_vsphere/license.py CHANGED
@@ -24,8 +24,10 @@ class LicenseArgs:
24
24
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
25
25
  """
26
26
  The set of arguments for constructing a License resource.
27
- :param pulumi.Input[builtins.str] license_key: The license key to add.
28
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of key/value pairs to be attached as labels (tags) to the license key.
27
+ :param pulumi.Input[builtins.str] license_key: The license key value.
28
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of labels to be applied to the license key.
29
+
30
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
29
31
  """
30
32
  pulumi.set(__self__, "license_key", license_key)
31
33
  if labels is not None:
@@ -35,7 +37,7 @@ class LicenseArgs:
35
37
  @pulumi.getter(name="licenseKey")
36
38
  def license_key(self) -> pulumi.Input[builtins.str]:
37
39
  """
38
- The license key to add.
40
+ The license key value.
39
41
  """
40
42
  return pulumi.get(self, "license_key")
41
43
 
@@ -47,7 +49,9 @@ class LicenseArgs:
47
49
  @pulumi.getter
48
50
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
49
51
  """
50
- A map of key/value pairs to be attached as labels (tags) to the license key.
52
+ A map of labels to be applied to the license key.
53
+
54
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
51
55
  """
52
56
  return pulumi.get(self, "labels")
53
57
 
@@ -68,11 +72,13 @@ class _LicenseState:
68
72
  """
69
73
  Input properties used for looking up and filtering License resources.
70
74
  :param pulumi.Input[builtins.str] edition_key: The product edition of the license key.
71
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of key/value pairs to be attached as labels (tags) to the license key.
72
- :param pulumi.Input[builtins.str] license_key: The license key to add.
73
- :param pulumi.Input[builtins.str] name: The display name for the license.
74
- :param pulumi.Input[builtins.int] total: Total number of units (example: CPUs) contained in the license.
75
- :param pulumi.Input[builtins.int] used: The number of units (example: CPUs) assigned to this license.
75
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of labels to be applied to the license key.
76
+
77
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
78
+ :param pulumi.Input[builtins.str] license_key: The license key value.
79
+ :param pulumi.Input[builtins.str] name: The display name for the license key.
80
+ :param pulumi.Input[builtins.int] total: The total number of units contained in the license key.
81
+ :param pulumi.Input[builtins.int] used: The number of units assigned to this license key.
76
82
  """
77
83
  if edition_key is not None:
78
84
  pulumi.set(__self__, "edition_key", edition_key)
@@ -103,7 +109,9 @@ class _LicenseState:
103
109
  @pulumi.getter
104
110
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
105
111
  """
106
- A map of key/value pairs to be attached as labels (tags) to the license key.
112
+ A map of labels to be applied to the license key.
113
+
114
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
107
115
  """
108
116
  return pulumi.get(self, "labels")
109
117
 
@@ -115,7 +123,7 @@ class _LicenseState:
115
123
  @pulumi.getter(name="licenseKey")
116
124
  def license_key(self) -> Optional[pulumi.Input[builtins.str]]:
117
125
  """
118
- The license key to add.
126
+ The license key value.
119
127
  """
120
128
  return pulumi.get(self, "license_key")
121
129
 
@@ -127,7 +135,7 @@ class _LicenseState:
127
135
  @pulumi.getter
128
136
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
129
137
  """
130
- The display name for the license.
138
+ The display name for the license key.
131
139
  """
132
140
  return pulumi.get(self, "name")
133
141
 
@@ -139,7 +147,7 @@ class _LicenseState:
139
147
  @pulumi.getter
140
148
  def total(self) -> Optional[pulumi.Input[builtins.int]]:
141
149
  """
142
- Total number of units (example: CPUs) contained in the license.
150
+ The total number of units contained in the license key.
143
151
  """
144
152
  return pulumi.get(self, "total")
145
153
 
@@ -151,7 +159,7 @@ class _LicenseState:
151
159
  @pulumi.getter
152
160
  def used(self) -> Optional[pulumi.Input[builtins.int]]:
153
161
  """
154
- The number of units (example: CPUs) assigned to this license.
162
+ The number of units assigned to this license key.
155
163
  """
156
164
  return pulumi.get(self, "used")
157
165
 
@@ -172,10 +180,25 @@ class License(pulumi.CustomResource):
172
180
  """
173
181
  Provides a VMware vSphere license resource. This can be used to add and remove license keys.
174
182
 
183
+ ## Example Usage
184
+
185
+ ```python
186
+ import pulumi
187
+ import pulumi_vsphere as vsphere
188
+
189
+ license_key = vsphere.License("licenseKey",
190
+ license_key="00000-00000-00000-00000-00000",
191
+ labels={
192
+ "VpxClientLicenseLabel": "example",
193
+ })
194
+ ```
195
+
175
196
  :param str resource_name: The name of the resource.
176
197
  :param pulumi.ResourceOptions opts: Options for the resource.
177
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of key/value pairs to be attached as labels (tags) to the license key.
178
- :param pulumi.Input[builtins.str] license_key: The license key to add.
198
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of labels to be applied to the license key.
199
+
200
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
201
+ :param pulumi.Input[builtins.str] license_key: The license key value.
179
202
  """
180
203
  ...
181
204
  @overload
@@ -186,6 +209,19 @@ class License(pulumi.CustomResource):
186
209
  """
187
210
  Provides a VMware vSphere license resource. This can be used to add and remove license keys.
188
211
 
212
+ ## Example Usage
213
+
214
+ ```python
215
+ import pulumi
216
+ import pulumi_vsphere as vsphere
217
+
218
+ license_key = vsphere.License("licenseKey",
219
+ license_key="00000-00000-00000-00000-00000",
220
+ labels={
221
+ "VpxClientLicenseLabel": "example",
222
+ })
223
+ ```
224
+
189
225
  :param str resource_name: The name of the resource.
190
226
  :param LicenseArgs args: The arguments to use to populate this resource's properties.
191
227
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -244,11 +280,13 @@ class License(pulumi.CustomResource):
244
280
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
245
281
  :param pulumi.ResourceOptions opts: Options for the resource.
246
282
  :param pulumi.Input[builtins.str] edition_key: The product edition of the license key.
247
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of key/value pairs to be attached as labels (tags) to the license key.
248
- :param pulumi.Input[builtins.str] license_key: The license key to add.
249
- :param pulumi.Input[builtins.str] name: The display name for the license.
250
- :param pulumi.Input[builtins.int] total: Total number of units (example: CPUs) contained in the license.
251
- :param pulumi.Input[builtins.int] used: The number of units (example: CPUs) assigned to this license.
283
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: A map of labels to be applied to the license key.
284
+
285
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
286
+ :param pulumi.Input[builtins.str] license_key: The license key value.
287
+ :param pulumi.Input[builtins.str] name: The display name for the license key.
288
+ :param pulumi.Input[builtins.int] total: The total number of units contained in the license key.
289
+ :param pulumi.Input[builtins.int] used: The number of units assigned to this license key.
252
290
  """
253
291
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
254
292
 
@@ -274,7 +312,9 @@ class License(pulumi.CustomResource):
274
312
  @pulumi.getter
275
313
  def labels(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
276
314
  """
277
- A map of key/value pairs to be attached as labels (tags) to the license key.
315
+ A map of labels to be applied to the license key.
316
+
317
+ > **NOTE:** Labels are not allowed for unmanaged ESX hosts.
278
318
  """
279
319
  return pulumi.get(self, "labels")
280
320
 
@@ -282,7 +322,7 @@ class License(pulumi.CustomResource):
282
322
  @pulumi.getter(name="licenseKey")
283
323
  def license_key(self) -> pulumi.Output[builtins.str]:
284
324
  """
285
- The license key to add.
325
+ The license key value.
286
326
  """
287
327
  return pulumi.get(self, "license_key")
288
328
 
@@ -290,7 +330,7 @@ class License(pulumi.CustomResource):
290
330
  @pulumi.getter
291
331
  def name(self) -> pulumi.Output[builtins.str]:
292
332
  """
293
- The display name for the license.
333
+ The display name for the license key.
294
334
  """
295
335
  return pulumi.get(self, "name")
296
336
 
@@ -298,7 +338,7 @@ class License(pulumi.CustomResource):
298
338
  @pulumi.getter
299
339
  def total(self) -> pulumi.Output[builtins.int]:
300
340
  """
301
- Total number of units (example: CPUs) contained in the license.
341
+ The total number of units contained in the license key.
302
342
  """
303
343
  return pulumi.get(self, "total")
304
344
 
@@ -306,7 +346,7 @@ class License(pulumi.CustomResource):
306
346
  @pulumi.getter
307
347
  def used(self) -> pulumi.Output[builtins.int]:
308
348
  """
309
- The number of units (example: CPUs) assigned to this license.
349
+ The number of units assigned to this license key.
310
350
  """
311
351
  return pulumi.get(self, "used")
312
352
 
@@ -654,12 +654,43 @@ class NasDatastore(pulumi.CustomResource):
654
654
  multiple hosts, you must specify each host that you want to add in the
655
655
  `host_system_ids` argument.
656
656
 
657
+ ## Example Usage
658
+
659
+ The following example would set up a NFS v3 share on 3 hosts connected through
660
+ vCenter in the same datacenter - `esxi1`, `esxi2`, and `esxi3`. The remote host
661
+ is named `nfs` and has `/export/test` exported.
662
+
663
+ ```python
664
+ import pulumi
665
+ import pulumi_vsphere as vsphere
666
+
667
+ config = pulumi.Config()
668
+ hosts = config.get_object("hosts")
669
+ if hosts is None:
670
+ hosts = [
671
+ "esxi-01.example.com",
672
+ "esxi-02.example.com",
673
+ "esxi-03.example.com",
674
+ ]
675
+ datacenter = vsphere.get_datacenter(name="dc-01")
676
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
677
+ datacenter_id=datacenter.id) for __index in range(len(hosts))]
678
+ datastore = vsphere.NasDatastore("datastore",
679
+ name="test",
680
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
681
+ type="NFS",
682
+ remote_hosts=["nfs"],
683
+ remote_path="/export/test")
684
+ ```
685
+
657
686
  ## Import
658
687
 
659
688
  An existing NAS datastore can be imported into this resource via
660
689
 
661
690
  its managed object ID, via the following command:
662
691
 
692
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
693
+
663
694
  ```sh
664
695
  $ pulumi import vsphere:index/nasDatastore:NasDatastore datastore datastore-123
665
696
  ```
@@ -733,12 +764,43 @@ class NasDatastore(pulumi.CustomResource):
733
764
  multiple hosts, you must specify each host that you want to add in the
734
765
  `host_system_ids` argument.
735
766
 
767
+ ## Example Usage
768
+
769
+ The following example would set up a NFS v3 share on 3 hosts connected through
770
+ vCenter in the same datacenter - `esxi1`, `esxi2`, and `esxi3`. The remote host
771
+ is named `nfs` and has `/export/test` exported.
772
+
773
+ ```python
774
+ import pulumi
775
+ import pulumi_vsphere as vsphere
776
+
777
+ config = pulumi.Config()
778
+ hosts = config.get_object("hosts")
779
+ if hosts is None:
780
+ hosts = [
781
+ "esxi-01.example.com",
782
+ "esxi-02.example.com",
783
+ "esxi-03.example.com",
784
+ ]
785
+ datacenter = vsphere.get_datacenter(name="dc-01")
786
+ hosts_get_host = [vsphere.get_host(name=hosts[__index],
787
+ datacenter_id=datacenter.id) for __index in range(len(hosts))]
788
+ datastore = vsphere.NasDatastore("datastore",
789
+ name="test",
790
+ host_system_ids=[[__item["id"] for __item in esxi_hosts]],
791
+ type="NFS",
792
+ remote_hosts=["nfs"],
793
+ remote_path="/export/test")
794
+ ```
795
+
736
796
  ## Import
737
797
 
738
798
  An existing NAS datastore can be imported into this resource via
739
799
 
740
800
  its managed object ID, via the following command:
741
801
 
802
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
803
+
742
804
  ```sh
743
805
  $ pulumi import vsphere:index/nasDatastore:NasDatastore datastore datastore-123
744
806
  ```
@@ -95,6 +95,8 @@ class OfflineSoftwareDepot(pulumi.CustomResource):
95
95
 
96
96
  ## Example Usage
97
97
 
98
+ ### S
99
+
98
100
  :param str resource_name: The name of the resource.
99
101
  :param pulumi.ResourceOptions opts: Options for the resource.
100
102
  :param pulumi.Input[builtins.str] location: The URL where the depot source is hosted.
@@ -110,6 +112,8 @@ class OfflineSoftwareDepot(pulumi.CustomResource):
110
112
 
111
113
  ## Example Usage
112
114
 
115
+ ### S
116
+
113
117
  :param str resource_name: The name of the resource.
114
118
  :param OfflineSoftwareDepotArgs args: The arguments to use to populate this resource's properties.
115
119
  :param pulumi.ResourceOptions opts: Options for the resource.
pulumi_vsphere/outputs.py CHANGED
@@ -3674,7 +3674,10 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3674
3674
  computer_name: builtins.str,
3675
3675
  domain_admin_user: builtins.str,
3676
3676
  domain_ou: builtins.str,
3677
+ full_name: builtins.str,
3677
3678
  join_domain: builtins.str,
3679
+ organization_name: builtins.str,
3680
+ product_key: builtins.str,
3678
3681
  run_once_command_lists: Sequence[builtins.str],
3679
3682
  time_zone: builtins.int,
3680
3683
  workgroup: builtins.str,
@@ -3686,7 +3689,10 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3686
3689
  :param builtins.str computer_name: The hostname for this virtual machine.
3687
3690
  :param builtins.str domain_admin_user: The user account of the domain administrator used to join this virtual machine to the domain.
3688
3691
  :param builtins.str domain_ou: The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
3692
+ :param builtins.str full_name: The full name of the user of this virtual machine.
3689
3693
  :param builtins.str join_domain: The Active Directory domain for the virtual machine to join.
3694
+ :param builtins.str organization_name: The organization name this virtual machine is being installed for.
3695
+ :param builtins.str product_key: The product key for this virtual machine.
3690
3696
  :param Sequence[builtins.str] run_once_command_lists: A list of commands to run at first user logon, after guest customization.
3691
3697
  :param builtins.int time_zone: The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
3692
3698
  :param builtins.str workgroup: The workgroup for this virtual machine if not joining an Active Directory domain.
@@ -3698,7 +3704,10 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3698
3704
  pulumi.set(__self__, "computer_name", computer_name)
3699
3705
  pulumi.set(__self__, "domain_admin_user", domain_admin_user)
3700
3706
  pulumi.set(__self__, "domain_ou", domain_ou)
3707
+ pulumi.set(__self__, "full_name", full_name)
3701
3708
  pulumi.set(__self__, "join_domain", join_domain)
3709
+ pulumi.set(__self__, "organization_name", organization_name)
3710
+ pulumi.set(__self__, "product_key", product_key)
3702
3711
  pulumi.set(__self__, "run_once_command_lists", run_once_command_lists)
3703
3712
  pulumi.set(__self__, "time_zone", time_zone)
3704
3713
  pulumi.set(__self__, "workgroup", workgroup)
@@ -3753,6 +3762,14 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3753
3762
  """
3754
3763
  return pulumi.get(self, "domain_ou")
3755
3764
 
3765
+ @property
3766
+ @pulumi.getter(name="fullName")
3767
+ def full_name(self) -> builtins.str:
3768
+ """
3769
+ The full name of the user of this virtual machine.
3770
+ """
3771
+ return pulumi.get(self, "full_name")
3772
+
3756
3773
  @property
3757
3774
  @pulumi.getter(name="joinDomain")
3758
3775
  def join_domain(self) -> builtins.str:
@@ -3761,6 +3778,22 @@ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
3761
3778
  """
3762
3779
  return pulumi.get(self, "join_domain")
3763
3780
 
3781
+ @property
3782
+ @pulumi.getter(name="organizationName")
3783
+ def organization_name(self) -> builtins.str:
3784
+ """
3785
+ The organization name this virtual machine is being installed for.
3786
+ """
3787
+ return pulumi.get(self, "organization_name")
3788
+
3789
+ @property
3790
+ @pulumi.getter(name="productKey")
3791
+ def product_key(self) -> builtins.str:
3792
+ """
3793
+ The product key for this virtual machine.
3794
+ """
3795
+ return pulumi.get(self, "product_key")
3796
+
3764
3797
  @property
3765
3798
  @pulumi.getter(name="runOnceCommandLists")
3766
3799
  def run_once_command_lists(self) -> Sequence[builtins.str]: