pulumi-vsphere 4.10.0a1709017641__py3-none-any.whl → 4.17.0a1763710194__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 (89) hide show
  1. pulumi_vsphere/__init__.py +51 -1
  2. pulumi_vsphere/_inputs.py +2568 -1025
  3. pulumi_vsphere/_utilities.py +50 -10
  4. pulumi_vsphere/compute_cluster.py +1564 -2373
  5. pulumi_vsphere/compute_cluster_host_group.py +191 -55
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +157 -113
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +133 -89
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +314 -106
  9. pulumi_vsphere/compute_cluster_vm_group.py +256 -55
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +323 -123
  11. pulumi_vsphere/config/__init__.py +2 -1
  12. pulumi_vsphere/config/__init__.pyi +7 -2
  13. pulumi_vsphere/config/vars.py +20 -15
  14. pulumi_vsphere/configuration_profile.py +286 -0
  15. pulumi_vsphere/content_library.py +177 -71
  16. pulumi_vsphere/content_library_item.py +252 -106
  17. pulumi_vsphere/custom_attribute.py +118 -38
  18. pulumi_vsphere/datacenter.py +128 -107
  19. pulumi_vsphere/datastore_cluster.py +636 -731
  20. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +251 -89
  21. pulumi_vsphere/distributed_port_group.py +1129 -967
  22. pulumi_vsphere/distributed_virtual_switch.py +1971 -2239
  23. pulumi_vsphere/distributed_virtual_switch_pvlan_mapping.py +294 -0
  24. pulumi_vsphere/dpm_host_override.py +222 -72
  25. pulumi_vsphere/drs_vm_override.py +236 -72
  26. pulumi_vsphere/entity_permissions.py +96 -69
  27. pulumi_vsphere/file.py +173 -178
  28. pulumi_vsphere/folder.py +236 -113
  29. pulumi_vsphere/get_compute_cluster.py +34 -23
  30. pulumi_vsphere/get_compute_cluster_host_group.py +52 -41
  31. pulumi_vsphere/get_configuration_profile.py +145 -0
  32. pulumi_vsphere/get_content_library.py +33 -21
  33. pulumi_vsphere/get_content_library_item.py +47 -31
  34. pulumi_vsphere/get_custom_attribute.py +26 -17
  35. pulumi_vsphere/get_datacenter.py +40 -18
  36. pulumi_vsphere/get_datastore.py +60 -24
  37. pulumi_vsphere/get_datastore_cluster.py +47 -22
  38. pulumi_vsphere/get_datastore_stats.py +204 -0
  39. pulumi_vsphere/get_distributed_virtual_switch.py +36 -23
  40. pulumi_vsphere/get_dynamic.py +55 -45
  41. pulumi_vsphere/get_folder.py +163 -25
  42. pulumi_vsphere/get_guest_os_customization.py +68 -37
  43. pulumi_vsphere/get_host.py +34 -23
  44. pulumi_vsphere/get_host_base_images.py +104 -0
  45. pulumi_vsphere/get_host_pci_device.py +78 -35
  46. pulumi_vsphere/get_host_thumbprint.py +58 -38
  47. pulumi_vsphere/get_host_vgpu_profile.py +195 -0
  48. pulumi_vsphere/get_license.py +44 -28
  49. pulumi_vsphere/get_network.py +157 -46
  50. pulumi_vsphere/get_ovf_vm_template.py +184 -301
  51. pulumi_vsphere/get_policy.py +23 -15
  52. pulumi_vsphere/get_resource_pool.py +107 -40
  53. pulumi_vsphere/get_role.py +49 -35
  54. pulumi_vsphere/get_tag.py +34 -23
  55. pulumi_vsphere/get_tag_category.py +32 -21
  56. pulumi_vsphere/get_vapp_container.py +31 -21
  57. pulumi_vsphere/get_virtual_machine.py +499 -287
  58. pulumi_vsphere/get_vmfs_disks.py +42 -29
  59. pulumi_vsphere/guest_os_customization.py +135 -79
  60. pulumi_vsphere/ha_vm_override.py +470 -577
  61. pulumi_vsphere/host.py +515 -262
  62. pulumi_vsphere/host_port_group.py +352 -355
  63. pulumi_vsphere/host_virtual_switch.py +580 -580
  64. pulumi_vsphere/license.py +110 -92
  65. pulumi_vsphere/nas_datastore.py +398 -270
  66. pulumi_vsphere/offline_software_depot.py +190 -0
  67. pulumi_vsphere/outputs.py +1582 -1027
  68. pulumi_vsphere/provider.py +172 -152
  69. pulumi_vsphere/pulumi-plugin.json +2 -1
  70. pulumi_vsphere/resource_pool.py +357 -273
  71. pulumi_vsphere/role.py +79 -47
  72. pulumi_vsphere/storage_drs_vm_override.py +225 -89
  73. pulumi_vsphere/supervisor.py +1064 -0
  74. pulumi_vsphere/tag.py +217 -55
  75. pulumi_vsphere/tag_category.py +158 -72
  76. pulumi_vsphere/vapp_container.py +425 -259
  77. pulumi_vsphere/vapp_entity.py +324 -174
  78. pulumi_vsphere/virtual_disk.py +245 -153
  79. pulumi_vsphere/virtual_machine.py +1696 -1836
  80. pulumi_vsphere/virtual_machine_class.py +448 -0
  81. pulumi_vsphere/virtual_machine_snapshot.py +137 -131
  82. pulumi_vsphere/vm_storage_policy.py +160 -154
  83. pulumi_vsphere/vmfs_datastore.py +460 -186
  84. pulumi_vsphere/vnic.py +249 -231
  85. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/METADATA +7 -6
  86. pulumi_vsphere-4.17.0a1763710194.dist-info/RECORD +89 -0
  87. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/WHEEL +1 -1
  88. pulumi_vsphere-4.10.0a1709017641.dist-info/RECORD +0 -80
  89. {pulumi_vsphere-4.10.0a1709017641.dist-info → pulumi_vsphere-4.17.0a1763710194.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['ContentLibraryItemArgs', 'ContentLibraryItem']
@@ -14,20 +19,20 @@ __all__ = ['ContentLibraryItemArgs', 'ContentLibraryItem']
14
19
  @pulumi.input_type
15
20
  class ContentLibraryItemArgs:
16
21
  def __init__(__self__, *,
17
- library_id: pulumi.Input[str],
18
- description: Optional[pulumi.Input[str]] = None,
19
- file_url: Optional[pulumi.Input[str]] = None,
20
- name: Optional[pulumi.Input[str]] = None,
21
- source_uuid: Optional[pulumi.Input[str]] = None,
22
- type: Optional[pulumi.Input[str]] = None):
22
+ library_id: pulumi.Input[_builtins.str],
23
+ description: Optional[pulumi.Input[_builtins.str]] = None,
24
+ file_url: Optional[pulumi.Input[_builtins.str]] = None,
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ source_uuid: Optional[pulumi.Input[_builtins.str]] = None,
27
+ type: Optional[pulumi.Input[_builtins.str]] = None):
23
28
  """
24
29
  The set of arguments for constructing a ContentLibraryItem resource.
25
- :param pulumi.Input[str] library_id: The ID of the content library in which to create the item.
26
- :param pulumi.Input[str] description: A description for the content library item.
27
- :param pulumi.Input[str] file_url: File to import as the content library item.
28
- :param pulumi.Input[str] name: The name of the item to be created in the content library.
29
- :param pulumi.Input[str] source_uuid: Virtual machine UUID to clone to content library.
30
- :param pulumi.Input[str] type: Type of content library item.
30
+ :param pulumi.Input[_builtins.str] library_id: The ID of the content library in which to create the item.
31
+ :param pulumi.Input[_builtins.str] description: A description for the content library item.
32
+ :param pulumi.Input[_builtins.str] file_url: File to import as the content library item.
33
+ :param pulumi.Input[_builtins.str] name: The name of the item to be created in the content library.
34
+ :param pulumi.Input[_builtins.str] source_uuid: Virtual machine UUID to clone to content library.
35
+ :param pulumi.Input[_builtins.str] type: Type of content library item.
31
36
  One of "ovf", "iso", or "vm-template". Default: `ovf`.
32
37
  """
33
38
  pulumi.set(__self__, "library_id", library_id)
@@ -42,69 +47,69 @@ class ContentLibraryItemArgs:
42
47
  if type is not None:
43
48
  pulumi.set(__self__, "type", type)
44
49
 
45
- @property
50
+ @_builtins.property
46
51
  @pulumi.getter(name="libraryId")
47
- def library_id(self) -> pulumi.Input[str]:
52
+ def library_id(self) -> pulumi.Input[_builtins.str]:
48
53
  """
49
54
  The ID of the content library in which to create the item.
50
55
  """
51
56
  return pulumi.get(self, "library_id")
52
57
 
53
58
  @library_id.setter
54
- def library_id(self, value: pulumi.Input[str]):
59
+ def library_id(self, value: pulumi.Input[_builtins.str]):
55
60
  pulumi.set(self, "library_id", value)
56
61
 
57
- @property
62
+ @_builtins.property
58
63
  @pulumi.getter
59
- def description(self) -> Optional[pulumi.Input[str]]:
64
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
60
65
  """
61
66
  A description for the content library item.
62
67
  """
63
68
  return pulumi.get(self, "description")
64
69
 
65
70
  @description.setter
66
- def description(self, value: Optional[pulumi.Input[str]]):
71
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
67
72
  pulumi.set(self, "description", value)
68
73
 
69
- @property
74
+ @_builtins.property
70
75
  @pulumi.getter(name="fileUrl")
71
- def file_url(self) -> Optional[pulumi.Input[str]]:
76
+ def file_url(self) -> Optional[pulumi.Input[_builtins.str]]:
72
77
  """
73
78
  File to import as the content library item.
74
79
  """
75
80
  return pulumi.get(self, "file_url")
76
81
 
77
82
  @file_url.setter
78
- def file_url(self, value: Optional[pulumi.Input[str]]):
83
+ def file_url(self, value: Optional[pulumi.Input[_builtins.str]]):
79
84
  pulumi.set(self, "file_url", value)
80
85
 
81
- @property
86
+ @_builtins.property
82
87
  @pulumi.getter
83
- def name(self) -> Optional[pulumi.Input[str]]:
88
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
84
89
  """
85
90
  The name of the item to be created in the content library.
86
91
  """
87
92
  return pulumi.get(self, "name")
88
93
 
89
94
  @name.setter
90
- def name(self, value: Optional[pulumi.Input[str]]):
95
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
91
96
  pulumi.set(self, "name", value)
92
97
 
93
- @property
98
+ @_builtins.property
94
99
  @pulumi.getter(name="sourceUuid")
95
- def source_uuid(self) -> Optional[pulumi.Input[str]]:
100
+ def source_uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
96
101
  """
97
102
  Virtual machine UUID to clone to content library.
98
103
  """
99
104
  return pulumi.get(self, "source_uuid")
100
105
 
101
106
  @source_uuid.setter
102
- def source_uuid(self, value: Optional[pulumi.Input[str]]):
107
+ def source_uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
103
108
  pulumi.set(self, "source_uuid", value)
104
109
 
105
- @property
110
+ @_builtins.property
106
111
  @pulumi.getter
107
- def type(self) -> Optional[pulumi.Input[str]]:
112
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
108
113
  """
109
114
  Type of content library item.
110
115
  One of "ovf", "iso", or "vm-template". Default: `ovf`.
@@ -112,27 +117,27 @@ class ContentLibraryItemArgs:
112
117
  return pulumi.get(self, "type")
113
118
 
114
119
  @type.setter
115
- def type(self, value: Optional[pulumi.Input[str]]):
120
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
116
121
  pulumi.set(self, "type", value)
117
122
 
118
123
 
119
124
  @pulumi.input_type
120
125
  class _ContentLibraryItemState:
121
126
  def __init__(__self__, *,
122
- description: Optional[pulumi.Input[str]] = None,
123
- file_url: Optional[pulumi.Input[str]] = None,
124
- library_id: Optional[pulumi.Input[str]] = None,
125
- name: Optional[pulumi.Input[str]] = None,
126
- source_uuid: Optional[pulumi.Input[str]] = None,
127
- type: Optional[pulumi.Input[str]] = None):
127
+ description: Optional[pulumi.Input[_builtins.str]] = None,
128
+ file_url: Optional[pulumi.Input[_builtins.str]] = None,
129
+ library_id: Optional[pulumi.Input[_builtins.str]] = None,
130
+ name: Optional[pulumi.Input[_builtins.str]] = None,
131
+ source_uuid: Optional[pulumi.Input[_builtins.str]] = None,
132
+ type: Optional[pulumi.Input[_builtins.str]] = None):
128
133
  """
129
134
  Input properties used for looking up and filtering ContentLibraryItem resources.
130
- :param pulumi.Input[str] description: A description for the content library item.
131
- :param pulumi.Input[str] file_url: File to import as the content library item.
132
- :param pulumi.Input[str] library_id: The ID of the content library in which to create the item.
133
- :param pulumi.Input[str] name: The name of the item to be created in the content library.
134
- :param pulumi.Input[str] source_uuid: Virtual machine UUID to clone to content library.
135
- :param pulumi.Input[str] type: Type of content library item.
135
+ :param pulumi.Input[_builtins.str] description: A description for the content library item.
136
+ :param pulumi.Input[_builtins.str] file_url: File to import as the content library item.
137
+ :param pulumi.Input[_builtins.str] library_id: The ID of the content library in which to create the item.
138
+ :param pulumi.Input[_builtins.str] name: The name of the item to be created in the content library.
139
+ :param pulumi.Input[_builtins.str] source_uuid: Virtual machine UUID to clone to content library.
140
+ :param pulumi.Input[_builtins.str] type: Type of content library item.
136
141
  One of "ovf", "iso", or "vm-template". Default: `ovf`.
137
142
  """
138
143
  if description is not None:
@@ -148,69 +153,69 @@ class _ContentLibraryItemState:
148
153
  if type is not None:
149
154
  pulumi.set(__self__, "type", type)
150
155
 
151
- @property
156
+ @_builtins.property
152
157
  @pulumi.getter
153
- def description(self) -> Optional[pulumi.Input[str]]:
158
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
154
159
  """
155
160
  A description for the content library item.
156
161
  """
157
162
  return pulumi.get(self, "description")
158
163
 
159
164
  @description.setter
160
- def description(self, value: Optional[pulumi.Input[str]]):
165
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
161
166
  pulumi.set(self, "description", value)
162
167
 
163
- @property
168
+ @_builtins.property
164
169
  @pulumi.getter(name="fileUrl")
165
- def file_url(self) -> Optional[pulumi.Input[str]]:
170
+ def file_url(self) -> Optional[pulumi.Input[_builtins.str]]:
166
171
  """
167
172
  File to import as the content library item.
168
173
  """
169
174
  return pulumi.get(self, "file_url")
170
175
 
171
176
  @file_url.setter
172
- def file_url(self, value: Optional[pulumi.Input[str]]):
177
+ def file_url(self, value: Optional[pulumi.Input[_builtins.str]]):
173
178
  pulumi.set(self, "file_url", value)
174
179
 
175
- @property
180
+ @_builtins.property
176
181
  @pulumi.getter(name="libraryId")
177
- def library_id(self) -> Optional[pulumi.Input[str]]:
182
+ def library_id(self) -> Optional[pulumi.Input[_builtins.str]]:
178
183
  """
179
184
  The ID of the content library in which to create the item.
180
185
  """
181
186
  return pulumi.get(self, "library_id")
182
187
 
183
188
  @library_id.setter
184
- def library_id(self, value: Optional[pulumi.Input[str]]):
189
+ def library_id(self, value: Optional[pulumi.Input[_builtins.str]]):
185
190
  pulumi.set(self, "library_id", value)
186
191
 
187
- @property
192
+ @_builtins.property
188
193
  @pulumi.getter
189
- def name(self) -> Optional[pulumi.Input[str]]:
194
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
190
195
  """
191
196
  The name of the item to be created in the content library.
192
197
  """
193
198
  return pulumi.get(self, "name")
194
199
 
195
200
  @name.setter
196
- def name(self, value: Optional[pulumi.Input[str]]):
201
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
197
202
  pulumi.set(self, "name", value)
198
203
 
199
- @property
204
+ @_builtins.property
200
205
  @pulumi.getter(name="sourceUuid")
201
- def source_uuid(self) -> Optional[pulumi.Input[str]]:
206
+ def source_uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
202
207
  """
203
208
  Virtual machine UUID to clone to content library.
204
209
  """
205
210
  return pulumi.get(self, "source_uuid")
206
211
 
207
212
  @source_uuid.setter
208
- def source_uuid(self, value: Optional[pulumi.Input[str]]):
213
+ def source_uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
209
214
  pulumi.set(self, "source_uuid", value)
210
215
 
211
- @property
216
+ @_builtins.property
212
217
  @pulumi.getter
213
- def type(self) -> Optional[pulumi.Input[str]]:
218
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
214
219
  """
215
220
  Type of content library item.
216
221
  One of "ovf", "iso", or "vm-template". Default: `ovf`.
@@ -218,32 +223,103 @@ class _ContentLibraryItemState:
218
223
  return pulumi.get(self, "type")
219
224
 
220
225
  @type.setter
221
- def type(self, value: Optional[pulumi.Input[str]]):
226
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
222
227
  pulumi.set(self, "type", value)
223
228
 
224
229
 
230
+ @pulumi.type_token("vsphere:index/contentLibraryItem:ContentLibraryItem")
225
231
  class ContentLibraryItem(pulumi.CustomResource):
226
232
  @overload
227
233
  def __init__(__self__,
228
234
  resource_name: str,
229
235
  opts: Optional[pulumi.ResourceOptions] = None,
230
- description: Optional[pulumi.Input[str]] = None,
231
- file_url: Optional[pulumi.Input[str]] = None,
232
- library_id: Optional[pulumi.Input[str]] = None,
233
- name: Optional[pulumi.Input[str]] = None,
234
- source_uuid: Optional[pulumi.Input[str]] = None,
235
- type: Optional[pulumi.Input[str]] = None,
236
+ description: Optional[pulumi.Input[_builtins.str]] = None,
237
+ file_url: Optional[pulumi.Input[_builtins.str]] = None,
238
+ library_id: Optional[pulumi.Input[_builtins.str]] = None,
239
+ name: Optional[pulumi.Input[_builtins.str]] = None,
240
+ source_uuid: Optional[pulumi.Input[_builtins.str]] = None,
241
+ type: Optional[pulumi.Input[_builtins.str]] = None,
236
242
  __props__=None):
237
243
  """
238
- Create a ContentLibraryItem resource with the given unique name, props, and options.
244
+ The `ContentLibraryItem` resource can be used to create items in a
245
+ vSphere content library. The `file_url` must be accessible from the vSphere
246
+ environment as it will be downloaded from the specified location and stored
247
+ on the content library's storage backing.
248
+
249
+ ## Example Usage
250
+
251
+ The first example below imports an OVF Template to a content
252
+ library.
253
+
254
+ ```python
255
+ import pulumi
256
+ import pulumi_vsphere as vsphere
257
+
258
+ datacenter = vsphere.get_datacenter(name="dc-01")
259
+ content_library = vsphere.get_content_library(name="clb-01")
260
+ content_library_item = vsphere.ContentLibraryItem("content_library_item",
261
+ name="ovf-linux-ubuntu-server-lts",
262
+ description="Ubuntu Server LTS OVF Template",
263
+ file_url="https://releases.example.com/ubuntu/ubuntu/ubuntu-live-server-amd64.ovf",
264
+ library_id=content_library.id)
265
+ ```
266
+
267
+ The next example imports an .iso image to a content library.
268
+
269
+ [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
270
+
271
+ ```python
272
+ import pulumi
273
+ import pulumi_vsphere as vsphere
274
+
275
+ datacenter = vsphere.get_datacenter(name="dc-01")
276
+ content_library = vsphere.get_content_library(name="clb-01")
277
+ content_library_item = vsphere.ContentLibraryItem("content_library_item",
278
+ name="iso-linux-ubuntu-server-lts",
279
+ description="Ubuntu Server LTS .iso",
280
+ type="iso",
281
+ file_url="https://releases.example.com/ubuntu/ubuntu-live-server-amd64.iso",
282
+ library_id=content_library.id)
283
+ ```
284
+
285
+ The last example imports a virtual machine image to a content library from an
286
+ existing virtual machine.
287
+
288
+ [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
289
+
290
+ ```python
291
+ import pulumi
292
+ import pulumi_vsphere as vsphere
293
+
294
+ datacenter = vsphere.get_datacenter(name="dc-01")
295
+ content_library = vsphere.get_content_library(name="clb-01")
296
+ content_library_item = vsphere.ContentLibraryItem("content_library_item",
297
+ name="tpl-linux-ubuntu-server-lts",
298
+ description="Ubuntu Server LTS",
299
+ source_uuid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
300
+ library_id=content_library.id)
301
+ ```
302
+
303
+ ## Import
304
+
305
+ An existing content library item can be imported into this resource by
306
+
307
+ supplying the content library ID. An example is below:
308
+
309
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
310
+
311
+ ```sh
312
+ $ pulumi import vsphere:index/contentLibraryItem:ContentLibraryItem vsphere_content_library_item iso-linux-ubuntu-server-lts xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
313
+ ```
314
+
239
315
  :param str resource_name: The name of the resource.
240
316
  :param pulumi.ResourceOptions opts: Options for the resource.
241
- :param pulumi.Input[str] description: A description for the content library item.
242
- :param pulumi.Input[str] file_url: File to import as the content library item.
243
- :param pulumi.Input[str] library_id: The ID of the content library in which to create the item.
244
- :param pulumi.Input[str] name: The name of the item to be created in the content library.
245
- :param pulumi.Input[str] source_uuid: Virtual machine UUID to clone to content library.
246
- :param pulumi.Input[str] type: Type of content library item.
317
+ :param pulumi.Input[_builtins.str] description: A description for the content library item.
318
+ :param pulumi.Input[_builtins.str] file_url: File to import as the content library item.
319
+ :param pulumi.Input[_builtins.str] library_id: The ID of the content library in which to create the item.
320
+ :param pulumi.Input[_builtins.str] name: The name of the item to be created in the content library.
321
+ :param pulumi.Input[_builtins.str] source_uuid: Virtual machine UUID to clone to content library.
322
+ :param pulumi.Input[_builtins.str] type: Type of content library item.
247
323
  One of "ovf", "iso", or "vm-template". Default: `ovf`.
248
324
  """
249
325
  ...
@@ -253,7 +329,77 @@ class ContentLibraryItem(pulumi.CustomResource):
253
329
  args: ContentLibraryItemArgs,
254
330
  opts: Optional[pulumi.ResourceOptions] = None):
255
331
  """
256
- Create a ContentLibraryItem resource with the given unique name, props, and options.
332
+ The `ContentLibraryItem` resource can be used to create items in a
333
+ vSphere content library. The `file_url` must be accessible from the vSphere
334
+ environment as it will be downloaded from the specified location and stored
335
+ on the content library's storage backing.
336
+
337
+ ## Example Usage
338
+
339
+ The first example below imports an OVF Template to a content
340
+ library.
341
+
342
+ ```python
343
+ import pulumi
344
+ import pulumi_vsphere as vsphere
345
+
346
+ datacenter = vsphere.get_datacenter(name="dc-01")
347
+ content_library = vsphere.get_content_library(name="clb-01")
348
+ content_library_item = vsphere.ContentLibraryItem("content_library_item",
349
+ name="ovf-linux-ubuntu-server-lts",
350
+ description="Ubuntu Server LTS OVF Template",
351
+ file_url="https://releases.example.com/ubuntu/ubuntu/ubuntu-live-server-amd64.ovf",
352
+ library_id=content_library.id)
353
+ ```
354
+
355
+ The next example imports an .iso image to a content library.
356
+
357
+ [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
358
+
359
+ ```python
360
+ import pulumi
361
+ import pulumi_vsphere as vsphere
362
+
363
+ datacenter = vsphere.get_datacenter(name="dc-01")
364
+ content_library = vsphere.get_content_library(name="clb-01")
365
+ content_library_item = vsphere.ContentLibraryItem("content_library_item",
366
+ name="iso-linux-ubuntu-server-lts",
367
+ description="Ubuntu Server LTS .iso",
368
+ type="iso",
369
+ file_url="https://releases.example.com/ubuntu/ubuntu-live-server-amd64.iso",
370
+ library_id=content_library.id)
371
+ ```
372
+
373
+ The last example imports a virtual machine image to a content library from an
374
+ existing virtual machine.
375
+
376
+ [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
377
+
378
+ ```python
379
+ import pulumi
380
+ import pulumi_vsphere as vsphere
381
+
382
+ datacenter = vsphere.get_datacenter(name="dc-01")
383
+ content_library = vsphere.get_content_library(name="clb-01")
384
+ content_library_item = vsphere.ContentLibraryItem("content_library_item",
385
+ name="tpl-linux-ubuntu-server-lts",
386
+ description="Ubuntu Server LTS",
387
+ source_uuid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
388
+ library_id=content_library.id)
389
+ ```
390
+
391
+ ## Import
392
+
393
+ An existing content library item can be imported into this resource by
394
+
395
+ supplying the content library ID. An example is below:
396
+
397
+ [docs-import]: https://developer.hashicorp.com/terraform/cli/import
398
+
399
+ ```sh
400
+ $ pulumi import vsphere:index/contentLibraryItem:ContentLibraryItem vsphere_content_library_item iso-linux-ubuntu-server-lts xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
401
+ ```
402
+
257
403
  :param str resource_name: The name of the resource.
258
404
  :param ContentLibraryItemArgs args: The arguments to use to populate this resource's properties.
259
405
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -269,12 +415,12 @@ class ContentLibraryItem(pulumi.CustomResource):
269
415
  def _internal_init(__self__,
270
416
  resource_name: str,
271
417
  opts: Optional[pulumi.ResourceOptions] = None,
272
- description: Optional[pulumi.Input[str]] = None,
273
- file_url: Optional[pulumi.Input[str]] = None,
274
- library_id: Optional[pulumi.Input[str]] = None,
275
- name: Optional[pulumi.Input[str]] = None,
276
- source_uuid: Optional[pulumi.Input[str]] = None,
277
- type: Optional[pulumi.Input[str]] = None,
418
+ description: Optional[pulumi.Input[_builtins.str]] = None,
419
+ file_url: Optional[pulumi.Input[_builtins.str]] = None,
420
+ library_id: Optional[pulumi.Input[_builtins.str]] = None,
421
+ name: Optional[pulumi.Input[_builtins.str]] = None,
422
+ source_uuid: Optional[pulumi.Input[_builtins.str]] = None,
423
+ type: Optional[pulumi.Input[_builtins.str]] = None,
278
424
  __props__=None):
279
425
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
280
426
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -302,12 +448,12 @@ class ContentLibraryItem(pulumi.CustomResource):
302
448
  def get(resource_name: str,
303
449
  id: pulumi.Input[str],
304
450
  opts: Optional[pulumi.ResourceOptions] = None,
305
- description: Optional[pulumi.Input[str]] = None,
306
- file_url: Optional[pulumi.Input[str]] = None,
307
- library_id: Optional[pulumi.Input[str]] = None,
308
- name: Optional[pulumi.Input[str]] = None,
309
- source_uuid: Optional[pulumi.Input[str]] = None,
310
- type: Optional[pulumi.Input[str]] = None) -> 'ContentLibraryItem':
451
+ description: Optional[pulumi.Input[_builtins.str]] = None,
452
+ file_url: Optional[pulumi.Input[_builtins.str]] = None,
453
+ library_id: Optional[pulumi.Input[_builtins.str]] = None,
454
+ name: Optional[pulumi.Input[_builtins.str]] = None,
455
+ source_uuid: Optional[pulumi.Input[_builtins.str]] = None,
456
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'ContentLibraryItem':
311
457
  """
312
458
  Get an existing ContentLibraryItem resource's state with the given name, id, and optional extra
313
459
  properties used to qualify the lookup.
@@ -315,12 +461,12 @@ class ContentLibraryItem(pulumi.CustomResource):
315
461
  :param str resource_name: The unique name of the resulting resource.
316
462
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
317
463
  :param pulumi.ResourceOptions opts: Options for the resource.
318
- :param pulumi.Input[str] description: A description for the content library item.
319
- :param pulumi.Input[str] file_url: File to import as the content library item.
320
- :param pulumi.Input[str] library_id: The ID of the content library in which to create the item.
321
- :param pulumi.Input[str] name: The name of the item to be created in the content library.
322
- :param pulumi.Input[str] source_uuid: Virtual machine UUID to clone to content library.
323
- :param pulumi.Input[str] type: Type of content library item.
464
+ :param pulumi.Input[_builtins.str] description: A description for the content library item.
465
+ :param pulumi.Input[_builtins.str] file_url: File to import as the content library item.
466
+ :param pulumi.Input[_builtins.str] library_id: The ID of the content library in which to create the item.
467
+ :param pulumi.Input[_builtins.str] name: The name of the item to be created in the content library.
468
+ :param pulumi.Input[_builtins.str] source_uuid: Virtual machine UUID to clone to content library.
469
+ :param pulumi.Input[_builtins.str] type: Type of content library item.
324
470
  One of "ovf", "iso", or "vm-template". Default: `ovf`.
325
471
  """
326
472
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -335,49 +481,49 @@ class ContentLibraryItem(pulumi.CustomResource):
335
481
  __props__.__dict__["type"] = type
336
482
  return ContentLibraryItem(resource_name, opts=opts, __props__=__props__)
337
483
 
338
- @property
484
+ @_builtins.property
339
485
  @pulumi.getter
340
- def description(self) -> pulumi.Output[Optional[str]]:
486
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
341
487
  """
342
488
  A description for the content library item.
343
489
  """
344
490
  return pulumi.get(self, "description")
345
491
 
346
- @property
492
+ @_builtins.property
347
493
  @pulumi.getter(name="fileUrl")
348
- def file_url(self) -> pulumi.Output[Optional[str]]:
494
+ def file_url(self) -> pulumi.Output[Optional[_builtins.str]]:
349
495
  """
350
496
  File to import as the content library item.
351
497
  """
352
498
  return pulumi.get(self, "file_url")
353
499
 
354
- @property
500
+ @_builtins.property
355
501
  @pulumi.getter(name="libraryId")
356
- def library_id(self) -> pulumi.Output[str]:
502
+ def library_id(self) -> pulumi.Output[_builtins.str]:
357
503
  """
358
504
  The ID of the content library in which to create the item.
359
505
  """
360
506
  return pulumi.get(self, "library_id")
361
507
 
362
- @property
508
+ @_builtins.property
363
509
  @pulumi.getter
364
- def name(self) -> pulumi.Output[str]:
510
+ def name(self) -> pulumi.Output[_builtins.str]:
365
511
  """
366
512
  The name of the item to be created in the content library.
367
513
  """
368
514
  return pulumi.get(self, "name")
369
515
 
370
- @property
516
+ @_builtins.property
371
517
  @pulumi.getter(name="sourceUuid")
372
- def source_uuid(self) -> pulumi.Output[Optional[str]]:
518
+ def source_uuid(self) -> pulumi.Output[Optional[_builtins.str]]:
373
519
  """
374
520
  Virtual machine UUID to clone to content library.
375
521
  """
376
522
  return pulumi.get(self, "source_uuid")
377
523
 
378
- @property
524
+ @_builtins.property
379
525
  @pulumi.getter
380
- def type(self) -> pulumi.Output[Optional[str]]:
526
+ def type(self) -> pulumi.Output[Optional[_builtins.str]]:
381
527
  """
382
528
  Type of content library item.
383
529
  One of "ovf", "iso", or "vm-template". Default: `ovf`.