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