pulumi-vsphere 4.10.0a1709368772__py3-none-any.whl → 4.10.0a1710245029__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/__init__.py +2 -0
- pulumi_vsphere/_inputs.py +4 -0
- pulumi_vsphere/compute_cluster_vm_affinity_rule.py +8 -0
- pulumi_vsphere/datacenter.py +12 -0
- pulumi_vsphere/datastore_cluster.py +7 -7
- pulumi_vsphere/distributed_virtual_switch.py +28 -7
- pulumi_vsphere/file.py +12 -0
- pulumi_vsphere/get_compute_cluster.py +4 -0
- pulumi_vsphere/get_compute_cluster_host_group.py +4 -0
- pulumi_vsphere/get_content_library.py +4 -0
- pulumi_vsphere/get_custom_attribute.py +4 -0
- pulumi_vsphere/get_datacenter.py +4 -0
- pulumi_vsphere/get_datastore.py +31 -3
- pulumi_vsphere/get_datastore_cluster.py +4 -0
- pulumi_vsphere/get_datastore_stats.py +202 -0
- pulumi_vsphere/get_distributed_virtual_switch.py +4 -0
- pulumi_vsphere/get_dynamic.py +4 -0
- pulumi_vsphere/get_folder.py +4 -0
- pulumi_vsphere/get_guest_os_customization.py +4 -0
- pulumi_vsphere/get_host.py +4 -0
- pulumi_vsphere/get_host_pci_device.py +34 -0
- pulumi_vsphere/get_host_thumbprint.py +4 -0
- pulumi_vsphere/get_host_vgpu_profile.py +190 -0
- pulumi_vsphere/get_license.py +4 -0
- pulumi_vsphere/get_network.py +4 -0
- pulumi_vsphere/get_ovf_vm_template.py +0 -168
- pulumi_vsphere/get_policy.py +4 -0
- pulumi_vsphere/get_resource_pool.py +10 -0
- pulumi_vsphere/get_role.py +4 -0
- pulumi_vsphere/get_tag.py +4 -0
- pulumi_vsphere/get_tag_category.py +4 -0
- pulumi_vsphere/get_vapp_container.py +4 -0
- pulumi_vsphere/get_virtual_machine.py +37 -1
- pulumi_vsphere/get_vmfs_disks.py +4 -0
- pulumi_vsphere/host.py +18 -0
- pulumi_vsphere/host_port_group.py +14 -0
- pulumi_vsphere/license.py +4 -0
- pulumi_vsphere/outputs.py +75 -0
- pulumi_vsphere/resource_pool.py +12 -12
- pulumi_vsphere/virtual_machine.py +75 -14
- pulumi_vsphere/virtual_machine_snapshot.py +4 -0
- pulumi_vsphere/vm_storage_policy.py +12 -0
- pulumi_vsphere/vnic.py +18 -0
- {pulumi_vsphere-4.10.0a1709368772.dist-info → pulumi_vsphere-4.10.0a1710245029.dist-info}/METADATA +1 -1
- pulumi_vsphere-4.10.0a1710245029.dist-info/RECORD +82 -0
- {pulumi_vsphere-4.10.0a1709368772.dist-info → pulumi_vsphere-4.10.0a1710245029.dist-info}/WHEEL +1 -1
- pulumi_vsphere-4.10.0a1709368772.dist-info/RECORD +0 -80
- {pulumi_vsphere-4.10.0a1709368772.dist-info → pulumi_vsphere-4.10.0a1710245029.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import pulumi
|
|
8
|
+
import pulumi.runtime
|
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
10
|
+
from . import _utilities
|
|
11
|
+
from . import outputs
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
'GetHostVgpuProfileResult',
|
|
15
|
+
'AwaitableGetHostVgpuProfileResult',
|
|
16
|
+
'get_host_vgpu_profile',
|
|
17
|
+
'get_host_vgpu_profile_output',
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
@pulumi.output_type
|
|
21
|
+
class GetHostVgpuProfileResult:
|
|
22
|
+
"""
|
|
23
|
+
A collection of values returned by getHostVgpuProfile.
|
|
24
|
+
"""
|
|
25
|
+
def __init__(__self__, host_id=None, id=None, name_regex=None, vgpu_profiles=None):
|
|
26
|
+
if host_id and not isinstance(host_id, str):
|
|
27
|
+
raise TypeError("Expected argument 'host_id' to be a str")
|
|
28
|
+
pulumi.set(__self__, "host_id", host_id)
|
|
29
|
+
if id and not isinstance(id, str):
|
|
30
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
31
|
+
pulumi.set(__self__, "id", id)
|
|
32
|
+
if name_regex and not isinstance(name_regex, str):
|
|
33
|
+
raise TypeError("Expected argument 'name_regex' to be a str")
|
|
34
|
+
pulumi.set(__self__, "name_regex", name_regex)
|
|
35
|
+
if vgpu_profiles and not isinstance(vgpu_profiles, list):
|
|
36
|
+
raise TypeError("Expected argument 'vgpu_profiles' to be a list")
|
|
37
|
+
pulumi.set(__self__, "vgpu_profiles", vgpu_profiles)
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
@pulumi.getter(name="hostId")
|
|
41
|
+
def host_id(self) -> str:
|
|
42
|
+
"""
|
|
43
|
+
The [managed objectID][docs-about-morefs] of the ESXi host.
|
|
44
|
+
"""
|
|
45
|
+
return pulumi.get(self, "host_id")
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
@pulumi.getter
|
|
49
|
+
def id(self) -> str:
|
|
50
|
+
"""
|
|
51
|
+
The provider-assigned unique ID for this managed resource.
|
|
52
|
+
"""
|
|
53
|
+
return pulumi.get(self, "id")
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
@pulumi.getter(name="nameRegex")
|
|
57
|
+
def name_regex(self) -> Optional[str]:
|
|
58
|
+
"""
|
|
59
|
+
(Optional) A regular expression that will be used to match the
|
|
60
|
+
host vGPU profile name.
|
|
61
|
+
"""
|
|
62
|
+
return pulumi.get(self, "name_regex")
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
@pulumi.getter(name="vgpuProfiles")
|
|
66
|
+
def vgpu_profiles(self) -> Sequence['outputs.GetHostVgpuProfileVgpuProfileResult']:
|
|
67
|
+
"""
|
|
68
|
+
The list of available vGPU profiles on the ESXi host.
|
|
69
|
+
This may be and empty array if no vGPU profile are identified.
|
|
70
|
+
"""
|
|
71
|
+
return pulumi.get(self, "vgpu_profiles")
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class AwaitableGetHostVgpuProfileResult(GetHostVgpuProfileResult):
|
|
75
|
+
# pylint: disable=using-constant-test
|
|
76
|
+
def __await__(self):
|
|
77
|
+
if False:
|
|
78
|
+
yield self
|
|
79
|
+
return GetHostVgpuProfileResult(
|
|
80
|
+
host_id=self.host_id,
|
|
81
|
+
id=self.id,
|
|
82
|
+
name_regex=self.name_regex,
|
|
83
|
+
vgpu_profiles=self.vgpu_profiles)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def get_host_vgpu_profile(host_id: Optional[str] = None,
|
|
87
|
+
name_regex: Optional[str] = None,
|
|
88
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHostVgpuProfileResult:
|
|
89
|
+
"""
|
|
90
|
+
The `get_host_vgpu_profile` data source can be used to discover the
|
|
91
|
+
available vGPU profiles of a vSphere host.
|
|
92
|
+
|
|
93
|
+
## Example Usage
|
|
94
|
+
|
|
95
|
+
### To Return All VGPU Profiles
|
|
96
|
+
|
|
97
|
+
<!--Start PulumiCodeChooser -->
|
|
98
|
+
```python
|
|
99
|
+
import pulumi
|
|
100
|
+
import pulumi_vsphere as vsphere
|
|
101
|
+
|
|
102
|
+
datacenter = vsphere.get_datacenter(name="dc-01")
|
|
103
|
+
host = vsphere.get_host(name="esxi-01.example.com",
|
|
104
|
+
datacenter_id=datacenter.id)
|
|
105
|
+
vgpu_profile = vsphere.get_host_vgpu_profile(host_id=host.id)
|
|
106
|
+
```
|
|
107
|
+
<!--End PulumiCodeChooser -->
|
|
108
|
+
|
|
109
|
+
### With VGPU Profile Name_regex
|
|
110
|
+
|
|
111
|
+
<!--Start PulumiCodeChooser -->
|
|
112
|
+
```python
|
|
113
|
+
import pulumi
|
|
114
|
+
import pulumi_vsphere as vsphere
|
|
115
|
+
|
|
116
|
+
datacenter = vsphere.get_datacenter(name="dc-01")
|
|
117
|
+
host = vsphere.get_host(name="esxi-01.example.com",
|
|
118
|
+
datacenter_id=datacenter.id)
|
|
119
|
+
vgpu_profile = vsphere.get_host_vgpu_profile(host_id=host.id,
|
|
120
|
+
name_regex="a100")
|
|
121
|
+
```
|
|
122
|
+
<!--End PulumiCodeChooser -->
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
:param str host_id: The [managed object reference ID][docs-about-morefs] of a host.
|
|
126
|
+
:param str name_regex: A regular expression that will be used to match the
|
|
127
|
+
host vGPU profile name.
|
|
128
|
+
|
|
129
|
+
[docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
130
|
+
"""
|
|
131
|
+
__args__ = dict()
|
|
132
|
+
__args__['hostId'] = host_id
|
|
133
|
+
__args__['nameRegex'] = name_regex
|
|
134
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
135
|
+
__ret__ = pulumi.runtime.invoke('vsphere:index/getHostVgpuProfile:getHostVgpuProfile', __args__, opts=opts, typ=GetHostVgpuProfileResult).value
|
|
136
|
+
|
|
137
|
+
return AwaitableGetHostVgpuProfileResult(
|
|
138
|
+
host_id=pulumi.get(__ret__, 'host_id'),
|
|
139
|
+
id=pulumi.get(__ret__, 'id'),
|
|
140
|
+
name_regex=pulumi.get(__ret__, 'name_regex'),
|
|
141
|
+
vgpu_profiles=pulumi.get(__ret__, 'vgpu_profiles'))
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
@_utilities.lift_output_func(get_host_vgpu_profile)
|
|
145
|
+
def get_host_vgpu_profile_output(host_id: Optional[pulumi.Input[str]] = None,
|
|
146
|
+
name_regex: Optional[pulumi.Input[Optional[str]]] = None,
|
|
147
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostVgpuProfileResult]:
|
|
148
|
+
"""
|
|
149
|
+
The `get_host_vgpu_profile` data source can be used to discover the
|
|
150
|
+
available vGPU profiles of a vSphere host.
|
|
151
|
+
|
|
152
|
+
## Example Usage
|
|
153
|
+
|
|
154
|
+
### To Return All VGPU Profiles
|
|
155
|
+
|
|
156
|
+
<!--Start PulumiCodeChooser -->
|
|
157
|
+
```python
|
|
158
|
+
import pulumi
|
|
159
|
+
import pulumi_vsphere as vsphere
|
|
160
|
+
|
|
161
|
+
datacenter = vsphere.get_datacenter(name="dc-01")
|
|
162
|
+
host = vsphere.get_host(name="esxi-01.example.com",
|
|
163
|
+
datacenter_id=datacenter.id)
|
|
164
|
+
vgpu_profile = vsphere.get_host_vgpu_profile(host_id=host.id)
|
|
165
|
+
```
|
|
166
|
+
<!--End PulumiCodeChooser -->
|
|
167
|
+
|
|
168
|
+
### With VGPU Profile Name_regex
|
|
169
|
+
|
|
170
|
+
<!--Start PulumiCodeChooser -->
|
|
171
|
+
```python
|
|
172
|
+
import pulumi
|
|
173
|
+
import pulumi_vsphere as vsphere
|
|
174
|
+
|
|
175
|
+
datacenter = vsphere.get_datacenter(name="dc-01")
|
|
176
|
+
host = vsphere.get_host(name="esxi-01.example.com",
|
|
177
|
+
datacenter_id=datacenter.id)
|
|
178
|
+
vgpu_profile = vsphere.get_host_vgpu_profile(host_id=host.id,
|
|
179
|
+
name_regex="a100")
|
|
180
|
+
```
|
|
181
|
+
<!--End PulumiCodeChooser -->
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
:param str host_id: The [managed object reference ID][docs-about-morefs] of a host.
|
|
185
|
+
:param str name_regex: A regular expression that will be used to match the
|
|
186
|
+
host vGPU profile name.
|
|
187
|
+
|
|
188
|
+
[docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
189
|
+
"""
|
|
190
|
+
...
|
pulumi_vsphere/get_license.py
CHANGED
|
@@ -118,12 +118,14 @@ def get_license(license_key: Optional[str] = None,
|
|
|
118
118
|
|
|
119
119
|
## Example Usage
|
|
120
120
|
|
|
121
|
+
<!--Start PulumiCodeChooser -->
|
|
121
122
|
```python
|
|
122
123
|
import pulumi
|
|
123
124
|
import pulumi_vsphere as vsphere
|
|
124
125
|
|
|
125
126
|
license = vsphere.get_license(license_key="00000-00000-00000-00000-00000")
|
|
126
127
|
```
|
|
128
|
+
<!--End PulumiCodeChooser -->
|
|
127
129
|
|
|
128
130
|
|
|
129
131
|
:param str license_key: The license key.
|
|
@@ -152,12 +154,14 @@ def get_license_output(license_key: Optional[pulumi.Input[str]] = None,
|
|
|
152
154
|
|
|
153
155
|
## Example Usage
|
|
154
156
|
|
|
157
|
+
<!--Start PulumiCodeChooser -->
|
|
155
158
|
```python
|
|
156
159
|
import pulumi
|
|
157
160
|
import pulumi_vsphere as vsphere
|
|
158
161
|
|
|
159
162
|
license = vsphere.get_license(license_key="00000-00000-00000-00000-00000")
|
|
160
163
|
```
|
|
164
|
+
<!--End PulumiCodeChooser -->
|
|
161
165
|
|
|
162
166
|
|
|
163
167
|
:param str license_key: The license key.
|
pulumi_vsphere/get_network.py
CHANGED
|
@@ -99,6 +99,7 @@ def get_network(datacenter_id: Optional[str] = None,
|
|
|
99
99
|
|
|
100
100
|
## Example Usage
|
|
101
101
|
|
|
102
|
+
<!--Start PulumiCodeChooser -->
|
|
102
103
|
```python
|
|
103
104
|
import pulumi
|
|
104
105
|
import pulumi_vsphere as vsphere
|
|
@@ -107,6 +108,7 @@ def get_network(datacenter_id: Optional[str] = None,
|
|
|
107
108
|
network = vsphere.get_network(name="VM Network",
|
|
108
109
|
datacenter_id=datacenter.id)
|
|
109
110
|
```
|
|
111
|
+
<!--End PulumiCodeChooser -->
|
|
110
112
|
|
|
111
113
|
|
|
112
114
|
:param str datacenter_id: The managed object reference ID
|
|
@@ -148,6 +150,7 @@ def get_network_output(datacenter_id: Optional[pulumi.Input[Optional[str]]] = No
|
|
|
148
150
|
|
|
149
151
|
## Example Usage
|
|
150
152
|
|
|
153
|
+
<!--Start PulumiCodeChooser -->
|
|
151
154
|
```python
|
|
152
155
|
import pulumi
|
|
153
156
|
import pulumi_vsphere as vsphere
|
|
@@ -156,6 +159,7 @@ def get_network_output(datacenter_id: Optional[pulumi.Input[Optional[str]]] = No
|
|
|
156
159
|
network = vsphere.get_network(name="VM Network",
|
|
157
160
|
datacenter_id=datacenter.id)
|
|
158
161
|
```
|
|
162
|
+
<!--End PulumiCodeChooser -->
|
|
159
163
|
|
|
160
164
|
|
|
161
165
|
:param str datacenter_id: The managed object reference ID
|
|
@@ -385,90 +385,6 @@ def get_ovf_vm_template(allow_unverified_ssl_cert: Optional[bool] = None,
|
|
|
385
385
|
vSphere and extract its hardware settings in a form that can be then used as
|
|
386
386
|
inputs for a `VirtualMachine` resource.
|
|
387
387
|
|
|
388
|
-
## Remote OVF/OVA Source
|
|
389
|
-
|
|
390
|
-
data "vsphere_ovf_vm_template" "ovfRemote" {
|
|
391
|
-
name = "Nested-ESXi-7.0-Terraform-Deploy-1"
|
|
392
|
-
disk_provisioning = "thin"
|
|
393
|
-
resource_pool_id = data.vsphere_resource_pool.default.id
|
|
394
|
-
datastore_id = data.vsphere_datastore.datastore.id
|
|
395
|
-
host_system_id = data.vsphere_host.host.id
|
|
396
|
-
remote_ovf_url = "https://download3.vmware.com/software/vmw-tools/nested-esxi/Nested_ESXi7.0u3_Appliance_Template_v1.ova"
|
|
397
|
-
ovf_network_map = {
|
|
398
|
-
"VM Network" : data.vsphere_network.network.id
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
## Local OVF/OVA Source
|
|
403
|
-
|
|
404
|
-
data "vsphere_ovf_vm_template" "ovfLocal" {
|
|
405
|
-
name = "Nested-ESXi-7.0-Terraform-Deploy-2"
|
|
406
|
-
disk_provisioning = "thin"
|
|
407
|
-
resource_pool_id = data.vsphere_resource_pool.default.id
|
|
408
|
-
datastore_id = data.vsphere_datastore.datastore.id
|
|
409
|
-
host_system_id = data.vsphere_host.host.id
|
|
410
|
-
local_ovf_path = "/Volume/Storage/OVA/Nested_ESXi7.0u3_Appliance_Template_v1.ova"
|
|
411
|
-
ovf_network_map = {
|
|
412
|
-
"VM Network" : data.vsphere_network.network.id
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
## Deployment of VM from Remote OVF
|
|
417
|
-
|
|
418
|
-
resource "vsphere_virtual_machine" "vmFromRemoteOvf" {
|
|
419
|
-
name = "Nested-ESXi-7.0-Terraform-Deploy-1"
|
|
420
|
-
datacenter_id = data.vsphere_datacenter.datacenter.id
|
|
421
|
-
datastore_id = data.vsphere_datastore.datastore.id
|
|
422
|
-
host_system_id = data.vsphere_host.host.id
|
|
423
|
-
resource_pool_id = data.vsphere_resource_pool.default.id
|
|
424
|
-
num_cpus = data.vsphere_ovf_vm_template.ovfRemote.num_cpus
|
|
425
|
-
num_cores_per_socket = data.vsphere_ovf_vm_template.ovfRemote.num_cores_per_socket
|
|
426
|
-
memory = data.vsphere_ovf_vm_template.ovfRemote.memory
|
|
427
|
-
guest_id = data.vsphere_ovf_vm_template.ovfRemote.guest_id
|
|
428
|
-
firmware = data.vsphere_ovf_vm_template.ovfRemote.firmware
|
|
429
|
-
scsi_type = data.vsphere_ovf_vm_template.ovfRemote.scsi_type
|
|
430
|
-
nested_hv_enabled = data.vsphere_ovf_vm_template.ovfRemote.nested_hv_enabled
|
|
431
|
-
dynamic "network_interface" {
|
|
432
|
-
for_each = data.vsphere_ovf_vm_template.ovfRemote.ovf_network_map
|
|
433
|
-
content {
|
|
434
|
-
network_id = network_interface.value
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
wait_for_guest_net_timeout = 0
|
|
438
|
-
wait_for_guest_ip_timeout = 0
|
|
439
|
-
|
|
440
|
-
ovf_deploy {
|
|
441
|
-
allow_unverified_ssl_cert = false
|
|
442
|
-
remote_ovf_url = data.vsphere_ovf_vm_template.ovfRemote.remote_ovf_url
|
|
443
|
-
disk_provisioning = data.vsphere_ovf_vm_template.ovfRemote.disk_provisioning
|
|
444
|
-
ovf_network_map = data.vsphere_ovf_vm_template.ovfRemote.ovf_network_map
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
vapp {
|
|
448
|
-
properties = {
|
|
449
|
-
"guestinfo.hostname" = "nested-esxi-01.example.com",
|
|
450
|
-
"guestinfo.ipaddress" = "172.16.11.101",
|
|
451
|
-
"guestinfo.netmask" = "255.255.255.0",
|
|
452
|
-
"guestinfo.gateway" = "172.16.11.1",
|
|
453
|
-
"guestinfo.dns" = "172.16.11.4",
|
|
454
|
-
"guestinfo.domain" = "example.com",
|
|
455
|
-
"guestinfo.ntp" = "ntp.example.com",
|
|
456
|
-
"guestinfo.password" = "VMware1!",
|
|
457
|
-
"guestinfo.ssh" = "True"
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
lifecycle {
|
|
462
|
-
ignore_changes = [
|
|
463
|
-
annotation,
|
|
464
|
-
disk[0].io_share_count,
|
|
465
|
-
disk[1].io_share_count,
|
|
466
|
-
disk[2].io_share_count,
|
|
467
|
-
vapp[0].properties,
|
|
468
|
-
]
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
|
|
472
388
|
|
|
473
389
|
:param bool allow_unverified_ssl_cert: Allow unverified SSL certificates
|
|
474
390
|
when deploying OVF/OVA from a URL.
|
|
@@ -575,90 +491,6 @@ def get_ovf_vm_template_output(allow_unverified_ssl_cert: Optional[pulumi.Input[
|
|
|
575
491
|
vSphere and extract its hardware settings in a form that can be then used as
|
|
576
492
|
inputs for a `VirtualMachine` resource.
|
|
577
493
|
|
|
578
|
-
## Remote OVF/OVA Source
|
|
579
|
-
|
|
580
|
-
data "vsphere_ovf_vm_template" "ovfRemote" {
|
|
581
|
-
name = "Nested-ESXi-7.0-Terraform-Deploy-1"
|
|
582
|
-
disk_provisioning = "thin"
|
|
583
|
-
resource_pool_id = data.vsphere_resource_pool.default.id
|
|
584
|
-
datastore_id = data.vsphere_datastore.datastore.id
|
|
585
|
-
host_system_id = data.vsphere_host.host.id
|
|
586
|
-
remote_ovf_url = "https://download3.vmware.com/software/vmw-tools/nested-esxi/Nested_ESXi7.0u3_Appliance_Template_v1.ova"
|
|
587
|
-
ovf_network_map = {
|
|
588
|
-
"VM Network" : data.vsphere_network.network.id
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
## Local OVF/OVA Source
|
|
593
|
-
|
|
594
|
-
data "vsphere_ovf_vm_template" "ovfLocal" {
|
|
595
|
-
name = "Nested-ESXi-7.0-Terraform-Deploy-2"
|
|
596
|
-
disk_provisioning = "thin"
|
|
597
|
-
resource_pool_id = data.vsphere_resource_pool.default.id
|
|
598
|
-
datastore_id = data.vsphere_datastore.datastore.id
|
|
599
|
-
host_system_id = data.vsphere_host.host.id
|
|
600
|
-
local_ovf_path = "/Volume/Storage/OVA/Nested_ESXi7.0u3_Appliance_Template_v1.ova"
|
|
601
|
-
ovf_network_map = {
|
|
602
|
-
"VM Network" : data.vsphere_network.network.id
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
## Deployment of VM from Remote OVF
|
|
607
|
-
|
|
608
|
-
resource "vsphere_virtual_machine" "vmFromRemoteOvf" {
|
|
609
|
-
name = "Nested-ESXi-7.0-Terraform-Deploy-1"
|
|
610
|
-
datacenter_id = data.vsphere_datacenter.datacenter.id
|
|
611
|
-
datastore_id = data.vsphere_datastore.datastore.id
|
|
612
|
-
host_system_id = data.vsphere_host.host.id
|
|
613
|
-
resource_pool_id = data.vsphere_resource_pool.default.id
|
|
614
|
-
num_cpus = data.vsphere_ovf_vm_template.ovfRemote.num_cpus
|
|
615
|
-
num_cores_per_socket = data.vsphere_ovf_vm_template.ovfRemote.num_cores_per_socket
|
|
616
|
-
memory = data.vsphere_ovf_vm_template.ovfRemote.memory
|
|
617
|
-
guest_id = data.vsphere_ovf_vm_template.ovfRemote.guest_id
|
|
618
|
-
firmware = data.vsphere_ovf_vm_template.ovfRemote.firmware
|
|
619
|
-
scsi_type = data.vsphere_ovf_vm_template.ovfRemote.scsi_type
|
|
620
|
-
nested_hv_enabled = data.vsphere_ovf_vm_template.ovfRemote.nested_hv_enabled
|
|
621
|
-
dynamic "network_interface" {
|
|
622
|
-
for_each = data.vsphere_ovf_vm_template.ovfRemote.ovf_network_map
|
|
623
|
-
content {
|
|
624
|
-
network_id = network_interface.value
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
wait_for_guest_net_timeout = 0
|
|
628
|
-
wait_for_guest_ip_timeout = 0
|
|
629
|
-
|
|
630
|
-
ovf_deploy {
|
|
631
|
-
allow_unverified_ssl_cert = false
|
|
632
|
-
remote_ovf_url = data.vsphere_ovf_vm_template.ovfRemote.remote_ovf_url
|
|
633
|
-
disk_provisioning = data.vsphere_ovf_vm_template.ovfRemote.disk_provisioning
|
|
634
|
-
ovf_network_map = data.vsphere_ovf_vm_template.ovfRemote.ovf_network_map
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
vapp {
|
|
638
|
-
properties = {
|
|
639
|
-
"guestinfo.hostname" = "nested-esxi-01.example.com",
|
|
640
|
-
"guestinfo.ipaddress" = "172.16.11.101",
|
|
641
|
-
"guestinfo.netmask" = "255.255.255.0",
|
|
642
|
-
"guestinfo.gateway" = "172.16.11.1",
|
|
643
|
-
"guestinfo.dns" = "172.16.11.4",
|
|
644
|
-
"guestinfo.domain" = "example.com",
|
|
645
|
-
"guestinfo.ntp" = "ntp.example.com",
|
|
646
|
-
"guestinfo.password" = "VMware1!",
|
|
647
|
-
"guestinfo.ssh" = "True"
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
lifecycle {
|
|
652
|
-
ignore_changes = [
|
|
653
|
-
annotation,
|
|
654
|
-
disk[0].io_share_count,
|
|
655
|
-
disk[1].io_share_count,
|
|
656
|
-
disk[2].io_share_count,
|
|
657
|
-
vapp[0].properties,
|
|
658
|
-
]
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
|
|
662
494
|
|
|
663
495
|
:param bool allow_unverified_ssl_cert: Allow unverified SSL certificates
|
|
664
496
|
when deploying OVF/OVA from a URL.
|
pulumi_vsphere/get_policy.py
CHANGED
|
@@ -65,6 +65,7 @@ def get_policy(name: Optional[str] = None,
|
|
|
65
65
|
|
|
66
66
|
## Example Usage
|
|
67
67
|
|
|
68
|
+
<!--Start PulumiCodeChooser -->
|
|
68
69
|
```python
|
|
69
70
|
import pulumi
|
|
70
71
|
import pulumi_vsphere as vsphere
|
|
@@ -72,6 +73,7 @@ def get_policy(name: Optional[str] = None,
|
|
|
72
73
|
prod_platinum_replicated = vsphere.get_policy(name="prod_platinum_replicated")
|
|
73
74
|
dev_silver_nonreplicated = vsphere.get_policy(name="dev_silver_nonreplicated")
|
|
74
75
|
```
|
|
76
|
+
<!--End PulumiCodeChooser -->
|
|
75
77
|
|
|
76
78
|
|
|
77
79
|
:param str name: The name of the storage policy.
|
|
@@ -99,6 +101,7 @@ def get_policy_output(name: Optional[pulumi.Input[str]] = None,
|
|
|
99
101
|
|
|
100
102
|
## Example Usage
|
|
101
103
|
|
|
104
|
+
<!--Start PulumiCodeChooser -->
|
|
102
105
|
```python
|
|
103
106
|
import pulumi
|
|
104
107
|
import pulumi_vsphere as vsphere
|
|
@@ -106,6 +109,7 @@ def get_policy_output(name: Optional[pulumi.Input[str]] = None,
|
|
|
106
109
|
prod_platinum_replicated = vsphere.get_policy(name="prod_platinum_replicated")
|
|
107
110
|
dev_silver_nonreplicated = vsphere.get_policy(name="dev_silver_nonreplicated")
|
|
108
111
|
```
|
|
112
|
+
<!--End PulumiCodeChooser -->
|
|
109
113
|
|
|
110
114
|
|
|
111
115
|
:param str name: The name of the storage policy.
|
|
@@ -73,6 +73,7 @@ def get_resource_pool(datacenter_id: Optional[str] = None,
|
|
|
73
73
|
|
|
74
74
|
## Example Usage
|
|
75
75
|
|
|
76
|
+
<!--Start PulumiCodeChooser -->
|
|
76
77
|
```python
|
|
77
78
|
import pulumi
|
|
78
79
|
import pulumi_vsphere as vsphere
|
|
@@ -81,6 +82,8 @@ def get_resource_pool(datacenter_id: Optional[str] = None,
|
|
|
81
82
|
pool = vsphere.get_resource_pool(name="resource-pool-01",
|
|
82
83
|
datacenter_id=datacenter.id)
|
|
83
84
|
```
|
|
85
|
+
<!--End PulumiCodeChooser -->
|
|
86
|
+
|
|
84
87
|
### Specifying the Root Resource Pool for a Standalone ESXi Host
|
|
85
88
|
|
|
86
89
|
> **NOTE:** Returning the root resource pool for a cluster can be done
|
|
@@ -91,6 +94,7 @@ def get_resource_pool(datacenter_id: Optional[str] = None,
|
|
|
91
94
|
explicitly created. This resource pool is referred to as the
|
|
92
95
|
_root resource pool_ and can be looked up by specifying the path.
|
|
93
96
|
|
|
97
|
+
<!--Start PulumiCodeChooser -->
|
|
94
98
|
```python
|
|
95
99
|
import pulumi
|
|
96
100
|
import pulumi_vsphere as vsphere
|
|
@@ -98,6 +102,7 @@ def get_resource_pool(datacenter_id: Optional[str] = None,
|
|
|
98
102
|
pool = vsphere.get_resource_pool(name="esxi-01.example.com/Resources",
|
|
99
103
|
datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"])
|
|
100
104
|
```
|
|
105
|
+
<!--End PulumiCodeChooser -->
|
|
101
106
|
|
|
102
107
|
For more information on the root resource pool, see [Managing Resource Pools][vmware-docs-resource-pools] in the vSphere documentation.
|
|
103
108
|
|
|
@@ -140,6 +145,7 @@ def get_resource_pool_output(datacenter_id: Optional[pulumi.Input[Optional[str]]
|
|
|
140
145
|
|
|
141
146
|
## Example Usage
|
|
142
147
|
|
|
148
|
+
<!--Start PulumiCodeChooser -->
|
|
143
149
|
```python
|
|
144
150
|
import pulumi
|
|
145
151
|
import pulumi_vsphere as vsphere
|
|
@@ -148,6 +154,8 @@ def get_resource_pool_output(datacenter_id: Optional[pulumi.Input[Optional[str]]
|
|
|
148
154
|
pool = vsphere.get_resource_pool(name="resource-pool-01",
|
|
149
155
|
datacenter_id=datacenter.id)
|
|
150
156
|
```
|
|
157
|
+
<!--End PulumiCodeChooser -->
|
|
158
|
+
|
|
151
159
|
### Specifying the Root Resource Pool for a Standalone ESXi Host
|
|
152
160
|
|
|
153
161
|
> **NOTE:** Returning the root resource pool for a cluster can be done
|
|
@@ -158,6 +166,7 @@ def get_resource_pool_output(datacenter_id: Optional[pulumi.Input[Optional[str]]
|
|
|
158
166
|
explicitly created. This resource pool is referred to as the
|
|
159
167
|
_root resource pool_ and can be looked up by specifying the path.
|
|
160
168
|
|
|
169
|
+
<!--Start PulumiCodeChooser -->
|
|
161
170
|
```python
|
|
162
171
|
import pulumi
|
|
163
172
|
import pulumi_vsphere as vsphere
|
|
@@ -165,6 +174,7 @@ def get_resource_pool_output(datacenter_id: Optional[pulumi.Input[Optional[str]]
|
|
|
165
174
|
pool = vsphere.get_resource_pool(name="esxi-01.example.com/Resources",
|
|
166
175
|
datacenter_id=data["vsphere_datacenter"]["datacenter"]["id"])
|
|
167
176
|
```
|
|
177
|
+
<!--End PulumiCodeChooser -->
|
|
168
178
|
|
|
169
179
|
For more information on the root resource pool, see [Managing Resource Pools][vmware-docs-resource-pools] in the vSphere documentation.
|
|
170
180
|
|
pulumi_vsphere/get_role.py
CHANGED
|
@@ -100,12 +100,14 @@ def get_role(description: Optional[str] = None,
|
|
|
100
100
|
|
|
101
101
|
## Example Usage
|
|
102
102
|
|
|
103
|
+
<!--Start PulumiCodeChooser -->
|
|
103
104
|
```python
|
|
104
105
|
import pulumi
|
|
105
106
|
import pulumi_vsphere as vsphere
|
|
106
107
|
|
|
107
108
|
terraform_role = vsphere.get_role(label="Terraform to vSphere Integration Role")
|
|
108
109
|
```
|
|
110
|
+
<!--End PulumiCodeChooser -->
|
|
109
111
|
|
|
110
112
|
|
|
111
113
|
:param str description: The description of the role.
|
|
@@ -140,12 +142,14 @@ def get_role_output(description: Optional[pulumi.Input[Optional[str]]] = None,
|
|
|
140
142
|
|
|
141
143
|
## Example Usage
|
|
142
144
|
|
|
145
|
+
<!--Start PulumiCodeChooser -->
|
|
143
146
|
```python
|
|
144
147
|
import pulumi
|
|
145
148
|
import pulumi_vsphere as vsphere
|
|
146
149
|
|
|
147
150
|
terraform_role = vsphere.get_role(label="Terraform to vSphere Integration Role")
|
|
148
151
|
```
|
|
152
|
+
<!--End PulumiCodeChooser -->
|
|
149
153
|
|
|
150
154
|
|
|
151
155
|
:param str description: The description of the role.
|
pulumi_vsphere/get_tag.py
CHANGED
|
@@ -86,6 +86,7 @@ def get_tag(category_id: Optional[str] = None,
|
|
|
86
86
|
|
|
87
87
|
## Example Usage
|
|
88
88
|
|
|
89
|
+
<!--Start PulumiCodeChooser -->
|
|
89
90
|
```python
|
|
90
91
|
import pulumi
|
|
91
92
|
import pulumi_vsphere as vsphere
|
|
@@ -94,6 +95,7 @@ def get_tag(category_id: Optional[str] = None,
|
|
|
94
95
|
tag = vsphere.get_tag(name="example-tag",
|
|
95
96
|
category_id=category.id)
|
|
96
97
|
```
|
|
98
|
+
<!--End PulumiCodeChooser -->
|
|
97
99
|
|
|
98
100
|
|
|
99
101
|
:param str category_id: The ID of the tag category in which the tag is
|
|
@@ -129,6 +131,7 @@ def get_tag_output(category_id: Optional[pulumi.Input[str]] = None,
|
|
|
129
131
|
|
|
130
132
|
## Example Usage
|
|
131
133
|
|
|
134
|
+
<!--Start PulumiCodeChooser -->
|
|
132
135
|
```python
|
|
133
136
|
import pulumi
|
|
134
137
|
import pulumi_vsphere as vsphere
|
|
@@ -137,6 +140,7 @@ def get_tag_output(category_id: Optional[pulumi.Input[str]] = None,
|
|
|
137
140
|
tag = vsphere.get_tag(name="example-tag",
|
|
138
141
|
category_id=category.id)
|
|
139
142
|
```
|
|
143
|
+
<!--End PulumiCodeChooser -->
|
|
140
144
|
|
|
141
145
|
|
|
142
146
|
:param str category_id: The ID of the tag category in which the tag is
|
|
@@ -94,12 +94,14 @@ def get_tag_category(name: Optional[str] = None,
|
|
|
94
94
|
|
|
95
95
|
## Example Usage
|
|
96
96
|
|
|
97
|
+
<!--Start PulumiCodeChooser -->
|
|
97
98
|
```python
|
|
98
99
|
import pulumi
|
|
99
100
|
import pulumi_vsphere as vsphere
|
|
100
101
|
|
|
101
102
|
category = vsphere.get_tag_category(name="example-category")
|
|
102
103
|
```
|
|
104
|
+
<!--End PulumiCodeChooser -->
|
|
103
105
|
|
|
104
106
|
|
|
105
107
|
:param str name: The name of the tag category.
|
|
@@ -132,12 +134,14 @@ def get_tag_category_output(name: Optional[pulumi.Input[str]] = None,
|
|
|
132
134
|
|
|
133
135
|
## Example Usage
|
|
134
136
|
|
|
137
|
+
<!--Start PulumiCodeChooser -->
|
|
135
138
|
```python
|
|
136
139
|
import pulumi
|
|
137
140
|
import pulumi_vsphere as vsphere
|
|
138
141
|
|
|
139
142
|
category = vsphere.get_tag_category(name="example-category")
|
|
140
143
|
```
|
|
144
|
+
<!--End PulumiCodeChooser -->
|
|
141
145
|
|
|
142
146
|
|
|
143
147
|
:param str name: The name of the tag category.
|
|
@@ -73,6 +73,7 @@ def get_vapp_container(datacenter_id: Optional[str] = None,
|
|
|
73
73
|
|
|
74
74
|
## Example Usage
|
|
75
75
|
|
|
76
|
+
<!--Start PulumiCodeChooser -->
|
|
76
77
|
```python
|
|
77
78
|
import pulumi
|
|
78
79
|
import pulumi_vsphere as vsphere
|
|
@@ -81,6 +82,7 @@ def get_vapp_container(datacenter_id: Optional[str] = None,
|
|
|
81
82
|
pool = vsphere.get_vapp_container(name="vapp-container-01",
|
|
82
83
|
datacenter_id=datacenter.id)
|
|
83
84
|
```
|
|
85
|
+
<!--End PulumiCodeChooser -->
|
|
84
86
|
|
|
85
87
|
|
|
86
88
|
:param str datacenter_id: The managed object reference ID
|
|
@@ -112,6 +114,7 @@ def get_vapp_container_output(datacenter_id: Optional[pulumi.Input[str]] = None,
|
|
|
112
114
|
|
|
113
115
|
## Example Usage
|
|
114
116
|
|
|
117
|
+
<!--Start PulumiCodeChooser -->
|
|
115
118
|
```python
|
|
116
119
|
import pulumi
|
|
117
120
|
import pulumi_vsphere as vsphere
|
|
@@ -120,6 +123,7 @@ def get_vapp_container_output(datacenter_id: Optional[pulumi.Input[str]] = None,
|
|
|
120
123
|
pool = vsphere.get_vapp_container(name="vapp-container-01",
|
|
121
124
|
datacenter_id=datacenter.id)
|
|
122
125
|
```
|
|
126
|
+
<!--End PulumiCodeChooser -->
|
|
123
127
|
|
|
124
128
|
|
|
125
129
|
:param str datacenter_id: The managed object reference ID
|