-
Notifications
You must be signed in to change notification settings - Fork 69
/
zz_flexibleserver_types.go
executable file
·571 lines (416 loc) · 33.2 KB
/
zz_flexibleserver_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
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// 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 AuthenticationInitParameters struct {
// Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
ActiveDirectoryAuthEnabled *bool `json:"activeDirectoryAuthEnabled,omitempty" tf:"active_directory_auth_enabled,omitempty"`
// Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
PasswordAuthEnabled *bool `json:"passwordAuthEnabled,omitempty" tf:"password_auth_enabled,omitempty"`
// The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.
TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
}
type AuthenticationObservation struct {
// Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
ActiveDirectoryAuthEnabled *bool `json:"activeDirectoryAuthEnabled,omitempty" tf:"active_directory_auth_enabled,omitempty"`
// Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
PasswordAuthEnabled *bool `json:"passwordAuthEnabled,omitempty" tf:"password_auth_enabled,omitempty"`
// The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.
TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
}
type AuthenticationParameters struct {
// Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
// +kubebuilder:validation:Optional
ActiveDirectoryAuthEnabled *bool `json:"activeDirectoryAuthEnabled,omitempty" tf:"active_directory_auth_enabled,omitempty"`
// Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
// +kubebuilder:validation:Optional
PasswordAuthEnabled *bool `json:"passwordAuthEnabled,omitempty" tf:"password_auth_enabled,omitempty"`
// The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.
// +kubebuilder:validation:Optional
TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
}
type CustomerManagedKeyInitParameters struct {
// The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
GeoBackupKeyVaultKeyID *string `json:"geoBackupKeyVaultKeyId,omitempty" tf:"geo_backup_key_vault_key_id,omitempty"`
// The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.
GeoBackupUserAssignedIdentityID *string `json:"geoBackupUserAssignedIdentityId,omitempty" tf:"geo_backup_user_assigned_identity_id,omitempty"`
// The ID of the Key Vault Key.
KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`
// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
PrimaryUserAssignedIdentityID *string `json:"primaryUserAssignedIdentityId,omitempty" tf:"primary_user_assigned_identity_id,omitempty"`
}
type CustomerManagedKeyObservation struct {
// The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
GeoBackupKeyVaultKeyID *string `json:"geoBackupKeyVaultKeyId,omitempty" tf:"geo_backup_key_vault_key_id,omitempty"`
// The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.
GeoBackupUserAssignedIdentityID *string `json:"geoBackupUserAssignedIdentityId,omitempty" tf:"geo_backup_user_assigned_identity_id,omitempty"`
// The ID of the Key Vault Key.
KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`
// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
PrimaryUserAssignedIdentityID *string `json:"primaryUserAssignedIdentityId,omitempty" tf:"primary_user_assigned_identity_id,omitempty"`
}
type CustomerManagedKeyParameters struct {
// The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
// +kubebuilder:validation:Optional
GeoBackupKeyVaultKeyID *string `json:"geoBackupKeyVaultKeyId,omitempty" tf:"geo_backup_key_vault_key_id,omitempty"`
// The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.
// +kubebuilder:validation:Optional
GeoBackupUserAssignedIdentityID *string `json:"geoBackupUserAssignedIdentityId,omitempty" tf:"geo_backup_user_assigned_identity_id,omitempty"`
// The ID of the Key Vault Key.
// +kubebuilder:validation:Optional
KeyVaultKeyID *string `json:"keyVaultKeyId" tf:"key_vault_key_id,omitempty"`
// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
// +kubebuilder:validation:Optional
PrimaryUserAssignedIdentityID *string `json:"primaryUserAssignedIdentityId,omitempty" tf:"primary_user_assigned_identity_id,omitempty"`
}
type FlexibleServerInitParameters struct {
// The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.
AdministratorLogin *string `json:"administratorLogin,omitempty" tf:"administrator_login,omitempty"`
// An authentication block as defined below.
Authentication []AuthenticationInitParameters `json:"authentication,omitempty" tf:"authentication,omitempty"`
// Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
AutoGrowEnabled *bool `json:"autoGrowEnabled,omitempty" tf:"auto_grow_enabled,omitempty"`
// The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
BackupRetentionDays *float64 `json:"backupRetentionDays,omitempty" tf:"backup_retention_days,omitempty"`
// The creation mode which can be used to restore or replicate existing servers. Possible values are Default, PointInTimeRestore, Replica and Update.
CreateMode *string `json:"createMode,omitempty" tf:"create_mode,omitempty"`
// A customer_managed_key block as defined below. Changing this forces a new resource to be created.
CustomerManagedKey []CustomerManagedKeyInitParameters `json:"customerManagedKey,omitempty" tf:"customer_managed_key,omitempty"`
// The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.Subnet
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
DelegatedSubnetID *string `json:"delegatedSubnetId,omitempty" tf:"delegated_subnet_id,omitempty"`
// Reference to a Subnet in network to populate delegatedSubnetId.
// +kubebuilder:validation:Optional
DelegatedSubnetIDRef *v1.Reference `json:"delegatedSubnetIdRef,omitempty" tf:"-"`
// Selector for a Subnet in network to populate delegatedSubnetId.
// +kubebuilder:validation:Optional
DelegatedSubnetIDSelector *v1.Selector `json:"delegatedSubnetIdSelector,omitempty" tf:"-"`
// Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
GeoRedundantBackupEnabled *bool `json:"geoRedundantBackupEnabled,omitempty" tf:"geo_redundant_backup_enabled,omitempty"`
// A high_availability block as defined below.
HighAvailability []HighAvailabilityInitParameters `json:"highAvailability,omitempty" tf:"high_availability,omitempty"`
// An identity block as defined below.
Identity []IdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`
// The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// A maintenance_window block as defined below.
MaintenanceWindow []MaintenanceWindowInitParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`
// The point in time to restore from source_server_id when create_mode is PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
PointInTimeRestoreTimeInUtc *string `json:"pointInTimeRestoreTimeInUtc,omitempty" tf:"point_in_time_restore_time_in_utc,omitempty"`
// The ID of the private DNS zone to create the PostgreSQL Flexible Server.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.PrivateDNSZone
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty" tf:"private_dns_zone_id,omitempty"`
// Reference to a PrivateDNSZone in network to populate privateDnsZoneId.
// +kubebuilder:validation:Optional
PrivateDNSZoneIDRef *v1.Reference `json:"privateDnsZoneIdRef,omitempty" tf:"-"`
// Selector for a PrivateDNSZone in network to populate privateDnsZoneId.
// +kubebuilder:validation:Optional
PrivateDNSZoneIDSelector *v1.Selector `json:"privateDnsZoneIdSelector,omitempty" tf:"-"`
// The replication role for the PostgreSQL Flexible Server. Possible value is None.
ReplicationRole *string `json:"replicationRole,omitempty" tf:"replication_role,omitempty"`
// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`
// The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
SourceServerID *string `json:"sourceServerId,omitempty" tf:"source_server_id,omitempty"`
// The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.
StorageMb *float64 `json:"storageMb,omitempty" tf:"storage_mb,omitempty"`
// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.
StorageTier *string `json:"storageTier,omitempty" tf:"storage_tier,omitempty"`
// A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
// +mapType=granular
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.
Version *string `json:"version,omitempty" tf:"version,omitempty"`
// Specifies the Availability Zone in which the PostgreSQL Flexible Server should be located.
Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}
type FlexibleServerObservation struct {
// The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.
AdministratorLogin *string `json:"administratorLogin,omitempty" tf:"administrator_login,omitempty"`
// An authentication block as defined below.
Authentication []AuthenticationObservation `json:"authentication,omitempty" tf:"authentication,omitempty"`
// Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
AutoGrowEnabled *bool `json:"autoGrowEnabled,omitempty" tf:"auto_grow_enabled,omitempty"`
// The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
BackupRetentionDays *float64 `json:"backupRetentionDays,omitempty" tf:"backup_retention_days,omitempty"`
// The creation mode which can be used to restore or replicate existing servers. Possible values are Default, PointInTimeRestore, Replica and Update.
CreateMode *string `json:"createMode,omitempty" tf:"create_mode,omitempty"`
// A customer_managed_key block as defined below. Changing this forces a new resource to be created.
CustomerManagedKey []CustomerManagedKeyObservation `json:"customerManagedKey,omitempty" tf:"customer_managed_key,omitempty"`
// The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
DelegatedSubnetID *string `json:"delegatedSubnetId,omitempty" tf:"delegated_subnet_id,omitempty"`
// The FQDN of the PostgreSQL Flexible Server.
Fqdn *string `json:"fqdn,omitempty" tf:"fqdn,omitempty"`
// Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
GeoRedundantBackupEnabled *bool `json:"geoRedundantBackupEnabled,omitempty" tf:"geo_redundant_backup_enabled,omitempty"`
// A high_availability block as defined below.
HighAvailability []HighAvailabilityObservation `json:"highAvailability,omitempty" tf:"high_availability,omitempty"`
// The ID of the PostgreSQL Flexible Server.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// An identity block as defined below.
Identity []IdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`
// The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// A maintenance_window block as defined below.
MaintenanceWindow []MaintenanceWindowObservation `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`
// The point in time to restore from source_server_id when create_mode is PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
PointInTimeRestoreTimeInUtc *string `json:"pointInTimeRestoreTimeInUtc,omitempty" tf:"point_in_time_restore_time_in_utc,omitempty"`
// The ID of the private DNS zone to create the PostgreSQL Flexible Server.
PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty" tf:"private_dns_zone_id,omitempty"`
// Is public network access enabled?
PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`
// The replication role for the PostgreSQL Flexible Server. Possible value is None.
ReplicationRole *string `json:"replicationRole,omitempty" tf:"replication_role,omitempty"`
// The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`
// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`
// The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
SourceServerID *string `json:"sourceServerId,omitempty" tf:"source_server_id,omitempty"`
// The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.
StorageMb *float64 `json:"storageMb,omitempty" tf:"storage_mb,omitempty"`
// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.
StorageTier *string `json:"storageTier,omitempty" tf:"storage_tier,omitempty"`
// A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
// +mapType=granular
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.
Version *string `json:"version,omitempty" tf:"version,omitempty"`
// Specifies the Availability Zone in which the PostgreSQL Flexible Server should be located.
Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}
type FlexibleServerParameters struct {
// The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.
// +kubebuilder:validation:Optional
AdministratorLogin *string `json:"administratorLogin,omitempty" tf:"administrator_login,omitempty"`
// The Password associated with the administrator_login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.
// Password for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.
// +kubebuilder:validation:Optional
AdministratorPasswordSecretRef *v1.SecretKeySelector `json:"administratorPasswordSecretRef,omitempty" tf:"-"`
// An authentication block as defined below.
// +kubebuilder:validation:Optional
Authentication []AuthenticationParameters `json:"authentication,omitempty" tf:"authentication,omitempty"`
// If true, the password will be auto-generated and stored in the Secret referenced by the administratorPasswordSecretRef field.
// +upjet:crd:field:TFTag=-
// +kubebuilder:validation:Optional
AutoGeneratePassword *bool `json:"autoGeneratePassword,omitempty" tf:"-"`
// Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
// +kubebuilder:validation:Optional
AutoGrowEnabled *bool `json:"autoGrowEnabled,omitempty" tf:"auto_grow_enabled,omitempty"`
// The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
// +kubebuilder:validation:Optional
BackupRetentionDays *float64 `json:"backupRetentionDays,omitempty" tf:"backup_retention_days,omitempty"`
// The creation mode which can be used to restore or replicate existing servers. Possible values are Default, PointInTimeRestore, Replica and Update.
// +kubebuilder:validation:Optional
CreateMode *string `json:"createMode,omitempty" tf:"create_mode,omitempty"`
// A customer_managed_key block as defined below. Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
CustomerManagedKey []CustomerManagedKeyParameters `json:"customerManagedKey,omitempty" tf:"customer_managed_key,omitempty"`
// The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.Subnet
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
DelegatedSubnetID *string `json:"delegatedSubnetId,omitempty" tf:"delegated_subnet_id,omitempty"`
// Reference to a Subnet in network to populate delegatedSubnetId.
// +kubebuilder:validation:Optional
DelegatedSubnetIDRef *v1.Reference `json:"delegatedSubnetIdRef,omitempty" tf:"-"`
// Selector for a Subnet in network to populate delegatedSubnetId.
// +kubebuilder:validation:Optional
DelegatedSubnetIDSelector *v1.Selector `json:"delegatedSubnetIdSelector,omitempty" tf:"-"`
// Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
// +kubebuilder:validation:Optional
GeoRedundantBackupEnabled *bool `json:"geoRedundantBackupEnabled,omitempty" tf:"geo_redundant_backup_enabled,omitempty"`
// A high_availability block as defined below.
// +kubebuilder:validation:Optional
HighAvailability []HighAvailabilityParameters `json:"highAvailability,omitempty" tf:"high_availability,omitempty"`
// An identity block as defined below.
// +kubebuilder:validation:Optional
Identity []IdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`
// The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
// +kubebuilder:validation:Optional
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// A maintenance_window block as defined below.
// +kubebuilder:validation:Optional
MaintenanceWindow []MaintenanceWindowParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`
// The point in time to restore from source_server_id when create_mode is PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
// +kubebuilder:validation:Optional
PointInTimeRestoreTimeInUtc *string `json:"pointInTimeRestoreTimeInUtc,omitempty" tf:"point_in_time_restore_time_in_utc,omitempty"`
// The ID of the private DNS zone to create the PostgreSQL Flexible Server.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.PrivateDNSZone
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty" tf:"private_dns_zone_id,omitempty"`
// Reference to a PrivateDNSZone in network to populate privateDnsZoneId.
// +kubebuilder:validation:Optional
PrivateDNSZoneIDRef *v1.Reference `json:"privateDnsZoneIdRef,omitempty" tf:"-"`
// Selector for a PrivateDNSZone in network to populate privateDnsZoneId.
// +kubebuilder:validation:Optional
PrivateDNSZoneIDSelector *v1.Selector `json:"privateDnsZoneIdSelector,omitempty" tf:"-"`
// The replication role for the PostgreSQL Flexible Server. Possible value is None.
// +kubebuilder:validation:Optional
ReplicationRole *string `json:"replicationRole,omitempty" tf:"replication_role,omitempty"`
// The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server 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:"-"`
// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
// +kubebuilder:validation:Optional
SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`
// The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
// +kubebuilder:validation:Optional
SourceServerID *string `json:"sourceServerId,omitempty" tf:"source_server_id,omitempty"`
// The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.
// +kubebuilder:validation:Optional
StorageMb *float64 `json:"storageMb,omitempty" tf:"storage_mb,omitempty"`
// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.
// +kubebuilder:validation:Optional
StorageTier *string `json:"storageTier,omitempty" tf:"storage_tier,omitempty"`
// A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
// +kubebuilder:validation:Optional
// +mapType=granular
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.
// +kubebuilder:validation:Optional
Version *string `json:"version,omitempty" tf:"version,omitempty"`
// Specifies the Availability Zone in which the PostgreSQL Flexible Server should be located.
// +kubebuilder:validation:Optional
Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}
type HighAvailabilityInitParameters struct {
// The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
// Specifies the Availability Zone in which the standby Flexible Server should be located.
StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty" tf:"standby_availability_zone,omitempty"`
}
type HighAvailabilityObservation struct {
// The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
// Specifies the Availability Zone in which the standby Flexible Server should be located.
StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty" tf:"standby_availability_zone,omitempty"`
}
type HighAvailabilityParameters struct {
// The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
// +kubebuilder:validation:Optional
Mode *string `json:"mode" tf:"mode,omitempty"`
// Specifies the Availability Zone in which the standby Flexible Server should be located.
// +kubebuilder:validation:Optional
StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty" tf:"standby_availability_zone,omitempty"`
}
type IdentityInitParameters struct {
// A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
// +listType=set
IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`
// Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
type IdentityObservation struct {
// A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
// +listType=set
IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`
// Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
type IdentityParameters struct {
// A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
// +kubebuilder:validation:Optional
// +listType=set
IdentityIds []*string `json:"identityIds" tf:"identity_ids,omitempty"`
// Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
// +kubebuilder:validation:Optional
Type *string `json:"type" tf:"type,omitempty"`
}
type MaintenanceWindowInitParameters struct {
// The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
DayOfWeek *float64 `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`
// The start hour for maintenance window. Defaults to 0.
StartHour *float64 `json:"startHour,omitempty" tf:"start_hour,omitempty"`
// The start minute for maintenance window. Defaults to 0.
StartMinute *float64 `json:"startMinute,omitempty" tf:"start_minute,omitempty"`
}
type MaintenanceWindowObservation struct {
// The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
DayOfWeek *float64 `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`
// The start hour for maintenance window. Defaults to 0.
StartHour *float64 `json:"startHour,omitempty" tf:"start_hour,omitempty"`
// The start minute for maintenance window. Defaults to 0.
StartMinute *float64 `json:"startMinute,omitempty" tf:"start_minute,omitempty"`
}
type MaintenanceWindowParameters struct {
// The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
// +kubebuilder:validation:Optional
DayOfWeek *float64 `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`
// The start hour for maintenance window. Defaults to 0.
// +kubebuilder:validation:Optional
StartHour *float64 `json:"startHour,omitempty" tf:"start_hour,omitempty"`
// The start minute for maintenance window. Defaults to 0.
// +kubebuilder:validation:Optional
StartMinute *float64 `json:"startMinute,omitempty" tf:"start_minute,omitempty"`
}
// FlexibleServerSpec defines the desired state of FlexibleServer
type FlexibleServerSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider FlexibleServerParameters `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 FlexibleServerInitParameters `json:"initProvider,omitempty"`
}
// FlexibleServerStatus defines the observed state of FlexibleServer.
type FlexibleServerStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider FlexibleServerObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// FlexibleServer is the Schema for the FlexibleServers API. Manages a PostgreSQL Flexible Server.
// +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,azure}
type FlexibleServer 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"
Spec FlexibleServerSpec `json:"spec"`
Status FlexibleServerStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// FlexibleServerList contains a list of FlexibleServers
type FlexibleServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []FlexibleServer `json:"items"`
}
// Repository type metadata.
var (
FlexibleServer_Kind = "FlexibleServer"
FlexibleServer_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FlexibleServer_Kind}.String()
FlexibleServer_KindAPIVersion = FlexibleServer_Kind + "." + CRDGroupVersion.String()
FlexibleServer_GroupVersionKind = CRDGroupVersion.WithKind(FlexibleServer_Kind)
)
func init() {
SchemeBuilder.Register(&FlexibleServer{}, &FlexibleServerList{})
}