@cloudfleet/sdk 0.0.1-0ac9bf0 → 0.0.1-0bc765b
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/dist/@tanstack/react-query.gen.d.ts +1149 -0
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
- package/dist/@tanstack/react-query.gen.js +1165 -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 +113 -98
- 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 +6 -2
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.js +10 -12
- 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 +18 -6
- 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 +1475 -218
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +2844 -328
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +117 -27
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +188 -141
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +8 -8
- package/dist/types.gen.d.ts +1390 -150
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +2946 -847
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +1315 -519
- package/dist/zod.gen.js.map +1 -1
- package/package.json +28 -5
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 = {
|
|
@@ -272,24 +441,115 @@ export const ClusterCreateInputSchema = {
|
|
|
272
441
|
type: 'string',
|
|
273
442
|
description: 'Tier of the cluster.',
|
|
274
443
|
example: 'pro',
|
|
275
|
-
enum: [
|
|
444
|
+
enum: [
|
|
445
|
+
'basic',
|
|
446
|
+
'pro'
|
|
447
|
+
]
|
|
276
448
|
},
|
|
277
449
|
region: {
|
|
278
450
|
type: 'string',
|
|
279
|
-
description: 'Cloudfleet control plane region.
|
|
280
|
-
|
|
281
|
-
example: 'northamerica-central-1a',
|
|
282
|
-
enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
|
|
451
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
452
|
+
example: 'europe-central-1a'
|
|
283
453
|
},
|
|
284
454
|
version_channel: {
|
|
285
455
|
type: 'string',
|
|
286
456
|
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
457
|
description: 'Version of the kubernetes cluster.',
|
|
288
458
|
default: '1.x.x-cfke.x',
|
|
289
|
-
example: '1.
|
|
459
|
+
example: '1.x.x-cfke.x'
|
|
460
|
+
},
|
|
461
|
+
release_channel: {
|
|
462
|
+
type: 'string',
|
|
463
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
464
|
+
default: 'rapid',
|
|
465
|
+
example: 'rapid',
|
|
466
|
+
enum: [
|
|
467
|
+
'rapid',
|
|
468
|
+
'stable',
|
|
469
|
+
'extended'
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
features: {
|
|
473
|
+
type: 'object',
|
|
474
|
+
properties: {
|
|
475
|
+
gpu_sharing_strategy: {
|
|
476
|
+
type: 'string',
|
|
477
|
+
description: 'GPU sharing strategy.',
|
|
478
|
+
example: 'none',
|
|
479
|
+
enum: [
|
|
480
|
+
'none',
|
|
481
|
+
'mps',
|
|
482
|
+
'time_slicing'
|
|
483
|
+
]
|
|
484
|
+
},
|
|
485
|
+
gpu_max_shared_clients_per_gpu: {
|
|
486
|
+
type: 'integer',
|
|
487
|
+
minimum: 1,
|
|
488
|
+
maximum: 48,
|
|
489
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
490
|
+
example: 10
|
|
491
|
+
},
|
|
492
|
+
cilium_socket_lb_host_namespace_only: {
|
|
493
|
+
type: 'boolean',
|
|
494
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
495
|
+
example: false
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
required: [
|
|
499
|
+
'gpu_sharing_strategy',
|
|
500
|
+
'gpu_max_shared_clients_per_gpu'
|
|
501
|
+
],
|
|
502
|
+
additionalProperties: false,
|
|
503
|
+
description: 'Cluster feature toggles.',
|
|
504
|
+
default: {
|
|
505
|
+
gpu_sharing_strategy: 'none',
|
|
506
|
+
gpu_max_shared_clients_per_gpu: 10,
|
|
507
|
+
cilium_socket_lb_host_namespace_only: false
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
networking: {
|
|
511
|
+
type: 'object',
|
|
512
|
+
properties: {
|
|
513
|
+
pod_cidr: {
|
|
514
|
+
type: 'string',
|
|
515
|
+
description: 'CIDR block for pod IPs.',
|
|
516
|
+
example: '10.244.0.0/16'
|
|
517
|
+
},
|
|
518
|
+
service_cidr: {
|
|
519
|
+
type: 'string',
|
|
520
|
+
description: 'CIDR block for service IPs.',
|
|
521
|
+
example: '10.96.0.0/12'
|
|
522
|
+
},
|
|
523
|
+
cluster_dns: {
|
|
524
|
+
type: 'string',
|
|
525
|
+
description: 'CoreDNS service IP.',
|
|
526
|
+
example: '10.96.0.10'
|
|
527
|
+
},
|
|
528
|
+
dual_stack: {
|
|
529
|
+
type: 'boolean',
|
|
530
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.',
|
|
531
|
+
example: false
|
|
532
|
+
},
|
|
533
|
+
pod_cidr_v6: {
|
|
534
|
+
type: 'string',
|
|
535
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
536
|
+
example: 'fd00:10:244::/56'
|
|
537
|
+
},
|
|
538
|
+
service_cidr_v6: {
|
|
539
|
+
type: 'string',
|
|
540
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
541
|
+
example: 'fd00:10:96::/112'
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
additionalProperties: false,
|
|
545
|
+
description: 'Cluster networking configuration. Immutable after creation.'
|
|
290
546
|
}
|
|
291
547
|
},
|
|
292
|
-
required: [
|
|
548
|
+
required: [
|
|
549
|
+
'name',
|
|
550
|
+
'tier',
|
|
551
|
+
'region'
|
|
552
|
+
],
|
|
293
553
|
additionalProperties: false
|
|
294
554
|
};
|
|
295
555
|
export const ClusterJoinInformationSchema = {
|
|
@@ -298,8 +558,7 @@ export const ClusterJoinInformationSchema = {
|
|
|
298
558
|
certificate_authority: {
|
|
299
559
|
type: 'string',
|
|
300
560
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
301
|
-
example:
|
|
302
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
561
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
303
562
|
},
|
|
304
563
|
endpoint: {
|
|
305
564
|
type: 'string',
|
|
@@ -307,6 +566,16 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
307
566
|
description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
|
|
308
567
|
example: 'https://10.31.64.7:6443'
|
|
309
568
|
},
|
|
569
|
+
cluster_dns: {
|
|
570
|
+
type: 'string',
|
|
571
|
+
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
572
|
+
example: '10.96.0.10'
|
|
573
|
+
},
|
|
574
|
+
pod_cidr: {
|
|
575
|
+
type: 'string',
|
|
576
|
+
description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
|
|
577
|
+
example: '10.244.0.0/16'
|
|
578
|
+
},
|
|
310
579
|
auth_key: {
|
|
311
580
|
type: 'string',
|
|
312
581
|
description: 'Authentication key for the cluster.',
|
|
@@ -323,7 +592,7 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
323
592
|
kubernetes: {
|
|
324
593
|
type: 'string',
|
|
325
594
|
description: 'Kubernetes version of the cluster.',
|
|
326
|
-
example: '1.
|
|
595
|
+
example: '1.33.7'
|
|
327
596
|
},
|
|
328
597
|
tailscale: {
|
|
329
598
|
type: 'string',
|
|
@@ -341,7 +610,12 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
341
610
|
example: '565.0.0'
|
|
342
611
|
}
|
|
343
612
|
},
|
|
344
|
-
required: [
|
|
613
|
+
required: [
|
|
614
|
+
'kubernetes',
|
|
615
|
+
'tailscale',
|
|
616
|
+
'containerd',
|
|
617
|
+
'nvidia_driver'
|
|
618
|
+
],
|
|
345
619
|
additionalProperties: false,
|
|
346
620
|
description: 'Versions of the different components of the cluster.'
|
|
347
621
|
},
|
|
@@ -364,12 +638,25 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
364
638
|
example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
|
|
365
639
|
}
|
|
366
640
|
},
|
|
367
|
-
required: [
|
|
641
|
+
required: [
|
|
642
|
+
'metadata_url',
|
|
643
|
+
'aws_role_arn',
|
|
644
|
+
'gcp_workload_identity_provider'
|
|
645
|
+
],
|
|
368
646
|
additionalProperties: false,
|
|
369
|
-
description:
|
|
647
|
+
description: 'OIDC Information for hosts to access to third party API\'s.'
|
|
370
648
|
}
|
|
371
649
|
},
|
|
372
|
-
required: [
|
|
650
|
+
required: [
|
|
651
|
+
'certificate_authority',
|
|
652
|
+
'endpoint',
|
|
653
|
+
'cluster_dns',
|
|
654
|
+
'pod_cidr',
|
|
655
|
+
'auth_key',
|
|
656
|
+
'bootstrap_token',
|
|
657
|
+
'versions',
|
|
658
|
+
'third_party_api_access_config'
|
|
659
|
+
],
|
|
373
660
|
additionalProperties: false
|
|
374
661
|
};
|
|
375
662
|
export const ClusterSchema = {
|
|
@@ -387,21 +674,95 @@ export const ClusterSchema = {
|
|
|
387
674
|
type: 'string',
|
|
388
675
|
description: 'Tier of the cluster.',
|
|
389
676
|
example: 'pro',
|
|
390
|
-
enum: [
|
|
677
|
+
enum: [
|
|
678
|
+
'basic',
|
|
679
|
+
'pro'
|
|
680
|
+
]
|
|
391
681
|
},
|
|
392
682
|
region: {
|
|
393
683
|
type: 'string',
|
|
394
|
-
description: 'Cloudfleet control plane region.
|
|
395
|
-
|
|
396
|
-
example: 'northamerica-central-1a',
|
|
397
|
-
enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
|
|
684
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
685
|
+
example: 'europe-central-1a'
|
|
398
686
|
},
|
|
399
|
-
|
|
687
|
+
networking: {
|
|
688
|
+
type: 'object',
|
|
689
|
+
properties: {
|
|
690
|
+
pod_cidr: {
|
|
691
|
+
type: 'string',
|
|
692
|
+
description: 'CIDR block for pod IPs.',
|
|
693
|
+
example: '10.244.0.0/16'
|
|
694
|
+
},
|
|
695
|
+
service_cidr: {
|
|
696
|
+
type: 'string',
|
|
697
|
+
description: 'CIDR block for service IPs.',
|
|
698
|
+
example: '10.96.0.0/12'
|
|
699
|
+
},
|
|
700
|
+
cluster_dns: {
|
|
701
|
+
type: 'string',
|
|
702
|
+
description: 'CoreDNS service IP.',
|
|
703
|
+
example: '10.96.0.10'
|
|
704
|
+
},
|
|
705
|
+
dual_stack: {
|
|
706
|
+
type: 'boolean',
|
|
707
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.',
|
|
708
|
+
example: false
|
|
709
|
+
},
|
|
710
|
+
pod_cidr_v6: {
|
|
711
|
+
type: 'string',
|
|
712
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
713
|
+
example: 'fd00:10:244::/56'
|
|
714
|
+
},
|
|
715
|
+
service_cidr_v6: {
|
|
716
|
+
type: 'string',
|
|
717
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
718
|
+
example: 'fd00:10:96::/112'
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
additionalProperties: false,
|
|
722
|
+
description: 'Cluster networking configuration. Immutable after creation.'
|
|
723
|
+
},
|
|
724
|
+
release_channel: {
|
|
400
725
|
type: 'string',
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
726
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
727
|
+
example: 'rapid',
|
|
728
|
+
enum: [
|
|
729
|
+
'rapid',
|
|
730
|
+
'stable',
|
|
731
|
+
'extended'
|
|
732
|
+
]
|
|
733
|
+
},
|
|
734
|
+
features: {
|
|
735
|
+
type: 'object',
|
|
736
|
+
properties: {
|
|
737
|
+
gpu_sharing_strategy: {
|
|
738
|
+
type: 'string',
|
|
739
|
+
description: 'GPU sharing strategy.',
|
|
740
|
+
example: 'none',
|
|
741
|
+
enum: [
|
|
742
|
+
'none',
|
|
743
|
+
'mps',
|
|
744
|
+
'time_slicing'
|
|
745
|
+
]
|
|
746
|
+
},
|
|
747
|
+
gpu_max_shared_clients_per_gpu: {
|
|
748
|
+
type: 'integer',
|
|
749
|
+
minimum: 1,
|
|
750
|
+
maximum: 48,
|
|
751
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
752
|
+
example: 10
|
|
753
|
+
},
|
|
754
|
+
cilium_socket_lb_host_namespace_only: {
|
|
755
|
+
type: 'boolean',
|
|
756
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
757
|
+
example: false
|
|
758
|
+
}
|
|
759
|
+
},
|
|
760
|
+
required: [
|
|
761
|
+
'gpu_sharing_strategy',
|
|
762
|
+
'gpu_max_shared_clients_per_gpu'
|
|
763
|
+
],
|
|
764
|
+
additionalProperties: false,
|
|
765
|
+
description: 'Cluster feature toggles.'
|
|
405
766
|
},
|
|
406
767
|
id: {
|
|
407
768
|
type: 'string',
|
|
@@ -411,34 +772,56 @@ export const ClusterSchema = {
|
|
|
411
772
|
},
|
|
412
773
|
status: {
|
|
413
774
|
type: 'string',
|
|
414
|
-
description: 'Status of the cluster.
|
|
415
|
-
example: '
|
|
416
|
-
enum: [
|
|
775
|
+
description: 'Status of the cluster.',
|
|
776
|
+
example: 'deployed',
|
|
777
|
+
enum: [
|
|
778
|
+
'creating',
|
|
779
|
+
'deployed',
|
|
780
|
+
'updating',
|
|
781
|
+
'disabled'
|
|
782
|
+
]
|
|
417
783
|
},
|
|
418
784
|
endpoint: {
|
|
419
785
|
anyOf: [
|
|
420
786
|
{
|
|
421
787
|
type: 'string',
|
|
422
788
|
format: 'uri',
|
|
423
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
424
|
-
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.
|
|
789
|
+
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.',
|
|
790
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
425
791
|
},
|
|
426
792
|
{
|
|
427
793
|
type: 'string',
|
|
428
|
-
enum: [
|
|
794
|
+
enum: [
|
|
795
|
+
''
|
|
796
|
+
]
|
|
797
|
+
}
|
|
798
|
+
]
|
|
799
|
+
},
|
|
800
|
+
endpoint_public: {
|
|
801
|
+
anyOf: [
|
|
802
|
+
{
|
|
803
|
+
type: 'string',
|
|
804
|
+
format: 'uri',
|
|
805
|
+
description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
|
|
806
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
type: 'string',
|
|
810
|
+
enum: [
|
|
811
|
+
''
|
|
812
|
+
]
|
|
429
813
|
}
|
|
430
814
|
]
|
|
431
815
|
},
|
|
432
816
|
certificate_ca: {
|
|
433
817
|
type: 'string',
|
|
434
818
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
435
|
-
example:
|
|
436
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
819
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
437
820
|
},
|
|
438
821
|
version_current: {
|
|
439
822
|
type: 'string',
|
|
440
823
|
description: 'Current version of the cluster.',
|
|
441
|
-
example: '1.
|
|
824
|
+
example: '1.33.7-cfke.264'
|
|
442
825
|
},
|
|
443
826
|
created_at: {
|
|
444
827
|
type: 'string',
|
|
@@ -454,9 +837,21 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
454
837
|
type: 'boolean',
|
|
455
838
|
description: 'Indicates if the cluster is ready to be used.',
|
|
456
839
|
example: true
|
|
840
|
+
},
|
|
841
|
+
version_channel: {
|
|
842
|
+
type: 'string',
|
|
843
|
+
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-]+)*))?$',
|
|
844
|
+
description: 'Version of the kubernetes cluster.',
|
|
845
|
+
example: '1.x.x-cfke.x'
|
|
457
846
|
}
|
|
458
847
|
},
|
|
459
|
-
required: [
|
|
848
|
+
required: [
|
|
849
|
+
'name',
|
|
850
|
+
'tier',
|
|
851
|
+
'region',
|
|
852
|
+
'id',
|
|
853
|
+
'status'
|
|
854
|
+
],
|
|
460
855
|
additionalProperties: false
|
|
461
856
|
};
|
|
462
857
|
export const ClusterUpdateInputSchema = {
|
|
@@ -474,16 +869,64 @@ export const ClusterUpdateInputSchema = {
|
|
|
474
869
|
type: 'string',
|
|
475
870
|
description: 'Tier of the cluster.',
|
|
476
871
|
example: 'pro',
|
|
477
|
-
enum: [
|
|
872
|
+
enum: [
|
|
873
|
+
'basic',
|
|
874
|
+
'pro'
|
|
875
|
+
]
|
|
478
876
|
},
|
|
479
877
|
version_channel: {
|
|
480
878
|
type: 'string',
|
|
481
879
|
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
880
|
description: 'Version of the kubernetes cluster.',
|
|
483
|
-
example: '1.
|
|
881
|
+
example: '1.x.x-cfke.x'
|
|
882
|
+
},
|
|
883
|
+
release_channel: {
|
|
884
|
+
type: 'string',
|
|
885
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
886
|
+
example: 'rapid',
|
|
887
|
+
enum: [
|
|
888
|
+
'rapid',
|
|
889
|
+
'stable',
|
|
890
|
+
'extended'
|
|
891
|
+
]
|
|
892
|
+
},
|
|
893
|
+
features: {
|
|
894
|
+
type: 'object',
|
|
895
|
+
properties: {
|
|
896
|
+
gpu_sharing_strategy: {
|
|
897
|
+
type: 'string',
|
|
898
|
+
description: 'GPU sharing strategy.',
|
|
899
|
+
example: 'none',
|
|
900
|
+
enum: [
|
|
901
|
+
'none',
|
|
902
|
+
'mps',
|
|
903
|
+
'time_slicing'
|
|
904
|
+
]
|
|
905
|
+
},
|
|
906
|
+
gpu_max_shared_clients_per_gpu: {
|
|
907
|
+
type: 'integer',
|
|
908
|
+
minimum: 1,
|
|
909
|
+
maximum: 48,
|
|
910
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
911
|
+
example: 10
|
|
912
|
+
},
|
|
913
|
+
cilium_socket_lb_host_namespace_only: {
|
|
914
|
+
type: 'boolean',
|
|
915
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
916
|
+
example: false
|
|
917
|
+
}
|
|
918
|
+
},
|
|
919
|
+
required: [
|
|
920
|
+
'gpu_sharing_strategy',
|
|
921
|
+
'gpu_max_shared_clients_per_gpu'
|
|
922
|
+
],
|
|
923
|
+
additionalProperties: false,
|
|
924
|
+
description: 'Cluster feature toggles.'
|
|
484
925
|
}
|
|
485
926
|
},
|
|
486
|
-
required: [
|
|
927
|
+
required: [
|
|
928
|
+
'tier'
|
|
929
|
+
],
|
|
487
930
|
additionalProperties: false
|
|
488
931
|
};
|
|
489
932
|
export const FleetCreateInputSchema = {
|
|
@@ -493,13 +936,12 @@ export const FleetCreateInputSchema = {
|
|
|
493
936
|
type: 'object',
|
|
494
937
|
properties: {
|
|
495
938
|
cpu: {
|
|
496
|
-
type: '
|
|
497
|
-
format: 'float',
|
|
939
|
+
type: 'integer',
|
|
498
940
|
minimum: 0,
|
|
499
|
-
|
|
941
|
+
maximum: 100000,
|
|
942
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
500
943
|
}
|
|
501
944
|
},
|
|
502
|
-
required: ['cpu'],
|
|
503
945
|
additionalProperties: false,
|
|
504
946
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
505
947
|
},
|
|
@@ -507,47 +949,345 @@ export const FleetCreateInputSchema = {
|
|
|
507
949
|
type: 'object',
|
|
508
950
|
properties: {
|
|
509
951
|
enabled: {
|
|
510
|
-
type: 'boolean'
|
|
511
|
-
default: true
|
|
952
|
+
type: 'boolean'
|
|
512
953
|
},
|
|
513
954
|
project: {
|
|
514
955
|
type: 'string',
|
|
515
|
-
|
|
956
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
957
|
+
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.',
|
|
958
|
+
example: 'my-cloudfleet-project'
|
|
516
959
|
}
|
|
517
960
|
},
|
|
518
|
-
required: [
|
|
961
|
+
required: [
|
|
962
|
+
'enabled'
|
|
963
|
+
],
|
|
519
964
|
additionalProperties: false
|
|
520
965
|
},
|
|
521
966
|
hetzner: {
|
|
522
967
|
type: 'object',
|
|
523
968
|
properties: {
|
|
524
969
|
enabled: {
|
|
525
|
-
type: 'boolean'
|
|
526
|
-
default: true
|
|
970
|
+
type: 'boolean'
|
|
527
971
|
},
|
|
528
972
|
apiKey: {
|
|
529
973
|
type: 'string',
|
|
530
|
-
|
|
974
|
+
maxLength: 64,
|
|
975
|
+
minLength: 64,
|
|
976
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
977
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
531
978
|
}
|
|
532
979
|
},
|
|
533
|
-
required: [
|
|
980
|
+
required: [
|
|
981
|
+
'enabled'
|
|
982
|
+
],
|
|
534
983
|
additionalProperties: false
|
|
535
984
|
},
|
|
536
985
|
aws: {
|
|
537
986
|
type: 'object',
|
|
538
987
|
properties: {
|
|
539
988
|
enabled: {
|
|
540
|
-
type: 'boolean'
|
|
541
|
-
default: true
|
|
989
|
+
type: 'boolean'
|
|
542
990
|
},
|
|
543
991
|
controllerRoleArn: {
|
|
544
992
|
type: 'string',
|
|
545
|
-
|
|
993
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
994
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
995
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
546
996
|
}
|
|
547
997
|
},
|
|
548
|
-
required: [
|
|
998
|
+
required: [
|
|
999
|
+
'enabled'
|
|
1000
|
+
],
|
|
549
1001
|
additionalProperties: false
|
|
550
1002
|
},
|
|
1003
|
+
constraints: {
|
|
1004
|
+
type: 'object',
|
|
1005
|
+
properties: {
|
|
1006
|
+
'karpenter.sh/capacity-type': {
|
|
1007
|
+
type: 'array',
|
|
1008
|
+
items: {
|
|
1009
|
+
type: 'string',
|
|
1010
|
+
enum: [
|
|
1011
|
+
'on-demand',
|
|
1012
|
+
'spot'
|
|
1013
|
+
]
|
|
1014
|
+
},
|
|
1015
|
+
minItems: 1,
|
|
1016
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1017
|
+
default: [
|
|
1018
|
+
'on-demand',
|
|
1019
|
+
'spot'
|
|
1020
|
+
]
|
|
1021
|
+
},
|
|
1022
|
+
'kubernetes.io/arch': {
|
|
1023
|
+
type: 'array',
|
|
1024
|
+
items: {
|
|
1025
|
+
type: 'string',
|
|
1026
|
+
enum: [
|
|
1027
|
+
'amd64',
|
|
1028
|
+
'arm64'
|
|
1029
|
+
]
|
|
1030
|
+
},
|
|
1031
|
+
minItems: 1,
|
|
1032
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1033
|
+
default: [
|
|
1034
|
+
'amd64'
|
|
1035
|
+
]
|
|
1036
|
+
},
|
|
1037
|
+
'cfke.io/instance-family': {
|
|
1038
|
+
type: 'array',
|
|
1039
|
+
items: {
|
|
1040
|
+
type: 'string',
|
|
1041
|
+
enum: [
|
|
1042
|
+
'a1',
|
|
1043
|
+
'a2',
|
|
1044
|
+
'a3',
|
|
1045
|
+
'a4',
|
|
1046
|
+
'c1',
|
|
1047
|
+
'c2',
|
|
1048
|
+
'c2d',
|
|
1049
|
+
'c3',
|
|
1050
|
+
'c3d',
|
|
1051
|
+
'c4',
|
|
1052
|
+
'c4a',
|
|
1053
|
+
'c4d',
|
|
1054
|
+
'c5',
|
|
1055
|
+
'c5a',
|
|
1056
|
+
'c5ad',
|
|
1057
|
+
'c5d',
|
|
1058
|
+
'c5n',
|
|
1059
|
+
'c6a',
|
|
1060
|
+
'c6g',
|
|
1061
|
+
'c6gd',
|
|
1062
|
+
'c6gn',
|
|
1063
|
+
'c6i',
|
|
1064
|
+
'c6id',
|
|
1065
|
+
'c6in',
|
|
1066
|
+
'c7a',
|
|
1067
|
+
'c7g',
|
|
1068
|
+
'c7gd',
|
|
1069
|
+
'c7gn',
|
|
1070
|
+
'c7i',
|
|
1071
|
+
'c7i-flex',
|
|
1072
|
+
'c8g',
|
|
1073
|
+
'c8gd',
|
|
1074
|
+
'cax',
|
|
1075
|
+
'ccx',
|
|
1076
|
+
'cpx',
|
|
1077
|
+
'cx',
|
|
1078
|
+
'd2',
|
|
1079
|
+
'd3',
|
|
1080
|
+
'd3en',
|
|
1081
|
+
'dl1',
|
|
1082
|
+
'dl2q',
|
|
1083
|
+
'e2',
|
|
1084
|
+
'f1',
|
|
1085
|
+
'f2',
|
|
1086
|
+
'g1',
|
|
1087
|
+
'g2',
|
|
1088
|
+
'g4ad',
|
|
1089
|
+
'g4dn',
|
|
1090
|
+
'g5',
|
|
1091
|
+
'g5g',
|
|
1092
|
+
'g6',
|
|
1093
|
+
'g6e',
|
|
1094
|
+
'gr6',
|
|
1095
|
+
'h1',
|
|
1096
|
+
'h3',
|
|
1097
|
+
'hpc6a',
|
|
1098
|
+
'hpc6id',
|
|
1099
|
+
'hpc7a',
|
|
1100
|
+
'hpc7g',
|
|
1101
|
+
'i2',
|
|
1102
|
+
'i3',
|
|
1103
|
+
'i3en',
|
|
1104
|
+
'i4g',
|
|
1105
|
+
'i4i',
|
|
1106
|
+
'i7i',
|
|
1107
|
+
'i7ie',
|
|
1108
|
+
'i8g',
|
|
1109
|
+
'im4gn',
|
|
1110
|
+
'inf1',
|
|
1111
|
+
'inf2',
|
|
1112
|
+
'is4gen',
|
|
1113
|
+
'm1',
|
|
1114
|
+
'm2',
|
|
1115
|
+
'm3',
|
|
1116
|
+
'm4',
|
|
1117
|
+
'm5',
|
|
1118
|
+
'm5a',
|
|
1119
|
+
'm5ad',
|
|
1120
|
+
'm5d',
|
|
1121
|
+
'm5dn',
|
|
1122
|
+
'm5n',
|
|
1123
|
+
'm5zn',
|
|
1124
|
+
'm6a',
|
|
1125
|
+
'm6g',
|
|
1126
|
+
'm6gd',
|
|
1127
|
+
'm6i',
|
|
1128
|
+
'm6id',
|
|
1129
|
+
'm6idn',
|
|
1130
|
+
'm6in',
|
|
1131
|
+
'm7a',
|
|
1132
|
+
'm7g',
|
|
1133
|
+
'm7gd',
|
|
1134
|
+
'm7i',
|
|
1135
|
+
'm7i-flex',
|
|
1136
|
+
'm8g',
|
|
1137
|
+
'm8gd',
|
|
1138
|
+
'n1',
|
|
1139
|
+
'n2',
|
|
1140
|
+
'n2d',
|
|
1141
|
+
'n4',
|
|
1142
|
+
'p3',
|
|
1143
|
+
'p3dn',
|
|
1144
|
+
'p4d',
|
|
1145
|
+
'p4de',
|
|
1146
|
+
'p5',
|
|
1147
|
+
'p5e',
|
|
1148
|
+
'p5en',
|
|
1149
|
+
'p6-b200',
|
|
1150
|
+
'r3',
|
|
1151
|
+
'r4',
|
|
1152
|
+
'r5',
|
|
1153
|
+
'r5a',
|
|
1154
|
+
'r5ad',
|
|
1155
|
+
'r5b',
|
|
1156
|
+
'r5d',
|
|
1157
|
+
'r5dn',
|
|
1158
|
+
'r5n',
|
|
1159
|
+
'r6a',
|
|
1160
|
+
'r6g',
|
|
1161
|
+
'r6gd',
|
|
1162
|
+
'r6i',
|
|
1163
|
+
'r6id',
|
|
1164
|
+
'r6idn',
|
|
1165
|
+
'r6in',
|
|
1166
|
+
'r7a',
|
|
1167
|
+
'r7g',
|
|
1168
|
+
'r7gd',
|
|
1169
|
+
'r7i',
|
|
1170
|
+
'r7iz',
|
|
1171
|
+
'r8g',
|
|
1172
|
+
'r8gd',
|
|
1173
|
+
't2',
|
|
1174
|
+
't2a',
|
|
1175
|
+
't2d',
|
|
1176
|
+
't3',
|
|
1177
|
+
't3a',
|
|
1178
|
+
't4g',
|
|
1179
|
+
'trn1',
|
|
1180
|
+
'trn1n',
|
|
1181
|
+
'u-3tb1',
|
|
1182
|
+
'u-6tb1',
|
|
1183
|
+
'u7i-12tb',
|
|
1184
|
+
'u7i-6tb',
|
|
1185
|
+
'u7i-8tb',
|
|
1186
|
+
'u7in-16tb',
|
|
1187
|
+
'u7in-24tb',
|
|
1188
|
+
'u7in-32tb',
|
|
1189
|
+
'vt1',
|
|
1190
|
+
'x1',
|
|
1191
|
+
'x1e',
|
|
1192
|
+
'x2gd',
|
|
1193
|
+
'x2idn',
|
|
1194
|
+
'x2iedn',
|
|
1195
|
+
'x2iezn',
|
|
1196
|
+
'x4',
|
|
1197
|
+
'x8g',
|
|
1198
|
+
'z1d',
|
|
1199
|
+
'z3'
|
|
1200
|
+
]
|
|
1201
|
+
},
|
|
1202
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1203
|
+
},
|
|
1204
|
+
'topology.kubernetes.io/region': {
|
|
1205
|
+
type: 'array',
|
|
1206
|
+
items: {
|
|
1207
|
+
type: 'string',
|
|
1208
|
+
enum: [
|
|
1209
|
+
'africa-south1',
|
|
1210
|
+
'ap-northeast-1',
|
|
1211
|
+
'ap-northeast-2',
|
|
1212
|
+
'ap-northeast-3',
|
|
1213
|
+
'ap-south-1',
|
|
1214
|
+
'ap-southeast-1',
|
|
1215
|
+
'ap-southeast-2',
|
|
1216
|
+
'ash',
|
|
1217
|
+
'asia-east1',
|
|
1218
|
+
'asia-east2',
|
|
1219
|
+
'asia-northeast1',
|
|
1220
|
+
'asia-northeast2',
|
|
1221
|
+
'asia-northeast3',
|
|
1222
|
+
'asia-south1',
|
|
1223
|
+
'asia-south2',
|
|
1224
|
+
'asia-southeast1',
|
|
1225
|
+
'asia-southeast2',
|
|
1226
|
+
'australia-southeast1',
|
|
1227
|
+
'australia-southeast2',
|
|
1228
|
+
'ca-central-1',
|
|
1229
|
+
'eu-central-1',
|
|
1230
|
+
'eu-central-2',
|
|
1231
|
+
'eu-north-1',
|
|
1232
|
+
'eu-west-1',
|
|
1233
|
+
'eu-west-2',
|
|
1234
|
+
'eu-west-3',
|
|
1235
|
+
'europe-central2',
|
|
1236
|
+
'europe-north1',
|
|
1237
|
+
'europe-southwest1',
|
|
1238
|
+
'europe-west1',
|
|
1239
|
+
'europe-west10',
|
|
1240
|
+
'europe-west12',
|
|
1241
|
+
'europe-west2',
|
|
1242
|
+
'europe-west3',
|
|
1243
|
+
'europe-west4',
|
|
1244
|
+
'europe-west6',
|
|
1245
|
+
'europe-west8',
|
|
1246
|
+
'europe-west9',
|
|
1247
|
+
'fsn1',
|
|
1248
|
+
'hel1',
|
|
1249
|
+
'hil',
|
|
1250
|
+
'me-central1',
|
|
1251
|
+
'me-central2',
|
|
1252
|
+
'me-west1',
|
|
1253
|
+
'nbg1',
|
|
1254
|
+
'northamerica-northeast1',
|
|
1255
|
+
'northamerica-northeast2',
|
|
1256
|
+
'sa-east-1',
|
|
1257
|
+
'sin',
|
|
1258
|
+
'southamerica-east1',
|
|
1259
|
+
'southamerica-west1',
|
|
1260
|
+
'us-central1',
|
|
1261
|
+
'us-east-1',
|
|
1262
|
+
'us-east-2',
|
|
1263
|
+
'us-east1',
|
|
1264
|
+
'us-east4',
|
|
1265
|
+
'us-east5',
|
|
1266
|
+
'us-south1',
|
|
1267
|
+
'us-west-1',
|
|
1268
|
+
'us-west-2',
|
|
1269
|
+
'us-west1',
|
|
1270
|
+
'us-west2',
|
|
1271
|
+
'us-west3',
|
|
1272
|
+
'us-west4'
|
|
1273
|
+
]
|
|
1274
|
+
},
|
|
1275
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1276
|
+
}
|
|
1277
|
+
},
|
|
1278
|
+
additionalProperties: false,
|
|
1279
|
+
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. Omit a field to place no restriction on that key.'
|
|
1280
|
+
},
|
|
1281
|
+
scalingProfile: {
|
|
1282
|
+
type: 'string',
|
|
1283
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1284
|
+
default: 'conservative',
|
|
1285
|
+
example: 'conservative',
|
|
1286
|
+
enum: [
|
|
1287
|
+
'aggressive',
|
|
1288
|
+
'conservative'
|
|
1289
|
+
]
|
|
1290
|
+
},
|
|
551
1291
|
id: {
|
|
552
1292
|
type: 'string',
|
|
553
1293
|
maxLength: 63,
|
|
@@ -557,7 +1297,9 @@ export const FleetCreateInputSchema = {
|
|
|
557
1297
|
example: 'new-clouds-fleet'
|
|
558
1298
|
}
|
|
559
1299
|
},
|
|
560
|
-
required: [
|
|
1300
|
+
required: [
|
|
1301
|
+
'id'
|
|
1302
|
+
],
|
|
561
1303
|
additionalProperties: false
|
|
562
1304
|
};
|
|
563
1305
|
export const FleetSchema = {
|
|
@@ -567,13 +1309,12 @@ export const FleetSchema = {
|
|
|
567
1309
|
type: 'object',
|
|
568
1310
|
properties: {
|
|
569
1311
|
cpu: {
|
|
570
|
-
type: '
|
|
571
|
-
format: 'float',
|
|
1312
|
+
type: 'integer',
|
|
572
1313
|
minimum: 0,
|
|
573
|
-
|
|
1314
|
+
maximum: 100000,
|
|
1315
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
574
1316
|
}
|
|
575
1317
|
},
|
|
576
|
-
required: ['cpu'],
|
|
577
1318
|
additionalProperties: false,
|
|
578
1319
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
579
1320
|
},
|
|
@@ -581,47 +1322,343 @@ export const FleetSchema = {
|
|
|
581
1322
|
type: 'object',
|
|
582
1323
|
properties: {
|
|
583
1324
|
enabled: {
|
|
584
|
-
type: 'boolean'
|
|
585
|
-
default: true
|
|
1325
|
+
type: 'boolean'
|
|
586
1326
|
},
|
|
587
1327
|
project: {
|
|
588
1328
|
type: 'string',
|
|
589
|
-
|
|
1329
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1330
|
+
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.',
|
|
1331
|
+
example: 'my-cloudfleet-project'
|
|
590
1332
|
}
|
|
591
1333
|
},
|
|
592
|
-
required: [
|
|
1334
|
+
required: [
|
|
1335
|
+
'enabled'
|
|
1336
|
+
],
|
|
593
1337
|
additionalProperties: false
|
|
594
1338
|
},
|
|
595
1339
|
hetzner: {
|
|
596
1340
|
type: 'object',
|
|
597
1341
|
properties: {
|
|
598
1342
|
enabled: {
|
|
599
|
-
type: 'boolean'
|
|
600
|
-
default: true
|
|
1343
|
+
type: 'boolean'
|
|
601
1344
|
},
|
|
602
1345
|
apiKey: {
|
|
603
1346
|
type: 'string',
|
|
604
|
-
|
|
1347
|
+
pattern: '^\\*{64}$',
|
|
1348
|
+
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
1349
|
}
|
|
606
1350
|
},
|
|
607
|
-
required: [
|
|
1351
|
+
required: [
|
|
1352
|
+
'enabled'
|
|
1353
|
+
],
|
|
608
1354
|
additionalProperties: false
|
|
609
1355
|
},
|
|
610
1356
|
aws: {
|
|
611
1357
|
type: 'object',
|
|
612
1358
|
properties: {
|
|
613
1359
|
enabled: {
|
|
614
|
-
type: 'boolean'
|
|
615
|
-
default: true
|
|
1360
|
+
type: 'boolean'
|
|
616
1361
|
},
|
|
617
1362
|
controllerRoleArn: {
|
|
618
1363
|
type: 'string',
|
|
619
|
-
|
|
1364
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1365
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1366
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
620
1367
|
}
|
|
621
1368
|
},
|
|
622
|
-
required: [
|
|
1369
|
+
required: [
|
|
1370
|
+
'enabled'
|
|
1371
|
+
],
|
|
623
1372
|
additionalProperties: false
|
|
624
1373
|
},
|
|
1374
|
+
constraints: {
|
|
1375
|
+
type: 'object',
|
|
1376
|
+
properties: {
|
|
1377
|
+
'karpenter.sh/capacity-type': {
|
|
1378
|
+
type: 'array',
|
|
1379
|
+
items: {
|
|
1380
|
+
type: 'string',
|
|
1381
|
+
enum: [
|
|
1382
|
+
'on-demand',
|
|
1383
|
+
'spot'
|
|
1384
|
+
]
|
|
1385
|
+
},
|
|
1386
|
+
minItems: 1,
|
|
1387
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1388
|
+
default: [
|
|
1389
|
+
'on-demand',
|
|
1390
|
+
'spot'
|
|
1391
|
+
]
|
|
1392
|
+
},
|
|
1393
|
+
'kubernetes.io/arch': {
|
|
1394
|
+
type: 'array',
|
|
1395
|
+
items: {
|
|
1396
|
+
type: 'string',
|
|
1397
|
+
enum: [
|
|
1398
|
+
'amd64',
|
|
1399
|
+
'arm64'
|
|
1400
|
+
]
|
|
1401
|
+
},
|
|
1402
|
+
minItems: 1,
|
|
1403
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1404
|
+
default: [
|
|
1405
|
+
'amd64'
|
|
1406
|
+
]
|
|
1407
|
+
},
|
|
1408
|
+
'cfke.io/instance-family': {
|
|
1409
|
+
type: 'array',
|
|
1410
|
+
items: {
|
|
1411
|
+
type: 'string',
|
|
1412
|
+
enum: [
|
|
1413
|
+
'a1',
|
|
1414
|
+
'a2',
|
|
1415
|
+
'a3',
|
|
1416
|
+
'a4',
|
|
1417
|
+
'c1',
|
|
1418
|
+
'c2',
|
|
1419
|
+
'c2d',
|
|
1420
|
+
'c3',
|
|
1421
|
+
'c3d',
|
|
1422
|
+
'c4',
|
|
1423
|
+
'c4a',
|
|
1424
|
+
'c4d',
|
|
1425
|
+
'c5',
|
|
1426
|
+
'c5a',
|
|
1427
|
+
'c5ad',
|
|
1428
|
+
'c5d',
|
|
1429
|
+
'c5n',
|
|
1430
|
+
'c6a',
|
|
1431
|
+
'c6g',
|
|
1432
|
+
'c6gd',
|
|
1433
|
+
'c6gn',
|
|
1434
|
+
'c6i',
|
|
1435
|
+
'c6id',
|
|
1436
|
+
'c6in',
|
|
1437
|
+
'c7a',
|
|
1438
|
+
'c7g',
|
|
1439
|
+
'c7gd',
|
|
1440
|
+
'c7gn',
|
|
1441
|
+
'c7i',
|
|
1442
|
+
'c7i-flex',
|
|
1443
|
+
'c8g',
|
|
1444
|
+
'c8gd',
|
|
1445
|
+
'cax',
|
|
1446
|
+
'ccx',
|
|
1447
|
+
'cpx',
|
|
1448
|
+
'cx',
|
|
1449
|
+
'd2',
|
|
1450
|
+
'd3',
|
|
1451
|
+
'd3en',
|
|
1452
|
+
'dl1',
|
|
1453
|
+
'dl2q',
|
|
1454
|
+
'e2',
|
|
1455
|
+
'f1',
|
|
1456
|
+
'f2',
|
|
1457
|
+
'g1',
|
|
1458
|
+
'g2',
|
|
1459
|
+
'g4ad',
|
|
1460
|
+
'g4dn',
|
|
1461
|
+
'g5',
|
|
1462
|
+
'g5g',
|
|
1463
|
+
'g6',
|
|
1464
|
+
'g6e',
|
|
1465
|
+
'gr6',
|
|
1466
|
+
'h1',
|
|
1467
|
+
'h3',
|
|
1468
|
+
'hpc6a',
|
|
1469
|
+
'hpc6id',
|
|
1470
|
+
'hpc7a',
|
|
1471
|
+
'hpc7g',
|
|
1472
|
+
'i2',
|
|
1473
|
+
'i3',
|
|
1474
|
+
'i3en',
|
|
1475
|
+
'i4g',
|
|
1476
|
+
'i4i',
|
|
1477
|
+
'i7i',
|
|
1478
|
+
'i7ie',
|
|
1479
|
+
'i8g',
|
|
1480
|
+
'im4gn',
|
|
1481
|
+
'inf1',
|
|
1482
|
+
'inf2',
|
|
1483
|
+
'is4gen',
|
|
1484
|
+
'm1',
|
|
1485
|
+
'm2',
|
|
1486
|
+
'm3',
|
|
1487
|
+
'm4',
|
|
1488
|
+
'm5',
|
|
1489
|
+
'm5a',
|
|
1490
|
+
'm5ad',
|
|
1491
|
+
'm5d',
|
|
1492
|
+
'm5dn',
|
|
1493
|
+
'm5n',
|
|
1494
|
+
'm5zn',
|
|
1495
|
+
'm6a',
|
|
1496
|
+
'm6g',
|
|
1497
|
+
'm6gd',
|
|
1498
|
+
'm6i',
|
|
1499
|
+
'm6id',
|
|
1500
|
+
'm6idn',
|
|
1501
|
+
'm6in',
|
|
1502
|
+
'm7a',
|
|
1503
|
+
'm7g',
|
|
1504
|
+
'm7gd',
|
|
1505
|
+
'm7i',
|
|
1506
|
+
'm7i-flex',
|
|
1507
|
+
'm8g',
|
|
1508
|
+
'm8gd',
|
|
1509
|
+
'n1',
|
|
1510
|
+
'n2',
|
|
1511
|
+
'n2d',
|
|
1512
|
+
'n4',
|
|
1513
|
+
'p3',
|
|
1514
|
+
'p3dn',
|
|
1515
|
+
'p4d',
|
|
1516
|
+
'p4de',
|
|
1517
|
+
'p5',
|
|
1518
|
+
'p5e',
|
|
1519
|
+
'p5en',
|
|
1520
|
+
'p6-b200',
|
|
1521
|
+
'r3',
|
|
1522
|
+
'r4',
|
|
1523
|
+
'r5',
|
|
1524
|
+
'r5a',
|
|
1525
|
+
'r5ad',
|
|
1526
|
+
'r5b',
|
|
1527
|
+
'r5d',
|
|
1528
|
+
'r5dn',
|
|
1529
|
+
'r5n',
|
|
1530
|
+
'r6a',
|
|
1531
|
+
'r6g',
|
|
1532
|
+
'r6gd',
|
|
1533
|
+
'r6i',
|
|
1534
|
+
'r6id',
|
|
1535
|
+
'r6idn',
|
|
1536
|
+
'r6in',
|
|
1537
|
+
'r7a',
|
|
1538
|
+
'r7g',
|
|
1539
|
+
'r7gd',
|
|
1540
|
+
'r7i',
|
|
1541
|
+
'r7iz',
|
|
1542
|
+
'r8g',
|
|
1543
|
+
'r8gd',
|
|
1544
|
+
't2',
|
|
1545
|
+
't2a',
|
|
1546
|
+
't2d',
|
|
1547
|
+
't3',
|
|
1548
|
+
't3a',
|
|
1549
|
+
't4g',
|
|
1550
|
+
'trn1',
|
|
1551
|
+
'trn1n',
|
|
1552
|
+
'u-3tb1',
|
|
1553
|
+
'u-6tb1',
|
|
1554
|
+
'u7i-12tb',
|
|
1555
|
+
'u7i-6tb',
|
|
1556
|
+
'u7i-8tb',
|
|
1557
|
+
'u7in-16tb',
|
|
1558
|
+
'u7in-24tb',
|
|
1559
|
+
'u7in-32tb',
|
|
1560
|
+
'vt1',
|
|
1561
|
+
'x1',
|
|
1562
|
+
'x1e',
|
|
1563
|
+
'x2gd',
|
|
1564
|
+
'x2idn',
|
|
1565
|
+
'x2iedn',
|
|
1566
|
+
'x2iezn',
|
|
1567
|
+
'x4',
|
|
1568
|
+
'x8g',
|
|
1569
|
+
'z1d',
|
|
1570
|
+
'z3'
|
|
1571
|
+
]
|
|
1572
|
+
},
|
|
1573
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1574
|
+
},
|
|
1575
|
+
'topology.kubernetes.io/region': {
|
|
1576
|
+
type: 'array',
|
|
1577
|
+
items: {
|
|
1578
|
+
type: 'string',
|
|
1579
|
+
enum: [
|
|
1580
|
+
'africa-south1',
|
|
1581
|
+
'ap-northeast-1',
|
|
1582
|
+
'ap-northeast-2',
|
|
1583
|
+
'ap-northeast-3',
|
|
1584
|
+
'ap-south-1',
|
|
1585
|
+
'ap-southeast-1',
|
|
1586
|
+
'ap-southeast-2',
|
|
1587
|
+
'ash',
|
|
1588
|
+
'asia-east1',
|
|
1589
|
+
'asia-east2',
|
|
1590
|
+
'asia-northeast1',
|
|
1591
|
+
'asia-northeast2',
|
|
1592
|
+
'asia-northeast3',
|
|
1593
|
+
'asia-south1',
|
|
1594
|
+
'asia-south2',
|
|
1595
|
+
'asia-southeast1',
|
|
1596
|
+
'asia-southeast2',
|
|
1597
|
+
'australia-southeast1',
|
|
1598
|
+
'australia-southeast2',
|
|
1599
|
+
'ca-central-1',
|
|
1600
|
+
'eu-central-1',
|
|
1601
|
+
'eu-central-2',
|
|
1602
|
+
'eu-north-1',
|
|
1603
|
+
'eu-west-1',
|
|
1604
|
+
'eu-west-2',
|
|
1605
|
+
'eu-west-3',
|
|
1606
|
+
'europe-central2',
|
|
1607
|
+
'europe-north1',
|
|
1608
|
+
'europe-southwest1',
|
|
1609
|
+
'europe-west1',
|
|
1610
|
+
'europe-west10',
|
|
1611
|
+
'europe-west12',
|
|
1612
|
+
'europe-west2',
|
|
1613
|
+
'europe-west3',
|
|
1614
|
+
'europe-west4',
|
|
1615
|
+
'europe-west6',
|
|
1616
|
+
'europe-west8',
|
|
1617
|
+
'europe-west9',
|
|
1618
|
+
'fsn1',
|
|
1619
|
+
'hel1',
|
|
1620
|
+
'hil',
|
|
1621
|
+
'me-central1',
|
|
1622
|
+
'me-central2',
|
|
1623
|
+
'me-west1',
|
|
1624
|
+
'nbg1',
|
|
1625
|
+
'northamerica-northeast1',
|
|
1626
|
+
'northamerica-northeast2',
|
|
1627
|
+
'sa-east-1',
|
|
1628
|
+
'sin',
|
|
1629
|
+
'southamerica-east1',
|
|
1630
|
+
'southamerica-west1',
|
|
1631
|
+
'us-central1',
|
|
1632
|
+
'us-east-1',
|
|
1633
|
+
'us-east-2',
|
|
1634
|
+
'us-east1',
|
|
1635
|
+
'us-east4',
|
|
1636
|
+
'us-east5',
|
|
1637
|
+
'us-south1',
|
|
1638
|
+
'us-west-1',
|
|
1639
|
+
'us-west-2',
|
|
1640
|
+
'us-west1',
|
|
1641
|
+
'us-west2',
|
|
1642
|
+
'us-west3',
|
|
1643
|
+
'us-west4'
|
|
1644
|
+
]
|
|
1645
|
+
},
|
|
1646
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1647
|
+
}
|
|
1648
|
+
},
|
|
1649
|
+
additionalProperties: false,
|
|
1650
|
+
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. Omit a field to place no restriction on that key.'
|
|
1651
|
+
},
|
|
1652
|
+
scalingProfile: {
|
|
1653
|
+
type: 'string',
|
|
1654
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1655
|
+
default: 'conservative',
|
|
1656
|
+
example: 'conservative',
|
|
1657
|
+
enum: [
|
|
1658
|
+
'aggressive',
|
|
1659
|
+
'conservative'
|
|
1660
|
+
]
|
|
1661
|
+
},
|
|
625
1662
|
id: {
|
|
626
1663
|
type: 'string',
|
|
627
1664
|
maxLength: 63,
|
|
@@ -629,9 +1666,35 @@ export const FleetSchema = {
|
|
|
629
1666
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
630
1667
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
631
1668
|
example: 'new-clouds-fleet'
|
|
1669
|
+
},
|
|
1670
|
+
ready: {
|
|
1671
|
+
type: 'boolean',
|
|
1672
|
+
description: 'Indicates whether the fleet configuration is healthy.',
|
|
1673
|
+
example: true
|
|
1674
|
+
},
|
|
1675
|
+
status_message: {
|
|
1676
|
+
type: 'string',
|
|
1677
|
+
description: 'Human-readable reason the fleet is not ready. Present only when `ready` is false.',
|
|
1678
|
+
example: 'Invalid provider permissions.'
|
|
1679
|
+
},
|
|
1680
|
+
created_at: {
|
|
1681
|
+
type: 'string',
|
|
1682
|
+
description: 'Creation date and time of the fleet.',
|
|
1683
|
+
example: '2024-09-12T09:11:27Z'
|
|
1684
|
+
},
|
|
1685
|
+
updated_at: {
|
|
1686
|
+
type: 'string',
|
|
1687
|
+
description: 'Date and time the fleet was last updated.',
|
|
1688
|
+
example: '2024-09-12T09:11:27Z'
|
|
632
1689
|
}
|
|
633
1690
|
},
|
|
634
|
-
required: [
|
|
1691
|
+
required: [
|
|
1692
|
+
'scalingProfile',
|
|
1693
|
+
'id',
|
|
1694
|
+
'ready',
|
|
1695
|
+
'created_at',
|
|
1696
|
+
'updated_at'
|
|
1697
|
+
],
|
|
635
1698
|
additionalProperties: false
|
|
636
1699
|
};
|
|
637
1700
|
export const FleetUpdateInputSchema = {
|
|
@@ -641,13 +1704,12 @@ export const FleetUpdateInputSchema = {
|
|
|
641
1704
|
type: 'object',
|
|
642
1705
|
properties: {
|
|
643
1706
|
cpu: {
|
|
644
|
-
type: '
|
|
645
|
-
format: 'float',
|
|
1707
|
+
type: 'integer',
|
|
646
1708
|
minimum: 0,
|
|
647
|
-
|
|
1709
|
+
maximum: 100000,
|
|
1710
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
648
1711
|
}
|
|
649
1712
|
},
|
|
650
|
-
required: ['cpu'],
|
|
651
1713
|
additionalProperties: false,
|
|
652
1714
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
653
1715
|
},
|
|
@@ -655,48 +1717,366 @@ export const FleetUpdateInputSchema = {
|
|
|
655
1717
|
type: 'object',
|
|
656
1718
|
properties: {
|
|
657
1719
|
enabled: {
|
|
658
|
-
type: 'boolean'
|
|
659
|
-
default: true
|
|
1720
|
+
type: 'boolean'
|
|
660
1721
|
},
|
|
661
1722
|
project: {
|
|
662
1723
|
type: 'string',
|
|
663
|
-
|
|
1724
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1725
|
+
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.',
|
|
1726
|
+
example: 'my-cloudfleet-project'
|
|
664
1727
|
}
|
|
665
1728
|
},
|
|
666
|
-
required: [
|
|
1729
|
+
required: [
|
|
1730
|
+
'enabled'
|
|
1731
|
+
],
|
|
667
1732
|
additionalProperties: false
|
|
668
1733
|
},
|
|
669
1734
|
hetzner: {
|
|
670
1735
|
type: 'object',
|
|
671
1736
|
properties: {
|
|
672
1737
|
enabled: {
|
|
673
|
-
type: 'boolean'
|
|
674
|
-
default: true
|
|
1738
|
+
type: 'boolean'
|
|
675
1739
|
},
|
|
676
1740
|
apiKey: {
|
|
677
1741
|
type: 'string',
|
|
678
|
-
|
|
1742
|
+
maxLength: 64,
|
|
1743
|
+
minLength: 64,
|
|
1744
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
1745
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
679
1746
|
}
|
|
680
1747
|
},
|
|
681
|
-
required: [
|
|
1748
|
+
required: [
|
|
1749
|
+
'enabled'
|
|
1750
|
+
],
|
|
682
1751
|
additionalProperties: false
|
|
683
1752
|
},
|
|
684
1753
|
aws: {
|
|
685
1754
|
type: 'object',
|
|
686
1755
|
properties: {
|
|
687
1756
|
enabled: {
|
|
688
|
-
type: 'boolean'
|
|
689
|
-
default: true
|
|
1757
|
+
type: 'boolean'
|
|
690
1758
|
},
|
|
691
1759
|
controllerRoleArn: {
|
|
692
1760
|
type: 'string',
|
|
693
|
-
|
|
1761
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1762
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1763
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
694
1764
|
}
|
|
695
1765
|
},
|
|
696
|
-
required: [
|
|
1766
|
+
required: [
|
|
1767
|
+
'enabled'
|
|
1768
|
+
],
|
|
697
1769
|
additionalProperties: false
|
|
1770
|
+
},
|
|
1771
|
+
constraints: {
|
|
1772
|
+
type: 'object',
|
|
1773
|
+
properties: {
|
|
1774
|
+
'karpenter.sh/capacity-type': {
|
|
1775
|
+
type: 'array',
|
|
1776
|
+
items: {
|
|
1777
|
+
type: 'string',
|
|
1778
|
+
enum: [
|
|
1779
|
+
'on-demand',
|
|
1780
|
+
'spot'
|
|
1781
|
+
]
|
|
1782
|
+
},
|
|
1783
|
+
minItems: 1,
|
|
1784
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.'
|
|
1785
|
+
},
|
|
1786
|
+
'kubernetes.io/arch': {
|
|
1787
|
+
type: 'array',
|
|
1788
|
+
items: {
|
|
1789
|
+
type: 'string',
|
|
1790
|
+
enum: [
|
|
1791
|
+
'amd64',
|
|
1792
|
+
'arm64'
|
|
1793
|
+
]
|
|
1794
|
+
},
|
|
1795
|
+
minItems: 1,
|
|
1796
|
+
description: 'Allowed values for `kubernetes.io/arch`.'
|
|
1797
|
+
},
|
|
1798
|
+
'cfke.io/instance-family': {
|
|
1799
|
+
type: 'array',
|
|
1800
|
+
items: {
|
|
1801
|
+
type: 'string',
|
|
1802
|
+
enum: [
|
|
1803
|
+
'a1',
|
|
1804
|
+
'a2',
|
|
1805
|
+
'a3',
|
|
1806
|
+
'a4',
|
|
1807
|
+
'c1',
|
|
1808
|
+
'c2',
|
|
1809
|
+
'c2d',
|
|
1810
|
+
'c3',
|
|
1811
|
+
'c3d',
|
|
1812
|
+
'c4',
|
|
1813
|
+
'c4a',
|
|
1814
|
+
'c4d',
|
|
1815
|
+
'c5',
|
|
1816
|
+
'c5a',
|
|
1817
|
+
'c5ad',
|
|
1818
|
+
'c5d',
|
|
1819
|
+
'c5n',
|
|
1820
|
+
'c6a',
|
|
1821
|
+
'c6g',
|
|
1822
|
+
'c6gd',
|
|
1823
|
+
'c6gn',
|
|
1824
|
+
'c6i',
|
|
1825
|
+
'c6id',
|
|
1826
|
+
'c6in',
|
|
1827
|
+
'c7a',
|
|
1828
|
+
'c7g',
|
|
1829
|
+
'c7gd',
|
|
1830
|
+
'c7gn',
|
|
1831
|
+
'c7i',
|
|
1832
|
+
'c7i-flex',
|
|
1833
|
+
'c8g',
|
|
1834
|
+
'c8gd',
|
|
1835
|
+
'cax',
|
|
1836
|
+
'ccx',
|
|
1837
|
+
'cpx',
|
|
1838
|
+
'cx',
|
|
1839
|
+
'd2',
|
|
1840
|
+
'd3',
|
|
1841
|
+
'd3en',
|
|
1842
|
+
'dl1',
|
|
1843
|
+
'dl2q',
|
|
1844
|
+
'e2',
|
|
1845
|
+
'f1',
|
|
1846
|
+
'f2',
|
|
1847
|
+
'g1',
|
|
1848
|
+
'g2',
|
|
1849
|
+
'g4ad',
|
|
1850
|
+
'g4dn',
|
|
1851
|
+
'g5',
|
|
1852
|
+
'g5g',
|
|
1853
|
+
'g6',
|
|
1854
|
+
'g6e',
|
|
1855
|
+
'gr6',
|
|
1856
|
+
'h1',
|
|
1857
|
+
'h3',
|
|
1858
|
+
'hpc6a',
|
|
1859
|
+
'hpc6id',
|
|
1860
|
+
'hpc7a',
|
|
1861
|
+
'hpc7g',
|
|
1862
|
+
'i2',
|
|
1863
|
+
'i3',
|
|
1864
|
+
'i3en',
|
|
1865
|
+
'i4g',
|
|
1866
|
+
'i4i',
|
|
1867
|
+
'i7i',
|
|
1868
|
+
'i7ie',
|
|
1869
|
+
'i8g',
|
|
1870
|
+
'im4gn',
|
|
1871
|
+
'inf1',
|
|
1872
|
+
'inf2',
|
|
1873
|
+
'is4gen',
|
|
1874
|
+
'm1',
|
|
1875
|
+
'm2',
|
|
1876
|
+
'm3',
|
|
1877
|
+
'm4',
|
|
1878
|
+
'm5',
|
|
1879
|
+
'm5a',
|
|
1880
|
+
'm5ad',
|
|
1881
|
+
'm5d',
|
|
1882
|
+
'm5dn',
|
|
1883
|
+
'm5n',
|
|
1884
|
+
'm5zn',
|
|
1885
|
+
'm6a',
|
|
1886
|
+
'm6g',
|
|
1887
|
+
'm6gd',
|
|
1888
|
+
'm6i',
|
|
1889
|
+
'm6id',
|
|
1890
|
+
'm6idn',
|
|
1891
|
+
'm6in',
|
|
1892
|
+
'm7a',
|
|
1893
|
+
'm7g',
|
|
1894
|
+
'm7gd',
|
|
1895
|
+
'm7i',
|
|
1896
|
+
'm7i-flex',
|
|
1897
|
+
'm8g',
|
|
1898
|
+
'm8gd',
|
|
1899
|
+
'n1',
|
|
1900
|
+
'n2',
|
|
1901
|
+
'n2d',
|
|
1902
|
+
'n4',
|
|
1903
|
+
'p3',
|
|
1904
|
+
'p3dn',
|
|
1905
|
+
'p4d',
|
|
1906
|
+
'p4de',
|
|
1907
|
+
'p5',
|
|
1908
|
+
'p5e',
|
|
1909
|
+
'p5en',
|
|
1910
|
+
'p6-b200',
|
|
1911
|
+
'r3',
|
|
1912
|
+
'r4',
|
|
1913
|
+
'r5',
|
|
1914
|
+
'r5a',
|
|
1915
|
+
'r5ad',
|
|
1916
|
+
'r5b',
|
|
1917
|
+
'r5d',
|
|
1918
|
+
'r5dn',
|
|
1919
|
+
'r5n',
|
|
1920
|
+
'r6a',
|
|
1921
|
+
'r6g',
|
|
1922
|
+
'r6gd',
|
|
1923
|
+
'r6i',
|
|
1924
|
+
'r6id',
|
|
1925
|
+
'r6idn',
|
|
1926
|
+
'r6in',
|
|
1927
|
+
'r7a',
|
|
1928
|
+
'r7g',
|
|
1929
|
+
'r7gd',
|
|
1930
|
+
'r7i',
|
|
1931
|
+
'r7iz',
|
|
1932
|
+
'r8g',
|
|
1933
|
+
'r8gd',
|
|
1934
|
+
't2',
|
|
1935
|
+
't2a',
|
|
1936
|
+
't2d',
|
|
1937
|
+
't3',
|
|
1938
|
+
't3a',
|
|
1939
|
+
't4g',
|
|
1940
|
+
'trn1',
|
|
1941
|
+
'trn1n',
|
|
1942
|
+
'u-3tb1',
|
|
1943
|
+
'u-6tb1',
|
|
1944
|
+
'u7i-12tb',
|
|
1945
|
+
'u7i-6tb',
|
|
1946
|
+
'u7i-8tb',
|
|
1947
|
+
'u7in-16tb',
|
|
1948
|
+
'u7in-24tb',
|
|
1949
|
+
'u7in-32tb',
|
|
1950
|
+
'vt1',
|
|
1951
|
+
'x1',
|
|
1952
|
+
'x1e',
|
|
1953
|
+
'x2gd',
|
|
1954
|
+
'x2idn',
|
|
1955
|
+
'x2iedn',
|
|
1956
|
+
'x2iezn',
|
|
1957
|
+
'x4',
|
|
1958
|
+
'x8g',
|
|
1959
|
+
'z1d',
|
|
1960
|
+
'z3'
|
|
1961
|
+
]
|
|
1962
|
+
},
|
|
1963
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1964
|
+
},
|
|
1965
|
+
'topology.kubernetes.io/region': {
|
|
1966
|
+
type: 'array',
|
|
1967
|
+
items: {
|
|
1968
|
+
type: 'string',
|
|
1969
|
+
enum: [
|
|
1970
|
+
'africa-south1',
|
|
1971
|
+
'ap-northeast-1',
|
|
1972
|
+
'ap-northeast-2',
|
|
1973
|
+
'ap-northeast-3',
|
|
1974
|
+
'ap-south-1',
|
|
1975
|
+
'ap-southeast-1',
|
|
1976
|
+
'ap-southeast-2',
|
|
1977
|
+
'ash',
|
|
1978
|
+
'asia-east1',
|
|
1979
|
+
'asia-east2',
|
|
1980
|
+
'asia-northeast1',
|
|
1981
|
+
'asia-northeast2',
|
|
1982
|
+
'asia-northeast3',
|
|
1983
|
+
'asia-south1',
|
|
1984
|
+
'asia-south2',
|
|
1985
|
+
'asia-southeast1',
|
|
1986
|
+
'asia-southeast2',
|
|
1987
|
+
'australia-southeast1',
|
|
1988
|
+
'australia-southeast2',
|
|
1989
|
+
'ca-central-1',
|
|
1990
|
+
'eu-central-1',
|
|
1991
|
+
'eu-central-2',
|
|
1992
|
+
'eu-north-1',
|
|
1993
|
+
'eu-west-1',
|
|
1994
|
+
'eu-west-2',
|
|
1995
|
+
'eu-west-3',
|
|
1996
|
+
'europe-central2',
|
|
1997
|
+
'europe-north1',
|
|
1998
|
+
'europe-southwest1',
|
|
1999
|
+
'europe-west1',
|
|
2000
|
+
'europe-west10',
|
|
2001
|
+
'europe-west12',
|
|
2002
|
+
'europe-west2',
|
|
2003
|
+
'europe-west3',
|
|
2004
|
+
'europe-west4',
|
|
2005
|
+
'europe-west6',
|
|
2006
|
+
'europe-west8',
|
|
2007
|
+
'europe-west9',
|
|
2008
|
+
'fsn1',
|
|
2009
|
+
'hel1',
|
|
2010
|
+
'hil',
|
|
2011
|
+
'me-central1',
|
|
2012
|
+
'me-central2',
|
|
2013
|
+
'me-west1',
|
|
2014
|
+
'nbg1',
|
|
2015
|
+
'northamerica-northeast1',
|
|
2016
|
+
'northamerica-northeast2',
|
|
2017
|
+
'sa-east-1',
|
|
2018
|
+
'sin',
|
|
2019
|
+
'southamerica-east1',
|
|
2020
|
+
'southamerica-west1',
|
|
2021
|
+
'us-central1',
|
|
2022
|
+
'us-east-1',
|
|
2023
|
+
'us-east-2',
|
|
2024
|
+
'us-east1',
|
|
2025
|
+
'us-east4',
|
|
2026
|
+
'us-east5',
|
|
2027
|
+
'us-south1',
|
|
2028
|
+
'us-west-1',
|
|
2029
|
+
'us-west-2',
|
|
2030
|
+
'us-west1',
|
|
2031
|
+
'us-west2',
|
|
2032
|
+
'us-west3',
|
|
2033
|
+
'us-west4'
|
|
2034
|
+
]
|
|
2035
|
+
},
|
|
2036
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
2037
|
+
}
|
|
2038
|
+
},
|
|
2039
|
+
additionalProperties: false,
|
|
2040
|
+
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. Omit a field to place no restriction on that key.'
|
|
2041
|
+
},
|
|
2042
|
+
scalingProfile: {
|
|
2043
|
+
type: 'string',
|
|
2044
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
2045
|
+
example: 'conservative',
|
|
2046
|
+
enum: [
|
|
2047
|
+
'aggressive',
|
|
2048
|
+
'conservative'
|
|
2049
|
+
]
|
|
2050
|
+
}
|
|
2051
|
+
},
|
|
2052
|
+
required: [
|
|
2053
|
+
'scalingProfile'
|
|
2054
|
+
],
|
|
2055
|
+
additionalProperties: false
|
|
2056
|
+
};
|
|
2057
|
+
export const InviteCreateInputSchema = {
|
|
2058
|
+
type: 'object',
|
|
2059
|
+
properties: {
|
|
2060
|
+
email: {
|
|
2061
|
+
type: 'string',
|
|
2062
|
+
format: 'email',
|
|
2063
|
+
description: 'Email address of the user to invite.',
|
|
2064
|
+
example: 'email@example.com'
|
|
2065
|
+
},
|
|
2066
|
+
role: {
|
|
2067
|
+
type: 'string',
|
|
2068
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2069
|
+
default: 'User',
|
|
2070
|
+
example: 'User',
|
|
2071
|
+
enum: [
|
|
2072
|
+
'Administrator',
|
|
2073
|
+
'User'
|
|
2074
|
+
]
|
|
698
2075
|
}
|
|
699
2076
|
},
|
|
2077
|
+
required: [
|
|
2078
|
+
'email'
|
|
2079
|
+
],
|
|
700
2080
|
additionalProperties: false
|
|
701
2081
|
};
|
|
702
2082
|
export const InviteSchema = {
|
|
@@ -729,9 +2109,21 @@ export const InviteSchema = {
|
|
|
729
2109
|
type: 'string',
|
|
730
2110
|
description: 'Generated unique invite code.',
|
|
731
2111
|
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
2112
|
+
},
|
|
2113
|
+
role: {
|
|
2114
|
+
type: 'string',
|
|
2115
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2116
|
+
default: 'User',
|
|
2117
|
+
example: 'User',
|
|
2118
|
+
enum: [
|
|
2119
|
+
'Administrator',
|
|
2120
|
+
'User'
|
|
2121
|
+
]
|
|
732
2122
|
}
|
|
733
2123
|
},
|
|
734
|
-
required: [
|
|
2124
|
+
required: [
|
|
2125
|
+
'date_created'
|
|
2126
|
+
],
|
|
735
2127
|
additionalProperties: false
|
|
736
2128
|
};
|
|
737
2129
|
export const InvoiceSchema = {
|
|
@@ -739,9 +2131,8 @@ export const InvoiceSchema = {
|
|
|
739
2131
|
properties: {
|
|
740
2132
|
id: {
|
|
741
2133
|
type: 'string',
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
2134
|
+
description: 'Unique identifier of the invoice.',
|
|
2135
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
745
2136
|
},
|
|
746
2137
|
number: {
|
|
747
2138
|
type: 'string'
|
|
@@ -784,95 +2175,179 @@ export const InvoiceSchema = {
|
|
|
784
2175
|
type: 'string'
|
|
785
2176
|
}
|
|
786
2177
|
},
|
|
787
|
-
required: [
|
|
2178
|
+
required: [
|
|
2179
|
+
'created',
|
|
2180
|
+
'period_start',
|
|
2181
|
+
'period_end'
|
|
2182
|
+
],
|
|
788
2183
|
additionalProperties: false
|
|
789
2184
|
};
|
|
790
|
-
export const
|
|
2185
|
+
export const MarketplaceListingFilesSchema = {
|
|
791
2186
|
type: 'object',
|
|
792
2187
|
properties: {
|
|
793
|
-
|
|
2188
|
+
chartYaml: {
|
|
794
2189
|
type: 'string',
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
798
|
-
description: 'Id of the chart listing',
|
|
799
|
-
example: 'portworx-enterprise-disaster-recovery-baremetal'
|
|
800
|
-
},
|
|
801
|
-
name: {
|
|
802
|
-
type: 'string',
|
|
803
|
-
description: 'Name of the chart listing',
|
|
804
|
-
example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
|
|
2190
|
+
description: 'Raw Chart.yaml content from the Helm chart',
|
|
2191
|
+
example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
|
|
805
2192
|
},
|
|
806
|
-
|
|
2193
|
+
valuesYaml: {
|
|
807
2194
|
type: 'string',
|
|
808
|
-
description: '
|
|
809
|
-
example: '
|
|
2195
|
+
description: 'Raw values.yaml content from the Helm chart',
|
|
2196
|
+
example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
|
|
810
2197
|
},
|
|
811
|
-
|
|
812
|
-
type: 'string',
|
|
813
|
-
description: 'Short description of the chart listing',
|
|
814
|
-
example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
|
|
815
|
-
},
|
|
816
|
-
logoUrl: {
|
|
2198
|
+
valuesSchemaJson: {
|
|
817
2199
|
type: 'string',
|
|
818
|
-
description: '
|
|
819
|
-
example: '
|
|
820
|
-
}
|
|
821
|
-
|
|
2200
|
+
description: 'JSON schema for values.yaml as a string',
|
|
2201
|
+
example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
|
|
2202
|
+
}
|
|
2203
|
+
},
|
|
2204
|
+
additionalProperties: false
|
|
2205
|
+
};
|
|
2206
|
+
export const MarketplaceListingSchema = {
|
|
2207
|
+
type: 'object',
|
|
2208
|
+
properties: {
|
|
2209
|
+
name: {
|
|
822
2210
|
type: 'string',
|
|
823
|
-
description: '
|
|
824
|
-
example: '
|
|
2211
|
+
description: 'Name of the chart',
|
|
2212
|
+
example: 'nginx-ingress'
|
|
825
2213
|
},
|
|
826
|
-
|
|
2214
|
+
versions: {
|
|
827
2215
|
type: 'array',
|
|
828
2216
|
items: {
|
|
829
2217
|
type: 'string',
|
|
830
|
-
|
|
2218
|
+
pattern: '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(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-]+)*))?$',
|
|
2219
|
+
description: 'Specific version of the chart',
|
|
2220
|
+
example: '1.18.2-cfke.45'
|
|
831
2221
|
},
|
|
832
|
-
description: '
|
|
2222
|
+
description: 'Available versions of the chart'
|
|
833
2223
|
},
|
|
834
2224
|
version_channels: {
|
|
835
2225
|
type: 'array',
|
|
836
2226
|
items: {
|
|
837
2227
|
type: 'string',
|
|
838
2228
|
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-]+)*))?$',
|
|
839
|
-
description: 'Version
|
|
840
|
-
example: '
|
|
841
|
-
}
|
|
2229
|
+
description: 'Version channel pattern',
|
|
2230
|
+
example: '1.18.x-cfke.x'
|
|
2231
|
+
},
|
|
2232
|
+
description: 'Version channels for the chart'
|
|
842
2233
|
},
|
|
843
|
-
|
|
844
|
-
type: '
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
2234
|
+
latestVersion: {
|
|
2235
|
+
type: 'string',
|
|
2236
|
+
description: 'Latest version of the chart',
|
|
2237
|
+
example: '1.18.2-cfke.45'
|
|
2238
|
+
},
|
|
2239
|
+
metadata: {
|
|
2240
|
+
type: 'object',
|
|
2241
|
+
properties: {
|
|
2242
|
+
name: {
|
|
2243
|
+
type: 'string',
|
|
2244
|
+
description: 'Chart name from metadata',
|
|
2245
|
+
example: 'nginx-ingress'
|
|
2246
|
+
},
|
|
2247
|
+
version: {
|
|
2248
|
+
type: 'string',
|
|
2249
|
+
description: 'Chart version from metadata',
|
|
2250
|
+
example: '1.18.2-cfke.45'
|
|
2251
|
+
},
|
|
2252
|
+
description: {
|
|
2253
|
+
type: 'string',
|
|
2254
|
+
description: 'Chart description',
|
|
2255
|
+
example: 'NGINX Ingress Controller for Kubernetes'
|
|
2256
|
+
},
|
|
2257
|
+
appVersion: {
|
|
2258
|
+
type: 'string',
|
|
2259
|
+
description: 'Application version',
|
|
2260
|
+
example: '1.9.4'
|
|
2261
|
+
},
|
|
2262
|
+
apiVersion: {
|
|
2263
|
+
type: 'string',
|
|
2264
|
+
description: 'Helm API version',
|
|
2265
|
+
example: 'v2'
|
|
2266
|
+
},
|
|
2267
|
+
keywords: {
|
|
2268
|
+
type: 'array',
|
|
2269
|
+
items: {
|
|
2270
|
+
type: 'string'
|
|
853
2271
|
},
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
2272
|
+
description: 'Chart keywords',
|
|
2273
|
+
example: [
|
|
2274
|
+
'ingress',
|
|
2275
|
+
'nginx',
|
|
2276
|
+
'load-balancer'
|
|
2277
|
+
]
|
|
2278
|
+
},
|
|
2279
|
+
home: {
|
|
2280
|
+
type: 'string',
|
|
2281
|
+
description: 'Chart home URL',
|
|
2282
|
+
example: 'https://kubernetes.github.io/ingress-nginx/'
|
|
2283
|
+
},
|
|
2284
|
+
icon: {
|
|
2285
|
+
type: 'string',
|
|
2286
|
+
description: 'A URL to an SVG or PNG image to be used as an icon',
|
|
2287
|
+
example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
|
|
2288
|
+
},
|
|
2289
|
+
sources: {
|
|
2290
|
+
type: 'array',
|
|
2291
|
+
items: {
|
|
2292
|
+
type: 'string'
|
|
857
2293
|
},
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
bar: example`
|
|
863
|
-
}
|
|
2294
|
+
description: 'Chart source URLs',
|
|
2295
|
+
example: [
|
|
2296
|
+
'https://github.com/kubernetes/ingress-nginx'
|
|
2297
|
+
]
|
|
864
2298
|
},
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
2299
|
+
maintainers: {
|
|
2300
|
+
type: 'array',
|
|
2301
|
+
items: {
|
|
2302
|
+
type: 'object',
|
|
2303
|
+
properties: {
|
|
2304
|
+
name: {
|
|
2305
|
+
type: 'string',
|
|
2306
|
+
description: 'Maintainer name',
|
|
2307
|
+
example: 'NGINX Team'
|
|
2308
|
+
},
|
|
2309
|
+
email: {
|
|
2310
|
+
type: 'string',
|
|
2311
|
+
description: 'Maintainer email',
|
|
2312
|
+
example: 'support@nginx.org'
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
2315
|
+
required: [
|
|
2316
|
+
'name'
|
|
2317
|
+
],
|
|
2318
|
+
additionalProperties: false
|
|
2319
|
+
},
|
|
2320
|
+
description: 'Chart maintainers'
|
|
2321
|
+
}
|
|
2322
|
+
},
|
|
2323
|
+
required: [
|
|
2324
|
+
'name',
|
|
2325
|
+
'version'
|
|
2326
|
+
],
|
|
2327
|
+
additionalProperties: false,
|
|
2328
|
+
description: 'Chart metadata'
|
|
868
2329
|
}
|
|
869
2330
|
},
|
|
870
|
-
required: [
|
|
2331
|
+
required: [
|
|
2332
|
+
'name',
|
|
2333
|
+
'versions',
|
|
2334
|
+
'version_channels',
|
|
2335
|
+
'latestVersion'
|
|
2336
|
+
],
|
|
871
2337
|
additionalProperties: false
|
|
872
2338
|
};
|
|
873
2339
|
export const OrganizationCreateInputSchema = {
|
|
874
2340
|
type: 'object',
|
|
875
2341
|
properties: {
|
|
2342
|
+
type: {
|
|
2343
|
+
type: 'string',
|
|
2344
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2345
|
+
example: 'business',
|
|
2346
|
+
enum: [
|
|
2347
|
+
'business',
|
|
2348
|
+
'personal'
|
|
2349
|
+
]
|
|
2350
|
+
},
|
|
876
2351
|
email: {
|
|
877
2352
|
type: 'string',
|
|
878
2353
|
format: 'email',
|
|
@@ -881,11 +2356,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
881
2356
|
},
|
|
882
2357
|
first_name: {
|
|
883
2358
|
type: 'string',
|
|
2359
|
+
minLength: 1,
|
|
884
2360
|
description: 'First name of the billing contact person.',
|
|
885
2361
|
example: 'John'
|
|
886
2362
|
},
|
|
887
2363
|
last_name: {
|
|
888
2364
|
type: 'string',
|
|
2365
|
+
minLength: 1,
|
|
889
2366
|
description: 'Last name of the billing contact person.',
|
|
890
2367
|
example: 'Doe'
|
|
891
2368
|
},
|
|
@@ -903,7 +2380,28 @@ export const OrganizationCreateInputSchema = {
|
|
|
903
2380
|
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.'
|
|
904
2381
|
}
|
|
905
2382
|
},
|
|
906
|
-
required: [
|
|
2383
|
+
required: [
|
|
2384
|
+
'type',
|
|
2385
|
+
'email',
|
|
2386
|
+
'first_name',
|
|
2387
|
+
'last_name',
|
|
2388
|
+
'company_name',
|
|
2389
|
+
'password'
|
|
2390
|
+
],
|
|
2391
|
+
additionalProperties: false
|
|
2392
|
+
};
|
|
2393
|
+
export const OrganizationCreateOutputSchema = {
|
|
2394
|
+
type: 'object',
|
|
2395
|
+
properties: {
|
|
2396
|
+
id: {
|
|
2397
|
+
type: 'string',
|
|
2398
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2399
|
+
example: 'organization-id'
|
|
2400
|
+
}
|
|
2401
|
+
},
|
|
2402
|
+
required: [
|
|
2403
|
+
'id'
|
|
2404
|
+
],
|
|
907
2405
|
additionalProperties: false
|
|
908
2406
|
};
|
|
909
2407
|
export const OrganizationSchema = {
|
|
@@ -922,6 +2420,15 @@ export const OrganizationSchema = {
|
|
|
922
2420
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
923
2421
|
example: 'ACME Corp.'
|
|
924
2422
|
},
|
|
2423
|
+
type: {
|
|
2424
|
+
type: 'string',
|
|
2425
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2426
|
+
example: 'business',
|
|
2427
|
+
enum: [
|
|
2428
|
+
'business',
|
|
2429
|
+
'personal'
|
|
2430
|
+
]
|
|
2431
|
+
},
|
|
925
2432
|
date_created: {
|
|
926
2433
|
type: 'string',
|
|
927
2434
|
format: 'date-time',
|
|
@@ -963,107 +2470,1021 @@ export const OrganizationSchema = {
|
|
|
963
2470
|
type: 'array',
|
|
964
2471
|
items: {
|
|
965
2472
|
type: 'string',
|
|
966
|
-
example: 'basic'
|
|
2473
|
+
example: 'basic'
|
|
2474
|
+
},
|
|
2475
|
+
minItems: 0,
|
|
2476
|
+
description: 'List of Cloudfleet cluster tiers available for the organization.'
|
|
2477
|
+
},
|
|
2478
|
+
regions: {
|
|
2479
|
+
type: 'array',
|
|
2480
|
+
items: {
|
|
2481
|
+
type: 'string',
|
|
2482
|
+
example: 'northamerica-central-1a'
|
|
2483
|
+
},
|
|
2484
|
+
minItems: 1,
|
|
2485
|
+
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
2486
|
+
},
|
|
2487
|
+
versions: {
|
|
2488
|
+
type: 'array',
|
|
2489
|
+
items: {
|
|
2490
|
+
type: 'object',
|
|
2491
|
+
properties: {
|
|
2492
|
+
id: {
|
|
2493
|
+
type: 'string',
|
|
2494
|
+
description: 'Id of the control plane version. Used in API calls.',
|
|
2495
|
+
example: '1.33.x-cfke.x'
|
|
2496
|
+
},
|
|
2497
|
+
label: {
|
|
2498
|
+
type: 'string',
|
|
2499
|
+
description: 'Label of the control plane version. Used in frontent UI.',
|
|
2500
|
+
example: '1.33.x (Always latest 1.33 patch version)'
|
|
2501
|
+
}
|
|
2502
|
+
},
|
|
2503
|
+
required: [
|
|
2504
|
+
'id',
|
|
2505
|
+
'label'
|
|
2506
|
+
],
|
|
2507
|
+
additionalProperties: false
|
|
2508
|
+
},
|
|
2509
|
+
minItems: 1,
|
|
2510
|
+
description: 'List of CFKE control plane versions available for the organization.'
|
|
2511
|
+
},
|
|
2512
|
+
cfcr_storage_gb: {
|
|
2513
|
+
type: 'integer',
|
|
2514
|
+
minimum: -1,
|
|
2515
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
2516
|
+
example: 500
|
|
2517
|
+
}
|
|
2518
|
+
},
|
|
2519
|
+
required: [
|
|
2520
|
+
'basic_clusters_max',
|
|
2521
|
+
'basic_clusters_available',
|
|
2522
|
+
'pro_clusters_max',
|
|
2523
|
+
'pro_clusters_available',
|
|
2524
|
+
'fleets_max',
|
|
2525
|
+
'cluster_tiers',
|
|
2526
|
+
'regions',
|
|
2527
|
+
'versions',
|
|
2528
|
+
'cfcr_storage_gb'
|
|
2529
|
+
],
|
|
2530
|
+
additionalProperties: false,
|
|
2531
|
+
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.'
|
|
2532
|
+
},
|
|
2533
|
+
status: {
|
|
2534
|
+
type: 'string',
|
|
2535
|
+
description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
|
|
2536
|
+
enum: [
|
|
2537
|
+
'active',
|
|
2538
|
+
'closed',
|
|
2539
|
+
'suspended'
|
|
2540
|
+
]
|
|
2541
|
+
},
|
|
2542
|
+
verification: {
|
|
2543
|
+
type: 'string',
|
|
2544
|
+
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.',
|
|
2545
|
+
example: 'verified',
|
|
2546
|
+
enum: [
|
|
2547
|
+
'none',
|
|
2548
|
+
'submitted',
|
|
2549
|
+
'verified'
|
|
2550
|
+
]
|
|
2551
|
+
}
|
|
2552
|
+
},
|
|
2553
|
+
required: [
|
|
2554
|
+
'id',
|
|
2555
|
+
'type',
|
|
2556
|
+
'date_created',
|
|
2557
|
+
'quota',
|
|
2558
|
+
'status',
|
|
2559
|
+
'verification'
|
|
2560
|
+
],
|
|
2561
|
+
additionalProperties: false
|
|
2562
|
+
};
|
|
2563
|
+
export const PaymentMethodSchema = {
|
|
2564
|
+
type: 'object',
|
|
2565
|
+
properties: {
|
|
2566
|
+
id: {
|
|
2567
|
+
type: 'string',
|
|
2568
|
+
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.',
|
|
2569
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
2570
|
+
},
|
|
2571
|
+
type: {
|
|
2572
|
+
type: 'string',
|
|
2573
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
2574
|
+
example: 'card',
|
|
2575
|
+
enum: [
|
|
2576
|
+
'card',
|
|
2577
|
+
'sepa_debit',
|
|
2578
|
+
'bank_transfer'
|
|
2579
|
+
]
|
|
2580
|
+
},
|
|
2581
|
+
last4: {
|
|
2582
|
+
type: 'string',
|
|
2583
|
+
nullable: true,
|
|
2584
|
+
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.',
|
|
2585
|
+
example: '4242'
|
|
2586
|
+
},
|
|
2587
|
+
exp_month: {
|
|
2588
|
+
type: 'integer',
|
|
2589
|
+
minimum: 1,
|
|
2590
|
+
maximum: 12,
|
|
2591
|
+
nullable: true,
|
|
2592
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2593
|
+
example: 12
|
|
2594
|
+
},
|
|
2595
|
+
exp_year: {
|
|
2596
|
+
type: 'integer',
|
|
2597
|
+
nullable: true,
|
|
2598
|
+
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.',
|
|
2599
|
+
example: 2028
|
|
2600
|
+
},
|
|
2601
|
+
brand: {
|
|
2602
|
+
type: 'string',
|
|
2603
|
+
nullable: true,
|
|
2604
|
+
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.',
|
|
2605
|
+
example: 'visa'
|
|
2606
|
+
},
|
|
2607
|
+
iban: {
|
|
2608
|
+
type: 'string',
|
|
2609
|
+
nullable: true,
|
|
2610
|
+
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.',
|
|
2611
|
+
example: 'DE11243015658023127510'
|
|
2612
|
+
},
|
|
2613
|
+
bic: {
|
|
2614
|
+
type: 'string',
|
|
2615
|
+
nullable: true,
|
|
2616
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2617
|
+
example: 'SOGEDEFFXXX'
|
|
2618
|
+
},
|
|
2619
|
+
account_holder_name: {
|
|
2620
|
+
type: 'string',
|
|
2621
|
+
nullable: true,
|
|
2622
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2623
|
+
example: 'Cloudfleet GmbH'
|
|
2624
|
+
},
|
|
2625
|
+
is_default: {
|
|
2626
|
+
type: 'boolean',
|
|
2627
|
+
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).',
|
|
2628
|
+
example: true
|
|
2629
|
+
}
|
|
2630
|
+
},
|
|
2631
|
+
required: [
|
|
2632
|
+
'id',
|
|
2633
|
+
'type',
|
|
2634
|
+
'last4',
|
|
2635
|
+
'exp_month',
|
|
2636
|
+
'exp_year',
|
|
2637
|
+
'brand',
|
|
2638
|
+
'iban',
|
|
2639
|
+
'bic',
|
|
2640
|
+
'account_holder_name',
|
|
2641
|
+
'is_default'
|
|
2642
|
+
],
|
|
2643
|
+
additionalProperties: false
|
|
2644
|
+
};
|
|
2645
|
+
export const PlatformQuotaSchema = {
|
|
2646
|
+
type: 'object',
|
|
2647
|
+
properties: {
|
|
2648
|
+
basic_clusters_max: {
|
|
2649
|
+
type: 'integer',
|
|
2650
|
+
minimum: 0,
|
|
2651
|
+
description: 'Maximum number of Basic clusters that can be created.',
|
|
2652
|
+
example: 999
|
|
2653
|
+
},
|
|
2654
|
+
basic_clusters_available: {
|
|
2655
|
+
type: 'integer',
|
|
2656
|
+
description: 'Available number of Basic clusters that can be created.',
|
|
2657
|
+
example: 999
|
|
2658
|
+
},
|
|
2659
|
+
pro_clusters_max: {
|
|
2660
|
+
type: 'integer',
|
|
2661
|
+
minimum: 0,
|
|
2662
|
+
description: 'Maximum number of Pro clusters that can be created.',
|
|
2663
|
+
example: 999
|
|
2664
|
+
},
|
|
2665
|
+
pro_clusters_available: {
|
|
2666
|
+
type: 'integer',
|
|
2667
|
+
description: 'Available number of Pro clusters that can be created.',
|
|
2668
|
+
example: 999
|
|
2669
|
+
},
|
|
2670
|
+
fleets_max: {
|
|
2671
|
+
type: 'integer',
|
|
2672
|
+
minimum: 0,
|
|
2673
|
+
description: 'Maximum number of fleets that can be created per cluster.',
|
|
2674
|
+
example: 999
|
|
2675
|
+
},
|
|
2676
|
+
cluster_tiers: {
|
|
2677
|
+
type: 'array',
|
|
2678
|
+
items: {
|
|
2679
|
+
type: 'string',
|
|
2680
|
+
example: 'basic'
|
|
2681
|
+
},
|
|
2682
|
+
minItems: 0,
|
|
2683
|
+
description: 'List of Cloudfleet cluster tiers available for the organization.'
|
|
2684
|
+
},
|
|
2685
|
+
regions: {
|
|
2686
|
+
type: 'array',
|
|
2687
|
+
items: {
|
|
2688
|
+
type: 'string',
|
|
2689
|
+
example: 'northamerica-central-1a'
|
|
2690
|
+
},
|
|
2691
|
+
minItems: 1,
|
|
2692
|
+
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
2693
|
+
},
|
|
2694
|
+
versions: {
|
|
2695
|
+
type: 'array',
|
|
2696
|
+
items: {
|
|
2697
|
+
type: 'object',
|
|
2698
|
+
properties: {
|
|
2699
|
+
id: {
|
|
2700
|
+
type: 'string',
|
|
2701
|
+
description: 'Id of the control plane version. Used in API calls.',
|
|
2702
|
+
example: '1.33.x-cfke.x'
|
|
2703
|
+
},
|
|
2704
|
+
label: {
|
|
2705
|
+
type: 'string',
|
|
2706
|
+
description: 'Label of the control plane version. Used in frontent UI.',
|
|
2707
|
+
example: '1.33.x (Always latest 1.33 patch version)'
|
|
2708
|
+
}
|
|
2709
|
+
},
|
|
2710
|
+
required: [
|
|
2711
|
+
'id',
|
|
2712
|
+
'label'
|
|
2713
|
+
],
|
|
2714
|
+
additionalProperties: false
|
|
2715
|
+
},
|
|
2716
|
+
minItems: 1,
|
|
2717
|
+
description: 'List of CFKE control plane versions available for the organization.'
|
|
2718
|
+
},
|
|
2719
|
+
cfcr_storage_gb: {
|
|
2720
|
+
type: 'integer',
|
|
2721
|
+
minimum: -1,
|
|
2722
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
2723
|
+
example: 500
|
|
2724
|
+
}
|
|
2725
|
+
},
|
|
2726
|
+
required: [
|
|
2727
|
+
'basic_clusters_max',
|
|
2728
|
+
'basic_clusters_available',
|
|
2729
|
+
'pro_clusters_max',
|
|
2730
|
+
'pro_clusters_available',
|
|
2731
|
+
'fleets_max',
|
|
2732
|
+
'cluster_tiers',
|
|
2733
|
+
'regions',
|
|
2734
|
+
'versions',
|
|
2735
|
+
'cfcr_storage_gb'
|
|
2736
|
+
],
|
|
2737
|
+
additionalProperties: false
|
|
2738
|
+
};
|
|
2739
|
+
export const RegistryRepositorySchema = {
|
|
2740
|
+
type: 'object',
|
|
2741
|
+
properties: {
|
|
2742
|
+
name: {
|
|
2743
|
+
type: 'string',
|
|
2744
|
+
description: 'Repository name.',
|
|
2745
|
+
example: 'my-app'
|
|
2746
|
+
},
|
|
2747
|
+
region: {
|
|
2748
|
+
type: 'string',
|
|
2749
|
+
description: 'Registry region.',
|
|
2750
|
+
example: 'northamerica'
|
|
2751
|
+
},
|
|
2752
|
+
uri: {
|
|
2753
|
+
type: 'string',
|
|
2754
|
+
description: 'Full URI of the repository.',
|
|
2755
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
2756
|
+
}
|
|
2757
|
+
},
|
|
2758
|
+
required: [
|
|
2759
|
+
'name',
|
|
2760
|
+
'region',
|
|
2761
|
+
'uri'
|
|
2762
|
+
],
|
|
2763
|
+
additionalProperties: false
|
|
2764
|
+
};
|
|
2765
|
+
export const RegistryRepositoryWithTagsSchema = {
|
|
2766
|
+
type: 'object',
|
|
2767
|
+
properties: {
|
|
2768
|
+
name: {
|
|
2769
|
+
type: 'string',
|
|
2770
|
+
description: 'Repository name.',
|
|
2771
|
+
example: 'my-app'
|
|
2772
|
+
},
|
|
2773
|
+
region: {
|
|
2774
|
+
type: 'string',
|
|
2775
|
+
description: 'Registry region.',
|
|
2776
|
+
example: 'northamerica'
|
|
2777
|
+
},
|
|
2778
|
+
uri: {
|
|
2779
|
+
type: 'string',
|
|
2780
|
+
description: 'Full URI of the repository.',
|
|
2781
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
2782
|
+
},
|
|
2783
|
+
tags: {
|
|
2784
|
+
type: 'array',
|
|
2785
|
+
items: {
|
|
2786
|
+
type: 'object',
|
|
2787
|
+
properties: {
|
|
2788
|
+
name: {
|
|
2789
|
+
type: 'string',
|
|
2790
|
+
description: 'Tag name.',
|
|
2791
|
+
example: 'latest'
|
|
2792
|
+
},
|
|
2793
|
+
size: {
|
|
2794
|
+
type: 'number',
|
|
2795
|
+
format: 'float',
|
|
2796
|
+
description: 'Size of the tag in bytes.',
|
|
2797
|
+
example: 123456789
|
|
2798
|
+
},
|
|
2799
|
+
mediaType: {
|
|
2800
|
+
type: 'string',
|
|
2801
|
+
description: 'Media type of the manifest.',
|
|
2802
|
+
example: 'application/vnd.docker.distribution.manifest.v2+json'
|
|
2803
|
+
},
|
|
2804
|
+
platforms: {
|
|
2805
|
+
type: 'array',
|
|
2806
|
+
items: {
|
|
2807
|
+
type: 'string'
|
|
2808
|
+
},
|
|
2809
|
+
description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
|
|
2810
|
+
example: [
|
|
2811
|
+
'linux/amd64',
|
|
2812
|
+
'linux/arm64'
|
|
2813
|
+
]
|
|
2814
|
+
}
|
|
2815
|
+
},
|
|
2816
|
+
required: [
|
|
2817
|
+
'name',
|
|
2818
|
+
'size'
|
|
2819
|
+
],
|
|
2820
|
+
additionalProperties: false
|
|
2821
|
+
},
|
|
2822
|
+
description: 'Array of tags in the repository.'
|
|
2823
|
+
},
|
|
2824
|
+
totalSize: {
|
|
2825
|
+
type: 'number',
|
|
2826
|
+
format: 'float',
|
|
2827
|
+
description: 'Total size of all tags in the repository in bytes.',
|
|
2828
|
+
example: 987654321
|
|
2829
|
+
}
|
|
2830
|
+
},
|
|
2831
|
+
required: [
|
|
2832
|
+
'name',
|
|
2833
|
+
'region',
|
|
2834
|
+
'uri',
|
|
2835
|
+
'tags',
|
|
2836
|
+
'totalSize'
|
|
2837
|
+
],
|
|
2838
|
+
additionalProperties: false
|
|
2839
|
+
};
|
|
2840
|
+
export const RegistryTagSchema = {
|
|
2841
|
+
type: 'object',
|
|
2842
|
+
properties: {
|
|
2843
|
+
name: {
|
|
2844
|
+
type: 'string',
|
|
2845
|
+
description: 'Tag name.',
|
|
2846
|
+
example: 'latest'
|
|
2847
|
+
},
|
|
2848
|
+
digest: {
|
|
2849
|
+
type: 'string',
|
|
2850
|
+
description: 'Manifest digest for pulling by digest.',
|
|
2851
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2852
|
+
},
|
|
2853
|
+
mediaType: {
|
|
2854
|
+
type: 'string',
|
|
2855
|
+
description: 'Media type of the manifest.',
|
|
2856
|
+
example: 'application/vnd.docker.distribution.manifest.v2+json'
|
|
2857
|
+
},
|
|
2858
|
+
config: {
|
|
2859
|
+
type: 'object',
|
|
2860
|
+
properties: {
|
|
2861
|
+
size: {
|
|
2862
|
+
type: 'number',
|
|
2863
|
+
format: 'float',
|
|
2864
|
+
description: 'Size of the config in bytes.',
|
|
2865
|
+
example: 1234
|
|
2866
|
+
}
|
|
2867
|
+
},
|
|
2868
|
+
required: [
|
|
2869
|
+
'size'
|
|
2870
|
+
],
|
|
2871
|
+
additionalProperties: false,
|
|
2872
|
+
description: 'Manifest config metadata.'
|
|
2873
|
+
},
|
|
2874
|
+
layers: {
|
|
2875
|
+
type: 'array',
|
|
2876
|
+
items: {
|
|
2877
|
+
type: 'object',
|
|
2878
|
+
properties: {
|
|
2879
|
+
digest: {
|
|
2880
|
+
type: 'string',
|
|
2881
|
+
description: 'Digest of the layer.',
|
|
2882
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2883
|
+
},
|
|
2884
|
+
size: {
|
|
2885
|
+
type: 'number',
|
|
2886
|
+
format: 'float',
|
|
2887
|
+
description: 'Size of the layer in bytes.',
|
|
2888
|
+
example: 5678
|
|
2889
|
+
}
|
|
2890
|
+
},
|
|
2891
|
+
required: [
|
|
2892
|
+
'size'
|
|
2893
|
+
],
|
|
2894
|
+
additionalProperties: false
|
|
2895
|
+
},
|
|
2896
|
+
description: 'Array of layer metadata.'
|
|
2897
|
+
},
|
|
2898
|
+
manifests: {
|
|
2899
|
+
type: 'array',
|
|
2900
|
+
items: {
|
|
2901
|
+
type: 'object',
|
|
2902
|
+
properties: {
|
|
2903
|
+
digest: {
|
|
2904
|
+
type: 'string',
|
|
2905
|
+
description: 'Digest of the manifest.',
|
|
2906
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2907
|
+
},
|
|
2908
|
+
platform: {
|
|
2909
|
+
type: 'object',
|
|
2910
|
+
properties: {
|
|
2911
|
+
architecture: {
|
|
2912
|
+
type: 'string',
|
|
2913
|
+
description: 'Architecture of the platform.',
|
|
2914
|
+
example: 'amd64'
|
|
2915
|
+
},
|
|
2916
|
+
os: {
|
|
2917
|
+
type: 'string',
|
|
2918
|
+
description: 'Operating system of the platform.',
|
|
2919
|
+
example: 'linux'
|
|
2920
|
+
},
|
|
2921
|
+
variant: {
|
|
2922
|
+
type: 'string',
|
|
2923
|
+
description: 'Variant of the platform (e.g., v7, v8 for ARM).',
|
|
2924
|
+
example: 'v8'
|
|
2925
|
+
}
|
|
2926
|
+
},
|
|
2927
|
+
required: [
|
|
2928
|
+
'architecture',
|
|
2929
|
+
'os'
|
|
2930
|
+
],
|
|
2931
|
+
additionalProperties: false,
|
|
2932
|
+
description: 'Platform information for the manifest.'
|
|
2933
|
+
},
|
|
2934
|
+
layers: {
|
|
2935
|
+
type: 'array',
|
|
2936
|
+
items: {
|
|
2937
|
+
type: 'object',
|
|
2938
|
+
properties: {
|
|
2939
|
+
digest: {
|
|
2940
|
+
type: 'string',
|
|
2941
|
+
description: 'Digest of the layer.',
|
|
2942
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
2943
|
+
},
|
|
2944
|
+
size: {
|
|
2945
|
+
type: 'number',
|
|
2946
|
+
format: 'float',
|
|
2947
|
+
description: 'Size of the layer in bytes.',
|
|
2948
|
+
example: 5678
|
|
2949
|
+
}
|
|
2950
|
+
},
|
|
2951
|
+
required: [
|
|
2952
|
+
'size'
|
|
2953
|
+
],
|
|
2954
|
+
additionalProperties: false
|
|
2955
|
+
},
|
|
2956
|
+
description: 'Layers for this platform.'
|
|
2957
|
+
},
|
|
2958
|
+
size: {
|
|
2959
|
+
type: 'number',
|
|
2960
|
+
format: 'float',
|
|
2961
|
+
description: 'Total size of this platform manifest in bytes.',
|
|
2962
|
+
example: 12345678
|
|
2963
|
+
}
|
|
2964
|
+
},
|
|
2965
|
+
required: [
|
|
2966
|
+
'digest'
|
|
2967
|
+
],
|
|
2968
|
+
additionalProperties: false
|
|
2969
|
+
},
|
|
2970
|
+
description: 'Array of manifests for multi-arch images.'
|
|
2971
|
+
},
|
|
2972
|
+
size: {
|
|
2973
|
+
type: 'number',
|
|
2974
|
+
format: 'float',
|
|
2975
|
+
description: 'Total size of the tag in bytes.',
|
|
2976
|
+
example: 123456789
|
|
2977
|
+
},
|
|
2978
|
+
region: {
|
|
2979
|
+
type: 'string',
|
|
2980
|
+
description: 'Registry region.',
|
|
2981
|
+
example: 'northamerica'
|
|
2982
|
+
},
|
|
2983
|
+
repository: {
|
|
2984
|
+
type: 'string',
|
|
2985
|
+
description: 'Repository name.',
|
|
2986
|
+
example: 'my-app'
|
|
2987
|
+
},
|
|
2988
|
+
uri: {
|
|
2989
|
+
type: 'string',
|
|
2990
|
+
description: 'Full URI of the tag.',
|
|
2991
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
|
|
2992
|
+
}
|
|
2993
|
+
},
|
|
2994
|
+
required: [
|
|
2995
|
+
'name',
|
|
2996
|
+
'digest',
|
|
2997
|
+
'size',
|
|
2998
|
+
'region',
|
|
2999
|
+
'repository',
|
|
3000
|
+
'uri'
|
|
3001
|
+
],
|
|
3002
|
+
additionalProperties: false
|
|
3003
|
+
};
|
|
3004
|
+
export const TicketAttachmentSchema = {
|
|
3005
|
+
type: 'object',
|
|
3006
|
+
properties: {
|
|
3007
|
+
id: {
|
|
3008
|
+
type: 'string',
|
|
3009
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3010
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3011
|
+
},
|
|
3012
|
+
filename: {
|
|
3013
|
+
type: 'string',
|
|
3014
|
+
description: 'Original filename as uploaded.',
|
|
3015
|
+
example: 'debug.log'
|
|
3016
|
+
},
|
|
3017
|
+
content_type: {
|
|
3018
|
+
type: 'string',
|
|
3019
|
+
description: 'MIME content type of the attachment.',
|
|
3020
|
+
example: 'text/plain'
|
|
3021
|
+
},
|
|
3022
|
+
size: {
|
|
3023
|
+
type: 'integer',
|
|
3024
|
+
description: 'Size of the attachment in bytes.',
|
|
3025
|
+
example: 12345
|
|
3026
|
+
}
|
|
3027
|
+
},
|
|
3028
|
+
required: [
|
|
3029
|
+
'id',
|
|
3030
|
+
'filename',
|
|
3031
|
+
'content_type',
|
|
3032
|
+
'size'
|
|
3033
|
+
],
|
|
3034
|
+
additionalProperties: false
|
|
3035
|
+
};
|
|
3036
|
+
export const TicketCreateInputSchema = {
|
|
3037
|
+
type: 'object',
|
|
3038
|
+
properties: {
|
|
3039
|
+
category: {
|
|
3040
|
+
type: 'string',
|
|
3041
|
+
description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
|
|
3042
|
+
example: 'technical',
|
|
3043
|
+
enum: [
|
|
3044
|
+
'billing',
|
|
3045
|
+
'technical',
|
|
3046
|
+
'general'
|
|
3047
|
+
]
|
|
3048
|
+
},
|
|
3049
|
+
body: {
|
|
3050
|
+
type: 'string',
|
|
3051
|
+
maxLength: 50000,
|
|
3052
|
+
minLength: 1,
|
|
3053
|
+
pattern: '\\S',
|
|
3054
|
+
description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
|
|
3055
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3056
|
+
},
|
|
3057
|
+
properties: {
|
|
3058
|
+
type: 'object',
|
|
3059
|
+
additionalProperties: true,
|
|
3060
|
+
description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
|
|
3061
|
+
example: {
|
|
3062
|
+
subcategory: 'cluster-question',
|
|
3063
|
+
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
3064
|
+
}
|
|
3065
|
+
}
|
|
3066
|
+
},
|
|
3067
|
+
required: [
|
|
3068
|
+
'category',
|
|
3069
|
+
'body'
|
|
3070
|
+
],
|
|
3071
|
+
additionalProperties: false
|
|
3072
|
+
};
|
|
3073
|
+
export const TicketListResponseSchema = {
|
|
3074
|
+
type: 'object',
|
|
3075
|
+
properties: {
|
|
3076
|
+
items: {
|
|
3077
|
+
type: 'array',
|
|
3078
|
+
items: {
|
|
3079
|
+
type: 'object',
|
|
3080
|
+
properties: {
|
|
3081
|
+
id: {
|
|
3082
|
+
type: 'string',
|
|
3083
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3084
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3085
|
+
},
|
|
3086
|
+
status: {
|
|
3087
|
+
type: 'string',
|
|
3088
|
+
description: 'Current state of the ticket.',
|
|
3089
|
+
example: 'waiting_on_us',
|
|
3090
|
+
enum: [
|
|
3091
|
+
'waiting_on_us',
|
|
3092
|
+
'waiting_on_user',
|
|
3093
|
+
'closed'
|
|
3094
|
+
]
|
|
3095
|
+
},
|
|
3096
|
+
category: {
|
|
3097
|
+
type: 'string',
|
|
3098
|
+
description: 'Ticket category.',
|
|
3099
|
+
example: 'technical',
|
|
3100
|
+
enum: [
|
|
3101
|
+
'billing',
|
|
3102
|
+
'technical',
|
|
3103
|
+
'general'
|
|
3104
|
+
]
|
|
3105
|
+
},
|
|
3106
|
+
summary: {
|
|
3107
|
+
type: 'string',
|
|
3108
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3109
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
967
3110
|
},
|
|
968
|
-
|
|
969
|
-
description: 'List of Cloudfleet cluster tiers available for the organization.'
|
|
970
|
-
},
|
|
971
|
-
regions: {
|
|
972
|
-
type: 'array',
|
|
973
|
-
items: {
|
|
3111
|
+
closed_at: {
|
|
974
3112
|
type: 'string',
|
|
975
|
-
|
|
3113
|
+
format: 'date-time',
|
|
3114
|
+
nullable: true,
|
|
3115
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3116
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
976
3117
|
},
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
3118
|
+
date_created: {
|
|
3119
|
+
type: 'string',
|
|
3120
|
+
format: 'date-time',
|
|
3121
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3122
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3123
|
+
},
|
|
3124
|
+
date_updated: {
|
|
3125
|
+
type: 'string',
|
|
3126
|
+
format: 'date-time',
|
|
3127
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3128
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3129
|
+
},
|
|
3130
|
+
messages: {
|
|
3131
|
+
type: 'array',
|
|
3132
|
+
items: {
|
|
3133
|
+
type: 'object',
|
|
3134
|
+
properties: {
|
|
3135
|
+
id: {
|
|
3136
|
+
type: 'string',
|
|
3137
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3138
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3139
|
+
},
|
|
3140
|
+
type: {
|
|
3141
|
+
type: 'string',
|
|
3142
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3143
|
+
example: 'customer_reply',
|
|
3144
|
+
enum: [
|
|
3145
|
+
'customer_reply',
|
|
3146
|
+
'agent_reply'
|
|
3147
|
+
]
|
|
3148
|
+
},
|
|
3149
|
+
body: {
|
|
3150
|
+
type: 'string',
|
|
3151
|
+
description: 'Message body in markdown.',
|
|
3152
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3153
|
+
},
|
|
3154
|
+
author_first_name: {
|
|
3155
|
+
type: 'string',
|
|
3156
|
+
nullable: true,
|
|
3157
|
+
description: 'First name of the author. Null when not provided.',
|
|
3158
|
+
example: 'Jane'
|
|
3159
|
+
},
|
|
3160
|
+
author_last_name: {
|
|
3161
|
+
type: 'string',
|
|
3162
|
+
nullable: true,
|
|
3163
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3164
|
+
example: 'Doe'
|
|
3165
|
+
},
|
|
3166
|
+
attachments: {
|
|
3167
|
+
type: 'array',
|
|
3168
|
+
items: {
|
|
3169
|
+
type: 'object',
|
|
3170
|
+
properties: {
|
|
3171
|
+
id: {
|
|
3172
|
+
type: 'string',
|
|
3173
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3174
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3175
|
+
},
|
|
3176
|
+
filename: {
|
|
3177
|
+
type: 'string',
|
|
3178
|
+
description: 'Original filename as uploaded.',
|
|
3179
|
+
example: 'debug.log'
|
|
3180
|
+
},
|
|
3181
|
+
content_type: {
|
|
3182
|
+
type: 'string',
|
|
3183
|
+
description: 'MIME content type of the attachment.',
|
|
3184
|
+
example: 'text/plain'
|
|
3185
|
+
},
|
|
3186
|
+
size: {
|
|
3187
|
+
type: 'integer',
|
|
3188
|
+
description: 'Size of the attachment in bytes.',
|
|
3189
|
+
example: 12345
|
|
3190
|
+
}
|
|
3191
|
+
},
|
|
3192
|
+
required: [
|
|
3193
|
+
'id',
|
|
3194
|
+
'filename',
|
|
3195
|
+
'content_type',
|
|
3196
|
+
'size'
|
|
3197
|
+
],
|
|
3198
|
+
additionalProperties: false
|
|
3199
|
+
},
|
|
3200
|
+
description: 'Attachments associated with this message.',
|
|
3201
|
+
example: []
|
|
3202
|
+
},
|
|
3203
|
+
date_created: {
|
|
3204
|
+
type: 'string',
|
|
3205
|
+
format: 'date-time',
|
|
3206
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3207
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3208
|
+
}
|
|
989
3209
|
},
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
3210
|
+
required: [
|
|
3211
|
+
'id',
|
|
3212
|
+
'type',
|
|
3213
|
+
'body',
|
|
3214
|
+
'date_created'
|
|
3215
|
+
],
|
|
3216
|
+
additionalProperties: false
|
|
995
3217
|
},
|
|
996
|
-
|
|
997
|
-
|
|
3218
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3219
|
+
}
|
|
3220
|
+
},
|
|
3221
|
+
required: [
|
|
3222
|
+
'id',
|
|
3223
|
+
'status',
|
|
3224
|
+
'category',
|
|
3225
|
+
'summary',
|
|
3226
|
+
'date_created',
|
|
3227
|
+
'date_updated'
|
|
3228
|
+
],
|
|
3229
|
+
additionalProperties: false
|
|
3230
|
+
},
|
|
3231
|
+
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
3232
|
+
}
|
|
3233
|
+
},
|
|
3234
|
+
required: [
|
|
3235
|
+
'items'
|
|
3236
|
+
],
|
|
3237
|
+
additionalProperties: false
|
|
3238
|
+
};
|
|
3239
|
+
export const TicketMessageInputSchema = {
|
|
3240
|
+
type: 'object',
|
|
3241
|
+
properties: {
|
|
3242
|
+
body: {
|
|
3243
|
+
type: 'string',
|
|
3244
|
+
maxLength: 50000,
|
|
3245
|
+
minLength: 1,
|
|
3246
|
+
pattern: '\\S',
|
|
3247
|
+
description: 'Reply body in markdown.',
|
|
3248
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3249
|
+
}
|
|
3250
|
+
},
|
|
3251
|
+
required: [
|
|
3252
|
+
'body'
|
|
3253
|
+
],
|
|
3254
|
+
additionalProperties: false
|
|
3255
|
+
};
|
|
3256
|
+
export const TicketMessageSchema = {
|
|
3257
|
+
type: 'object',
|
|
3258
|
+
properties: {
|
|
3259
|
+
id: {
|
|
3260
|
+
type: 'string',
|
|
3261
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3262
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3263
|
+
},
|
|
3264
|
+
type: {
|
|
3265
|
+
type: 'string',
|
|
3266
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3267
|
+
example: 'customer_reply',
|
|
3268
|
+
enum: [
|
|
3269
|
+
'customer_reply',
|
|
3270
|
+
'agent_reply'
|
|
3271
|
+
]
|
|
3272
|
+
},
|
|
3273
|
+
body: {
|
|
3274
|
+
type: 'string',
|
|
3275
|
+
description: 'Message body in markdown.',
|
|
3276
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3277
|
+
},
|
|
3278
|
+
author_first_name: {
|
|
3279
|
+
type: 'string',
|
|
3280
|
+
description: 'First name of the author. Null when not provided.',
|
|
3281
|
+
example: 'Jane'
|
|
3282
|
+
},
|
|
3283
|
+
author_last_name: {
|
|
3284
|
+
type: 'string',
|
|
3285
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3286
|
+
example: 'Doe'
|
|
3287
|
+
},
|
|
3288
|
+
attachments: {
|
|
3289
|
+
type: 'array',
|
|
3290
|
+
items: {
|
|
3291
|
+
type: 'object',
|
|
3292
|
+
properties: {
|
|
3293
|
+
id: {
|
|
3294
|
+
type: 'string',
|
|
3295
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3296
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
998
3297
|
},
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
3298
|
+
filename: {
|
|
3299
|
+
type: 'string',
|
|
3300
|
+
description: 'Original filename as uploaded.',
|
|
3301
|
+
example: 'debug.log'
|
|
3302
|
+
},
|
|
3303
|
+
content_type: {
|
|
3304
|
+
type: 'string',
|
|
3305
|
+
description: 'MIME content type of the attachment.',
|
|
3306
|
+
example: 'text/plain'
|
|
3307
|
+
},
|
|
3308
|
+
size: {
|
|
3309
|
+
type: 'integer',
|
|
3310
|
+
description: 'Size of the attachment in bytes.',
|
|
3311
|
+
example: 12345
|
|
3312
|
+
}
|
|
3313
|
+
},
|
|
3314
|
+
required: [
|
|
3315
|
+
'id',
|
|
3316
|
+
'filename',
|
|
3317
|
+
'content_type',
|
|
3318
|
+
'size'
|
|
3319
|
+
],
|
|
3320
|
+
additionalProperties: false
|
|
1002
3321
|
},
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
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.'
|
|
3322
|
+
description: 'Attachments associated with this message.',
|
|
3323
|
+
example: []
|
|
1006
3324
|
},
|
|
1007
|
-
|
|
3325
|
+
date_created: {
|
|
1008
3326
|
type: 'string',
|
|
1009
|
-
|
|
1010
|
-
|
|
3327
|
+
format: 'date-time',
|
|
3328
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3329
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
1011
3330
|
}
|
|
1012
3331
|
},
|
|
1013
|
-
required: [
|
|
3332
|
+
required: [
|
|
3333
|
+
'id',
|
|
3334
|
+
'type',
|
|
3335
|
+
'body',
|
|
3336
|
+
'date_created'
|
|
3337
|
+
],
|
|
1014
3338
|
additionalProperties: false
|
|
1015
3339
|
};
|
|
1016
|
-
export const
|
|
3340
|
+
export const TicketSchema = {
|
|
1017
3341
|
type: 'object',
|
|
1018
3342
|
properties: {
|
|
1019
3343
|
id: {
|
|
1020
3344
|
type: 'string',
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
3345
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3346
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
1024
3347
|
},
|
|
1025
|
-
|
|
1026
|
-
type: '
|
|
1027
|
-
description: '
|
|
1028
|
-
example:
|
|
3348
|
+
status: {
|
|
3349
|
+
type: 'string',
|
|
3350
|
+
description: 'Current state of the ticket.',
|
|
3351
|
+
example: 'waiting_on_us',
|
|
3352
|
+
enum: [
|
|
3353
|
+
'waiting_on_us',
|
|
3354
|
+
'waiting_on_user',
|
|
3355
|
+
'closed'
|
|
3356
|
+
]
|
|
1029
3357
|
},
|
|
1030
|
-
|
|
3358
|
+
category: {
|
|
1031
3359
|
type: 'string',
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
3360
|
+
description: 'Ticket category.',
|
|
3361
|
+
example: 'technical',
|
|
3362
|
+
enum: [
|
|
3363
|
+
'billing',
|
|
3364
|
+
'technical',
|
|
3365
|
+
'general'
|
|
3366
|
+
]
|
|
1036
3367
|
},
|
|
1037
|
-
|
|
3368
|
+
summary: {
|
|
1038
3369
|
type: 'string',
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
example: '4242'
|
|
3370
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3371
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
1042
3372
|
},
|
|
1043
|
-
|
|
1044
|
-
type: '
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
description: "Two-digit number representing the card's expiration month.",
|
|
1049
|
-
example: '12'
|
|
3373
|
+
closed_at: {
|
|
3374
|
+
type: 'string',
|
|
3375
|
+
format: 'date-time',
|
|
3376
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3377
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
1050
3378
|
},
|
|
1051
|
-
|
|
1052
|
-
type: '
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
example: '2028'
|
|
3379
|
+
date_created: {
|
|
3380
|
+
type: 'string',
|
|
3381
|
+
format: 'date-time',
|
|
3382
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3383
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
1057
3384
|
},
|
|
1058
|
-
|
|
3385
|
+
date_updated: {
|
|
1059
3386
|
type: 'string',
|
|
1060
|
-
|
|
1061
|
-
description: '
|
|
1062
|
-
example: '
|
|
1063
|
-
|
|
3387
|
+
format: 'date-time',
|
|
3388
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3389
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3390
|
+
},
|
|
3391
|
+
messages: {
|
|
3392
|
+
type: 'array',
|
|
3393
|
+
items: {
|
|
3394
|
+
type: 'object',
|
|
3395
|
+
properties: {
|
|
3396
|
+
id: {
|
|
3397
|
+
type: 'string',
|
|
3398
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3399
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3400
|
+
},
|
|
3401
|
+
type: {
|
|
3402
|
+
type: 'string',
|
|
3403
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3404
|
+
example: 'customer_reply',
|
|
3405
|
+
enum: [
|
|
3406
|
+
'customer_reply',
|
|
3407
|
+
'agent_reply'
|
|
3408
|
+
]
|
|
3409
|
+
},
|
|
3410
|
+
body: {
|
|
3411
|
+
type: 'string',
|
|
3412
|
+
description: 'Message body in markdown.',
|
|
3413
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3414
|
+
},
|
|
3415
|
+
author_first_name: {
|
|
3416
|
+
type: 'string',
|
|
3417
|
+
description: 'First name of the author. Null when not provided.',
|
|
3418
|
+
example: 'Jane'
|
|
3419
|
+
},
|
|
3420
|
+
author_last_name: {
|
|
3421
|
+
type: 'string',
|
|
3422
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3423
|
+
example: 'Doe'
|
|
3424
|
+
},
|
|
3425
|
+
attachments: {
|
|
3426
|
+
type: 'array',
|
|
3427
|
+
items: {
|
|
3428
|
+
type: 'object',
|
|
3429
|
+
properties: {
|
|
3430
|
+
id: {
|
|
3431
|
+
type: 'string',
|
|
3432
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3433
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3434
|
+
},
|
|
3435
|
+
filename: {
|
|
3436
|
+
type: 'string',
|
|
3437
|
+
description: 'Original filename as uploaded.',
|
|
3438
|
+
example: 'debug.log'
|
|
3439
|
+
},
|
|
3440
|
+
content_type: {
|
|
3441
|
+
type: 'string',
|
|
3442
|
+
description: 'MIME content type of the attachment.',
|
|
3443
|
+
example: 'text/plain'
|
|
3444
|
+
},
|
|
3445
|
+
size: {
|
|
3446
|
+
type: 'integer',
|
|
3447
|
+
description: 'Size of the attachment in bytes.',
|
|
3448
|
+
example: 12345
|
|
3449
|
+
}
|
|
3450
|
+
},
|
|
3451
|
+
required: [
|
|
3452
|
+
'id',
|
|
3453
|
+
'filename',
|
|
3454
|
+
'content_type',
|
|
3455
|
+
'size'
|
|
3456
|
+
],
|
|
3457
|
+
additionalProperties: false
|
|
3458
|
+
},
|
|
3459
|
+
description: 'Attachments associated with this message.',
|
|
3460
|
+
example: []
|
|
3461
|
+
},
|
|
3462
|
+
date_created: {
|
|
3463
|
+
type: 'string',
|
|
3464
|
+
format: 'date-time',
|
|
3465
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3466
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3467
|
+
}
|
|
3468
|
+
},
|
|
3469
|
+
required: [
|
|
3470
|
+
'id',
|
|
3471
|
+
'type',
|
|
3472
|
+
'body',
|
|
3473
|
+
'date_created'
|
|
3474
|
+
],
|
|
3475
|
+
additionalProperties: false
|
|
3476
|
+
},
|
|
3477
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
1064
3478
|
}
|
|
1065
3479
|
},
|
|
1066
|
-
required: [
|
|
3480
|
+
required: [
|
|
3481
|
+
'id',
|
|
3482
|
+
'status',
|
|
3483
|
+
'category',
|
|
3484
|
+
'summary',
|
|
3485
|
+
'date_created',
|
|
3486
|
+
'date_updated'
|
|
3487
|
+
],
|
|
1067
3488
|
additionalProperties: false
|
|
1068
3489
|
};
|
|
1069
3490
|
export const TokenCreateInputSchema = {
|
|
@@ -1081,10 +3502,16 @@ export const TokenCreateInputSchema = {
|
|
|
1081
3502
|
type: 'string',
|
|
1082
3503
|
description: 'Role assumed by the token.',
|
|
1083
3504
|
example: 'User',
|
|
1084
|
-
enum: [
|
|
3505
|
+
enum: [
|
|
3506
|
+
'Administrator',
|
|
3507
|
+
'User'
|
|
3508
|
+
]
|
|
1085
3509
|
}
|
|
1086
3510
|
},
|
|
1087
|
-
required: [
|
|
3511
|
+
required: [
|
|
3512
|
+
'name',
|
|
3513
|
+
'role'
|
|
3514
|
+
],
|
|
1088
3515
|
additionalProperties: false
|
|
1089
3516
|
};
|
|
1090
3517
|
export const TokenSchema = {
|
|
@@ -1102,7 +3529,10 @@ export const TokenSchema = {
|
|
|
1102
3529
|
type: 'string',
|
|
1103
3530
|
description: 'Role assumed by the token.',
|
|
1104
3531
|
example: 'User',
|
|
1105
|
-
enum: [
|
|
3532
|
+
enum: [
|
|
3533
|
+
'Administrator',
|
|
3534
|
+
'User'
|
|
3535
|
+
]
|
|
1106
3536
|
},
|
|
1107
3537
|
id: {
|
|
1108
3538
|
type: 'string',
|
|
@@ -1121,7 +3551,11 @@ export const TokenSchema = {
|
|
|
1121
3551
|
example: '2023-12-20T13:53:32.000Z'
|
|
1122
3552
|
}
|
|
1123
3553
|
},
|
|
1124
|
-
required: [
|
|
3554
|
+
required: [
|
|
3555
|
+
'name',
|
|
3556
|
+
'role',
|
|
3557
|
+
'date_created'
|
|
3558
|
+
],
|
|
1125
3559
|
additionalProperties: false
|
|
1126
3560
|
};
|
|
1127
3561
|
export const TokenUpdateInputSchema = {
|
|
@@ -1139,9 +3573,127 @@ export const TokenUpdateInputSchema = {
|
|
|
1139
3573
|
type: 'string',
|
|
1140
3574
|
description: 'Role assumed by the token.',
|
|
1141
3575
|
example: 'User',
|
|
1142
|
-
enum: [
|
|
3576
|
+
enum: [
|
|
3577
|
+
'Administrator',
|
|
3578
|
+
'User'
|
|
3579
|
+
]
|
|
3580
|
+
}
|
|
3581
|
+
},
|
|
3582
|
+
additionalProperties: false
|
|
3583
|
+
};
|
|
3584
|
+
export const UsageFacetsSchema = {
|
|
3585
|
+
type: 'object',
|
|
3586
|
+
properties: {
|
|
3587
|
+
cluster_id: {
|
|
3588
|
+
type: 'array',
|
|
3589
|
+
items: {
|
|
3590
|
+
type: 'string'
|
|
3591
|
+
},
|
|
3592
|
+
description: 'List of unique cluster IDs',
|
|
3593
|
+
example: [
|
|
3594
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3595
|
+
]
|
|
3596
|
+
},
|
|
3597
|
+
product: {
|
|
3598
|
+
type: 'array',
|
|
3599
|
+
items: {
|
|
3600
|
+
type: 'string'
|
|
3601
|
+
},
|
|
3602
|
+
description: 'List of unique products',
|
|
3603
|
+
example: [
|
|
3604
|
+
'cfke_controlplane',
|
|
3605
|
+
'cfke_connected_nodes'
|
|
3606
|
+
]
|
|
3607
|
+
}
|
|
3608
|
+
},
|
|
3609
|
+
additionalProperties: false
|
|
3610
|
+
};
|
|
3611
|
+
export const UsageResponseSchema = {
|
|
3612
|
+
type: 'object',
|
|
3613
|
+
properties: {
|
|
3614
|
+
data: {
|
|
3615
|
+
type: 'array',
|
|
3616
|
+
items: {
|
|
3617
|
+
type: 'object',
|
|
3618
|
+
properties: {
|
|
3619
|
+
hour: {
|
|
3620
|
+
type: 'string',
|
|
3621
|
+
description: 'Hour of the usage',
|
|
3622
|
+
example: '2019-01-01T00:00:00.000Z'
|
|
3623
|
+
},
|
|
3624
|
+
cluster_id: {
|
|
3625
|
+
type: 'string',
|
|
3626
|
+
description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
|
|
3627
|
+
example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3628
|
+
},
|
|
3629
|
+
product: {
|
|
3630
|
+
type: 'string',
|
|
3631
|
+
description: 'The product the usage is associated with',
|
|
3632
|
+
example: 'cfke_controlplane'
|
|
3633
|
+
},
|
|
3634
|
+
value: {
|
|
3635
|
+
type: 'number',
|
|
3636
|
+
format: 'float',
|
|
3637
|
+
description: 'Consumption',
|
|
3638
|
+
example: 4
|
|
3639
|
+
},
|
|
3640
|
+
price: {
|
|
3641
|
+
type: 'number',
|
|
3642
|
+
format: 'float',
|
|
3643
|
+
description: 'Price per unit',
|
|
3644
|
+
example: 0.01
|
|
3645
|
+
},
|
|
3646
|
+
total: {
|
|
3647
|
+
type: 'number',
|
|
3648
|
+
format: 'float',
|
|
3649
|
+
description: 'Total cost'
|
|
3650
|
+
}
|
|
3651
|
+
},
|
|
3652
|
+
required: [
|
|
3653
|
+
'hour',
|
|
3654
|
+
'cluster_id',
|
|
3655
|
+
'product',
|
|
3656
|
+
'value',
|
|
3657
|
+
'price',
|
|
3658
|
+
'total'
|
|
3659
|
+
],
|
|
3660
|
+
additionalProperties: false
|
|
3661
|
+
},
|
|
3662
|
+
description: 'Usage data'
|
|
3663
|
+
},
|
|
3664
|
+
facets: {
|
|
3665
|
+
type: 'object',
|
|
3666
|
+
properties: {
|
|
3667
|
+
cluster_id: {
|
|
3668
|
+
type: 'array',
|
|
3669
|
+
items: {
|
|
3670
|
+
type: 'string'
|
|
3671
|
+
},
|
|
3672
|
+
description: 'List of unique cluster IDs',
|
|
3673
|
+
example: [
|
|
3674
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3675
|
+
]
|
|
3676
|
+
},
|
|
3677
|
+
product: {
|
|
3678
|
+
type: 'array',
|
|
3679
|
+
items: {
|
|
3680
|
+
type: 'string'
|
|
3681
|
+
},
|
|
3682
|
+
description: 'List of unique products',
|
|
3683
|
+
example: [
|
|
3684
|
+
'cfke_controlplane',
|
|
3685
|
+
'cfke_connected_nodes'
|
|
3686
|
+
]
|
|
3687
|
+
}
|
|
3688
|
+
},
|
|
3689
|
+
additionalProperties: false,
|
|
3690
|
+
description: 'Facets for filtering'
|
|
1143
3691
|
}
|
|
1144
3692
|
},
|
|
3693
|
+
required: [
|
|
3694
|
+
'data',
|
|
3695
|
+
'facets'
|
|
3696
|
+
],
|
|
1145
3697
|
additionalProperties: false
|
|
1146
3698
|
};
|
|
1147
3699
|
export const UsageSchema = {
|
|
@@ -1154,90 +3706,40 @@ export const UsageSchema = {
|
|
|
1154
3706
|
},
|
|
1155
3707
|
cluster_id: {
|
|
1156
3708
|
type: 'string',
|
|
1157
|
-
format: 'uuid',
|
|
1158
3709
|
description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
|
|
1159
3710
|
example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
1160
3711
|
},
|
|
1161
|
-
cluster_tier: {
|
|
1162
|
-
type: 'string',
|
|
1163
|
-
description: 'Tier of the cluster.',
|
|
1164
|
-
example: 'pro',
|
|
1165
|
-
enum: ['basic', 'pro', '']
|
|
1166
|
-
},
|
|
1167
3712
|
product: {
|
|
1168
3713
|
type: 'string',
|
|
1169
3714
|
description: 'The product the usage is associated with',
|
|
1170
|
-
example: 'cfke_controlplane'
|
|
1171
|
-
enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
|
|
1172
|
-
},
|
|
1173
|
-
node_name: {
|
|
1174
|
-
type: 'string',
|
|
1175
|
-
description: 'Name of the Kubernetes node',
|
|
1176
|
-
example: 'flexible-moth-956037384'
|
|
3715
|
+
example: 'cfke_controlplane'
|
|
1177
3716
|
},
|
|
1178
|
-
|
|
1179
|
-
type: '
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
cpu: {
|
|
1184
|
-
anyOf: [
|
|
1185
|
-
{
|
|
1186
|
-
type: 'number',
|
|
1187
|
-
format: 'float',
|
|
1188
|
-
description: 'CPU core count of the node',
|
|
1189
|
-
example: 4
|
|
1190
|
-
},
|
|
1191
|
-
{
|
|
1192
|
-
type: 'string',
|
|
1193
|
-
enum: ['']
|
|
1194
|
-
}
|
|
1195
|
-
]
|
|
3717
|
+
value: {
|
|
3718
|
+
type: 'number',
|
|
3719
|
+
format: 'float',
|
|
3720
|
+
description: 'Consumption',
|
|
3721
|
+
example: 4
|
|
1196
3722
|
},
|
|
1197
3723
|
price: {
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
description: 'Price',
|
|
1203
|
-
example: 4
|
|
1204
|
-
},
|
|
1205
|
-
{
|
|
1206
|
-
type: 'string',
|
|
1207
|
-
enum: ['']
|
|
1208
|
-
}
|
|
1209
|
-
]
|
|
1210
|
-
},
|
|
1211
|
-
value: {
|
|
1212
|
-
anyOf: [
|
|
1213
|
-
{
|
|
1214
|
-
type: 'number',
|
|
1215
|
-
format: 'float',
|
|
1216
|
-
description: 'Value',
|
|
1217
|
-
example: 4
|
|
1218
|
-
},
|
|
1219
|
-
{
|
|
1220
|
-
type: 'string',
|
|
1221
|
-
enum: ['']
|
|
1222
|
-
}
|
|
1223
|
-
]
|
|
3724
|
+
type: 'number',
|
|
3725
|
+
format: 'float',
|
|
3726
|
+
description: 'Price per unit',
|
|
3727
|
+
example: 0.01
|
|
1224
3728
|
},
|
|
1225
3729
|
total: {
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
format: 'float',
|
|
1230
|
-
description: 'Total',
|
|
1231
|
-
example: 4
|
|
1232
|
-
},
|
|
1233
|
-
{
|
|
1234
|
-
type: 'string',
|
|
1235
|
-
enum: ['']
|
|
1236
|
-
}
|
|
1237
|
-
]
|
|
3730
|
+
type: 'number',
|
|
3731
|
+
format: 'float',
|
|
3732
|
+
description: 'Total cost'
|
|
1238
3733
|
}
|
|
1239
3734
|
},
|
|
1240
|
-
required: [
|
|
3735
|
+
required: [
|
|
3736
|
+
'hour',
|
|
3737
|
+
'cluster_id',
|
|
3738
|
+
'product',
|
|
3739
|
+
'value',
|
|
3740
|
+
'price',
|
|
3741
|
+
'total'
|
|
3742
|
+
],
|
|
1241
3743
|
additionalProperties: false
|
|
1242
3744
|
};
|
|
1243
3745
|
export const UserCreateInputSchema = {
|
|
@@ -1273,21 +3775,15 @@ export const UserCreateInputSchema = {
|
|
|
1273
3775
|
type: 'string',
|
|
1274
3776
|
minLength: 8,
|
|
1275
3777
|
description: 'User password. Must be at least 8 characters long.'
|
|
1276
|
-
},
|
|
1277
|
-
status: {
|
|
1278
|
-
type: 'string',
|
|
1279
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1280
|
-
example: 'active',
|
|
1281
|
-
enum: ['active', 'inactive']
|
|
1282
|
-
},
|
|
1283
|
-
role: {
|
|
1284
|
-
type: 'string',
|
|
1285
|
-
description: "User role. Can be 'Administrator', 'User'.",
|
|
1286
|
-
example: 'User',
|
|
1287
|
-
enum: ['Administrator', 'User']
|
|
1288
3778
|
}
|
|
1289
3779
|
},
|
|
1290
|
-
required: [
|
|
3780
|
+
required: [
|
|
3781
|
+
'email',
|
|
3782
|
+
'first_name',
|
|
3783
|
+
'last_name',
|
|
3784
|
+
'code',
|
|
3785
|
+
'password'
|
|
3786
|
+
],
|
|
1291
3787
|
additionalProperties: false
|
|
1292
3788
|
};
|
|
1293
3789
|
export const UserSchema = {
|
|
@@ -1315,15 +3811,21 @@ export const UserSchema = {
|
|
|
1315
3811
|
},
|
|
1316
3812
|
role: {
|
|
1317
3813
|
type: 'string',
|
|
1318
|
-
description:
|
|
3814
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1319
3815
|
example: 'User',
|
|
1320
|
-
enum: [
|
|
3816
|
+
enum: [
|
|
3817
|
+
'Administrator',
|
|
3818
|
+
'User'
|
|
3819
|
+
]
|
|
1321
3820
|
},
|
|
1322
3821
|
status: {
|
|
1323
3822
|
type: 'string',
|
|
1324
3823
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1325
3824
|
example: 'active',
|
|
1326
|
-
enum: [
|
|
3825
|
+
enum: [
|
|
3826
|
+
'active',
|
|
3827
|
+
'inactive'
|
|
3828
|
+
]
|
|
1327
3829
|
},
|
|
1328
3830
|
id: {
|
|
1329
3831
|
type: 'string',
|
|
@@ -1338,7 +3840,15 @@ export const UserSchema = {
|
|
|
1338
3840
|
example: '2023-11-02T16:08:14.338Z'
|
|
1339
3841
|
}
|
|
1340
3842
|
},
|
|
1341
|
-
required: [
|
|
3843
|
+
required: [
|
|
3844
|
+
'email',
|
|
3845
|
+
'first_name',
|
|
3846
|
+
'last_name',
|
|
3847
|
+
'role',
|
|
3848
|
+
'status',
|
|
3849
|
+
'id',
|
|
3850
|
+
'date_created'
|
|
3851
|
+
],
|
|
1342
3852
|
additionalProperties: false
|
|
1343
3853
|
};
|
|
1344
3854
|
export const UserUpdateInputSchema = {
|
|
@@ -1366,15 +3876,21 @@ export const UserUpdateInputSchema = {
|
|
|
1366
3876
|
},
|
|
1367
3877
|
role: {
|
|
1368
3878
|
type: 'string',
|
|
1369
|
-
description:
|
|
3879
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1370
3880
|
example: 'User',
|
|
1371
|
-
enum: [
|
|
3881
|
+
enum: [
|
|
3882
|
+
'Administrator',
|
|
3883
|
+
'User'
|
|
3884
|
+
]
|
|
1372
3885
|
},
|
|
1373
3886
|
status: {
|
|
1374
3887
|
type: 'string',
|
|
1375
3888
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1376
3889
|
example: 'active',
|
|
1377
|
-
enum: [
|
|
3890
|
+
enum: [
|
|
3891
|
+
'active',
|
|
3892
|
+
'inactive'
|
|
3893
|
+
]
|
|
1378
3894
|
}
|
|
1379
3895
|
},
|
|
1380
3896
|
additionalProperties: false
|