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