-
Notifications
You must be signed in to change notification settings - Fork 69
/
zz_cluster_types.go
executable file
·450 lines (326 loc) · 26.6 KB
/
zz_cluster_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
450
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
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 ClusterInitParameters struct {
// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
AllowedFqdns []*string `json:"allowedFqdns,omitempty" tf:"allowed_fqdns,omitempty"`
// The list of ips in the format of CIDR allowed to connect to the cluster.
AllowedIPRanges []*string `json:"allowedIpRanges,omitempty" tf:"allowed_ip_ranges,omitempty"`
// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to true.
AutoStopEnabled *bool `json:"autoStopEnabled,omitempty" tf:"auto_stop_enabled,omitempty"`
// Specifies if the cluster's disks are encrypted.
DiskEncryptionEnabled *bool `json:"diskEncryptionEnabled,omitempty" tf:"disk_encryption_enabled,omitempty"`
// Is the cluster's double encryption enabled? Changing this forces a new resource to be created.
DoubleEncryptionEnabled *bool `json:"doubleEncryptionEnabled,omitempty" tf:"double_encryption_enabled,omitempty"`
// . The engine type that will be used in the backend. Possible values are V2 and V3. Defaults to V2. Changing this forces a new Kusto Cluster to be created.
Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`
// An identity block as defined below.
Identity []IdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`
// An list of language_extensions to enable. Valid values are: PYTHON and R.
LanguageExtensions []*string `json:"languageExtensions,omitempty" tf:"language_extensions,omitempty"`
// The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// An optimized_auto_scale block as defined below.
OptimizedAutoScale []OptimizedAutoScaleInitParameters `json:"optimizedAutoScale,omitempty" tf:"optimized_auto_scale,omitempty"`
// Whether to restrict outbound network access. Value is optional but if passed in, must be true or false, default is false.
OutboundNetworkAccessRestricted *bool `json:"outboundNetworkAccessRestricted,omitempty" tf:"outbound_network_access_restricted,omitempty"`
// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6).
PublicIPType *string `json:"publicIpType,omitempty" tf:"public_ip_type,omitempty"`
// Is the public network access enabled? Defaults to true.
PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`
// Specifies if the purge operations are enabled.
PurgeEnabled *bool `json:"purgeEnabled,omitempty" tf:"purge_enabled,omitempty"`
// A sku block as defined below.
Sku []SkuInitParameters `json:"sku,omitempty" tf:"sku,omitempty"`
// Specifies if the streaming ingest is enabled.
StreamingIngestionEnabled *bool `json:"streamingIngestionEnabled,omitempty" tf:"streaming_ingestion_enabled,omitempty"`
// A mapping of tags to assign to the resource.
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use trusted_external_tenants = ["*"] to explicitly allow all other tenants, trusted_external_tenants = ["MyTenantOnly"] for only your tenant or trusted_external_tenants = ["<tenantId1>", "<tenantIdx>"] to allow specific other tenants.
TrustedExternalTenants []*string `json:"trustedExternalTenants,omitempty" tf:"trusted_external_tenants,omitempty"`
// A virtual_network_configuration block as defined below. Changing this forces a new resource to be created.
VirtualNetworkConfiguration []VirtualNetworkConfigurationInitParameters `json:"virtualNetworkConfiguration,omitempty" tf:"virtual_network_configuration,omitempty"`
// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}
type ClusterObservation struct {
// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
AllowedFqdns []*string `json:"allowedFqdns,omitempty" tf:"allowed_fqdns,omitempty"`
// The list of ips in the format of CIDR allowed to connect to the cluster.
AllowedIPRanges []*string `json:"allowedIpRanges,omitempty" tf:"allowed_ip_ranges,omitempty"`
// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to true.
AutoStopEnabled *bool `json:"autoStopEnabled,omitempty" tf:"auto_stop_enabled,omitempty"`
// The Kusto Cluster URI to be used for data ingestion.
DataIngestionURI *string `json:"dataIngestionUri,omitempty" tf:"data_ingestion_uri,omitempty"`
// Specifies if the cluster's disks are encrypted.
DiskEncryptionEnabled *bool `json:"diskEncryptionEnabled,omitempty" tf:"disk_encryption_enabled,omitempty"`
// Is the cluster's double encryption enabled? Changing this forces a new resource to be created.
DoubleEncryptionEnabled *bool `json:"doubleEncryptionEnabled,omitempty" tf:"double_encryption_enabled,omitempty"`
// . The engine type that will be used in the backend. Possible values are V2 and V3. Defaults to V2. Changing this forces a new Kusto Cluster to be created.
Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`
// The Kusto Cluster ID.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// An identity block as defined below.
Identity []IdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`
// An list of language_extensions to enable. Valid values are: PYTHON and R.
LanguageExtensions []*string `json:"languageExtensions,omitempty" tf:"language_extensions,omitempty"`
// The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// An optimized_auto_scale block as defined below.
OptimizedAutoScale []OptimizedAutoScaleObservation `json:"optimizedAutoScale,omitempty" tf:"optimized_auto_scale,omitempty"`
// Whether to restrict outbound network access. Value is optional but if passed in, must be true or false, default is false.
OutboundNetworkAccessRestricted *bool `json:"outboundNetworkAccessRestricted,omitempty" tf:"outbound_network_access_restricted,omitempty"`
// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6).
PublicIPType *string `json:"publicIpType,omitempty" tf:"public_ip_type,omitempty"`
// Is the public network access enabled? Defaults to true.
PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`
// Specifies if the purge operations are enabled.
PurgeEnabled *bool `json:"purgeEnabled,omitempty" tf:"purge_enabled,omitempty"`
// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`
// A sku block as defined below.
Sku []SkuObservation `json:"sku,omitempty" tf:"sku,omitempty"`
// Specifies if the streaming ingest is enabled.
StreamingIngestionEnabled *bool `json:"streamingIngestionEnabled,omitempty" tf:"streaming_ingestion_enabled,omitempty"`
// A mapping of tags to assign to the resource.
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use trusted_external_tenants = ["*"] to explicitly allow all other tenants, trusted_external_tenants = ["MyTenantOnly"] for only your tenant or trusted_external_tenants = ["<tenantId1>", "<tenantIdx>"] to allow specific other tenants.
TrustedExternalTenants []*string `json:"trustedExternalTenants,omitempty" tf:"trusted_external_tenants,omitempty"`
// The FQDN of the Azure Kusto Cluster.
URI *string `json:"uri,omitempty" tf:"uri,omitempty"`
// A virtual_network_configuration block as defined below. Changing this forces a new resource to be created.
VirtualNetworkConfiguration []VirtualNetworkConfigurationObservation `json:"virtualNetworkConfiguration,omitempty" tf:"virtual_network_configuration,omitempty"`
// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}
type ClusterParameters struct {
// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
// +kubebuilder:validation:Optional
AllowedFqdns []*string `json:"allowedFqdns,omitempty" tf:"allowed_fqdns,omitempty"`
// The list of ips in the format of CIDR allowed to connect to the cluster.
// +kubebuilder:validation:Optional
AllowedIPRanges []*string `json:"allowedIpRanges,omitempty" tf:"allowed_ip_ranges,omitempty"`
// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to true.
// +kubebuilder:validation:Optional
AutoStopEnabled *bool `json:"autoStopEnabled,omitempty" tf:"auto_stop_enabled,omitempty"`
// Specifies if the cluster's disks are encrypted.
// +kubebuilder:validation:Optional
DiskEncryptionEnabled *bool `json:"diskEncryptionEnabled,omitempty" tf:"disk_encryption_enabled,omitempty"`
// Is the cluster's double encryption enabled? Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
DoubleEncryptionEnabled *bool `json:"doubleEncryptionEnabled,omitempty" tf:"double_encryption_enabled,omitempty"`
// . The engine type that will be used in the backend. Possible values are V2 and V3. Defaults to V2. Changing this forces a new Kusto Cluster to be created.
// +kubebuilder:validation:Optional
Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`
// An identity block as defined below.
// +kubebuilder:validation:Optional
Identity []IdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`
// An list of language_extensions to enable. Valid values are: PYTHON and R.
// +kubebuilder:validation:Optional
LanguageExtensions []*string `json:"languageExtensions,omitempty" tf:"language_extensions,omitempty"`
// The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// An optimized_auto_scale block as defined below.
// +kubebuilder:validation:Optional
OptimizedAutoScale []OptimizedAutoScaleParameters `json:"optimizedAutoScale,omitempty" tf:"optimized_auto_scale,omitempty"`
// Whether to restrict outbound network access. Value is optional but if passed in, must be true or false, default is false.
// +kubebuilder:validation:Optional
OutboundNetworkAccessRestricted *bool `json:"outboundNetworkAccessRestricted,omitempty" tf:"outbound_network_access_restricted,omitempty"`
// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6).
// +kubebuilder:validation:Optional
PublicIPType *string `json:"publicIpType,omitempty" tf:"public_ip_type,omitempty"`
// Is the public network access enabled? Defaults to true.
// +kubebuilder:validation:Optional
PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`
// Specifies if the purge operations are enabled.
// +kubebuilder:validation:Optional
PurgeEnabled *bool `json:"purgeEnabled,omitempty" tf:"purge_enabled,omitempty"`
// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
// +kubebuilder:validation:Optional
ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`
// Reference to a ResourceGroup in azure to populate resourceGroupName.
// +kubebuilder:validation:Optional
ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`
// Selector for a ResourceGroup in azure to populate resourceGroupName.
// +kubebuilder:validation:Optional
ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`
// A sku block as defined below.
// +kubebuilder:validation:Optional
Sku []SkuParameters `json:"sku,omitempty" tf:"sku,omitempty"`
// Specifies if the streaming ingest is enabled.
// +kubebuilder:validation:Optional
StreamingIngestionEnabled *bool `json:"streamingIngestionEnabled,omitempty" tf:"streaming_ingestion_enabled,omitempty"`
// A mapping of tags to assign to the resource.
// +kubebuilder:validation:Optional
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use trusted_external_tenants = ["*"] to explicitly allow all other tenants, trusted_external_tenants = ["MyTenantOnly"] for only your tenant or trusted_external_tenants = ["<tenantId1>", "<tenantIdx>"] to allow specific other tenants.
// +kubebuilder:validation:Optional
TrustedExternalTenants []*string `json:"trustedExternalTenants,omitempty" tf:"trusted_external_tenants,omitempty"`
// A virtual_network_configuration block as defined below. Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
VirtualNetworkConfiguration []VirtualNetworkConfigurationParameters `json:"virtualNetworkConfiguration,omitempty" tf:"virtual_network_configuration,omitempty"`
// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
// +kubebuilder:validation:Optional
Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}
type IdentityInitParameters struct {
// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`
// Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
type IdentityObservation struct {
// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`
// The Principal ID associated with this System Assigned Managed Service Identity.
PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`
// The Tenant ID associated with this System Assigned Managed Service Identity.
TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
// Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
type IdentityParameters struct {
// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
// +kubebuilder:validation:Optional
IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`
// Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
// +kubebuilder:validation:Optional
Type *string `json:"type" tf:"type,omitempty"`
}
type OptimizedAutoScaleInitParameters struct {
// The maximum number of allowed instances. Must between 0 and 1000.
MaximumInstances *float64 `json:"maximumInstances,omitempty" tf:"maximum_instances,omitempty"`
// The minimum number of allowed instances. Must between 0 and 1000.
MinimumInstances *float64 `json:"minimumInstances,omitempty" tf:"minimum_instances,omitempty"`
}
type OptimizedAutoScaleObservation struct {
// The maximum number of allowed instances. Must between 0 and 1000.
MaximumInstances *float64 `json:"maximumInstances,omitempty" tf:"maximum_instances,omitempty"`
// The minimum number of allowed instances. Must between 0 and 1000.
MinimumInstances *float64 `json:"minimumInstances,omitempty" tf:"minimum_instances,omitempty"`
}
type OptimizedAutoScaleParameters struct {
// The maximum number of allowed instances. Must between 0 and 1000.
// +kubebuilder:validation:Optional
MaximumInstances *float64 `json:"maximumInstances" tf:"maximum_instances,omitempty"`
// The minimum number of allowed instances. Must between 0 and 1000.
// +kubebuilder:validation:Optional
MinimumInstances *float64 `json:"minimumInstances" tf:"minimum_instances,omitempty"`
}
type SkuInitParameters struct {
// Specifies the node count for the cluster. Boundaries depend on the SKU name.
Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`
// The name of the SKU. Valid values are: Dev(No SLA)_Standard_D11_v2, Dev(No SLA)_Standard_E2a_v4, Standard_D11_v2, Standard_D12_v2, Standard_D13_v2, Standard_D14_v2, Standard_D16d_v5, Standard_D32d_v4, Standard_D32d_v5, Standard_DS13_v2+1TB_PS, Standard_DS13_v2+2TB_PS, Standard_DS14_v2+3TB_PS, Standard_DS14_v2+4TB_PS, Standard_E16a_v4, Standard_E16ads_v5, Standard_E16as_v4+3TB_PS, Standard_E16as_v4+4TB_PS, Standard_E16as_v5+3TB_PS, Standard_E16as_v5+4TB_PS, Standard_E16s_v4+3TB_PS, Standard_E16s_v4+4TB_PS, Standard_E16s_v5+3TB_PS, Standard_E16s_v5+4TB_PS, Standard_E2a_v4, Standard_E2ads_v5,Standard_E4a_v4, Standard_E4ads_v5, Standard_E64i_v3, Standard_E80ids_v4, Standard_E8a_v4, Standard_E8ads_v5, Standard_E8as_v4+1TB_PS, Standard_E8as_v4+2TB_PS, Standard_E8as_v5+1TB_PS, Standard_E8as_v5+2TB_PS, Standard_E8s_v4+1TB_PS, Standard_E8s_v4+2TB_PS, Standard_E8s_v5+1TB_PS, Standard_E8s_v5+2TB_PS, Standard_L16s, Standard_L16s_v2, Standard_L4s, Standard_L8s, Standard_L8s_v2, "Standard_L8s_v3", Standard_L16s_v3, Standard_L8as_v3, Standard_L16as_v3, Standard_EC8as_v5+1TB_PS, Standard_EC8as_v5+2TB_PS, Standard_EC16as_v5+3TB_PS, Standard_EC16as_v5+4TB_PS, Standard_EC8ads_v5, Standard_EC16ads_v5, Standard_E2d_v4, Standard_E4d_v4, Standard_E8d_v4, Standard_E16d_v4, Standard_E2d_v5, Standard_E4d_v5, Standard_E8d_v5 and Standard_E16d_v5.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
}
type SkuObservation struct {
// Specifies the node count for the cluster. Boundaries depend on the SKU name.
Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`
// The name of the SKU. Valid values are: Dev(No SLA)_Standard_D11_v2, Dev(No SLA)_Standard_E2a_v4, Standard_D11_v2, Standard_D12_v2, Standard_D13_v2, Standard_D14_v2, Standard_D16d_v5, Standard_D32d_v4, Standard_D32d_v5, Standard_DS13_v2+1TB_PS, Standard_DS13_v2+2TB_PS, Standard_DS14_v2+3TB_PS, Standard_DS14_v2+4TB_PS, Standard_E16a_v4, Standard_E16ads_v5, Standard_E16as_v4+3TB_PS, Standard_E16as_v4+4TB_PS, Standard_E16as_v5+3TB_PS, Standard_E16as_v5+4TB_PS, Standard_E16s_v4+3TB_PS, Standard_E16s_v4+4TB_PS, Standard_E16s_v5+3TB_PS, Standard_E16s_v5+4TB_PS, Standard_E2a_v4, Standard_E2ads_v5,Standard_E4a_v4, Standard_E4ads_v5, Standard_E64i_v3, Standard_E80ids_v4, Standard_E8a_v4, Standard_E8ads_v5, Standard_E8as_v4+1TB_PS, Standard_E8as_v4+2TB_PS, Standard_E8as_v5+1TB_PS, Standard_E8as_v5+2TB_PS, Standard_E8s_v4+1TB_PS, Standard_E8s_v4+2TB_PS, Standard_E8s_v5+1TB_PS, Standard_E8s_v5+2TB_PS, Standard_L16s, Standard_L16s_v2, Standard_L4s, Standard_L8s, Standard_L8s_v2, "Standard_L8s_v3", Standard_L16s_v3, Standard_L8as_v3, Standard_L16as_v3, Standard_EC8as_v5+1TB_PS, Standard_EC8as_v5+2TB_PS, Standard_EC16as_v5+3TB_PS, Standard_EC16as_v5+4TB_PS, Standard_EC8ads_v5, Standard_EC16ads_v5, Standard_E2d_v4, Standard_E4d_v4, Standard_E8d_v4, Standard_E16d_v4, Standard_E2d_v5, Standard_E4d_v5, Standard_E8d_v5 and Standard_E16d_v5.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
}
type SkuParameters struct {
// Specifies the node count for the cluster. Boundaries depend on the SKU name.
// +kubebuilder:validation:Optional
Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`
// The name of the SKU. Valid values are: Dev(No SLA)_Standard_D11_v2, Dev(No SLA)_Standard_E2a_v4, Standard_D11_v2, Standard_D12_v2, Standard_D13_v2, Standard_D14_v2, Standard_D16d_v5, Standard_D32d_v4, Standard_D32d_v5, Standard_DS13_v2+1TB_PS, Standard_DS13_v2+2TB_PS, Standard_DS14_v2+3TB_PS, Standard_DS14_v2+4TB_PS, Standard_E16a_v4, Standard_E16ads_v5, Standard_E16as_v4+3TB_PS, Standard_E16as_v4+4TB_PS, Standard_E16as_v5+3TB_PS, Standard_E16as_v5+4TB_PS, Standard_E16s_v4+3TB_PS, Standard_E16s_v4+4TB_PS, Standard_E16s_v5+3TB_PS, Standard_E16s_v5+4TB_PS, Standard_E2a_v4, Standard_E2ads_v5,Standard_E4a_v4, Standard_E4ads_v5, Standard_E64i_v3, Standard_E80ids_v4, Standard_E8a_v4, Standard_E8ads_v5, Standard_E8as_v4+1TB_PS, Standard_E8as_v4+2TB_PS, Standard_E8as_v5+1TB_PS, Standard_E8as_v5+2TB_PS, Standard_E8s_v4+1TB_PS, Standard_E8s_v4+2TB_PS, Standard_E8s_v5+1TB_PS, Standard_E8s_v5+2TB_PS, Standard_L16s, Standard_L16s_v2, Standard_L4s, Standard_L8s, Standard_L8s_v2, "Standard_L8s_v3", Standard_L16s_v3, Standard_L8as_v3, Standard_L16as_v3, Standard_EC8as_v5+1TB_PS, Standard_EC8as_v5+2TB_PS, Standard_EC16as_v5+3TB_PS, Standard_EC16as_v5+4TB_PS, Standard_EC8ads_v5, Standard_EC16ads_v5, Standard_E2d_v4, Standard_E4d_v4, Standard_E8d_v4, Standard_E16d_v4, Standard_E2d_v5, Standard_E4d_v5, Standard_E8d_v5 and Standard_E16d_v5.
// +kubebuilder:validation:Optional
Name *string `json:"name" tf:"name,omitempty"`
}
type VirtualNetworkConfigurationInitParameters struct {
// Data management's service public IP address resource id.
DataManagementPublicIPID *string `json:"dataManagementPublicIpId,omitempty" tf:"data_management_public_ip_id,omitempty"`
// Engine service's public IP address resource id.
EnginePublicIPID *string `json:"enginePublicIpId,omitempty" tf:"engine_public_ip_id,omitempty"`
}
type VirtualNetworkConfigurationObservation struct {
// Data management's service public IP address resource id.
DataManagementPublicIPID *string `json:"dataManagementPublicIpId,omitempty" tf:"data_management_public_ip_id,omitempty"`
// Engine service's public IP address resource id.
EnginePublicIPID *string `json:"enginePublicIpId,omitempty" tf:"engine_public_ip_id,omitempty"`
// The subnet resource id.
SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
}
type VirtualNetworkConfigurationParameters struct {
// Data management's service public IP address resource id.
// +kubebuilder:validation:Optional
DataManagementPublicIPID *string `json:"dataManagementPublicIpId" tf:"data_management_public_ip_id,omitempty"`
// Engine service's public IP address resource id.
// +kubebuilder:validation:Optional
EnginePublicIPID *string `json:"enginePublicIpId" tf:"engine_public_ip_id,omitempty"`
// The subnet resource id.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.Subnet
// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
// +kubebuilder:validation:Optional
SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
// Reference to a Subnet in network to populate subnetId.
// +kubebuilder:validation:Optional
SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`
// Selector for a Subnet in network to populate subnetId.
// +kubebuilder:validation:Optional
SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}
// ClusterSpec defines the desired state of Cluster
type ClusterSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ClusterParameters `json:"forProvider"`
// THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored
// unless the relevant Crossplane feature flag is enabled, and may be
// changed or removed without notice.
// 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 ClusterInitParameters `json:"initProvider,omitempty"`
}
// ClusterStatus defines the observed state of Cluster.
type ClusterStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ClusterObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Cluster is the Schema for the Clusters API. Manages Kusto (also known as Azure Data Explorer) Cluster
// +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,azure}
type Cluster 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.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sku) || (has(self.initProvider) && has(self.initProvider.sku))",message="spec.forProvider.sku is a required parameter"
Spec ClusterSpec `json:"spec"`
Status ClusterStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ClusterList contains a list of Clusters
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
// Repository type metadata.
var (
Cluster_Kind = "Cluster"
Cluster_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String()
Cluster_KindAPIVersion = Cluster_Kind + "." + CRDGroupVersion.String()
Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind)
)
func init() {
SchemeBuilder.Register(&Cluster{}, &ClusterList{})
}