pulumi-gcp 8.13.0a1736231082__py3-none-any.whl → 8.13.0a1736263433__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.
Files changed (90) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +3 -3
  3. pulumi_gcp/accesscontextmanager/outputs.py +2 -2
  4. pulumi_gcp/artifactregistry/_inputs.py +83 -0
  5. pulumi_gcp/artifactregistry/get_repository.py +15 -4
  6. pulumi_gcp/artifactregistry/outputs.py +112 -0
  7. pulumi_gcp/artifactregistry/repository.py +93 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup.py +38 -2
  9. pulumi_gcp/backupdisasterrecovery/get_data_source.py +38 -2
  10. pulumi_gcp/backupdisasterrecovery/outputs.py +8 -8
  11. pulumi_gcp/bigquery/_inputs.py +369 -0
  12. pulumi_gcp/bigquery/dataset_access.py +61 -0
  13. pulumi_gcp/bigquery/job.py +6 -18
  14. pulumi_gcp/bigquery/outputs.py +350 -0
  15. pulumi_gcp/bigquery/table.py +47 -0
  16. pulumi_gcp/chronicle/__init__.py +10 -0
  17. pulumi_gcp/chronicle/_inputs.py +169 -0
  18. pulumi_gcp/chronicle/outputs.py +107 -0
  19. pulumi_gcp/chronicle/watchlist.py +776 -0
  20. pulumi_gcp/cloudrunv2/_inputs.py +6 -3
  21. pulumi_gcp/cloudrunv2/outputs.py +10 -6
  22. pulumi_gcp/composer/_inputs.py +80 -5
  23. pulumi_gcp/composer/outputs.py +111 -4
  24. pulumi_gcp/compute/_inputs.py +181 -87
  25. pulumi_gcp/compute/firewall_policy_association.py +50 -39
  26. pulumi_gcp/compute/get_network.py +17 -2
  27. pulumi_gcp/compute/get_subnetwork.py +18 -4
  28. pulumi_gcp/compute/network.py +39 -2
  29. pulumi_gcp/compute/outputs.py +157 -58
  30. pulumi_gcp/compute/region_network_endpoint_group.py +1 -1
  31. pulumi_gcp/compute/resize_request.py +26 -40
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/dataproc/batch.py +4 -18
  35. pulumi_gcp/datastream/_inputs.py +68 -0
  36. pulumi_gcp/datastream/outputs.py +41 -1
  37. pulumi_gcp/developerconnect/connection.py +58 -12
  38. pulumi_gcp/diagflow/_inputs.py +3 -3
  39. pulumi_gcp/diagflow/outputs.py +2 -2
  40. pulumi_gcp/filestore/backup.py +71 -3
  41. pulumi_gcp/firebase/hosting_custom_domain.py +4 -4
  42. pulumi_gcp/firestore/_inputs.py +3 -3
  43. pulumi_gcp/firestore/outputs.py +2 -2
  44. pulumi_gcp/gkehub/__init__.py +1 -0
  45. pulumi_gcp/gkehub/get_feature.py +226 -0
  46. pulumi_gcp/gkehub/outputs.py +1153 -0
  47. pulumi_gcp/gkeonprem/__init__.py +1 -0
  48. pulumi_gcp/gkeonprem/_inputs.py +2364 -0
  49. pulumi_gcp/gkeonprem/outputs.py +1780 -0
  50. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +1715 -0
  51. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  52. pulumi_gcp/integrationconnectors/connection.py +7 -7
  53. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  54. pulumi_gcp/kms/__init__.py +2 -0
  55. pulumi_gcp/kms/get_autokey_config.py +121 -0
  56. pulumi_gcp/kms/get_key_handle.py +185 -0
  57. pulumi_gcp/netapp/kmsconfig.py +2 -14
  58. pulumi_gcp/networkconnectivity/hub.py +108 -0
  59. pulumi_gcp/networkconnectivity/spoke.py +195 -0
  60. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +4 -0
  61. pulumi_gcp/networksecurity/__init__.py +2 -0
  62. pulumi_gcp/networksecurity/_inputs.py +78 -0
  63. pulumi_gcp/networksecurity/intercept_endpoint_group.py +723 -0
  64. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +815 -0
  65. pulumi_gcp/networksecurity/outputs.py +48 -0
  66. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  67. pulumi_gcp/orgpolicy/policy.py +2 -2
  68. pulumi_gcp/parallelstore/instance.py +149 -0
  69. pulumi_gcp/projects/usage_export_bucket.py +42 -110
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/subscription.py +6 -6
  72. pulumi_gcp/pulumi-plugin.json +1 -1
  73. pulumi_gcp/securesourcemanager/instance.py +4 -16
  74. pulumi_gcp/spanner/instance_iam_binding.py +14 -0
  75. pulumi_gcp/spanner/instance_iam_member.py +14 -0
  76. pulumi_gcp/sql/database_instance.py +7 -7
  77. pulumi_gcp/storage/__init__.py +1 -0
  78. pulumi_gcp/storage/_inputs.py +431 -0
  79. pulumi_gcp/storage/folder.py +483 -0
  80. pulumi_gcp/storage/outputs.py +363 -0
  81. pulumi_gcp/storage/transfer_job.py +84 -38
  82. pulumi_gcp/vertex/_inputs.py +26 -25
  83. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  84. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  85. pulumi_gcp/vertex/outputs.py +15 -14
  86. pulumi_gcp/workstations/workstation.py +55 -1
  87. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/METADATA +1 -1
  88. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/RECORD +90 -79
  89. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/WHEEL +0 -0
  90. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1715 @@
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__ = ['VmwareAdminClusterArgs', 'VmwareAdminCluster']
20
+
21
+ @pulumi.input_type
22
+ class VmwareAdminClusterArgs:
23
+ def __init__(__self__, *,
24
+ location: pulumi.Input[str],
25
+ network_config: pulumi.Input['VmwareAdminClusterNetworkConfigArgs'],
26
+ addon_node: Optional[pulumi.Input['VmwareAdminClusterAddonNodeArgs']] = None,
27
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
+ anti_affinity_groups: Optional[pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs']] = None,
29
+ authorization: Optional[pulumi.Input['VmwareAdminClusterAuthorizationArgs']] = None,
30
+ auto_repair_config: Optional[pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs']] = None,
31
+ bootstrap_cluster_membership: Optional[pulumi.Input[str]] = None,
32
+ control_plane_node: Optional[pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs']] = None,
33
+ description: Optional[pulumi.Input[str]] = None,
34
+ image_type: Optional[pulumi.Input[str]] = None,
35
+ load_balancer: Optional[pulumi.Input['VmwareAdminClusterLoadBalancerArgs']] = None,
36
+ name: Optional[pulumi.Input[str]] = None,
37
+ on_prem_version: Optional[pulumi.Input[str]] = None,
38
+ platform_config: Optional[pulumi.Input['VmwareAdminClusterPlatformConfigArgs']] = None,
39
+ project: Optional[pulumi.Input[str]] = None,
40
+ vcenter: Optional[pulumi.Input['VmwareAdminClusterVcenterArgs']] = None):
41
+ """
42
+ The set of arguments for constructing a VmwareAdminCluster resource.
43
+ :param pulumi.Input[str] location: The location of the resource.
44
+ :param pulumi.Input['VmwareAdminClusterNetworkConfigArgs'] network_config: The VMware admin cluster network configuration.
45
+ Structure is documented below.
46
+ :param pulumi.Input['VmwareAdminClusterAddonNodeArgs'] addon_node: The VMware admin cluster addon node configuration.
47
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
48
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
49
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
50
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
51
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
52
+ 'effective_annotations' for all of the annotations present on the resource.
53
+ :param pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs'] anti_affinity_groups: AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
54
+ :param pulumi.Input['VmwareAdminClusterAuthorizationArgs'] authorization: The VMware admin cluster authorization configuration.
55
+ :param pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs'] auto_repair_config: Configuration for auto repairing.
56
+ :param pulumi.Input[str] bootstrap_cluster_membership: The bootstrap cluster this VMware admin cluster belongs to.
57
+ :param pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs'] control_plane_node: The VMware admin cluster control plane node configuration.
58
+ :param pulumi.Input[str] description: A human readable description of this VMware admin cluster.
59
+ :param pulumi.Input[str] image_type: The OS image type for the VMware admin cluster.
60
+ :param pulumi.Input['VmwareAdminClusterLoadBalancerArgs'] load_balancer: Specifies the load balancer configuration for VMware admin cluster.
61
+ :param pulumi.Input[str] name: The VMware admin cluster resource name.
62
+ :param pulumi.Input[str] on_prem_version: The Anthos clusters on the VMware version for the admin cluster.
63
+ :param pulumi.Input['VmwareAdminClusterPlatformConfigArgs'] platform_config: The VMware platform configuration.
64
+ :param pulumi.Input['VmwareAdminClusterVcenterArgs'] vcenter: Specifies vCenter config for the admin cluster.
65
+ """
66
+ pulumi.set(__self__, "location", location)
67
+ pulumi.set(__self__, "network_config", network_config)
68
+ if addon_node is not None:
69
+ pulumi.set(__self__, "addon_node", addon_node)
70
+ if annotations is not None:
71
+ pulumi.set(__self__, "annotations", annotations)
72
+ if anti_affinity_groups is not None:
73
+ pulumi.set(__self__, "anti_affinity_groups", anti_affinity_groups)
74
+ if authorization is not None:
75
+ pulumi.set(__self__, "authorization", authorization)
76
+ if auto_repair_config is not None:
77
+ pulumi.set(__self__, "auto_repair_config", auto_repair_config)
78
+ if bootstrap_cluster_membership is not None:
79
+ pulumi.set(__self__, "bootstrap_cluster_membership", bootstrap_cluster_membership)
80
+ if control_plane_node is not None:
81
+ pulumi.set(__self__, "control_plane_node", control_plane_node)
82
+ if description is not None:
83
+ pulumi.set(__self__, "description", description)
84
+ if image_type is not None:
85
+ pulumi.set(__self__, "image_type", image_type)
86
+ if load_balancer is not None:
87
+ pulumi.set(__self__, "load_balancer", load_balancer)
88
+ if name is not None:
89
+ pulumi.set(__self__, "name", name)
90
+ if on_prem_version is not None:
91
+ pulumi.set(__self__, "on_prem_version", on_prem_version)
92
+ if platform_config is not None:
93
+ pulumi.set(__self__, "platform_config", platform_config)
94
+ if project is not None:
95
+ pulumi.set(__self__, "project", project)
96
+ if vcenter is not None:
97
+ pulumi.set(__self__, "vcenter", vcenter)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def location(self) -> pulumi.Input[str]:
102
+ """
103
+ The location of the resource.
104
+ """
105
+ return pulumi.get(self, "location")
106
+
107
+ @location.setter
108
+ def location(self, value: pulumi.Input[str]):
109
+ pulumi.set(self, "location", value)
110
+
111
+ @property
112
+ @pulumi.getter(name="networkConfig")
113
+ def network_config(self) -> pulumi.Input['VmwareAdminClusterNetworkConfigArgs']:
114
+ """
115
+ The VMware admin cluster network configuration.
116
+ Structure is documented below.
117
+ """
118
+ return pulumi.get(self, "network_config")
119
+
120
+ @network_config.setter
121
+ def network_config(self, value: pulumi.Input['VmwareAdminClusterNetworkConfigArgs']):
122
+ pulumi.set(self, "network_config", value)
123
+
124
+ @property
125
+ @pulumi.getter(name="addonNode")
126
+ def addon_node(self) -> Optional[pulumi.Input['VmwareAdminClusterAddonNodeArgs']]:
127
+ """
128
+ The VMware admin cluster addon node configuration.
129
+ """
130
+ return pulumi.get(self, "addon_node")
131
+
132
+ @addon_node.setter
133
+ def addon_node(self, value: Optional[pulumi.Input['VmwareAdminClusterAddonNodeArgs']]):
134
+ pulumi.set(self, "addon_node", value)
135
+
136
+ @property
137
+ @pulumi.getter
138
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
139
+ """
140
+ Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
141
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
142
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
143
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
144
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
145
+ 'effective_annotations' for all of the annotations present on the resource.
146
+ """
147
+ return pulumi.get(self, "annotations")
148
+
149
+ @annotations.setter
150
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
151
+ pulumi.set(self, "annotations", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="antiAffinityGroups")
155
+ def anti_affinity_groups(self) -> Optional[pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs']]:
156
+ """
157
+ AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
158
+ """
159
+ return pulumi.get(self, "anti_affinity_groups")
160
+
161
+ @anti_affinity_groups.setter
162
+ def anti_affinity_groups(self, value: Optional[pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs']]):
163
+ pulumi.set(self, "anti_affinity_groups", value)
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def authorization(self) -> Optional[pulumi.Input['VmwareAdminClusterAuthorizationArgs']]:
168
+ """
169
+ The VMware admin cluster authorization configuration.
170
+ """
171
+ return pulumi.get(self, "authorization")
172
+
173
+ @authorization.setter
174
+ def authorization(self, value: Optional[pulumi.Input['VmwareAdminClusterAuthorizationArgs']]):
175
+ pulumi.set(self, "authorization", value)
176
+
177
+ @property
178
+ @pulumi.getter(name="autoRepairConfig")
179
+ def auto_repair_config(self) -> Optional[pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs']]:
180
+ """
181
+ Configuration for auto repairing.
182
+ """
183
+ return pulumi.get(self, "auto_repair_config")
184
+
185
+ @auto_repair_config.setter
186
+ def auto_repair_config(self, value: Optional[pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs']]):
187
+ pulumi.set(self, "auto_repair_config", value)
188
+
189
+ @property
190
+ @pulumi.getter(name="bootstrapClusterMembership")
191
+ def bootstrap_cluster_membership(self) -> Optional[pulumi.Input[str]]:
192
+ """
193
+ The bootstrap cluster this VMware admin cluster belongs to.
194
+ """
195
+ return pulumi.get(self, "bootstrap_cluster_membership")
196
+
197
+ @bootstrap_cluster_membership.setter
198
+ def bootstrap_cluster_membership(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "bootstrap_cluster_membership", value)
200
+
201
+ @property
202
+ @pulumi.getter(name="controlPlaneNode")
203
+ def control_plane_node(self) -> Optional[pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs']]:
204
+ """
205
+ The VMware admin cluster control plane node configuration.
206
+ """
207
+ return pulumi.get(self, "control_plane_node")
208
+
209
+ @control_plane_node.setter
210
+ def control_plane_node(self, value: Optional[pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs']]):
211
+ pulumi.set(self, "control_plane_node", value)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def description(self) -> Optional[pulumi.Input[str]]:
216
+ """
217
+ A human readable description of this VMware admin cluster.
218
+ """
219
+ return pulumi.get(self, "description")
220
+
221
+ @description.setter
222
+ def description(self, value: Optional[pulumi.Input[str]]):
223
+ pulumi.set(self, "description", value)
224
+
225
+ @property
226
+ @pulumi.getter(name="imageType")
227
+ def image_type(self) -> Optional[pulumi.Input[str]]:
228
+ """
229
+ The OS image type for the VMware admin cluster.
230
+ """
231
+ return pulumi.get(self, "image_type")
232
+
233
+ @image_type.setter
234
+ def image_type(self, value: Optional[pulumi.Input[str]]):
235
+ pulumi.set(self, "image_type", value)
236
+
237
+ @property
238
+ @pulumi.getter(name="loadBalancer")
239
+ def load_balancer(self) -> Optional[pulumi.Input['VmwareAdminClusterLoadBalancerArgs']]:
240
+ """
241
+ Specifies the load balancer configuration for VMware admin cluster.
242
+ """
243
+ return pulumi.get(self, "load_balancer")
244
+
245
+ @load_balancer.setter
246
+ def load_balancer(self, value: Optional[pulumi.Input['VmwareAdminClusterLoadBalancerArgs']]):
247
+ pulumi.set(self, "load_balancer", value)
248
+
249
+ @property
250
+ @pulumi.getter
251
+ def name(self) -> Optional[pulumi.Input[str]]:
252
+ """
253
+ The VMware admin cluster resource name.
254
+ """
255
+ return pulumi.get(self, "name")
256
+
257
+ @name.setter
258
+ def name(self, value: Optional[pulumi.Input[str]]):
259
+ pulumi.set(self, "name", value)
260
+
261
+ @property
262
+ @pulumi.getter(name="onPremVersion")
263
+ def on_prem_version(self) -> Optional[pulumi.Input[str]]:
264
+ """
265
+ The Anthos clusters on the VMware version for the admin cluster.
266
+ """
267
+ return pulumi.get(self, "on_prem_version")
268
+
269
+ @on_prem_version.setter
270
+ def on_prem_version(self, value: Optional[pulumi.Input[str]]):
271
+ pulumi.set(self, "on_prem_version", value)
272
+
273
+ @property
274
+ @pulumi.getter(name="platformConfig")
275
+ def platform_config(self) -> Optional[pulumi.Input['VmwareAdminClusterPlatformConfigArgs']]:
276
+ """
277
+ The VMware platform configuration.
278
+ """
279
+ return pulumi.get(self, "platform_config")
280
+
281
+ @platform_config.setter
282
+ def platform_config(self, value: Optional[pulumi.Input['VmwareAdminClusterPlatformConfigArgs']]):
283
+ pulumi.set(self, "platform_config", value)
284
+
285
+ @property
286
+ @pulumi.getter
287
+ def project(self) -> Optional[pulumi.Input[str]]:
288
+ return pulumi.get(self, "project")
289
+
290
+ @project.setter
291
+ def project(self, value: Optional[pulumi.Input[str]]):
292
+ pulumi.set(self, "project", value)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def vcenter(self) -> Optional[pulumi.Input['VmwareAdminClusterVcenterArgs']]:
297
+ """
298
+ Specifies vCenter config for the admin cluster.
299
+ """
300
+ return pulumi.get(self, "vcenter")
301
+
302
+ @vcenter.setter
303
+ def vcenter(self, value: Optional[pulumi.Input['VmwareAdminClusterVcenterArgs']]):
304
+ pulumi.set(self, "vcenter", value)
305
+
306
+
307
+ @pulumi.input_type
308
+ class _VmwareAdminClusterState:
309
+ def __init__(__self__, *,
310
+ addon_node: Optional[pulumi.Input['VmwareAdminClusterAddonNodeArgs']] = None,
311
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
312
+ anti_affinity_groups: Optional[pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs']] = None,
313
+ authorization: Optional[pulumi.Input['VmwareAdminClusterAuthorizationArgs']] = None,
314
+ auto_repair_config: Optional[pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs']] = None,
315
+ bootstrap_cluster_membership: Optional[pulumi.Input[str]] = None,
316
+ control_plane_node: Optional[pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs']] = None,
317
+ create_time: Optional[pulumi.Input[str]] = None,
318
+ description: Optional[pulumi.Input[str]] = None,
319
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
320
+ endpoint: Optional[pulumi.Input[str]] = None,
321
+ etag: Optional[pulumi.Input[str]] = None,
322
+ fleets: Optional[pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterFleetArgs']]]] = None,
323
+ image_type: Optional[pulumi.Input[str]] = None,
324
+ load_balancer: Optional[pulumi.Input['VmwareAdminClusterLoadBalancerArgs']] = None,
325
+ local_name: Optional[pulumi.Input[str]] = None,
326
+ location: Optional[pulumi.Input[str]] = None,
327
+ name: Optional[pulumi.Input[str]] = None,
328
+ network_config: Optional[pulumi.Input['VmwareAdminClusterNetworkConfigArgs']] = None,
329
+ on_prem_version: Optional[pulumi.Input[str]] = None,
330
+ platform_config: Optional[pulumi.Input['VmwareAdminClusterPlatformConfigArgs']] = None,
331
+ project: Optional[pulumi.Input[str]] = None,
332
+ reconciling: Optional[pulumi.Input[bool]] = None,
333
+ state: Optional[pulumi.Input[str]] = None,
334
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterStatusArgs']]]] = None,
335
+ uid: Optional[pulumi.Input[str]] = None,
336
+ update_time: Optional[pulumi.Input[str]] = None,
337
+ vcenter: Optional[pulumi.Input['VmwareAdminClusterVcenterArgs']] = None):
338
+ """
339
+ Input properties used for looking up and filtering VmwareAdminCluster resources.
340
+ :param pulumi.Input['VmwareAdminClusterAddonNodeArgs'] addon_node: The VMware admin cluster addon node configuration.
341
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
342
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
343
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
344
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
345
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
346
+ 'effective_annotations' for all of the annotations present on the resource.
347
+ :param pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs'] anti_affinity_groups: AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
348
+ :param pulumi.Input['VmwareAdminClusterAuthorizationArgs'] authorization: The VMware admin cluster authorization configuration.
349
+ :param pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs'] auto_repair_config: Configuration for auto repairing.
350
+ :param pulumi.Input[str] bootstrap_cluster_membership: The bootstrap cluster this VMware admin cluster belongs to.
351
+ :param pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs'] control_plane_node: The VMware admin cluster control plane node configuration.
352
+ :param pulumi.Input[str] create_time: The time the cluster was created, in RFC3339 text format.
353
+ :param pulumi.Input[str] description: A human readable description of this VMware admin cluster.
354
+ :param pulumi.Input[str] endpoint: The DNS name of VMware admin cluster's API server.
355
+ :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other
356
+ fields, and may be sent on update and delete requests to ensure the
357
+ client has an up-to-date value before proceeding.
358
+ Allows clients to perform consistent read-modify-writes
359
+ through optimistic concurrency control.
360
+ :param pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterFleetArgs']]] fleets: Fleet configuration for the cluster.
361
+ Structure is documented below.
362
+ :param pulumi.Input[str] image_type: The OS image type for the VMware admin cluster.
363
+ :param pulumi.Input['VmwareAdminClusterLoadBalancerArgs'] load_balancer: Specifies the load balancer configuration for VMware admin cluster.
364
+ :param pulumi.Input[str] local_name: The object name of the VMwareAdminCluster custom resource on the
365
+ associated admin cluster. This field is used to support conflicting
366
+ names when enrolling existing clusters to the API. When used as a part of
367
+ cluster enrollment, this field will differ from the ID in the resource
368
+ name. For new clusters, this field will match the user provided cluster ID
369
+ and be visible in the last component of the resource name. It is not
370
+ modifiable.
371
+ All users should use this name to access their cluster using gkectl or
372
+ kubectl and should expect to see the local name when viewing admin
373
+ cluster controller logs.
374
+ :param pulumi.Input[str] location: The location of the resource.
375
+ :param pulumi.Input[str] name: The VMware admin cluster resource name.
376
+ :param pulumi.Input['VmwareAdminClusterNetworkConfigArgs'] network_config: The VMware admin cluster network configuration.
377
+ Structure is documented below.
378
+ :param pulumi.Input[str] on_prem_version: The Anthos clusters on the VMware version for the admin cluster.
379
+ :param pulumi.Input['VmwareAdminClusterPlatformConfigArgs'] platform_config: The VMware platform configuration.
380
+ :param pulumi.Input[bool] reconciling: If set, there are currently changes in flight to the VMware admin cluster.
381
+ :param pulumi.Input[str] state: (Output)
382
+ The lifecycle state of the condition.
383
+ :param pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterStatusArgs']]] statuses: ResourceStatus representing detailed cluster state.
384
+ Structure is documented below.
385
+ :param pulumi.Input[str] uid: The unique identifier of the VMware Admin Cluster.
386
+ :param pulumi.Input[str] update_time: The time the cluster was last updated, in RFC3339 text format.
387
+ :param pulumi.Input['VmwareAdminClusterVcenterArgs'] vcenter: Specifies vCenter config for the admin cluster.
388
+ """
389
+ if addon_node is not None:
390
+ pulumi.set(__self__, "addon_node", addon_node)
391
+ if annotations is not None:
392
+ pulumi.set(__self__, "annotations", annotations)
393
+ if anti_affinity_groups is not None:
394
+ pulumi.set(__self__, "anti_affinity_groups", anti_affinity_groups)
395
+ if authorization is not None:
396
+ pulumi.set(__self__, "authorization", authorization)
397
+ if auto_repair_config is not None:
398
+ pulumi.set(__self__, "auto_repair_config", auto_repair_config)
399
+ if bootstrap_cluster_membership is not None:
400
+ pulumi.set(__self__, "bootstrap_cluster_membership", bootstrap_cluster_membership)
401
+ if control_plane_node is not None:
402
+ pulumi.set(__self__, "control_plane_node", control_plane_node)
403
+ if create_time is not None:
404
+ pulumi.set(__self__, "create_time", create_time)
405
+ if description is not None:
406
+ pulumi.set(__self__, "description", description)
407
+ if effective_annotations is not None:
408
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
409
+ if endpoint is not None:
410
+ pulumi.set(__self__, "endpoint", endpoint)
411
+ if etag is not None:
412
+ pulumi.set(__self__, "etag", etag)
413
+ if fleets is not None:
414
+ pulumi.set(__self__, "fleets", fleets)
415
+ if image_type is not None:
416
+ pulumi.set(__self__, "image_type", image_type)
417
+ if load_balancer is not None:
418
+ pulumi.set(__self__, "load_balancer", load_balancer)
419
+ if local_name is not None:
420
+ pulumi.set(__self__, "local_name", local_name)
421
+ if location is not None:
422
+ pulumi.set(__self__, "location", location)
423
+ if name is not None:
424
+ pulumi.set(__self__, "name", name)
425
+ if network_config is not None:
426
+ pulumi.set(__self__, "network_config", network_config)
427
+ if on_prem_version is not None:
428
+ pulumi.set(__self__, "on_prem_version", on_prem_version)
429
+ if platform_config is not None:
430
+ pulumi.set(__self__, "platform_config", platform_config)
431
+ if project is not None:
432
+ pulumi.set(__self__, "project", project)
433
+ if reconciling is not None:
434
+ pulumi.set(__self__, "reconciling", reconciling)
435
+ if state is not None:
436
+ pulumi.set(__self__, "state", state)
437
+ if statuses is not None:
438
+ pulumi.set(__self__, "statuses", statuses)
439
+ if uid is not None:
440
+ pulumi.set(__self__, "uid", uid)
441
+ if update_time is not None:
442
+ pulumi.set(__self__, "update_time", update_time)
443
+ if vcenter is not None:
444
+ pulumi.set(__self__, "vcenter", vcenter)
445
+
446
+ @property
447
+ @pulumi.getter(name="addonNode")
448
+ def addon_node(self) -> Optional[pulumi.Input['VmwareAdminClusterAddonNodeArgs']]:
449
+ """
450
+ The VMware admin cluster addon node configuration.
451
+ """
452
+ return pulumi.get(self, "addon_node")
453
+
454
+ @addon_node.setter
455
+ def addon_node(self, value: Optional[pulumi.Input['VmwareAdminClusterAddonNodeArgs']]):
456
+ pulumi.set(self, "addon_node", value)
457
+
458
+ @property
459
+ @pulumi.getter
460
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
461
+ """
462
+ Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
463
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
464
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
465
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
466
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
467
+ 'effective_annotations' for all of the annotations present on the resource.
468
+ """
469
+ return pulumi.get(self, "annotations")
470
+
471
+ @annotations.setter
472
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
473
+ pulumi.set(self, "annotations", value)
474
+
475
+ @property
476
+ @pulumi.getter(name="antiAffinityGroups")
477
+ def anti_affinity_groups(self) -> Optional[pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs']]:
478
+ """
479
+ AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
480
+ """
481
+ return pulumi.get(self, "anti_affinity_groups")
482
+
483
+ @anti_affinity_groups.setter
484
+ def anti_affinity_groups(self, value: Optional[pulumi.Input['VmwareAdminClusterAntiAffinityGroupsArgs']]):
485
+ pulumi.set(self, "anti_affinity_groups", value)
486
+
487
+ @property
488
+ @pulumi.getter
489
+ def authorization(self) -> Optional[pulumi.Input['VmwareAdminClusterAuthorizationArgs']]:
490
+ """
491
+ The VMware admin cluster authorization configuration.
492
+ """
493
+ return pulumi.get(self, "authorization")
494
+
495
+ @authorization.setter
496
+ def authorization(self, value: Optional[pulumi.Input['VmwareAdminClusterAuthorizationArgs']]):
497
+ pulumi.set(self, "authorization", value)
498
+
499
+ @property
500
+ @pulumi.getter(name="autoRepairConfig")
501
+ def auto_repair_config(self) -> Optional[pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs']]:
502
+ """
503
+ Configuration for auto repairing.
504
+ """
505
+ return pulumi.get(self, "auto_repair_config")
506
+
507
+ @auto_repair_config.setter
508
+ def auto_repair_config(self, value: Optional[pulumi.Input['VmwareAdminClusterAutoRepairConfigArgs']]):
509
+ pulumi.set(self, "auto_repair_config", value)
510
+
511
+ @property
512
+ @pulumi.getter(name="bootstrapClusterMembership")
513
+ def bootstrap_cluster_membership(self) -> Optional[pulumi.Input[str]]:
514
+ """
515
+ The bootstrap cluster this VMware admin cluster belongs to.
516
+ """
517
+ return pulumi.get(self, "bootstrap_cluster_membership")
518
+
519
+ @bootstrap_cluster_membership.setter
520
+ def bootstrap_cluster_membership(self, value: Optional[pulumi.Input[str]]):
521
+ pulumi.set(self, "bootstrap_cluster_membership", value)
522
+
523
+ @property
524
+ @pulumi.getter(name="controlPlaneNode")
525
+ def control_plane_node(self) -> Optional[pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs']]:
526
+ """
527
+ The VMware admin cluster control plane node configuration.
528
+ """
529
+ return pulumi.get(self, "control_plane_node")
530
+
531
+ @control_plane_node.setter
532
+ def control_plane_node(self, value: Optional[pulumi.Input['VmwareAdminClusterControlPlaneNodeArgs']]):
533
+ pulumi.set(self, "control_plane_node", value)
534
+
535
+ @property
536
+ @pulumi.getter(name="createTime")
537
+ def create_time(self) -> Optional[pulumi.Input[str]]:
538
+ """
539
+ The time the cluster was created, in RFC3339 text format.
540
+ """
541
+ return pulumi.get(self, "create_time")
542
+
543
+ @create_time.setter
544
+ def create_time(self, value: Optional[pulumi.Input[str]]):
545
+ pulumi.set(self, "create_time", value)
546
+
547
+ @property
548
+ @pulumi.getter
549
+ def description(self) -> Optional[pulumi.Input[str]]:
550
+ """
551
+ A human readable description of this VMware admin cluster.
552
+ """
553
+ return pulumi.get(self, "description")
554
+
555
+ @description.setter
556
+ def description(self, value: Optional[pulumi.Input[str]]):
557
+ pulumi.set(self, "description", value)
558
+
559
+ @property
560
+ @pulumi.getter(name="effectiveAnnotations")
561
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
562
+ return pulumi.get(self, "effective_annotations")
563
+
564
+ @effective_annotations.setter
565
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
566
+ pulumi.set(self, "effective_annotations", value)
567
+
568
+ @property
569
+ @pulumi.getter
570
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
571
+ """
572
+ The DNS name of VMware admin cluster's API server.
573
+ """
574
+ return pulumi.get(self, "endpoint")
575
+
576
+ @endpoint.setter
577
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
578
+ pulumi.set(self, "endpoint", value)
579
+
580
+ @property
581
+ @pulumi.getter
582
+ def etag(self) -> Optional[pulumi.Input[str]]:
583
+ """
584
+ This checksum is computed by the server based on the value of other
585
+ fields, and may be sent on update and delete requests to ensure the
586
+ client has an up-to-date value before proceeding.
587
+ Allows clients to perform consistent read-modify-writes
588
+ through optimistic concurrency control.
589
+ """
590
+ return pulumi.get(self, "etag")
591
+
592
+ @etag.setter
593
+ def etag(self, value: Optional[pulumi.Input[str]]):
594
+ pulumi.set(self, "etag", value)
595
+
596
+ @property
597
+ @pulumi.getter
598
+ def fleets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterFleetArgs']]]]:
599
+ """
600
+ Fleet configuration for the cluster.
601
+ Structure is documented below.
602
+ """
603
+ return pulumi.get(self, "fleets")
604
+
605
+ @fleets.setter
606
+ def fleets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterFleetArgs']]]]):
607
+ pulumi.set(self, "fleets", value)
608
+
609
+ @property
610
+ @pulumi.getter(name="imageType")
611
+ def image_type(self) -> Optional[pulumi.Input[str]]:
612
+ """
613
+ The OS image type for the VMware admin cluster.
614
+ """
615
+ return pulumi.get(self, "image_type")
616
+
617
+ @image_type.setter
618
+ def image_type(self, value: Optional[pulumi.Input[str]]):
619
+ pulumi.set(self, "image_type", value)
620
+
621
+ @property
622
+ @pulumi.getter(name="loadBalancer")
623
+ def load_balancer(self) -> Optional[pulumi.Input['VmwareAdminClusterLoadBalancerArgs']]:
624
+ """
625
+ Specifies the load balancer configuration for VMware admin cluster.
626
+ """
627
+ return pulumi.get(self, "load_balancer")
628
+
629
+ @load_balancer.setter
630
+ def load_balancer(self, value: Optional[pulumi.Input['VmwareAdminClusterLoadBalancerArgs']]):
631
+ pulumi.set(self, "load_balancer", value)
632
+
633
+ @property
634
+ @pulumi.getter(name="localName")
635
+ def local_name(self) -> Optional[pulumi.Input[str]]:
636
+ """
637
+ The object name of the VMwareAdminCluster custom resource on the
638
+ associated admin cluster. This field is used to support conflicting
639
+ names when enrolling existing clusters to the API. When used as a part of
640
+ cluster enrollment, this field will differ from the ID in the resource
641
+ name. For new clusters, this field will match the user provided cluster ID
642
+ and be visible in the last component of the resource name. It is not
643
+ modifiable.
644
+ All users should use this name to access their cluster using gkectl or
645
+ kubectl and should expect to see the local name when viewing admin
646
+ cluster controller logs.
647
+ """
648
+ return pulumi.get(self, "local_name")
649
+
650
+ @local_name.setter
651
+ def local_name(self, value: Optional[pulumi.Input[str]]):
652
+ pulumi.set(self, "local_name", value)
653
+
654
+ @property
655
+ @pulumi.getter
656
+ def location(self) -> Optional[pulumi.Input[str]]:
657
+ """
658
+ The location of the resource.
659
+ """
660
+ return pulumi.get(self, "location")
661
+
662
+ @location.setter
663
+ def location(self, value: Optional[pulumi.Input[str]]):
664
+ pulumi.set(self, "location", value)
665
+
666
+ @property
667
+ @pulumi.getter
668
+ def name(self) -> Optional[pulumi.Input[str]]:
669
+ """
670
+ The VMware admin cluster resource name.
671
+ """
672
+ return pulumi.get(self, "name")
673
+
674
+ @name.setter
675
+ def name(self, value: Optional[pulumi.Input[str]]):
676
+ pulumi.set(self, "name", value)
677
+
678
+ @property
679
+ @pulumi.getter(name="networkConfig")
680
+ def network_config(self) -> Optional[pulumi.Input['VmwareAdminClusterNetworkConfigArgs']]:
681
+ """
682
+ The VMware admin cluster network configuration.
683
+ Structure is documented below.
684
+ """
685
+ return pulumi.get(self, "network_config")
686
+
687
+ @network_config.setter
688
+ def network_config(self, value: Optional[pulumi.Input['VmwareAdminClusterNetworkConfigArgs']]):
689
+ pulumi.set(self, "network_config", value)
690
+
691
+ @property
692
+ @pulumi.getter(name="onPremVersion")
693
+ def on_prem_version(self) -> Optional[pulumi.Input[str]]:
694
+ """
695
+ The Anthos clusters on the VMware version for the admin cluster.
696
+ """
697
+ return pulumi.get(self, "on_prem_version")
698
+
699
+ @on_prem_version.setter
700
+ def on_prem_version(self, value: Optional[pulumi.Input[str]]):
701
+ pulumi.set(self, "on_prem_version", value)
702
+
703
+ @property
704
+ @pulumi.getter(name="platformConfig")
705
+ def platform_config(self) -> Optional[pulumi.Input['VmwareAdminClusterPlatformConfigArgs']]:
706
+ """
707
+ The VMware platform configuration.
708
+ """
709
+ return pulumi.get(self, "platform_config")
710
+
711
+ @platform_config.setter
712
+ def platform_config(self, value: Optional[pulumi.Input['VmwareAdminClusterPlatformConfigArgs']]):
713
+ pulumi.set(self, "platform_config", value)
714
+
715
+ @property
716
+ @pulumi.getter
717
+ def project(self) -> Optional[pulumi.Input[str]]:
718
+ return pulumi.get(self, "project")
719
+
720
+ @project.setter
721
+ def project(self, value: Optional[pulumi.Input[str]]):
722
+ pulumi.set(self, "project", value)
723
+
724
+ @property
725
+ @pulumi.getter
726
+ def reconciling(self) -> Optional[pulumi.Input[bool]]:
727
+ """
728
+ If set, there are currently changes in flight to the VMware admin cluster.
729
+ """
730
+ return pulumi.get(self, "reconciling")
731
+
732
+ @reconciling.setter
733
+ def reconciling(self, value: Optional[pulumi.Input[bool]]):
734
+ pulumi.set(self, "reconciling", value)
735
+
736
+ @property
737
+ @pulumi.getter
738
+ def state(self) -> Optional[pulumi.Input[str]]:
739
+ """
740
+ (Output)
741
+ The lifecycle state of the condition.
742
+ """
743
+ return pulumi.get(self, "state")
744
+
745
+ @state.setter
746
+ def state(self, value: Optional[pulumi.Input[str]]):
747
+ pulumi.set(self, "state", value)
748
+
749
+ @property
750
+ @pulumi.getter
751
+ def statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterStatusArgs']]]]:
752
+ """
753
+ ResourceStatus representing detailed cluster state.
754
+ Structure is documented below.
755
+ """
756
+ return pulumi.get(self, "statuses")
757
+
758
+ @statuses.setter
759
+ def statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VmwareAdminClusterStatusArgs']]]]):
760
+ pulumi.set(self, "statuses", value)
761
+
762
+ @property
763
+ @pulumi.getter
764
+ def uid(self) -> Optional[pulumi.Input[str]]:
765
+ """
766
+ The unique identifier of the VMware Admin Cluster.
767
+ """
768
+ return pulumi.get(self, "uid")
769
+
770
+ @uid.setter
771
+ def uid(self, value: Optional[pulumi.Input[str]]):
772
+ pulumi.set(self, "uid", value)
773
+
774
+ @property
775
+ @pulumi.getter(name="updateTime")
776
+ def update_time(self) -> Optional[pulumi.Input[str]]:
777
+ """
778
+ The time the cluster was last updated, in RFC3339 text format.
779
+ """
780
+ return pulumi.get(self, "update_time")
781
+
782
+ @update_time.setter
783
+ def update_time(self, value: Optional[pulumi.Input[str]]):
784
+ pulumi.set(self, "update_time", value)
785
+
786
+ @property
787
+ @pulumi.getter
788
+ def vcenter(self) -> Optional[pulumi.Input['VmwareAdminClusterVcenterArgs']]:
789
+ """
790
+ Specifies vCenter config for the admin cluster.
791
+ """
792
+ return pulumi.get(self, "vcenter")
793
+
794
+ @vcenter.setter
795
+ def vcenter(self, value: Optional[pulumi.Input['VmwareAdminClusterVcenterArgs']]):
796
+ pulumi.set(self, "vcenter", value)
797
+
798
+
799
+ class VmwareAdminCluster(pulumi.CustomResource):
800
+ @overload
801
+ def __init__(__self__,
802
+ resource_name: str,
803
+ opts: Optional[pulumi.ResourceOptions] = None,
804
+ addon_node: Optional[pulumi.Input[Union['VmwareAdminClusterAddonNodeArgs', 'VmwareAdminClusterAddonNodeArgsDict']]] = None,
805
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
806
+ anti_affinity_groups: Optional[pulumi.Input[Union['VmwareAdminClusterAntiAffinityGroupsArgs', 'VmwareAdminClusterAntiAffinityGroupsArgsDict']]] = None,
807
+ authorization: Optional[pulumi.Input[Union['VmwareAdminClusterAuthorizationArgs', 'VmwareAdminClusterAuthorizationArgsDict']]] = None,
808
+ auto_repair_config: Optional[pulumi.Input[Union['VmwareAdminClusterAutoRepairConfigArgs', 'VmwareAdminClusterAutoRepairConfigArgsDict']]] = None,
809
+ bootstrap_cluster_membership: Optional[pulumi.Input[str]] = None,
810
+ control_plane_node: Optional[pulumi.Input[Union['VmwareAdminClusterControlPlaneNodeArgs', 'VmwareAdminClusterControlPlaneNodeArgsDict']]] = None,
811
+ description: Optional[pulumi.Input[str]] = None,
812
+ image_type: Optional[pulumi.Input[str]] = None,
813
+ load_balancer: Optional[pulumi.Input[Union['VmwareAdminClusterLoadBalancerArgs', 'VmwareAdminClusterLoadBalancerArgsDict']]] = None,
814
+ location: Optional[pulumi.Input[str]] = None,
815
+ name: Optional[pulumi.Input[str]] = None,
816
+ network_config: Optional[pulumi.Input[Union['VmwareAdminClusterNetworkConfigArgs', 'VmwareAdminClusterNetworkConfigArgsDict']]] = None,
817
+ on_prem_version: Optional[pulumi.Input[str]] = None,
818
+ platform_config: Optional[pulumi.Input[Union['VmwareAdminClusterPlatformConfigArgs', 'VmwareAdminClusterPlatformConfigArgsDict']]] = None,
819
+ project: Optional[pulumi.Input[str]] = None,
820
+ vcenter: Optional[pulumi.Input[Union['VmwareAdminClusterVcenterArgs', 'VmwareAdminClusterVcenterArgsDict']]] = None,
821
+ __props__=None):
822
+ """
823
+ ## Example Usage
824
+
825
+ ### Gkeonprem Vmware Admin Cluster Basic
826
+
827
+ ```python
828
+ import pulumi
829
+ import pulumi_gcp as gcp
830
+
831
+ admin_cluster_basic = gcp.gkeonprem.VmwareAdminCluster("admin-cluster-basic",
832
+ name="basic",
833
+ location="us-west1",
834
+ description="test admin cluster",
835
+ bootstrap_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
836
+ on_prem_version="1.31.0-gke.35",
837
+ image_type="ubuntu_containerd",
838
+ vcenter={
839
+ "resource_pool": "test resource pool",
840
+ "datastore": "test data store",
841
+ "datacenter": "test data center",
842
+ "cluster": "test cluster",
843
+ "folder": "test folder",
844
+ "ca_cert_data": "test ca cert data",
845
+ "address": "10.0.0.1",
846
+ "data_disk": "test data disk",
847
+ },
848
+ network_config={
849
+ "service_address_cidr_blocks": ["10.96.0.0/12"],
850
+ "pod_address_cidr_blocks": ["192.168.0.0/16"],
851
+ "dhcp_ip_config": {
852
+ "enabled": True,
853
+ },
854
+ },
855
+ control_plane_node={
856
+ "cpus": 4,
857
+ "memory": 8192,
858
+ },
859
+ load_balancer={
860
+ "vip_config": {
861
+ "control_plane_vip": "10.251.133.5",
862
+ "addons_vip": "10.251.135.19",
863
+ },
864
+ "f5_config": {
865
+ "address": "10.251.135.22",
866
+ "partition": "test-parition",
867
+ "snat_pool": "test-snat-pool",
868
+ },
869
+ })
870
+ ```
871
+ ### Gkeonprem Vmware Admin Cluster Full
872
+
873
+ ```python
874
+ import pulumi
875
+ import pulumi_gcp as gcp
876
+
877
+ admin_cluster_full = gcp.gkeonprem.VmwareAdminCluster("admin-cluster-full",
878
+ name="full",
879
+ location="us-west1",
880
+ description="test admin cluster",
881
+ bootstrap_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
882
+ on_prem_version="1.31.0-gke.35",
883
+ image_type="ubuntu_containerd",
884
+ annotations={},
885
+ vcenter={
886
+ "resource_pool": "test resource pool",
887
+ "datastore": "test data store",
888
+ "datacenter": "test data center",
889
+ "cluster": "test cluster",
890
+ "folder": "test folder",
891
+ "ca_cert_data": "test ca cert data",
892
+ "address": "10.0.0.1",
893
+ "data_disk": "test data disk",
894
+ "storage_policy_name": "storage_policy_name",
895
+ },
896
+ network_config={
897
+ "service_address_cidr_blocks": ["10.96.0.0/12"],
898
+ "pod_address_cidr_blocks": ["192.168.0.0/16"],
899
+ "ha_control_plane_config": {
900
+ "control_plane_ip_block": {
901
+ "gateway": "10.0.0.3",
902
+ "ips": [{
903
+ "hostname": "hostname",
904
+ "ip": "10.0.0.4",
905
+ }],
906
+ "netmask": "10.0.0.3/32",
907
+ },
908
+ },
909
+ "host_config": {
910
+ "dns_servers": ["10.254.41.1"],
911
+ "ntp_servers": ["216.239.35.8"],
912
+ "dns_search_domains": ["test-domain"],
913
+ },
914
+ "static_ip_config": {
915
+ "ip_blocks": [{
916
+ "gateway": "10.0.0.1",
917
+ "ips": [{
918
+ "hostname": "hostname",
919
+ "ip": "10.0.0.2",
920
+ }],
921
+ "netmask": "10.0.0.3/32",
922
+ }],
923
+ },
924
+ "vcenter_network": "test-vcenter-network",
925
+ },
926
+ control_plane_node={
927
+ "cpus": 4,
928
+ "memory": 8192,
929
+ "replicas": 3,
930
+ },
931
+ load_balancer={
932
+ "vip_config": {
933
+ "control_plane_vip": "10.251.133.5",
934
+ "addons_vip": "10.251.135.19",
935
+ },
936
+ "manual_lb_config": {
937
+ "addons_node_port": 30005,
938
+ "control_plane_node_port": 30006,
939
+ "ingress_http_node_port": 30007,
940
+ "ingress_https_node_port": 30008,
941
+ "konnectivity_server_node_port": 30009,
942
+ },
943
+ },
944
+ addon_node={
945
+ "auto_resize_config": {
946
+ "enabled": True,
947
+ },
948
+ },
949
+ anti_affinity_groups={
950
+ "aag_config_disabled": True,
951
+ },
952
+ authorization={
953
+ "viewer_users": [{
954
+ "username": "user1@gmail.com",
955
+ }],
956
+ },
957
+ auto_repair_config={
958
+ "enabled": True,
959
+ },
960
+ platform_config={
961
+ "required_platform_version": "1.31.0",
962
+ })
963
+ ```
964
+ ### Gkeonprem Vmware Admin Cluster Metallb
965
+
966
+ ```python
967
+ import pulumi
968
+ import pulumi_gcp as gcp
969
+
970
+ admin_cluster_metallb = gcp.gkeonprem.VmwareAdminCluster("admin-cluster-metallb",
971
+ name="metallb",
972
+ location="us-west1",
973
+ description="test admin cluster",
974
+ bootstrap_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
975
+ on_prem_version="1.31.0-gke.35",
976
+ image_type="ubuntu_containerd",
977
+ vcenter={
978
+ "resource_pool": "test resource pool",
979
+ "datastore": "test data store",
980
+ "datacenter": "test data center",
981
+ "cluster": "test cluster",
982
+ "folder": "test folder",
983
+ "ca_cert_data": "test ca cert data",
984
+ "address": "10.0.0.1",
985
+ "data_disk": "test data disk",
986
+ },
987
+ network_config={
988
+ "service_address_cidr_blocks": ["10.96.0.0/12"],
989
+ "pod_address_cidr_blocks": ["192.168.0.0/16"],
990
+ "dhcp_ip_config": {
991
+ "enabled": True,
992
+ },
993
+ },
994
+ control_plane_node={
995
+ "cpus": 4,
996
+ "memory": 8192,
997
+ },
998
+ load_balancer={
999
+ "vip_config": {
1000
+ "control_plane_vip": "10.251.133.5",
1001
+ "addons_vip": "10.251.135.19",
1002
+ },
1003
+ "metal_lb_config": {
1004
+ "enabled": True,
1005
+ },
1006
+ })
1007
+ ```
1008
+
1009
+ ## Import
1010
+
1011
+ VmwareAdminCluster can be imported using any of these accepted formats:
1012
+
1013
+ * `projects/{{project}}/locations/{{location}}/vmwareAdminClusters/{{name}}`
1014
+
1015
+ * `{{project}}/{{location}}/{{name}}`
1016
+
1017
+ * `{{location}}/{{name}}`
1018
+
1019
+ When using the `pulumi import` command, VmwareAdminCluster can be imported using one of the formats above. For example:
1020
+
1021
+ ```sh
1022
+ $ pulumi import gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster default projects/{{project}}/locations/{{location}}/vmwareAdminClusters/{{name}}
1023
+ ```
1024
+
1025
+ ```sh
1026
+ $ pulumi import gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster default {{project}}/{{location}}/{{name}}
1027
+ ```
1028
+
1029
+ ```sh
1030
+ $ pulumi import gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster default {{location}}/{{name}}
1031
+ ```
1032
+
1033
+ :param str resource_name: The name of the resource.
1034
+ :param pulumi.ResourceOptions opts: Options for the resource.
1035
+ :param pulumi.Input[Union['VmwareAdminClusterAddonNodeArgs', 'VmwareAdminClusterAddonNodeArgsDict']] addon_node: The VMware admin cluster addon node configuration.
1036
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
1037
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
1038
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
1039
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
1040
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
1041
+ 'effective_annotations' for all of the annotations present on the resource.
1042
+ :param pulumi.Input[Union['VmwareAdminClusterAntiAffinityGroupsArgs', 'VmwareAdminClusterAntiAffinityGroupsArgsDict']] anti_affinity_groups: AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
1043
+ :param pulumi.Input[Union['VmwareAdminClusterAuthorizationArgs', 'VmwareAdminClusterAuthorizationArgsDict']] authorization: The VMware admin cluster authorization configuration.
1044
+ :param pulumi.Input[Union['VmwareAdminClusterAutoRepairConfigArgs', 'VmwareAdminClusterAutoRepairConfigArgsDict']] auto_repair_config: Configuration for auto repairing.
1045
+ :param pulumi.Input[str] bootstrap_cluster_membership: The bootstrap cluster this VMware admin cluster belongs to.
1046
+ :param pulumi.Input[Union['VmwareAdminClusterControlPlaneNodeArgs', 'VmwareAdminClusterControlPlaneNodeArgsDict']] control_plane_node: The VMware admin cluster control plane node configuration.
1047
+ :param pulumi.Input[str] description: A human readable description of this VMware admin cluster.
1048
+ :param pulumi.Input[str] image_type: The OS image type for the VMware admin cluster.
1049
+ :param pulumi.Input[Union['VmwareAdminClusterLoadBalancerArgs', 'VmwareAdminClusterLoadBalancerArgsDict']] load_balancer: Specifies the load balancer configuration for VMware admin cluster.
1050
+ :param pulumi.Input[str] location: The location of the resource.
1051
+ :param pulumi.Input[str] name: The VMware admin cluster resource name.
1052
+ :param pulumi.Input[Union['VmwareAdminClusterNetworkConfigArgs', 'VmwareAdminClusterNetworkConfigArgsDict']] network_config: The VMware admin cluster network configuration.
1053
+ Structure is documented below.
1054
+ :param pulumi.Input[str] on_prem_version: The Anthos clusters on the VMware version for the admin cluster.
1055
+ :param pulumi.Input[Union['VmwareAdminClusterPlatformConfigArgs', 'VmwareAdminClusterPlatformConfigArgsDict']] platform_config: The VMware platform configuration.
1056
+ :param pulumi.Input[Union['VmwareAdminClusterVcenterArgs', 'VmwareAdminClusterVcenterArgsDict']] vcenter: Specifies vCenter config for the admin cluster.
1057
+ """
1058
+ ...
1059
+ @overload
1060
+ def __init__(__self__,
1061
+ resource_name: str,
1062
+ args: VmwareAdminClusterArgs,
1063
+ opts: Optional[pulumi.ResourceOptions] = None):
1064
+ """
1065
+ ## Example Usage
1066
+
1067
+ ### Gkeonprem Vmware Admin Cluster Basic
1068
+
1069
+ ```python
1070
+ import pulumi
1071
+ import pulumi_gcp as gcp
1072
+
1073
+ admin_cluster_basic = gcp.gkeonprem.VmwareAdminCluster("admin-cluster-basic",
1074
+ name="basic",
1075
+ location="us-west1",
1076
+ description="test admin cluster",
1077
+ bootstrap_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
1078
+ on_prem_version="1.31.0-gke.35",
1079
+ image_type="ubuntu_containerd",
1080
+ vcenter={
1081
+ "resource_pool": "test resource pool",
1082
+ "datastore": "test data store",
1083
+ "datacenter": "test data center",
1084
+ "cluster": "test cluster",
1085
+ "folder": "test folder",
1086
+ "ca_cert_data": "test ca cert data",
1087
+ "address": "10.0.0.1",
1088
+ "data_disk": "test data disk",
1089
+ },
1090
+ network_config={
1091
+ "service_address_cidr_blocks": ["10.96.0.0/12"],
1092
+ "pod_address_cidr_blocks": ["192.168.0.0/16"],
1093
+ "dhcp_ip_config": {
1094
+ "enabled": True,
1095
+ },
1096
+ },
1097
+ control_plane_node={
1098
+ "cpus": 4,
1099
+ "memory": 8192,
1100
+ },
1101
+ load_balancer={
1102
+ "vip_config": {
1103
+ "control_plane_vip": "10.251.133.5",
1104
+ "addons_vip": "10.251.135.19",
1105
+ },
1106
+ "f5_config": {
1107
+ "address": "10.251.135.22",
1108
+ "partition": "test-parition",
1109
+ "snat_pool": "test-snat-pool",
1110
+ },
1111
+ })
1112
+ ```
1113
+ ### Gkeonprem Vmware Admin Cluster Full
1114
+
1115
+ ```python
1116
+ import pulumi
1117
+ import pulumi_gcp as gcp
1118
+
1119
+ admin_cluster_full = gcp.gkeonprem.VmwareAdminCluster("admin-cluster-full",
1120
+ name="full",
1121
+ location="us-west1",
1122
+ description="test admin cluster",
1123
+ bootstrap_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
1124
+ on_prem_version="1.31.0-gke.35",
1125
+ image_type="ubuntu_containerd",
1126
+ annotations={},
1127
+ vcenter={
1128
+ "resource_pool": "test resource pool",
1129
+ "datastore": "test data store",
1130
+ "datacenter": "test data center",
1131
+ "cluster": "test cluster",
1132
+ "folder": "test folder",
1133
+ "ca_cert_data": "test ca cert data",
1134
+ "address": "10.0.0.1",
1135
+ "data_disk": "test data disk",
1136
+ "storage_policy_name": "storage_policy_name",
1137
+ },
1138
+ network_config={
1139
+ "service_address_cidr_blocks": ["10.96.0.0/12"],
1140
+ "pod_address_cidr_blocks": ["192.168.0.0/16"],
1141
+ "ha_control_plane_config": {
1142
+ "control_plane_ip_block": {
1143
+ "gateway": "10.0.0.3",
1144
+ "ips": [{
1145
+ "hostname": "hostname",
1146
+ "ip": "10.0.0.4",
1147
+ }],
1148
+ "netmask": "10.0.0.3/32",
1149
+ },
1150
+ },
1151
+ "host_config": {
1152
+ "dns_servers": ["10.254.41.1"],
1153
+ "ntp_servers": ["216.239.35.8"],
1154
+ "dns_search_domains": ["test-domain"],
1155
+ },
1156
+ "static_ip_config": {
1157
+ "ip_blocks": [{
1158
+ "gateway": "10.0.0.1",
1159
+ "ips": [{
1160
+ "hostname": "hostname",
1161
+ "ip": "10.0.0.2",
1162
+ }],
1163
+ "netmask": "10.0.0.3/32",
1164
+ }],
1165
+ },
1166
+ "vcenter_network": "test-vcenter-network",
1167
+ },
1168
+ control_plane_node={
1169
+ "cpus": 4,
1170
+ "memory": 8192,
1171
+ "replicas": 3,
1172
+ },
1173
+ load_balancer={
1174
+ "vip_config": {
1175
+ "control_plane_vip": "10.251.133.5",
1176
+ "addons_vip": "10.251.135.19",
1177
+ },
1178
+ "manual_lb_config": {
1179
+ "addons_node_port": 30005,
1180
+ "control_plane_node_port": 30006,
1181
+ "ingress_http_node_port": 30007,
1182
+ "ingress_https_node_port": 30008,
1183
+ "konnectivity_server_node_port": 30009,
1184
+ },
1185
+ },
1186
+ addon_node={
1187
+ "auto_resize_config": {
1188
+ "enabled": True,
1189
+ },
1190
+ },
1191
+ anti_affinity_groups={
1192
+ "aag_config_disabled": True,
1193
+ },
1194
+ authorization={
1195
+ "viewer_users": [{
1196
+ "username": "user1@gmail.com",
1197
+ }],
1198
+ },
1199
+ auto_repair_config={
1200
+ "enabled": True,
1201
+ },
1202
+ platform_config={
1203
+ "required_platform_version": "1.31.0",
1204
+ })
1205
+ ```
1206
+ ### Gkeonprem Vmware Admin Cluster Metallb
1207
+
1208
+ ```python
1209
+ import pulumi
1210
+ import pulumi_gcp as gcp
1211
+
1212
+ admin_cluster_metallb = gcp.gkeonprem.VmwareAdminCluster("admin-cluster-metallb",
1213
+ name="metallb",
1214
+ location="us-west1",
1215
+ description="test admin cluster",
1216
+ bootstrap_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
1217
+ on_prem_version="1.31.0-gke.35",
1218
+ image_type="ubuntu_containerd",
1219
+ vcenter={
1220
+ "resource_pool": "test resource pool",
1221
+ "datastore": "test data store",
1222
+ "datacenter": "test data center",
1223
+ "cluster": "test cluster",
1224
+ "folder": "test folder",
1225
+ "ca_cert_data": "test ca cert data",
1226
+ "address": "10.0.0.1",
1227
+ "data_disk": "test data disk",
1228
+ },
1229
+ network_config={
1230
+ "service_address_cidr_blocks": ["10.96.0.0/12"],
1231
+ "pod_address_cidr_blocks": ["192.168.0.0/16"],
1232
+ "dhcp_ip_config": {
1233
+ "enabled": True,
1234
+ },
1235
+ },
1236
+ control_plane_node={
1237
+ "cpus": 4,
1238
+ "memory": 8192,
1239
+ },
1240
+ load_balancer={
1241
+ "vip_config": {
1242
+ "control_plane_vip": "10.251.133.5",
1243
+ "addons_vip": "10.251.135.19",
1244
+ },
1245
+ "metal_lb_config": {
1246
+ "enabled": True,
1247
+ },
1248
+ })
1249
+ ```
1250
+
1251
+ ## Import
1252
+
1253
+ VmwareAdminCluster can be imported using any of these accepted formats:
1254
+
1255
+ * `projects/{{project}}/locations/{{location}}/vmwareAdminClusters/{{name}}`
1256
+
1257
+ * `{{project}}/{{location}}/{{name}}`
1258
+
1259
+ * `{{location}}/{{name}}`
1260
+
1261
+ When using the `pulumi import` command, VmwareAdminCluster can be imported using one of the formats above. For example:
1262
+
1263
+ ```sh
1264
+ $ pulumi import gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster default projects/{{project}}/locations/{{location}}/vmwareAdminClusters/{{name}}
1265
+ ```
1266
+
1267
+ ```sh
1268
+ $ pulumi import gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster default {{project}}/{{location}}/{{name}}
1269
+ ```
1270
+
1271
+ ```sh
1272
+ $ pulumi import gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster default {{location}}/{{name}}
1273
+ ```
1274
+
1275
+ :param str resource_name: The name of the resource.
1276
+ :param VmwareAdminClusterArgs args: The arguments to use to populate this resource's properties.
1277
+ :param pulumi.ResourceOptions opts: Options for the resource.
1278
+ """
1279
+ ...
1280
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1281
+ resource_args, opts = _utilities.get_resource_args_opts(VmwareAdminClusterArgs, pulumi.ResourceOptions, *args, **kwargs)
1282
+ if resource_args is not None:
1283
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1284
+ else:
1285
+ __self__._internal_init(resource_name, *args, **kwargs)
1286
+
1287
+ def _internal_init(__self__,
1288
+ resource_name: str,
1289
+ opts: Optional[pulumi.ResourceOptions] = None,
1290
+ addon_node: Optional[pulumi.Input[Union['VmwareAdminClusterAddonNodeArgs', 'VmwareAdminClusterAddonNodeArgsDict']]] = None,
1291
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1292
+ anti_affinity_groups: Optional[pulumi.Input[Union['VmwareAdminClusterAntiAffinityGroupsArgs', 'VmwareAdminClusterAntiAffinityGroupsArgsDict']]] = None,
1293
+ authorization: Optional[pulumi.Input[Union['VmwareAdminClusterAuthorizationArgs', 'VmwareAdminClusterAuthorizationArgsDict']]] = None,
1294
+ auto_repair_config: Optional[pulumi.Input[Union['VmwareAdminClusterAutoRepairConfigArgs', 'VmwareAdminClusterAutoRepairConfigArgsDict']]] = None,
1295
+ bootstrap_cluster_membership: Optional[pulumi.Input[str]] = None,
1296
+ control_plane_node: Optional[pulumi.Input[Union['VmwareAdminClusterControlPlaneNodeArgs', 'VmwareAdminClusterControlPlaneNodeArgsDict']]] = None,
1297
+ description: Optional[pulumi.Input[str]] = None,
1298
+ image_type: Optional[pulumi.Input[str]] = None,
1299
+ load_balancer: Optional[pulumi.Input[Union['VmwareAdminClusterLoadBalancerArgs', 'VmwareAdminClusterLoadBalancerArgsDict']]] = None,
1300
+ location: Optional[pulumi.Input[str]] = None,
1301
+ name: Optional[pulumi.Input[str]] = None,
1302
+ network_config: Optional[pulumi.Input[Union['VmwareAdminClusterNetworkConfigArgs', 'VmwareAdminClusterNetworkConfigArgsDict']]] = None,
1303
+ on_prem_version: Optional[pulumi.Input[str]] = None,
1304
+ platform_config: Optional[pulumi.Input[Union['VmwareAdminClusterPlatformConfigArgs', 'VmwareAdminClusterPlatformConfigArgsDict']]] = None,
1305
+ project: Optional[pulumi.Input[str]] = None,
1306
+ vcenter: Optional[pulumi.Input[Union['VmwareAdminClusterVcenterArgs', 'VmwareAdminClusterVcenterArgsDict']]] = None,
1307
+ __props__=None):
1308
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1309
+ if not isinstance(opts, pulumi.ResourceOptions):
1310
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1311
+ if opts.id is None:
1312
+ if __props__ is not None:
1313
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1314
+ __props__ = VmwareAdminClusterArgs.__new__(VmwareAdminClusterArgs)
1315
+
1316
+ __props__.__dict__["addon_node"] = addon_node
1317
+ __props__.__dict__["annotations"] = annotations
1318
+ __props__.__dict__["anti_affinity_groups"] = anti_affinity_groups
1319
+ __props__.__dict__["authorization"] = authorization
1320
+ __props__.__dict__["auto_repair_config"] = auto_repair_config
1321
+ __props__.__dict__["bootstrap_cluster_membership"] = bootstrap_cluster_membership
1322
+ __props__.__dict__["control_plane_node"] = control_plane_node
1323
+ __props__.__dict__["description"] = description
1324
+ __props__.__dict__["image_type"] = image_type
1325
+ __props__.__dict__["load_balancer"] = load_balancer
1326
+ if location is None and not opts.urn:
1327
+ raise TypeError("Missing required property 'location'")
1328
+ __props__.__dict__["location"] = location
1329
+ __props__.__dict__["name"] = name
1330
+ if network_config is None and not opts.urn:
1331
+ raise TypeError("Missing required property 'network_config'")
1332
+ __props__.__dict__["network_config"] = network_config
1333
+ __props__.__dict__["on_prem_version"] = on_prem_version
1334
+ __props__.__dict__["platform_config"] = platform_config
1335
+ __props__.__dict__["project"] = project
1336
+ __props__.__dict__["vcenter"] = vcenter
1337
+ __props__.__dict__["create_time"] = None
1338
+ __props__.__dict__["effective_annotations"] = None
1339
+ __props__.__dict__["endpoint"] = None
1340
+ __props__.__dict__["etag"] = None
1341
+ __props__.__dict__["fleets"] = None
1342
+ __props__.__dict__["local_name"] = None
1343
+ __props__.__dict__["reconciling"] = None
1344
+ __props__.__dict__["state"] = None
1345
+ __props__.__dict__["statuses"] = None
1346
+ __props__.__dict__["uid"] = None
1347
+ __props__.__dict__["update_time"] = None
1348
+ super(VmwareAdminCluster, __self__).__init__(
1349
+ 'gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster',
1350
+ resource_name,
1351
+ __props__,
1352
+ opts)
1353
+
1354
+ @staticmethod
1355
+ def get(resource_name: str,
1356
+ id: pulumi.Input[str],
1357
+ opts: Optional[pulumi.ResourceOptions] = None,
1358
+ addon_node: Optional[pulumi.Input[Union['VmwareAdminClusterAddonNodeArgs', 'VmwareAdminClusterAddonNodeArgsDict']]] = None,
1359
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1360
+ anti_affinity_groups: Optional[pulumi.Input[Union['VmwareAdminClusterAntiAffinityGroupsArgs', 'VmwareAdminClusterAntiAffinityGroupsArgsDict']]] = None,
1361
+ authorization: Optional[pulumi.Input[Union['VmwareAdminClusterAuthorizationArgs', 'VmwareAdminClusterAuthorizationArgsDict']]] = None,
1362
+ auto_repair_config: Optional[pulumi.Input[Union['VmwareAdminClusterAutoRepairConfigArgs', 'VmwareAdminClusterAutoRepairConfigArgsDict']]] = None,
1363
+ bootstrap_cluster_membership: Optional[pulumi.Input[str]] = None,
1364
+ control_plane_node: Optional[pulumi.Input[Union['VmwareAdminClusterControlPlaneNodeArgs', 'VmwareAdminClusterControlPlaneNodeArgsDict']]] = None,
1365
+ create_time: Optional[pulumi.Input[str]] = None,
1366
+ description: Optional[pulumi.Input[str]] = None,
1367
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1368
+ endpoint: Optional[pulumi.Input[str]] = None,
1369
+ etag: Optional[pulumi.Input[str]] = None,
1370
+ fleets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VmwareAdminClusterFleetArgs', 'VmwareAdminClusterFleetArgsDict']]]]] = None,
1371
+ image_type: Optional[pulumi.Input[str]] = None,
1372
+ load_balancer: Optional[pulumi.Input[Union['VmwareAdminClusterLoadBalancerArgs', 'VmwareAdminClusterLoadBalancerArgsDict']]] = None,
1373
+ local_name: Optional[pulumi.Input[str]] = None,
1374
+ location: Optional[pulumi.Input[str]] = None,
1375
+ name: Optional[pulumi.Input[str]] = None,
1376
+ network_config: Optional[pulumi.Input[Union['VmwareAdminClusterNetworkConfigArgs', 'VmwareAdminClusterNetworkConfigArgsDict']]] = None,
1377
+ on_prem_version: Optional[pulumi.Input[str]] = None,
1378
+ platform_config: Optional[pulumi.Input[Union['VmwareAdminClusterPlatformConfigArgs', 'VmwareAdminClusterPlatformConfigArgsDict']]] = None,
1379
+ project: Optional[pulumi.Input[str]] = None,
1380
+ reconciling: Optional[pulumi.Input[bool]] = None,
1381
+ state: Optional[pulumi.Input[str]] = None,
1382
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VmwareAdminClusterStatusArgs', 'VmwareAdminClusterStatusArgsDict']]]]] = None,
1383
+ uid: Optional[pulumi.Input[str]] = None,
1384
+ update_time: Optional[pulumi.Input[str]] = None,
1385
+ vcenter: Optional[pulumi.Input[Union['VmwareAdminClusterVcenterArgs', 'VmwareAdminClusterVcenterArgsDict']]] = None) -> 'VmwareAdminCluster':
1386
+ """
1387
+ Get an existing VmwareAdminCluster resource's state with the given name, id, and optional extra
1388
+ properties used to qualify the lookup.
1389
+
1390
+ :param str resource_name: The unique name of the resulting resource.
1391
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1392
+ :param pulumi.ResourceOptions opts: Options for the resource.
1393
+ :param pulumi.Input[Union['VmwareAdminClusterAddonNodeArgs', 'VmwareAdminClusterAddonNodeArgsDict']] addon_node: The VMware admin cluster addon node configuration.
1394
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
1395
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
1396
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
1397
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
1398
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
1399
+ 'effective_annotations' for all of the annotations present on the resource.
1400
+ :param pulumi.Input[Union['VmwareAdminClusterAntiAffinityGroupsArgs', 'VmwareAdminClusterAntiAffinityGroupsArgsDict']] anti_affinity_groups: AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
1401
+ :param pulumi.Input[Union['VmwareAdminClusterAuthorizationArgs', 'VmwareAdminClusterAuthorizationArgsDict']] authorization: The VMware admin cluster authorization configuration.
1402
+ :param pulumi.Input[Union['VmwareAdminClusterAutoRepairConfigArgs', 'VmwareAdminClusterAutoRepairConfigArgsDict']] auto_repair_config: Configuration for auto repairing.
1403
+ :param pulumi.Input[str] bootstrap_cluster_membership: The bootstrap cluster this VMware admin cluster belongs to.
1404
+ :param pulumi.Input[Union['VmwareAdminClusterControlPlaneNodeArgs', 'VmwareAdminClusterControlPlaneNodeArgsDict']] control_plane_node: The VMware admin cluster control plane node configuration.
1405
+ :param pulumi.Input[str] create_time: The time the cluster was created, in RFC3339 text format.
1406
+ :param pulumi.Input[str] description: A human readable description of this VMware admin cluster.
1407
+ :param pulumi.Input[str] endpoint: The DNS name of VMware admin cluster's API server.
1408
+ :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other
1409
+ fields, and may be sent on update and delete requests to ensure the
1410
+ client has an up-to-date value before proceeding.
1411
+ Allows clients to perform consistent read-modify-writes
1412
+ through optimistic concurrency control.
1413
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VmwareAdminClusterFleetArgs', 'VmwareAdminClusterFleetArgsDict']]]] fleets: Fleet configuration for the cluster.
1414
+ Structure is documented below.
1415
+ :param pulumi.Input[str] image_type: The OS image type for the VMware admin cluster.
1416
+ :param pulumi.Input[Union['VmwareAdminClusterLoadBalancerArgs', 'VmwareAdminClusterLoadBalancerArgsDict']] load_balancer: Specifies the load balancer configuration for VMware admin cluster.
1417
+ :param pulumi.Input[str] local_name: The object name of the VMwareAdminCluster custom resource on the
1418
+ associated admin cluster. This field is used to support conflicting
1419
+ names when enrolling existing clusters to the API. When used as a part of
1420
+ cluster enrollment, this field will differ from the ID in the resource
1421
+ name. For new clusters, this field will match the user provided cluster ID
1422
+ and be visible in the last component of the resource name. It is not
1423
+ modifiable.
1424
+ All users should use this name to access their cluster using gkectl or
1425
+ kubectl and should expect to see the local name when viewing admin
1426
+ cluster controller logs.
1427
+ :param pulumi.Input[str] location: The location of the resource.
1428
+ :param pulumi.Input[str] name: The VMware admin cluster resource name.
1429
+ :param pulumi.Input[Union['VmwareAdminClusterNetworkConfigArgs', 'VmwareAdminClusterNetworkConfigArgsDict']] network_config: The VMware admin cluster network configuration.
1430
+ Structure is documented below.
1431
+ :param pulumi.Input[str] on_prem_version: The Anthos clusters on the VMware version for the admin cluster.
1432
+ :param pulumi.Input[Union['VmwareAdminClusterPlatformConfigArgs', 'VmwareAdminClusterPlatformConfigArgsDict']] platform_config: The VMware platform configuration.
1433
+ :param pulumi.Input[bool] reconciling: If set, there are currently changes in flight to the VMware admin cluster.
1434
+ :param pulumi.Input[str] state: (Output)
1435
+ The lifecycle state of the condition.
1436
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VmwareAdminClusterStatusArgs', 'VmwareAdminClusterStatusArgsDict']]]] statuses: ResourceStatus representing detailed cluster state.
1437
+ Structure is documented below.
1438
+ :param pulumi.Input[str] uid: The unique identifier of the VMware Admin Cluster.
1439
+ :param pulumi.Input[str] update_time: The time the cluster was last updated, in RFC3339 text format.
1440
+ :param pulumi.Input[Union['VmwareAdminClusterVcenterArgs', 'VmwareAdminClusterVcenterArgsDict']] vcenter: Specifies vCenter config for the admin cluster.
1441
+ """
1442
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1443
+
1444
+ __props__ = _VmwareAdminClusterState.__new__(_VmwareAdminClusterState)
1445
+
1446
+ __props__.__dict__["addon_node"] = addon_node
1447
+ __props__.__dict__["annotations"] = annotations
1448
+ __props__.__dict__["anti_affinity_groups"] = anti_affinity_groups
1449
+ __props__.__dict__["authorization"] = authorization
1450
+ __props__.__dict__["auto_repair_config"] = auto_repair_config
1451
+ __props__.__dict__["bootstrap_cluster_membership"] = bootstrap_cluster_membership
1452
+ __props__.__dict__["control_plane_node"] = control_plane_node
1453
+ __props__.__dict__["create_time"] = create_time
1454
+ __props__.__dict__["description"] = description
1455
+ __props__.__dict__["effective_annotations"] = effective_annotations
1456
+ __props__.__dict__["endpoint"] = endpoint
1457
+ __props__.__dict__["etag"] = etag
1458
+ __props__.__dict__["fleets"] = fleets
1459
+ __props__.__dict__["image_type"] = image_type
1460
+ __props__.__dict__["load_balancer"] = load_balancer
1461
+ __props__.__dict__["local_name"] = local_name
1462
+ __props__.__dict__["location"] = location
1463
+ __props__.__dict__["name"] = name
1464
+ __props__.__dict__["network_config"] = network_config
1465
+ __props__.__dict__["on_prem_version"] = on_prem_version
1466
+ __props__.__dict__["platform_config"] = platform_config
1467
+ __props__.__dict__["project"] = project
1468
+ __props__.__dict__["reconciling"] = reconciling
1469
+ __props__.__dict__["state"] = state
1470
+ __props__.__dict__["statuses"] = statuses
1471
+ __props__.__dict__["uid"] = uid
1472
+ __props__.__dict__["update_time"] = update_time
1473
+ __props__.__dict__["vcenter"] = vcenter
1474
+ return VmwareAdminCluster(resource_name, opts=opts, __props__=__props__)
1475
+
1476
+ @property
1477
+ @pulumi.getter(name="addonNode")
1478
+ def addon_node(self) -> pulumi.Output['outputs.VmwareAdminClusterAddonNode']:
1479
+ """
1480
+ The VMware admin cluster addon node configuration.
1481
+ """
1482
+ return pulumi.get(self, "addon_node")
1483
+
1484
+ @property
1485
+ @pulumi.getter
1486
+ def annotations(self) -> pulumi.Output[Mapping[str, str]]:
1487
+ """
1488
+ Annotations on the VMware Admin Cluster. This field has the same restrictions as Kubernetes annotations. The total size
1489
+ of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required),
1490
+ separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with
1491
+ alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is
1492
+ non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field
1493
+ 'effective_annotations' for all of the annotations present on the resource.
1494
+ """
1495
+ return pulumi.get(self, "annotations")
1496
+
1497
+ @property
1498
+ @pulumi.getter(name="antiAffinityGroups")
1499
+ def anti_affinity_groups(self) -> pulumi.Output['outputs.VmwareAdminClusterAntiAffinityGroups']:
1500
+ """
1501
+ AAGConfig specifies whether to spread VMware Admin Cluster nodes across at least three physical hosts in the datacenter.
1502
+ """
1503
+ return pulumi.get(self, "anti_affinity_groups")
1504
+
1505
+ @property
1506
+ @pulumi.getter
1507
+ def authorization(self) -> pulumi.Output[Optional['outputs.VmwareAdminClusterAuthorization']]:
1508
+ """
1509
+ The VMware admin cluster authorization configuration.
1510
+ """
1511
+ return pulumi.get(self, "authorization")
1512
+
1513
+ @property
1514
+ @pulumi.getter(name="autoRepairConfig")
1515
+ def auto_repair_config(self) -> pulumi.Output['outputs.VmwareAdminClusterAutoRepairConfig']:
1516
+ """
1517
+ Configuration for auto repairing.
1518
+ """
1519
+ return pulumi.get(self, "auto_repair_config")
1520
+
1521
+ @property
1522
+ @pulumi.getter(name="bootstrapClusterMembership")
1523
+ def bootstrap_cluster_membership(self) -> pulumi.Output[str]:
1524
+ """
1525
+ The bootstrap cluster this VMware admin cluster belongs to.
1526
+ """
1527
+ return pulumi.get(self, "bootstrap_cluster_membership")
1528
+
1529
+ @property
1530
+ @pulumi.getter(name="controlPlaneNode")
1531
+ def control_plane_node(self) -> pulumi.Output[Optional['outputs.VmwareAdminClusterControlPlaneNode']]:
1532
+ """
1533
+ The VMware admin cluster control plane node configuration.
1534
+ """
1535
+ return pulumi.get(self, "control_plane_node")
1536
+
1537
+ @property
1538
+ @pulumi.getter(name="createTime")
1539
+ def create_time(self) -> pulumi.Output[str]:
1540
+ """
1541
+ The time the cluster was created, in RFC3339 text format.
1542
+ """
1543
+ return pulumi.get(self, "create_time")
1544
+
1545
+ @property
1546
+ @pulumi.getter
1547
+ def description(self) -> pulumi.Output[str]:
1548
+ """
1549
+ A human readable description of this VMware admin cluster.
1550
+ """
1551
+ return pulumi.get(self, "description")
1552
+
1553
+ @property
1554
+ @pulumi.getter(name="effectiveAnnotations")
1555
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
1556
+ return pulumi.get(self, "effective_annotations")
1557
+
1558
+ @property
1559
+ @pulumi.getter
1560
+ def endpoint(self) -> pulumi.Output[str]:
1561
+ """
1562
+ The DNS name of VMware admin cluster's API server.
1563
+ """
1564
+ return pulumi.get(self, "endpoint")
1565
+
1566
+ @property
1567
+ @pulumi.getter
1568
+ def etag(self) -> pulumi.Output[str]:
1569
+ """
1570
+ This checksum is computed by the server based on the value of other
1571
+ fields, and may be sent on update and delete requests to ensure the
1572
+ client has an up-to-date value before proceeding.
1573
+ Allows clients to perform consistent read-modify-writes
1574
+ through optimistic concurrency control.
1575
+ """
1576
+ return pulumi.get(self, "etag")
1577
+
1578
+ @property
1579
+ @pulumi.getter
1580
+ def fleets(self) -> pulumi.Output[Sequence['outputs.VmwareAdminClusterFleet']]:
1581
+ """
1582
+ Fleet configuration for the cluster.
1583
+ Structure is documented below.
1584
+ """
1585
+ return pulumi.get(self, "fleets")
1586
+
1587
+ @property
1588
+ @pulumi.getter(name="imageType")
1589
+ def image_type(self) -> pulumi.Output[str]:
1590
+ """
1591
+ The OS image type for the VMware admin cluster.
1592
+ """
1593
+ return pulumi.get(self, "image_type")
1594
+
1595
+ @property
1596
+ @pulumi.getter(name="loadBalancer")
1597
+ def load_balancer(self) -> pulumi.Output[Optional['outputs.VmwareAdminClusterLoadBalancer']]:
1598
+ """
1599
+ Specifies the load balancer configuration for VMware admin cluster.
1600
+ """
1601
+ return pulumi.get(self, "load_balancer")
1602
+
1603
+ @property
1604
+ @pulumi.getter(name="localName")
1605
+ def local_name(self) -> pulumi.Output[str]:
1606
+ """
1607
+ The object name of the VMwareAdminCluster custom resource on the
1608
+ associated admin cluster. This field is used to support conflicting
1609
+ names when enrolling existing clusters to the API. When used as a part of
1610
+ cluster enrollment, this field will differ from the ID in the resource
1611
+ name. For new clusters, this field will match the user provided cluster ID
1612
+ and be visible in the last component of the resource name. It is not
1613
+ modifiable.
1614
+ All users should use this name to access their cluster using gkectl or
1615
+ kubectl and should expect to see the local name when viewing admin
1616
+ cluster controller logs.
1617
+ """
1618
+ return pulumi.get(self, "local_name")
1619
+
1620
+ @property
1621
+ @pulumi.getter
1622
+ def location(self) -> pulumi.Output[str]:
1623
+ """
1624
+ The location of the resource.
1625
+ """
1626
+ return pulumi.get(self, "location")
1627
+
1628
+ @property
1629
+ @pulumi.getter
1630
+ def name(self) -> pulumi.Output[str]:
1631
+ """
1632
+ The VMware admin cluster resource name.
1633
+ """
1634
+ return pulumi.get(self, "name")
1635
+
1636
+ @property
1637
+ @pulumi.getter(name="networkConfig")
1638
+ def network_config(self) -> pulumi.Output['outputs.VmwareAdminClusterNetworkConfig']:
1639
+ """
1640
+ The VMware admin cluster network configuration.
1641
+ Structure is documented below.
1642
+ """
1643
+ return pulumi.get(self, "network_config")
1644
+
1645
+ @property
1646
+ @pulumi.getter(name="onPremVersion")
1647
+ def on_prem_version(self) -> pulumi.Output[Optional[str]]:
1648
+ """
1649
+ The Anthos clusters on the VMware version for the admin cluster.
1650
+ """
1651
+ return pulumi.get(self, "on_prem_version")
1652
+
1653
+ @property
1654
+ @pulumi.getter(name="platformConfig")
1655
+ def platform_config(self) -> pulumi.Output[Optional['outputs.VmwareAdminClusterPlatformConfig']]:
1656
+ """
1657
+ The VMware platform configuration.
1658
+ """
1659
+ return pulumi.get(self, "platform_config")
1660
+
1661
+ @property
1662
+ @pulumi.getter
1663
+ def project(self) -> pulumi.Output[str]:
1664
+ return pulumi.get(self, "project")
1665
+
1666
+ @property
1667
+ @pulumi.getter
1668
+ def reconciling(self) -> pulumi.Output[bool]:
1669
+ """
1670
+ If set, there are currently changes in flight to the VMware admin cluster.
1671
+ """
1672
+ return pulumi.get(self, "reconciling")
1673
+
1674
+ @property
1675
+ @pulumi.getter
1676
+ def state(self) -> pulumi.Output[str]:
1677
+ """
1678
+ (Output)
1679
+ The lifecycle state of the condition.
1680
+ """
1681
+ return pulumi.get(self, "state")
1682
+
1683
+ @property
1684
+ @pulumi.getter
1685
+ def statuses(self) -> pulumi.Output[Sequence['outputs.VmwareAdminClusterStatus']]:
1686
+ """
1687
+ ResourceStatus representing detailed cluster state.
1688
+ Structure is documented below.
1689
+ """
1690
+ return pulumi.get(self, "statuses")
1691
+
1692
+ @property
1693
+ @pulumi.getter
1694
+ def uid(self) -> pulumi.Output[str]:
1695
+ """
1696
+ The unique identifier of the VMware Admin Cluster.
1697
+ """
1698
+ return pulumi.get(self, "uid")
1699
+
1700
+ @property
1701
+ @pulumi.getter(name="updateTime")
1702
+ def update_time(self) -> pulumi.Output[str]:
1703
+ """
1704
+ The time the cluster was last updated, in RFC3339 text format.
1705
+ """
1706
+ return pulumi.get(self, "update_time")
1707
+
1708
+ @property
1709
+ @pulumi.getter
1710
+ def vcenter(self) -> pulumi.Output[Optional['outputs.VmwareAdminClusterVcenter']]:
1711
+ """
1712
+ Specifies vCenter config for the admin cluster.
1713
+ """
1714
+ return pulumi.get(self, "vcenter")
1715
+