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
@@ -0,0 +1,1064 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['SupervisorArgs', 'Supervisor']
20
+
21
+ @pulumi.input_type
22
+ class SupervisorArgs:
23
+ def __init__(__self__, *,
24
+ cluster: pulumi.Input[_builtins.str],
25
+ content_library: pulumi.Input[_builtins.str],
26
+ dvs_uuid: pulumi.Input[_builtins.str],
27
+ edge_cluster: pulumi.Input[_builtins.str],
28
+ egress_cidrs: pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]],
29
+ ingress_cidrs: pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]],
30
+ main_dns: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
31
+ main_ntps: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
32
+ management_network: pulumi.Input['SupervisorManagementNetworkArgs'],
33
+ pod_cidrs: pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]],
34
+ search_domains: pulumi.Input[_builtins.str],
35
+ service_cidr: pulumi.Input['SupervisorServiceCidrArgs'],
36
+ sizing_hint: pulumi.Input[_builtins.str],
37
+ storage_policy: pulumi.Input[_builtins.str],
38
+ worker_dns: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
39
+ worker_ntps: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
40
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]]] = None):
41
+ """
42
+ The set of arguments for constructing a Supervisor resource.
43
+ :param pulumi.Input[_builtins.str] cluster: The identifier of the compute cluster.
44
+ :param pulumi.Input[_builtins.str] content_library: The identifier of the subscribed content library.
45
+ :param pulumi.Input[_builtins.str] dvs_uuid: The UUID of the distributed switch.
46
+ :param pulumi.Input[_builtins.str] edge_cluster: The identifier of the NSX Edge Cluster.
47
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]] egress_cidrs: CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
48
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]] ingress_cidrs: CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
49
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_dns: The list of addresses of the primary DNS servers.
50
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_ntps: The list of addresses of the primary NTP servers.
51
+ :param pulumi.Input['SupervisorManagementNetworkArgs'] management_network: The configuration for the management network which the control plane VMs will be connected to.
52
+ * * `network` - ID of the network. (e.g. a distributed port group).
53
+ * * `starting_address` - Starting address of the management network range.
54
+ * * `subnet_mask` - Subnet mask.
55
+ * * `gateway` - Gateway IP address.
56
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
57
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]] pod_cidrs: CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
58
+ :param pulumi.Input[_builtins.str] search_domains: List of DNS search domains.
59
+ :param pulumi.Input['SupervisorServiceCidrArgs'] service_cidr: CIDR block from which Kubernetes allocates service cluster IP addresses.
60
+ :param pulumi.Input[_builtins.str] sizing_hint: The size of the Kubernetes API server.
61
+ :param pulumi.Input[_builtins.str] storage_policy: The name of the storage policy.
62
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_dns: The list of addresses of the DNS servers to use for the worker nodes.
63
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_ntps: The list of addresses of the NTP servers to use for the worker nodes.
64
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]] namespaces: The list of namespaces to create in the Supervisor cluster
65
+ """
66
+ pulumi.set(__self__, "cluster", cluster)
67
+ pulumi.set(__self__, "content_library", content_library)
68
+ pulumi.set(__self__, "dvs_uuid", dvs_uuid)
69
+ pulumi.set(__self__, "edge_cluster", edge_cluster)
70
+ pulumi.set(__self__, "egress_cidrs", egress_cidrs)
71
+ pulumi.set(__self__, "ingress_cidrs", ingress_cidrs)
72
+ pulumi.set(__self__, "main_dns", main_dns)
73
+ pulumi.set(__self__, "main_ntps", main_ntps)
74
+ pulumi.set(__self__, "management_network", management_network)
75
+ pulumi.set(__self__, "pod_cidrs", pod_cidrs)
76
+ pulumi.set(__self__, "search_domains", search_domains)
77
+ pulumi.set(__self__, "service_cidr", service_cidr)
78
+ pulumi.set(__self__, "sizing_hint", sizing_hint)
79
+ pulumi.set(__self__, "storage_policy", storage_policy)
80
+ pulumi.set(__self__, "worker_dns", worker_dns)
81
+ pulumi.set(__self__, "worker_ntps", worker_ntps)
82
+ if namespaces is not None:
83
+ pulumi.set(__self__, "namespaces", namespaces)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter
87
+ def cluster(self) -> pulumi.Input[_builtins.str]:
88
+ """
89
+ The identifier of the compute cluster.
90
+ """
91
+ return pulumi.get(self, "cluster")
92
+
93
+ @cluster.setter
94
+ def cluster(self, value: pulumi.Input[_builtins.str]):
95
+ pulumi.set(self, "cluster", value)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter(name="contentLibrary")
99
+ def content_library(self) -> pulumi.Input[_builtins.str]:
100
+ """
101
+ The identifier of the subscribed content library.
102
+ """
103
+ return pulumi.get(self, "content_library")
104
+
105
+ @content_library.setter
106
+ def content_library(self, value: pulumi.Input[_builtins.str]):
107
+ pulumi.set(self, "content_library", value)
108
+
109
+ @_builtins.property
110
+ @pulumi.getter(name="dvsUuid")
111
+ def dvs_uuid(self) -> pulumi.Input[_builtins.str]:
112
+ """
113
+ The UUID of the distributed switch.
114
+ """
115
+ return pulumi.get(self, "dvs_uuid")
116
+
117
+ @dvs_uuid.setter
118
+ def dvs_uuid(self, value: pulumi.Input[_builtins.str]):
119
+ pulumi.set(self, "dvs_uuid", value)
120
+
121
+ @_builtins.property
122
+ @pulumi.getter(name="edgeCluster")
123
+ def edge_cluster(self) -> pulumi.Input[_builtins.str]:
124
+ """
125
+ The identifier of the NSX Edge Cluster.
126
+ """
127
+ return pulumi.get(self, "edge_cluster")
128
+
129
+ @edge_cluster.setter
130
+ def edge_cluster(self, value: pulumi.Input[_builtins.str]):
131
+ pulumi.set(self, "edge_cluster", value)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter(name="egressCidrs")
135
+ def egress_cidrs(self) -> pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]]:
136
+ """
137
+ CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
138
+ """
139
+ return pulumi.get(self, "egress_cidrs")
140
+
141
+ @egress_cidrs.setter
142
+ def egress_cidrs(self, value: pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]]):
143
+ pulumi.set(self, "egress_cidrs", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter(name="ingressCidrs")
147
+ def ingress_cidrs(self) -> pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]]:
148
+ """
149
+ CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
150
+ """
151
+ return pulumi.get(self, "ingress_cidrs")
152
+
153
+ @ingress_cidrs.setter
154
+ def ingress_cidrs(self, value: pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]]):
155
+ pulumi.set(self, "ingress_cidrs", value)
156
+
157
+ @_builtins.property
158
+ @pulumi.getter(name="mainDns")
159
+ def main_dns(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
160
+ """
161
+ The list of addresses of the primary DNS servers.
162
+ """
163
+ return pulumi.get(self, "main_dns")
164
+
165
+ @main_dns.setter
166
+ def main_dns(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
167
+ pulumi.set(self, "main_dns", value)
168
+
169
+ @_builtins.property
170
+ @pulumi.getter(name="mainNtps")
171
+ def main_ntps(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
172
+ """
173
+ The list of addresses of the primary NTP servers.
174
+ """
175
+ return pulumi.get(self, "main_ntps")
176
+
177
+ @main_ntps.setter
178
+ def main_ntps(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
179
+ pulumi.set(self, "main_ntps", value)
180
+
181
+ @_builtins.property
182
+ @pulumi.getter(name="managementNetwork")
183
+ def management_network(self) -> pulumi.Input['SupervisorManagementNetworkArgs']:
184
+ """
185
+ The configuration for the management network which the control plane VMs will be connected to.
186
+ * * `network` - ID of the network. (e.g. a distributed port group).
187
+ * * `starting_address` - Starting address of the management network range.
188
+ * * `subnet_mask` - Subnet mask.
189
+ * * `gateway` - Gateway IP address.
190
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
191
+ """
192
+ return pulumi.get(self, "management_network")
193
+
194
+ @management_network.setter
195
+ def management_network(self, value: pulumi.Input['SupervisorManagementNetworkArgs']):
196
+ pulumi.set(self, "management_network", value)
197
+
198
+ @_builtins.property
199
+ @pulumi.getter(name="podCidrs")
200
+ def pod_cidrs(self) -> pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]]:
201
+ """
202
+ CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
203
+ """
204
+ return pulumi.get(self, "pod_cidrs")
205
+
206
+ @pod_cidrs.setter
207
+ def pod_cidrs(self, value: pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]]):
208
+ pulumi.set(self, "pod_cidrs", value)
209
+
210
+ @_builtins.property
211
+ @pulumi.getter(name="searchDomains")
212
+ def search_domains(self) -> pulumi.Input[_builtins.str]:
213
+ """
214
+ List of DNS search domains.
215
+ """
216
+ return pulumi.get(self, "search_domains")
217
+
218
+ @search_domains.setter
219
+ def search_domains(self, value: pulumi.Input[_builtins.str]):
220
+ pulumi.set(self, "search_domains", value)
221
+
222
+ @_builtins.property
223
+ @pulumi.getter(name="serviceCidr")
224
+ def service_cidr(self) -> pulumi.Input['SupervisorServiceCidrArgs']:
225
+ """
226
+ CIDR block from which Kubernetes allocates service cluster IP addresses.
227
+ """
228
+ return pulumi.get(self, "service_cidr")
229
+
230
+ @service_cidr.setter
231
+ def service_cidr(self, value: pulumi.Input['SupervisorServiceCidrArgs']):
232
+ pulumi.set(self, "service_cidr", value)
233
+
234
+ @_builtins.property
235
+ @pulumi.getter(name="sizingHint")
236
+ def sizing_hint(self) -> pulumi.Input[_builtins.str]:
237
+ """
238
+ The size of the Kubernetes API server.
239
+ """
240
+ return pulumi.get(self, "sizing_hint")
241
+
242
+ @sizing_hint.setter
243
+ def sizing_hint(self, value: pulumi.Input[_builtins.str]):
244
+ pulumi.set(self, "sizing_hint", value)
245
+
246
+ @_builtins.property
247
+ @pulumi.getter(name="storagePolicy")
248
+ def storage_policy(self) -> pulumi.Input[_builtins.str]:
249
+ """
250
+ The name of the storage policy.
251
+ """
252
+ return pulumi.get(self, "storage_policy")
253
+
254
+ @storage_policy.setter
255
+ def storage_policy(self, value: pulumi.Input[_builtins.str]):
256
+ pulumi.set(self, "storage_policy", value)
257
+
258
+ @_builtins.property
259
+ @pulumi.getter(name="workerDns")
260
+ def worker_dns(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
261
+ """
262
+ The list of addresses of the DNS servers to use for the worker nodes.
263
+ """
264
+ return pulumi.get(self, "worker_dns")
265
+
266
+ @worker_dns.setter
267
+ def worker_dns(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
268
+ pulumi.set(self, "worker_dns", value)
269
+
270
+ @_builtins.property
271
+ @pulumi.getter(name="workerNtps")
272
+ def worker_ntps(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
273
+ """
274
+ The list of addresses of the NTP servers to use for the worker nodes.
275
+ """
276
+ return pulumi.get(self, "worker_ntps")
277
+
278
+ @worker_ntps.setter
279
+ def worker_ntps(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
280
+ pulumi.set(self, "worker_ntps", value)
281
+
282
+ @_builtins.property
283
+ @pulumi.getter
284
+ def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]]]:
285
+ """
286
+ The list of namespaces to create in the Supervisor cluster
287
+ """
288
+ return pulumi.get(self, "namespaces")
289
+
290
+ @namespaces.setter
291
+ def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]]]):
292
+ pulumi.set(self, "namespaces", value)
293
+
294
+
295
+ @pulumi.input_type
296
+ class _SupervisorState:
297
+ def __init__(__self__, *,
298
+ cluster: Optional[pulumi.Input[_builtins.str]] = None,
299
+ content_library: Optional[pulumi.Input[_builtins.str]] = None,
300
+ dvs_uuid: Optional[pulumi.Input[_builtins.str]] = None,
301
+ edge_cluster: Optional[pulumi.Input[_builtins.str]] = None,
302
+ egress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]]] = None,
303
+ ingress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]]] = None,
304
+ main_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
305
+ main_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
306
+ management_network: Optional[pulumi.Input['SupervisorManagementNetworkArgs']] = None,
307
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]]] = None,
308
+ pod_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]]] = None,
309
+ search_domains: Optional[pulumi.Input[_builtins.str]] = None,
310
+ service_cidr: Optional[pulumi.Input['SupervisorServiceCidrArgs']] = None,
311
+ sizing_hint: Optional[pulumi.Input[_builtins.str]] = None,
312
+ storage_policy: Optional[pulumi.Input[_builtins.str]] = None,
313
+ worker_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
314
+ worker_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
315
+ """
316
+ Input properties used for looking up and filtering Supervisor resources.
317
+ :param pulumi.Input[_builtins.str] cluster: The identifier of the compute cluster.
318
+ :param pulumi.Input[_builtins.str] content_library: The identifier of the subscribed content library.
319
+ :param pulumi.Input[_builtins.str] dvs_uuid: The UUID of the distributed switch.
320
+ :param pulumi.Input[_builtins.str] edge_cluster: The identifier of the NSX Edge Cluster.
321
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]] egress_cidrs: CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
322
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]] ingress_cidrs: CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
323
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_dns: The list of addresses of the primary DNS servers.
324
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_ntps: The list of addresses of the primary NTP servers.
325
+ :param pulumi.Input['SupervisorManagementNetworkArgs'] management_network: The configuration for the management network which the control plane VMs will be connected to.
326
+ * * `network` - ID of the network. (e.g. a distributed port group).
327
+ * * `starting_address` - Starting address of the management network range.
328
+ * * `subnet_mask` - Subnet mask.
329
+ * * `gateway` - Gateway IP address.
330
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
331
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]] namespaces: The list of namespaces to create in the Supervisor cluster
332
+ :param pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]] pod_cidrs: CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
333
+ :param pulumi.Input[_builtins.str] search_domains: List of DNS search domains.
334
+ :param pulumi.Input['SupervisorServiceCidrArgs'] service_cidr: CIDR block from which Kubernetes allocates service cluster IP addresses.
335
+ :param pulumi.Input[_builtins.str] sizing_hint: The size of the Kubernetes API server.
336
+ :param pulumi.Input[_builtins.str] storage_policy: The name of the storage policy.
337
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_dns: The list of addresses of the DNS servers to use for the worker nodes.
338
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_ntps: The list of addresses of the NTP servers to use for the worker nodes.
339
+ """
340
+ if cluster is not None:
341
+ pulumi.set(__self__, "cluster", cluster)
342
+ if content_library is not None:
343
+ pulumi.set(__self__, "content_library", content_library)
344
+ if dvs_uuid is not None:
345
+ pulumi.set(__self__, "dvs_uuid", dvs_uuid)
346
+ if edge_cluster is not None:
347
+ pulumi.set(__self__, "edge_cluster", edge_cluster)
348
+ if egress_cidrs is not None:
349
+ pulumi.set(__self__, "egress_cidrs", egress_cidrs)
350
+ if ingress_cidrs is not None:
351
+ pulumi.set(__self__, "ingress_cidrs", ingress_cidrs)
352
+ if main_dns is not None:
353
+ pulumi.set(__self__, "main_dns", main_dns)
354
+ if main_ntps is not None:
355
+ pulumi.set(__self__, "main_ntps", main_ntps)
356
+ if management_network is not None:
357
+ pulumi.set(__self__, "management_network", management_network)
358
+ if namespaces is not None:
359
+ pulumi.set(__self__, "namespaces", namespaces)
360
+ if pod_cidrs is not None:
361
+ pulumi.set(__self__, "pod_cidrs", pod_cidrs)
362
+ if search_domains is not None:
363
+ pulumi.set(__self__, "search_domains", search_domains)
364
+ if service_cidr is not None:
365
+ pulumi.set(__self__, "service_cidr", service_cidr)
366
+ if sizing_hint is not None:
367
+ pulumi.set(__self__, "sizing_hint", sizing_hint)
368
+ if storage_policy is not None:
369
+ pulumi.set(__self__, "storage_policy", storage_policy)
370
+ if worker_dns is not None:
371
+ pulumi.set(__self__, "worker_dns", worker_dns)
372
+ if worker_ntps is not None:
373
+ pulumi.set(__self__, "worker_ntps", worker_ntps)
374
+
375
+ @_builtins.property
376
+ @pulumi.getter
377
+ def cluster(self) -> Optional[pulumi.Input[_builtins.str]]:
378
+ """
379
+ The identifier of the compute cluster.
380
+ """
381
+ return pulumi.get(self, "cluster")
382
+
383
+ @cluster.setter
384
+ def cluster(self, value: Optional[pulumi.Input[_builtins.str]]):
385
+ pulumi.set(self, "cluster", value)
386
+
387
+ @_builtins.property
388
+ @pulumi.getter(name="contentLibrary")
389
+ def content_library(self) -> Optional[pulumi.Input[_builtins.str]]:
390
+ """
391
+ The identifier of the subscribed content library.
392
+ """
393
+ return pulumi.get(self, "content_library")
394
+
395
+ @content_library.setter
396
+ def content_library(self, value: Optional[pulumi.Input[_builtins.str]]):
397
+ pulumi.set(self, "content_library", value)
398
+
399
+ @_builtins.property
400
+ @pulumi.getter(name="dvsUuid")
401
+ def dvs_uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
402
+ """
403
+ The UUID of the distributed switch.
404
+ """
405
+ return pulumi.get(self, "dvs_uuid")
406
+
407
+ @dvs_uuid.setter
408
+ def dvs_uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
409
+ pulumi.set(self, "dvs_uuid", value)
410
+
411
+ @_builtins.property
412
+ @pulumi.getter(name="edgeCluster")
413
+ def edge_cluster(self) -> Optional[pulumi.Input[_builtins.str]]:
414
+ """
415
+ The identifier of the NSX Edge Cluster.
416
+ """
417
+ return pulumi.get(self, "edge_cluster")
418
+
419
+ @edge_cluster.setter
420
+ def edge_cluster(self, value: Optional[pulumi.Input[_builtins.str]]):
421
+ pulumi.set(self, "edge_cluster", value)
422
+
423
+ @_builtins.property
424
+ @pulumi.getter(name="egressCidrs")
425
+ def egress_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]]]:
426
+ """
427
+ CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
428
+ """
429
+ return pulumi.get(self, "egress_cidrs")
430
+
431
+ @egress_cidrs.setter
432
+ def egress_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorEgressCidrArgs']]]]):
433
+ pulumi.set(self, "egress_cidrs", value)
434
+
435
+ @_builtins.property
436
+ @pulumi.getter(name="ingressCidrs")
437
+ def ingress_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]]]:
438
+ """
439
+ CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
440
+ """
441
+ return pulumi.get(self, "ingress_cidrs")
442
+
443
+ @ingress_cidrs.setter
444
+ def ingress_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorIngressCidrArgs']]]]):
445
+ pulumi.set(self, "ingress_cidrs", value)
446
+
447
+ @_builtins.property
448
+ @pulumi.getter(name="mainDns")
449
+ def main_dns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
450
+ """
451
+ The list of addresses of the primary DNS servers.
452
+ """
453
+ return pulumi.get(self, "main_dns")
454
+
455
+ @main_dns.setter
456
+ def main_dns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
457
+ pulumi.set(self, "main_dns", value)
458
+
459
+ @_builtins.property
460
+ @pulumi.getter(name="mainNtps")
461
+ def main_ntps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
462
+ """
463
+ The list of addresses of the primary NTP servers.
464
+ """
465
+ return pulumi.get(self, "main_ntps")
466
+
467
+ @main_ntps.setter
468
+ def main_ntps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
469
+ pulumi.set(self, "main_ntps", value)
470
+
471
+ @_builtins.property
472
+ @pulumi.getter(name="managementNetwork")
473
+ def management_network(self) -> Optional[pulumi.Input['SupervisorManagementNetworkArgs']]:
474
+ """
475
+ The configuration for the management network which the control plane VMs will be connected to.
476
+ * * `network` - ID of the network. (e.g. a distributed port group).
477
+ * * `starting_address` - Starting address of the management network range.
478
+ * * `subnet_mask` - Subnet mask.
479
+ * * `gateway` - Gateway IP address.
480
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
481
+ """
482
+ return pulumi.get(self, "management_network")
483
+
484
+ @management_network.setter
485
+ def management_network(self, value: Optional[pulumi.Input['SupervisorManagementNetworkArgs']]):
486
+ pulumi.set(self, "management_network", value)
487
+
488
+ @_builtins.property
489
+ @pulumi.getter
490
+ def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]]]:
491
+ """
492
+ The list of namespaces to create in the Supervisor cluster
493
+ """
494
+ return pulumi.get(self, "namespaces")
495
+
496
+ @namespaces.setter
497
+ def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorNamespaceArgs']]]]):
498
+ pulumi.set(self, "namespaces", value)
499
+
500
+ @_builtins.property
501
+ @pulumi.getter(name="podCidrs")
502
+ def pod_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]]]:
503
+ """
504
+ CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
505
+ """
506
+ return pulumi.get(self, "pod_cidrs")
507
+
508
+ @pod_cidrs.setter
509
+ def pod_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SupervisorPodCidrArgs']]]]):
510
+ pulumi.set(self, "pod_cidrs", value)
511
+
512
+ @_builtins.property
513
+ @pulumi.getter(name="searchDomains")
514
+ def search_domains(self) -> Optional[pulumi.Input[_builtins.str]]:
515
+ """
516
+ List of DNS search domains.
517
+ """
518
+ return pulumi.get(self, "search_domains")
519
+
520
+ @search_domains.setter
521
+ def search_domains(self, value: Optional[pulumi.Input[_builtins.str]]):
522
+ pulumi.set(self, "search_domains", value)
523
+
524
+ @_builtins.property
525
+ @pulumi.getter(name="serviceCidr")
526
+ def service_cidr(self) -> Optional[pulumi.Input['SupervisorServiceCidrArgs']]:
527
+ """
528
+ CIDR block from which Kubernetes allocates service cluster IP addresses.
529
+ """
530
+ return pulumi.get(self, "service_cidr")
531
+
532
+ @service_cidr.setter
533
+ def service_cidr(self, value: Optional[pulumi.Input['SupervisorServiceCidrArgs']]):
534
+ pulumi.set(self, "service_cidr", value)
535
+
536
+ @_builtins.property
537
+ @pulumi.getter(name="sizingHint")
538
+ def sizing_hint(self) -> Optional[pulumi.Input[_builtins.str]]:
539
+ """
540
+ The size of the Kubernetes API server.
541
+ """
542
+ return pulumi.get(self, "sizing_hint")
543
+
544
+ @sizing_hint.setter
545
+ def sizing_hint(self, value: Optional[pulumi.Input[_builtins.str]]):
546
+ pulumi.set(self, "sizing_hint", value)
547
+
548
+ @_builtins.property
549
+ @pulumi.getter(name="storagePolicy")
550
+ def storage_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
551
+ """
552
+ The name of the storage policy.
553
+ """
554
+ return pulumi.get(self, "storage_policy")
555
+
556
+ @storage_policy.setter
557
+ def storage_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
558
+ pulumi.set(self, "storage_policy", value)
559
+
560
+ @_builtins.property
561
+ @pulumi.getter(name="workerDns")
562
+ def worker_dns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
563
+ """
564
+ The list of addresses of the DNS servers to use for the worker nodes.
565
+ """
566
+ return pulumi.get(self, "worker_dns")
567
+
568
+ @worker_dns.setter
569
+ def worker_dns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
570
+ pulumi.set(self, "worker_dns", value)
571
+
572
+ @_builtins.property
573
+ @pulumi.getter(name="workerNtps")
574
+ def worker_ntps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
575
+ """
576
+ The list of addresses of the NTP servers to use for the worker nodes.
577
+ """
578
+ return pulumi.get(self, "worker_ntps")
579
+
580
+ @worker_ntps.setter
581
+ def worker_ntps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
582
+ pulumi.set(self, "worker_ntps", value)
583
+
584
+
585
+ @pulumi.type_token("vsphere:index/supervisor:Supervisor")
586
+ class Supervisor(pulumi.CustomResource):
587
+ @overload
588
+ def __init__(__self__,
589
+ resource_name: str,
590
+ opts: Optional[pulumi.ResourceOptions] = None,
591
+ cluster: Optional[pulumi.Input[_builtins.str]] = None,
592
+ content_library: Optional[pulumi.Input[_builtins.str]] = None,
593
+ dvs_uuid: Optional[pulumi.Input[_builtins.str]] = None,
594
+ edge_cluster: Optional[pulumi.Input[_builtins.str]] = None,
595
+ egress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorEgressCidrArgs', 'SupervisorEgressCidrArgsDict']]]]] = None,
596
+ ingress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorIngressCidrArgs', 'SupervisorIngressCidrArgsDict']]]]] = None,
597
+ main_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
598
+ main_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
599
+ management_network: Optional[pulumi.Input[Union['SupervisorManagementNetworkArgs', 'SupervisorManagementNetworkArgsDict']]] = None,
600
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorNamespaceArgs', 'SupervisorNamespaceArgsDict']]]]] = None,
601
+ pod_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorPodCidrArgs', 'SupervisorPodCidrArgsDict']]]]] = None,
602
+ search_domains: Optional[pulumi.Input[_builtins.str]] = None,
603
+ service_cidr: Optional[pulumi.Input[Union['SupervisorServiceCidrArgs', 'SupervisorServiceCidrArgsDict']]] = None,
604
+ sizing_hint: Optional[pulumi.Input[_builtins.str]] = None,
605
+ storage_policy: Optional[pulumi.Input[_builtins.str]] = None,
606
+ worker_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
607
+ worker_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
608
+ __props__=None):
609
+ """
610
+ Provides a resource for configuring Workload Management.
611
+
612
+ ## Example Usage
613
+
614
+ ### S
615
+
616
+ ### Enable Workload Management on a Compute Cluster
617
+
618
+ ```python
619
+ import pulumi
620
+ import pulumi_vsphere as vsphere
621
+
622
+ vm_class = vsphere.VirtualMachineClass("vm_class",
623
+ name="custom-class",
624
+ cpus=4,
625
+ memory=4096)
626
+ supervisor = vsphere.Supervisor("supervisor",
627
+ cluster="<compute_cluster_id>",
628
+ storage_policy="<storage_policy_name>",
629
+ content_library="<content_library_id>",
630
+ main_dns="10.0.0.250",
631
+ worker_dns="10.0.0.250",
632
+ edge_cluster="<edge_cluster_id>",
633
+ dvs_uuid="<distributed_switch_uuid>",
634
+ sizing_hint="MEDIUM",
635
+ management_network={
636
+ "network": "<portgroup_id>",
637
+ "subnet_mask": "255.255.255.0",
638
+ "starting_address": "10.0.0.150",
639
+ "gateway": "10.0.0.250",
640
+ "address_count": 5,
641
+ },
642
+ ingress_cidrs=[{
643
+ "address": "10.10.10.0",
644
+ "prefix": 24,
645
+ }],
646
+ egress_cidrs=[{
647
+ "address": "10.10.11.0",
648
+ "prefix": 24,
649
+ }],
650
+ pod_cidrs=[{
651
+ "address": "10.244.10.0",
652
+ "prefix": 23,
653
+ }],
654
+ service_cidr={
655
+ "address": "10.10.12.0",
656
+ "prefix": 24,
657
+ },
658
+ search_domains="vsphere.local",
659
+ namespaces=[{
660
+ "name": "custom-namespace",
661
+ "content_libraries": [],
662
+ "vm_classes": [vm_class.id],
663
+ }])
664
+ ```
665
+
666
+ :param str resource_name: The name of the resource.
667
+ :param pulumi.ResourceOptions opts: Options for the resource.
668
+ :param pulumi.Input[_builtins.str] cluster: The identifier of the compute cluster.
669
+ :param pulumi.Input[_builtins.str] content_library: The identifier of the subscribed content library.
670
+ :param pulumi.Input[_builtins.str] dvs_uuid: The UUID of the distributed switch.
671
+ :param pulumi.Input[_builtins.str] edge_cluster: The identifier of the NSX Edge Cluster.
672
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorEgressCidrArgs', 'SupervisorEgressCidrArgsDict']]]] egress_cidrs: CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
673
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorIngressCidrArgs', 'SupervisorIngressCidrArgsDict']]]] ingress_cidrs: CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
674
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_dns: The list of addresses of the primary DNS servers.
675
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_ntps: The list of addresses of the primary NTP servers.
676
+ :param pulumi.Input[Union['SupervisorManagementNetworkArgs', 'SupervisorManagementNetworkArgsDict']] management_network: The configuration for the management network which the control plane VMs will be connected to.
677
+ * * `network` - ID of the network. (e.g. a distributed port group).
678
+ * * `starting_address` - Starting address of the management network range.
679
+ * * `subnet_mask` - Subnet mask.
680
+ * * `gateway` - Gateway IP address.
681
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
682
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorNamespaceArgs', 'SupervisorNamespaceArgsDict']]]] namespaces: The list of namespaces to create in the Supervisor cluster
683
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorPodCidrArgs', 'SupervisorPodCidrArgsDict']]]] pod_cidrs: CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
684
+ :param pulumi.Input[_builtins.str] search_domains: List of DNS search domains.
685
+ :param pulumi.Input[Union['SupervisorServiceCidrArgs', 'SupervisorServiceCidrArgsDict']] service_cidr: CIDR block from which Kubernetes allocates service cluster IP addresses.
686
+ :param pulumi.Input[_builtins.str] sizing_hint: The size of the Kubernetes API server.
687
+ :param pulumi.Input[_builtins.str] storage_policy: The name of the storage policy.
688
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_dns: The list of addresses of the DNS servers to use for the worker nodes.
689
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_ntps: The list of addresses of the NTP servers to use for the worker nodes.
690
+ """
691
+ ...
692
+ @overload
693
+ def __init__(__self__,
694
+ resource_name: str,
695
+ args: SupervisorArgs,
696
+ opts: Optional[pulumi.ResourceOptions] = None):
697
+ """
698
+ Provides a resource for configuring Workload Management.
699
+
700
+ ## Example Usage
701
+
702
+ ### S
703
+
704
+ ### Enable Workload Management on a Compute Cluster
705
+
706
+ ```python
707
+ import pulumi
708
+ import pulumi_vsphere as vsphere
709
+
710
+ vm_class = vsphere.VirtualMachineClass("vm_class",
711
+ name="custom-class",
712
+ cpus=4,
713
+ memory=4096)
714
+ supervisor = vsphere.Supervisor("supervisor",
715
+ cluster="<compute_cluster_id>",
716
+ storage_policy="<storage_policy_name>",
717
+ content_library="<content_library_id>",
718
+ main_dns="10.0.0.250",
719
+ worker_dns="10.0.0.250",
720
+ edge_cluster="<edge_cluster_id>",
721
+ dvs_uuid="<distributed_switch_uuid>",
722
+ sizing_hint="MEDIUM",
723
+ management_network={
724
+ "network": "<portgroup_id>",
725
+ "subnet_mask": "255.255.255.0",
726
+ "starting_address": "10.0.0.150",
727
+ "gateway": "10.0.0.250",
728
+ "address_count": 5,
729
+ },
730
+ ingress_cidrs=[{
731
+ "address": "10.10.10.0",
732
+ "prefix": 24,
733
+ }],
734
+ egress_cidrs=[{
735
+ "address": "10.10.11.0",
736
+ "prefix": 24,
737
+ }],
738
+ pod_cidrs=[{
739
+ "address": "10.244.10.0",
740
+ "prefix": 23,
741
+ }],
742
+ service_cidr={
743
+ "address": "10.10.12.0",
744
+ "prefix": 24,
745
+ },
746
+ search_domains="vsphere.local",
747
+ namespaces=[{
748
+ "name": "custom-namespace",
749
+ "content_libraries": [],
750
+ "vm_classes": [vm_class.id],
751
+ }])
752
+ ```
753
+
754
+ :param str resource_name: The name of the resource.
755
+ :param SupervisorArgs args: The arguments to use to populate this resource's properties.
756
+ :param pulumi.ResourceOptions opts: Options for the resource.
757
+ """
758
+ ...
759
+ def __init__(__self__, resource_name: str, *args, **kwargs):
760
+ resource_args, opts = _utilities.get_resource_args_opts(SupervisorArgs, pulumi.ResourceOptions, *args, **kwargs)
761
+ if resource_args is not None:
762
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
763
+ else:
764
+ __self__._internal_init(resource_name, *args, **kwargs)
765
+
766
+ def _internal_init(__self__,
767
+ resource_name: str,
768
+ opts: Optional[pulumi.ResourceOptions] = None,
769
+ cluster: Optional[pulumi.Input[_builtins.str]] = None,
770
+ content_library: Optional[pulumi.Input[_builtins.str]] = None,
771
+ dvs_uuid: Optional[pulumi.Input[_builtins.str]] = None,
772
+ edge_cluster: Optional[pulumi.Input[_builtins.str]] = None,
773
+ egress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorEgressCidrArgs', 'SupervisorEgressCidrArgsDict']]]]] = None,
774
+ ingress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorIngressCidrArgs', 'SupervisorIngressCidrArgsDict']]]]] = None,
775
+ main_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
776
+ main_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
777
+ management_network: Optional[pulumi.Input[Union['SupervisorManagementNetworkArgs', 'SupervisorManagementNetworkArgsDict']]] = None,
778
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorNamespaceArgs', 'SupervisorNamespaceArgsDict']]]]] = None,
779
+ pod_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorPodCidrArgs', 'SupervisorPodCidrArgsDict']]]]] = None,
780
+ search_domains: Optional[pulumi.Input[_builtins.str]] = None,
781
+ service_cidr: Optional[pulumi.Input[Union['SupervisorServiceCidrArgs', 'SupervisorServiceCidrArgsDict']]] = None,
782
+ sizing_hint: Optional[pulumi.Input[_builtins.str]] = None,
783
+ storage_policy: Optional[pulumi.Input[_builtins.str]] = None,
784
+ worker_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
785
+ worker_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
786
+ __props__=None):
787
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
788
+ if not isinstance(opts, pulumi.ResourceOptions):
789
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
790
+ if opts.id is None:
791
+ if __props__ is not None:
792
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
793
+ __props__ = SupervisorArgs.__new__(SupervisorArgs)
794
+
795
+ if cluster is None and not opts.urn:
796
+ raise TypeError("Missing required property 'cluster'")
797
+ __props__.__dict__["cluster"] = cluster
798
+ if content_library is None and not opts.urn:
799
+ raise TypeError("Missing required property 'content_library'")
800
+ __props__.__dict__["content_library"] = content_library
801
+ if dvs_uuid is None and not opts.urn:
802
+ raise TypeError("Missing required property 'dvs_uuid'")
803
+ __props__.__dict__["dvs_uuid"] = dvs_uuid
804
+ if edge_cluster is None and not opts.urn:
805
+ raise TypeError("Missing required property 'edge_cluster'")
806
+ __props__.__dict__["edge_cluster"] = edge_cluster
807
+ if egress_cidrs is None and not opts.urn:
808
+ raise TypeError("Missing required property 'egress_cidrs'")
809
+ __props__.__dict__["egress_cidrs"] = egress_cidrs
810
+ if ingress_cidrs is None and not opts.urn:
811
+ raise TypeError("Missing required property 'ingress_cidrs'")
812
+ __props__.__dict__["ingress_cidrs"] = ingress_cidrs
813
+ if main_dns is None and not opts.urn:
814
+ raise TypeError("Missing required property 'main_dns'")
815
+ __props__.__dict__["main_dns"] = main_dns
816
+ if main_ntps is None and not opts.urn:
817
+ raise TypeError("Missing required property 'main_ntps'")
818
+ __props__.__dict__["main_ntps"] = main_ntps
819
+ if management_network is None and not opts.urn:
820
+ raise TypeError("Missing required property 'management_network'")
821
+ __props__.__dict__["management_network"] = management_network
822
+ __props__.__dict__["namespaces"] = namespaces
823
+ if pod_cidrs is None and not opts.urn:
824
+ raise TypeError("Missing required property 'pod_cidrs'")
825
+ __props__.__dict__["pod_cidrs"] = pod_cidrs
826
+ if search_domains is None and not opts.urn:
827
+ raise TypeError("Missing required property 'search_domains'")
828
+ __props__.__dict__["search_domains"] = search_domains
829
+ if service_cidr is None and not opts.urn:
830
+ raise TypeError("Missing required property 'service_cidr'")
831
+ __props__.__dict__["service_cidr"] = service_cidr
832
+ if sizing_hint is None and not opts.urn:
833
+ raise TypeError("Missing required property 'sizing_hint'")
834
+ __props__.__dict__["sizing_hint"] = sizing_hint
835
+ if storage_policy is None and not opts.urn:
836
+ raise TypeError("Missing required property 'storage_policy'")
837
+ __props__.__dict__["storage_policy"] = storage_policy
838
+ if worker_dns is None and not opts.urn:
839
+ raise TypeError("Missing required property 'worker_dns'")
840
+ __props__.__dict__["worker_dns"] = worker_dns
841
+ if worker_ntps is None and not opts.urn:
842
+ raise TypeError("Missing required property 'worker_ntps'")
843
+ __props__.__dict__["worker_ntps"] = worker_ntps
844
+ super(Supervisor, __self__).__init__(
845
+ 'vsphere:index/supervisor:Supervisor',
846
+ resource_name,
847
+ __props__,
848
+ opts)
849
+
850
+ @staticmethod
851
+ def get(resource_name: str,
852
+ id: pulumi.Input[str],
853
+ opts: Optional[pulumi.ResourceOptions] = None,
854
+ cluster: Optional[pulumi.Input[_builtins.str]] = None,
855
+ content_library: Optional[pulumi.Input[_builtins.str]] = None,
856
+ dvs_uuid: Optional[pulumi.Input[_builtins.str]] = None,
857
+ edge_cluster: Optional[pulumi.Input[_builtins.str]] = None,
858
+ egress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorEgressCidrArgs', 'SupervisorEgressCidrArgsDict']]]]] = None,
859
+ ingress_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorIngressCidrArgs', 'SupervisorIngressCidrArgsDict']]]]] = None,
860
+ main_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
861
+ main_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
862
+ management_network: Optional[pulumi.Input[Union['SupervisorManagementNetworkArgs', 'SupervisorManagementNetworkArgsDict']]] = None,
863
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorNamespaceArgs', 'SupervisorNamespaceArgsDict']]]]] = None,
864
+ pod_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SupervisorPodCidrArgs', 'SupervisorPodCidrArgsDict']]]]] = None,
865
+ search_domains: Optional[pulumi.Input[_builtins.str]] = None,
866
+ service_cidr: Optional[pulumi.Input[Union['SupervisorServiceCidrArgs', 'SupervisorServiceCidrArgsDict']]] = None,
867
+ sizing_hint: Optional[pulumi.Input[_builtins.str]] = None,
868
+ storage_policy: Optional[pulumi.Input[_builtins.str]] = None,
869
+ worker_dns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
870
+ worker_ntps: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'Supervisor':
871
+ """
872
+ Get an existing Supervisor resource's state with the given name, id, and optional extra
873
+ properties used to qualify the lookup.
874
+
875
+ :param str resource_name: The unique name of the resulting resource.
876
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
877
+ :param pulumi.ResourceOptions opts: Options for the resource.
878
+ :param pulumi.Input[_builtins.str] cluster: The identifier of the compute cluster.
879
+ :param pulumi.Input[_builtins.str] content_library: The identifier of the subscribed content library.
880
+ :param pulumi.Input[_builtins.str] dvs_uuid: The UUID of the distributed switch.
881
+ :param pulumi.Input[_builtins.str] edge_cluster: The identifier of the NSX Edge Cluster.
882
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorEgressCidrArgs', 'SupervisorEgressCidrArgsDict']]]] egress_cidrs: CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
883
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorIngressCidrArgs', 'SupervisorIngressCidrArgsDict']]]] ingress_cidrs: CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
884
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_dns: The list of addresses of the primary DNS servers.
885
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] main_ntps: The list of addresses of the primary NTP servers.
886
+ :param pulumi.Input[Union['SupervisorManagementNetworkArgs', 'SupervisorManagementNetworkArgsDict']] management_network: The configuration for the management network which the control plane VMs will be connected to.
887
+ * * `network` - ID of the network. (e.g. a distributed port group).
888
+ * * `starting_address` - Starting address of the management network range.
889
+ * * `subnet_mask` - Subnet mask.
890
+ * * `gateway` - Gateway IP address.
891
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
892
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorNamespaceArgs', 'SupervisorNamespaceArgsDict']]]] namespaces: The list of namespaces to create in the Supervisor cluster
893
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SupervisorPodCidrArgs', 'SupervisorPodCidrArgsDict']]]] pod_cidrs: CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
894
+ :param pulumi.Input[_builtins.str] search_domains: List of DNS search domains.
895
+ :param pulumi.Input[Union['SupervisorServiceCidrArgs', 'SupervisorServiceCidrArgsDict']] service_cidr: CIDR block from which Kubernetes allocates service cluster IP addresses.
896
+ :param pulumi.Input[_builtins.str] sizing_hint: The size of the Kubernetes API server.
897
+ :param pulumi.Input[_builtins.str] storage_policy: The name of the storage policy.
898
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_dns: The list of addresses of the DNS servers to use for the worker nodes.
899
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] worker_ntps: The list of addresses of the NTP servers to use for the worker nodes.
900
+ """
901
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
902
+
903
+ __props__ = _SupervisorState.__new__(_SupervisorState)
904
+
905
+ __props__.__dict__["cluster"] = cluster
906
+ __props__.__dict__["content_library"] = content_library
907
+ __props__.__dict__["dvs_uuid"] = dvs_uuid
908
+ __props__.__dict__["edge_cluster"] = edge_cluster
909
+ __props__.__dict__["egress_cidrs"] = egress_cidrs
910
+ __props__.__dict__["ingress_cidrs"] = ingress_cidrs
911
+ __props__.__dict__["main_dns"] = main_dns
912
+ __props__.__dict__["main_ntps"] = main_ntps
913
+ __props__.__dict__["management_network"] = management_network
914
+ __props__.__dict__["namespaces"] = namespaces
915
+ __props__.__dict__["pod_cidrs"] = pod_cidrs
916
+ __props__.__dict__["search_domains"] = search_domains
917
+ __props__.__dict__["service_cidr"] = service_cidr
918
+ __props__.__dict__["sizing_hint"] = sizing_hint
919
+ __props__.__dict__["storage_policy"] = storage_policy
920
+ __props__.__dict__["worker_dns"] = worker_dns
921
+ __props__.__dict__["worker_ntps"] = worker_ntps
922
+ return Supervisor(resource_name, opts=opts, __props__=__props__)
923
+
924
+ @_builtins.property
925
+ @pulumi.getter
926
+ def cluster(self) -> pulumi.Output[_builtins.str]:
927
+ """
928
+ The identifier of the compute cluster.
929
+ """
930
+ return pulumi.get(self, "cluster")
931
+
932
+ @_builtins.property
933
+ @pulumi.getter(name="contentLibrary")
934
+ def content_library(self) -> pulumi.Output[_builtins.str]:
935
+ """
936
+ The identifier of the subscribed content library.
937
+ """
938
+ return pulumi.get(self, "content_library")
939
+
940
+ @_builtins.property
941
+ @pulumi.getter(name="dvsUuid")
942
+ def dvs_uuid(self) -> pulumi.Output[_builtins.str]:
943
+ """
944
+ The UUID of the distributed switch.
945
+ """
946
+ return pulumi.get(self, "dvs_uuid")
947
+
948
+ @_builtins.property
949
+ @pulumi.getter(name="edgeCluster")
950
+ def edge_cluster(self) -> pulumi.Output[_builtins.str]:
951
+ """
952
+ The identifier of the NSX Edge Cluster.
953
+ """
954
+ return pulumi.get(self, "edge_cluster")
955
+
956
+ @_builtins.property
957
+ @pulumi.getter(name="egressCidrs")
958
+ def egress_cidrs(self) -> pulumi.Output[Sequence['outputs.SupervisorEgressCidr']]:
959
+ """
960
+ CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.
961
+ """
962
+ return pulumi.get(self, "egress_cidrs")
963
+
964
+ @_builtins.property
965
+ @pulumi.getter(name="ingressCidrs")
966
+ def ingress_cidrs(self) -> pulumi.Output[Sequence['outputs.SupervisorIngressCidr']]:
967
+ """
968
+ CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.
969
+ """
970
+ return pulumi.get(self, "ingress_cidrs")
971
+
972
+ @_builtins.property
973
+ @pulumi.getter(name="mainDns")
974
+ def main_dns(self) -> pulumi.Output[Sequence[_builtins.str]]:
975
+ """
976
+ The list of addresses of the primary DNS servers.
977
+ """
978
+ return pulumi.get(self, "main_dns")
979
+
980
+ @_builtins.property
981
+ @pulumi.getter(name="mainNtps")
982
+ def main_ntps(self) -> pulumi.Output[Sequence[_builtins.str]]:
983
+ """
984
+ The list of addresses of the primary NTP servers.
985
+ """
986
+ return pulumi.get(self, "main_ntps")
987
+
988
+ @_builtins.property
989
+ @pulumi.getter(name="managementNetwork")
990
+ def management_network(self) -> pulumi.Output['outputs.SupervisorManagementNetwork']:
991
+ """
992
+ The configuration for the management network which the control plane VMs will be connected to.
993
+ * * `network` - ID of the network. (e.g. a distributed port group).
994
+ * * `starting_address` - Starting address of the management network range.
995
+ * * `subnet_mask` - Subnet mask.
996
+ * * `gateway` - Gateway IP address.
997
+ * * `address_count` - Number of addresses to allocate. Starts from `starting_address`
998
+ """
999
+ return pulumi.get(self, "management_network")
1000
+
1001
+ @_builtins.property
1002
+ @pulumi.getter
1003
+ def namespaces(self) -> pulumi.Output[Optional[Sequence['outputs.SupervisorNamespace']]]:
1004
+ """
1005
+ The list of namespaces to create in the Supervisor cluster
1006
+ """
1007
+ return pulumi.get(self, "namespaces")
1008
+
1009
+ @_builtins.property
1010
+ @pulumi.getter(name="podCidrs")
1011
+ def pod_cidrs(self) -> pulumi.Output[Sequence['outputs.SupervisorPodCidr']]:
1012
+ """
1013
+ CIDR blocks from which Kubernetes allocates pod IP addresses. Minimum subnet size is 23.
1014
+ """
1015
+ return pulumi.get(self, "pod_cidrs")
1016
+
1017
+ @_builtins.property
1018
+ @pulumi.getter(name="searchDomains")
1019
+ def search_domains(self) -> pulumi.Output[_builtins.str]:
1020
+ """
1021
+ List of DNS search domains.
1022
+ """
1023
+ return pulumi.get(self, "search_domains")
1024
+
1025
+ @_builtins.property
1026
+ @pulumi.getter(name="serviceCidr")
1027
+ def service_cidr(self) -> pulumi.Output['outputs.SupervisorServiceCidr']:
1028
+ """
1029
+ CIDR block from which Kubernetes allocates service cluster IP addresses.
1030
+ """
1031
+ return pulumi.get(self, "service_cidr")
1032
+
1033
+ @_builtins.property
1034
+ @pulumi.getter(name="sizingHint")
1035
+ def sizing_hint(self) -> pulumi.Output[_builtins.str]:
1036
+ """
1037
+ The size of the Kubernetes API server.
1038
+ """
1039
+ return pulumi.get(self, "sizing_hint")
1040
+
1041
+ @_builtins.property
1042
+ @pulumi.getter(name="storagePolicy")
1043
+ def storage_policy(self) -> pulumi.Output[_builtins.str]:
1044
+ """
1045
+ The name of the storage policy.
1046
+ """
1047
+ return pulumi.get(self, "storage_policy")
1048
+
1049
+ @_builtins.property
1050
+ @pulumi.getter(name="workerDns")
1051
+ def worker_dns(self) -> pulumi.Output[Sequence[_builtins.str]]:
1052
+ """
1053
+ The list of addresses of the DNS servers to use for the worker nodes.
1054
+ """
1055
+ return pulumi.get(self, "worker_dns")
1056
+
1057
+ @_builtins.property
1058
+ @pulumi.getter(name="workerNtps")
1059
+ def worker_ntps(self) -> pulumi.Output[Sequence[_builtins.str]]:
1060
+ """
1061
+ The list of addresses of the NTP servers to use for the worker nodes.
1062
+ """
1063
+ return pulumi.get(self, "worker_ntps")
1064
+