@cloudfleet/sdk 0.0.1-6d7ad01 → 0.0.1-6e4e1f8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -2
- package/dist/@tanstack/react-query.gen.d.ts +1026 -0
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
- package/dist/@tanstack/react-query.gen.js +1194 -0
- package/dist/@tanstack/react-query.gen.js.map +1 -0
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/client.gen.js +114 -102
- package/dist/client/client.gen.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.gen.d.ts +9 -13
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts +8 -4
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.js +13 -15
- package/dist/client/utils.gen.js.map +1 -1
- package/dist/client.gen.d.ts.map +1 -1
- package/dist/client.gen.js +1 -3
- package/dist/client.gen.js.map +1 -1
- package/dist/core/auth.gen.d.ts.map +1 -1
- package/dist/core/auth.gen.js.map +1 -1
- package/dist/core/bodySerializer.gen.d.ts +16 -8
- package/dist/core/bodySerializer.gen.d.ts.map +1 -1
- package/dist/core/bodySerializer.gen.js +1 -1
- package/dist/core/bodySerializer.gen.js.map +1 -1
- package/dist/core/params.gen.d.ts +10 -0
- package/dist/core/params.gen.d.ts.map +1 -1
- package/dist/core/params.gen.js +22 -10
- package/dist/core/params.gen.js.map +1 -1
- package/dist/core/pathSerializer.gen.d.ts.map +1 -1
- package/dist/core/pathSerializer.gen.js +3 -11
- package/dist/core/pathSerializer.gen.js.map +1 -1
- package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
- package/dist/core/queryKeySerializer.gen.js +4 -11
- package/dist/core/queryKeySerializer.gen.js.map +1 -1
- package/dist/core/serverSentEvents.gen.d.ts +1 -1
- package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
- package/dist/core/serverSentEvents.gen.js +6 -9
- package/dist/core/serverSentEvents.gen.js.map +1 -1
- package/dist/core/types.gen.d.ts +1 -1
- package/dist/core/types.gen.d.ts.map +1 -1
- package/dist/core/utils.gen.d.ts.map +1 -1
- package/dist/core/utils.gen.js +1 -1
- package/dist/core/utils.gen.js.map +1 -1
- package/dist/schemas.gen.d.ts +1195 -145
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +2630 -215
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +258 -191
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +367 -370
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +8 -8
- package/dist/types.gen.d.ts +1583 -691
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +3543 -1424
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +1438 -631
- package/dist/zod.gen.js.map +1 -1
- package/package.json +28 -8
package/dist/schemas.gen.js
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
export const BillingContactSchema = {
|
|
3
3
|
type: 'object',
|
|
4
4
|
properties: {
|
|
5
|
+
type: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
8
|
+
example: 'business',
|
|
9
|
+
enum: [
|
|
10
|
+
'business',
|
|
11
|
+
'personal'
|
|
12
|
+
]
|
|
13
|
+
},
|
|
5
14
|
company: {
|
|
6
15
|
type: 'string',
|
|
7
16
|
maxLength: 120,
|
|
@@ -74,10 +83,143 @@ export const BillingContactSchema = {
|
|
|
74
83
|
nullable: true,
|
|
75
84
|
description: 'Type of the tax ID.',
|
|
76
85
|
example: 'de_vat',
|
|
77
|
-
enum: [
|
|
86
|
+
enum: [
|
|
87
|
+
'ad_nrt',
|
|
88
|
+
'ae_trn',
|
|
89
|
+
'al_tin',
|
|
90
|
+
'am_tin',
|
|
91
|
+
'ao_tin',
|
|
92
|
+
'ar_cuit',
|
|
93
|
+
'at_vat',
|
|
94
|
+
'au_abn',
|
|
95
|
+
'au_arn',
|
|
96
|
+
'ba_tin',
|
|
97
|
+
'bb_tin',
|
|
98
|
+
'be_vat',
|
|
99
|
+
'bg_uic',
|
|
100
|
+
'bg_vat',
|
|
101
|
+
'bh_vat',
|
|
102
|
+
'bo_tin',
|
|
103
|
+
'br_cnpj',
|
|
104
|
+
'br_cpf',
|
|
105
|
+
'bs_tin',
|
|
106
|
+
'by_tin',
|
|
107
|
+
'ca_bn',
|
|
108
|
+
'ca_gst_hst',
|
|
109
|
+
'ca_pst_bc',
|
|
110
|
+
'ca_pst_mb',
|
|
111
|
+
'ca_pst_sk',
|
|
112
|
+
'ca_qst',
|
|
113
|
+
'cd_nif',
|
|
114
|
+
'ch_uid',
|
|
115
|
+
'ch_vat',
|
|
116
|
+
'cl_tin',
|
|
117
|
+
'cn_tin',
|
|
118
|
+
'co_nit',
|
|
119
|
+
'cr_tin',
|
|
120
|
+
'cy_vat',
|
|
121
|
+
'cz_vat',
|
|
122
|
+
'de_stn',
|
|
123
|
+
'de_vat',
|
|
124
|
+
'dk_vat',
|
|
125
|
+
'do_rcn',
|
|
126
|
+
'ec_ruc',
|
|
127
|
+
'ee_vat',
|
|
128
|
+
'eg_tin',
|
|
129
|
+
'es_cif',
|
|
130
|
+
'es_vat',
|
|
131
|
+
'eu_oss_vat',
|
|
132
|
+
'fi_vat',
|
|
133
|
+
'fr_vat',
|
|
134
|
+
'gb_vat',
|
|
135
|
+
'ge_vat',
|
|
136
|
+
'gn_nif',
|
|
137
|
+
'gr_vat',
|
|
138
|
+
'hk_br',
|
|
139
|
+
'hr_oib',
|
|
140
|
+
'hr_vat',
|
|
141
|
+
'hu_tin',
|
|
142
|
+
'hu_vat',
|
|
143
|
+
'id_npwp',
|
|
144
|
+
'ie_vat',
|
|
145
|
+
'il_vat',
|
|
146
|
+
'in_gst',
|
|
147
|
+
'is_vat',
|
|
148
|
+
'it_vat',
|
|
149
|
+
'jp_cn',
|
|
150
|
+
'jp_rn',
|
|
151
|
+
'jp_trn',
|
|
152
|
+
'ke_pin',
|
|
153
|
+
'kh_tin',
|
|
154
|
+
'kr_brn',
|
|
155
|
+
'kz_bin',
|
|
156
|
+
'li_uid',
|
|
157
|
+
'li_vat',
|
|
158
|
+
'lt_vat',
|
|
159
|
+
'lu_vat',
|
|
160
|
+
'lv_vat',
|
|
161
|
+
'ma_vat',
|
|
162
|
+
'md_vat',
|
|
163
|
+
'me_pib',
|
|
164
|
+
'mk_vat',
|
|
165
|
+
'mr_nif',
|
|
166
|
+
'mt_vat',
|
|
167
|
+
'mx_rfc',
|
|
168
|
+
'my_frp',
|
|
169
|
+
'my_itn',
|
|
170
|
+
'my_sst',
|
|
171
|
+
'ng_tin',
|
|
172
|
+
'nl_vat',
|
|
173
|
+
'no_vat',
|
|
174
|
+
'no_voec',
|
|
175
|
+
'np_pan',
|
|
176
|
+
'nz_gst',
|
|
177
|
+
'om_vat',
|
|
178
|
+
'pe_ruc',
|
|
179
|
+
'ph_tin',
|
|
180
|
+
'pl_vat',
|
|
181
|
+
'pt_vat',
|
|
182
|
+
'ro_tin',
|
|
183
|
+
'ro_vat',
|
|
184
|
+
'rs_pib',
|
|
185
|
+
'ru_inn',
|
|
186
|
+
'ru_kpp',
|
|
187
|
+
'sa_vat',
|
|
188
|
+
'se_vat',
|
|
189
|
+
'sg_gst',
|
|
190
|
+
'sg_uen',
|
|
191
|
+
'si_tin',
|
|
192
|
+
'si_vat',
|
|
193
|
+
'sk_vat',
|
|
194
|
+
'sn_ninea',
|
|
195
|
+
'sr_fin',
|
|
196
|
+
'sv_nit',
|
|
197
|
+
'th_vat',
|
|
198
|
+
'tj_tin',
|
|
199
|
+
'tr_tin',
|
|
200
|
+
'tw_vat',
|
|
201
|
+
'tz_vat',
|
|
202
|
+
'ua_vat',
|
|
203
|
+
'ug_tin',
|
|
204
|
+
'us_ein',
|
|
205
|
+
'uy_ruc',
|
|
206
|
+
'uz_tin',
|
|
207
|
+
'uz_vat',
|
|
208
|
+
've_rif',
|
|
209
|
+
'vn_tin',
|
|
210
|
+
'xi_vat',
|
|
211
|
+
'za_vat',
|
|
212
|
+
'zm_tin',
|
|
213
|
+
'zw_tin',
|
|
214
|
+
''
|
|
215
|
+
]
|
|
78
216
|
}
|
|
79
217
|
},
|
|
80
|
-
required: [
|
|
218
|
+
required: [
|
|
219
|
+
'type',
|
|
220
|
+
'email',
|
|
221
|
+
'individual_name'
|
|
222
|
+
],
|
|
81
223
|
additionalProperties: false
|
|
82
224
|
};
|
|
83
225
|
export const BillingCreditsSchema = {
|
|
@@ -92,7 +234,10 @@ export const BillingCreditsSchema = {
|
|
|
92
234
|
type: 'string',
|
|
93
235
|
description: 'Type of the promotional code.',
|
|
94
236
|
example: 'credit',
|
|
95
|
-
enum: [
|
|
237
|
+
enum: [
|
|
238
|
+
'credit',
|
|
239
|
+
'discount'
|
|
240
|
+
]
|
|
96
241
|
},
|
|
97
242
|
date_start: {
|
|
98
243
|
type: 'string',
|
|
@@ -129,7 +274,12 @@ export const BillingCreditsSchema = {
|
|
|
129
274
|
example: 8
|
|
130
275
|
}
|
|
131
276
|
},
|
|
132
|
-
required: [
|
|
277
|
+
required: [
|
|
278
|
+
'type',
|
|
279
|
+
'date_start',
|
|
280
|
+
'code',
|
|
281
|
+
'value_total'
|
|
282
|
+
],
|
|
133
283
|
additionalProperties: false
|
|
134
284
|
};
|
|
135
285
|
export const ChartCreateInputSchema = {
|
|
@@ -170,7 +320,13 @@ export const ChartCreateInputSchema = {
|
|
|
170
320
|
example: 'postgresql'
|
|
171
321
|
}
|
|
172
322
|
},
|
|
173
|
-
required: [
|
|
323
|
+
required: [
|
|
324
|
+
'values',
|
|
325
|
+
'version_channel',
|
|
326
|
+
'name',
|
|
327
|
+
'namespace',
|
|
328
|
+
'chart'
|
|
329
|
+
],
|
|
174
330
|
additionalProperties: false
|
|
175
331
|
};
|
|
176
332
|
export const ChartSchema = {
|
|
@@ -212,9 +368,8 @@ export const ChartSchema = {
|
|
|
212
368
|
},
|
|
213
369
|
status: {
|
|
214
370
|
type: 'string',
|
|
215
|
-
description: 'Status of the chart deployment.',
|
|
216
|
-
example: '
|
|
217
|
-
enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing', 'SourceNotReady']
|
|
371
|
+
description: 'Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).',
|
|
372
|
+
example: 'InstallSucceeded'
|
|
218
373
|
},
|
|
219
374
|
version_current: {
|
|
220
375
|
type: 'string',
|
|
@@ -237,7 +392,18 @@ export const ChartSchema = {
|
|
|
237
392
|
example: true
|
|
238
393
|
}
|
|
239
394
|
},
|
|
240
|
-
required: [
|
|
395
|
+
required: [
|
|
396
|
+
'values',
|
|
397
|
+
'version_channel',
|
|
398
|
+
'name',
|
|
399
|
+
'namespace',
|
|
400
|
+
'chart',
|
|
401
|
+
'status',
|
|
402
|
+
'version_current',
|
|
403
|
+
'created_at',
|
|
404
|
+
'updated_at',
|
|
405
|
+
'ready'
|
|
406
|
+
],
|
|
241
407
|
additionalProperties: false
|
|
242
408
|
};
|
|
243
409
|
export const ChartUpdateInputSchema = {
|
|
@@ -254,7 +420,10 @@ export const ChartUpdateInputSchema = {
|
|
|
254
420
|
example: '2.x.x-cfke.x'
|
|
255
421
|
}
|
|
256
422
|
},
|
|
257
|
-
required: [
|
|
423
|
+
required: [
|
|
424
|
+
'values',
|
|
425
|
+
'version_channel'
|
|
426
|
+
],
|
|
258
427
|
additionalProperties: false
|
|
259
428
|
};
|
|
260
429
|
export const ClusterCreateInputSchema = {
|
|
@@ -271,27 +440,118 @@ export const ClusterCreateInputSchema = {
|
|
|
271
440
|
tier: {
|
|
272
441
|
type: 'string',
|
|
273
442
|
description: 'Tier of the cluster.',
|
|
443
|
+
default: 'basic',
|
|
274
444
|
example: 'pro',
|
|
275
|
-
enum: [
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
default: 'staging',
|
|
281
|
-
example: 'northamerica-central-1a',
|
|
282
|
-
enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
|
|
445
|
+
enum: [
|
|
446
|
+
'basic',
|
|
447
|
+
'pro',
|
|
448
|
+
'enterprise'
|
|
449
|
+
]
|
|
283
450
|
},
|
|
284
451
|
version_channel: {
|
|
285
452
|
type: 'string',
|
|
286
453
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
287
454
|
description: 'Version of the kubernetes cluster.',
|
|
288
455
|
default: '1.x.x-cfke.x',
|
|
289
|
-
example: '1.x.x-cfke.x'
|
|
290
|
-
|
|
456
|
+
example: '1.x.x-cfke.x'
|
|
457
|
+
},
|
|
458
|
+
release_channel: {
|
|
459
|
+
type: 'string',
|
|
460
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
461
|
+
default: 'rapid',
|
|
462
|
+
example: 'rapid',
|
|
463
|
+
enum: [
|
|
464
|
+
'rapid',
|
|
465
|
+
'stable',
|
|
466
|
+
'extended'
|
|
467
|
+
]
|
|
468
|
+
},
|
|
469
|
+
features: {
|
|
470
|
+
type: 'object',
|
|
471
|
+
properties: {
|
|
472
|
+
gpu_sharing_strategy: {
|
|
473
|
+
type: 'string',
|
|
474
|
+
description: 'GPU sharing strategy.',
|
|
475
|
+
default: 'none',
|
|
476
|
+
example: 'none',
|
|
477
|
+
enum: [
|
|
478
|
+
'none',
|
|
479
|
+
'mps',
|
|
480
|
+
'time_slicing'
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
gpu_max_shared_clients_per_gpu: {
|
|
484
|
+
type: 'integer',
|
|
485
|
+
minimum: 2,
|
|
486
|
+
maximum: 48,
|
|
487
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
488
|
+
default: 4,
|
|
489
|
+
example: 10
|
|
490
|
+
},
|
|
491
|
+
cilium_socket_lb_host_namespace_only: {
|
|
492
|
+
type: 'boolean',
|
|
493
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
494
|
+
example: false
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
additionalProperties: false,
|
|
498
|
+
description: 'Cluster feature toggles.',
|
|
499
|
+
default: {
|
|
500
|
+
gpu_sharing_strategy: 'none',
|
|
501
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
502
|
+
cilium_socket_lb_host_namespace_only: false
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
region: {
|
|
506
|
+
type: 'string',
|
|
507
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
508
|
+
example: 'europe-central-1a'
|
|
509
|
+
},
|
|
510
|
+
networking: {
|
|
511
|
+
type: 'object',
|
|
512
|
+
properties: {
|
|
513
|
+
pod_cidr: {
|
|
514
|
+
type: 'string',
|
|
515
|
+
description: 'CIDR block for pod IPs.',
|
|
516
|
+
default: '10.244.0.0/16'
|
|
517
|
+
},
|
|
518
|
+
service_cidr: {
|
|
519
|
+
type: 'string',
|
|
520
|
+
description: 'CIDR block for service IPs.',
|
|
521
|
+
default: '10.96.0.0/12'
|
|
522
|
+
},
|
|
523
|
+
dual_stack: {
|
|
524
|
+
type: 'boolean',
|
|
525
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
526
|
+
},
|
|
527
|
+
pod_cidr_v6: {
|
|
528
|
+
type: 'string',
|
|
529
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
530
|
+
default: '2001:db8:1:2::/48'
|
|
531
|
+
},
|
|
532
|
+
service_cidr_v6: {
|
|
533
|
+
type: 'string',
|
|
534
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
535
|
+
default: '2001:db8:1:1::/112'
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
additionalProperties: false,
|
|
539
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
540
|
+
default: {
|
|
541
|
+
pod_cidr: '10.244.0.0/16',
|
|
542
|
+
service_cidr: '10.96.0.0/12',
|
|
543
|
+
dual_stack: false,
|
|
544
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
545
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
546
|
+
}
|
|
291
547
|
}
|
|
292
548
|
},
|
|
293
|
-
required: [
|
|
294
|
-
|
|
549
|
+
required: [
|
|
550
|
+
'name',
|
|
551
|
+
'region'
|
|
552
|
+
],
|
|
553
|
+
additionalProperties: false,
|
|
554
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
295
555
|
};
|
|
296
556
|
export const ClusterJoinInformationSchema = {
|
|
297
557
|
type: 'object',
|
|
@@ -299,8 +559,7 @@ export const ClusterJoinInformationSchema = {
|
|
|
299
559
|
certificate_authority: {
|
|
300
560
|
type: 'string',
|
|
301
561
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
302
|
-
example:
|
|
303
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
562
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
304
563
|
},
|
|
305
564
|
endpoint: {
|
|
306
565
|
type: 'string',
|
|
@@ -308,11 +567,26 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
308
567
|
description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
|
|
309
568
|
example: 'https://10.31.64.7:6443'
|
|
310
569
|
},
|
|
570
|
+
cluster_dns: {
|
|
571
|
+
type: 'string',
|
|
572
|
+
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
573
|
+
example: '10.96.0.10'
|
|
574
|
+
},
|
|
575
|
+
pod_cidr: {
|
|
576
|
+
type: 'string',
|
|
577
|
+
description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
|
|
578
|
+
example: '10.244.0.0/16'
|
|
579
|
+
},
|
|
311
580
|
auth_key: {
|
|
312
581
|
type: 'string',
|
|
313
582
|
description: 'Authentication key for the cluster.',
|
|
314
583
|
example: 'tskey-auth-kBV8wr1dk911CNTRL-...'
|
|
315
584
|
},
|
|
585
|
+
login_server: {
|
|
586
|
+
type: 'string',
|
|
587
|
+
description: 'Coordination server the node registers against. Empty on data plane v1 clusters, where the node advertises its own tag instead. A non-empty value requires a client that declares the dataplane-v2 capability.',
|
|
588
|
+
example: 'https://415026b6-f00f-44f8-968d-fc6ef4d0fc6d.fabric.europe-central-1a.cfke.io'
|
|
589
|
+
},
|
|
316
590
|
bootstrap_token: {
|
|
317
591
|
type: 'string',
|
|
318
592
|
description: 'Bootstrap token for the cluster.',
|
|
@@ -342,7 +616,12 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
342
616
|
example: '565.0.0'
|
|
343
617
|
}
|
|
344
618
|
},
|
|
345
|
-
required: [
|
|
619
|
+
required: [
|
|
620
|
+
'kubernetes',
|
|
621
|
+
'tailscale',
|
|
622
|
+
'containerd',
|
|
623
|
+
'nvidia_driver'
|
|
624
|
+
],
|
|
346
625
|
additionalProperties: false,
|
|
347
626
|
description: 'Versions of the different components of the cluster.'
|
|
348
627
|
},
|
|
@@ -365,12 +644,26 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
365
644
|
example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
|
|
366
645
|
}
|
|
367
646
|
},
|
|
368
|
-
required: [
|
|
647
|
+
required: [
|
|
648
|
+
'metadata_url',
|
|
649
|
+
'aws_role_arn',
|
|
650
|
+
'gcp_workload_identity_provider'
|
|
651
|
+
],
|
|
369
652
|
additionalProperties: false,
|
|
370
|
-
description:
|
|
653
|
+
description: 'OIDC Information for hosts to access to third party API\'s.'
|
|
371
654
|
}
|
|
372
655
|
},
|
|
373
|
-
required: [
|
|
656
|
+
required: [
|
|
657
|
+
'certificate_authority',
|
|
658
|
+
'endpoint',
|
|
659
|
+
'cluster_dns',
|
|
660
|
+
'pod_cidr',
|
|
661
|
+
'auth_key',
|
|
662
|
+
'login_server',
|
|
663
|
+
'bootstrap_token',
|
|
664
|
+
'versions',
|
|
665
|
+
'third_party_api_access_config'
|
|
666
|
+
],
|
|
374
667
|
additionalProperties: false
|
|
375
668
|
};
|
|
376
669
|
export const ClusterSchema = {
|
|
@@ -387,15 +680,122 @@ export const ClusterSchema = {
|
|
|
387
680
|
tier: {
|
|
388
681
|
type: 'string',
|
|
389
682
|
description: 'Tier of the cluster.',
|
|
683
|
+
default: 'basic',
|
|
390
684
|
example: 'pro',
|
|
391
|
-
enum: [
|
|
685
|
+
enum: [
|
|
686
|
+
'basic',
|
|
687
|
+
'pro',
|
|
688
|
+
'enterprise'
|
|
689
|
+
]
|
|
690
|
+
},
|
|
691
|
+
version_channel: {
|
|
692
|
+
type: 'string',
|
|
693
|
+
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
694
|
+
description: 'Version of the kubernetes cluster.',
|
|
695
|
+
default: '1.x.x-cfke.x',
|
|
696
|
+
example: '1.x.x-cfke.x'
|
|
697
|
+
},
|
|
698
|
+
release_channel: {
|
|
699
|
+
type: 'string',
|
|
700
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
701
|
+
default: 'rapid',
|
|
702
|
+
example: 'rapid',
|
|
703
|
+
enum: [
|
|
704
|
+
'rapid',
|
|
705
|
+
'stable',
|
|
706
|
+
'extended'
|
|
707
|
+
]
|
|
708
|
+
},
|
|
709
|
+
features: {
|
|
710
|
+
type: 'object',
|
|
711
|
+
properties: {
|
|
712
|
+
gpu_sharing_strategy: {
|
|
713
|
+
type: 'string',
|
|
714
|
+
description: 'GPU sharing strategy.',
|
|
715
|
+
default: 'none',
|
|
716
|
+
example: 'none',
|
|
717
|
+
enum: [
|
|
718
|
+
'none',
|
|
719
|
+
'mps',
|
|
720
|
+
'time_slicing'
|
|
721
|
+
]
|
|
722
|
+
},
|
|
723
|
+
gpu_max_shared_clients_per_gpu: {
|
|
724
|
+
type: 'integer',
|
|
725
|
+
minimum: 2,
|
|
726
|
+
maximum: 48,
|
|
727
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
728
|
+
default: 4,
|
|
729
|
+
example: 10
|
|
730
|
+
},
|
|
731
|
+
cilium_socket_lb_host_namespace_only: {
|
|
732
|
+
type: 'boolean',
|
|
733
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
734
|
+
example: false
|
|
735
|
+
}
|
|
736
|
+
},
|
|
737
|
+
required: [
|
|
738
|
+
'gpu_sharing_strategy',
|
|
739
|
+
'gpu_max_shared_clients_per_gpu',
|
|
740
|
+
'cilium_socket_lb_host_namespace_only'
|
|
741
|
+
],
|
|
742
|
+
additionalProperties: false,
|
|
743
|
+
description: 'Cluster feature toggles.',
|
|
744
|
+
default: {
|
|
745
|
+
gpu_sharing_strategy: 'none',
|
|
746
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
747
|
+
cilium_socket_lb_host_namespace_only: false
|
|
748
|
+
}
|
|
392
749
|
},
|
|
393
750
|
region: {
|
|
394
751
|
type: 'string',
|
|
395
|
-
description: 'Cloudfleet control plane region.
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
752
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
753
|
+
example: 'europe-central-1a'
|
|
754
|
+
},
|
|
755
|
+
networking: {
|
|
756
|
+
type: 'object',
|
|
757
|
+
properties: {
|
|
758
|
+
pod_cidr: {
|
|
759
|
+
type: 'string',
|
|
760
|
+
description: 'CIDR block for pod IPs.',
|
|
761
|
+
default: '10.244.0.0/16'
|
|
762
|
+
},
|
|
763
|
+
service_cidr: {
|
|
764
|
+
type: 'string',
|
|
765
|
+
description: 'CIDR block for service IPs.',
|
|
766
|
+
default: '10.96.0.0/12'
|
|
767
|
+
},
|
|
768
|
+
dual_stack: {
|
|
769
|
+
type: 'boolean',
|
|
770
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
771
|
+
},
|
|
772
|
+
pod_cidr_v6: {
|
|
773
|
+
type: 'string',
|
|
774
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
775
|
+
default: '2001:db8:1:2::/48'
|
|
776
|
+
},
|
|
777
|
+
service_cidr_v6: {
|
|
778
|
+
type: 'string',
|
|
779
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
780
|
+
default: '2001:db8:1:1::/112'
|
|
781
|
+
}
|
|
782
|
+
},
|
|
783
|
+
required: [
|
|
784
|
+
'pod_cidr',
|
|
785
|
+
'service_cidr',
|
|
786
|
+
'dual_stack',
|
|
787
|
+
'pod_cidr_v6',
|
|
788
|
+
'service_cidr_v6'
|
|
789
|
+
],
|
|
790
|
+
additionalProperties: false,
|
|
791
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
792
|
+
default: {
|
|
793
|
+
pod_cidr: '10.244.0.0/16',
|
|
794
|
+
service_cidr: '10.96.0.0/12',
|
|
795
|
+
dual_stack: false,
|
|
796
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
797
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
798
|
+
}
|
|
399
799
|
},
|
|
400
800
|
id: {
|
|
401
801
|
type: 'string',
|
|
@@ -405,29 +805,51 @@ export const ClusterSchema = {
|
|
|
405
805
|
},
|
|
406
806
|
status: {
|
|
407
807
|
type: 'string',
|
|
408
|
-
description: 'Status of the cluster.
|
|
409
|
-
example: '
|
|
410
|
-
enum: [
|
|
808
|
+
description: 'Status of the cluster.',
|
|
809
|
+
example: 'deployed',
|
|
810
|
+
enum: [
|
|
811
|
+
'creating',
|
|
812
|
+
'deployed',
|
|
813
|
+
'updating',
|
|
814
|
+
'disabled'
|
|
815
|
+
]
|
|
411
816
|
},
|
|
412
817
|
endpoint: {
|
|
413
818
|
anyOf: [
|
|
414
819
|
{
|
|
415
820
|
type: 'string',
|
|
416
821
|
format: 'uri',
|
|
417
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
418
|
-
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.
|
|
822
|
+
description: 'URL signed by a public CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
823
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
type: 'string',
|
|
827
|
+
enum: [
|
|
828
|
+
''
|
|
829
|
+
]
|
|
830
|
+
}
|
|
831
|
+
]
|
|
832
|
+
},
|
|
833
|
+
endpoint_public: {
|
|
834
|
+
anyOf: [
|
|
835
|
+
{
|
|
836
|
+
type: 'string',
|
|
837
|
+
format: 'uri',
|
|
838
|
+
description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
|
|
839
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
419
840
|
},
|
|
420
841
|
{
|
|
421
842
|
type: 'string',
|
|
422
|
-
enum: [
|
|
843
|
+
enum: [
|
|
844
|
+
''
|
|
845
|
+
]
|
|
423
846
|
}
|
|
424
847
|
]
|
|
425
848
|
},
|
|
426
849
|
certificate_ca: {
|
|
427
850
|
type: 'string',
|
|
428
851
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
429
|
-
example:
|
|
430
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
852
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
431
853
|
},
|
|
432
854
|
version_current: {
|
|
433
855
|
type: 'string',
|
|
@@ -448,16 +870,22 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
448
870
|
type: 'boolean',
|
|
449
871
|
description: 'Indicates if the cluster is ready to be used.',
|
|
450
872
|
example: true
|
|
451
|
-
},
|
|
452
|
-
version_channel: {
|
|
453
|
-
type: 'string',
|
|
454
|
-
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
455
|
-
description: 'Version of the kubernetes cluster.',
|
|
456
|
-
example: '1.x.x-cfke.x'
|
|
457
873
|
}
|
|
458
874
|
},
|
|
459
|
-
required: [
|
|
460
|
-
|
|
875
|
+
required: [
|
|
876
|
+
'name',
|
|
877
|
+
'tier',
|
|
878
|
+
'version_channel',
|
|
879
|
+
'release_channel',
|
|
880
|
+
'features',
|
|
881
|
+
'region',
|
|
882
|
+
'networking',
|
|
883
|
+
'id',
|
|
884
|
+
'status',
|
|
885
|
+
'ready'
|
|
886
|
+
],
|
|
887
|
+
additionalProperties: false,
|
|
888
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
461
889
|
};
|
|
462
890
|
export const ClusterUpdateInputSchema = {
|
|
463
891
|
type: 'object',
|
|
@@ -473,18 +901,74 @@ export const ClusterUpdateInputSchema = {
|
|
|
473
901
|
tier: {
|
|
474
902
|
type: 'string',
|
|
475
903
|
description: 'Tier of the cluster.',
|
|
904
|
+
default: 'basic',
|
|
476
905
|
example: 'pro',
|
|
477
|
-
enum: [
|
|
906
|
+
enum: [
|
|
907
|
+
'basic',
|
|
908
|
+
'pro',
|
|
909
|
+
'enterprise'
|
|
910
|
+
]
|
|
478
911
|
},
|
|
479
912
|
version_channel: {
|
|
480
913
|
type: 'string',
|
|
481
914
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
482
915
|
description: 'Version of the kubernetes cluster.',
|
|
916
|
+
default: '1.x.x-cfke.x',
|
|
483
917
|
example: '1.x.x-cfke.x'
|
|
918
|
+
},
|
|
919
|
+
release_channel: {
|
|
920
|
+
type: 'string',
|
|
921
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
922
|
+
default: 'rapid',
|
|
923
|
+
example: 'rapid',
|
|
924
|
+
enum: [
|
|
925
|
+
'rapid',
|
|
926
|
+
'stable',
|
|
927
|
+
'extended'
|
|
928
|
+
]
|
|
929
|
+
},
|
|
930
|
+
features: {
|
|
931
|
+
type: 'object',
|
|
932
|
+
properties: {
|
|
933
|
+
gpu_sharing_strategy: {
|
|
934
|
+
type: 'string',
|
|
935
|
+
description: 'GPU sharing strategy.',
|
|
936
|
+
default: 'none',
|
|
937
|
+
example: 'none',
|
|
938
|
+
enum: [
|
|
939
|
+
'none',
|
|
940
|
+
'mps',
|
|
941
|
+
'time_slicing'
|
|
942
|
+
]
|
|
943
|
+
},
|
|
944
|
+
gpu_max_shared_clients_per_gpu: {
|
|
945
|
+
type: 'integer',
|
|
946
|
+
minimum: 2,
|
|
947
|
+
maximum: 48,
|
|
948
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
949
|
+
default: 4,
|
|
950
|
+
example: 10
|
|
951
|
+
},
|
|
952
|
+
cilium_socket_lb_host_namespace_only: {
|
|
953
|
+
type: 'boolean',
|
|
954
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
955
|
+
example: false
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
additionalProperties: false,
|
|
959
|
+
description: 'Cluster feature toggles.',
|
|
960
|
+
default: {
|
|
961
|
+
gpu_sharing_strategy: 'none',
|
|
962
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
963
|
+
cilium_socket_lb_host_namespace_only: false
|
|
964
|
+
}
|
|
484
965
|
}
|
|
485
966
|
},
|
|
486
|
-
required: [
|
|
487
|
-
|
|
967
|
+
required: [
|
|
968
|
+
'name'
|
|
969
|
+
],
|
|
970
|
+
additionalProperties: false,
|
|
971
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
488
972
|
};
|
|
489
973
|
export const FleetCreateInputSchema = {
|
|
490
974
|
type: 'object',
|
|
@@ -493,13 +977,12 @@ export const FleetCreateInputSchema = {
|
|
|
493
977
|
type: 'object',
|
|
494
978
|
properties: {
|
|
495
979
|
cpu: {
|
|
496
|
-
type: '
|
|
497
|
-
format: 'float',
|
|
980
|
+
type: 'integer',
|
|
498
981
|
minimum: 0,
|
|
499
|
-
|
|
982
|
+
maximum: 100000,
|
|
983
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
500
984
|
}
|
|
501
985
|
},
|
|
502
|
-
required: ['cpu'],
|
|
503
986
|
additionalProperties: false,
|
|
504
987
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
505
988
|
},
|
|
@@ -507,47 +990,396 @@ export const FleetCreateInputSchema = {
|
|
|
507
990
|
type: 'object',
|
|
508
991
|
properties: {
|
|
509
992
|
enabled: {
|
|
510
|
-
type: 'boolean'
|
|
511
|
-
default: true
|
|
993
|
+
type: 'boolean'
|
|
512
994
|
},
|
|
513
995
|
project: {
|
|
514
996
|
type: 'string',
|
|
515
|
-
|
|
997
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
998
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
999
|
+
example: 'my-cloudfleet-project'
|
|
516
1000
|
}
|
|
517
1001
|
},
|
|
518
|
-
required: [
|
|
1002
|
+
required: [
|
|
1003
|
+
'enabled'
|
|
1004
|
+
],
|
|
519
1005
|
additionalProperties: false
|
|
520
1006
|
},
|
|
521
1007
|
hetzner: {
|
|
522
1008
|
type: 'object',
|
|
523
1009
|
properties: {
|
|
524
1010
|
enabled: {
|
|
525
|
-
type: 'boolean'
|
|
526
|
-
default: true
|
|
1011
|
+
type: 'boolean'
|
|
527
1012
|
},
|
|
528
1013
|
apiKey: {
|
|
529
1014
|
type: 'string',
|
|
530
|
-
|
|
1015
|
+
maxLength: 64,
|
|
1016
|
+
minLength: 64,
|
|
1017
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1018
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
531
1019
|
}
|
|
532
1020
|
},
|
|
533
|
-
required: [
|
|
1021
|
+
required: [
|
|
1022
|
+
'enabled'
|
|
1023
|
+
],
|
|
534
1024
|
additionalProperties: false
|
|
535
1025
|
},
|
|
536
1026
|
aws: {
|
|
537
1027
|
type: 'object',
|
|
538
1028
|
properties: {
|
|
539
1029
|
enabled: {
|
|
540
|
-
type: 'boolean'
|
|
541
|
-
default: true
|
|
1030
|
+
type: 'boolean'
|
|
542
1031
|
},
|
|
543
1032
|
controllerRoleArn: {
|
|
544
1033
|
type: 'string',
|
|
545
|
-
|
|
1034
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1035
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1036
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
546
1037
|
}
|
|
547
1038
|
},
|
|
548
|
-
required: [
|
|
1039
|
+
required: [
|
|
1040
|
+
'enabled'
|
|
1041
|
+
],
|
|
549
1042
|
additionalProperties: false
|
|
550
1043
|
},
|
|
1044
|
+
constraints: {
|
|
1045
|
+
type: 'object',
|
|
1046
|
+
properties: {
|
|
1047
|
+
'karpenter.sh/capacity-type': {
|
|
1048
|
+
type: 'array',
|
|
1049
|
+
items: {
|
|
1050
|
+
type: 'string',
|
|
1051
|
+
enum: [
|
|
1052
|
+
'on-demand',
|
|
1053
|
+
'spot'
|
|
1054
|
+
]
|
|
1055
|
+
},
|
|
1056
|
+
minItems: 1,
|
|
1057
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1058
|
+
default: [
|
|
1059
|
+
'on-demand',
|
|
1060
|
+
'spot'
|
|
1061
|
+
]
|
|
1062
|
+
},
|
|
1063
|
+
'kubernetes.io/arch': {
|
|
1064
|
+
type: 'array',
|
|
1065
|
+
items: {
|
|
1066
|
+
type: 'string',
|
|
1067
|
+
enum: [
|
|
1068
|
+
'amd64',
|
|
1069
|
+
'arm64'
|
|
1070
|
+
]
|
|
1071
|
+
},
|
|
1072
|
+
minItems: 1,
|
|
1073
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1074
|
+
default: [
|
|
1075
|
+
'amd64'
|
|
1076
|
+
]
|
|
1077
|
+
},
|
|
1078
|
+
'cfke.io/instance-family': {
|
|
1079
|
+
type: 'array',
|
|
1080
|
+
items: {
|
|
1081
|
+
type: 'string',
|
|
1082
|
+
enum: [
|
|
1083
|
+
'a1',
|
|
1084
|
+
'a2',
|
|
1085
|
+
'a3',
|
|
1086
|
+
'a4',
|
|
1087
|
+
'c1',
|
|
1088
|
+
'c2',
|
|
1089
|
+
'c2d',
|
|
1090
|
+
'c3',
|
|
1091
|
+
'c3d',
|
|
1092
|
+
'c4',
|
|
1093
|
+
'c4a',
|
|
1094
|
+
'c4d',
|
|
1095
|
+
'c5',
|
|
1096
|
+
'c5a',
|
|
1097
|
+
'c5ad',
|
|
1098
|
+
'c5d',
|
|
1099
|
+
'c5n',
|
|
1100
|
+
'c6a',
|
|
1101
|
+
'c6g',
|
|
1102
|
+
'c6gd',
|
|
1103
|
+
'c6gn',
|
|
1104
|
+
'c6i',
|
|
1105
|
+
'c6id',
|
|
1106
|
+
'c6in',
|
|
1107
|
+
'c7a',
|
|
1108
|
+
'c7g',
|
|
1109
|
+
'c7gd',
|
|
1110
|
+
'c7gn',
|
|
1111
|
+
'c7i',
|
|
1112
|
+
'c7i-flex',
|
|
1113
|
+
'c8g',
|
|
1114
|
+
'c8gd',
|
|
1115
|
+
'cax',
|
|
1116
|
+
'ccx',
|
|
1117
|
+
'cpx',
|
|
1118
|
+
'cx',
|
|
1119
|
+
'd2',
|
|
1120
|
+
'd3',
|
|
1121
|
+
'd3en',
|
|
1122
|
+
'dl1',
|
|
1123
|
+
'dl2q',
|
|
1124
|
+
'e2',
|
|
1125
|
+
'f1',
|
|
1126
|
+
'f2',
|
|
1127
|
+
'g1',
|
|
1128
|
+
'g2',
|
|
1129
|
+
'g4ad',
|
|
1130
|
+
'g4dn',
|
|
1131
|
+
'g5',
|
|
1132
|
+
'g5g',
|
|
1133
|
+
'g6',
|
|
1134
|
+
'g6e',
|
|
1135
|
+
'gr6',
|
|
1136
|
+
'h1',
|
|
1137
|
+
'h3',
|
|
1138
|
+
'hpc6a',
|
|
1139
|
+
'hpc6id',
|
|
1140
|
+
'hpc7a',
|
|
1141
|
+
'hpc7g',
|
|
1142
|
+
'i2',
|
|
1143
|
+
'i3',
|
|
1144
|
+
'i3en',
|
|
1145
|
+
'i4g',
|
|
1146
|
+
'i4i',
|
|
1147
|
+
'i7i',
|
|
1148
|
+
'i7ie',
|
|
1149
|
+
'i8g',
|
|
1150
|
+
'im4gn',
|
|
1151
|
+
'inf1',
|
|
1152
|
+
'inf2',
|
|
1153
|
+
'is4gen',
|
|
1154
|
+
'm1',
|
|
1155
|
+
'm2',
|
|
1156
|
+
'm3',
|
|
1157
|
+
'm4',
|
|
1158
|
+
'm5',
|
|
1159
|
+
'm5a',
|
|
1160
|
+
'm5ad',
|
|
1161
|
+
'm5d',
|
|
1162
|
+
'm5dn',
|
|
1163
|
+
'm5n',
|
|
1164
|
+
'm5zn',
|
|
1165
|
+
'm6a',
|
|
1166
|
+
'm6g',
|
|
1167
|
+
'm6gd',
|
|
1168
|
+
'm6i',
|
|
1169
|
+
'm6id',
|
|
1170
|
+
'm6idn',
|
|
1171
|
+
'm6in',
|
|
1172
|
+
'm7a',
|
|
1173
|
+
'm7g',
|
|
1174
|
+
'm7gd',
|
|
1175
|
+
'm7i',
|
|
1176
|
+
'm7i-flex',
|
|
1177
|
+
'm8g',
|
|
1178
|
+
'm8gd',
|
|
1179
|
+
'n1',
|
|
1180
|
+
'n2',
|
|
1181
|
+
'n2d',
|
|
1182
|
+
'n4',
|
|
1183
|
+
'p3',
|
|
1184
|
+
'p3dn',
|
|
1185
|
+
'p4d',
|
|
1186
|
+
'p4de',
|
|
1187
|
+
'p5',
|
|
1188
|
+
'p5e',
|
|
1189
|
+
'p5en',
|
|
1190
|
+
'p6-b200',
|
|
1191
|
+
'r3',
|
|
1192
|
+
'r4',
|
|
1193
|
+
'r5',
|
|
1194
|
+
'r5a',
|
|
1195
|
+
'r5ad',
|
|
1196
|
+
'r5b',
|
|
1197
|
+
'r5d',
|
|
1198
|
+
'r5dn',
|
|
1199
|
+
'r5n',
|
|
1200
|
+
'r6a',
|
|
1201
|
+
'r6g',
|
|
1202
|
+
'r6gd',
|
|
1203
|
+
'r6i',
|
|
1204
|
+
'r6id',
|
|
1205
|
+
'r6idn',
|
|
1206
|
+
'r6in',
|
|
1207
|
+
'r7a',
|
|
1208
|
+
'r7g',
|
|
1209
|
+
'r7gd',
|
|
1210
|
+
'r7i',
|
|
1211
|
+
'r7iz',
|
|
1212
|
+
'r8g',
|
|
1213
|
+
'r8gd',
|
|
1214
|
+
't2',
|
|
1215
|
+
't2a',
|
|
1216
|
+
't2d',
|
|
1217
|
+
't3',
|
|
1218
|
+
't3a',
|
|
1219
|
+
't4g',
|
|
1220
|
+
'trn1',
|
|
1221
|
+
'trn1n',
|
|
1222
|
+
'u-3tb1',
|
|
1223
|
+
'u-6tb1',
|
|
1224
|
+
'u7i-12tb',
|
|
1225
|
+
'u7i-6tb',
|
|
1226
|
+
'u7i-8tb',
|
|
1227
|
+
'u7in-16tb',
|
|
1228
|
+
'u7in-24tb',
|
|
1229
|
+
'u7in-32tb',
|
|
1230
|
+
'vt1',
|
|
1231
|
+
'x1',
|
|
1232
|
+
'x1e',
|
|
1233
|
+
'x2gd',
|
|
1234
|
+
'x2idn',
|
|
1235
|
+
'x2iedn',
|
|
1236
|
+
'x2iezn',
|
|
1237
|
+
'x4',
|
|
1238
|
+
'x8g',
|
|
1239
|
+
'z1d',
|
|
1240
|
+
'z3'
|
|
1241
|
+
]
|
|
1242
|
+
},
|
|
1243
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1244
|
+
default: []
|
|
1245
|
+
},
|
|
1246
|
+
'topology.kubernetes.io/region': {
|
|
1247
|
+
type: 'array',
|
|
1248
|
+
items: {
|
|
1249
|
+
type: 'string',
|
|
1250
|
+
enum: [
|
|
1251
|
+
'africa-south1',
|
|
1252
|
+
'ap-northeast-1',
|
|
1253
|
+
'ap-northeast-2',
|
|
1254
|
+
'ap-northeast-3',
|
|
1255
|
+
'ap-south-1',
|
|
1256
|
+
'ap-southeast-1',
|
|
1257
|
+
'ap-southeast-2',
|
|
1258
|
+
'ash',
|
|
1259
|
+
'asia-east1',
|
|
1260
|
+
'asia-east2',
|
|
1261
|
+
'asia-northeast1',
|
|
1262
|
+
'asia-northeast2',
|
|
1263
|
+
'asia-northeast3',
|
|
1264
|
+
'asia-south1',
|
|
1265
|
+
'asia-south2',
|
|
1266
|
+
'asia-southeast1',
|
|
1267
|
+
'asia-southeast2',
|
|
1268
|
+
'australia-southeast1',
|
|
1269
|
+
'australia-southeast2',
|
|
1270
|
+
'ca-central-1',
|
|
1271
|
+
'eu-central-1',
|
|
1272
|
+
'eu-central-2',
|
|
1273
|
+
'eu-north-1',
|
|
1274
|
+
'eu-west-1',
|
|
1275
|
+
'eu-west-2',
|
|
1276
|
+
'eu-west-3',
|
|
1277
|
+
'europe-central2',
|
|
1278
|
+
'europe-north1',
|
|
1279
|
+
'europe-southwest1',
|
|
1280
|
+
'europe-west1',
|
|
1281
|
+
'europe-west10',
|
|
1282
|
+
'europe-west12',
|
|
1283
|
+
'europe-west2',
|
|
1284
|
+
'europe-west3',
|
|
1285
|
+
'europe-west4',
|
|
1286
|
+
'europe-west6',
|
|
1287
|
+
'europe-west8',
|
|
1288
|
+
'europe-west9',
|
|
1289
|
+
'fsn1',
|
|
1290
|
+
'hel1',
|
|
1291
|
+
'hil',
|
|
1292
|
+
'me-central1',
|
|
1293
|
+
'me-central2',
|
|
1294
|
+
'me-west1',
|
|
1295
|
+
'nbg1',
|
|
1296
|
+
'northamerica-northeast1',
|
|
1297
|
+
'northamerica-northeast2',
|
|
1298
|
+
'sa-east-1',
|
|
1299
|
+
'sin',
|
|
1300
|
+
'southamerica-east1',
|
|
1301
|
+
'southamerica-west1',
|
|
1302
|
+
'us-central1',
|
|
1303
|
+
'us-east-1',
|
|
1304
|
+
'us-east-2',
|
|
1305
|
+
'us-east1',
|
|
1306
|
+
'us-east4',
|
|
1307
|
+
'us-east5',
|
|
1308
|
+
'us-south1',
|
|
1309
|
+
'us-west-1',
|
|
1310
|
+
'us-west-2',
|
|
1311
|
+
'us-west1',
|
|
1312
|
+
'us-west2',
|
|
1313
|
+
'us-west3',
|
|
1314
|
+
'us-west4'
|
|
1315
|
+
]
|
|
1316
|
+
},
|
|
1317
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1318
|
+
default: []
|
|
1319
|
+
}
|
|
1320
|
+
},
|
|
1321
|
+
additionalProperties: false,
|
|
1322
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
1323
|
+
default: {
|
|
1324
|
+
'karpenter.sh/capacity-type': [
|
|
1325
|
+
'on-demand',
|
|
1326
|
+
'spot'
|
|
1327
|
+
],
|
|
1328
|
+
'kubernetes.io/arch': [
|
|
1329
|
+
'amd64'
|
|
1330
|
+
],
|
|
1331
|
+
'cfke.io/instance-family': [],
|
|
1332
|
+
'topology.kubernetes.io/region': []
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
scalingProfile: {
|
|
1336
|
+
type: 'string',
|
|
1337
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1338
|
+
default: 'conservative',
|
|
1339
|
+
example: 'conservative',
|
|
1340
|
+
enum: [
|
|
1341
|
+
'aggressive',
|
|
1342
|
+
'conservative'
|
|
1343
|
+
]
|
|
1344
|
+
},
|
|
1345
|
+
taints: {
|
|
1346
|
+
type: 'array',
|
|
1347
|
+
items: {
|
|
1348
|
+
type: 'object',
|
|
1349
|
+
properties: {
|
|
1350
|
+
key: {
|
|
1351
|
+
type: 'string',
|
|
1352
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1353
|
+
example: 'dedicated'
|
|
1354
|
+
},
|
|
1355
|
+
value: {
|
|
1356
|
+
type: 'string',
|
|
1357
|
+
maxLength: 63,
|
|
1358
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1359
|
+
description: 'Taint value. Optional.',
|
|
1360
|
+
example: 'ci'
|
|
1361
|
+
},
|
|
1362
|
+
effect: {
|
|
1363
|
+
type: 'string',
|
|
1364
|
+
description: 'Taint effect.',
|
|
1365
|
+
example: 'NoSchedule',
|
|
1366
|
+
enum: [
|
|
1367
|
+
'NoSchedule',
|
|
1368
|
+
'PreferNoSchedule',
|
|
1369
|
+
'NoExecute'
|
|
1370
|
+
]
|
|
1371
|
+
}
|
|
1372
|
+
},
|
|
1373
|
+
required: [
|
|
1374
|
+
'key',
|
|
1375
|
+
'effect'
|
|
1376
|
+
],
|
|
1377
|
+
additionalProperties: false
|
|
1378
|
+
},
|
|
1379
|
+
maxItems: 50,
|
|
1380
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1381
|
+
default: []
|
|
1382
|
+
},
|
|
551
1383
|
id: {
|
|
552
1384
|
type: 'string',
|
|
553
1385
|
maxLength: 63,
|
|
@@ -557,8 +1389,11 @@ export const FleetCreateInputSchema = {
|
|
|
557
1389
|
example: 'new-clouds-fleet'
|
|
558
1390
|
}
|
|
559
1391
|
},
|
|
560
|
-
required: [
|
|
561
|
-
|
|
1392
|
+
required: [
|
|
1393
|
+
'id'
|
|
1394
|
+
],
|
|
1395
|
+
additionalProperties: false,
|
|
1396
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
562
1397
|
};
|
|
563
1398
|
export const FleetSchema = {
|
|
564
1399
|
type: 'object',
|
|
@@ -567,13 +1402,12 @@ export const FleetSchema = {
|
|
|
567
1402
|
type: 'object',
|
|
568
1403
|
properties: {
|
|
569
1404
|
cpu: {
|
|
570
|
-
type: '
|
|
571
|
-
format: 'float',
|
|
1405
|
+
type: 'integer',
|
|
572
1406
|
minimum: 0,
|
|
573
|
-
|
|
1407
|
+
maximum: 100000,
|
|
1408
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
574
1409
|
}
|
|
575
1410
|
},
|
|
576
|
-
required: ['cpu'],
|
|
577
1411
|
additionalProperties: false,
|
|
578
1412
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
579
1413
|
},
|
|
@@ -581,47 +1415,398 @@ export const FleetSchema = {
|
|
|
581
1415
|
type: 'object',
|
|
582
1416
|
properties: {
|
|
583
1417
|
enabled: {
|
|
584
|
-
type: 'boolean'
|
|
585
|
-
default: true
|
|
1418
|
+
type: 'boolean'
|
|
586
1419
|
},
|
|
587
1420
|
project: {
|
|
588
1421
|
type: 'string',
|
|
589
|
-
|
|
1422
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1423
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1424
|
+
example: 'my-cloudfleet-project'
|
|
590
1425
|
}
|
|
591
1426
|
},
|
|
592
|
-
required: [
|
|
1427
|
+
required: [
|
|
1428
|
+
'enabled'
|
|
1429
|
+
],
|
|
593
1430
|
additionalProperties: false
|
|
594
1431
|
},
|
|
595
1432
|
hetzner: {
|
|
596
1433
|
type: 'object',
|
|
597
1434
|
properties: {
|
|
598
1435
|
enabled: {
|
|
599
|
-
type: 'boolean'
|
|
600
|
-
default: true
|
|
1436
|
+
type: 'boolean'
|
|
601
1437
|
},
|
|
602
1438
|
apiKey: {
|
|
603
1439
|
type: 'string',
|
|
604
|
-
|
|
1440
|
+
pattern: '^\\*{64}$',
|
|
1441
|
+
description: 'Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.'
|
|
605
1442
|
}
|
|
606
1443
|
},
|
|
607
|
-
required: [
|
|
1444
|
+
required: [
|
|
1445
|
+
'enabled'
|
|
1446
|
+
],
|
|
608
1447
|
additionalProperties: false
|
|
609
1448
|
},
|
|
610
1449
|
aws: {
|
|
611
1450
|
type: 'object',
|
|
612
1451
|
properties: {
|
|
613
1452
|
enabled: {
|
|
614
|
-
type: 'boolean'
|
|
615
|
-
default: true
|
|
1453
|
+
type: 'boolean'
|
|
616
1454
|
},
|
|
617
1455
|
controllerRoleArn: {
|
|
618
1456
|
type: 'string',
|
|
619
|
-
|
|
1457
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1458
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1459
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
620
1460
|
}
|
|
621
1461
|
},
|
|
622
|
-
required: [
|
|
1462
|
+
required: [
|
|
1463
|
+
'enabled'
|
|
1464
|
+
],
|
|
623
1465
|
additionalProperties: false
|
|
624
1466
|
},
|
|
1467
|
+
constraints: {
|
|
1468
|
+
type: 'object',
|
|
1469
|
+
properties: {
|
|
1470
|
+
'karpenter.sh/capacity-type': {
|
|
1471
|
+
type: 'array',
|
|
1472
|
+
items: {
|
|
1473
|
+
type: 'string',
|
|
1474
|
+
enum: [
|
|
1475
|
+
'on-demand',
|
|
1476
|
+
'spot'
|
|
1477
|
+
]
|
|
1478
|
+
},
|
|
1479
|
+
minItems: 1,
|
|
1480
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1481
|
+
default: [
|
|
1482
|
+
'on-demand',
|
|
1483
|
+
'spot'
|
|
1484
|
+
]
|
|
1485
|
+
},
|
|
1486
|
+
'kubernetes.io/arch': {
|
|
1487
|
+
type: 'array',
|
|
1488
|
+
items: {
|
|
1489
|
+
type: 'string',
|
|
1490
|
+
enum: [
|
|
1491
|
+
'amd64',
|
|
1492
|
+
'arm64'
|
|
1493
|
+
]
|
|
1494
|
+
},
|
|
1495
|
+
minItems: 1,
|
|
1496
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1497
|
+
default: [
|
|
1498
|
+
'amd64'
|
|
1499
|
+
]
|
|
1500
|
+
},
|
|
1501
|
+
'cfke.io/instance-family': {
|
|
1502
|
+
type: 'array',
|
|
1503
|
+
items: {
|
|
1504
|
+
type: 'string',
|
|
1505
|
+
enum: [
|
|
1506
|
+
'a1',
|
|
1507
|
+
'a2',
|
|
1508
|
+
'a3',
|
|
1509
|
+
'a4',
|
|
1510
|
+
'c1',
|
|
1511
|
+
'c2',
|
|
1512
|
+
'c2d',
|
|
1513
|
+
'c3',
|
|
1514
|
+
'c3d',
|
|
1515
|
+
'c4',
|
|
1516
|
+
'c4a',
|
|
1517
|
+
'c4d',
|
|
1518
|
+
'c5',
|
|
1519
|
+
'c5a',
|
|
1520
|
+
'c5ad',
|
|
1521
|
+
'c5d',
|
|
1522
|
+
'c5n',
|
|
1523
|
+
'c6a',
|
|
1524
|
+
'c6g',
|
|
1525
|
+
'c6gd',
|
|
1526
|
+
'c6gn',
|
|
1527
|
+
'c6i',
|
|
1528
|
+
'c6id',
|
|
1529
|
+
'c6in',
|
|
1530
|
+
'c7a',
|
|
1531
|
+
'c7g',
|
|
1532
|
+
'c7gd',
|
|
1533
|
+
'c7gn',
|
|
1534
|
+
'c7i',
|
|
1535
|
+
'c7i-flex',
|
|
1536
|
+
'c8g',
|
|
1537
|
+
'c8gd',
|
|
1538
|
+
'cax',
|
|
1539
|
+
'ccx',
|
|
1540
|
+
'cpx',
|
|
1541
|
+
'cx',
|
|
1542
|
+
'd2',
|
|
1543
|
+
'd3',
|
|
1544
|
+
'd3en',
|
|
1545
|
+
'dl1',
|
|
1546
|
+
'dl2q',
|
|
1547
|
+
'e2',
|
|
1548
|
+
'f1',
|
|
1549
|
+
'f2',
|
|
1550
|
+
'g1',
|
|
1551
|
+
'g2',
|
|
1552
|
+
'g4ad',
|
|
1553
|
+
'g4dn',
|
|
1554
|
+
'g5',
|
|
1555
|
+
'g5g',
|
|
1556
|
+
'g6',
|
|
1557
|
+
'g6e',
|
|
1558
|
+
'gr6',
|
|
1559
|
+
'h1',
|
|
1560
|
+
'h3',
|
|
1561
|
+
'hpc6a',
|
|
1562
|
+
'hpc6id',
|
|
1563
|
+
'hpc7a',
|
|
1564
|
+
'hpc7g',
|
|
1565
|
+
'i2',
|
|
1566
|
+
'i3',
|
|
1567
|
+
'i3en',
|
|
1568
|
+
'i4g',
|
|
1569
|
+
'i4i',
|
|
1570
|
+
'i7i',
|
|
1571
|
+
'i7ie',
|
|
1572
|
+
'i8g',
|
|
1573
|
+
'im4gn',
|
|
1574
|
+
'inf1',
|
|
1575
|
+
'inf2',
|
|
1576
|
+
'is4gen',
|
|
1577
|
+
'm1',
|
|
1578
|
+
'm2',
|
|
1579
|
+
'm3',
|
|
1580
|
+
'm4',
|
|
1581
|
+
'm5',
|
|
1582
|
+
'm5a',
|
|
1583
|
+
'm5ad',
|
|
1584
|
+
'm5d',
|
|
1585
|
+
'm5dn',
|
|
1586
|
+
'm5n',
|
|
1587
|
+
'm5zn',
|
|
1588
|
+
'm6a',
|
|
1589
|
+
'm6g',
|
|
1590
|
+
'm6gd',
|
|
1591
|
+
'm6i',
|
|
1592
|
+
'm6id',
|
|
1593
|
+
'm6idn',
|
|
1594
|
+
'm6in',
|
|
1595
|
+
'm7a',
|
|
1596
|
+
'm7g',
|
|
1597
|
+
'm7gd',
|
|
1598
|
+
'm7i',
|
|
1599
|
+
'm7i-flex',
|
|
1600
|
+
'm8g',
|
|
1601
|
+
'm8gd',
|
|
1602
|
+
'n1',
|
|
1603
|
+
'n2',
|
|
1604
|
+
'n2d',
|
|
1605
|
+
'n4',
|
|
1606
|
+
'p3',
|
|
1607
|
+
'p3dn',
|
|
1608
|
+
'p4d',
|
|
1609
|
+
'p4de',
|
|
1610
|
+
'p5',
|
|
1611
|
+
'p5e',
|
|
1612
|
+
'p5en',
|
|
1613
|
+
'p6-b200',
|
|
1614
|
+
'r3',
|
|
1615
|
+
'r4',
|
|
1616
|
+
'r5',
|
|
1617
|
+
'r5a',
|
|
1618
|
+
'r5ad',
|
|
1619
|
+
'r5b',
|
|
1620
|
+
'r5d',
|
|
1621
|
+
'r5dn',
|
|
1622
|
+
'r5n',
|
|
1623
|
+
'r6a',
|
|
1624
|
+
'r6g',
|
|
1625
|
+
'r6gd',
|
|
1626
|
+
'r6i',
|
|
1627
|
+
'r6id',
|
|
1628
|
+
'r6idn',
|
|
1629
|
+
'r6in',
|
|
1630
|
+
'r7a',
|
|
1631
|
+
'r7g',
|
|
1632
|
+
'r7gd',
|
|
1633
|
+
'r7i',
|
|
1634
|
+
'r7iz',
|
|
1635
|
+
'r8g',
|
|
1636
|
+
'r8gd',
|
|
1637
|
+
't2',
|
|
1638
|
+
't2a',
|
|
1639
|
+
't2d',
|
|
1640
|
+
't3',
|
|
1641
|
+
't3a',
|
|
1642
|
+
't4g',
|
|
1643
|
+
'trn1',
|
|
1644
|
+
'trn1n',
|
|
1645
|
+
'u-3tb1',
|
|
1646
|
+
'u-6tb1',
|
|
1647
|
+
'u7i-12tb',
|
|
1648
|
+
'u7i-6tb',
|
|
1649
|
+
'u7i-8tb',
|
|
1650
|
+
'u7in-16tb',
|
|
1651
|
+
'u7in-24tb',
|
|
1652
|
+
'u7in-32tb',
|
|
1653
|
+
'vt1',
|
|
1654
|
+
'x1',
|
|
1655
|
+
'x1e',
|
|
1656
|
+
'x2gd',
|
|
1657
|
+
'x2idn',
|
|
1658
|
+
'x2iedn',
|
|
1659
|
+
'x2iezn',
|
|
1660
|
+
'x4',
|
|
1661
|
+
'x8g',
|
|
1662
|
+
'z1d',
|
|
1663
|
+
'z3'
|
|
1664
|
+
]
|
|
1665
|
+
},
|
|
1666
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1667
|
+
default: []
|
|
1668
|
+
},
|
|
1669
|
+
'topology.kubernetes.io/region': {
|
|
1670
|
+
type: 'array',
|
|
1671
|
+
items: {
|
|
1672
|
+
type: 'string',
|
|
1673
|
+
enum: [
|
|
1674
|
+
'africa-south1',
|
|
1675
|
+
'ap-northeast-1',
|
|
1676
|
+
'ap-northeast-2',
|
|
1677
|
+
'ap-northeast-3',
|
|
1678
|
+
'ap-south-1',
|
|
1679
|
+
'ap-southeast-1',
|
|
1680
|
+
'ap-southeast-2',
|
|
1681
|
+
'ash',
|
|
1682
|
+
'asia-east1',
|
|
1683
|
+
'asia-east2',
|
|
1684
|
+
'asia-northeast1',
|
|
1685
|
+
'asia-northeast2',
|
|
1686
|
+
'asia-northeast3',
|
|
1687
|
+
'asia-south1',
|
|
1688
|
+
'asia-south2',
|
|
1689
|
+
'asia-southeast1',
|
|
1690
|
+
'asia-southeast2',
|
|
1691
|
+
'australia-southeast1',
|
|
1692
|
+
'australia-southeast2',
|
|
1693
|
+
'ca-central-1',
|
|
1694
|
+
'eu-central-1',
|
|
1695
|
+
'eu-central-2',
|
|
1696
|
+
'eu-north-1',
|
|
1697
|
+
'eu-west-1',
|
|
1698
|
+
'eu-west-2',
|
|
1699
|
+
'eu-west-3',
|
|
1700
|
+
'europe-central2',
|
|
1701
|
+
'europe-north1',
|
|
1702
|
+
'europe-southwest1',
|
|
1703
|
+
'europe-west1',
|
|
1704
|
+
'europe-west10',
|
|
1705
|
+
'europe-west12',
|
|
1706
|
+
'europe-west2',
|
|
1707
|
+
'europe-west3',
|
|
1708
|
+
'europe-west4',
|
|
1709
|
+
'europe-west6',
|
|
1710
|
+
'europe-west8',
|
|
1711
|
+
'europe-west9',
|
|
1712
|
+
'fsn1',
|
|
1713
|
+
'hel1',
|
|
1714
|
+
'hil',
|
|
1715
|
+
'me-central1',
|
|
1716
|
+
'me-central2',
|
|
1717
|
+
'me-west1',
|
|
1718
|
+
'nbg1',
|
|
1719
|
+
'northamerica-northeast1',
|
|
1720
|
+
'northamerica-northeast2',
|
|
1721
|
+
'sa-east-1',
|
|
1722
|
+
'sin',
|
|
1723
|
+
'southamerica-east1',
|
|
1724
|
+
'southamerica-west1',
|
|
1725
|
+
'us-central1',
|
|
1726
|
+
'us-east-1',
|
|
1727
|
+
'us-east-2',
|
|
1728
|
+
'us-east1',
|
|
1729
|
+
'us-east4',
|
|
1730
|
+
'us-east5',
|
|
1731
|
+
'us-south1',
|
|
1732
|
+
'us-west-1',
|
|
1733
|
+
'us-west-2',
|
|
1734
|
+
'us-west1',
|
|
1735
|
+
'us-west2',
|
|
1736
|
+
'us-west3',
|
|
1737
|
+
'us-west4'
|
|
1738
|
+
]
|
|
1739
|
+
},
|
|
1740
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1741
|
+
default: []
|
|
1742
|
+
}
|
|
1743
|
+
},
|
|
1744
|
+
required: [
|
|
1745
|
+
'karpenter.sh/capacity-type',
|
|
1746
|
+
'kubernetes.io/arch'
|
|
1747
|
+
],
|
|
1748
|
+
additionalProperties: false,
|
|
1749
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
1750
|
+
default: {
|
|
1751
|
+
'karpenter.sh/capacity-type': [
|
|
1752
|
+
'on-demand',
|
|
1753
|
+
'spot'
|
|
1754
|
+
],
|
|
1755
|
+
'kubernetes.io/arch': [
|
|
1756
|
+
'amd64'
|
|
1757
|
+
],
|
|
1758
|
+
'cfke.io/instance-family': [],
|
|
1759
|
+
'topology.kubernetes.io/region': []
|
|
1760
|
+
}
|
|
1761
|
+
},
|
|
1762
|
+
scalingProfile: {
|
|
1763
|
+
type: 'string',
|
|
1764
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1765
|
+
default: 'conservative',
|
|
1766
|
+
example: 'conservative',
|
|
1767
|
+
enum: [
|
|
1768
|
+
'aggressive',
|
|
1769
|
+
'conservative'
|
|
1770
|
+
]
|
|
1771
|
+
},
|
|
1772
|
+
taints: {
|
|
1773
|
+
type: 'array',
|
|
1774
|
+
items: {
|
|
1775
|
+
type: 'object',
|
|
1776
|
+
properties: {
|
|
1777
|
+
key: {
|
|
1778
|
+
type: 'string',
|
|
1779
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1780
|
+
example: 'dedicated'
|
|
1781
|
+
},
|
|
1782
|
+
value: {
|
|
1783
|
+
type: 'string',
|
|
1784
|
+
maxLength: 63,
|
|
1785
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1786
|
+
description: 'Taint value. Optional.',
|
|
1787
|
+
example: 'ci'
|
|
1788
|
+
},
|
|
1789
|
+
effect: {
|
|
1790
|
+
type: 'string',
|
|
1791
|
+
description: 'Taint effect.',
|
|
1792
|
+
example: 'NoSchedule',
|
|
1793
|
+
enum: [
|
|
1794
|
+
'NoSchedule',
|
|
1795
|
+
'PreferNoSchedule',
|
|
1796
|
+
'NoExecute'
|
|
1797
|
+
]
|
|
1798
|
+
}
|
|
1799
|
+
},
|
|
1800
|
+
required: [
|
|
1801
|
+
'key',
|
|
1802
|
+
'effect'
|
|
1803
|
+
],
|
|
1804
|
+
additionalProperties: false
|
|
1805
|
+
},
|
|
1806
|
+
maxItems: 50,
|
|
1807
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1808
|
+
default: []
|
|
1809
|
+
},
|
|
625
1810
|
id: {
|
|
626
1811
|
type: 'string',
|
|
627
1812
|
maxLength: 63,
|
|
@@ -629,10 +1814,39 @@ export const FleetSchema = {
|
|
|
629
1814
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
630
1815
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
631
1816
|
example: 'new-clouds-fleet'
|
|
1817
|
+
},
|
|
1818
|
+
ready: {
|
|
1819
|
+
type: 'boolean',
|
|
1820
|
+
description: 'Indicates whether the fleet configuration is healthy.',
|
|
1821
|
+
example: true
|
|
1822
|
+
},
|
|
1823
|
+
status_message: {
|
|
1824
|
+
type: 'string',
|
|
1825
|
+
description: 'Human-readable reason the fleet is not ready. Present only when `ready` is false.',
|
|
1826
|
+
example: 'Invalid provider permissions.'
|
|
1827
|
+
},
|
|
1828
|
+
created_at: {
|
|
1829
|
+
type: 'string',
|
|
1830
|
+
description: 'Creation date and time of the fleet.',
|
|
1831
|
+
example: '2024-09-12T09:11:27Z'
|
|
1832
|
+
},
|
|
1833
|
+
updated_at: {
|
|
1834
|
+
type: 'string',
|
|
1835
|
+
description: 'Date and time the fleet was last updated.',
|
|
1836
|
+
example: '2024-09-12T09:11:27Z'
|
|
632
1837
|
}
|
|
633
1838
|
},
|
|
634
|
-
required: [
|
|
635
|
-
|
|
1839
|
+
required: [
|
|
1840
|
+
'constraints',
|
|
1841
|
+
'scalingProfile',
|
|
1842
|
+
'taints',
|
|
1843
|
+
'id',
|
|
1844
|
+
'ready',
|
|
1845
|
+
'created_at',
|
|
1846
|
+
'updated_at'
|
|
1847
|
+
],
|
|
1848
|
+
additionalProperties: false,
|
|
1849
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
636
1850
|
};
|
|
637
1851
|
export const FleetUpdateInputSchema = {
|
|
638
1852
|
type: 'object',
|
|
@@ -641,13 +1855,12 @@ export const FleetUpdateInputSchema = {
|
|
|
641
1855
|
type: 'object',
|
|
642
1856
|
properties: {
|
|
643
1857
|
cpu: {
|
|
644
|
-
type: '
|
|
645
|
-
format: 'float',
|
|
1858
|
+
type: 'integer',
|
|
646
1859
|
minimum: 0,
|
|
647
|
-
|
|
1860
|
+
maximum: 100000,
|
|
1861
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
648
1862
|
}
|
|
649
1863
|
},
|
|
650
|
-
required: ['cpu'],
|
|
651
1864
|
additionalProperties: false,
|
|
652
1865
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
653
1866
|
},
|
|
@@ -655,48 +1868,423 @@ export const FleetUpdateInputSchema = {
|
|
|
655
1868
|
type: 'object',
|
|
656
1869
|
properties: {
|
|
657
1870
|
enabled: {
|
|
658
|
-
type: 'boolean'
|
|
659
|
-
default: true
|
|
1871
|
+
type: 'boolean'
|
|
660
1872
|
},
|
|
661
1873
|
project: {
|
|
662
1874
|
type: 'string',
|
|
663
|
-
|
|
1875
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1876
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1877
|
+
example: 'my-cloudfleet-project'
|
|
664
1878
|
}
|
|
665
1879
|
},
|
|
666
|
-
required: [
|
|
1880
|
+
required: [
|
|
1881
|
+
'enabled'
|
|
1882
|
+
],
|
|
667
1883
|
additionalProperties: false
|
|
668
1884
|
},
|
|
669
1885
|
hetzner: {
|
|
670
1886
|
type: 'object',
|
|
671
1887
|
properties: {
|
|
672
1888
|
enabled: {
|
|
673
|
-
type: 'boolean'
|
|
674
|
-
default: true
|
|
1889
|
+
type: 'boolean'
|
|
675
1890
|
},
|
|
676
1891
|
apiKey: {
|
|
677
1892
|
type: 'string',
|
|
678
|
-
|
|
1893
|
+
maxLength: 64,
|
|
1894
|
+
minLength: 64,
|
|
1895
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1896
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
679
1897
|
}
|
|
680
1898
|
},
|
|
681
|
-
required: [
|
|
1899
|
+
required: [
|
|
1900
|
+
'enabled'
|
|
1901
|
+
],
|
|
682
1902
|
additionalProperties: false
|
|
683
1903
|
},
|
|
684
1904
|
aws: {
|
|
685
1905
|
type: 'object',
|
|
686
1906
|
properties: {
|
|
687
1907
|
enabled: {
|
|
688
|
-
type: 'boolean'
|
|
689
|
-
default: true
|
|
1908
|
+
type: 'boolean'
|
|
690
1909
|
},
|
|
691
1910
|
controllerRoleArn: {
|
|
692
1911
|
type: 'string',
|
|
693
|
-
|
|
1912
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1913
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1914
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
694
1915
|
}
|
|
695
1916
|
},
|
|
696
|
-
required: [
|
|
1917
|
+
required: [
|
|
1918
|
+
'enabled'
|
|
1919
|
+
],
|
|
697
1920
|
additionalProperties: false
|
|
1921
|
+
},
|
|
1922
|
+
constraints: {
|
|
1923
|
+
type: 'object',
|
|
1924
|
+
properties: {
|
|
1925
|
+
'karpenter.sh/capacity-type': {
|
|
1926
|
+
type: 'array',
|
|
1927
|
+
items: {
|
|
1928
|
+
type: 'string',
|
|
1929
|
+
enum: [
|
|
1930
|
+
'on-demand',
|
|
1931
|
+
'spot'
|
|
1932
|
+
]
|
|
1933
|
+
},
|
|
1934
|
+
minItems: 1,
|
|
1935
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1936
|
+
default: [
|
|
1937
|
+
'on-demand',
|
|
1938
|
+
'spot'
|
|
1939
|
+
]
|
|
1940
|
+
},
|
|
1941
|
+
'kubernetes.io/arch': {
|
|
1942
|
+
type: 'array',
|
|
1943
|
+
items: {
|
|
1944
|
+
type: 'string',
|
|
1945
|
+
enum: [
|
|
1946
|
+
'amd64',
|
|
1947
|
+
'arm64'
|
|
1948
|
+
]
|
|
1949
|
+
},
|
|
1950
|
+
minItems: 1,
|
|
1951
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1952
|
+
default: [
|
|
1953
|
+
'amd64'
|
|
1954
|
+
]
|
|
1955
|
+
},
|
|
1956
|
+
'cfke.io/instance-family': {
|
|
1957
|
+
type: 'array',
|
|
1958
|
+
items: {
|
|
1959
|
+
type: 'string',
|
|
1960
|
+
enum: [
|
|
1961
|
+
'a1',
|
|
1962
|
+
'a2',
|
|
1963
|
+
'a3',
|
|
1964
|
+
'a4',
|
|
1965
|
+
'c1',
|
|
1966
|
+
'c2',
|
|
1967
|
+
'c2d',
|
|
1968
|
+
'c3',
|
|
1969
|
+
'c3d',
|
|
1970
|
+
'c4',
|
|
1971
|
+
'c4a',
|
|
1972
|
+
'c4d',
|
|
1973
|
+
'c5',
|
|
1974
|
+
'c5a',
|
|
1975
|
+
'c5ad',
|
|
1976
|
+
'c5d',
|
|
1977
|
+
'c5n',
|
|
1978
|
+
'c6a',
|
|
1979
|
+
'c6g',
|
|
1980
|
+
'c6gd',
|
|
1981
|
+
'c6gn',
|
|
1982
|
+
'c6i',
|
|
1983
|
+
'c6id',
|
|
1984
|
+
'c6in',
|
|
1985
|
+
'c7a',
|
|
1986
|
+
'c7g',
|
|
1987
|
+
'c7gd',
|
|
1988
|
+
'c7gn',
|
|
1989
|
+
'c7i',
|
|
1990
|
+
'c7i-flex',
|
|
1991
|
+
'c8g',
|
|
1992
|
+
'c8gd',
|
|
1993
|
+
'cax',
|
|
1994
|
+
'ccx',
|
|
1995
|
+
'cpx',
|
|
1996
|
+
'cx',
|
|
1997
|
+
'd2',
|
|
1998
|
+
'd3',
|
|
1999
|
+
'd3en',
|
|
2000
|
+
'dl1',
|
|
2001
|
+
'dl2q',
|
|
2002
|
+
'e2',
|
|
2003
|
+
'f1',
|
|
2004
|
+
'f2',
|
|
2005
|
+
'g1',
|
|
2006
|
+
'g2',
|
|
2007
|
+
'g4ad',
|
|
2008
|
+
'g4dn',
|
|
2009
|
+
'g5',
|
|
2010
|
+
'g5g',
|
|
2011
|
+
'g6',
|
|
2012
|
+
'g6e',
|
|
2013
|
+
'gr6',
|
|
2014
|
+
'h1',
|
|
2015
|
+
'h3',
|
|
2016
|
+
'hpc6a',
|
|
2017
|
+
'hpc6id',
|
|
2018
|
+
'hpc7a',
|
|
2019
|
+
'hpc7g',
|
|
2020
|
+
'i2',
|
|
2021
|
+
'i3',
|
|
2022
|
+
'i3en',
|
|
2023
|
+
'i4g',
|
|
2024
|
+
'i4i',
|
|
2025
|
+
'i7i',
|
|
2026
|
+
'i7ie',
|
|
2027
|
+
'i8g',
|
|
2028
|
+
'im4gn',
|
|
2029
|
+
'inf1',
|
|
2030
|
+
'inf2',
|
|
2031
|
+
'is4gen',
|
|
2032
|
+
'm1',
|
|
2033
|
+
'm2',
|
|
2034
|
+
'm3',
|
|
2035
|
+
'm4',
|
|
2036
|
+
'm5',
|
|
2037
|
+
'm5a',
|
|
2038
|
+
'm5ad',
|
|
2039
|
+
'm5d',
|
|
2040
|
+
'm5dn',
|
|
2041
|
+
'm5n',
|
|
2042
|
+
'm5zn',
|
|
2043
|
+
'm6a',
|
|
2044
|
+
'm6g',
|
|
2045
|
+
'm6gd',
|
|
2046
|
+
'm6i',
|
|
2047
|
+
'm6id',
|
|
2048
|
+
'm6idn',
|
|
2049
|
+
'm6in',
|
|
2050
|
+
'm7a',
|
|
2051
|
+
'm7g',
|
|
2052
|
+
'm7gd',
|
|
2053
|
+
'm7i',
|
|
2054
|
+
'm7i-flex',
|
|
2055
|
+
'm8g',
|
|
2056
|
+
'm8gd',
|
|
2057
|
+
'n1',
|
|
2058
|
+
'n2',
|
|
2059
|
+
'n2d',
|
|
2060
|
+
'n4',
|
|
2061
|
+
'p3',
|
|
2062
|
+
'p3dn',
|
|
2063
|
+
'p4d',
|
|
2064
|
+
'p4de',
|
|
2065
|
+
'p5',
|
|
2066
|
+
'p5e',
|
|
2067
|
+
'p5en',
|
|
2068
|
+
'p6-b200',
|
|
2069
|
+
'r3',
|
|
2070
|
+
'r4',
|
|
2071
|
+
'r5',
|
|
2072
|
+
'r5a',
|
|
2073
|
+
'r5ad',
|
|
2074
|
+
'r5b',
|
|
2075
|
+
'r5d',
|
|
2076
|
+
'r5dn',
|
|
2077
|
+
'r5n',
|
|
2078
|
+
'r6a',
|
|
2079
|
+
'r6g',
|
|
2080
|
+
'r6gd',
|
|
2081
|
+
'r6i',
|
|
2082
|
+
'r6id',
|
|
2083
|
+
'r6idn',
|
|
2084
|
+
'r6in',
|
|
2085
|
+
'r7a',
|
|
2086
|
+
'r7g',
|
|
2087
|
+
'r7gd',
|
|
2088
|
+
'r7i',
|
|
2089
|
+
'r7iz',
|
|
2090
|
+
'r8g',
|
|
2091
|
+
'r8gd',
|
|
2092
|
+
't2',
|
|
2093
|
+
't2a',
|
|
2094
|
+
't2d',
|
|
2095
|
+
't3',
|
|
2096
|
+
't3a',
|
|
2097
|
+
't4g',
|
|
2098
|
+
'trn1',
|
|
2099
|
+
'trn1n',
|
|
2100
|
+
'u-3tb1',
|
|
2101
|
+
'u-6tb1',
|
|
2102
|
+
'u7i-12tb',
|
|
2103
|
+
'u7i-6tb',
|
|
2104
|
+
'u7i-8tb',
|
|
2105
|
+
'u7in-16tb',
|
|
2106
|
+
'u7in-24tb',
|
|
2107
|
+
'u7in-32tb',
|
|
2108
|
+
'vt1',
|
|
2109
|
+
'x1',
|
|
2110
|
+
'x1e',
|
|
2111
|
+
'x2gd',
|
|
2112
|
+
'x2idn',
|
|
2113
|
+
'x2iedn',
|
|
2114
|
+
'x2iezn',
|
|
2115
|
+
'x4',
|
|
2116
|
+
'x8g',
|
|
2117
|
+
'z1d',
|
|
2118
|
+
'z3'
|
|
2119
|
+
]
|
|
2120
|
+
},
|
|
2121
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
2122
|
+
default: []
|
|
2123
|
+
},
|
|
2124
|
+
'topology.kubernetes.io/region': {
|
|
2125
|
+
type: 'array',
|
|
2126
|
+
items: {
|
|
2127
|
+
type: 'string',
|
|
2128
|
+
enum: [
|
|
2129
|
+
'africa-south1',
|
|
2130
|
+
'ap-northeast-1',
|
|
2131
|
+
'ap-northeast-2',
|
|
2132
|
+
'ap-northeast-3',
|
|
2133
|
+
'ap-south-1',
|
|
2134
|
+
'ap-southeast-1',
|
|
2135
|
+
'ap-southeast-2',
|
|
2136
|
+
'ash',
|
|
2137
|
+
'asia-east1',
|
|
2138
|
+
'asia-east2',
|
|
2139
|
+
'asia-northeast1',
|
|
2140
|
+
'asia-northeast2',
|
|
2141
|
+
'asia-northeast3',
|
|
2142
|
+
'asia-south1',
|
|
2143
|
+
'asia-south2',
|
|
2144
|
+
'asia-southeast1',
|
|
2145
|
+
'asia-southeast2',
|
|
2146
|
+
'australia-southeast1',
|
|
2147
|
+
'australia-southeast2',
|
|
2148
|
+
'ca-central-1',
|
|
2149
|
+
'eu-central-1',
|
|
2150
|
+
'eu-central-2',
|
|
2151
|
+
'eu-north-1',
|
|
2152
|
+
'eu-west-1',
|
|
2153
|
+
'eu-west-2',
|
|
2154
|
+
'eu-west-3',
|
|
2155
|
+
'europe-central2',
|
|
2156
|
+
'europe-north1',
|
|
2157
|
+
'europe-southwest1',
|
|
2158
|
+
'europe-west1',
|
|
2159
|
+
'europe-west10',
|
|
2160
|
+
'europe-west12',
|
|
2161
|
+
'europe-west2',
|
|
2162
|
+
'europe-west3',
|
|
2163
|
+
'europe-west4',
|
|
2164
|
+
'europe-west6',
|
|
2165
|
+
'europe-west8',
|
|
2166
|
+
'europe-west9',
|
|
2167
|
+
'fsn1',
|
|
2168
|
+
'hel1',
|
|
2169
|
+
'hil',
|
|
2170
|
+
'me-central1',
|
|
2171
|
+
'me-central2',
|
|
2172
|
+
'me-west1',
|
|
2173
|
+
'nbg1',
|
|
2174
|
+
'northamerica-northeast1',
|
|
2175
|
+
'northamerica-northeast2',
|
|
2176
|
+
'sa-east-1',
|
|
2177
|
+
'sin',
|
|
2178
|
+
'southamerica-east1',
|
|
2179
|
+
'southamerica-west1',
|
|
2180
|
+
'us-central1',
|
|
2181
|
+
'us-east-1',
|
|
2182
|
+
'us-east-2',
|
|
2183
|
+
'us-east1',
|
|
2184
|
+
'us-east4',
|
|
2185
|
+
'us-east5',
|
|
2186
|
+
'us-south1',
|
|
2187
|
+
'us-west-1',
|
|
2188
|
+
'us-west-2',
|
|
2189
|
+
'us-west1',
|
|
2190
|
+
'us-west2',
|
|
2191
|
+
'us-west3',
|
|
2192
|
+
'us-west4'
|
|
2193
|
+
]
|
|
2194
|
+
},
|
|
2195
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
2196
|
+
default: []
|
|
2197
|
+
}
|
|
2198
|
+
},
|
|
2199
|
+
additionalProperties: false,
|
|
2200
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
2201
|
+
default: {
|
|
2202
|
+
'karpenter.sh/capacity-type': [
|
|
2203
|
+
'on-demand',
|
|
2204
|
+
'spot'
|
|
2205
|
+
],
|
|
2206
|
+
'kubernetes.io/arch': [
|
|
2207
|
+
'amd64'
|
|
2208
|
+
],
|
|
2209
|
+
'cfke.io/instance-family': [],
|
|
2210
|
+
'topology.kubernetes.io/region': []
|
|
2211
|
+
}
|
|
2212
|
+
},
|
|
2213
|
+
scalingProfile: {
|
|
2214
|
+
type: 'string',
|
|
2215
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
2216
|
+
default: 'conservative',
|
|
2217
|
+
example: 'conservative',
|
|
2218
|
+
enum: [
|
|
2219
|
+
'aggressive',
|
|
2220
|
+
'conservative'
|
|
2221
|
+
]
|
|
2222
|
+
},
|
|
2223
|
+
taints: {
|
|
2224
|
+
type: 'array',
|
|
2225
|
+
items: {
|
|
2226
|
+
type: 'object',
|
|
2227
|
+
properties: {
|
|
2228
|
+
key: {
|
|
2229
|
+
type: 'string',
|
|
2230
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
2231
|
+
example: 'dedicated'
|
|
2232
|
+
},
|
|
2233
|
+
value: {
|
|
2234
|
+
type: 'string',
|
|
2235
|
+
maxLength: 63,
|
|
2236
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
2237
|
+
description: 'Taint value. Optional.',
|
|
2238
|
+
example: 'ci'
|
|
2239
|
+
},
|
|
2240
|
+
effect: {
|
|
2241
|
+
type: 'string',
|
|
2242
|
+
description: 'Taint effect.',
|
|
2243
|
+
example: 'NoSchedule',
|
|
2244
|
+
enum: [
|
|
2245
|
+
'NoSchedule',
|
|
2246
|
+
'PreferNoSchedule',
|
|
2247
|
+
'NoExecute'
|
|
2248
|
+
]
|
|
2249
|
+
}
|
|
2250
|
+
},
|
|
2251
|
+
required: [
|
|
2252
|
+
'key',
|
|
2253
|
+
'effect'
|
|
2254
|
+
],
|
|
2255
|
+
additionalProperties: false
|
|
2256
|
+
},
|
|
2257
|
+
maxItems: 50,
|
|
2258
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
2259
|
+
default: []
|
|
2260
|
+
}
|
|
2261
|
+
},
|
|
2262
|
+
additionalProperties: false,
|
|
2263
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
2264
|
+
};
|
|
2265
|
+
export const InviteCreateInputSchema = {
|
|
2266
|
+
type: 'object',
|
|
2267
|
+
properties: {
|
|
2268
|
+
email: {
|
|
2269
|
+
type: 'string',
|
|
2270
|
+
format: 'email',
|
|
2271
|
+
description: 'Email address of the user to invite.',
|
|
2272
|
+
example: 'email@example.com'
|
|
2273
|
+
},
|
|
2274
|
+
role: {
|
|
2275
|
+
type: 'string',
|
|
2276
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2277
|
+
default: 'User',
|
|
2278
|
+
example: 'User',
|
|
2279
|
+
enum: [
|
|
2280
|
+
'Administrator',
|
|
2281
|
+
'User'
|
|
2282
|
+
]
|
|
698
2283
|
}
|
|
699
2284
|
},
|
|
2285
|
+
required: [
|
|
2286
|
+
'email'
|
|
2287
|
+
],
|
|
700
2288
|
additionalProperties: false
|
|
701
2289
|
};
|
|
702
2290
|
export const InviteSchema = {
|
|
@@ -729,9 +2317,185 @@ export const InviteSchema = {
|
|
|
729
2317
|
type: 'string',
|
|
730
2318
|
description: 'Generated unique invite code.',
|
|
731
2319
|
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
2320
|
+
},
|
|
2321
|
+
role: {
|
|
2322
|
+
type: 'string',
|
|
2323
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2324
|
+
default: 'User',
|
|
2325
|
+
example: 'User',
|
|
2326
|
+
enum: [
|
|
2327
|
+
'Administrator',
|
|
2328
|
+
'User'
|
|
2329
|
+
]
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2332
|
+
required: [
|
|
2333
|
+
'date_created'
|
|
2334
|
+
],
|
|
2335
|
+
additionalProperties: false
|
|
2336
|
+
};
|
|
2337
|
+
export const InvoicePaymentAttemptSchema = {
|
|
2338
|
+
type: 'object',
|
|
2339
|
+
properties: {
|
|
2340
|
+
invoice_id: {
|
|
2341
|
+
type: 'string',
|
|
2342
|
+
description: 'Identifier of the invoice.',
|
|
2343
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2344
|
+
},
|
|
2345
|
+
number: {
|
|
2346
|
+
type: 'string',
|
|
2347
|
+
nullable: true,
|
|
2348
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2349
|
+
example: 'CF-0042'
|
|
2350
|
+
},
|
|
2351
|
+
amount: {
|
|
2352
|
+
type: 'number',
|
|
2353
|
+
format: 'float',
|
|
2354
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2355
|
+
example: 4200
|
|
2356
|
+
},
|
|
2357
|
+
currency: {
|
|
2358
|
+
type: 'string',
|
|
2359
|
+
description: 'Currency of the invoice.',
|
|
2360
|
+
example: 'eur'
|
|
2361
|
+
},
|
|
2362
|
+
status: {
|
|
2363
|
+
type: 'string',
|
|
2364
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2365
|
+
example: 'paid',
|
|
2366
|
+
enum: [
|
|
2367
|
+
'paid',
|
|
2368
|
+
'processing',
|
|
2369
|
+
'requires_action',
|
|
2370
|
+
'failed'
|
|
2371
|
+
]
|
|
2372
|
+
},
|
|
2373
|
+
client_secret: {
|
|
2374
|
+
type: 'string',
|
|
2375
|
+
nullable: true,
|
|
2376
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2377
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2378
|
+
},
|
|
2379
|
+
failure_code: {
|
|
2380
|
+
type: 'string',
|
|
2381
|
+
nullable: true,
|
|
2382
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2383
|
+
example: 'insufficient_funds'
|
|
2384
|
+
},
|
|
2385
|
+
failure_message: {
|
|
2386
|
+
type: 'string',
|
|
2387
|
+
nullable: true,
|
|
2388
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2389
|
+
example: 'Your card has insufficient funds.'
|
|
2390
|
+
}
|
|
2391
|
+
},
|
|
2392
|
+
required: [
|
|
2393
|
+
'invoice_id',
|
|
2394
|
+
'number',
|
|
2395
|
+
'amount',
|
|
2396
|
+
'currency',
|
|
2397
|
+
'status',
|
|
2398
|
+
'client_secret',
|
|
2399
|
+
'failure_code',
|
|
2400
|
+
'failure_message'
|
|
2401
|
+
],
|
|
2402
|
+
additionalProperties: false
|
|
2403
|
+
};
|
|
2404
|
+
export const InvoicePaymentResultSchema = {
|
|
2405
|
+
type: 'object',
|
|
2406
|
+
properties: {
|
|
2407
|
+
code: {
|
|
2408
|
+
type: 'string',
|
|
2409
|
+
description: 'Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).',
|
|
2410
|
+
example: 'partially_paid',
|
|
2411
|
+
enum: [
|
|
2412
|
+
'paid',
|
|
2413
|
+
'processing',
|
|
2414
|
+
'action_required',
|
|
2415
|
+
'partially_paid',
|
|
2416
|
+
'failed',
|
|
2417
|
+
'nothing_due',
|
|
2418
|
+
'bank_transfer_due'
|
|
2419
|
+
]
|
|
2420
|
+
},
|
|
2421
|
+
message: {
|
|
2422
|
+
type: 'string',
|
|
2423
|
+
description: 'Summary of the outcome, suitable for display.',
|
|
2424
|
+
example: '1 of 2 open invoices was paid. Invoice CF-0043 was declined: Your card has insufficient funds.'
|
|
2425
|
+
},
|
|
2426
|
+
results: {
|
|
2427
|
+
type: 'array',
|
|
2428
|
+
items: {
|
|
2429
|
+
type: 'object',
|
|
2430
|
+
properties: {
|
|
2431
|
+
invoice_id: {
|
|
2432
|
+
type: 'string',
|
|
2433
|
+
description: 'Identifier of the invoice.',
|
|
2434
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2435
|
+
},
|
|
2436
|
+
number: {
|
|
2437
|
+
type: 'string',
|
|
2438
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2439
|
+
example: 'CF-0042'
|
|
2440
|
+
},
|
|
2441
|
+
amount: {
|
|
2442
|
+
type: 'number',
|
|
2443
|
+
format: 'float',
|
|
2444
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2445
|
+
example: 4200
|
|
2446
|
+
},
|
|
2447
|
+
currency: {
|
|
2448
|
+
type: 'string',
|
|
2449
|
+
description: 'Currency of the invoice.',
|
|
2450
|
+
example: 'eur'
|
|
2451
|
+
},
|
|
2452
|
+
status: {
|
|
2453
|
+
type: 'string',
|
|
2454
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2455
|
+
example: 'paid',
|
|
2456
|
+
enum: [
|
|
2457
|
+
'paid',
|
|
2458
|
+
'processing',
|
|
2459
|
+
'requires_action',
|
|
2460
|
+
'failed'
|
|
2461
|
+
]
|
|
2462
|
+
},
|
|
2463
|
+
client_secret: {
|
|
2464
|
+
type: 'string',
|
|
2465
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2466
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2467
|
+
},
|
|
2468
|
+
failure_code: {
|
|
2469
|
+
type: 'string',
|
|
2470
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2471
|
+
example: 'insufficient_funds'
|
|
2472
|
+
},
|
|
2473
|
+
failure_message: {
|
|
2474
|
+
type: 'string',
|
|
2475
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2476
|
+
example: 'Your card has insufficient funds.'
|
|
2477
|
+
}
|
|
2478
|
+
},
|
|
2479
|
+
required: [
|
|
2480
|
+
'invoice_id',
|
|
2481
|
+
'number',
|
|
2482
|
+
'amount',
|
|
2483
|
+
'currency',
|
|
2484
|
+
'status',
|
|
2485
|
+
'client_secret',
|
|
2486
|
+
'failure_code',
|
|
2487
|
+
'failure_message'
|
|
2488
|
+
],
|
|
2489
|
+
additionalProperties: false
|
|
2490
|
+
},
|
|
2491
|
+
description: 'One entry per invoice charged, oldest first.'
|
|
732
2492
|
}
|
|
733
2493
|
},
|
|
734
|
-
required: [
|
|
2494
|
+
required: [
|
|
2495
|
+
'code',
|
|
2496
|
+
'message',
|
|
2497
|
+
'results'
|
|
2498
|
+
],
|
|
735
2499
|
additionalProperties: false
|
|
736
2500
|
};
|
|
737
2501
|
export const InvoiceSchema = {
|
|
@@ -783,7 +2547,11 @@ export const InvoiceSchema = {
|
|
|
783
2547
|
type: 'string'
|
|
784
2548
|
}
|
|
785
2549
|
},
|
|
786
|
-
required: [
|
|
2550
|
+
required: [
|
|
2551
|
+
'created',
|
|
2552
|
+
'period_start',
|
|
2553
|
+
'period_end'
|
|
2554
|
+
],
|
|
787
2555
|
additionalProperties: false
|
|
788
2556
|
};
|
|
789
2557
|
export const MarketplaceListingFilesSchema = {
|
|
@@ -792,18 +2560,12 @@ export const MarketplaceListingFilesSchema = {
|
|
|
792
2560
|
chartYaml: {
|
|
793
2561
|
type: 'string',
|
|
794
2562
|
description: 'Raw Chart.yaml content from the Helm chart',
|
|
795
|
-
example:
|
|
796
|
-
name: nginx-ingress
|
|
797
|
-
version: 1.18.2-cfke.45
|
|
798
|
-
appVersion: 1.9.4`
|
|
2563
|
+
example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
|
|
799
2564
|
},
|
|
800
2565
|
valuesYaml: {
|
|
801
2566
|
type: 'string',
|
|
802
2567
|
description: 'Raw values.yaml content from the Helm chart',
|
|
803
|
-
example:
|
|
804
|
-
image:
|
|
805
|
-
repository: nginx
|
|
806
|
-
tag: latest`
|
|
2568
|
+
example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
|
|
807
2569
|
},
|
|
808
2570
|
valuesSchemaJson: {
|
|
809
2571
|
type: 'string',
|
|
@@ -880,20 +2642,31 @@ export const MarketplaceListingSchema = {
|
|
|
880
2642
|
type: 'string'
|
|
881
2643
|
},
|
|
882
2644
|
description: 'Chart keywords',
|
|
883
|
-
example: [
|
|
2645
|
+
example: [
|
|
2646
|
+
'ingress',
|
|
2647
|
+
'nginx',
|
|
2648
|
+
'load-balancer'
|
|
2649
|
+
]
|
|
884
2650
|
},
|
|
885
2651
|
home: {
|
|
886
2652
|
type: 'string',
|
|
887
2653
|
description: 'Chart home URL',
|
|
888
2654
|
example: 'https://kubernetes.github.io/ingress-nginx/'
|
|
889
2655
|
},
|
|
2656
|
+
icon: {
|
|
2657
|
+
type: 'string',
|
|
2658
|
+
description: 'A URL to an SVG or PNG image to be used as an icon',
|
|
2659
|
+
example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
|
|
2660
|
+
},
|
|
890
2661
|
sources: {
|
|
891
2662
|
type: 'array',
|
|
892
2663
|
items: {
|
|
893
2664
|
type: 'string'
|
|
894
2665
|
},
|
|
895
2666
|
description: 'Chart source URLs',
|
|
896
|
-
example: [
|
|
2667
|
+
example: [
|
|
2668
|
+
'https://github.com/kubernetes/ingress-nginx'
|
|
2669
|
+
]
|
|
897
2670
|
},
|
|
898
2671
|
maintainers: {
|
|
899
2672
|
type: 'array',
|
|
@@ -911,23 +2684,42 @@ export const MarketplaceListingSchema = {
|
|
|
911
2684
|
example: 'support@nginx.org'
|
|
912
2685
|
}
|
|
913
2686
|
},
|
|
914
|
-
required: [
|
|
2687
|
+
required: [
|
|
2688
|
+
'name'
|
|
2689
|
+
],
|
|
915
2690
|
additionalProperties: false
|
|
916
2691
|
},
|
|
917
2692
|
description: 'Chart maintainers'
|
|
918
2693
|
}
|
|
919
2694
|
},
|
|
920
|
-
required: [
|
|
2695
|
+
required: [
|
|
2696
|
+
'name',
|
|
2697
|
+
'version'
|
|
2698
|
+
],
|
|
921
2699
|
additionalProperties: false,
|
|
922
2700
|
description: 'Chart metadata'
|
|
923
2701
|
}
|
|
924
2702
|
},
|
|
925
|
-
required: [
|
|
2703
|
+
required: [
|
|
2704
|
+
'name',
|
|
2705
|
+
'versions',
|
|
2706
|
+
'version_channels',
|
|
2707
|
+
'latestVersion'
|
|
2708
|
+
],
|
|
926
2709
|
additionalProperties: false
|
|
927
2710
|
};
|
|
928
2711
|
export const OrganizationCreateInputSchema = {
|
|
929
2712
|
type: 'object',
|
|
930
2713
|
properties: {
|
|
2714
|
+
type: {
|
|
2715
|
+
type: 'string',
|
|
2716
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2717
|
+
example: 'business',
|
|
2718
|
+
enum: [
|
|
2719
|
+
'business',
|
|
2720
|
+
'personal'
|
|
2721
|
+
]
|
|
2722
|
+
},
|
|
931
2723
|
email: {
|
|
932
2724
|
type: 'string',
|
|
933
2725
|
format: 'email',
|
|
@@ -936,11 +2728,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
936
2728
|
},
|
|
937
2729
|
first_name: {
|
|
938
2730
|
type: 'string',
|
|
2731
|
+
minLength: 1,
|
|
939
2732
|
description: 'First name of the billing contact person.',
|
|
940
2733
|
example: 'John'
|
|
941
2734
|
},
|
|
942
2735
|
last_name: {
|
|
943
2736
|
type: 'string',
|
|
2737
|
+
minLength: 1,
|
|
944
2738
|
description: 'Last name of the billing contact person.',
|
|
945
2739
|
example: 'Doe'
|
|
946
2740
|
},
|
|
@@ -958,7 +2752,28 @@ export const OrganizationCreateInputSchema = {
|
|
|
958
2752
|
description: 'Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
|
|
959
2753
|
}
|
|
960
2754
|
},
|
|
961
|
-
required: [
|
|
2755
|
+
required: [
|
|
2756
|
+
'type',
|
|
2757
|
+
'email',
|
|
2758
|
+
'first_name',
|
|
2759
|
+
'last_name',
|
|
2760
|
+
'company_name',
|
|
2761
|
+
'password'
|
|
2762
|
+
],
|
|
2763
|
+
additionalProperties: false
|
|
2764
|
+
};
|
|
2765
|
+
export const OrganizationCreateOutputSchema = {
|
|
2766
|
+
type: 'object',
|
|
2767
|
+
properties: {
|
|
2768
|
+
id: {
|
|
2769
|
+
type: 'string',
|
|
2770
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2771
|
+
example: 'organization-id'
|
|
2772
|
+
}
|
|
2773
|
+
},
|
|
2774
|
+
required: [
|
|
2775
|
+
'id'
|
|
2776
|
+
],
|
|
962
2777
|
additionalProperties: false
|
|
963
2778
|
};
|
|
964
2779
|
export const OrganizationSchema = {
|
|
@@ -977,6 +2792,15 @@ export const OrganizationSchema = {
|
|
|
977
2792
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
978
2793
|
example: 'ACME Corp.'
|
|
979
2794
|
},
|
|
2795
|
+
type: {
|
|
2796
|
+
type: 'string',
|
|
2797
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2798
|
+
example: 'business',
|
|
2799
|
+
enum: [
|
|
2800
|
+
'business',
|
|
2801
|
+
'personal'
|
|
2802
|
+
]
|
|
2803
|
+
},
|
|
980
2804
|
date_created: {
|
|
981
2805
|
type: 'string',
|
|
982
2806
|
format: 'date-time',
|
|
@@ -1008,6 +2832,17 @@ export const OrganizationSchema = {
|
|
|
1008
2832
|
description: 'Available number of Pro clusters that can be created.',
|
|
1009
2833
|
example: 999
|
|
1010
2834
|
},
|
|
2835
|
+
enterprise_clusters_max: {
|
|
2836
|
+
type: 'integer',
|
|
2837
|
+
minimum: 0,
|
|
2838
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2839
|
+
example: 999
|
|
2840
|
+
},
|
|
2841
|
+
enterprise_clusters_available: {
|
|
2842
|
+
type: 'integer',
|
|
2843
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2844
|
+
example: 999
|
|
2845
|
+
},
|
|
1011
2846
|
fleets_max: {
|
|
1012
2847
|
type: 'integer',
|
|
1013
2848
|
minimum: 0,
|
|
@@ -1027,7 +2862,7 @@ export const OrganizationSchema = {
|
|
|
1027
2862
|
type: 'array',
|
|
1028
2863
|
items: {
|
|
1029
2864
|
type: 'string',
|
|
1030
|
-
example: 'northamerica-central-
|
|
2865
|
+
example: 'northamerica-central-1a'
|
|
1031
2866
|
},
|
|
1032
2867
|
minItems: 1,
|
|
1033
2868
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -1048,36 +2883,66 @@ export const OrganizationSchema = {
|
|
|
1048
2883
|
example: '1.33.x (Always latest 1.33 patch version)'
|
|
1049
2884
|
}
|
|
1050
2885
|
},
|
|
1051
|
-
required: [
|
|
2886
|
+
required: [
|
|
2887
|
+
'id',
|
|
2888
|
+
'label'
|
|
2889
|
+
],
|
|
1052
2890
|
additionalProperties: false
|
|
1053
2891
|
},
|
|
1054
2892
|
minItems: 1,
|
|
1055
2893
|
description: 'List of CFKE control plane versions available for the organization.'
|
|
1056
2894
|
},
|
|
1057
|
-
|
|
1058
|
-
type: 'integer',
|
|
1059
|
-
minimum: 0,
|
|
1060
|
-
description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
|
|
1061
|
-
example: 42000
|
|
1062
|
-
},
|
|
1063
|
-
copilot_organization_hourly_tokens: {
|
|
2895
|
+
cfcr_storage_gb: {
|
|
1064
2896
|
type: 'integer',
|
|
1065
|
-
minimum:
|
|
1066
|
-
description: 'Organization-level maximum
|
|
1067
|
-
example:
|
|
2897
|
+
minimum: -1,
|
|
2898
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
2899
|
+
example: 500
|
|
1068
2900
|
}
|
|
1069
2901
|
},
|
|
1070
|
-
required: [
|
|
2902
|
+
required: [
|
|
2903
|
+
'basic_clusters_max',
|
|
2904
|
+
'basic_clusters_available',
|
|
2905
|
+
'pro_clusters_max',
|
|
2906
|
+
'pro_clusters_available',
|
|
2907
|
+
'enterprise_clusters_max',
|
|
2908
|
+
'enterprise_clusters_available',
|
|
2909
|
+
'fleets_max',
|
|
2910
|
+
'cluster_tiers',
|
|
2911
|
+
'regions',
|
|
2912
|
+
'versions',
|
|
2913
|
+
'cfcr_storage_gb'
|
|
2914
|
+
],
|
|
1071
2915
|
additionalProperties: false,
|
|
1072
2916
|
description: 'For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.'
|
|
1073
2917
|
},
|
|
1074
2918
|
status: {
|
|
1075
2919
|
type: 'string',
|
|
1076
2920
|
description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
|
|
1077
|
-
enum: [
|
|
2921
|
+
enum: [
|
|
2922
|
+
'active',
|
|
2923
|
+
'closed',
|
|
2924
|
+
'suspended'
|
|
2925
|
+
]
|
|
2926
|
+
},
|
|
2927
|
+
verification: {
|
|
2928
|
+
type: 'string',
|
|
2929
|
+
description: 'Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.',
|
|
2930
|
+
example: 'verified',
|
|
2931
|
+
enum: [
|
|
2932
|
+
'none',
|
|
2933
|
+
'submitted',
|
|
2934
|
+
'verified'
|
|
2935
|
+
]
|
|
1078
2936
|
}
|
|
1079
2937
|
},
|
|
1080
|
-
required: [
|
|
2938
|
+
required: [
|
|
2939
|
+
'id',
|
|
2940
|
+
'type',
|
|
2941
|
+
'date_created',
|
|
2942
|
+
'quota',
|
|
2943
|
+
'status',
|
|
2944
|
+
'verification'
|
|
2945
|
+
],
|
|
1081
2946
|
additionalProperties: false
|
|
1082
2947
|
};
|
|
1083
2948
|
export const PaymentMethodSchema = {
|
|
@@ -1085,26 +2950,23 @@ export const PaymentMethodSchema = {
|
|
|
1085
2950
|
properties: {
|
|
1086
2951
|
id: {
|
|
1087
2952
|
type: 'string',
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
1091
|
-
},
|
|
1092
|
-
setup: {
|
|
1093
|
-
type: 'boolean',
|
|
1094
|
-
description: 'Whether organization payment method was set up and ready to use for payments.',
|
|
1095
|
-
example: true
|
|
2953
|
+
description: 'Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.',
|
|
2954
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
1096
2955
|
},
|
|
1097
2956
|
type: {
|
|
1098
2957
|
type: 'string',
|
|
1099
|
-
|
|
1100
|
-
description: 'Payment method type type. Only `card` payments supported at the moment.',
|
|
2958
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
1101
2959
|
example: 'card',
|
|
1102
|
-
enum: [
|
|
2960
|
+
enum: [
|
|
2961
|
+
'card',
|
|
2962
|
+
'sepa_debit',
|
|
2963
|
+
'bank_transfer'
|
|
2964
|
+
]
|
|
1103
2965
|
},
|
|
1104
2966
|
last4: {
|
|
1105
2967
|
type: 'string',
|
|
1106
2968
|
nullable: true,
|
|
1107
|
-
description: 'Last 4 digits of the payment card number.',
|
|
2969
|
+
description: 'Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.',
|
|
1108
2970
|
example: '4242'
|
|
1109
2971
|
},
|
|
1110
2972
|
exp_month: {
|
|
@@ -1112,25 +2974,57 @@ export const PaymentMethodSchema = {
|
|
|
1112
2974
|
minimum: 1,
|
|
1113
2975
|
maximum: 12,
|
|
1114
2976
|
nullable: true,
|
|
1115
|
-
description:
|
|
1116
|
-
example:
|
|
2977
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2978
|
+
example: 12
|
|
1117
2979
|
},
|
|
1118
2980
|
exp_year: {
|
|
1119
2981
|
type: 'integer',
|
|
1120
|
-
minimum: 2024,
|
|
1121
2982
|
nullable: true,
|
|
1122
|
-
description:
|
|
1123
|
-
example:
|
|
2983
|
+
description: 'Four-digit number representing the card\'s expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.',
|
|
2984
|
+
example: 2028
|
|
1124
2985
|
},
|
|
1125
2986
|
brand: {
|
|
1126
2987
|
type: 'string',
|
|
1127
2988
|
nullable: true,
|
|
1128
|
-
description: 'Payment card brand
|
|
1129
|
-
example: 'visa'
|
|
1130
|
-
|
|
2989
|
+
description: 'Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.',
|
|
2990
|
+
example: 'visa'
|
|
2991
|
+
},
|
|
2992
|
+
iban: {
|
|
2993
|
+
type: 'string',
|
|
2994
|
+
nullable: true,
|
|
2995
|
+
description: 'Full destination IBAN to send bank transfers to. Set only for `bank_transfer`; null otherwise. This is Cloudfleet\'s virtual receiving account, shown in full so the customer can pay into it.',
|
|
2996
|
+
example: 'DE11243015658023127510'
|
|
2997
|
+
},
|
|
2998
|
+
bic: {
|
|
2999
|
+
type: 'string',
|
|
3000
|
+
nullable: true,
|
|
3001
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
3002
|
+
example: 'SOGEDEFFXXX'
|
|
3003
|
+
},
|
|
3004
|
+
account_holder_name: {
|
|
3005
|
+
type: 'string',
|
|
3006
|
+
nullable: true,
|
|
3007
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
3008
|
+
example: 'Cloudfleet GmbH'
|
|
3009
|
+
},
|
|
3010
|
+
is_default: {
|
|
3011
|
+
type: 'boolean',
|
|
3012
|
+
description: 'Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).',
|
|
3013
|
+
example: true
|
|
1131
3014
|
}
|
|
1132
3015
|
},
|
|
1133
|
-
required: [
|
|
3016
|
+
required: [
|
|
3017
|
+
'id',
|
|
3018
|
+
'type',
|
|
3019
|
+
'last4',
|
|
3020
|
+
'exp_month',
|
|
3021
|
+
'exp_year',
|
|
3022
|
+
'brand',
|
|
3023
|
+
'iban',
|
|
3024
|
+
'bic',
|
|
3025
|
+
'account_holder_name',
|
|
3026
|
+
'is_default'
|
|
3027
|
+
],
|
|
1134
3028
|
additionalProperties: false
|
|
1135
3029
|
};
|
|
1136
3030
|
export const PlatformQuotaSchema = {
|
|
@@ -1158,6 +3052,17 @@ export const PlatformQuotaSchema = {
|
|
|
1158
3052
|
description: 'Available number of Pro clusters that can be created.',
|
|
1159
3053
|
example: 999
|
|
1160
3054
|
},
|
|
3055
|
+
enterprise_clusters_max: {
|
|
3056
|
+
type: 'integer',
|
|
3057
|
+
minimum: 0,
|
|
3058
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
3059
|
+
example: 999
|
|
3060
|
+
},
|
|
3061
|
+
enterprise_clusters_available: {
|
|
3062
|
+
type: 'integer',
|
|
3063
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
3064
|
+
example: 999
|
|
3065
|
+
},
|
|
1161
3066
|
fleets_max: {
|
|
1162
3067
|
type: 'integer',
|
|
1163
3068
|
minimum: 0,
|
|
@@ -1177,7 +3082,7 @@ export const PlatformQuotaSchema = {
|
|
|
1177
3082
|
type: 'array',
|
|
1178
3083
|
items: {
|
|
1179
3084
|
type: 'string',
|
|
1180
|
-
example: 'northamerica-central-
|
|
3085
|
+
example: 'northamerica-central-1a'
|
|
1181
3086
|
},
|
|
1182
3087
|
minItems: 1,
|
|
1183
3088
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -1198,26 +3103,35 @@ export const PlatformQuotaSchema = {
|
|
|
1198
3103
|
example: '1.33.x (Always latest 1.33 patch version)'
|
|
1199
3104
|
}
|
|
1200
3105
|
},
|
|
1201
|
-
required: [
|
|
3106
|
+
required: [
|
|
3107
|
+
'id',
|
|
3108
|
+
'label'
|
|
3109
|
+
],
|
|
1202
3110
|
additionalProperties: false
|
|
1203
3111
|
},
|
|
1204
3112
|
minItems: 1,
|
|
1205
3113
|
description: 'List of CFKE control plane versions available for the organization.'
|
|
1206
3114
|
},
|
|
1207
|
-
|
|
1208
|
-
type: 'integer',
|
|
1209
|
-
minimum: 0,
|
|
1210
|
-
description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
|
|
1211
|
-
example: 42000
|
|
1212
|
-
},
|
|
1213
|
-
copilot_organization_hourly_tokens: {
|
|
3115
|
+
cfcr_storage_gb: {
|
|
1214
3116
|
type: 'integer',
|
|
1215
|
-
minimum:
|
|
1216
|
-
description: 'Organization-level maximum
|
|
1217
|
-
example:
|
|
3117
|
+
minimum: -1,
|
|
3118
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
3119
|
+
example: 500
|
|
1218
3120
|
}
|
|
1219
3121
|
},
|
|
1220
|
-
required: [
|
|
3122
|
+
required: [
|
|
3123
|
+
'basic_clusters_max',
|
|
3124
|
+
'basic_clusters_available',
|
|
3125
|
+
'pro_clusters_max',
|
|
3126
|
+
'pro_clusters_available',
|
|
3127
|
+
'enterprise_clusters_max',
|
|
3128
|
+
'enterprise_clusters_available',
|
|
3129
|
+
'fleets_max',
|
|
3130
|
+
'cluster_tiers',
|
|
3131
|
+
'regions',
|
|
3132
|
+
'versions',
|
|
3133
|
+
'cfcr_storage_gb'
|
|
3134
|
+
],
|
|
1221
3135
|
additionalProperties: false
|
|
1222
3136
|
};
|
|
1223
3137
|
export const RegistryRepositorySchema = {
|
|
@@ -1236,10 +3150,14 @@ export const RegistryRepositorySchema = {
|
|
|
1236
3150
|
uri: {
|
|
1237
3151
|
type: 'string',
|
|
1238
3152
|
description: 'Full URI of the repository.',
|
|
1239
|
-
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/
|
|
3153
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
1240
3154
|
}
|
|
1241
3155
|
},
|
|
1242
|
-
required: [
|
|
3156
|
+
required: [
|
|
3157
|
+
'name',
|
|
3158
|
+
'region',
|
|
3159
|
+
'uri'
|
|
3160
|
+
],
|
|
1243
3161
|
additionalProperties: false
|
|
1244
3162
|
};
|
|
1245
3163
|
export const RegistryRepositoryWithTagsSchema = {
|
|
@@ -1258,7 +3176,7 @@ export const RegistryRepositoryWithTagsSchema = {
|
|
|
1258
3176
|
uri: {
|
|
1259
3177
|
type: 'string',
|
|
1260
3178
|
description: 'Full URI of the repository.',
|
|
1261
|
-
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/
|
|
3179
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
1262
3180
|
},
|
|
1263
3181
|
tags: {
|
|
1264
3182
|
type: 'array',
|
|
@@ -1280,9 +3198,23 @@ export const RegistryRepositoryWithTagsSchema = {
|
|
|
1280
3198
|
type: 'string',
|
|
1281
3199
|
description: 'Media type of the manifest.',
|
|
1282
3200
|
example: 'application/vnd.docker.distribution.manifest.v2+json'
|
|
3201
|
+
},
|
|
3202
|
+
platforms: {
|
|
3203
|
+
type: 'array',
|
|
3204
|
+
items: {
|
|
3205
|
+
type: 'string'
|
|
3206
|
+
},
|
|
3207
|
+
description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
|
|
3208
|
+
example: [
|
|
3209
|
+
'linux/amd64',
|
|
3210
|
+
'linux/arm64'
|
|
3211
|
+
]
|
|
1283
3212
|
}
|
|
1284
3213
|
},
|
|
1285
|
-
required: [
|
|
3214
|
+
required: [
|
|
3215
|
+
'name',
|
|
3216
|
+
'size'
|
|
3217
|
+
],
|
|
1286
3218
|
additionalProperties: false
|
|
1287
3219
|
},
|
|
1288
3220
|
description: 'Array of tags in the repository.'
|
|
@@ -1294,7 +3226,13 @@ export const RegistryRepositoryWithTagsSchema = {
|
|
|
1294
3226
|
example: 987654321
|
|
1295
3227
|
}
|
|
1296
3228
|
},
|
|
1297
|
-
required: [
|
|
3229
|
+
required: [
|
|
3230
|
+
'name',
|
|
3231
|
+
'region',
|
|
3232
|
+
'uri',
|
|
3233
|
+
'tags',
|
|
3234
|
+
'totalSize'
|
|
3235
|
+
],
|
|
1298
3236
|
additionalProperties: false
|
|
1299
3237
|
};
|
|
1300
3238
|
export const RegistryTagSchema = {
|
|
@@ -1305,6 +3243,11 @@ export const RegistryTagSchema = {
|
|
|
1305
3243
|
description: 'Tag name.',
|
|
1306
3244
|
example: 'latest'
|
|
1307
3245
|
},
|
|
3246
|
+
digest: {
|
|
3247
|
+
type: 'string',
|
|
3248
|
+
description: 'Manifest digest for pulling by digest.',
|
|
3249
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
3250
|
+
},
|
|
1308
3251
|
mediaType: {
|
|
1309
3252
|
type: 'string',
|
|
1310
3253
|
description: 'Media type of the manifest.',
|
|
@@ -1320,7 +3263,9 @@ export const RegistryTagSchema = {
|
|
|
1320
3263
|
example: 1234
|
|
1321
3264
|
}
|
|
1322
3265
|
},
|
|
1323
|
-
required: [
|
|
3266
|
+
required: [
|
|
3267
|
+
'size'
|
|
3268
|
+
],
|
|
1324
3269
|
additionalProperties: false,
|
|
1325
3270
|
description: 'Manifest config metadata.'
|
|
1326
3271
|
},
|
|
@@ -1329,6 +3274,11 @@ export const RegistryTagSchema = {
|
|
|
1329
3274
|
items: {
|
|
1330
3275
|
type: 'object',
|
|
1331
3276
|
properties: {
|
|
3277
|
+
digest: {
|
|
3278
|
+
type: 'string',
|
|
3279
|
+
description: 'Digest of the layer.',
|
|
3280
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
3281
|
+
},
|
|
1332
3282
|
size: {
|
|
1333
3283
|
type: 'number',
|
|
1334
3284
|
format: 'float',
|
|
@@ -1336,7 +3286,9 @@ export const RegistryTagSchema = {
|
|
|
1336
3286
|
example: 5678
|
|
1337
3287
|
}
|
|
1338
3288
|
},
|
|
1339
|
-
required: [
|
|
3289
|
+
required: [
|
|
3290
|
+
'size'
|
|
3291
|
+
],
|
|
1340
3292
|
additionalProperties: false
|
|
1341
3293
|
},
|
|
1342
3294
|
description: 'Array of layer metadata.'
|
|
@@ -1363,14 +3315,54 @@ export const RegistryTagSchema = {
|
|
|
1363
3315
|
type: 'string',
|
|
1364
3316
|
description: 'Operating system of the platform.',
|
|
1365
3317
|
example: 'linux'
|
|
3318
|
+
},
|
|
3319
|
+
variant: {
|
|
3320
|
+
type: 'string',
|
|
3321
|
+
description: 'Variant of the platform (e.g., v7, v8 for ARM).',
|
|
3322
|
+
example: 'v8'
|
|
1366
3323
|
}
|
|
1367
3324
|
},
|
|
1368
|
-
required: [
|
|
3325
|
+
required: [
|
|
3326
|
+
'architecture',
|
|
3327
|
+
'os'
|
|
3328
|
+
],
|
|
1369
3329
|
additionalProperties: false,
|
|
1370
3330
|
description: 'Platform information for the manifest.'
|
|
3331
|
+
},
|
|
3332
|
+
layers: {
|
|
3333
|
+
type: 'array',
|
|
3334
|
+
items: {
|
|
3335
|
+
type: 'object',
|
|
3336
|
+
properties: {
|
|
3337
|
+
digest: {
|
|
3338
|
+
type: 'string',
|
|
3339
|
+
description: 'Digest of the layer.',
|
|
3340
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
3341
|
+
},
|
|
3342
|
+
size: {
|
|
3343
|
+
type: 'number',
|
|
3344
|
+
format: 'float',
|
|
3345
|
+
description: 'Size of the layer in bytes.',
|
|
3346
|
+
example: 5678
|
|
3347
|
+
}
|
|
3348
|
+
},
|
|
3349
|
+
required: [
|
|
3350
|
+
'size'
|
|
3351
|
+
],
|
|
3352
|
+
additionalProperties: false
|
|
3353
|
+
},
|
|
3354
|
+
description: 'Layers for this platform.'
|
|
3355
|
+
},
|
|
3356
|
+
size: {
|
|
3357
|
+
type: 'number',
|
|
3358
|
+
format: 'float',
|
|
3359
|
+
description: 'Total size of this platform manifest in bytes.',
|
|
3360
|
+
example: 12345678
|
|
1371
3361
|
}
|
|
1372
3362
|
},
|
|
1373
|
-
required: [
|
|
3363
|
+
required: [
|
|
3364
|
+
'digest'
|
|
3365
|
+
],
|
|
1374
3366
|
additionalProperties: false
|
|
1375
3367
|
},
|
|
1376
3368
|
description: 'Array of manifests for multi-arch images.'
|
|
@@ -1397,7 +3389,337 @@ export const RegistryTagSchema = {
|
|
|
1397
3389
|
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
|
|
1398
3390
|
}
|
|
1399
3391
|
},
|
|
1400
|
-
required: [
|
|
3392
|
+
required: [
|
|
3393
|
+
'name',
|
|
3394
|
+
'digest',
|
|
3395
|
+
'size',
|
|
3396
|
+
'region',
|
|
3397
|
+
'repository',
|
|
3398
|
+
'uri'
|
|
3399
|
+
],
|
|
3400
|
+
additionalProperties: false
|
|
3401
|
+
};
|
|
3402
|
+
export const TicketAttachmentSchema = {
|
|
3403
|
+
type: 'object',
|
|
3404
|
+
properties: {
|
|
3405
|
+
id: {
|
|
3406
|
+
type: 'string',
|
|
3407
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3408
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3409
|
+
},
|
|
3410
|
+
filename: {
|
|
3411
|
+
type: 'string',
|
|
3412
|
+
description: 'Original filename as uploaded.',
|
|
3413
|
+
example: 'debug.log'
|
|
3414
|
+
},
|
|
3415
|
+
content_type: {
|
|
3416
|
+
type: 'string',
|
|
3417
|
+
description: 'MIME content type of the attachment.',
|
|
3418
|
+
example: 'text/plain'
|
|
3419
|
+
},
|
|
3420
|
+
size: {
|
|
3421
|
+
type: 'integer',
|
|
3422
|
+
description: 'Size of the attachment in bytes.',
|
|
3423
|
+
example: 12345
|
|
3424
|
+
}
|
|
3425
|
+
},
|
|
3426
|
+
required: [
|
|
3427
|
+
'id',
|
|
3428
|
+
'filename',
|
|
3429
|
+
'content_type',
|
|
3430
|
+
'size'
|
|
3431
|
+
],
|
|
3432
|
+
additionalProperties: false
|
|
3433
|
+
};
|
|
3434
|
+
export const TicketCreateInputSchema = {
|
|
3435
|
+
type: 'object',
|
|
3436
|
+
properties: {
|
|
3437
|
+
category: {
|
|
3438
|
+
type: 'string',
|
|
3439
|
+
description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
|
|
3440
|
+
example: 'technical',
|
|
3441
|
+
enum: [
|
|
3442
|
+
'billing',
|
|
3443
|
+
'technical',
|
|
3444
|
+
'general'
|
|
3445
|
+
]
|
|
3446
|
+
},
|
|
3447
|
+
body: {
|
|
3448
|
+
type: 'string',
|
|
3449
|
+
maxLength: 50000,
|
|
3450
|
+
minLength: 1,
|
|
3451
|
+
pattern: '\\S',
|
|
3452
|
+
description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
|
|
3453
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3454
|
+
},
|
|
3455
|
+
properties: {
|
|
3456
|
+
type: 'object',
|
|
3457
|
+
additionalProperties: true,
|
|
3458
|
+
description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
|
|
3459
|
+
example: {
|
|
3460
|
+
subcategory: 'cluster-question',
|
|
3461
|
+
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
3462
|
+
}
|
|
3463
|
+
}
|
|
3464
|
+
},
|
|
3465
|
+
required: [
|
|
3466
|
+
'category',
|
|
3467
|
+
'body'
|
|
3468
|
+
],
|
|
3469
|
+
additionalProperties: false
|
|
3470
|
+
};
|
|
3471
|
+
export const TicketMessageInputSchema = {
|
|
3472
|
+
type: 'object',
|
|
3473
|
+
properties: {
|
|
3474
|
+
body: {
|
|
3475
|
+
type: 'string',
|
|
3476
|
+
maxLength: 50000,
|
|
3477
|
+
minLength: 1,
|
|
3478
|
+
pattern: '\\S',
|
|
3479
|
+
description: 'Reply body in markdown.',
|
|
3480
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3481
|
+
}
|
|
3482
|
+
},
|
|
3483
|
+
required: [
|
|
3484
|
+
'body'
|
|
3485
|
+
],
|
|
3486
|
+
additionalProperties: false
|
|
3487
|
+
};
|
|
3488
|
+
export const TicketMessageSchema = {
|
|
3489
|
+
type: 'object',
|
|
3490
|
+
properties: {
|
|
3491
|
+
id: {
|
|
3492
|
+
type: 'string',
|
|
3493
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3494
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3495
|
+
},
|
|
3496
|
+
type: {
|
|
3497
|
+
type: 'string',
|
|
3498
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3499
|
+
example: 'customer_reply',
|
|
3500
|
+
enum: [
|
|
3501
|
+
'customer_reply',
|
|
3502
|
+
'agent_reply'
|
|
3503
|
+
]
|
|
3504
|
+
},
|
|
3505
|
+
body: {
|
|
3506
|
+
type: 'string',
|
|
3507
|
+
description: 'Message body in markdown.',
|
|
3508
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3509
|
+
},
|
|
3510
|
+
author_first_name: {
|
|
3511
|
+
type: 'string',
|
|
3512
|
+
nullable: true,
|
|
3513
|
+
description: 'First name of the author. Null when not provided.',
|
|
3514
|
+
example: 'Jane'
|
|
3515
|
+
},
|
|
3516
|
+
author_last_name: {
|
|
3517
|
+
type: 'string',
|
|
3518
|
+
nullable: true,
|
|
3519
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3520
|
+
example: 'Doe'
|
|
3521
|
+
},
|
|
3522
|
+
attachments: {
|
|
3523
|
+
type: 'array',
|
|
3524
|
+
items: {
|
|
3525
|
+
type: 'object',
|
|
3526
|
+
properties: {
|
|
3527
|
+
id: {
|
|
3528
|
+
type: 'string',
|
|
3529
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3530
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3531
|
+
},
|
|
3532
|
+
filename: {
|
|
3533
|
+
type: 'string',
|
|
3534
|
+
description: 'Original filename as uploaded.',
|
|
3535
|
+
example: 'debug.log'
|
|
3536
|
+
},
|
|
3537
|
+
content_type: {
|
|
3538
|
+
type: 'string',
|
|
3539
|
+
description: 'MIME content type of the attachment.',
|
|
3540
|
+
example: 'text/plain'
|
|
3541
|
+
},
|
|
3542
|
+
size: {
|
|
3543
|
+
type: 'integer',
|
|
3544
|
+
description: 'Size of the attachment in bytes.',
|
|
3545
|
+
example: 12345
|
|
3546
|
+
}
|
|
3547
|
+
},
|
|
3548
|
+
required: [
|
|
3549
|
+
'id',
|
|
3550
|
+
'filename',
|
|
3551
|
+
'content_type',
|
|
3552
|
+
'size'
|
|
3553
|
+
],
|
|
3554
|
+
additionalProperties: false
|
|
3555
|
+
},
|
|
3556
|
+
description: 'Attachments associated with this message.',
|
|
3557
|
+
example: []
|
|
3558
|
+
},
|
|
3559
|
+
date_created: {
|
|
3560
|
+
type: 'string',
|
|
3561
|
+
format: 'date-time',
|
|
3562
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3563
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3564
|
+
}
|
|
3565
|
+
},
|
|
3566
|
+
required: [
|
|
3567
|
+
'id',
|
|
3568
|
+
'type',
|
|
3569
|
+
'body',
|
|
3570
|
+
'date_created'
|
|
3571
|
+
],
|
|
3572
|
+
additionalProperties: false
|
|
3573
|
+
};
|
|
3574
|
+
export const TicketSchema = {
|
|
3575
|
+
type: 'object',
|
|
3576
|
+
properties: {
|
|
3577
|
+
id: {
|
|
3578
|
+
type: 'string',
|
|
3579
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3580
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3581
|
+
},
|
|
3582
|
+
status: {
|
|
3583
|
+
type: 'string',
|
|
3584
|
+
description: 'Current state of the ticket.',
|
|
3585
|
+
example: 'waiting_on_us',
|
|
3586
|
+
enum: [
|
|
3587
|
+
'waiting_on_us',
|
|
3588
|
+
'waiting_on_user',
|
|
3589
|
+
'closed'
|
|
3590
|
+
]
|
|
3591
|
+
},
|
|
3592
|
+
category: {
|
|
3593
|
+
type: 'string',
|
|
3594
|
+
description: 'Ticket category.',
|
|
3595
|
+
example: 'technical',
|
|
3596
|
+
enum: [
|
|
3597
|
+
'billing',
|
|
3598
|
+
'technical',
|
|
3599
|
+
'general'
|
|
3600
|
+
]
|
|
3601
|
+
},
|
|
3602
|
+
summary: {
|
|
3603
|
+
type: 'string',
|
|
3604
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3605
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3606
|
+
},
|
|
3607
|
+
closed_at: {
|
|
3608
|
+
type: 'string',
|
|
3609
|
+
format: 'date-time',
|
|
3610
|
+
nullable: true,
|
|
3611
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3612
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
3613
|
+
},
|
|
3614
|
+
date_created: {
|
|
3615
|
+
type: 'string',
|
|
3616
|
+
format: 'date-time',
|
|
3617
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3618
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3619
|
+
},
|
|
3620
|
+
date_updated: {
|
|
3621
|
+
type: 'string',
|
|
3622
|
+
format: 'date-time',
|
|
3623
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3624
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3625
|
+
},
|
|
3626
|
+
messages: {
|
|
3627
|
+
type: 'array',
|
|
3628
|
+
items: {
|
|
3629
|
+
type: 'object',
|
|
3630
|
+
properties: {
|
|
3631
|
+
id: {
|
|
3632
|
+
type: 'string',
|
|
3633
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3634
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3635
|
+
},
|
|
3636
|
+
type: {
|
|
3637
|
+
type: 'string',
|
|
3638
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3639
|
+
example: 'customer_reply',
|
|
3640
|
+
enum: [
|
|
3641
|
+
'customer_reply',
|
|
3642
|
+
'agent_reply'
|
|
3643
|
+
]
|
|
3644
|
+
},
|
|
3645
|
+
body: {
|
|
3646
|
+
type: 'string',
|
|
3647
|
+
description: 'Message body in markdown.',
|
|
3648
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3649
|
+
},
|
|
3650
|
+
author_first_name: {
|
|
3651
|
+
type: 'string',
|
|
3652
|
+
description: 'First name of the author. Null when not provided.',
|
|
3653
|
+
example: 'Jane'
|
|
3654
|
+
},
|
|
3655
|
+
author_last_name: {
|
|
3656
|
+
type: 'string',
|
|
3657
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3658
|
+
example: 'Doe'
|
|
3659
|
+
},
|
|
3660
|
+
attachments: {
|
|
3661
|
+
type: 'array',
|
|
3662
|
+
items: {
|
|
3663
|
+
type: 'object',
|
|
3664
|
+
properties: {
|
|
3665
|
+
id: {
|
|
3666
|
+
type: 'string',
|
|
3667
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3668
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3669
|
+
},
|
|
3670
|
+
filename: {
|
|
3671
|
+
type: 'string',
|
|
3672
|
+
description: 'Original filename as uploaded.',
|
|
3673
|
+
example: 'debug.log'
|
|
3674
|
+
},
|
|
3675
|
+
content_type: {
|
|
3676
|
+
type: 'string',
|
|
3677
|
+
description: 'MIME content type of the attachment.',
|
|
3678
|
+
example: 'text/plain'
|
|
3679
|
+
},
|
|
3680
|
+
size: {
|
|
3681
|
+
type: 'integer',
|
|
3682
|
+
description: 'Size of the attachment in bytes.',
|
|
3683
|
+
example: 12345
|
|
3684
|
+
}
|
|
3685
|
+
},
|
|
3686
|
+
required: [
|
|
3687
|
+
'id',
|
|
3688
|
+
'filename',
|
|
3689
|
+
'content_type',
|
|
3690
|
+
'size'
|
|
3691
|
+
],
|
|
3692
|
+
additionalProperties: false
|
|
3693
|
+
},
|
|
3694
|
+
description: 'Attachments associated with this message.',
|
|
3695
|
+
example: []
|
|
3696
|
+
},
|
|
3697
|
+
date_created: {
|
|
3698
|
+
type: 'string',
|
|
3699
|
+
format: 'date-time',
|
|
3700
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3701
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3702
|
+
}
|
|
3703
|
+
},
|
|
3704
|
+
required: [
|
|
3705
|
+
'id',
|
|
3706
|
+
'type',
|
|
3707
|
+
'body',
|
|
3708
|
+
'date_created'
|
|
3709
|
+
],
|
|
3710
|
+
additionalProperties: false
|
|
3711
|
+
},
|
|
3712
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3713
|
+
}
|
|
3714
|
+
},
|
|
3715
|
+
required: [
|
|
3716
|
+
'id',
|
|
3717
|
+
'status',
|
|
3718
|
+
'category',
|
|
3719
|
+
'summary',
|
|
3720
|
+
'date_created',
|
|
3721
|
+
'date_updated'
|
|
3722
|
+
],
|
|
1401
3723
|
additionalProperties: false
|
|
1402
3724
|
};
|
|
1403
3725
|
export const TokenCreateInputSchema = {
|
|
@@ -1415,10 +3737,16 @@ export const TokenCreateInputSchema = {
|
|
|
1415
3737
|
type: 'string',
|
|
1416
3738
|
description: 'Role assumed by the token.',
|
|
1417
3739
|
example: 'User',
|
|
1418
|
-
enum: [
|
|
3740
|
+
enum: [
|
|
3741
|
+
'Administrator',
|
|
3742
|
+
'User'
|
|
3743
|
+
]
|
|
1419
3744
|
}
|
|
1420
3745
|
},
|
|
1421
|
-
required: [
|
|
3746
|
+
required: [
|
|
3747
|
+
'name',
|
|
3748
|
+
'role'
|
|
3749
|
+
],
|
|
1422
3750
|
additionalProperties: false
|
|
1423
3751
|
};
|
|
1424
3752
|
export const TokenSchema = {
|
|
@@ -1436,7 +3764,10 @@ export const TokenSchema = {
|
|
|
1436
3764
|
type: 'string',
|
|
1437
3765
|
description: 'Role assumed by the token.',
|
|
1438
3766
|
example: 'User',
|
|
1439
|
-
enum: [
|
|
3767
|
+
enum: [
|
|
3768
|
+
'Administrator',
|
|
3769
|
+
'User'
|
|
3770
|
+
]
|
|
1440
3771
|
},
|
|
1441
3772
|
id: {
|
|
1442
3773
|
type: 'string',
|
|
@@ -1455,7 +3786,11 @@ export const TokenSchema = {
|
|
|
1455
3786
|
example: '2023-12-20T13:53:32.000Z'
|
|
1456
3787
|
}
|
|
1457
3788
|
},
|
|
1458
|
-
required: [
|
|
3789
|
+
required: [
|
|
3790
|
+
'name',
|
|
3791
|
+
'role',
|
|
3792
|
+
'date_created'
|
|
3793
|
+
],
|
|
1459
3794
|
additionalProperties: false
|
|
1460
3795
|
};
|
|
1461
3796
|
export const TokenUpdateInputSchema = {
|
|
@@ -1473,7 +3808,10 @@ export const TokenUpdateInputSchema = {
|
|
|
1473
3808
|
type: 'string',
|
|
1474
3809
|
description: 'Role assumed by the token.',
|
|
1475
3810
|
example: 'User',
|
|
1476
|
-
enum: [
|
|
3811
|
+
enum: [
|
|
3812
|
+
'Administrator',
|
|
3813
|
+
'User'
|
|
3814
|
+
]
|
|
1477
3815
|
}
|
|
1478
3816
|
},
|
|
1479
3817
|
additionalProperties: false
|
|
@@ -1487,15 +3825,29 @@ export const UsageFacetsSchema = {
|
|
|
1487
3825
|
type: 'string'
|
|
1488
3826
|
},
|
|
1489
3827
|
description: 'List of unique cluster IDs',
|
|
1490
|
-
example: [
|
|
3828
|
+
example: [
|
|
3829
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3830
|
+
]
|
|
1491
3831
|
},
|
|
1492
3832
|
product: {
|
|
1493
3833
|
type: 'array',
|
|
1494
3834
|
items: {
|
|
1495
|
-
type: 'string'
|
|
3835
|
+
type: 'string',
|
|
3836
|
+
enum: [
|
|
3837
|
+
'cfke_controlplane_basic',
|
|
3838
|
+
'cfke_controlplane_pro',
|
|
3839
|
+
'cfke_controlplane_enterprise',
|
|
3840
|
+
'cfke_connected_nodes_basic',
|
|
3841
|
+
'cfke_connected_nodes_pro',
|
|
3842
|
+
'cfke_connected_nodes_enterprise',
|
|
3843
|
+
'cfcr_storage'
|
|
3844
|
+
]
|
|
1496
3845
|
},
|
|
1497
3846
|
description: 'List of unique products',
|
|
1498
|
-
example: [
|
|
3847
|
+
example: [
|
|
3848
|
+
'cfke_controlplane_pro',
|
|
3849
|
+
'cfke_connected_nodes_pro'
|
|
3850
|
+
]
|
|
1499
3851
|
}
|
|
1500
3852
|
},
|
|
1501
3853
|
additionalProperties: false
|
|
@@ -1521,7 +3873,16 @@ export const UsageResponseSchema = {
|
|
|
1521
3873
|
product: {
|
|
1522
3874
|
type: 'string',
|
|
1523
3875
|
description: 'The product the usage is associated with',
|
|
1524
|
-
example: '
|
|
3876
|
+
example: 'cfke_controlplane_pro',
|
|
3877
|
+
enum: [
|
|
3878
|
+
'cfke_controlplane_basic',
|
|
3879
|
+
'cfke_controlplane_pro',
|
|
3880
|
+
'cfke_controlplane_enterprise',
|
|
3881
|
+
'cfke_connected_nodes_basic',
|
|
3882
|
+
'cfke_connected_nodes_pro',
|
|
3883
|
+
'cfke_connected_nodes_enterprise',
|
|
3884
|
+
'cfcr_storage'
|
|
3885
|
+
]
|
|
1525
3886
|
},
|
|
1526
3887
|
value: {
|
|
1527
3888
|
type: 'number',
|
|
@@ -1541,7 +3902,14 @@ export const UsageResponseSchema = {
|
|
|
1541
3902
|
description: 'Total cost'
|
|
1542
3903
|
}
|
|
1543
3904
|
},
|
|
1544
|
-
required: [
|
|
3905
|
+
required: [
|
|
3906
|
+
'hour',
|
|
3907
|
+
'cluster_id',
|
|
3908
|
+
'product',
|
|
3909
|
+
'value',
|
|
3910
|
+
'price',
|
|
3911
|
+
'total'
|
|
3912
|
+
],
|
|
1545
3913
|
additionalProperties: false
|
|
1546
3914
|
},
|
|
1547
3915
|
description: 'Usage data'
|
|
@@ -1555,22 +3923,39 @@ export const UsageResponseSchema = {
|
|
|
1555
3923
|
type: 'string'
|
|
1556
3924
|
},
|
|
1557
3925
|
description: 'List of unique cluster IDs',
|
|
1558
|
-
example: [
|
|
3926
|
+
example: [
|
|
3927
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3928
|
+
]
|
|
1559
3929
|
},
|
|
1560
3930
|
product: {
|
|
1561
3931
|
type: 'array',
|
|
1562
3932
|
items: {
|
|
1563
|
-
type: 'string'
|
|
3933
|
+
type: 'string',
|
|
3934
|
+
enum: [
|
|
3935
|
+
'cfke_controlplane_basic',
|
|
3936
|
+
'cfke_controlplane_pro',
|
|
3937
|
+
'cfke_controlplane_enterprise',
|
|
3938
|
+
'cfke_connected_nodes_basic',
|
|
3939
|
+
'cfke_connected_nodes_pro',
|
|
3940
|
+
'cfke_connected_nodes_enterprise',
|
|
3941
|
+
'cfcr_storage'
|
|
3942
|
+
]
|
|
1564
3943
|
},
|
|
1565
3944
|
description: 'List of unique products',
|
|
1566
|
-
example: [
|
|
3945
|
+
example: [
|
|
3946
|
+
'cfke_controlplane_pro',
|
|
3947
|
+
'cfke_connected_nodes_pro'
|
|
3948
|
+
]
|
|
1567
3949
|
}
|
|
1568
3950
|
},
|
|
1569
3951
|
additionalProperties: false,
|
|
1570
3952
|
description: 'Facets for filtering'
|
|
1571
3953
|
}
|
|
1572
3954
|
},
|
|
1573
|
-
required: [
|
|
3955
|
+
required: [
|
|
3956
|
+
'data',
|
|
3957
|
+
'facets'
|
|
3958
|
+
],
|
|
1574
3959
|
additionalProperties: false
|
|
1575
3960
|
};
|
|
1576
3961
|
export const UsageSchema = {
|
|
@@ -1589,7 +3974,16 @@ export const UsageSchema = {
|
|
|
1589
3974
|
product: {
|
|
1590
3975
|
type: 'string',
|
|
1591
3976
|
description: 'The product the usage is associated with',
|
|
1592
|
-
example: '
|
|
3977
|
+
example: 'cfke_controlplane_pro',
|
|
3978
|
+
enum: [
|
|
3979
|
+
'cfke_controlplane_basic',
|
|
3980
|
+
'cfke_controlplane_pro',
|
|
3981
|
+
'cfke_controlplane_enterprise',
|
|
3982
|
+
'cfke_connected_nodes_basic',
|
|
3983
|
+
'cfke_connected_nodes_pro',
|
|
3984
|
+
'cfke_connected_nodes_enterprise',
|
|
3985
|
+
'cfcr_storage'
|
|
3986
|
+
]
|
|
1593
3987
|
},
|
|
1594
3988
|
value: {
|
|
1595
3989
|
type: 'number',
|
|
@@ -1609,7 +4003,14 @@ export const UsageSchema = {
|
|
|
1609
4003
|
description: 'Total cost'
|
|
1610
4004
|
}
|
|
1611
4005
|
},
|
|
1612
|
-
required: [
|
|
4006
|
+
required: [
|
|
4007
|
+
'hour',
|
|
4008
|
+
'cluster_id',
|
|
4009
|
+
'product',
|
|
4010
|
+
'value',
|
|
4011
|
+
'price',
|
|
4012
|
+
'total'
|
|
4013
|
+
],
|
|
1613
4014
|
additionalProperties: false
|
|
1614
4015
|
};
|
|
1615
4016
|
export const UserCreateInputSchema = {
|
|
@@ -1645,21 +4046,15 @@ export const UserCreateInputSchema = {
|
|
|
1645
4046
|
type: 'string',
|
|
1646
4047
|
minLength: 8,
|
|
1647
4048
|
description: 'User password. Must be at least 8 characters long.'
|
|
1648
|
-
},
|
|
1649
|
-
status: {
|
|
1650
|
-
type: 'string',
|
|
1651
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1652
|
-
example: 'active',
|
|
1653
|
-
enum: ['active', 'inactive']
|
|
1654
|
-
},
|
|
1655
|
-
role: {
|
|
1656
|
-
type: 'string',
|
|
1657
|
-
description: "User role. Can be 'Administrator', 'User'.",
|
|
1658
|
-
example: 'User',
|
|
1659
|
-
enum: ['Administrator', 'User']
|
|
1660
4049
|
}
|
|
1661
4050
|
},
|
|
1662
|
-
required: [
|
|
4051
|
+
required: [
|
|
4052
|
+
'email',
|
|
4053
|
+
'first_name',
|
|
4054
|
+
'last_name',
|
|
4055
|
+
'code',
|
|
4056
|
+
'password'
|
|
4057
|
+
],
|
|
1663
4058
|
additionalProperties: false
|
|
1664
4059
|
};
|
|
1665
4060
|
export const UserSchema = {
|
|
@@ -1687,15 +4082,21 @@ export const UserSchema = {
|
|
|
1687
4082
|
},
|
|
1688
4083
|
role: {
|
|
1689
4084
|
type: 'string',
|
|
1690
|
-
description:
|
|
4085
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1691
4086
|
example: 'User',
|
|
1692
|
-
enum: [
|
|
4087
|
+
enum: [
|
|
4088
|
+
'Administrator',
|
|
4089
|
+
'User'
|
|
4090
|
+
]
|
|
1693
4091
|
},
|
|
1694
4092
|
status: {
|
|
1695
4093
|
type: 'string',
|
|
1696
4094
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1697
4095
|
example: 'active',
|
|
1698
|
-
enum: [
|
|
4096
|
+
enum: [
|
|
4097
|
+
'active',
|
|
4098
|
+
'inactive'
|
|
4099
|
+
]
|
|
1699
4100
|
},
|
|
1700
4101
|
id: {
|
|
1701
4102
|
type: 'string',
|
|
@@ -1710,7 +4111,15 @@ export const UserSchema = {
|
|
|
1710
4111
|
example: '2023-11-02T16:08:14.338Z'
|
|
1711
4112
|
}
|
|
1712
4113
|
},
|
|
1713
|
-
required: [
|
|
4114
|
+
required: [
|
|
4115
|
+
'email',
|
|
4116
|
+
'first_name',
|
|
4117
|
+
'last_name',
|
|
4118
|
+
'role',
|
|
4119
|
+
'status',
|
|
4120
|
+
'id',
|
|
4121
|
+
'date_created'
|
|
4122
|
+
],
|
|
1714
4123
|
additionalProperties: false
|
|
1715
4124
|
};
|
|
1716
4125
|
export const UserUpdateInputSchema = {
|
|
@@ -1738,15 +4147,21 @@ export const UserUpdateInputSchema = {
|
|
|
1738
4147
|
},
|
|
1739
4148
|
role: {
|
|
1740
4149
|
type: 'string',
|
|
1741
|
-
description:
|
|
4150
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1742
4151
|
example: 'User',
|
|
1743
|
-
enum: [
|
|
4152
|
+
enum: [
|
|
4153
|
+
'Administrator',
|
|
4154
|
+
'User'
|
|
4155
|
+
]
|
|
1744
4156
|
},
|
|
1745
4157
|
status: {
|
|
1746
4158
|
type: 'string',
|
|
1747
4159
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1748
4160
|
example: 'active',
|
|
1749
|
-
enum: [
|
|
4161
|
+
enum: [
|
|
4162
|
+
'active',
|
|
4163
|
+
'inactive'
|
|
4164
|
+
]
|
|
1750
4165
|
}
|
|
1751
4166
|
},
|
|
1752
4167
|
additionalProperties: false
|