generated from crossplane-contrib/provider-jet-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
zz_nodepool_types.go
executable file
·449 lines (334 loc) · 21.5 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
438
439
440
441
442
443
444
445
446
447
448
449
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by terrajet. DO NOT EDIT.
package v1alpha1
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 AutoScalingConfigDataDiskObservation struct {
}
type AutoScalingConfigDataDiskParameters struct {
// Indicates whether the disk remove after instance terminated. Default is `false`.
// +kubebuilder:validation:Optional
DeleteWithInstance *bool `json:"deleteWithInstance,omitempty" tf:"delete_with_instance,omitempty"`
// Volume of disk in GB. Default is `0`.
// +kubebuilder:validation:Optional
DiskSize *float64 `json:"diskSize,omitempty" tf:"disk_size,omitempty"`
// Types of disk. Valid value: `CLOUD_PREMIUM` and `CLOUD_SSD`.
// +kubebuilder:validation:Optional
DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`
// Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided.
// +kubebuilder:validation:Optional
Encrypt *bool `json:"encrypt,omitempty" tf:"encrypt,omitempty"`
// Data disk snapshot ID.
// +kubebuilder:validation:Optional
SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`
// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `data_size` > 460GB.
// +kubebuilder:validation:Optional
ThroughputPerformance *float64 `json:"throughputPerformance,omitempty" tf:"throughput_performance,omitempty"`
}
type AutoScalingConfigObservation struct {
}
type AutoScalingConfigParameters struct {
// Backup CVM instance types if specified instance type sold out or mismatch.
// +kubebuilder:validation:Optional
BackupInstanceTypes []*string `json:"backupInstanceTypes,omitempty" tf:"backup_instance_types,omitempty"`
// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
// +kubebuilder:validation:Optional
BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`
// Name of cam role.
// +kubebuilder:validation:Optional
CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`
// Configurations of data disk.
// +kubebuilder:validation:Optional
DataDisk []AutoScalingConfigDataDiskParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`
// To specify whether to enable cloud monitor service. Default is TRUE.
// +kubebuilder:validation:Optional
EnhancedMonitorService *bool `json:"enhancedMonitorService,omitempty" tf:"enhanced_monitor_service,omitempty"`
// To specify whether to enable cloud security service. Default is TRUE.
// +kubebuilder:validation:Optional
EnhancedSecurityService *bool `json:"enhancedSecurityService,omitempty" tf:"enhanced_security_service,omitempty"`
// The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001.
// +kubebuilder:validation:Optional
HostName *string `json:"hostName,omitempty" tf:"host_name,omitempty"`
// The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001.
// +kubebuilder:validation:Optional
HostNameStyle *string `json:"hostNameStyle,omitempty" tf:"host_name_style,omitempty"`
// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time.
// +kubebuilder:validation:Optional
InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`
// The tenancy (in month) of the prepaid instance, NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`.
// +kubebuilder:validation:Optional
InstanceChargeTypePrepaidPeriod *float64 `json:"instanceChargeTypePrepaidPeriod,omitempty" tf:"instance_charge_type_prepaid_period,omitempty"`
// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`.
// +kubebuilder:validation:Optional
InstanceChargeTypePrepaidRenewFlag *string `json:"instanceChargeTypePrepaidRenewFlag,omitempty" tf:"instance_charge_type_prepaid_renew_flag,omitempty"`
// Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001.
// +kubebuilder:validation:Optional
InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`
// Specified types of CVM instance.
// +kubebuilder:validation:Required
InstanceType *string `json:"instanceType" tf:"instance_type,omitempty"`
// Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.
// +kubebuilder:validation:Optional
InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`
// Max bandwidth of Internet access in Mbps. Default is `0`.
// +kubebuilder:validation:Optional
InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`
// ID list of keys.
// +kubebuilder:validation:Optional
KeyIds []*string `json:"keyIds,omitempty" tf:"key_ids,omitempty"`
// Ordered security groups to which a CVM instance belongs.
// +kubebuilder:validation:Optional
OrderlySecurityGroupIds []*string `json:"orderlySecurityGroupIds,omitempty" tf:"orderly_security_group_ids,omitempty"`
// Password to access.
// +kubebuilder:validation:Optional
PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`
// Specify whether to assign an Internet IP address.
// +kubebuilder:validation:Optional
PublicIPAssigned *bool `json:"publicIpAssigned,omitempty" tf:"public_ip_assigned,omitempty"`
// (**Deprecated**) The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead. Security groups to which a CVM instance belongs.
// +kubebuilder:validation:Optional
SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`
// Type of spot instance, only support `one-time` now. Note: it only works when instance_charge_type is set to `SPOTPAID`.
// +kubebuilder:validation:Optional
SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`
// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`.
// +kubebuilder:validation:Optional
SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`
// Volume of system disk in GB. Default is `50`.
// +kubebuilder:validation:Optional
SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`
// Type of a CVM disk. Valid value: `CLOUD_PREMIUM` and `CLOUD_SSD`. Default is `CLOUD_PREMIUM`.
// +kubebuilder:validation:Optional
SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`
}
type NodeConfigDataDiskObservation struct {
}
type NodeConfigDataDiskParameters struct {
// Indicate whether to auto format and mount or not. Default is `false`.
// +kubebuilder:validation:Optional
AutoFormatAndMount *bool `json:"autoFormatAndMount,omitempty" tf:"auto_format_and_mount,omitempty"`
// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error.
// +kubebuilder:validation:Optional
DiskPartition *string `json:"diskPartition,omitempty" tf:"disk_partition,omitempty"`
// Volume of disk in GB. Default is `0`.
// +kubebuilder:validation:Optional
DiskSize *float64 `json:"diskSize,omitempty" tf:"disk_size,omitempty"`
// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD`.
// +kubebuilder:validation:Optional
DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`
// File system, e.g. `ext3/ext4/xfs`.
// +kubebuilder:validation:Optional
FileSystem *string `json:"fileSystem,omitempty" tf:"file_system,omitempty"`
// Mount target.
// +kubebuilder:validation:Optional
MountTarget *string `json:"mountTarget,omitempty" tf:"mount_target,omitempty"`
}
type NodeConfigGpuArgsObservation struct {
}
type NodeConfigGpuArgsParameters struct {
// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA.
// +kubebuilder:validation:Optional
Cuda map[string]*string `json:"cuda,omitempty" tf:"cuda,omitempty"`
// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN.
// +kubebuilder:validation:Optional
Cudnn map[string]*string `json:"cudnn,omitempty" tf:"cudnn,omitempty"`
// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address.
// +kubebuilder:validation:Optional
CustomDriver map[string]*string `json:"customDriver,omitempty" tf:"custom_driver,omitempty"`
// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA.
// +kubebuilder:validation:Optional
Driver map[string]*string `json:"driver,omitempty" tf:"driver,omitempty"`
// Whether to enable MIG.
// +kubebuilder:validation:Optional
MigEnable *bool `json:"migEnable,omitempty" tf:"mig_enable,omitempty"`
}
type NodeConfigObservation struct {
}
type NodeConfigParameters struct {
// Configurations of data disk.
// +kubebuilder:validation:Optional
DataDisk []NodeConfigDataDiskParameters `json:"dataDisk,omitempty" tf:"data_disk,omitempty"`
// Indicate to set desired pod number in node. valid when the cluster is podCIDR.
// +kubebuilder:validation:Optional
DesiredPodNum *float64 `json:"desiredPodNum,omitempty" tf:"desired_pod_num,omitempty"`
// Docker graph path. Default is `/var/lib/docker`.
// +kubebuilder:validation:Optional
DockerGraphPath *string `json:"dockerGraphPath,omitempty" tf:"docker_graph_path,omitempty"`
// Custom parameter information related to the node. This is a white-list parameter.
// +kubebuilder:validation:Optional
ExtraArgs []*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"`
// GPU driver parameters.
// +kubebuilder:validation:Optional
GpuArgs []NodeConfigGpuArgsParameters `json:"gpuArgs,omitempty" tf:"gpu_args,omitempty"`
// Indicate to schedule the adding node or not. Default is true.
// +kubebuilder:validation:Optional
IsSchedule *bool `json:"isSchedule,omitempty" tf:"is_schedule,omitempty"`
// Mount target. Default is not mounting.
// +kubebuilder:validation:Optional
MountTarget *string `json:"mountTarget,omitempty" tf:"mount_target,omitempty"`
// Base64-encoded User Data text, the length limit is 16KB.
// +kubebuilder:validation:Optional
UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}
type NodePoolObservation struct {
AutoScalingGroupID *string `json:"autoScalingGroupId,omitempty" tf:"auto_scaling_group_id,omitempty"`
AutoscalingAddedTotal *float64 `json:"autoscalingAddedTotal,omitempty" tf:"autoscaling_added_total,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
LaunchConfigID *string `json:"launchConfigId,omitempty" tf:"launch_config_id,omitempty"`
ManuallyAddedTotal *float64 `json:"manuallyAddedTotal,omitempty" tf:"manually_added_total,omitempty"`
NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`
Status *string `json:"status,omitempty" tf:"status,omitempty"`
}
type NodePoolParameters struct {
// Auto scaling config parameters.
// +kubebuilder:validation:Required
AutoScalingConfig []AutoScalingConfigParameters `json:"autoScalingConfig" tf:"auto_scaling_config,omitempty"`
// ID of the cluster.
// +kubebuilder:validation:Required
ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"`
// Seconds of scaling group cool down. Default value is `300`.
// +kubebuilder:validation:Optional
DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"`
// Indicate to keep the CVM instance when delete the node pool. Default is `true`.
// +kubebuilder:validation:Optional
DeleteKeepInstance *bool `json:"deleteKeepInstance,omitempty" tf:"delete_keep_instance,omitempty"`
// Indicates whether the node pool deletion protection is enabled.
// +kubebuilder:validation:Optional
DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`
// Desired capacity of the node. If `enable_auto_scale` is set `true`, this will be a computed parameter.
// +kubebuilder:validation:Optional
DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"`
// Indicate whether to enable auto scaling or not.
// +kubebuilder:validation:Optional
EnableAutoScale *bool `json:"enableAutoScale,omitempty" tf:"enable_auto_scale,omitempty"`
// Labels of kubernetes node pool created nodes. The label key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/').
// +kubebuilder:validation:Optional
Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`
// Maximum number of node.
// +kubebuilder:validation:Required
MaxSize *float64 `json:"maxSize" tf:"max_size,omitempty"`
// Minimum number of node.
// +kubebuilder:validation:Required
MinSize *float64 `json:"minSize" tf:"min_size,omitempty"`
// Multi-availability zone/subnet policy. Valid values: PRIORITY and EQUALITY. Default value: PRIORITY.
// +kubebuilder:validation:Optional
MultiZoneSubnetPolicy *string `json:"multiZoneSubnetPolicy,omitempty" tf:"multi_zone_subnet_policy,omitempty"`
// Name of the node pool. The name does not exceed 25 characters, and only supports Chinese, English, numbers, underscores, separators (`-`) and decimal points.
// +kubebuilder:validation:Required
Name *string `json:"name" tf:"name,omitempty"`
// Node config.
// +kubebuilder:validation:Optional
NodeConfig []NodeConfigParameters `json:"nodeConfig,omitempty" tf:"node_config,omitempty"`
// Operating system of the cluster. Please refer to [TencentCloud Documentation](https://www.tencentcloud.com/document/product/457/46750?lang=en&pg=#list-of-public-images-supported-by-tke) for available values. Default is 'tlinux2.4x86_64'. This parameter will only affect new nodes, not including the existing nodes.
// +kubebuilder:validation:Optional
NodeOs *string `json:"nodeOs,omitempty" tf:"node_os,omitempty"`
// The image version of the node. Valida values are `DOCKER_CUSTOMIZE` and `GENERAL`. Default is `GENERAL`. This parameter will only affect new nodes, not including the existing nodes.
// +kubebuilder:validation:Optional
NodeOsType *string `json:"nodeOsType,omitempty" tf:"node_os_type,omitempty"`
// Available values for retry policies include `IMMEDIATE_RETRY` and `INCREMENTAL_INTERVALS`.
// +kubebuilder:validation:Optional
RetryPolicy *string `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`
// Name of relative scaling group.
// +kubebuilder:validation:Optional
ScalingGroupName *string `json:"scalingGroupName,omitempty" tf:"scaling_group_name,omitempty"`
// Project ID the scaling group belongs to.
// +kubebuilder:validation:Optional
ScalingGroupProjectID *float64 `json:"scalingGroupProjectId,omitempty" tf:"scaling_group_project_id,omitempty"`
// Auto scaling mode. Valid values are `CLASSIC_SCALING`(scaling by create/destroy instances), `WAKE_UP_STOPPED_SCALING`(Boot priority for expansion. When expanding the capacity, the shutdown operation is given priority to the shutdown of the instance. If the number of instances is still lower than the expected number of instances after the startup, the instance will be created, and the method of destroying the instance will still be used for shrinking).
// +kubebuilder:validation:Optional
ScalingMode *string `json:"scalingMode,omitempty" tf:"scaling_mode,omitempty"`
// ID list of subnet, and for VPC it is required.
// +kubebuilder:validation:Optional
SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`
// Node pool tag specifications, will passthroughs to the scaling instances.
// +kubebuilder:validation:Optional
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Taints of kubernetes node pool created nodes.
// +kubebuilder:validation:Optional
Taints []TaintsParameters `json:"taints,omitempty" tf:"taints,omitempty"`
// Policy of scaling group termination. Available values: `["OLDEST_INSTANCE"]`, `["NEWEST_INSTANCE"]`.
// +kubebuilder:validation:Optional
TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"`
// Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling.
// +kubebuilder:validation:Optional
Unschedulable *float64 `json:"unschedulable,omitempty" tf:"unschedulable,omitempty"`
// ID of VPC network.
// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.VPC
// +kubebuilder:validation:Optional
VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`
// +kubebuilder:validation:Optional
VPCIDRef *v1.Reference `json:"vpcidRef,omitempty" tf:"-"`
// +kubebuilder:validation:Optional
VPCIDSelector *v1.Selector `json:"vpcidSelector,omitempty" tf:"-"`
// List of auto scaling group available zones, for Basic network it is required.
// +kubebuilder:validation:Optional
Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}
type TaintsObservation struct {
}
type TaintsParameters struct {
// Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`.
// +kubebuilder:validation:Required
Effect *string `json:"effect" tf:"effect,omitempty"`
// Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/').
// +kubebuilder:validation:Required
Key *string `json:"key" tf:"key,omitempty"`
// Value of the taint.
// +kubebuilder:validation:Required
Value *string `json:"value" tf:"value,omitempty"`
}
// NodePoolSpec defines the desired state of NodePool
type NodePoolSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider NodePoolParameters `json:"forProvider"`
}
// NodePoolStatus defines the observed state of NodePool.
type NodePoolStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider NodePoolObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// NodePool is the Schema for the NodePools API
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,tencentcloudjet}
type NodePool struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
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{})
}