@cloudfleet/sdk 0.0.1-017af9f → 0.0.1-019156c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -2
- package/dist/@tanstack/react-query.gen.d.ts +432 -614
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -1
- package/dist/@tanstack/react-query.gen.js +431 -404
- package/dist/@tanstack/react-query.gen.js.map +1 -1
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/client.gen.js +1 -4
- package/dist/client/client.gen.js.map +1 -1
- package/dist/client/types.gen.d.ts +1 -1
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts +2 -2
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.js +3 -3
- package/dist/client/utils.gen.js.map +1 -1
- package/dist/core/params.gen.js +4 -4
- package/dist/core/params.gen.js.map +1 -1
- package/dist/errors.d.ts +42 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +83 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas.gen.d.ts +832 -515
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +1126 -661
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +226 -221
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +340 -324
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +18 -55
- package/dist/services/kubernetes/api.d.ts.map +1 -1
- package/dist/services/kubernetes/api.js +36 -75
- package/dist/services/kubernetes/api.js.map +1 -1
- package/dist/services/kubernetes/index.d.ts.map +1 -1
- package/dist/services/kubernetes/index.js +36 -37
- package/dist/services/kubernetes/index.js.map +1 -1
- package/dist/types.gen.d.ts +1281 -1017
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +1937 -1588
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +609 -416
- package/dist/zod.gen.js.map +1 -1
- package/package.json +10 -15
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,
|
|
@@ -84,12 +93,17 @@ export const BillingContactSchema = {
|
|
|
84
93
|
'at_vat',
|
|
85
94
|
'au_abn',
|
|
86
95
|
'au_arn',
|
|
96
|
+
'aw_tin',
|
|
97
|
+
'az_tin',
|
|
87
98
|
'ba_tin',
|
|
88
99
|
'bb_tin',
|
|
100
|
+
'bd_bin',
|
|
89
101
|
'be_vat',
|
|
102
|
+
'bf_ifu',
|
|
90
103
|
'bg_uic',
|
|
91
104
|
'bg_vat',
|
|
92
105
|
'bh_vat',
|
|
106
|
+
'bj_ifu',
|
|
93
107
|
'bo_tin',
|
|
94
108
|
'br_cnpj',
|
|
95
109
|
'br_cpf',
|
|
@@ -105,9 +119,11 @@ export const BillingContactSchema = {
|
|
|
105
119
|
'ch_uid',
|
|
106
120
|
'ch_vat',
|
|
107
121
|
'cl_tin',
|
|
122
|
+
'cm_niu',
|
|
108
123
|
'cn_tin',
|
|
109
124
|
'co_nit',
|
|
110
125
|
'cr_tin',
|
|
126
|
+
'cv_nif',
|
|
111
127
|
'cy_vat',
|
|
112
128
|
'cz_vat',
|
|
113
129
|
'de_stn',
|
|
@@ -119,6 +135,7 @@ export const BillingContactSchema = {
|
|
|
119
135
|
'eg_tin',
|
|
120
136
|
'es_cif',
|
|
121
137
|
'es_vat',
|
|
138
|
+
'et_tin',
|
|
122
139
|
'eu_oss_vat',
|
|
123
140
|
'fi_vat',
|
|
124
141
|
'fr_vat',
|
|
@@ -141,11 +158,14 @@ export const BillingContactSchema = {
|
|
|
141
158
|
'jp_rn',
|
|
142
159
|
'jp_trn',
|
|
143
160
|
'ke_pin',
|
|
161
|
+
'kg_tin',
|
|
144
162
|
'kh_tin',
|
|
145
163
|
'kr_brn',
|
|
146
164
|
'kz_bin',
|
|
165
|
+
'la_tin',
|
|
147
166
|
'li_uid',
|
|
148
167
|
'li_vat',
|
|
168
|
+
'lk_vat',
|
|
149
169
|
'lt_vat',
|
|
150
170
|
'lu_vat',
|
|
151
171
|
'lv_vat',
|
|
@@ -207,6 +227,7 @@ export const BillingContactSchema = {
|
|
|
207
227
|
}
|
|
208
228
|
},
|
|
209
229
|
required: [
|
|
230
|
+
'type',
|
|
210
231
|
'email',
|
|
211
232
|
'individual_name'
|
|
212
233
|
],
|
|
@@ -272,166 +293,6 @@ export const BillingCreditsSchema = {
|
|
|
272
293
|
],
|
|
273
294
|
additionalProperties: false
|
|
274
295
|
};
|
|
275
|
-
export const ChartCreateInputSchema = {
|
|
276
|
-
type: 'object',
|
|
277
|
-
properties: {
|
|
278
|
-
values: {
|
|
279
|
-
type: 'string',
|
|
280
|
-
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
281
|
-
},
|
|
282
|
-
version_channel: {
|
|
283
|
-
type: 'string',
|
|
284
|
-
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-]+)*))?$',
|
|
285
|
-
description: 'Desired version range or channel for the chart.',
|
|
286
|
-
example: '2.x.x-cfke.x'
|
|
287
|
-
},
|
|
288
|
-
name: {
|
|
289
|
-
type: 'string',
|
|
290
|
-
maxLength: 63,
|
|
291
|
-
minLength: 1,
|
|
292
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
293
|
-
description: 'Unique identifier of the chart deployment aka name of the helm release.',
|
|
294
|
-
example: 'postgresql-0'
|
|
295
|
-
},
|
|
296
|
-
namespace: {
|
|
297
|
-
type: 'string',
|
|
298
|
-
maxLength: 63,
|
|
299
|
-
minLength: 1,
|
|
300
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
301
|
-
description: 'Namespace of the chart deployment',
|
|
302
|
-
example: 'default'
|
|
303
|
-
},
|
|
304
|
-
chart: {
|
|
305
|
-
type: 'string',
|
|
306
|
-
maxLength: 63,
|
|
307
|
-
minLength: 1,
|
|
308
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
309
|
-
description: 'Name of the chart listing',
|
|
310
|
-
example: 'postgresql'
|
|
311
|
-
}
|
|
312
|
-
},
|
|
313
|
-
required: [
|
|
314
|
-
'values',
|
|
315
|
-
'version_channel',
|
|
316
|
-
'name',
|
|
317
|
-
'namespace',
|
|
318
|
-
'chart'
|
|
319
|
-
],
|
|
320
|
-
additionalProperties: false
|
|
321
|
-
};
|
|
322
|
-
export const ChartSchema = {
|
|
323
|
-
type: 'object',
|
|
324
|
-
properties: {
|
|
325
|
-
values: {
|
|
326
|
-
type: 'string',
|
|
327
|
-
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
328
|
-
},
|
|
329
|
-
version_channel: {
|
|
330
|
-
type: 'string',
|
|
331
|
-
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-]+)*))?$',
|
|
332
|
-
description: 'Desired version range or channel for the chart.',
|
|
333
|
-
example: '2.x.x-cfke.x'
|
|
334
|
-
},
|
|
335
|
-
name: {
|
|
336
|
-
type: 'string',
|
|
337
|
-
maxLength: 63,
|
|
338
|
-
minLength: 1,
|
|
339
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
340
|
-
description: 'Unique identifier of the chart deployment aka name of the helm release.',
|
|
341
|
-
example: 'postgresql-0'
|
|
342
|
-
},
|
|
343
|
-
namespace: {
|
|
344
|
-
type: 'string',
|
|
345
|
-
maxLength: 63,
|
|
346
|
-
minLength: 1,
|
|
347
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
348
|
-
description: 'Namespace of the chart deployment',
|
|
349
|
-
example: 'default'
|
|
350
|
-
},
|
|
351
|
-
chart: {
|
|
352
|
-
type: 'string',
|
|
353
|
-
maxLength: 63,
|
|
354
|
-
minLength: 1,
|
|
355
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
356
|
-
description: 'Name of the chart listing',
|
|
357
|
-
example: 'postgresql'
|
|
358
|
-
},
|
|
359
|
-
status: {
|
|
360
|
-
type: 'string',
|
|
361
|
-
description: 'Status of the chart deployment.',
|
|
362
|
-
example: 'active',
|
|
363
|
-
enum: [
|
|
364
|
-
'InstallSucceeded',
|
|
365
|
-
'InstallFailed',
|
|
366
|
-
'UpgradeSucceeded',
|
|
367
|
-
'UpgradeFailed',
|
|
368
|
-
'TestSucceeded',
|
|
369
|
-
'TestFailed',
|
|
370
|
-
'RollbackSucceeded',
|
|
371
|
-
'RollbackFailed',
|
|
372
|
-
'UninstallSucceeded',
|
|
373
|
-
'UninstallFailed',
|
|
374
|
-
'ArtifactFailed',
|
|
375
|
-
'DependencyNotReady',
|
|
376
|
-
'Progressing',
|
|
377
|
-
'SourceNotReady'
|
|
378
|
-
]
|
|
379
|
-
},
|
|
380
|
-
version_current: {
|
|
381
|
-
type: 'string',
|
|
382
|
-
description: 'Current version of the chart deployment.',
|
|
383
|
-
example: '2.1.33-cfke.11'
|
|
384
|
-
},
|
|
385
|
-
created_at: {
|
|
386
|
-
type: 'string',
|
|
387
|
-
description: 'Creation date and time of the chart deployment.',
|
|
388
|
-
example: '2024-09-12T09:11:27Z'
|
|
389
|
-
},
|
|
390
|
-
updated_at: {
|
|
391
|
-
type: 'string',
|
|
392
|
-
description: 'Last update date and time of the chart deployment.',
|
|
393
|
-
example: '2024-09-12T09:11:27Z'
|
|
394
|
-
},
|
|
395
|
-
ready: {
|
|
396
|
-
type: 'boolean',
|
|
397
|
-
description: 'Indicates if the chart deployment is ready to be used.',
|
|
398
|
-
example: true
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
required: [
|
|
402
|
-
'values',
|
|
403
|
-
'version_channel',
|
|
404
|
-
'name',
|
|
405
|
-
'namespace',
|
|
406
|
-
'chart',
|
|
407
|
-
'status',
|
|
408
|
-
'version_current',
|
|
409
|
-
'created_at',
|
|
410
|
-
'updated_at',
|
|
411
|
-
'ready'
|
|
412
|
-
],
|
|
413
|
-
additionalProperties: false
|
|
414
|
-
};
|
|
415
|
-
export const ChartUpdateInputSchema = {
|
|
416
|
-
type: 'object',
|
|
417
|
-
properties: {
|
|
418
|
-
values: {
|
|
419
|
-
type: 'string',
|
|
420
|
-
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
421
|
-
},
|
|
422
|
-
version_channel: {
|
|
423
|
-
type: 'string',
|
|
424
|
-
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-]+)*))?$',
|
|
425
|
-
description: 'Desired version range or channel for the chart.',
|
|
426
|
-
example: '2.x.x-cfke.x'
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
|
-
required: [
|
|
430
|
-
'values',
|
|
431
|
-
'version_channel'
|
|
432
|
-
],
|
|
433
|
-
additionalProperties: false
|
|
434
|
-
};
|
|
435
296
|
export const ClusterCreateInputSchema = {
|
|
436
297
|
type: 'object',
|
|
437
298
|
properties: {
|
|
@@ -446,22 +307,12 @@ export const ClusterCreateInputSchema = {
|
|
|
446
307
|
tier: {
|
|
447
308
|
type: 'string',
|
|
448
309
|
description: 'Tier of the cluster.',
|
|
310
|
+
default: 'basic',
|
|
449
311
|
example: 'pro',
|
|
450
312
|
enum: [
|
|
451
313
|
'basic',
|
|
452
|
-
'pro'
|
|
453
|
-
|
|
454
|
-
},
|
|
455
|
-
region: {
|
|
456
|
-
type: 'string',
|
|
457
|
-
description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
|
|
458
|
-
default: 'staging-1a',
|
|
459
|
-
example: 'northamerica-central-1a',
|
|
460
|
-
enum: [
|
|
461
|
-
'staging-1a',
|
|
462
|
-
'northamerica-central-1',
|
|
463
|
-
'europe-central-1a',
|
|
464
|
-
'northamerica-central-1a'
|
|
314
|
+
'pro',
|
|
315
|
+
'enterprise'
|
|
465
316
|
]
|
|
466
317
|
},
|
|
467
318
|
version_channel: {
|
|
@@ -469,20 +320,105 @@ export const ClusterCreateInputSchema = {
|
|
|
469
320
|
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-]+)*))?$',
|
|
470
321
|
description: 'Version of the kubernetes cluster.',
|
|
471
322
|
default: '1.x.x-cfke.x',
|
|
472
|
-
example: '1.x.x-cfke.x'
|
|
323
|
+
example: '1.x.x-cfke.x'
|
|
324
|
+
},
|
|
325
|
+
release_channel: {
|
|
326
|
+
type: 'string',
|
|
327
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
328
|
+
default: 'rapid',
|
|
329
|
+
example: 'rapid',
|
|
473
330
|
enum: [
|
|
474
|
-
'
|
|
475
|
-
'
|
|
476
|
-
'
|
|
477
|
-
'1.33.x-cfke.x'
|
|
331
|
+
'rapid',
|
|
332
|
+
'stable',
|
|
333
|
+
'extended'
|
|
478
334
|
]
|
|
335
|
+
},
|
|
336
|
+
features: {
|
|
337
|
+
type: 'object',
|
|
338
|
+
properties: {
|
|
339
|
+
gpu_sharing_strategy: {
|
|
340
|
+
type: 'string',
|
|
341
|
+
description: 'GPU sharing strategy.',
|
|
342
|
+
default: 'none',
|
|
343
|
+
example: 'none',
|
|
344
|
+
enum: [
|
|
345
|
+
'none',
|
|
346
|
+
'mps',
|
|
347
|
+
'time_slicing'
|
|
348
|
+
]
|
|
349
|
+
},
|
|
350
|
+
gpu_max_shared_clients_per_gpu: {
|
|
351
|
+
type: 'integer',
|
|
352
|
+
minimum: 2,
|
|
353
|
+
maximum: 48,
|
|
354
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
355
|
+
default: 4,
|
|
356
|
+
example: 10
|
|
357
|
+
},
|
|
358
|
+
cilium_socket_lb_host_namespace_only: {
|
|
359
|
+
type: 'boolean',
|
|
360
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
361
|
+
example: false
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
additionalProperties: false,
|
|
365
|
+
description: 'Cluster feature toggles.',
|
|
366
|
+
default: {
|
|
367
|
+
gpu_sharing_strategy: 'none',
|
|
368
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
369
|
+
cilium_socket_lb_host_namespace_only: false
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
region: {
|
|
373
|
+
type: 'string',
|
|
374
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
375
|
+
example: 'europe-central-1a'
|
|
376
|
+
},
|
|
377
|
+
networking: {
|
|
378
|
+
type: 'object',
|
|
379
|
+
properties: {
|
|
380
|
+
pod_cidr: {
|
|
381
|
+
type: 'string',
|
|
382
|
+
description: 'CIDR block for pod IPs.',
|
|
383
|
+
default: '10.244.0.0/16'
|
|
384
|
+
},
|
|
385
|
+
service_cidr: {
|
|
386
|
+
type: 'string',
|
|
387
|
+
description: 'CIDR block for service IPs.',
|
|
388
|
+
default: '10.96.0.0/12'
|
|
389
|
+
},
|
|
390
|
+
dual_stack: {
|
|
391
|
+
type: 'boolean',
|
|
392
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
393
|
+
},
|
|
394
|
+
pod_cidr_v6: {
|
|
395
|
+
type: 'string',
|
|
396
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
397
|
+
default: '2001:db8:1:2::/48'
|
|
398
|
+
},
|
|
399
|
+
service_cidr_v6: {
|
|
400
|
+
type: 'string',
|
|
401
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
402
|
+
default: '2001:db8:1:1::/112'
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
additionalProperties: false,
|
|
406
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
407
|
+
default: {
|
|
408
|
+
pod_cidr: '10.244.0.0/16',
|
|
409
|
+
service_cidr: '10.96.0.0/12',
|
|
410
|
+
dual_stack: false,
|
|
411
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
412
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
413
|
+
}
|
|
479
414
|
}
|
|
480
415
|
},
|
|
481
416
|
required: [
|
|
482
417
|
'name',
|
|
483
|
-
'
|
|
418
|
+
'region'
|
|
484
419
|
],
|
|
485
|
-
additionalProperties: false
|
|
420
|
+
additionalProperties: false,
|
|
421
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
486
422
|
};
|
|
487
423
|
export const ClusterJoinInformationSchema = {
|
|
488
424
|
type: 'object',
|
|
@@ -503,11 +439,21 @@ export const ClusterJoinInformationSchema = {
|
|
|
503
439
|
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
504
440
|
example: '10.96.0.10'
|
|
505
441
|
},
|
|
442
|
+
pod_cidr: {
|
|
443
|
+
type: 'string',
|
|
444
|
+
description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
|
|
445
|
+
example: '10.244.0.0/16'
|
|
446
|
+
},
|
|
506
447
|
auth_key: {
|
|
507
448
|
type: 'string',
|
|
508
449
|
description: 'Authentication key for the cluster.',
|
|
509
450
|
example: 'tskey-auth-kBV8wr1dk911CNTRL-...'
|
|
510
451
|
},
|
|
452
|
+
login_server: {
|
|
453
|
+
type: 'string',
|
|
454
|
+
description: 'Coordination server the node registers against. Empty on data plane v1 clusters, where the node advertises its own tag instead. A non-empty value requires a client that declares the dataplane-v2 capability.',
|
|
455
|
+
example: 'https://415026b6-f00f-44f8-968d-fc6ef4d0fc6d.fabric.europe-central-1a.cfke.io'
|
|
456
|
+
},
|
|
511
457
|
bootstrap_token: {
|
|
512
458
|
type: 'string',
|
|
513
459
|
description: 'Bootstrap token for the cluster.',
|
|
@@ -578,7 +524,9 @@ export const ClusterJoinInformationSchema = {
|
|
|
578
524
|
'certificate_authority',
|
|
579
525
|
'endpoint',
|
|
580
526
|
'cluster_dns',
|
|
527
|
+
'pod_cidr',
|
|
581
528
|
'auth_key',
|
|
529
|
+
'login_server',
|
|
582
530
|
'bootstrap_token',
|
|
583
531
|
'versions',
|
|
584
532
|
'third_party_api_access_config'
|
|
@@ -599,24 +547,123 @@ export const ClusterSchema = {
|
|
|
599
547
|
tier: {
|
|
600
548
|
type: 'string',
|
|
601
549
|
description: 'Tier of the cluster.',
|
|
550
|
+
default: 'basic',
|
|
602
551
|
example: 'pro',
|
|
603
552
|
enum: [
|
|
604
553
|
'basic',
|
|
605
|
-
'pro'
|
|
554
|
+
'pro',
|
|
555
|
+
'enterprise'
|
|
606
556
|
]
|
|
607
557
|
},
|
|
608
|
-
|
|
558
|
+
version_channel: {
|
|
559
|
+
type: 'string',
|
|
560
|
+
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-]+)*))?$',
|
|
561
|
+
description: 'Version of the kubernetes cluster.',
|
|
562
|
+
default: '1.x.x-cfke.x',
|
|
563
|
+
example: '1.x.x-cfke.x'
|
|
564
|
+
},
|
|
565
|
+
release_channel: {
|
|
609
566
|
type: 'string',
|
|
610
|
-
description: '
|
|
611
|
-
default: '
|
|
612
|
-
example: '
|
|
567
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
568
|
+
default: 'rapid',
|
|
569
|
+
example: 'rapid',
|
|
613
570
|
enum: [
|
|
614
|
-
'
|
|
615
|
-
'
|
|
616
|
-
'
|
|
617
|
-
'northamerica-central-1a'
|
|
571
|
+
'rapid',
|
|
572
|
+
'stable',
|
|
573
|
+
'extended'
|
|
618
574
|
]
|
|
619
575
|
},
|
|
576
|
+
features: {
|
|
577
|
+
type: 'object',
|
|
578
|
+
properties: {
|
|
579
|
+
gpu_sharing_strategy: {
|
|
580
|
+
type: 'string',
|
|
581
|
+
description: 'GPU sharing strategy.',
|
|
582
|
+
default: 'none',
|
|
583
|
+
example: 'none',
|
|
584
|
+
enum: [
|
|
585
|
+
'none',
|
|
586
|
+
'mps',
|
|
587
|
+
'time_slicing'
|
|
588
|
+
]
|
|
589
|
+
},
|
|
590
|
+
gpu_max_shared_clients_per_gpu: {
|
|
591
|
+
type: 'integer',
|
|
592
|
+
minimum: 2,
|
|
593
|
+
maximum: 48,
|
|
594
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
595
|
+
default: 4,
|
|
596
|
+
example: 10
|
|
597
|
+
},
|
|
598
|
+
cilium_socket_lb_host_namespace_only: {
|
|
599
|
+
type: 'boolean',
|
|
600
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
601
|
+
example: false
|
|
602
|
+
}
|
|
603
|
+
},
|
|
604
|
+
required: [
|
|
605
|
+
'gpu_sharing_strategy',
|
|
606
|
+
'gpu_max_shared_clients_per_gpu',
|
|
607
|
+
'cilium_socket_lb_host_namespace_only'
|
|
608
|
+
],
|
|
609
|
+
additionalProperties: false,
|
|
610
|
+
description: 'Cluster feature toggles.',
|
|
611
|
+
default: {
|
|
612
|
+
gpu_sharing_strategy: 'none',
|
|
613
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
614
|
+
cilium_socket_lb_host_namespace_only: false
|
|
615
|
+
}
|
|
616
|
+
},
|
|
617
|
+
region: {
|
|
618
|
+
type: 'string',
|
|
619
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
620
|
+
example: 'europe-central-1a'
|
|
621
|
+
},
|
|
622
|
+
networking: {
|
|
623
|
+
type: 'object',
|
|
624
|
+
properties: {
|
|
625
|
+
pod_cidr: {
|
|
626
|
+
type: 'string',
|
|
627
|
+
description: 'CIDR block for pod IPs.',
|
|
628
|
+
default: '10.244.0.0/16'
|
|
629
|
+
},
|
|
630
|
+
service_cidr: {
|
|
631
|
+
type: 'string',
|
|
632
|
+
description: 'CIDR block for service IPs.',
|
|
633
|
+
default: '10.96.0.0/12'
|
|
634
|
+
},
|
|
635
|
+
dual_stack: {
|
|
636
|
+
type: 'boolean',
|
|
637
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
638
|
+
},
|
|
639
|
+
pod_cidr_v6: {
|
|
640
|
+
type: 'string',
|
|
641
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
642
|
+
default: '2001:db8:1:2::/48'
|
|
643
|
+
},
|
|
644
|
+
service_cidr_v6: {
|
|
645
|
+
type: 'string',
|
|
646
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
647
|
+
default: '2001:db8:1:1::/112'
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
required: [
|
|
651
|
+
'pod_cidr',
|
|
652
|
+
'service_cidr',
|
|
653
|
+
'dual_stack',
|
|
654
|
+
'pod_cidr_v6',
|
|
655
|
+
'service_cidr_v6'
|
|
656
|
+
],
|
|
657
|
+
additionalProperties: false,
|
|
658
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
659
|
+
default: {
|
|
660
|
+
pod_cidr: '10.244.0.0/16',
|
|
661
|
+
service_cidr: '10.96.0.0/12',
|
|
662
|
+
dual_stack: false,
|
|
663
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
664
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
665
|
+
}
|
|
666
|
+
},
|
|
620
667
|
id: {
|
|
621
668
|
type: 'string',
|
|
622
669
|
format: 'uuid',
|
|
@@ -625,16 +672,13 @@ export const ClusterSchema = {
|
|
|
625
672
|
},
|
|
626
673
|
status: {
|
|
627
674
|
type: 'string',
|
|
628
|
-
description: 'Status of the cluster.
|
|
629
|
-
example: '
|
|
675
|
+
description: 'Status of the cluster.',
|
|
676
|
+
example: 'deployed',
|
|
630
677
|
enum: [
|
|
631
|
-
'active',
|
|
632
|
-
'disabled',
|
|
633
|
-
'deleted',
|
|
634
678
|
'creating',
|
|
635
679
|
'deployed',
|
|
636
|
-
'
|
|
637
|
-
'
|
|
680
|
+
'updating',
|
|
681
|
+
'disabled'
|
|
638
682
|
]
|
|
639
683
|
},
|
|
640
684
|
endpoint: {
|
|
@@ -642,8 +686,8 @@ export const ClusterSchema = {
|
|
|
642
686
|
{
|
|
643
687
|
type: 'string',
|
|
644
688
|
format: 'uri',
|
|
645
|
-
description: 'URL signed by
|
|
646
|
-
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.
|
|
689
|
+
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.',
|
|
690
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
647
691
|
},
|
|
648
692
|
{
|
|
649
693
|
type: 'string',
|
|
@@ -658,7 +702,7 @@ export const ClusterSchema = {
|
|
|
658
702
|
{
|
|
659
703
|
type: 'string',
|
|
660
704
|
format: 'uri',
|
|
661
|
-
description: '
|
|
705
|
+
description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
|
|
662
706
|
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
663
707
|
},
|
|
664
708
|
{
|
|
@@ -693,21 +737,22 @@ export const ClusterSchema = {
|
|
|
693
737
|
type: 'boolean',
|
|
694
738
|
description: 'Indicates if the cluster is ready to be used.',
|
|
695
739
|
example: true
|
|
696
|
-
},
|
|
697
|
-
version_channel: {
|
|
698
|
-
type: 'string',
|
|
699
|
-
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-]+)*))?$',
|
|
700
|
-
description: 'Version of the kubernetes cluster.',
|
|
701
|
-
example: '1.x.x-cfke.x'
|
|
702
740
|
}
|
|
703
741
|
},
|
|
704
742
|
required: [
|
|
705
743
|
'name',
|
|
706
744
|
'tier',
|
|
745
|
+
'version_channel',
|
|
746
|
+
'release_channel',
|
|
747
|
+
'features',
|
|
748
|
+
'region',
|
|
749
|
+
'networking',
|
|
707
750
|
'id',
|
|
708
|
-
'status'
|
|
751
|
+
'status',
|
|
752
|
+
'ready'
|
|
709
753
|
],
|
|
710
|
-
additionalProperties: false
|
|
754
|
+
additionalProperties: false,
|
|
755
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
711
756
|
};
|
|
712
757
|
export const ClusterUpdateInputSchema = {
|
|
713
758
|
type: 'object',
|
|
@@ -723,21 +768,138 @@ export const ClusterUpdateInputSchema = {
|
|
|
723
768
|
tier: {
|
|
724
769
|
type: 'string',
|
|
725
770
|
description: 'Tier of the cluster.',
|
|
771
|
+
default: 'basic',
|
|
726
772
|
example: 'pro',
|
|
727
773
|
enum: [
|
|
728
774
|
'basic',
|
|
729
|
-
'pro'
|
|
775
|
+
'pro',
|
|
776
|
+
'enterprise'
|
|
730
777
|
]
|
|
731
778
|
},
|
|
732
779
|
version_channel: {
|
|
733
780
|
type: 'string',
|
|
734
781
|
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-]+)*))?$',
|
|
735
782
|
description: 'Version of the kubernetes cluster.',
|
|
783
|
+
default: '1.x.x-cfke.x',
|
|
736
784
|
example: '1.x.x-cfke.x'
|
|
785
|
+
},
|
|
786
|
+
release_channel: {
|
|
787
|
+
type: 'string',
|
|
788
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
789
|
+
default: 'rapid',
|
|
790
|
+
example: 'rapid',
|
|
791
|
+
enum: [
|
|
792
|
+
'rapid',
|
|
793
|
+
'stable',
|
|
794
|
+
'extended'
|
|
795
|
+
]
|
|
796
|
+
},
|
|
797
|
+
features: {
|
|
798
|
+
type: 'object',
|
|
799
|
+
properties: {
|
|
800
|
+
gpu_sharing_strategy: {
|
|
801
|
+
type: 'string',
|
|
802
|
+
description: 'GPU sharing strategy.',
|
|
803
|
+
default: 'none',
|
|
804
|
+
example: 'none',
|
|
805
|
+
enum: [
|
|
806
|
+
'none',
|
|
807
|
+
'mps',
|
|
808
|
+
'time_slicing'
|
|
809
|
+
]
|
|
810
|
+
},
|
|
811
|
+
gpu_max_shared_clients_per_gpu: {
|
|
812
|
+
type: 'integer',
|
|
813
|
+
minimum: 2,
|
|
814
|
+
maximum: 48,
|
|
815
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
816
|
+
default: 4,
|
|
817
|
+
example: 10
|
|
818
|
+
},
|
|
819
|
+
cilium_socket_lb_host_namespace_only: {
|
|
820
|
+
type: 'boolean',
|
|
821
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
822
|
+
example: false
|
|
823
|
+
}
|
|
824
|
+
},
|
|
825
|
+
additionalProperties: false,
|
|
826
|
+
description: 'Cluster feature toggles.',
|
|
827
|
+
default: {
|
|
828
|
+
gpu_sharing_strategy: 'none',
|
|
829
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
830
|
+
cilium_socket_lb_host_namespace_only: false
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
required: [
|
|
835
|
+
'name'
|
|
836
|
+
],
|
|
837
|
+
additionalProperties: false,
|
|
838
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
839
|
+
};
|
|
840
|
+
export const FeedbackCreateInputSchema = {
|
|
841
|
+
type: 'object',
|
|
842
|
+
properties: {
|
|
843
|
+
sentiment: {
|
|
844
|
+
type: 'string',
|
|
845
|
+
description: 'Overall sentiment: positive, neutral or negative.',
|
|
846
|
+
example: 'negative',
|
|
847
|
+
enum: [
|
|
848
|
+
'positive',
|
|
849
|
+
'neutral',
|
|
850
|
+
'negative'
|
|
851
|
+
]
|
|
852
|
+
},
|
|
853
|
+
message: {
|
|
854
|
+
type: 'string',
|
|
855
|
+
maxLength: 2000,
|
|
856
|
+
minLength: 1,
|
|
857
|
+
description: 'What was useful, confusing, wrong or missing.',
|
|
858
|
+
example: 'The error for a missing kubeconfig does not say which path it looked in.'
|
|
859
|
+
},
|
|
860
|
+
context: {
|
|
861
|
+
type: 'string',
|
|
862
|
+
maxLength: 2000,
|
|
863
|
+
description: 'What you were trying to do when it happened.',
|
|
864
|
+
example: 'Connecting kubectl to a new cluster.'
|
|
865
|
+
},
|
|
866
|
+
source: {
|
|
867
|
+
type: 'string',
|
|
868
|
+
description: 'Where the feedback was sent from: cli, mcp, plugin, console or api. Defaults to api.',
|
|
869
|
+
default: 'api',
|
|
870
|
+
example: 'cli',
|
|
871
|
+
enum: [
|
|
872
|
+
'cli',
|
|
873
|
+
'mcp',
|
|
874
|
+
'plugin',
|
|
875
|
+
'console',
|
|
876
|
+
'api'
|
|
877
|
+
]
|
|
878
|
+
},
|
|
879
|
+
client: {
|
|
880
|
+
type: 'string',
|
|
881
|
+
maxLength: 100,
|
|
882
|
+
description: 'Name and version of the sending client.',
|
|
883
|
+
example: 'cloudfleet-plugin-claude/0.5.0'
|
|
737
884
|
}
|
|
738
885
|
},
|
|
739
886
|
required: [
|
|
740
|
-
'
|
|
887
|
+
'sentiment',
|
|
888
|
+
'message'
|
|
889
|
+
],
|
|
890
|
+
additionalProperties: false
|
|
891
|
+
};
|
|
892
|
+
export const FeedbackSchema = {
|
|
893
|
+
type: 'object',
|
|
894
|
+
properties: {
|
|
895
|
+
id: {
|
|
896
|
+
type: 'string',
|
|
897
|
+
description: 'Unique identifier of the feedback entry (Mongo ObjectId).',
|
|
898
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
899
|
+
}
|
|
900
|
+
},
|
|
901
|
+
required: [
|
|
902
|
+
'id'
|
|
741
903
|
],
|
|
742
904
|
additionalProperties: false
|
|
743
905
|
};
|
|
@@ -748,10 +910,10 @@ export const FleetCreateInputSchema = {
|
|
|
748
910
|
type: 'object',
|
|
749
911
|
properties: {
|
|
750
912
|
cpu: {
|
|
751
|
-
type: '
|
|
752
|
-
format: 'float',
|
|
913
|
+
type: 'integer',
|
|
753
914
|
minimum: 0,
|
|
754
|
-
|
|
915
|
+
maximum: 100000,
|
|
916
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
755
917
|
}
|
|
756
918
|
},
|
|
757
919
|
additionalProperties: false,
|
|
@@ -761,16 +923,17 @@ export const FleetCreateInputSchema = {
|
|
|
761
923
|
type: 'object',
|
|
762
924
|
properties: {
|
|
763
925
|
enabled: {
|
|
764
|
-
type: 'boolean'
|
|
765
|
-
default: true
|
|
926
|
+
type: 'boolean'
|
|
766
927
|
},
|
|
767
928
|
project: {
|
|
768
929
|
type: 'string',
|
|
769
|
-
|
|
930
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
931
|
+
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.',
|
|
932
|
+
example: 'my-cloudfleet-project'
|
|
770
933
|
}
|
|
771
934
|
},
|
|
772
935
|
required: [
|
|
773
|
-
'
|
|
936
|
+
'enabled'
|
|
774
937
|
],
|
|
775
938
|
additionalProperties: false
|
|
776
939
|
},
|
|
@@ -778,30 +941,36 @@ export const FleetCreateInputSchema = {
|
|
|
778
941
|
type: 'object',
|
|
779
942
|
properties: {
|
|
780
943
|
enabled: {
|
|
781
|
-
type: 'boolean'
|
|
782
|
-
default: true
|
|
944
|
+
type: 'boolean'
|
|
783
945
|
},
|
|
784
946
|
apiKey: {
|
|
785
947
|
type: 'string',
|
|
786
|
-
|
|
948
|
+
maxLength: 64,
|
|
949
|
+
minLength: 64,
|
|
950
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
951
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
787
952
|
}
|
|
788
953
|
},
|
|
954
|
+
required: [
|
|
955
|
+
'enabled'
|
|
956
|
+
],
|
|
789
957
|
additionalProperties: false
|
|
790
958
|
},
|
|
791
959
|
aws: {
|
|
792
960
|
type: 'object',
|
|
793
961
|
properties: {
|
|
794
962
|
enabled: {
|
|
795
|
-
type: 'boolean'
|
|
796
|
-
default: true
|
|
963
|
+
type: 'boolean'
|
|
797
964
|
},
|
|
798
965
|
controllerRoleArn: {
|
|
799
966
|
type: 'string',
|
|
800
|
-
|
|
967
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
968
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
969
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
801
970
|
}
|
|
802
971
|
},
|
|
803
972
|
required: [
|
|
804
|
-
'
|
|
973
|
+
'enabled'
|
|
805
974
|
],
|
|
806
975
|
additionalProperties: false
|
|
807
976
|
},
|
|
@@ -817,7 +986,12 @@ export const FleetCreateInputSchema = {
|
|
|
817
986
|
'spot'
|
|
818
987
|
]
|
|
819
988
|
},
|
|
820
|
-
|
|
989
|
+
minItems: 1,
|
|
990
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
991
|
+
default: [
|
|
992
|
+
'on-demand',
|
|
993
|
+
'spot'
|
|
994
|
+
]
|
|
821
995
|
},
|
|
822
996
|
'kubernetes.io/arch': {
|
|
823
997
|
type: 'array',
|
|
@@ -828,7 +1002,11 @@ export const FleetCreateInputSchema = {
|
|
|
828
1002
|
'arm64'
|
|
829
1003
|
]
|
|
830
1004
|
},
|
|
831
|
-
|
|
1005
|
+
minItems: 1,
|
|
1006
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1007
|
+
default: [
|
|
1008
|
+
'amd64'
|
|
1009
|
+
]
|
|
832
1010
|
},
|
|
833
1011
|
'cfke.io/instance-family': {
|
|
834
1012
|
type: 'array',
|
|
@@ -995,7 +1173,8 @@ export const FleetCreateInputSchema = {
|
|
|
995
1173
|
'z3'
|
|
996
1174
|
]
|
|
997
1175
|
},
|
|
998
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1176
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1177
|
+
default: []
|
|
999
1178
|
},
|
|
1000
1179
|
'topology.kubernetes.io/region': {
|
|
1001
1180
|
type: 'array',
|
|
@@ -1068,21 +1247,72 @@ export const FleetCreateInputSchema = {
|
|
|
1068
1247
|
'us-west4'
|
|
1069
1248
|
]
|
|
1070
1249
|
},
|
|
1071
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1250
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1251
|
+
default: []
|
|
1072
1252
|
}
|
|
1073
1253
|
},
|
|
1074
1254
|
additionalProperties: false,
|
|
1075
|
-
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.
|
|
1255
|
+
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.',
|
|
1256
|
+
default: {
|
|
1257
|
+
'karpenter.sh/capacity-type': [
|
|
1258
|
+
'on-demand',
|
|
1259
|
+
'spot'
|
|
1260
|
+
],
|
|
1261
|
+
'kubernetes.io/arch': [
|
|
1262
|
+
'amd64'
|
|
1263
|
+
],
|
|
1264
|
+
'cfke.io/instance-family': [],
|
|
1265
|
+
'topology.kubernetes.io/region': []
|
|
1266
|
+
}
|
|
1076
1267
|
},
|
|
1077
1268
|
scalingProfile: {
|
|
1078
1269
|
type: 'string',
|
|
1079
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1270
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1271
|
+
default: 'conservative',
|
|
1080
1272
|
example: 'conservative',
|
|
1081
1273
|
enum: [
|
|
1082
1274
|
'aggressive',
|
|
1083
1275
|
'conservative'
|
|
1084
1276
|
]
|
|
1085
1277
|
},
|
|
1278
|
+
taints: {
|
|
1279
|
+
type: 'array',
|
|
1280
|
+
items: {
|
|
1281
|
+
type: 'object',
|
|
1282
|
+
properties: {
|
|
1283
|
+
key: {
|
|
1284
|
+
type: 'string',
|
|
1285
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1286
|
+
example: 'dedicated'
|
|
1287
|
+
},
|
|
1288
|
+
value: {
|
|
1289
|
+
type: 'string',
|
|
1290
|
+
maxLength: 63,
|
|
1291
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1292
|
+
description: 'Taint value. Optional.',
|
|
1293
|
+
example: 'ci'
|
|
1294
|
+
},
|
|
1295
|
+
effect: {
|
|
1296
|
+
type: 'string',
|
|
1297
|
+
description: 'Taint effect.',
|
|
1298
|
+
example: 'NoSchedule',
|
|
1299
|
+
enum: [
|
|
1300
|
+
'NoSchedule',
|
|
1301
|
+
'PreferNoSchedule',
|
|
1302
|
+
'NoExecute'
|
|
1303
|
+
]
|
|
1304
|
+
}
|
|
1305
|
+
},
|
|
1306
|
+
required: [
|
|
1307
|
+
'key',
|
|
1308
|
+
'effect'
|
|
1309
|
+
],
|
|
1310
|
+
additionalProperties: false
|
|
1311
|
+
},
|
|
1312
|
+
maxItems: 50,
|
|
1313
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1314
|
+
default: []
|
|
1315
|
+
},
|
|
1086
1316
|
id: {
|
|
1087
1317
|
type: 'string',
|
|
1088
1318
|
maxLength: 63,
|
|
@@ -1095,7 +1325,8 @@ export const FleetCreateInputSchema = {
|
|
|
1095
1325
|
required: [
|
|
1096
1326
|
'id'
|
|
1097
1327
|
],
|
|
1098
|
-
additionalProperties: false
|
|
1328
|
+
additionalProperties: false,
|
|
1329
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
1099
1330
|
};
|
|
1100
1331
|
export const FleetSchema = {
|
|
1101
1332
|
type: 'object',
|
|
@@ -1104,10 +1335,10 @@ export const FleetSchema = {
|
|
|
1104
1335
|
type: 'object',
|
|
1105
1336
|
properties: {
|
|
1106
1337
|
cpu: {
|
|
1107
|
-
type: '
|
|
1108
|
-
format: 'float',
|
|
1338
|
+
type: 'integer',
|
|
1109
1339
|
minimum: 0,
|
|
1110
|
-
|
|
1340
|
+
maximum: 100000,
|
|
1341
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
1111
1342
|
}
|
|
1112
1343
|
},
|
|
1113
1344
|
additionalProperties: false,
|
|
@@ -1117,16 +1348,17 @@ export const FleetSchema = {
|
|
|
1117
1348
|
type: 'object',
|
|
1118
1349
|
properties: {
|
|
1119
1350
|
enabled: {
|
|
1120
|
-
type: 'boolean'
|
|
1121
|
-
default: true
|
|
1351
|
+
type: 'boolean'
|
|
1122
1352
|
},
|
|
1123
1353
|
project: {
|
|
1124
1354
|
type: 'string',
|
|
1125
|
-
|
|
1355
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1356
|
+
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.',
|
|
1357
|
+
example: 'my-cloudfleet-project'
|
|
1126
1358
|
}
|
|
1127
1359
|
},
|
|
1128
1360
|
required: [
|
|
1129
|
-
'
|
|
1361
|
+
'enabled'
|
|
1130
1362
|
],
|
|
1131
1363
|
additionalProperties: false
|
|
1132
1364
|
},
|
|
@@ -1134,30 +1366,34 @@ export const FleetSchema = {
|
|
|
1134
1366
|
type: 'object',
|
|
1135
1367
|
properties: {
|
|
1136
1368
|
enabled: {
|
|
1137
|
-
type: 'boolean'
|
|
1138
|
-
default: true
|
|
1369
|
+
type: 'boolean'
|
|
1139
1370
|
},
|
|
1140
1371
|
apiKey: {
|
|
1141
1372
|
type: 'string',
|
|
1142
|
-
|
|
1373
|
+
pattern: '^\\*{64}$',
|
|
1374
|
+
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.'
|
|
1143
1375
|
}
|
|
1144
1376
|
},
|
|
1377
|
+
required: [
|
|
1378
|
+
'enabled'
|
|
1379
|
+
],
|
|
1145
1380
|
additionalProperties: false
|
|
1146
1381
|
},
|
|
1147
1382
|
aws: {
|
|
1148
1383
|
type: 'object',
|
|
1149
1384
|
properties: {
|
|
1150
1385
|
enabled: {
|
|
1151
|
-
type: 'boolean'
|
|
1152
|
-
default: true
|
|
1386
|
+
type: 'boolean'
|
|
1153
1387
|
},
|
|
1154
1388
|
controllerRoleArn: {
|
|
1155
1389
|
type: 'string',
|
|
1156
|
-
|
|
1390
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1391
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1392
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
1157
1393
|
}
|
|
1158
1394
|
},
|
|
1159
1395
|
required: [
|
|
1160
|
-
'
|
|
1396
|
+
'enabled'
|
|
1161
1397
|
],
|
|
1162
1398
|
additionalProperties: false
|
|
1163
1399
|
},
|
|
@@ -1173,7 +1409,12 @@ export const FleetSchema = {
|
|
|
1173
1409
|
'spot'
|
|
1174
1410
|
]
|
|
1175
1411
|
},
|
|
1176
|
-
|
|
1412
|
+
minItems: 1,
|
|
1413
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1414
|
+
default: [
|
|
1415
|
+
'on-demand',
|
|
1416
|
+
'spot'
|
|
1417
|
+
]
|
|
1177
1418
|
},
|
|
1178
1419
|
'kubernetes.io/arch': {
|
|
1179
1420
|
type: 'array',
|
|
@@ -1184,7 +1425,11 @@ export const FleetSchema = {
|
|
|
1184
1425
|
'arm64'
|
|
1185
1426
|
]
|
|
1186
1427
|
},
|
|
1187
|
-
|
|
1428
|
+
minItems: 1,
|
|
1429
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1430
|
+
default: [
|
|
1431
|
+
'amd64'
|
|
1432
|
+
]
|
|
1188
1433
|
},
|
|
1189
1434
|
'cfke.io/instance-family': {
|
|
1190
1435
|
type: 'array',
|
|
@@ -1351,7 +1596,8 @@ export const FleetSchema = {
|
|
|
1351
1596
|
'z3'
|
|
1352
1597
|
]
|
|
1353
1598
|
},
|
|
1354
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1599
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1600
|
+
default: []
|
|
1355
1601
|
},
|
|
1356
1602
|
'topology.kubernetes.io/region': {
|
|
1357
1603
|
type: 'array',
|
|
@@ -1424,21 +1670,76 @@ export const FleetSchema = {
|
|
|
1424
1670
|
'us-west4'
|
|
1425
1671
|
]
|
|
1426
1672
|
},
|
|
1427
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1673
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1674
|
+
default: []
|
|
1428
1675
|
}
|
|
1429
1676
|
},
|
|
1677
|
+
required: [
|
|
1678
|
+
'karpenter.sh/capacity-type',
|
|
1679
|
+
'kubernetes.io/arch'
|
|
1680
|
+
],
|
|
1430
1681
|
additionalProperties: false,
|
|
1431
|
-
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.
|
|
1682
|
+
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.',
|
|
1683
|
+
default: {
|
|
1684
|
+
'karpenter.sh/capacity-type': [
|
|
1685
|
+
'on-demand',
|
|
1686
|
+
'spot'
|
|
1687
|
+
],
|
|
1688
|
+
'kubernetes.io/arch': [
|
|
1689
|
+
'amd64'
|
|
1690
|
+
],
|
|
1691
|
+
'cfke.io/instance-family': [],
|
|
1692
|
+
'topology.kubernetes.io/region': []
|
|
1693
|
+
}
|
|
1432
1694
|
},
|
|
1433
1695
|
scalingProfile: {
|
|
1434
1696
|
type: 'string',
|
|
1435
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1697
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1698
|
+
default: 'conservative',
|
|
1436
1699
|
example: 'conservative',
|
|
1437
1700
|
enum: [
|
|
1438
1701
|
'aggressive',
|
|
1439
1702
|
'conservative'
|
|
1440
1703
|
]
|
|
1441
1704
|
},
|
|
1705
|
+
taints: {
|
|
1706
|
+
type: 'array',
|
|
1707
|
+
items: {
|
|
1708
|
+
type: 'object',
|
|
1709
|
+
properties: {
|
|
1710
|
+
key: {
|
|
1711
|
+
type: 'string',
|
|
1712
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1713
|
+
example: 'dedicated'
|
|
1714
|
+
},
|
|
1715
|
+
value: {
|
|
1716
|
+
type: 'string',
|
|
1717
|
+
maxLength: 63,
|
|
1718
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1719
|
+
description: 'Taint value. Optional.',
|
|
1720
|
+
example: 'ci'
|
|
1721
|
+
},
|
|
1722
|
+
effect: {
|
|
1723
|
+
type: 'string',
|
|
1724
|
+
description: 'Taint effect.',
|
|
1725
|
+
example: 'NoSchedule',
|
|
1726
|
+
enum: [
|
|
1727
|
+
'NoSchedule',
|
|
1728
|
+
'PreferNoSchedule',
|
|
1729
|
+
'NoExecute'
|
|
1730
|
+
]
|
|
1731
|
+
}
|
|
1732
|
+
},
|
|
1733
|
+
required: [
|
|
1734
|
+
'key',
|
|
1735
|
+
'effect'
|
|
1736
|
+
],
|
|
1737
|
+
additionalProperties: false
|
|
1738
|
+
},
|
|
1739
|
+
maxItems: 50,
|
|
1740
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1741
|
+
default: []
|
|
1742
|
+
},
|
|
1442
1743
|
id: {
|
|
1443
1744
|
type: 'string',
|
|
1444
1745
|
maxLength: 63,
|
|
@@ -1446,12 +1747,39 @@ export const FleetSchema = {
|
|
|
1446
1747
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
1447
1748
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
1448
1749
|
example: 'new-clouds-fleet'
|
|
1750
|
+
},
|
|
1751
|
+
ready: {
|
|
1752
|
+
type: 'boolean',
|
|
1753
|
+
description: 'Indicates whether the fleet configuration is healthy.',
|
|
1754
|
+
example: true
|
|
1755
|
+
},
|
|
1756
|
+
status_message: {
|
|
1757
|
+
type: 'string',
|
|
1758
|
+
description: 'Human-readable reason the fleet is not ready. Present only when `ready` is false.',
|
|
1759
|
+
example: 'Invalid provider permissions.'
|
|
1760
|
+
},
|
|
1761
|
+
created_at: {
|
|
1762
|
+
type: 'string',
|
|
1763
|
+
description: 'Creation date and time of the fleet.',
|
|
1764
|
+
example: '2024-09-12T09:11:27Z'
|
|
1765
|
+
},
|
|
1766
|
+
updated_at: {
|
|
1767
|
+
type: 'string',
|
|
1768
|
+
description: 'Date and time the fleet was last updated.',
|
|
1769
|
+
example: '2024-09-12T09:11:27Z'
|
|
1449
1770
|
}
|
|
1450
1771
|
},
|
|
1451
1772
|
required: [
|
|
1452
|
-
'
|
|
1773
|
+
'constraints',
|
|
1774
|
+
'scalingProfile',
|
|
1775
|
+
'taints',
|
|
1776
|
+
'id',
|
|
1777
|
+
'ready',
|
|
1778
|
+
'created_at',
|
|
1779
|
+
'updated_at'
|
|
1453
1780
|
],
|
|
1454
|
-
additionalProperties: false
|
|
1781
|
+
additionalProperties: false,
|
|
1782
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
1455
1783
|
};
|
|
1456
1784
|
export const FleetUpdateInputSchema = {
|
|
1457
1785
|
type: 'object',
|
|
@@ -1460,10 +1788,10 @@ export const FleetUpdateInputSchema = {
|
|
|
1460
1788
|
type: 'object',
|
|
1461
1789
|
properties: {
|
|
1462
1790
|
cpu: {
|
|
1463
|
-
type: '
|
|
1464
|
-
format: 'float',
|
|
1791
|
+
type: 'integer',
|
|
1465
1792
|
minimum: 0,
|
|
1466
|
-
|
|
1793
|
+
maximum: 100000,
|
|
1794
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
1467
1795
|
}
|
|
1468
1796
|
},
|
|
1469
1797
|
additionalProperties: false,
|
|
@@ -1473,16 +1801,17 @@ export const FleetUpdateInputSchema = {
|
|
|
1473
1801
|
type: 'object',
|
|
1474
1802
|
properties: {
|
|
1475
1803
|
enabled: {
|
|
1476
|
-
type: 'boolean'
|
|
1477
|
-
default: true
|
|
1804
|
+
type: 'boolean'
|
|
1478
1805
|
},
|
|
1479
1806
|
project: {
|
|
1480
1807
|
type: 'string',
|
|
1481
|
-
|
|
1808
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1809
|
+
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.',
|
|
1810
|
+
example: 'my-cloudfleet-project'
|
|
1482
1811
|
}
|
|
1483
1812
|
},
|
|
1484
1813
|
required: [
|
|
1485
|
-
'
|
|
1814
|
+
'enabled'
|
|
1486
1815
|
],
|
|
1487
1816
|
additionalProperties: false
|
|
1488
1817
|
},
|
|
@@ -1490,30 +1819,36 @@ export const FleetUpdateInputSchema = {
|
|
|
1490
1819
|
type: 'object',
|
|
1491
1820
|
properties: {
|
|
1492
1821
|
enabled: {
|
|
1493
|
-
type: 'boolean'
|
|
1494
|
-
default: true
|
|
1822
|
+
type: 'boolean'
|
|
1495
1823
|
},
|
|
1496
1824
|
apiKey: {
|
|
1497
1825
|
type: 'string',
|
|
1498
|
-
|
|
1826
|
+
maxLength: 64,
|
|
1827
|
+
minLength: 64,
|
|
1828
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1829
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
1499
1830
|
}
|
|
1500
1831
|
},
|
|
1832
|
+
required: [
|
|
1833
|
+
'enabled'
|
|
1834
|
+
],
|
|
1501
1835
|
additionalProperties: false
|
|
1502
1836
|
},
|
|
1503
1837
|
aws: {
|
|
1504
1838
|
type: 'object',
|
|
1505
1839
|
properties: {
|
|
1506
1840
|
enabled: {
|
|
1507
|
-
type: 'boolean'
|
|
1508
|
-
default: true
|
|
1841
|
+
type: 'boolean'
|
|
1509
1842
|
},
|
|
1510
1843
|
controllerRoleArn: {
|
|
1511
1844
|
type: 'string',
|
|
1512
|
-
|
|
1845
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1846
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1847
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
1513
1848
|
}
|
|
1514
1849
|
},
|
|
1515
1850
|
required: [
|
|
1516
|
-
'
|
|
1851
|
+
'enabled'
|
|
1517
1852
|
],
|
|
1518
1853
|
additionalProperties: false
|
|
1519
1854
|
},
|
|
@@ -1529,7 +1864,12 @@ export const FleetUpdateInputSchema = {
|
|
|
1529
1864
|
'spot'
|
|
1530
1865
|
]
|
|
1531
1866
|
},
|
|
1532
|
-
|
|
1867
|
+
minItems: 1,
|
|
1868
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1869
|
+
default: [
|
|
1870
|
+
'on-demand',
|
|
1871
|
+
'spot'
|
|
1872
|
+
]
|
|
1533
1873
|
},
|
|
1534
1874
|
'kubernetes.io/arch': {
|
|
1535
1875
|
type: 'array',
|
|
@@ -1540,7 +1880,11 @@ export const FleetUpdateInputSchema = {
|
|
|
1540
1880
|
'arm64'
|
|
1541
1881
|
]
|
|
1542
1882
|
},
|
|
1543
|
-
|
|
1883
|
+
minItems: 1,
|
|
1884
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1885
|
+
default: [
|
|
1886
|
+
'amd64'
|
|
1887
|
+
]
|
|
1544
1888
|
},
|
|
1545
1889
|
'cfke.io/instance-family': {
|
|
1546
1890
|
type: 'array',
|
|
@@ -1707,7 +2051,8 @@ export const FleetUpdateInputSchema = {
|
|
|
1707
2051
|
'z3'
|
|
1708
2052
|
]
|
|
1709
2053
|
},
|
|
1710
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
2054
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
2055
|
+
default: []
|
|
1711
2056
|
},
|
|
1712
2057
|
'topology.kubernetes.io/region': {
|
|
1713
2058
|
type: 'array',
|
|
@@ -1780,22 +2125,99 @@ export const FleetUpdateInputSchema = {
|
|
|
1780
2125
|
'us-west4'
|
|
1781
2126
|
]
|
|
1782
2127
|
},
|
|
1783
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
2128
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
2129
|
+
default: []
|
|
1784
2130
|
}
|
|
1785
2131
|
},
|
|
1786
2132
|
additionalProperties: false,
|
|
1787
|
-
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.
|
|
2133
|
+
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.',
|
|
2134
|
+
default: {
|
|
2135
|
+
'karpenter.sh/capacity-type': [
|
|
2136
|
+
'on-demand',
|
|
2137
|
+
'spot'
|
|
2138
|
+
],
|
|
2139
|
+
'kubernetes.io/arch': [
|
|
2140
|
+
'amd64'
|
|
2141
|
+
],
|
|
2142
|
+
'cfke.io/instance-family': [],
|
|
2143
|
+
'topology.kubernetes.io/region': []
|
|
2144
|
+
}
|
|
1788
2145
|
},
|
|
1789
2146
|
scalingProfile: {
|
|
1790
2147
|
type: 'string',
|
|
1791
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
2148
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
2149
|
+
default: 'conservative',
|
|
1792
2150
|
example: 'conservative',
|
|
1793
2151
|
enum: [
|
|
1794
2152
|
'aggressive',
|
|
1795
2153
|
'conservative'
|
|
1796
2154
|
]
|
|
2155
|
+
},
|
|
2156
|
+
taints: {
|
|
2157
|
+
type: 'array',
|
|
2158
|
+
items: {
|
|
2159
|
+
type: 'object',
|
|
2160
|
+
properties: {
|
|
2161
|
+
key: {
|
|
2162
|
+
type: 'string',
|
|
2163
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
2164
|
+
example: 'dedicated'
|
|
2165
|
+
},
|
|
2166
|
+
value: {
|
|
2167
|
+
type: 'string',
|
|
2168
|
+
maxLength: 63,
|
|
2169
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
2170
|
+
description: 'Taint value. Optional.',
|
|
2171
|
+
example: 'ci'
|
|
2172
|
+
},
|
|
2173
|
+
effect: {
|
|
2174
|
+
type: 'string',
|
|
2175
|
+
description: 'Taint effect.',
|
|
2176
|
+
example: 'NoSchedule',
|
|
2177
|
+
enum: [
|
|
2178
|
+
'NoSchedule',
|
|
2179
|
+
'PreferNoSchedule',
|
|
2180
|
+
'NoExecute'
|
|
2181
|
+
]
|
|
2182
|
+
}
|
|
2183
|
+
},
|
|
2184
|
+
required: [
|
|
2185
|
+
'key',
|
|
2186
|
+
'effect'
|
|
2187
|
+
],
|
|
2188
|
+
additionalProperties: false
|
|
2189
|
+
},
|
|
2190
|
+
maxItems: 50,
|
|
2191
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
2192
|
+
default: []
|
|
2193
|
+
}
|
|
2194
|
+
},
|
|
2195
|
+
additionalProperties: false,
|
|
2196
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
2197
|
+
};
|
|
2198
|
+
export const InviteCreateInputSchema = {
|
|
2199
|
+
type: 'object',
|
|
2200
|
+
properties: {
|
|
2201
|
+
email: {
|
|
2202
|
+
type: 'string',
|
|
2203
|
+
format: 'email',
|
|
2204
|
+
description: 'Email address of the user to invite.',
|
|
2205
|
+
example: 'email@example.com'
|
|
2206
|
+
},
|
|
2207
|
+
role: {
|
|
2208
|
+
type: 'string',
|
|
2209
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2210
|
+
default: 'User',
|
|
2211
|
+
example: 'User',
|
|
2212
|
+
enum: [
|
|
2213
|
+
'Administrator',
|
|
2214
|
+
'User'
|
|
2215
|
+
]
|
|
1797
2216
|
}
|
|
1798
2217
|
},
|
|
2218
|
+
required: [
|
|
2219
|
+
'email'
|
|
2220
|
+
],
|
|
1799
2221
|
additionalProperties: false
|
|
1800
2222
|
};
|
|
1801
2223
|
export const InviteSchema = {
|
|
@@ -1828,6 +2250,16 @@ export const InviteSchema = {
|
|
|
1828
2250
|
type: 'string',
|
|
1829
2251
|
description: 'Generated unique invite code.',
|
|
1830
2252
|
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
2253
|
+
},
|
|
2254
|
+
role: {
|
|
2255
|
+
type: 'string',
|
|
2256
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2257
|
+
default: 'User',
|
|
2258
|
+
example: 'User',
|
|
2259
|
+
enum: [
|
|
2260
|
+
'Administrator',
|
|
2261
|
+
'User'
|
|
2262
|
+
]
|
|
1831
2263
|
}
|
|
1832
2264
|
},
|
|
1833
2265
|
required: [
|
|
@@ -1835,219 +2267,238 @@ export const InviteSchema = {
|
|
|
1835
2267
|
],
|
|
1836
2268
|
additionalProperties: false
|
|
1837
2269
|
};
|
|
1838
|
-
export const
|
|
2270
|
+
export const InvoicePaymentAttemptSchema = {
|
|
1839
2271
|
type: 'object',
|
|
1840
2272
|
properties: {
|
|
1841
|
-
|
|
2273
|
+
invoice_id: {
|
|
1842
2274
|
type: 'string',
|
|
1843
|
-
description: '
|
|
2275
|
+
description: 'Identifier of the invoice.',
|
|
1844
2276
|
example: 'in_1234567890xCrwxghOTj1234'
|
|
1845
2277
|
},
|
|
1846
2278
|
number: {
|
|
1847
|
-
type: 'string'
|
|
1848
|
-
},
|
|
1849
|
-
status: {
|
|
1850
2279
|
type: 'string',
|
|
1851
|
-
|
|
1852
|
-
|
|
2280
|
+
nullable: true,
|
|
2281
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2282
|
+
example: 'CF-0042'
|
|
1853
2283
|
},
|
|
1854
|
-
|
|
2284
|
+
amount: {
|
|
1855
2285
|
type: 'number',
|
|
1856
2286
|
format: 'float',
|
|
1857
|
-
description: '
|
|
1858
|
-
example:
|
|
2287
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2288
|
+
example: 4200
|
|
1859
2289
|
},
|
|
1860
2290
|
currency: {
|
|
1861
2291
|
type: 'string',
|
|
1862
|
-
description: 'Currency of the invoice',
|
|
1863
|
-
example: '
|
|
2292
|
+
description: 'Currency of the invoice.',
|
|
2293
|
+
example: 'eur'
|
|
1864
2294
|
},
|
|
1865
|
-
|
|
2295
|
+
status: {
|
|
1866
2296
|
type: 'string',
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
2297
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2298
|
+
example: 'paid',
|
|
2299
|
+
enum: [
|
|
2300
|
+
'paid',
|
|
2301
|
+
'processing',
|
|
2302
|
+
'requires_action',
|
|
2303
|
+
'failed'
|
|
2304
|
+
]
|
|
1870
2305
|
},
|
|
1871
|
-
|
|
2306
|
+
client_secret: {
|
|
1872
2307
|
type: 'string',
|
|
1873
|
-
|
|
1874
|
-
description: '
|
|
1875
|
-
example: '
|
|
2308
|
+
nullable: true,
|
|
2309
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2310
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
1876
2311
|
},
|
|
1877
|
-
|
|
2312
|
+
failure_code: {
|
|
1878
2313
|
type: 'string',
|
|
1879
|
-
|
|
1880
|
-
description: '
|
|
1881
|
-
example: '
|
|
2314
|
+
nullable: true,
|
|
2315
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2316
|
+
example: 'insufficient_funds'
|
|
1882
2317
|
},
|
|
1883
|
-
|
|
1884
|
-
type: 'string'
|
|
2318
|
+
failure_message: {
|
|
2319
|
+
type: 'string',
|
|
2320
|
+
nullable: true,
|
|
2321
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2322
|
+
example: 'Your card has insufficient funds.'
|
|
1885
2323
|
}
|
|
1886
2324
|
},
|
|
1887
2325
|
required: [
|
|
1888
|
-
'
|
|
1889
|
-
'
|
|
1890
|
-
'
|
|
2326
|
+
'invoice_id',
|
|
2327
|
+
'number',
|
|
2328
|
+
'amount',
|
|
2329
|
+
'currency',
|
|
2330
|
+
'status',
|
|
2331
|
+
'client_secret',
|
|
2332
|
+
'failure_code',
|
|
2333
|
+
'failure_message'
|
|
1891
2334
|
],
|
|
1892
2335
|
additionalProperties: false
|
|
1893
2336
|
};
|
|
1894
|
-
export const
|
|
2337
|
+
export const InvoicePaymentResultSchema = {
|
|
1895
2338
|
type: 'object',
|
|
1896
2339
|
properties: {
|
|
1897
|
-
|
|
2340
|
+
code: {
|
|
1898
2341
|
type: 'string',
|
|
1899
|
-
description: '
|
|
1900
|
-
example: '
|
|
2342
|
+
description: 'Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).',
|
|
2343
|
+
example: 'partially_paid',
|
|
2344
|
+
enum: [
|
|
2345
|
+
'paid',
|
|
2346
|
+
'processing',
|
|
2347
|
+
'action_required',
|
|
2348
|
+
'partially_paid',
|
|
2349
|
+
'failed',
|
|
2350
|
+
'nothing_due',
|
|
2351
|
+
'bank_transfer_due'
|
|
2352
|
+
]
|
|
1901
2353
|
},
|
|
1902
|
-
|
|
2354
|
+
message: {
|
|
1903
2355
|
type: 'string',
|
|
1904
|
-
description: '
|
|
1905
|
-
example: '
|
|
2356
|
+
description: 'Summary of the outcome, suitable for display.',
|
|
2357
|
+
example: '1 of 2 open invoices was paid. Invoice CF-0043 was declined: Your card has insufficient funds.'
|
|
1906
2358
|
},
|
|
1907
|
-
|
|
1908
|
-
type: '
|
|
1909
|
-
|
|
1910
|
-
|
|
2359
|
+
results: {
|
|
2360
|
+
type: 'array',
|
|
2361
|
+
items: {
|
|
2362
|
+
type: 'object',
|
|
2363
|
+
properties: {
|
|
2364
|
+
invoice_id: {
|
|
2365
|
+
type: 'string',
|
|
2366
|
+
description: 'Identifier of the invoice.',
|
|
2367
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2368
|
+
},
|
|
2369
|
+
number: {
|
|
2370
|
+
type: 'string',
|
|
2371
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2372
|
+
example: 'CF-0042'
|
|
2373
|
+
},
|
|
2374
|
+
amount: {
|
|
2375
|
+
type: 'number',
|
|
2376
|
+
format: 'float',
|
|
2377
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2378
|
+
example: 4200
|
|
2379
|
+
},
|
|
2380
|
+
currency: {
|
|
2381
|
+
type: 'string',
|
|
2382
|
+
description: 'Currency of the invoice.',
|
|
2383
|
+
example: 'eur'
|
|
2384
|
+
},
|
|
2385
|
+
status: {
|
|
2386
|
+
type: 'string',
|
|
2387
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2388
|
+
example: 'paid',
|
|
2389
|
+
enum: [
|
|
2390
|
+
'paid',
|
|
2391
|
+
'processing',
|
|
2392
|
+
'requires_action',
|
|
2393
|
+
'failed'
|
|
2394
|
+
]
|
|
2395
|
+
},
|
|
2396
|
+
client_secret: {
|
|
2397
|
+
type: 'string',
|
|
2398
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2399
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2400
|
+
},
|
|
2401
|
+
failure_code: {
|
|
2402
|
+
type: 'string',
|
|
2403
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2404
|
+
example: 'insufficient_funds'
|
|
2405
|
+
},
|
|
2406
|
+
failure_message: {
|
|
2407
|
+
type: 'string',
|
|
2408
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2409
|
+
example: 'Your card has insufficient funds.'
|
|
2410
|
+
}
|
|
2411
|
+
},
|
|
2412
|
+
required: [
|
|
2413
|
+
'invoice_id',
|
|
2414
|
+
'number',
|
|
2415
|
+
'amount',
|
|
2416
|
+
'currency',
|
|
2417
|
+
'status',
|
|
2418
|
+
'client_secret',
|
|
2419
|
+
'failure_code',
|
|
2420
|
+
'failure_message'
|
|
2421
|
+
],
|
|
2422
|
+
additionalProperties: false
|
|
2423
|
+
},
|
|
2424
|
+
description: 'One entry per invoice charged, oldest first.'
|
|
1911
2425
|
}
|
|
1912
2426
|
},
|
|
2427
|
+
required: [
|
|
2428
|
+
'code',
|
|
2429
|
+
'message',
|
|
2430
|
+
'results'
|
|
2431
|
+
],
|
|
1913
2432
|
additionalProperties: false
|
|
1914
2433
|
};
|
|
1915
|
-
export const
|
|
2434
|
+
export const InvoiceSchema = {
|
|
1916
2435
|
type: 'object',
|
|
1917
2436
|
properties: {
|
|
1918
|
-
|
|
2437
|
+
id: {
|
|
1919
2438
|
type: 'string',
|
|
1920
|
-
description: '
|
|
1921
|
-
example: '
|
|
1922
|
-
},
|
|
1923
|
-
versions: {
|
|
1924
|
-
type: 'array',
|
|
1925
|
-
items: {
|
|
1926
|
-
type: 'string',
|
|
1927
|
-
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-]+)*))?$',
|
|
1928
|
-
description: 'Specific version of the chart',
|
|
1929
|
-
example: '1.18.2-cfke.45'
|
|
1930
|
-
},
|
|
1931
|
-
description: 'Available versions of the chart'
|
|
2439
|
+
description: 'Unique identifier of the invoice.',
|
|
2440
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
1932
2441
|
},
|
|
1933
|
-
|
|
1934
|
-
type: '
|
|
1935
|
-
items: {
|
|
1936
|
-
type: 'string',
|
|
1937
|
-
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-]+)*))?$',
|
|
1938
|
-
description: 'Version channel pattern',
|
|
1939
|
-
example: '1.18.x-cfke.x'
|
|
1940
|
-
},
|
|
1941
|
-
description: 'Version channels for the chart'
|
|
2442
|
+
number: {
|
|
2443
|
+
type: 'string'
|
|
1942
2444
|
},
|
|
1943
|
-
|
|
2445
|
+
status: {
|
|
1944
2446
|
type: 'string',
|
|
1945
|
-
description: '
|
|
1946
|
-
example: '
|
|
1947
|
-
},
|
|
1948
|
-
|
|
1949
|
-
type: '
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
type: 'string'
|
|
1980
|
-
},
|
|
1981
|
-
description: 'Chart keywords',
|
|
1982
|
-
example: [
|
|
1983
|
-
'ingress',
|
|
1984
|
-
'nginx',
|
|
1985
|
-
'load-balancer'
|
|
1986
|
-
]
|
|
1987
|
-
},
|
|
1988
|
-
home: {
|
|
1989
|
-
type: 'string',
|
|
1990
|
-
description: 'Chart home URL',
|
|
1991
|
-
example: 'https://kubernetes.github.io/ingress-nginx/'
|
|
1992
|
-
},
|
|
1993
|
-
icon: {
|
|
1994
|
-
type: 'string',
|
|
1995
|
-
description: 'A URL to an SVG or PNG image to be used as an icon',
|
|
1996
|
-
example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
|
|
1997
|
-
},
|
|
1998
|
-
sources: {
|
|
1999
|
-
type: 'array',
|
|
2000
|
-
items: {
|
|
2001
|
-
type: 'string'
|
|
2002
|
-
},
|
|
2003
|
-
description: 'Chart source URLs',
|
|
2004
|
-
example: [
|
|
2005
|
-
'https://github.com/kubernetes/ingress-nginx'
|
|
2006
|
-
]
|
|
2007
|
-
},
|
|
2008
|
-
maintainers: {
|
|
2009
|
-
type: 'array',
|
|
2010
|
-
items: {
|
|
2011
|
-
type: 'object',
|
|
2012
|
-
properties: {
|
|
2013
|
-
name: {
|
|
2014
|
-
type: 'string',
|
|
2015
|
-
description: 'Maintainer name',
|
|
2016
|
-
example: 'NGINX Team'
|
|
2017
|
-
},
|
|
2018
|
-
email: {
|
|
2019
|
-
type: 'string',
|
|
2020
|
-
description: 'Maintainer email',
|
|
2021
|
-
example: 'support@nginx.org'
|
|
2022
|
-
}
|
|
2023
|
-
},
|
|
2024
|
-
required: [
|
|
2025
|
-
'name'
|
|
2026
|
-
],
|
|
2027
|
-
additionalProperties: false
|
|
2028
|
-
},
|
|
2029
|
-
description: 'Chart maintainers'
|
|
2030
|
-
}
|
|
2031
|
-
},
|
|
2032
|
-
required: [
|
|
2033
|
-
'name',
|
|
2034
|
-
'version'
|
|
2035
|
-
],
|
|
2036
|
-
additionalProperties: false,
|
|
2037
|
-
description: 'Chart metadata'
|
|
2447
|
+
description: 'Status of the invoice',
|
|
2448
|
+
example: 'paid'
|
|
2449
|
+
},
|
|
2450
|
+
total: {
|
|
2451
|
+
type: 'number',
|
|
2452
|
+
format: 'float',
|
|
2453
|
+
description: 'Total amount of the invoice',
|
|
2454
|
+
example: 100
|
|
2455
|
+
},
|
|
2456
|
+
currency: {
|
|
2457
|
+
type: 'string',
|
|
2458
|
+
description: 'Currency of the invoice',
|
|
2459
|
+
example: 'usd'
|
|
2460
|
+
},
|
|
2461
|
+
created: {
|
|
2462
|
+
type: 'string',
|
|
2463
|
+
format: 'date-time',
|
|
2464
|
+
description: 'Timestamp when the invoice was issued. ISO 8601 date string in the UTC timezone.',
|
|
2465
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
2466
|
+
},
|
|
2467
|
+
period_start: {
|
|
2468
|
+
type: 'string',
|
|
2469
|
+
format: 'date-time',
|
|
2470
|
+
description: 'Billing period start timestamp. ISO 8601 date string in the UTC timezone.',
|
|
2471
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
2472
|
+
},
|
|
2473
|
+
period_end: {
|
|
2474
|
+
type: 'string',
|
|
2475
|
+
format: 'date-time',
|
|
2476
|
+
description: 'Billing period end timestamp. ISO 8601 date string in the UTC timezone.',
|
|
2477
|
+
example: '2023-12-20T13:53:32.000Z'
|
|
2478
|
+
},
|
|
2479
|
+
invoice_pdf: {
|
|
2480
|
+
type: 'string'
|
|
2038
2481
|
}
|
|
2039
2482
|
},
|
|
2040
2483
|
required: [
|
|
2041
|
-
'
|
|
2042
|
-
'
|
|
2043
|
-
'
|
|
2044
|
-
'latestVersion'
|
|
2484
|
+
'created',
|
|
2485
|
+
'period_start',
|
|
2486
|
+
'period_end'
|
|
2045
2487
|
],
|
|
2046
2488
|
additionalProperties: false
|
|
2047
2489
|
};
|
|
2048
2490
|
export const OrganizationCreateInputSchema = {
|
|
2049
2491
|
type: 'object',
|
|
2050
2492
|
properties: {
|
|
2493
|
+
type: {
|
|
2494
|
+
type: 'string',
|
|
2495
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2496
|
+
example: 'business',
|
|
2497
|
+
enum: [
|
|
2498
|
+
'business',
|
|
2499
|
+
'personal'
|
|
2500
|
+
]
|
|
2501
|
+
},
|
|
2051
2502
|
email: {
|
|
2052
2503
|
type: 'string',
|
|
2053
2504
|
format: 'email',
|
|
@@ -2056,11 +2507,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
2056
2507
|
},
|
|
2057
2508
|
first_name: {
|
|
2058
2509
|
type: 'string',
|
|
2510
|
+
minLength: 1,
|
|
2059
2511
|
description: 'First name of the billing contact person.',
|
|
2060
2512
|
example: 'John'
|
|
2061
2513
|
},
|
|
2062
2514
|
last_name: {
|
|
2063
2515
|
type: 'string',
|
|
2516
|
+
minLength: 1,
|
|
2064
2517
|
description: 'Last name of the billing contact person.',
|
|
2065
2518
|
example: 'Doe'
|
|
2066
2519
|
},
|
|
@@ -2079,6 +2532,7 @@ export const OrganizationCreateInputSchema = {
|
|
|
2079
2532
|
}
|
|
2080
2533
|
},
|
|
2081
2534
|
required: [
|
|
2535
|
+
'type',
|
|
2082
2536
|
'email',
|
|
2083
2537
|
'first_name',
|
|
2084
2538
|
'last_name',
|
|
@@ -2087,6 +2541,20 @@ export const OrganizationCreateInputSchema = {
|
|
|
2087
2541
|
],
|
|
2088
2542
|
additionalProperties: false
|
|
2089
2543
|
};
|
|
2544
|
+
export const OrganizationCreateOutputSchema = {
|
|
2545
|
+
type: 'object',
|
|
2546
|
+
properties: {
|
|
2547
|
+
id: {
|
|
2548
|
+
type: 'string',
|
|
2549
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2550
|
+
example: 'organization-id'
|
|
2551
|
+
}
|
|
2552
|
+
},
|
|
2553
|
+
required: [
|
|
2554
|
+
'id'
|
|
2555
|
+
],
|
|
2556
|
+
additionalProperties: false
|
|
2557
|
+
};
|
|
2090
2558
|
export const OrganizationSchema = {
|
|
2091
2559
|
type: 'object',
|
|
2092
2560
|
properties: {
|
|
@@ -2103,6 +2571,15 @@ export const OrganizationSchema = {
|
|
|
2103
2571
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
2104
2572
|
example: 'ACME Corp.'
|
|
2105
2573
|
},
|
|
2574
|
+
type: {
|
|
2575
|
+
type: 'string',
|
|
2576
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2577
|
+
example: 'business',
|
|
2578
|
+
enum: [
|
|
2579
|
+
'business',
|
|
2580
|
+
'personal'
|
|
2581
|
+
]
|
|
2582
|
+
},
|
|
2106
2583
|
date_created: {
|
|
2107
2584
|
type: 'string',
|
|
2108
2585
|
format: 'date-time',
|
|
@@ -2134,6 +2611,17 @@ export const OrganizationSchema = {
|
|
|
2134
2611
|
description: 'Available number of Pro clusters that can be created.',
|
|
2135
2612
|
example: 999
|
|
2136
2613
|
},
|
|
2614
|
+
enterprise_clusters_max: {
|
|
2615
|
+
type: 'integer',
|
|
2616
|
+
minimum: 0,
|
|
2617
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2618
|
+
example: 999
|
|
2619
|
+
},
|
|
2620
|
+
enterprise_clusters_available: {
|
|
2621
|
+
type: 'integer',
|
|
2622
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2623
|
+
example: 999
|
|
2624
|
+
},
|
|
2137
2625
|
fleets_max: {
|
|
2138
2626
|
type: 'integer',
|
|
2139
2627
|
minimum: 0,
|
|
@@ -2153,7 +2641,7 @@ export const OrganizationSchema = {
|
|
|
2153
2641
|
type: 'array',
|
|
2154
2642
|
items: {
|
|
2155
2643
|
type: 'string',
|
|
2156
|
-
example: 'northamerica-central-
|
|
2644
|
+
example: 'northamerica-central-1a'
|
|
2157
2645
|
},
|
|
2158
2646
|
minItems: 1,
|
|
2159
2647
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -2195,6 +2683,8 @@ export const OrganizationSchema = {
|
|
|
2195
2683
|
'basic_clusters_available',
|
|
2196
2684
|
'pro_clusters_max',
|
|
2197
2685
|
'pro_clusters_available',
|
|
2686
|
+
'enterprise_clusters_max',
|
|
2687
|
+
'enterprise_clusters_available',
|
|
2198
2688
|
'fleets_max',
|
|
2199
2689
|
'cluster_tiers',
|
|
2200
2690
|
'regions',
|
|
@@ -2212,13 +2702,25 @@ export const OrganizationSchema = {
|
|
|
2212
2702
|
'closed',
|
|
2213
2703
|
'suspended'
|
|
2214
2704
|
]
|
|
2705
|
+
},
|
|
2706
|
+
verification: {
|
|
2707
|
+
type: 'string',
|
|
2708
|
+
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.',
|
|
2709
|
+
example: 'verified',
|
|
2710
|
+
enum: [
|
|
2711
|
+
'none',
|
|
2712
|
+
'submitted',
|
|
2713
|
+
'verified'
|
|
2714
|
+
]
|
|
2215
2715
|
}
|
|
2216
2716
|
},
|
|
2217
2717
|
required: [
|
|
2218
2718
|
'id',
|
|
2719
|
+
'type',
|
|
2219
2720
|
'date_created',
|
|
2220
2721
|
'quota',
|
|
2221
|
-
'status'
|
|
2722
|
+
'status',
|
|
2723
|
+
'verification'
|
|
2222
2724
|
],
|
|
2223
2725
|
additionalProperties: false
|
|
2224
2726
|
};
|
|
@@ -2227,28 +2729,23 @@ export const PaymentMethodSchema = {
|
|
|
2227
2729
|
properties: {
|
|
2228
2730
|
id: {
|
|
2229
2731
|
type: 'string',
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
2233
|
-
},
|
|
2234
|
-
setup: {
|
|
2235
|
-
type: 'boolean',
|
|
2236
|
-
description: 'Whether organization payment method was set up and ready to use for payments.',
|
|
2237
|
-
example: true
|
|
2732
|
+
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.',
|
|
2733
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
2238
2734
|
},
|
|
2239
2735
|
type: {
|
|
2240
2736
|
type: 'string',
|
|
2241
|
-
|
|
2242
|
-
description: 'Payment method type type. Only `card` payments supported at the moment.',
|
|
2737
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
2243
2738
|
example: 'card',
|
|
2244
2739
|
enum: [
|
|
2245
|
-
'card'
|
|
2740
|
+
'card',
|
|
2741
|
+
'sepa_debit',
|
|
2742
|
+
'bank_transfer'
|
|
2246
2743
|
]
|
|
2247
2744
|
},
|
|
2248
2745
|
last4: {
|
|
2249
2746
|
type: 'string',
|
|
2250
2747
|
nullable: true,
|
|
2251
|
-
description: 'Last 4 digits of the payment card number.',
|
|
2748
|
+
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.',
|
|
2252
2749
|
example: '4242'
|
|
2253
2750
|
},
|
|
2254
2751
|
exp_month: {
|
|
@@ -2256,42 +2753,56 @@ export const PaymentMethodSchema = {
|
|
|
2256
2753
|
minimum: 1,
|
|
2257
2754
|
maximum: 12,
|
|
2258
2755
|
nullable: true,
|
|
2259
|
-
description: 'Two-digit number representing the card\'s expiration month.',
|
|
2260
|
-
example:
|
|
2756
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2757
|
+
example: 12
|
|
2261
2758
|
},
|
|
2262
2759
|
exp_year: {
|
|
2263
2760
|
type: 'integer',
|
|
2264
|
-
minimum: 2024,
|
|
2265
2761
|
nullable: true,
|
|
2266
|
-
description: 'Four-digit number representing the card\'s expiration year.',
|
|
2267
|
-
example:
|
|
2762
|
+
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.',
|
|
2763
|
+
example: 2028
|
|
2268
2764
|
},
|
|
2269
2765
|
brand: {
|
|
2270
2766
|
type: 'string',
|
|
2271
2767
|
nullable: true,
|
|
2272
|
-
description: 'Payment card brand
|
|
2273
|
-
example: 'visa'
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2768
|
+
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.',
|
|
2769
|
+
example: 'visa'
|
|
2770
|
+
},
|
|
2771
|
+
iban: {
|
|
2772
|
+
type: 'string',
|
|
2773
|
+
nullable: true,
|
|
2774
|
+
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.',
|
|
2775
|
+
example: 'DE11243015658023127510'
|
|
2776
|
+
},
|
|
2777
|
+
bic: {
|
|
2778
|
+
type: 'string',
|
|
2779
|
+
nullable: true,
|
|
2780
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2781
|
+
example: 'SOGEDEFFXXX'
|
|
2782
|
+
},
|
|
2783
|
+
account_holder_name: {
|
|
2784
|
+
type: 'string',
|
|
2785
|
+
nullable: true,
|
|
2786
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2787
|
+
example: 'Cloudfleet GmbH'
|
|
2788
|
+
},
|
|
2789
|
+
is_default: {
|
|
2790
|
+
type: 'boolean',
|
|
2791
|
+
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).',
|
|
2792
|
+
example: true
|
|
2285
2793
|
}
|
|
2286
2794
|
},
|
|
2287
2795
|
required: [
|
|
2288
2796
|
'id',
|
|
2289
|
-
'setup',
|
|
2290
2797
|
'type',
|
|
2291
2798
|
'last4',
|
|
2292
2799
|
'exp_month',
|
|
2293
2800
|
'exp_year',
|
|
2294
|
-
'brand'
|
|
2801
|
+
'brand',
|
|
2802
|
+
'iban',
|
|
2803
|
+
'bic',
|
|
2804
|
+
'account_holder_name',
|
|
2805
|
+
'is_default'
|
|
2295
2806
|
],
|
|
2296
2807
|
additionalProperties: false
|
|
2297
2808
|
};
|
|
@@ -2320,6 +2831,17 @@ export const PlatformQuotaSchema = {
|
|
|
2320
2831
|
description: 'Available number of Pro clusters that can be created.',
|
|
2321
2832
|
example: 999
|
|
2322
2833
|
},
|
|
2834
|
+
enterprise_clusters_max: {
|
|
2835
|
+
type: 'integer',
|
|
2836
|
+
minimum: 0,
|
|
2837
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2838
|
+
example: 999
|
|
2839
|
+
},
|
|
2840
|
+
enterprise_clusters_available: {
|
|
2841
|
+
type: 'integer',
|
|
2842
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2843
|
+
example: 999
|
|
2844
|
+
},
|
|
2323
2845
|
fleets_max: {
|
|
2324
2846
|
type: 'integer',
|
|
2325
2847
|
minimum: 0,
|
|
@@ -2339,7 +2861,7 @@ export const PlatformQuotaSchema = {
|
|
|
2339
2861
|
type: 'array',
|
|
2340
2862
|
items: {
|
|
2341
2863
|
type: 'string',
|
|
2342
|
-
example: 'northamerica-central-
|
|
2864
|
+
example: 'northamerica-central-1a'
|
|
2343
2865
|
},
|
|
2344
2866
|
minItems: 1,
|
|
2345
2867
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -2381,6 +2903,8 @@ export const PlatformQuotaSchema = {
|
|
|
2381
2903
|
'basic_clusters_available',
|
|
2382
2904
|
'pro_clusters_max',
|
|
2383
2905
|
'pro_clusters_available',
|
|
2906
|
+
'enterprise_clusters_max',
|
|
2907
|
+
'enterprise_clusters_available',
|
|
2384
2908
|
'fleets_max',
|
|
2385
2909
|
'cluster_tiers',
|
|
2386
2910
|
'regions',
|
|
@@ -2654,6 +3178,73 @@ export const RegistryTagSchema = {
|
|
|
2654
3178
|
],
|
|
2655
3179
|
additionalProperties: false
|
|
2656
3180
|
};
|
|
3181
|
+
export const RoadmapItemCreateInputSchema = {
|
|
3182
|
+
type: 'object',
|
|
3183
|
+
properties: {
|
|
3184
|
+
text: {
|
|
3185
|
+
type: 'string',
|
|
3186
|
+
maxLength: 500,
|
|
3187
|
+
minLength: 1,
|
|
3188
|
+
description: 'Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.',
|
|
3189
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3190
|
+
}
|
|
3191
|
+
},
|
|
3192
|
+
required: [
|
|
3193
|
+
'text'
|
|
3194
|
+
],
|
|
3195
|
+
additionalProperties: false
|
|
3196
|
+
};
|
|
3197
|
+
export const RoadmapItemSchema = {
|
|
3198
|
+
type: 'object',
|
|
3199
|
+
properties: {
|
|
3200
|
+
id: {
|
|
3201
|
+
type: 'string',
|
|
3202
|
+
description: 'Unique identifier of the roadmap item (Mongo ObjectId).',
|
|
3203
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3204
|
+
},
|
|
3205
|
+
text: {
|
|
3206
|
+
type: 'string',
|
|
3207
|
+
description: 'Short description of the roadmap item.',
|
|
3208
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3209
|
+
},
|
|
3210
|
+
vote: {
|
|
3211
|
+
type: 'integer',
|
|
3212
|
+
nullable: true,
|
|
3213
|
+
description: 'The caller\'s vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.',
|
|
3214
|
+
example: 1,
|
|
3215
|
+
enum: [
|
|
3216
|
+
-1,
|
|
3217
|
+
1,
|
|
3218
|
+
2
|
|
3219
|
+
]
|
|
3220
|
+
}
|
|
3221
|
+
},
|
|
3222
|
+
required: [
|
|
3223
|
+
'id',
|
|
3224
|
+
'text',
|
|
3225
|
+
'vote'
|
|
3226
|
+
],
|
|
3227
|
+
additionalProperties: false
|
|
3228
|
+
};
|
|
3229
|
+
export const RoadmapVoteInputSchema = {
|
|
3230
|
+
type: 'object',
|
|
3231
|
+
properties: {
|
|
3232
|
+
value: {
|
|
3233
|
+
type: 'integer',
|
|
3234
|
+
description: 'Vote value: -1 (down), 1 (up), or 2 (double up).',
|
|
3235
|
+
example: 1,
|
|
3236
|
+
enum: [
|
|
3237
|
+
-1,
|
|
3238
|
+
1,
|
|
3239
|
+
2
|
|
3240
|
+
]
|
|
3241
|
+
}
|
|
3242
|
+
},
|
|
3243
|
+
required: [
|
|
3244
|
+
'value'
|
|
3245
|
+
],
|
|
3246
|
+
additionalProperties: false
|
|
3247
|
+
};
|
|
2657
3248
|
export const TicketAttachmentSchema = {
|
|
2658
3249
|
type: 'object',
|
|
2659
3250
|
properties: {
|
|
@@ -2715,6 +3306,11 @@ export const TicketCreateInputSchema = {
|
|
|
2715
3306
|
subcategory: 'cluster-question',
|
|
2716
3307
|
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
2717
3308
|
}
|
|
3309
|
+
},
|
|
3310
|
+
grant_support_access: {
|
|
3311
|
+
type: 'boolean',
|
|
3312
|
+
description: 'Grant Cloudfleet support staff access to the organization\'s resources while the ticket is open. Access cannot be revoked; it ends when the ticket is closed.',
|
|
3313
|
+
example: true
|
|
2718
3314
|
}
|
|
2719
3315
|
},
|
|
2720
3316
|
required: [
|
|
@@ -2723,172 +3319,6 @@ export const TicketCreateInputSchema = {
|
|
|
2723
3319
|
],
|
|
2724
3320
|
additionalProperties: false
|
|
2725
3321
|
};
|
|
2726
|
-
export const TicketListResponseSchema = {
|
|
2727
|
-
type: 'object',
|
|
2728
|
-
properties: {
|
|
2729
|
-
items: {
|
|
2730
|
-
type: 'array',
|
|
2731
|
-
items: {
|
|
2732
|
-
type: 'object',
|
|
2733
|
-
properties: {
|
|
2734
|
-
id: {
|
|
2735
|
-
type: 'string',
|
|
2736
|
-
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
2737
|
-
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
2738
|
-
},
|
|
2739
|
-
status: {
|
|
2740
|
-
type: 'string',
|
|
2741
|
-
description: 'Current state of the ticket.',
|
|
2742
|
-
example: 'waiting_on_us',
|
|
2743
|
-
enum: [
|
|
2744
|
-
'waiting_on_us',
|
|
2745
|
-
'waiting_on_user',
|
|
2746
|
-
'closed'
|
|
2747
|
-
]
|
|
2748
|
-
},
|
|
2749
|
-
category: {
|
|
2750
|
-
type: 'string',
|
|
2751
|
-
description: 'Ticket category.',
|
|
2752
|
-
example: 'technical',
|
|
2753
|
-
enum: [
|
|
2754
|
-
'billing',
|
|
2755
|
-
'technical',
|
|
2756
|
-
'general'
|
|
2757
|
-
]
|
|
2758
|
-
},
|
|
2759
|
-
summary: {
|
|
2760
|
-
type: 'string',
|
|
2761
|
-
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
2762
|
-
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2763
|
-
},
|
|
2764
|
-
closed_at: {
|
|
2765
|
-
type: 'string',
|
|
2766
|
-
format: 'date-time',
|
|
2767
|
-
nullable: true,
|
|
2768
|
-
description: 'Closure timestamp. Null while the ticket is open.',
|
|
2769
|
-
example: '2026-05-18T16:08:14.338Z'
|
|
2770
|
-
},
|
|
2771
|
-
date_created: {
|
|
2772
|
-
type: 'string',
|
|
2773
|
-
format: 'date-time',
|
|
2774
|
-
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
2775
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2776
|
-
},
|
|
2777
|
-
date_updated: {
|
|
2778
|
-
type: 'string',
|
|
2779
|
-
format: 'date-time',
|
|
2780
|
-
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
2781
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2782
|
-
},
|
|
2783
|
-
messages: {
|
|
2784
|
-
type: 'array',
|
|
2785
|
-
items: {
|
|
2786
|
-
type: 'object',
|
|
2787
|
-
properties: {
|
|
2788
|
-
id: {
|
|
2789
|
-
type: 'string',
|
|
2790
|
-
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
2791
|
-
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
2792
|
-
},
|
|
2793
|
-
type: {
|
|
2794
|
-
type: 'string',
|
|
2795
|
-
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
2796
|
-
example: 'customer_reply',
|
|
2797
|
-
enum: [
|
|
2798
|
-
'customer_reply',
|
|
2799
|
-
'agent_reply'
|
|
2800
|
-
]
|
|
2801
|
-
},
|
|
2802
|
-
body: {
|
|
2803
|
-
type: 'string',
|
|
2804
|
-
description: 'Message body in markdown.',
|
|
2805
|
-
example: 'Thanks — that resolved it on my side.'
|
|
2806
|
-
},
|
|
2807
|
-
author_first_name: {
|
|
2808
|
-
type: 'string',
|
|
2809
|
-
nullable: true,
|
|
2810
|
-
description: 'First name of the author. Null when not provided.',
|
|
2811
|
-
example: 'Jane'
|
|
2812
|
-
},
|
|
2813
|
-
author_last_name: {
|
|
2814
|
-
type: 'string',
|
|
2815
|
-
nullable: true,
|
|
2816
|
-
description: 'Last name of the author. Null when not provided.',
|
|
2817
|
-
example: 'Doe'
|
|
2818
|
-
},
|
|
2819
|
-
attachments: {
|
|
2820
|
-
type: 'array',
|
|
2821
|
-
items: {
|
|
2822
|
-
type: 'object',
|
|
2823
|
-
properties: {
|
|
2824
|
-
id: {
|
|
2825
|
-
type: 'string',
|
|
2826
|
-
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2827
|
-
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2828
|
-
},
|
|
2829
|
-
filename: {
|
|
2830
|
-
type: 'string',
|
|
2831
|
-
description: 'Original filename as uploaded.',
|
|
2832
|
-
example: 'debug.log'
|
|
2833
|
-
},
|
|
2834
|
-
content_type: {
|
|
2835
|
-
type: 'string',
|
|
2836
|
-
description: 'MIME content type of the attachment.',
|
|
2837
|
-
example: 'text/plain'
|
|
2838
|
-
},
|
|
2839
|
-
size: {
|
|
2840
|
-
type: 'integer',
|
|
2841
|
-
description: 'Size of the attachment in bytes.',
|
|
2842
|
-
example: 12345
|
|
2843
|
-
}
|
|
2844
|
-
},
|
|
2845
|
-
required: [
|
|
2846
|
-
'id',
|
|
2847
|
-
'filename',
|
|
2848
|
-
'content_type',
|
|
2849
|
-
'size'
|
|
2850
|
-
],
|
|
2851
|
-
additionalProperties: false
|
|
2852
|
-
},
|
|
2853
|
-
description: 'Attachments associated with this message.',
|
|
2854
|
-
example: []
|
|
2855
|
-
},
|
|
2856
|
-
date_created: {
|
|
2857
|
-
type: 'string',
|
|
2858
|
-
format: 'date-time',
|
|
2859
|
-
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
2860
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2861
|
-
}
|
|
2862
|
-
},
|
|
2863
|
-
required: [
|
|
2864
|
-
'id',
|
|
2865
|
-
'type',
|
|
2866
|
-
'body',
|
|
2867
|
-
'date_created'
|
|
2868
|
-
],
|
|
2869
|
-
additionalProperties: false
|
|
2870
|
-
},
|
|
2871
|
-
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
2872
|
-
}
|
|
2873
|
-
},
|
|
2874
|
-
required: [
|
|
2875
|
-
'id',
|
|
2876
|
-
'status',
|
|
2877
|
-
'category',
|
|
2878
|
-
'summary',
|
|
2879
|
-
'date_created',
|
|
2880
|
-
'date_updated'
|
|
2881
|
-
],
|
|
2882
|
-
additionalProperties: false
|
|
2883
|
-
},
|
|
2884
|
-
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
2885
|
-
}
|
|
2886
|
-
},
|
|
2887
|
-
required: [
|
|
2888
|
-
'items'
|
|
2889
|
-
],
|
|
2890
|
-
additionalProperties: false
|
|
2891
|
-
};
|
|
2892
3322
|
export const TicketMessageInputSchema = {
|
|
2893
3323
|
type: 'object',
|
|
2894
3324
|
properties: {
|
|
@@ -2930,11 +3360,13 @@ export const TicketMessageSchema = {
|
|
|
2930
3360
|
},
|
|
2931
3361
|
author_first_name: {
|
|
2932
3362
|
type: 'string',
|
|
3363
|
+
nullable: true,
|
|
2933
3364
|
description: 'First name of the author. Null when not provided.',
|
|
2934
3365
|
example: 'Jane'
|
|
2935
3366
|
},
|
|
2936
3367
|
author_last_name: {
|
|
2937
3368
|
type: 'string',
|
|
3369
|
+
nullable: true,
|
|
2938
3370
|
description: 'Last name of the author. Null when not provided.',
|
|
2939
3371
|
example: 'Doe'
|
|
2940
3372
|
},
|
|
@@ -3023,9 +3455,22 @@ export const TicketSchema = {
|
|
|
3023
3455
|
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3024
3456
|
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3025
3457
|
},
|
|
3458
|
+
support_access_granted: {
|
|
3459
|
+
type: 'boolean',
|
|
3460
|
+
description: 'Whether Cloudfleet support staff currently have access to the organization\'s resources. True once access is granted and until the ticket is closed.',
|
|
3461
|
+
example: true
|
|
3462
|
+
},
|
|
3463
|
+
support_access_granted_at: {
|
|
3464
|
+
type: 'string',
|
|
3465
|
+
format: 'date-time',
|
|
3466
|
+
nullable: true,
|
|
3467
|
+
description: 'When support access was granted. Null if it never was. Kept after the ticket is closed.',
|
|
3468
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3469
|
+
},
|
|
3026
3470
|
closed_at: {
|
|
3027
3471
|
type: 'string',
|
|
3028
3472
|
format: 'date-time',
|
|
3473
|
+
nullable: true,
|
|
3029
3474
|
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3030
3475
|
example: '2026-05-18T16:08:14.338Z'
|
|
3031
3476
|
},
|
|
@@ -3135,6 +3580,8 @@ export const TicketSchema = {
|
|
|
3135
3580
|
'status',
|
|
3136
3581
|
'category',
|
|
3137
3582
|
'summary',
|
|
3583
|
+
'support_access_granted',
|
|
3584
|
+
'support_access_granted_at',
|
|
3138
3585
|
'date_created',
|
|
3139
3586
|
'date_updated'
|
|
3140
3587
|
],
|
|
@@ -3250,12 +3697,21 @@ export const UsageFacetsSchema = {
|
|
|
3250
3697
|
product: {
|
|
3251
3698
|
type: 'array',
|
|
3252
3699
|
items: {
|
|
3253
|
-
type: 'string'
|
|
3700
|
+
type: 'string',
|
|
3701
|
+
enum: [
|
|
3702
|
+
'cfke_controlplane_basic',
|
|
3703
|
+
'cfke_controlplane_pro',
|
|
3704
|
+
'cfke_controlplane_enterprise',
|
|
3705
|
+
'cfke_connected_nodes_basic',
|
|
3706
|
+
'cfke_connected_nodes_pro',
|
|
3707
|
+
'cfke_connected_nodes_enterprise',
|
|
3708
|
+
'cfcr_storage'
|
|
3709
|
+
]
|
|
3254
3710
|
},
|
|
3255
3711
|
description: 'List of unique products',
|
|
3256
3712
|
example: [
|
|
3257
|
-
'
|
|
3258
|
-
'
|
|
3713
|
+
'cfke_controlplane_pro',
|
|
3714
|
+
'cfke_connected_nodes_pro'
|
|
3259
3715
|
]
|
|
3260
3716
|
}
|
|
3261
3717
|
},
|
|
@@ -3282,7 +3738,16 @@ export const UsageResponseSchema = {
|
|
|
3282
3738
|
product: {
|
|
3283
3739
|
type: 'string',
|
|
3284
3740
|
description: 'The product the usage is associated with',
|
|
3285
|
-
example: '
|
|
3741
|
+
example: 'cfke_controlplane_pro',
|
|
3742
|
+
enum: [
|
|
3743
|
+
'cfke_controlplane_basic',
|
|
3744
|
+
'cfke_controlplane_pro',
|
|
3745
|
+
'cfke_controlplane_enterprise',
|
|
3746
|
+
'cfke_connected_nodes_basic',
|
|
3747
|
+
'cfke_connected_nodes_pro',
|
|
3748
|
+
'cfke_connected_nodes_enterprise',
|
|
3749
|
+
'cfcr_storage'
|
|
3750
|
+
]
|
|
3286
3751
|
},
|
|
3287
3752
|
value: {
|
|
3288
3753
|
type: 'number',
|
|
@@ -3330,12 +3795,21 @@ export const UsageResponseSchema = {
|
|
|
3330
3795
|
product: {
|
|
3331
3796
|
type: 'array',
|
|
3332
3797
|
items: {
|
|
3333
|
-
type: 'string'
|
|
3798
|
+
type: 'string',
|
|
3799
|
+
enum: [
|
|
3800
|
+
'cfke_controlplane_basic',
|
|
3801
|
+
'cfke_controlplane_pro',
|
|
3802
|
+
'cfke_controlplane_enterprise',
|
|
3803
|
+
'cfke_connected_nodes_basic',
|
|
3804
|
+
'cfke_connected_nodes_pro',
|
|
3805
|
+
'cfke_connected_nodes_enterprise',
|
|
3806
|
+
'cfcr_storage'
|
|
3807
|
+
]
|
|
3334
3808
|
},
|
|
3335
3809
|
description: 'List of unique products',
|
|
3336
3810
|
example: [
|
|
3337
|
-
'
|
|
3338
|
-
'
|
|
3811
|
+
'cfke_controlplane_pro',
|
|
3812
|
+
'cfke_connected_nodes_pro'
|
|
3339
3813
|
]
|
|
3340
3814
|
}
|
|
3341
3815
|
},
|
|
@@ -3365,7 +3839,16 @@ export const UsageSchema = {
|
|
|
3365
3839
|
product: {
|
|
3366
3840
|
type: 'string',
|
|
3367
3841
|
description: 'The product the usage is associated with',
|
|
3368
|
-
example: '
|
|
3842
|
+
example: 'cfke_controlplane_pro',
|
|
3843
|
+
enum: [
|
|
3844
|
+
'cfke_controlplane_basic',
|
|
3845
|
+
'cfke_controlplane_pro',
|
|
3846
|
+
'cfke_controlplane_enterprise',
|
|
3847
|
+
'cfke_connected_nodes_basic',
|
|
3848
|
+
'cfke_connected_nodes_pro',
|
|
3849
|
+
'cfke_connected_nodes_enterprise',
|
|
3850
|
+
'cfcr_storage'
|
|
3851
|
+
]
|
|
3369
3852
|
},
|
|
3370
3853
|
value: {
|
|
3371
3854
|
type: 'number',
|
|
@@ -3428,24 +3911,6 @@ export const UserCreateInputSchema = {
|
|
|
3428
3911
|
type: 'string',
|
|
3429
3912
|
minLength: 8,
|
|
3430
3913
|
description: 'User password. Must be at least 8 characters long.'
|
|
3431
|
-
},
|
|
3432
|
-
status: {
|
|
3433
|
-
type: 'string',
|
|
3434
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
3435
|
-
example: 'active',
|
|
3436
|
-
enum: [
|
|
3437
|
-
'active',
|
|
3438
|
-
'inactive'
|
|
3439
|
-
]
|
|
3440
|
-
},
|
|
3441
|
-
role: {
|
|
3442
|
-
type: 'string',
|
|
3443
|
-
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
3444
|
-
example: 'User',
|
|
3445
|
-
enum: [
|
|
3446
|
-
'Administrator',
|
|
3447
|
-
'User'
|
|
3448
|
-
]
|
|
3449
3914
|
}
|
|
3450
3915
|
},
|
|
3451
3916
|
required: [
|