-
Notifications
You must be signed in to change notification settings - Fork 59
/
zz_nodepool_types.go
executable file
·437 lines (318 loc) · 22.9 KB
/
zz_nodepool_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// Code generated by upjet. DO NOT EDIT.
package v1beta2
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type AutoscalingInitParameters struct {
// Maximum number of nodes in the node pool. Must be >= min_node_count.
MaxNodeCount *float64 `json:"maxNodeCount,omitempty" tf:"max_node_count,omitempty"`
// Minimum number of nodes in the node pool. Must be >= 1 and <= max_node_count.
MinNodeCount *float64 `json:"minNodeCount,omitempty" tf:"min_node_count,omitempty"`
}
type AutoscalingObservation struct {
// Maximum number of nodes in the node pool. Must be >= min_node_count.
MaxNodeCount *float64 `json:"maxNodeCount,omitempty" tf:"max_node_count,omitempty"`
// Minimum number of nodes in the node pool. Must be >= 1 and <= max_node_count.
MinNodeCount *float64 `json:"minNodeCount,omitempty" tf:"min_node_count,omitempty"`
}
type AutoscalingParameters struct {
// Maximum number of nodes in the node pool. Must be >= min_node_count.
// +kubebuilder:validation:Optional
MaxNodeCount *float64 `json:"maxNodeCount" tf:"max_node_count,omitempty"`
// Minimum number of nodes in the node pool. Must be >= 1 and <= max_node_count.
// +kubebuilder:validation:Optional
MinNodeCount *float64 `json:"minNodeCount" tf:"min_node_count,omitempty"`
}
type ConfigInitParameters struct {
// Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
// +mapType=granular
Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`
// Proxy configuration for outbound HTTP(S) traffic.
ProxyConfig *ConfigProxyConfigInitParameters `json:"proxyConfig,omitempty" tf:"proxy_config,omitempty"`
// Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
RootVolume *ConfigRootVolumeInitParameters `json:"rootVolume,omitempty" tf:"root_volume,omitempty"`
// SSH configuration for how to access the node pool machines.
SSHConfig *ConfigSSHConfigInitParameters `json:"sshConfig,omitempty" tf:"ssh_config,omitempty"`
// Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
// +mapType=granular
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Optional. The Azure VM size name. Example: Standard_DS2_v2. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to Standard_DS2_v2.
VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`
}
type ConfigObservation struct {
// Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
// +mapType=granular
Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`
// Proxy configuration for outbound HTTP(S) traffic.
ProxyConfig *ConfigProxyConfigObservation `json:"proxyConfig,omitempty" tf:"proxy_config,omitempty"`
// Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
RootVolume *ConfigRootVolumeObservation `json:"rootVolume,omitempty" tf:"root_volume,omitempty"`
// SSH configuration for how to access the node pool machines.
SSHConfig *ConfigSSHConfigObservation `json:"sshConfig,omitempty" tf:"ssh_config,omitempty"`
// Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
// +mapType=granular
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Optional. The Azure VM size name. Example: Standard_DS2_v2. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to Standard_DS2_v2.
VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`
}
type ConfigParameters struct {
// Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
// +kubebuilder:validation:Optional
// +mapType=granular
Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`
// Proxy configuration for outbound HTTP(S) traffic.
// +kubebuilder:validation:Optional
ProxyConfig *ConfigProxyConfigParameters `json:"proxyConfig,omitempty" tf:"proxy_config,omitempty"`
// Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
// +kubebuilder:validation:Optional
RootVolume *ConfigRootVolumeParameters `json:"rootVolume,omitempty" tf:"root_volume,omitempty"`
// SSH configuration for how to access the node pool machines.
// +kubebuilder:validation:Optional
SSHConfig *ConfigSSHConfigParameters `json:"sshConfig" tf:"ssh_config,omitempty"`
// Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
// +kubebuilder:validation:Optional
// +mapType=granular
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Optional. The Azure VM size name. Example: Standard_DS2_v2. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to Standard_DS2_v2.
// +kubebuilder:validation:Optional
VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`
}
type ConfigProxyConfigInitParameters struct {
// The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>
ResourceGroupID *string `json:"resourceGroupId,omitempty" tf:"resource_group_id,omitempty"`
// The URL the of the proxy setting secret with its version. Secret ids are formatted as https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>.
SecretID *string `json:"secretId,omitempty" tf:"secret_id,omitempty"`
}
type ConfigProxyConfigObservation struct {
// The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>
ResourceGroupID *string `json:"resourceGroupId,omitempty" tf:"resource_group_id,omitempty"`
// The URL the of the proxy setting secret with its version. Secret ids are formatted as https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>.
SecretID *string `json:"secretId,omitempty" tf:"secret_id,omitempty"`
}
type ConfigProxyConfigParameters struct {
// The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>
// +kubebuilder:validation:Optional
ResourceGroupID *string `json:"resourceGroupId" tf:"resource_group_id,omitempty"`
// The URL the of the proxy setting secret with its version. Secret ids are formatted as https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>.
// +kubebuilder:validation:Optional
SecretID *string `json:"secretId" tf:"secret_id,omitempty"`
}
type ConfigRootVolumeInitParameters struct {
// Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
SizeGib *float64 `json:"sizeGib,omitempty" tf:"size_gib,omitempty"`
}
type ConfigRootVolumeObservation struct {
// Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
SizeGib *float64 `json:"sizeGib,omitempty" tf:"size_gib,omitempty"`
}
type ConfigRootVolumeParameters struct {
// Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
// +kubebuilder:validation:Optional
SizeGib *float64 `json:"sizeGib,omitempty" tf:"size_gib,omitempty"`
}
type ConfigSSHConfigInitParameters struct {
// The SSH public key data for VMs managed by Anthos. This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page.
AuthorizedKey *string `json:"authorizedKey,omitempty" tf:"authorized_key,omitempty"`
}
type ConfigSSHConfigObservation struct {
// The SSH public key data for VMs managed by Anthos. This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page.
AuthorizedKey *string `json:"authorizedKey,omitempty" tf:"authorized_key,omitempty"`
}
type ConfigSSHConfigParameters struct {
// The SSH public key data for VMs managed by Anthos. This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page.
// +kubebuilder:validation:Optional
AuthorizedKey *string `json:"authorizedKey" tf:"authorized_key,omitempty"`
}
type ManagementInitParameters struct {
// Optional. Whether or not the nodes will be automatically repaired.
AutoRepair *bool `json:"autoRepair,omitempty" tf:"auto_repair,omitempty"`
}
type ManagementObservation struct {
// Optional. Whether or not the nodes will be automatically repaired.
AutoRepair *bool `json:"autoRepair,omitempty" tf:"auto_repair,omitempty"`
}
type ManagementParameters struct {
// Optional. Whether or not the nodes will be automatically repaired.
// +kubebuilder:validation:Optional
AutoRepair *bool `json:"autoRepair,omitempty" tf:"auto_repair,omitempty"`
}
type MaxPodsConstraintInitParameters struct {
// The maximum number of pods to schedule on a single node.
MaxPodsPerNode *float64 `json:"maxPodsPerNode,omitempty" tf:"max_pods_per_node,omitempty"`
}
type MaxPodsConstraintObservation struct {
// The maximum number of pods to schedule on a single node.
MaxPodsPerNode *float64 `json:"maxPodsPerNode,omitempty" tf:"max_pods_per_node,omitempty"`
}
type MaxPodsConstraintParameters struct {
// The maximum number of pods to schedule on a single node.
// +kubebuilder:validation:Optional
MaxPodsPerNode *float64 `json:"maxPodsPerNode" tf:"max_pods_per_node,omitempty"`
}
type NodePoolInitParameters struct {
// Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix and name , separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
// +mapType=granular
Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"`
// Autoscaler configuration for this node pool.
Autoscaling *AutoscalingInitParameters `json:"autoscaling,omitempty" tf:"autoscaling,omitempty"`
// Optional. The Azure availability zone of the nodes in this nodepool. When unspecified, it defaults to 1.
AzureAvailabilityZone *string `json:"azureAvailabilityZone,omitempty" tf:"azure_availability_zone,omitempty"`
// The node configuration of the node pool.
Config *ConfigInitParameters `json:"config,omitempty" tf:"config,omitempty"`
// The Management configuration for this node pool.
Management *ManagementInitParameters `json:"management,omitempty" tf:"management,omitempty"`
// The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.
MaxPodsConstraint *MaxPodsConstraintInitParameters `json:"maxPodsConstraint,omitempty" tf:"max_pods_constraint,omitempty"`
// The project for the resource
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// The ARM ID of the subnet where the node pool VMs run. Make sure it's a subnet under the virtual network in the cluster configuration.
SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
// The Kubernetes version (e.g. 1.19.10-gke.1000) running on this node pool.
Version *string `json:"version,omitempty" tf:"version,omitempty"`
}
type NodePoolObservation struct {
// Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix and name , separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
// +mapType=granular
Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"`
// Autoscaler configuration for this node pool.
Autoscaling *AutoscalingObservation `json:"autoscaling,omitempty" tf:"autoscaling,omitempty"`
// Optional. The Azure availability zone of the nodes in this nodepool. When unspecified, it defaults to 1.
AzureAvailabilityZone *string `json:"azureAvailabilityZone,omitempty" tf:"azure_availability_zone,omitempty"`
// The azureCluster for the resource
Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"`
// The node configuration of the node pool.
Config *ConfigObservation `json:"config,omitempty" tf:"config,omitempty"`
// Output only. The time at which this node pool was created.
CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`
// +mapType=granular
EffectiveAnnotations map[string]*string `json:"effectiveAnnotations,omitempty" tf:"effective_annotations,omitempty"`
// Allows clients to perform consistent read-modify-writes through optimistic concurrency control. May be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`
// an identifier for the resource with format projects/{{project}}/locations/{{location}}/azureClusters/{{cluster}}/azureNodePools/{{name}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The location for the resource
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// The Management configuration for this node pool.
Management *ManagementObservation `json:"management,omitempty" tf:"management,omitempty"`
// The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.
MaxPodsConstraint *MaxPodsConstraintObservation `json:"maxPodsConstraint,omitempty" tf:"max_pods_constraint,omitempty"`
// The project for the resource
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// Output only. If set, there are currently pending changes to the node pool.
Reconciling *bool `json:"reconciling,omitempty" tf:"reconciling,omitempty"`
// Output only. The current state of the node pool. Possible values: STATE_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING, STOPPING, ERROR, DEGRADED
State *string `json:"state,omitempty" tf:"state,omitempty"`
// The ARM ID of the subnet where the node pool VMs run. Make sure it's a subnet under the virtual network in the cluster configuration.
SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
// Output only. A globally unique identifier for the node pool.
UID *string `json:"uid,omitempty" tf:"uid,omitempty"`
// Output only. The time at which this node pool was last updated.
UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"`
// The Kubernetes version (e.g. 1.19.10-gke.1000) running on this node pool.
Version *string `json:"version,omitempty" tf:"version,omitempty"`
}
type NodePoolParameters struct {
// Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix and name , separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
// +kubebuilder:validation:Optional
// +mapType=granular
Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"`
// Autoscaler configuration for this node pool.
// +kubebuilder:validation:Optional
Autoscaling *AutoscalingParameters `json:"autoscaling,omitempty" tf:"autoscaling,omitempty"`
// Optional. The Azure availability zone of the nodes in this nodepool. When unspecified, it defaults to 1.
// +kubebuilder:validation:Optional
AzureAvailabilityZone *string `json:"azureAvailabilityZone,omitempty" tf:"azure_availability_zone,omitempty"`
// The azureCluster for the resource
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/containerazure/v1beta2.Cluster
// +kubebuilder:validation:Optional
Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"`
// Reference to a Cluster in containerazure to populate cluster.
// +kubebuilder:validation:Optional
ClusterRef *v1.Reference `json:"clusterRef,omitempty" tf:"-"`
// Selector for a Cluster in containerazure to populate cluster.
// +kubebuilder:validation:Optional
ClusterSelector *v1.Selector `json:"clusterSelector,omitempty" tf:"-"`
// The node configuration of the node pool.
// +kubebuilder:validation:Optional
Config *ConfigParameters `json:"config,omitempty" tf:"config,omitempty"`
// The location for the resource
// +kubebuilder:validation:Required
Location *string `json:"location" tf:"location,omitempty"`
// The Management configuration for this node pool.
// +kubebuilder:validation:Optional
Management *ManagementParameters `json:"management,omitempty" tf:"management,omitempty"`
// The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.
// +kubebuilder:validation:Optional
MaxPodsConstraint *MaxPodsConstraintParameters `json:"maxPodsConstraint,omitempty" tf:"max_pods_constraint,omitempty"`
// The project for the resource
// +kubebuilder:validation:Optional
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// The ARM ID of the subnet where the node pool VMs run. Make sure it's a subnet under the virtual network in the cluster configuration.
// +kubebuilder:validation:Optional
SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
// The Kubernetes version (e.g. 1.19.10-gke.1000) running on this node pool.
// +kubebuilder:validation:Optional
Version *string `json:"version,omitempty" tf:"version,omitempty"`
}
// NodePoolSpec defines the desired state of NodePool
type NodePoolSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider NodePoolParameters `json:"forProvider"`
// THIS IS A BETA FIELD. It will be honored
// unless the Management Policies feature flag is disabled.
// InitProvider holds the same fields as ForProvider, with the exception
// of Identifier and other resource reference fields. The fields that are
// in InitProvider are merged into ForProvider when the resource is created.
// The same fields are also added to the terraform ignore_changes hook, to
// avoid updating them after creation. This is useful for fields that are
// required on creation, but we do not desire to update them after creation,
// for example because of an external controller is managing them, like an
// autoscaler.
InitProvider NodePoolInitParameters `json:"initProvider,omitempty"`
}
// NodePoolStatus defines the observed state of NodePool.
type NodePoolStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider NodePoolObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// NodePool is the Schema for the NodePools API. An Anthos node pool running on Azure.
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}
type NodePool struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.autoscaling) || (has(self.initProvider) && has(self.initProvider.autoscaling))",message="spec.forProvider.autoscaling is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.config) || (has(self.initProvider) && has(self.initProvider.config))",message="spec.forProvider.config is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.maxPodsConstraint) || (has(self.initProvider) && has(self.initProvider.maxPodsConstraint))",message="spec.forProvider.maxPodsConstraint is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.subnetId) || (has(self.initProvider) && has(self.initProvider.subnetId))",message="spec.forProvider.subnetId is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.version) || (has(self.initProvider) && has(self.initProvider.version))",message="spec.forProvider.version is a required parameter"
Spec NodePoolSpec `json:"spec"`
Status NodePoolStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// NodePoolList contains a list of NodePools
type NodePoolList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NodePool `json:"items"`
}
// Repository type metadata.
var (
NodePool_Kind = "NodePool"
NodePool_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NodePool_Kind}.String()
NodePool_KindAPIVersion = NodePool_Kind + "." + CRDGroupVersion.String()
NodePool_GroupVersionKind = CRDGroupVersion.WithKind(NodePool_Kind)
)
func init() {
SchemeBuilder.Register(&NodePool{}, &NodePoolList{})
}