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.
- pulumi_vsphere/compute_cluster.py +11 -10
- pulumi_vsphere/compute_cluster_host_group.py +71 -0
- pulumi_vsphere/compute_cluster_vm_affinity_rule.py +1 -0
- pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +5 -0
- pulumi_vsphere/compute_cluster_vm_dependency_rule.py +5 -0
- pulumi_vsphere/compute_cluster_vm_group.py +5 -0
- pulumi_vsphere/compute_cluster_vm_host_rule.py +5 -0
- pulumi_vsphere/content_library.py +5 -0
- pulumi_vsphere/content_library_item.py +5 -0
- pulumi_vsphere/custom_attribute.py +5 -0
- pulumi_vsphere/datacenter.py +1 -0
- pulumi_vsphere/datastore_cluster.py +89 -0
- pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +5 -0
- pulumi_vsphere/distributed_port_group.py +5 -0
- pulumi_vsphere/distributed_virtual_switch.py +5 -0
- pulumi_vsphere/distributed_virtual_switch_pvlan_mapping.py +1 -0
- pulumi_vsphere/dpm_host_override.py +89 -0
- pulumi_vsphere/drs_vm_override.py +5 -0
- pulumi_vsphere/entity_permissions.py +1 -0
- pulumi_vsphere/file.py +35 -49
- pulumi_vsphere/folder.py +17 -12
- pulumi_vsphere/get_compute_cluster_host_group.py +0 -4
- pulumi_vsphere/get_datastore_cluster.py +1 -1
- pulumi_vsphere/get_datastore_stats.py +0 -4
- pulumi_vsphere/get_dynamic.py +0 -4
- pulumi_vsphere/get_folder.py +130 -8
- pulumi_vsphere/get_guest_os_customization.py +21 -2
- pulumi_vsphere/get_license.py +8 -6
- pulumi_vsphere/get_network.py +35 -1
- pulumi_vsphere/get_ovf_vm_template.py +4 -4
- pulumi_vsphere/guest_os_customization.py +1 -0
- pulumi_vsphere/ha_vm_override.py +5 -0
- pulumi_vsphere/host.py +61 -6
- pulumi_vsphere/host_port_group.py +1 -0
- pulumi_vsphere/host_virtual_switch.py +5 -0
- pulumi_vsphere/license.py +67 -26
- pulumi_vsphere/nas_datastore.py +63 -0
- pulumi_vsphere/offline_software_depot.py +5 -0
- pulumi_vsphere/outputs.py +33 -0
- pulumi_vsphere/provider.py +21 -0
- pulumi_vsphere/pulumi-plugin.json +1 -1
- pulumi_vsphere/resource_pool.py +490 -163
- pulumi_vsphere/role.py +1 -0
- pulumi_vsphere/storage_drs_vm_override.py +5 -0
- pulumi_vsphere/supervisor.py +3 -2
- pulumi_vsphere/tag.py +5 -0
- pulumi_vsphere/tag_category.py +5 -0
- pulumi_vsphere/vapp_container.py +5 -0
- pulumi_vsphere/vapp_entity.py +5 -0
- pulumi_vsphere/virtual_disk.py +5 -0
- pulumi_vsphere/virtual_machine.py +5 -4
- pulumi_vsphere/virtual_machine_class.py +5 -4
- pulumi_vsphere/virtual_machine_snapshot.py +1 -0
- pulumi_vsphere/vm_storage_policy.py +1 -0
- pulumi_vsphere/vmfs_datastore.py +5 -0
- pulumi_vsphere/vnic.py +1 -0
- {pulumi_vsphere-4.13.2.dist-info → pulumi_vsphere-4.14.0.dist-info}/METADATA +3 -3
- pulumi_vsphere-4.14.0.dist-info/RECORD +87 -0
- {pulumi_vsphere-4.13.2.dist-info → pulumi_vsphere-4.14.0.dist-info}/WHEEL +1 -1
- pulumi_vsphere-4.13.2.dist-info/RECORD +0 -87
- {pulumi_vsphere-4.13.2.dist-info → pulumi_vsphere-4.14.0.dist-info}/top_level.txt +0 -0
pulumi_vsphere/get_folder.py
CHANGED
|
@@ -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
|
-
|
|
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 `
|
|
85
|
-
`/default-dc/vm/
|
|
86
|
-
|
|
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
|
-
|
|
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 `
|
|
119
|
-
`/default-dc/vm/
|
|
120
|
-
|
|
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.
|
|
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.
|
|
158
|
+
identifier per vCenter Server instance.
|
|
140
159
|
"""
|
|
141
160
|
__args__ = dict()
|
|
142
161
|
__args__['name'] = name
|
pulumi_vsphere/get_license.py
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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
|
pulumi_vsphere/get_network.py
CHANGED
|
@@ -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
|
|
404
|
-
one of `thin`, `
|
|
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
|
|
507
|
-
one of `thin`, `
|
|
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
|
|
@@ -193,6 +193,7 @@ class _GuestOsCustomizationState:
|
|
|
193
193
|
pulumi.set(self, "type", value)
|
|
194
194
|
|
|
195
195
|
|
|
196
|
+
@pulumi.type_token("vsphere:index/guestOsCustomization:GuestOsCustomization")
|
|
196
197
|
class GuestOsCustomization(pulumi.CustomResource):
|
|
197
198
|
@overload
|
|
198
199
|
def __init__(__self__,
|
pulumi_vsphere/ha_vm_override.py
CHANGED
|
@@ -559,6 +559,7 @@ class _HaVmOverrideState:
|
|
|
559
559
|
pulumi.set(self, "virtual_machine_id", value)
|
|
560
560
|
|
|
561
561
|
|
|
562
|
+
@pulumi.type_token("vsphere:index/haVmOverride:HaVmOverride")
|
|
562
563
|
class HaVmOverride(pulumi.CustomResource):
|
|
563
564
|
@overload
|
|
564
565
|
def __init__(__self__,
|
|
@@ -652,6 +653,8 @@ class HaVmOverride(pulumi.CustomResource):
|
|
|
652
653
|
|
|
653
654
|
is below:
|
|
654
655
|
|
|
656
|
+
[docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
657
|
+
|
|
655
658
|
```sh
|
|
656
659
|
$ pulumi import vsphere:index/haVmOverride:HaVmOverride ha_vm_override \\
|
|
657
660
|
```
|
|
@@ -768,6 +771,8 @@ class HaVmOverride(pulumi.CustomResource):
|
|
|
768
771
|
|
|
769
772
|
is below:
|
|
770
773
|
|
|
774
|
+
[docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
775
|
+
|
|
771
776
|
```sh
|
|
772
777
|
$ pulumi import vsphere:index/haVmOverride:HaVmOverride ha_vm_override \\
|
|
773
778
|
```
|
pulumi_vsphere/host.py
CHANGED
|
@@ -628,6 +628,7 @@ class _HostState:
|
|
|
628
628
|
pulumi.set(self, "username", value)
|
|
629
629
|
|
|
630
630
|
|
|
631
|
+
@pulumi.type_token("vsphere:index/host:Host")
|
|
631
632
|
class Host(pulumi.CustomResource):
|
|
632
633
|
@overload
|
|
633
634
|
def __init__(__self__,
|
|
@@ -673,6 +674,33 @@ class Host(pulumi.CustomResource):
|
|
|
673
674
|
datacenter=datacenter.id)
|
|
674
675
|
```
|
|
675
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
|
+
|
|
676
704
|
## Import
|
|
677
705
|
|
|
678
706
|
An existing host can be imported into this resource by supplying
|
|
@@ -717,7 +745,7 @@ class Host(pulumi.CustomResource):
|
|
|
717
745
|
|
|
718
746
|
data "vsphere_host_thumbprint" "thumbprint" {
|
|
719
747
|
|
|
720
|
-
address
|
|
748
|
+
address = "esxi-01.example.com"
|
|
721
749
|
|
|
722
750
|
insecure = true
|
|
723
751
|
|
|
@@ -765,9 +793,9 @@ class Host(pulumi.CustomResource):
|
|
|
765
793
|
|
|
766
794
|
}
|
|
767
795
|
|
|
768
|
-
|
|
796
|
+
}
|
|
769
797
|
|
|
770
|
-
|
|
798
|
+
}
|
|
771
799
|
|
|
772
800
|
```sh
|
|
773
801
|
$ pulumi import vsphere:index/host:Host esx-01 host-123
|
|
@@ -852,6 +880,33 @@ class Host(pulumi.CustomResource):
|
|
|
852
880
|
datacenter=datacenter.id)
|
|
853
881
|
```
|
|
854
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
|
+
|
|
855
910
|
## Import
|
|
856
911
|
|
|
857
912
|
An existing host can be imported into this resource by supplying
|
|
@@ -896,7 +951,7 @@ class Host(pulumi.CustomResource):
|
|
|
896
951
|
|
|
897
952
|
data "vsphere_host_thumbprint" "thumbprint" {
|
|
898
953
|
|
|
899
|
-
address
|
|
954
|
+
address = "esxi-01.example.com"
|
|
900
955
|
|
|
901
956
|
insecure = true
|
|
902
957
|
|
|
@@ -944,9 +999,9 @@ class Host(pulumi.CustomResource):
|
|
|
944
999
|
|
|
945
1000
|
}
|
|
946
1001
|
|
|
947
|
-
|
|
1002
|
+
}
|
|
948
1003
|
|
|
949
|
-
|
|
1004
|
+
}
|
|
950
1005
|
|
|
951
1006
|
```sh
|
|
952
1007
|
$ pulumi import vsphere:index/host:Host esx-01 host-123
|
|
@@ -742,6 +742,7 @@ class _HostVirtualSwitchState:
|
|
|
742
742
|
pulumi.set(self, "teaming_policy", value)
|
|
743
743
|
|
|
744
744
|
|
|
745
|
+
@pulumi.type_token("vsphere:index/hostVirtualSwitch:HostVirtualSwitch")
|
|
745
746
|
class HostVirtualSwitch(pulumi.CustomResource):
|
|
746
747
|
@overload
|
|
747
748
|
def __init__(__self__,
|
|
@@ -840,6 +841,8 @@ class HostVirtualSwitch(pulumi.CustomResource):
|
|
|
840
841
|
|
|
841
842
|
Import can the be done via the following command:
|
|
842
843
|
|
|
844
|
+
[docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
845
|
+
|
|
843
846
|
[docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
844
847
|
|
|
845
848
|
```sh
|
|
@@ -961,6 +964,8 @@ class HostVirtualSwitch(pulumi.CustomResource):
|
|
|
961
964
|
|
|
962
965
|
Import can the be done via the following command:
|
|
963
966
|
|
|
967
|
+
[docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
968
|
+
|
|
964
969
|
[docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
965
970
|
|
|
966
971
|
```sh
|