@cloudfleet/sdk 0.0.1-176cb2f → 0.0.1-188944c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -2
- package/dist/@tanstack/react-query.gen.d.ts +526 -574
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -1
- package/dist/@tanstack/react-query.gen.js +534 -377
- 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/schemas.gen.d.ts +728 -226
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +960 -319
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +271 -208
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +403 -310
- package/dist/sdk.gen.js.map +1 -1
- package/dist/types.gen.d.ts +1341 -788
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +1889 -1471
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +600 -342
- package/dist/zod.gen.js.map +1 -1
- package/package.json +10 -13
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,
|
|
@@ -207,6 +216,7 @@ export const BillingContactSchema = {
|
|
|
207
216
|
}
|
|
208
217
|
},
|
|
209
218
|
required: [
|
|
219
|
+
'type',
|
|
210
220
|
'email',
|
|
211
221
|
'individual_name'
|
|
212
222
|
],
|
|
@@ -358,24 +368,8 @@ export const ChartSchema = {
|
|
|
358
368
|
},
|
|
359
369
|
status: {
|
|
360
370
|
type: 'string',
|
|
361
|
-
description: 'Status of the chart deployment.',
|
|
362
|
-
example: '
|
|
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
|
-
]
|
|
371
|
+
description: 'Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).',
|
|
372
|
+
example: 'InstallSucceeded'
|
|
379
373
|
},
|
|
380
374
|
version_current: {
|
|
381
375
|
type: 'string',
|
|
@@ -446,22 +440,12 @@ export const ClusterCreateInputSchema = {
|
|
|
446
440
|
tier: {
|
|
447
441
|
type: 'string',
|
|
448
442
|
description: 'Tier of the cluster.',
|
|
443
|
+
default: 'basic',
|
|
449
444
|
example: 'pro',
|
|
450
445
|
enum: [
|
|
451
446
|
'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'
|
|
447
|
+
'pro',
|
|
448
|
+
'enterprise'
|
|
465
449
|
]
|
|
466
450
|
},
|
|
467
451
|
version_channel: {
|
|
@@ -469,20 +453,105 @@ export const ClusterCreateInputSchema = {
|
|
|
469
453
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
470
454
|
description: 'Version of the kubernetes cluster.',
|
|
471
455
|
default: '1.x.x-cfke.x',
|
|
472
|
-
example: '1.x.x-cfke.x'
|
|
456
|
+
example: '1.x.x-cfke.x'
|
|
457
|
+
},
|
|
458
|
+
release_channel: {
|
|
459
|
+
type: 'string',
|
|
460
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
461
|
+
default: 'rapid',
|
|
462
|
+
example: 'rapid',
|
|
473
463
|
enum: [
|
|
474
|
-
'
|
|
475
|
-
'
|
|
476
|
-
'
|
|
477
|
-
'1.33.x-cfke.x'
|
|
464
|
+
'rapid',
|
|
465
|
+
'stable',
|
|
466
|
+
'extended'
|
|
478
467
|
]
|
|
468
|
+
},
|
|
469
|
+
features: {
|
|
470
|
+
type: 'object',
|
|
471
|
+
properties: {
|
|
472
|
+
gpu_sharing_strategy: {
|
|
473
|
+
type: 'string',
|
|
474
|
+
description: 'GPU sharing strategy.',
|
|
475
|
+
default: 'none',
|
|
476
|
+
example: 'none',
|
|
477
|
+
enum: [
|
|
478
|
+
'none',
|
|
479
|
+
'mps',
|
|
480
|
+
'time_slicing'
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
gpu_max_shared_clients_per_gpu: {
|
|
484
|
+
type: 'integer',
|
|
485
|
+
minimum: 2,
|
|
486
|
+
maximum: 48,
|
|
487
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
488
|
+
default: 4,
|
|
489
|
+
example: 10
|
|
490
|
+
},
|
|
491
|
+
cilium_socket_lb_host_namespace_only: {
|
|
492
|
+
type: 'boolean',
|
|
493
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
494
|
+
example: false
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
additionalProperties: false,
|
|
498
|
+
description: 'Cluster feature toggles.',
|
|
499
|
+
default: {
|
|
500
|
+
gpu_sharing_strategy: 'none',
|
|
501
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
502
|
+
cilium_socket_lb_host_namespace_only: false
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
region: {
|
|
506
|
+
type: 'string',
|
|
507
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
508
|
+
example: 'europe-central-1a'
|
|
509
|
+
},
|
|
510
|
+
networking: {
|
|
511
|
+
type: 'object',
|
|
512
|
+
properties: {
|
|
513
|
+
pod_cidr: {
|
|
514
|
+
type: 'string',
|
|
515
|
+
description: 'CIDR block for pod IPs.',
|
|
516
|
+
default: '10.244.0.0/16'
|
|
517
|
+
},
|
|
518
|
+
service_cidr: {
|
|
519
|
+
type: 'string',
|
|
520
|
+
description: 'CIDR block for service IPs.',
|
|
521
|
+
default: '10.96.0.0/12'
|
|
522
|
+
},
|
|
523
|
+
dual_stack: {
|
|
524
|
+
type: 'boolean',
|
|
525
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
526
|
+
},
|
|
527
|
+
pod_cidr_v6: {
|
|
528
|
+
type: 'string',
|
|
529
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
530
|
+
default: '2001:db8:1:2::/48'
|
|
531
|
+
},
|
|
532
|
+
service_cidr_v6: {
|
|
533
|
+
type: 'string',
|
|
534
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
535
|
+
default: '2001:db8:1:1::/112'
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
additionalProperties: false,
|
|
539
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
540
|
+
default: {
|
|
541
|
+
pod_cidr: '10.244.0.0/16',
|
|
542
|
+
service_cidr: '10.96.0.0/12',
|
|
543
|
+
dual_stack: false,
|
|
544
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
545
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
546
|
+
}
|
|
479
547
|
}
|
|
480
548
|
},
|
|
481
549
|
required: [
|
|
482
550
|
'name',
|
|
483
|
-
'
|
|
551
|
+
'region'
|
|
484
552
|
],
|
|
485
|
-
additionalProperties: false
|
|
553
|
+
additionalProperties: false,
|
|
554
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
486
555
|
};
|
|
487
556
|
export const ClusterJoinInformationSchema = {
|
|
488
557
|
type: 'object',
|
|
@@ -503,11 +572,21 @@ export const ClusterJoinInformationSchema = {
|
|
|
503
572
|
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
504
573
|
example: '10.96.0.10'
|
|
505
574
|
},
|
|
575
|
+
pod_cidr: {
|
|
576
|
+
type: 'string',
|
|
577
|
+
description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
|
|
578
|
+
example: '10.244.0.0/16'
|
|
579
|
+
},
|
|
506
580
|
auth_key: {
|
|
507
581
|
type: 'string',
|
|
508
582
|
description: 'Authentication key for the cluster.',
|
|
509
583
|
example: 'tskey-auth-kBV8wr1dk911CNTRL-...'
|
|
510
584
|
},
|
|
585
|
+
login_server: {
|
|
586
|
+
type: 'string',
|
|
587
|
+
description: 'Coordination server the node registers against. Empty on data plane v1 clusters, where the node advertises its own tag instead. A non-empty value requires a client that declares the dataplane-v2 capability.',
|
|
588
|
+
example: 'https://415026b6-f00f-44f8-968d-fc6ef4d0fc6d.fabric.europe-central-1a.cfke.io'
|
|
589
|
+
},
|
|
511
590
|
bootstrap_token: {
|
|
512
591
|
type: 'string',
|
|
513
592
|
description: 'Bootstrap token for the cluster.',
|
|
@@ -578,7 +657,9 @@ export const ClusterJoinInformationSchema = {
|
|
|
578
657
|
'certificate_authority',
|
|
579
658
|
'endpoint',
|
|
580
659
|
'cluster_dns',
|
|
660
|
+
'pod_cidr',
|
|
581
661
|
'auth_key',
|
|
662
|
+
'login_server',
|
|
582
663
|
'bootstrap_token',
|
|
583
664
|
'versions',
|
|
584
665
|
'third_party_api_access_config'
|
|
@@ -599,24 +680,123 @@ export const ClusterSchema = {
|
|
|
599
680
|
tier: {
|
|
600
681
|
type: 'string',
|
|
601
682
|
description: 'Tier of the cluster.',
|
|
683
|
+
default: 'basic',
|
|
602
684
|
example: 'pro',
|
|
603
685
|
enum: [
|
|
604
686
|
'basic',
|
|
605
|
-
'pro'
|
|
687
|
+
'pro',
|
|
688
|
+
'enterprise'
|
|
606
689
|
]
|
|
607
690
|
},
|
|
608
|
-
|
|
691
|
+
version_channel: {
|
|
692
|
+
type: 'string',
|
|
693
|
+
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
694
|
+
description: 'Version of the kubernetes cluster.',
|
|
695
|
+
default: '1.x.x-cfke.x',
|
|
696
|
+
example: '1.x.x-cfke.x'
|
|
697
|
+
},
|
|
698
|
+
release_channel: {
|
|
609
699
|
type: 'string',
|
|
610
|
-
description: '
|
|
611
|
-
default: '
|
|
612
|
-
example: '
|
|
700
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
701
|
+
default: 'rapid',
|
|
702
|
+
example: 'rapid',
|
|
613
703
|
enum: [
|
|
614
|
-
'
|
|
615
|
-
'
|
|
616
|
-
'
|
|
617
|
-
'northamerica-central-1a'
|
|
704
|
+
'rapid',
|
|
705
|
+
'stable',
|
|
706
|
+
'extended'
|
|
618
707
|
]
|
|
619
708
|
},
|
|
709
|
+
features: {
|
|
710
|
+
type: 'object',
|
|
711
|
+
properties: {
|
|
712
|
+
gpu_sharing_strategy: {
|
|
713
|
+
type: 'string',
|
|
714
|
+
description: 'GPU sharing strategy.',
|
|
715
|
+
default: 'none',
|
|
716
|
+
example: 'none',
|
|
717
|
+
enum: [
|
|
718
|
+
'none',
|
|
719
|
+
'mps',
|
|
720
|
+
'time_slicing'
|
|
721
|
+
]
|
|
722
|
+
},
|
|
723
|
+
gpu_max_shared_clients_per_gpu: {
|
|
724
|
+
type: 'integer',
|
|
725
|
+
minimum: 2,
|
|
726
|
+
maximum: 48,
|
|
727
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
728
|
+
default: 4,
|
|
729
|
+
example: 10
|
|
730
|
+
},
|
|
731
|
+
cilium_socket_lb_host_namespace_only: {
|
|
732
|
+
type: 'boolean',
|
|
733
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
734
|
+
example: false
|
|
735
|
+
}
|
|
736
|
+
},
|
|
737
|
+
required: [
|
|
738
|
+
'gpu_sharing_strategy',
|
|
739
|
+
'gpu_max_shared_clients_per_gpu',
|
|
740
|
+
'cilium_socket_lb_host_namespace_only'
|
|
741
|
+
],
|
|
742
|
+
additionalProperties: false,
|
|
743
|
+
description: 'Cluster feature toggles.',
|
|
744
|
+
default: {
|
|
745
|
+
gpu_sharing_strategy: 'none',
|
|
746
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
747
|
+
cilium_socket_lb_host_namespace_only: false
|
|
748
|
+
}
|
|
749
|
+
},
|
|
750
|
+
region: {
|
|
751
|
+
type: 'string',
|
|
752
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
753
|
+
example: 'europe-central-1a'
|
|
754
|
+
},
|
|
755
|
+
networking: {
|
|
756
|
+
type: 'object',
|
|
757
|
+
properties: {
|
|
758
|
+
pod_cidr: {
|
|
759
|
+
type: 'string',
|
|
760
|
+
description: 'CIDR block for pod IPs.',
|
|
761
|
+
default: '10.244.0.0/16'
|
|
762
|
+
},
|
|
763
|
+
service_cidr: {
|
|
764
|
+
type: 'string',
|
|
765
|
+
description: 'CIDR block for service IPs.',
|
|
766
|
+
default: '10.96.0.0/12'
|
|
767
|
+
},
|
|
768
|
+
dual_stack: {
|
|
769
|
+
type: 'boolean',
|
|
770
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
771
|
+
},
|
|
772
|
+
pod_cidr_v6: {
|
|
773
|
+
type: 'string',
|
|
774
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
775
|
+
default: '2001:db8:1:2::/48'
|
|
776
|
+
},
|
|
777
|
+
service_cidr_v6: {
|
|
778
|
+
type: 'string',
|
|
779
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
780
|
+
default: '2001:db8:1:1::/112'
|
|
781
|
+
}
|
|
782
|
+
},
|
|
783
|
+
required: [
|
|
784
|
+
'pod_cidr',
|
|
785
|
+
'service_cidr',
|
|
786
|
+
'dual_stack',
|
|
787
|
+
'pod_cidr_v6',
|
|
788
|
+
'service_cidr_v6'
|
|
789
|
+
],
|
|
790
|
+
additionalProperties: false,
|
|
791
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
792
|
+
default: {
|
|
793
|
+
pod_cidr: '10.244.0.0/16',
|
|
794
|
+
service_cidr: '10.96.0.0/12',
|
|
795
|
+
dual_stack: false,
|
|
796
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
797
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
798
|
+
}
|
|
799
|
+
},
|
|
620
800
|
id: {
|
|
621
801
|
type: 'string',
|
|
622
802
|
format: 'uuid',
|
|
@@ -625,16 +805,13 @@ export const ClusterSchema = {
|
|
|
625
805
|
},
|
|
626
806
|
status: {
|
|
627
807
|
type: 'string',
|
|
628
|
-
description: 'Status of the cluster.
|
|
629
|
-
example: '
|
|
808
|
+
description: 'Status of the cluster.',
|
|
809
|
+
example: 'deployed',
|
|
630
810
|
enum: [
|
|
631
|
-
'active',
|
|
632
|
-
'disabled',
|
|
633
|
-
'deleted',
|
|
634
811
|
'creating',
|
|
635
812
|
'deployed',
|
|
636
|
-
'
|
|
637
|
-
'
|
|
813
|
+
'updating',
|
|
814
|
+
'disabled'
|
|
638
815
|
]
|
|
639
816
|
},
|
|
640
817
|
endpoint: {
|
|
@@ -642,8 +819,8 @@ export const ClusterSchema = {
|
|
|
642
819
|
{
|
|
643
820
|
type: 'string',
|
|
644
821
|
format: 'uri',
|
|
645
|
-
description: 'URL signed by
|
|
646
|
-
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.
|
|
822
|
+
description: 'URL signed by a public CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
823
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
647
824
|
},
|
|
648
825
|
{
|
|
649
826
|
type: 'string',
|
|
@@ -658,7 +835,7 @@ export const ClusterSchema = {
|
|
|
658
835
|
{
|
|
659
836
|
type: 'string',
|
|
660
837
|
format: 'uri',
|
|
661
|
-
description: '
|
|
838
|
+
description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
|
|
662
839
|
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
663
840
|
},
|
|
664
841
|
{
|
|
@@ -693,21 +870,22 @@ export const ClusterSchema = {
|
|
|
693
870
|
type: 'boolean',
|
|
694
871
|
description: 'Indicates if the cluster is ready to be used.',
|
|
695
872
|
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
873
|
}
|
|
703
874
|
},
|
|
704
875
|
required: [
|
|
705
876
|
'name',
|
|
706
877
|
'tier',
|
|
878
|
+
'version_channel',
|
|
879
|
+
'release_channel',
|
|
880
|
+
'features',
|
|
881
|
+
'region',
|
|
882
|
+
'networking',
|
|
707
883
|
'id',
|
|
708
|
-
'status'
|
|
884
|
+
'status',
|
|
885
|
+
'ready'
|
|
709
886
|
],
|
|
710
|
-
additionalProperties: false
|
|
887
|
+
additionalProperties: false,
|
|
888
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
711
889
|
};
|
|
712
890
|
export const ClusterUpdateInputSchema = {
|
|
713
891
|
type: 'object',
|
|
@@ -723,23 +901,74 @@ export const ClusterUpdateInputSchema = {
|
|
|
723
901
|
tier: {
|
|
724
902
|
type: 'string',
|
|
725
903
|
description: 'Tier of the cluster.',
|
|
904
|
+
default: 'basic',
|
|
726
905
|
example: 'pro',
|
|
727
906
|
enum: [
|
|
728
907
|
'basic',
|
|
729
|
-
'pro'
|
|
908
|
+
'pro',
|
|
909
|
+
'enterprise'
|
|
730
910
|
]
|
|
731
911
|
},
|
|
732
912
|
version_channel: {
|
|
733
913
|
type: 'string',
|
|
734
914
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
735
915
|
description: 'Version of the kubernetes cluster.',
|
|
916
|
+
default: '1.x.x-cfke.x',
|
|
736
917
|
example: '1.x.x-cfke.x'
|
|
918
|
+
},
|
|
919
|
+
release_channel: {
|
|
920
|
+
type: 'string',
|
|
921
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
922
|
+
default: 'rapid',
|
|
923
|
+
example: 'rapid',
|
|
924
|
+
enum: [
|
|
925
|
+
'rapid',
|
|
926
|
+
'stable',
|
|
927
|
+
'extended'
|
|
928
|
+
]
|
|
929
|
+
},
|
|
930
|
+
features: {
|
|
931
|
+
type: 'object',
|
|
932
|
+
properties: {
|
|
933
|
+
gpu_sharing_strategy: {
|
|
934
|
+
type: 'string',
|
|
935
|
+
description: 'GPU sharing strategy.',
|
|
936
|
+
default: 'none',
|
|
937
|
+
example: 'none',
|
|
938
|
+
enum: [
|
|
939
|
+
'none',
|
|
940
|
+
'mps',
|
|
941
|
+
'time_slicing'
|
|
942
|
+
]
|
|
943
|
+
},
|
|
944
|
+
gpu_max_shared_clients_per_gpu: {
|
|
945
|
+
type: 'integer',
|
|
946
|
+
minimum: 2,
|
|
947
|
+
maximum: 48,
|
|
948
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
949
|
+
default: 4,
|
|
950
|
+
example: 10
|
|
951
|
+
},
|
|
952
|
+
cilium_socket_lb_host_namespace_only: {
|
|
953
|
+
type: 'boolean',
|
|
954
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
955
|
+
example: false
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
additionalProperties: false,
|
|
959
|
+
description: 'Cluster feature toggles.',
|
|
960
|
+
default: {
|
|
961
|
+
gpu_sharing_strategy: 'none',
|
|
962
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
963
|
+
cilium_socket_lb_host_namespace_only: false
|
|
964
|
+
}
|
|
737
965
|
}
|
|
738
966
|
},
|
|
739
967
|
required: [
|
|
740
|
-
'
|
|
968
|
+
'name'
|
|
741
969
|
],
|
|
742
|
-
additionalProperties: false
|
|
970
|
+
additionalProperties: false,
|
|
971
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
743
972
|
};
|
|
744
973
|
export const FleetCreateInputSchema = {
|
|
745
974
|
type: 'object',
|
|
@@ -785,8 +1014,8 @@ export const FleetCreateInputSchema = {
|
|
|
785
1014
|
type: 'string',
|
|
786
1015
|
maxLength: 64,
|
|
787
1016
|
minLength: 64,
|
|
788
|
-
pattern: '^[A-Za-z0-9]
|
|
789
|
-
description: 'Hetzner Cloud API token with read
|
|
1017
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1018
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
790
1019
|
}
|
|
791
1020
|
},
|
|
792
1021
|
required: [
|
|
@@ -1011,7 +1240,8 @@ export const FleetCreateInputSchema = {
|
|
|
1011
1240
|
'z3'
|
|
1012
1241
|
]
|
|
1013
1242
|
},
|
|
1014
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1243
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1244
|
+
default: []
|
|
1015
1245
|
},
|
|
1016
1246
|
'topology.kubernetes.io/region': {
|
|
1017
1247
|
type: 'array',
|
|
@@ -1084,15 +1314,27 @@ export const FleetCreateInputSchema = {
|
|
|
1084
1314
|
'us-west4'
|
|
1085
1315
|
]
|
|
1086
1316
|
},
|
|
1087
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1317
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1318
|
+
default: []
|
|
1088
1319
|
}
|
|
1089
1320
|
},
|
|
1090
1321
|
additionalProperties: false,
|
|
1091
|
-
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.
|
|
1322
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
1323
|
+
default: {
|
|
1324
|
+
'karpenter.sh/capacity-type': [
|
|
1325
|
+
'on-demand',
|
|
1326
|
+
'spot'
|
|
1327
|
+
],
|
|
1328
|
+
'kubernetes.io/arch': [
|
|
1329
|
+
'amd64'
|
|
1330
|
+
],
|
|
1331
|
+
'cfke.io/instance-family': [],
|
|
1332
|
+
'topology.kubernetes.io/region': []
|
|
1333
|
+
}
|
|
1092
1334
|
},
|
|
1093
1335
|
scalingProfile: {
|
|
1094
1336
|
type: 'string',
|
|
1095
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1337
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1096
1338
|
default: 'conservative',
|
|
1097
1339
|
example: 'conservative',
|
|
1098
1340
|
enum: [
|
|
@@ -1100,6 +1342,44 @@ export const FleetCreateInputSchema = {
|
|
|
1100
1342
|
'conservative'
|
|
1101
1343
|
]
|
|
1102
1344
|
},
|
|
1345
|
+
taints: {
|
|
1346
|
+
type: 'array',
|
|
1347
|
+
items: {
|
|
1348
|
+
type: 'object',
|
|
1349
|
+
properties: {
|
|
1350
|
+
key: {
|
|
1351
|
+
type: 'string',
|
|
1352
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1353
|
+
example: 'dedicated'
|
|
1354
|
+
},
|
|
1355
|
+
value: {
|
|
1356
|
+
type: 'string',
|
|
1357
|
+
maxLength: 63,
|
|
1358
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1359
|
+
description: 'Taint value. Optional.',
|
|
1360
|
+
example: 'ci'
|
|
1361
|
+
},
|
|
1362
|
+
effect: {
|
|
1363
|
+
type: 'string',
|
|
1364
|
+
description: 'Taint effect.',
|
|
1365
|
+
example: 'NoSchedule',
|
|
1366
|
+
enum: [
|
|
1367
|
+
'NoSchedule',
|
|
1368
|
+
'PreferNoSchedule',
|
|
1369
|
+
'NoExecute'
|
|
1370
|
+
]
|
|
1371
|
+
}
|
|
1372
|
+
},
|
|
1373
|
+
required: [
|
|
1374
|
+
'key',
|
|
1375
|
+
'effect'
|
|
1376
|
+
],
|
|
1377
|
+
additionalProperties: false
|
|
1378
|
+
},
|
|
1379
|
+
maxItems: 50,
|
|
1380
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1381
|
+
default: []
|
|
1382
|
+
},
|
|
1103
1383
|
id: {
|
|
1104
1384
|
type: 'string',
|
|
1105
1385
|
maxLength: 63,
|
|
@@ -1112,7 +1392,8 @@ export const FleetCreateInputSchema = {
|
|
|
1112
1392
|
required: [
|
|
1113
1393
|
'id'
|
|
1114
1394
|
],
|
|
1115
|
-
additionalProperties: false
|
|
1395
|
+
additionalProperties: false,
|
|
1396
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
1116
1397
|
};
|
|
1117
1398
|
export const FleetSchema = {
|
|
1118
1399
|
type: 'object',
|
|
@@ -1382,7 +1663,8 @@ export const FleetSchema = {
|
|
|
1382
1663
|
'z3'
|
|
1383
1664
|
]
|
|
1384
1665
|
},
|
|
1385
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1666
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1667
|
+
default: []
|
|
1386
1668
|
},
|
|
1387
1669
|
'topology.kubernetes.io/region': {
|
|
1388
1670
|
type: 'array',
|
|
@@ -1455,15 +1737,31 @@ export const FleetSchema = {
|
|
|
1455
1737
|
'us-west4'
|
|
1456
1738
|
]
|
|
1457
1739
|
},
|
|
1458
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1740
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1741
|
+
default: []
|
|
1459
1742
|
}
|
|
1460
1743
|
},
|
|
1744
|
+
required: [
|
|
1745
|
+
'karpenter.sh/capacity-type',
|
|
1746
|
+
'kubernetes.io/arch'
|
|
1747
|
+
],
|
|
1461
1748
|
additionalProperties: false,
|
|
1462
|
-
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.
|
|
1749
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
1750
|
+
default: {
|
|
1751
|
+
'karpenter.sh/capacity-type': [
|
|
1752
|
+
'on-demand',
|
|
1753
|
+
'spot'
|
|
1754
|
+
],
|
|
1755
|
+
'kubernetes.io/arch': [
|
|
1756
|
+
'amd64'
|
|
1757
|
+
],
|
|
1758
|
+
'cfke.io/instance-family': [],
|
|
1759
|
+
'topology.kubernetes.io/region': []
|
|
1760
|
+
}
|
|
1463
1761
|
},
|
|
1464
1762
|
scalingProfile: {
|
|
1465
1763
|
type: 'string',
|
|
1466
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1764
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1467
1765
|
default: 'conservative',
|
|
1468
1766
|
example: 'conservative',
|
|
1469
1767
|
enum: [
|
|
@@ -1471,6 +1769,44 @@ export const FleetSchema = {
|
|
|
1471
1769
|
'conservative'
|
|
1472
1770
|
]
|
|
1473
1771
|
},
|
|
1772
|
+
taints: {
|
|
1773
|
+
type: 'array',
|
|
1774
|
+
items: {
|
|
1775
|
+
type: 'object',
|
|
1776
|
+
properties: {
|
|
1777
|
+
key: {
|
|
1778
|
+
type: 'string',
|
|
1779
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1780
|
+
example: 'dedicated'
|
|
1781
|
+
},
|
|
1782
|
+
value: {
|
|
1783
|
+
type: 'string',
|
|
1784
|
+
maxLength: 63,
|
|
1785
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1786
|
+
description: 'Taint value. Optional.',
|
|
1787
|
+
example: 'ci'
|
|
1788
|
+
},
|
|
1789
|
+
effect: {
|
|
1790
|
+
type: 'string',
|
|
1791
|
+
description: 'Taint effect.',
|
|
1792
|
+
example: 'NoSchedule',
|
|
1793
|
+
enum: [
|
|
1794
|
+
'NoSchedule',
|
|
1795
|
+
'PreferNoSchedule',
|
|
1796
|
+
'NoExecute'
|
|
1797
|
+
]
|
|
1798
|
+
}
|
|
1799
|
+
},
|
|
1800
|
+
required: [
|
|
1801
|
+
'key',
|
|
1802
|
+
'effect'
|
|
1803
|
+
],
|
|
1804
|
+
additionalProperties: false
|
|
1805
|
+
},
|
|
1806
|
+
maxItems: 50,
|
|
1807
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1808
|
+
default: []
|
|
1809
|
+
},
|
|
1474
1810
|
id: {
|
|
1475
1811
|
type: 'string',
|
|
1476
1812
|
maxLength: 63,
|
|
@@ -1478,13 +1814,39 @@ export const FleetSchema = {
|
|
|
1478
1814
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
1479
1815
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
1480
1816
|
example: 'new-clouds-fleet'
|
|
1817
|
+
},
|
|
1818
|
+
ready: {
|
|
1819
|
+
type: 'boolean',
|
|
1820
|
+
description: 'Indicates whether the fleet configuration is healthy.',
|
|
1821
|
+
example: true
|
|
1822
|
+
},
|
|
1823
|
+
status_message: {
|
|
1824
|
+
type: 'string',
|
|
1825
|
+
description: 'Human-readable reason the fleet is not ready. Present only when `ready` is false.',
|
|
1826
|
+
example: 'Invalid provider permissions.'
|
|
1827
|
+
},
|
|
1828
|
+
created_at: {
|
|
1829
|
+
type: 'string',
|
|
1830
|
+
description: 'Creation date and time of the fleet.',
|
|
1831
|
+
example: '2024-09-12T09:11:27Z'
|
|
1832
|
+
},
|
|
1833
|
+
updated_at: {
|
|
1834
|
+
type: 'string',
|
|
1835
|
+
description: 'Date and time the fleet was last updated.',
|
|
1836
|
+
example: '2024-09-12T09:11:27Z'
|
|
1481
1837
|
}
|
|
1482
1838
|
},
|
|
1483
1839
|
required: [
|
|
1840
|
+
'constraints',
|
|
1484
1841
|
'scalingProfile',
|
|
1485
|
-
'
|
|
1842
|
+
'taints',
|
|
1843
|
+
'id',
|
|
1844
|
+
'ready',
|
|
1845
|
+
'created_at',
|
|
1846
|
+
'updated_at'
|
|
1486
1847
|
],
|
|
1487
|
-
additionalProperties: false
|
|
1848
|
+
additionalProperties: false,
|
|
1849
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
1488
1850
|
};
|
|
1489
1851
|
export const FleetUpdateInputSchema = {
|
|
1490
1852
|
type: 'object',
|
|
@@ -1530,8 +1892,8 @@ export const FleetUpdateInputSchema = {
|
|
|
1530
1892
|
type: 'string',
|
|
1531
1893
|
maxLength: 64,
|
|
1532
1894
|
minLength: 64,
|
|
1533
|
-
pattern: '^[A-Za-z0-9]
|
|
1534
|
-
description: 'Hetzner Cloud API token with read
|
|
1895
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1896
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
1535
1897
|
}
|
|
1536
1898
|
},
|
|
1537
1899
|
required: [
|
|
@@ -1570,7 +1932,11 @@ export const FleetUpdateInputSchema = {
|
|
|
1570
1932
|
]
|
|
1571
1933
|
},
|
|
1572
1934
|
minItems: 1,
|
|
1573
|
-
description: 'Allowed values for `karpenter.sh/capacity-type`.'
|
|
1935
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1936
|
+
default: [
|
|
1937
|
+
'on-demand',
|
|
1938
|
+
'spot'
|
|
1939
|
+
]
|
|
1574
1940
|
},
|
|
1575
1941
|
'kubernetes.io/arch': {
|
|
1576
1942
|
type: 'array',
|
|
@@ -1582,7 +1948,10 @@ export const FleetUpdateInputSchema = {
|
|
|
1582
1948
|
]
|
|
1583
1949
|
},
|
|
1584
1950
|
minItems: 1,
|
|
1585
|
-
description: 'Allowed values for `kubernetes.io/arch`.'
|
|
1951
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1952
|
+
default: [
|
|
1953
|
+
'amd64'
|
|
1954
|
+
]
|
|
1586
1955
|
},
|
|
1587
1956
|
'cfke.io/instance-family': {
|
|
1588
1957
|
type: 'array',
|
|
@@ -1749,7 +2118,8 @@ export const FleetUpdateInputSchema = {
|
|
|
1749
2118
|
'z3'
|
|
1750
2119
|
]
|
|
1751
2120
|
},
|
|
1752
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
2121
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
2122
|
+
default: []
|
|
1753
2123
|
},
|
|
1754
2124
|
'topology.kubernetes.io/region': {
|
|
1755
2125
|
type: 'array',
|
|
@@ -1822,24 +2192,98 @@ export const FleetUpdateInputSchema = {
|
|
|
1822
2192
|
'us-west4'
|
|
1823
2193
|
]
|
|
1824
2194
|
},
|
|
1825
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
2195
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
2196
|
+
default: []
|
|
1826
2197
|
}
|
|
1827
2198
|
},
|
|
1828
2199
|
additionalProperties: false,
|
|
1829
|
-
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.
|
|
2200
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
2201
|
+
default: {
|
|
2202
|
+
'karpenter.sh/capacity-type': [
|
|
2203
|
+
'on-demand',
|
|
2204
|
+
'spot'
|
|
2205
|
+
],
|
|
2206
|
+
'kubernetes.io/arch': [
|
|
2207
|
+
'amd64'
|
|
2208
|
+
],
|
|
2209
|
+
'cfke.io/instance-family': [],
|
|
2210
|
+
'topology.kubernetes.io/region': []
|
|
2211
|
+
}
|
|
1830
2212
|
},
|
|
1831
2213
|
scalingProfile: {
|
|
1832
2214
|
type: 'string',
|
|
1833
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
2215
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
2216
|
+
default: 'conservative',
|
|
1834
2217
|
example: 'conservative',
|
|
1835
2218
|
enum: [
|
|
1836
2219
|
'aggressive',
|
|
1837
2220
|
'conservative'
|
|
1838
2221
|
]
|
|
2222
|
+
},
|
|
2223
|
+
taints: {
|
|
2224
|
+
type: 'array',
|
|
2225
|
+
items: {
|
|
2226
|
+
type: 'object',
|
|
2227
|
+
properties: {
|
|
2228
|
+
key: {
|
|
2229
|
+
type: 'string',
|
|
2230
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
2231
|
+
example: 'dedicated'
|
|
2232
|
+
},
|
|
2233
|
+
value: {
|
|
2234
|
+
type: 'string',
|
|
2235
|
+
maxLength: 63,
|
|
2236
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
2237
|
+
description: 'Taint value. Optional.',
|
|
2238
|
+
example: 'ci'
|
|
2239
|
+
},
|
|
2240
|
+
effect: {
|
|
2241
|
+
type: 'string',
|
|
2242
|
+
description: 'Taint effect.',
|
|
2243
|
+
example: 'NoSchedule',
|
|
2244
|
+
enum: [
|
|
2245
|
+
'NoSchedule',
|
|
2246
|
+
'PreferNoSchedule',
|
|
2247
|
+
'NoExecute'
|
|
2248
|
+
]
|
|
2249
|
+
}
|
|
2250
|
+
},
|
|
2251
|
+
required: [
|
|
2252
|
+
'key',
|
|
2253
|
+
'effect'
|
|
2254
|
+
],
|
|
2255
|
+
additionalProperties: false
|
|
2256
|
+
},
|
|
2257
|
+
maxItems: 50,
|
|
2258
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
2259
|
+
default: []
|
|
2260
|
+
}
|
|
2261
|
+
},
|
|
2262
|
+
additionalProperties: false,
|
|
2263
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
2264
|
+
};
|
|
2265
|
+
export const InviteCreateInputSchema = {
|
|
2266
|
+
type: 'object',
|
|
2267
|
+
properties: {
|
|
2268
|
+
email: {
|
|
2269
|
+
type: 'string',
|
|
2270
|
+
format: 'email',
|
|
2271
|
+
description: 'Email address of the user to invite.',
|
|
2272
|
+
example: 'email@example.com'
|
|
2273
|
+
},
|
|
2274
|
+
role: {
|
|
2275
|
+
type: 'string',
|
|
2276
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2277
|
+
default: 'User',
|
|
2278
|
+
example: 'User',
|
|
2279
|
+
enum: [
|
|
2280
|
+
'Administrator',
|
|
2281
|
+
'User'
|
|
2282
|
+
]
|
|
1839
2283
|
}
|
|
1840
2284
|
},
|
|
1841
2285
|
required: [
|
|
1842
|
-
'
|
|
2286
|
+
'email'
|
|
1843
2287
|
],
|
|
1844
2288
|
additionalProperties: false
|
|
1845
2289
|
};
|
|
@@ -1873,6 +2317,16 @@ export const InviteSchema = {
|
|
|
1873
2317
|
type: 'string',
|
|
1874
2318
|
description: 'Generated unique invite code.',
|
|
1875
2319
|
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
2320
|
+
},
|
|
2321
|
+
role: {
|
|
2322
|
+
type: 'string',
|
|
2323
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2324
|
+
default: 'User',
|
|
2325
|
+
example: 'User',
|
|
2326
|
+
enum: [
|
|
2327
|
+
'Administrator',
|
|
2328
|
+
'User'
|
|
2329
|
+
]
|
|
1876
2330
|
}
|
|
1877
2331
|
},
|
|
1878
2332
|
required: [
|
|
@@ -1880,10 +2334,174 @@ export const InviteSchema = {
|
|
|
1880
2334
|
],
|
|
1881
2335
|
additionalProperties: false
|
|
1882
2336
|
};
|
|
1883
|
-
export const
|
|
2337
|
+
export const InvoicePaymentAttemptSchema = {
|
|
1884
2338
|
type: 'object',
|
|
1885
2339
|
properties: {
|
|
1886
|
-
|
|
2340
|
+
invoice_id: {
|
|
2341
|
+
type: 'string',
|
|
2342
|
+
description: 'Identifier of the invoice.',
|
|
2343
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2344
|
+
},
|
|
2345
|
+
number: {
|
|
2346
|
+
type: 'string',
|
|
2347
|
+
nullable: true,
|
|
2348
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2349
|
+
example: 'CF-0042'
|
|
2350
|
+
},
|
|
2351
|
+
amount: {
|
|
2352
|
+
type: 'number',
|
|
2353
|
+
format: 'float',
|
|
2354
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2355
|
+
example: 4200
|
|
2356
|
+
},
|
|
2357
|
+
currency: {
|
|
2358
|
+
type: 'string',
|
|
2359
|
+
description: 'Currency of the invoice.',
|
|
2360
|
+
example: 'eur'
|
|
2361
|
+
},
|
|
2362
|
+
status: {
|
|
2363
|
+
type: 'string',
|
|
2364
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2365
|
+
example: 'paid',
|
|
2366
|
+
enum: [
|
|
2367
|
+
'paid',
|
|
2368
|
+
'processing',
|
|
2369
|
+
'requires_action',
|
|
2370
|
+
'failed'
|
|
2371
|
+
]
|
|
2372
|
+
},
|
|
2373
|
+
client_secret: {
|
|
2374
|
+
type: 'string',
|
|
2375
|
+
nullable: true,
|
|
2376
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2377
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2378
|
+
},
|
|
2379
|
+
failure_code: {
|
|
2380
|
+
type: 'string',
|
|
2381
|
+
nullable: true,
|
|
2382
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2383
|
+
example: 'insufficient_funds'
|
|
2384
|
+
},
|
|
2385
|
+
failure_message: {
|
|
2386
|
+
type: 'string',
|
|
2387
|
+
nullable: true,
|
|
2388
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2389
|
+
example: 'Your card has insufficient funds.'
|
|
2390
|
+
}
|
|
2391
|
+
},
|
|
2392
|
+
required: [
|
|
2393
|
+
'invoice_id',
|
|
2394
|
+
'number',
|
|
2395
|
+
'amount',
|
|
2396
|
+
'currency',
|
|
2397
|
+
'status',
|
|
2398
|
+
'client_secret',
|
|
2399
|
+
'failure_code',
|
|
2400
|
+
'failure_message'
|
|
2401
|
+
],
|
|
2402
|
+
additionalProperties: false
|
|
2403
|
+
};
|
|
2404
|
+
export const InvoicePaymentResultSchema = {
|
|
2405
|
+
type: 'object',
|
|
2406
|
+
properties: {
|
|
2407
|
+
code: {
|
|
2408
|
+
type: 'string',
|
|
2409
|
+
description: 'Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).',
|
|
2410
|
+
example: 'partially_paid',
|
|
2411
|
+
enum: [
|
|
2412
|
+
'paid',
|
|
2413
|
+
'processing',
|
|
2414
|
+
'action_required',
|
|
2415
|
+
'partially_paid',
|
|
2416
|
+
'failed',
|
|
2417
|
+
'nothing_due',
|
|
2418
|
+
'bank_transfer_due'
|
|
2419
|
+
]
|
|
2420
|
+
},
|
|
2421
|
+
message: {
|
|
2422
|
+
type: 'string',
|
|
2423
|
+
description: 'Summary of the outcome, suitable for display.',
|
|
2424
|
+
example: '1 of 2 open invoices was paid. Invoice CF-0043 was declined: Your card has insufficient funds.'
|
|
2425
|
+
},
|
|
2426
|
+
results: {
|
|
2427
|
+
type: 'array',
|
|
2428
|
+
items: {
|
|
2429
|
+
type: 'object',
|
|
2430
|
+
properties: {
|
|
2431
|
+
invoice_id: {
|
|
2432
|
+
type: 'string',
|
|
2433
|
+
description: 'Identifier of the invoice.',
|
|
2434
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2435
|
+
},
|
|
2436
|
+
number: {
|
|
2437
|
+
type: 'string',
|
|
2438
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2439
|
+
example: 'CF-0042'
|
|
2440
|
+
},
|
|
2441
|
+
amount: {
|
|
2442
|
+
type: 'number',
|
|
2443
|
+
format: 'float',
|
|
2444
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2445
|
+
example: 4200
|
|
2446
|
+
},
|
|
2447
|
+
currency: {
|
|
2448
|
+
type: 'string',
|
|
2449
|
+
description: 'Currency of the invoice.',
|
|
2450
|
+
example: 'eur'
|
|
2451
|
+
},
|
|
2452
|
+
status: {
|
|
2453
|
+
type: 'string',
|
|
2454
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2455
|
+
example: 'paid',
|
|
2456
|
+
enum: [
|
|
2457
|
+
'paid',
|
|
2458
|
+
'processing',
|
|
2459
|
+
'requires_action',
|
|
2460
|
+
'failed'
|
|
2461
|
+
]
|
|
2462
|
+
},
|
|
2463
|
+
client_secret: {
|
|
2464
|
+
type: 'string',
|
|
2465
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2466
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2467
|
+
},
|
|
2468
|
+
failure_code: {
|
|
2469
|
+
type: 'string',
|
|
2470
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2471
|
+
example: 'insufficient_funds'
|
|
2472
|
+
},
|
|
2473
|
+
failure_message: {
|
|
2474
|
+
type: 'string',
|
|
2475
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2476
|
+
example: 'Your card has insufficient funds.'
|
|
2477
|
+
}
|
|
2478
|
+
},
|
|
2479
|
+
required: [
|
|
2480
|
+
'invoice_id',
|
|
2481
|
+
'number',
|
|
2482
|
+
'amount',
|
|
2483
|
+
'currency',
|
|
2484
|
+
'status',
|
|
2485
|
+
'client_secret',
|
|
2486
|
+
'failure_code',
|
|
2487
|
+
'failure_message'
|
|
2488
|
+
],
|
|
2489
|
+
additionalProperties: false
|
|
2490
|
+
},
|
|
2491
|
+
description: 'One entry per invoice charged, oldest first.'
|
|
2492
|
+
}
|
|
2493
|
+
},
|
|
2494
|
+
required: [
|
|
2495
|
+
'code',
|
|
2496
|
+
'message',
|
|
2497
|
+
'results'
|
|
2498
|
+
],
|
|
2499
|
+
additionalProperties: false
|
|
2500
|
+
};
|
|
2501
|
+
export const InvoiceSchema = {
|
|
2502
|
+
type: 'object',
|
|
2503
|
+
properties: {
|
|
2504
|
+
id: {
|
|
1887
2505
|
type: 'string',
|
|
1888
2506
|
description: 'Unique identifier of the invoice.',
|
|
1889
2507
|
example: 'in_1234567890xCrwxghOTj1234'
|
|
@@ -2093,6 +2711,15 @@ export const MarketplaceListingSchema = {
|
|
|
2093
2711
|
export const OrganizationCreateInputSchema = {
|
|
2094
2712
|
type: 'object',
|
|
2095
2713
|
properties: {
|
|
2714
|
+
type: {
|
|
2715
|
+
type: 'string',
|
|
2716
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2717
|
+
example: 'business',
|
|
2718
|
+
enum: [
|
|
2719
|
+
'business',
|
|
2720
|
+
'personal'
|
|
2721
|
+
]
|
|
2722
|
+
},
|
|
2096
2723
|
email: {
|
|
2097
2724
|
type: 'string',
|
|
2098
2725
|
format: 'email',
|
|
@@ -2101,11 +2728,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
2101
2728
|
},
|
|
2102
2729
|
first_name: {
|
|
2103
2730
|
type: 'string',
|
|
2731
|
+
minLength: 1,
|
|
2104
2732
|
description: 'First name of the billing contact person.',
|
|
2105
2733
|
example: 'John'
|
|
2106
2734
|
},
|
|
2107
2735
|
last_name: {
|
|
2108
2736
|
type: 'string',
|
|
2737
|
+
minLength: 1,
|
|
2109
2738
|
description: 'Last name of the billing contact person.',
|
|
2110
2739
|
example: 'Doe'
|
|
2111
2740
|
},
|
|
@@ -2124,6 +2753,7 @@ export const OrganizationCreateInputSchema = {
|
|
|
2124
2753
|
}
|
|
2125
2754
|
},
|
|
2126
2755
|
required: [
|
|
2756
|
+
'type',
|
|
2127
2757
|
'email',
|
|
2128
2758
|
'first_name',
|
|
2129
2759
|
'last_name',
|
|
@@ -2132,6 +2762,20 @@ export const OrganizationCreateInputSchema = {
|
|
|
2132
2762
|
],
|
|
2133
2763
|
additionalProperties: false
|
|
2134
2764
|
};
|
|
2765
|
+
export const OrganizationCreateOutputSchema = {
|
|
2766
|
+
type: 'object',
|
|
2767
|
+
properties: {
|
|
2768
|
+
id: {
|
|
2769
|
+
type: 'string',
|
|
2770
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2771
|
+
example: 'organization-id'
|
|
2772
|
+
}
|
|
2773
|
+
},
|
|
2774
|
+
required: [
|
|
2775
|
+
'id'
|
|
2776
|
+
],
|
|
2777
|
+
additionalProperties: false
|
|
2778
|
+
};
|
|
2135
2779
|
export const OrganizationSchema = {
|
|
2136
2780
|
type: 'object',
|
|
2137
2781
|
properties: {
|
|
@@ -2148,6 +2792,15 @@ export const OrganizationSchema = {
|
|
|
2148
2792
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
2149
2793
|
example: 'ACME Corp.'
|
|
2150
2794
|
},
|
|
2795
|
+
type: {
|
|
2796
|
+
type: 'string',
|
|
2797
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2798
|
+
example: 'business',
|
|
2799
|
+
enum: [
|
|
2800
|
+
'business',
|
|
2801
|
+
'personal'
|
|
2802
|
+
]
|
|
2803
|
+
},
|
|
2151
2804
|
date_created: {
|
|
2152
2805
|
type: 'string',
|
|
2153
2806
|
format: 'date-time',
|
|
@@ -2179,6 +2832,17 @@ export const OrganizationSchema = {
|
|
|
2179
2832
|
description: 'Available number of Pro clusters that can be created.',
|
|
2180
2833
|
example: 999
|
|
2181
2834
|
},
|
|
2835
|
+
enterprise_clusters_max: {
|
|
2836
|
+
type: 'integer',
|
|
2837
|
+
minimum: 0,
|
|
2838
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2839
|
+
example: 999
|
|
2840
|
+
},
|
|
2841
|
+
enterprise_clusters_available: {
|
|
2842
|
+
type: 'integer',
|
|
2843
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2844
|
+
example: 999
|
|
2845
|
+
},
|
|
2182
2846
|
fleets_max: {
|
|
2183
2847
|
type: 'integer',
|
|
2184
2848
|
minimum: 0,
|
|
@@ -2198,7 +2862,7 @@ export const OrganizationSchema = {
|
|
|
2198
2862
|
type: 'array',
|
|
2199
2863
|
items: {
|
|
2200
2864
|
type: 'string',
|
|
2201
|
-
example: 'northamerica-central-
|
|
2865
|
+
example: 'northamerica-central-1a'
|
|
2202
2866
|
},
|
|
2203
2867
|
minItems: 1,
|
|
2204
2868
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -2240,6 +2904,8 @@ export const OrganizationSchema = {
|
|
|
2240
2904
|
'basic_clusters_available',
|
|
2241
2905
|
'pro_clusters_max',
|
|
2242
2906
|
'pro_clusters_available',
|
|
2907
|
+
'enterprise_clusters_max',
|
|
2908
|
+
'enterprise_clusters_available',
|
|
2243
2909
|
'fleets_max',
|
|
2244
2910
|
'cluster_tiers',
|
|
2245
2911
|
'regions',
|
|
@@ -2257,13 +2923,25 @@ export const OrganizationSchema = {
|
|
|
2257
2923
|
'closed',
|
|
2258
2924
|
'suspended'
|
|
2259
2925
|
]
|
|
2926
|
+
},
|
|
2927
|
+
verification: {
|
|
2928
|
+
type: 'string',
|
|
2929
|
+
description: 'Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.',
|
|
2930
|
+
example: 'verified',
|
|
2931
|
+
enum: [
|
|
2932
|
+
'none',
|
|
2933
|
+
'submitted',
|
|
2934
|
+
'verified'
|
|
2935
|
+
]
|
|
2260
2936
|
}
|
|
2261
2937
|
},
|
|
2262
2938
|
required: [
|
|
2263
2939
|
'id',
|
|
2940
|
+
'type',
|
|
2264
2941
|
'date_created',
|
|
2265
2942
|
'quota',
|
|
2266
|
-
'status'
|
|
2943
|
+
'status',
|
|
2944
|
+
'verification'
|
|
2267
2945
|
],
|
|
2268
2946
|
additionalProperties: false
|
|
2269
2947
|
};
|
|
@@ -2272,28 +2950,23 @@ export const PaymentMethodSchema = {
|
|
|
2272
2950
|
properties: {
|
|
2273
2951
|
id: {
|
|
2274
2952
|
type: 'string',
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
2278
|
-
},
|
|
2279
|
-
setup: {
|
|
2280
|
-
type: 'boolean',
|
|
2281
|
-
description: 'Whether organization payment method was set up and ready to use for payments.',
|
|
2282
|
-
example: true
|
|
2953
|
+
description: 'Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.',
|
|
2954
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
2283
2955
|
},
|
|
2284
2956
|
type: {
|
|
2285
2957
|
type: 'string',
|
|
2286
|
-
|
|
2287
|
-
description: 'Payment method type type. Only `card` payments supported at the moment.',
|
|
2958
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
2288
2959
|
example: 'card',
|
|
2289
2960
|
enum: [
|
|
2290
|
-
'card'
|
|
2961
|
+
'card',
|
|
2962
|
+
'sepa_debit',
|
|
2963
|
+
'bank_transfer'
|
|
2291
2964
|
]
|
|
2292
2965
|
},
|
|
2293
2966
|
last4: {
|
|
2294
2967
|
type: 'string',
|
|
2295
2968
|
nullable: true,
|
|
2296
|
-
description: 'Last 4 digits of the payment card number.',
|
|
2969
|
+
description: 'Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.',
|
|
2297
2970
|
example: '4242'
|
|
2298
2971
|
},
|
|
2299
2972
|
exp_month: {
|
|
@@ -2301,42 +2974,56 @@ export const PaymentMethodSchema = {
|
|
|
2301
2974
|
minimum: 1,
|
|
2302
2975
|
maximum: 12,
|
|
2303
2976
|
nullable: true,
|
|
2304
|
-
description: 'Two-digit number representing the card\'s expiration month.',
|
|
2305
|
-
example:
|
|
2977
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2978
|
+
example: 12
|
|
2306
2979
|
},
|
|
2307
2980
|
exp_year: {
|
|
2308
2981
|
type: 'integer',
|
|
2309
|
-
minimum: 2024,
|
|
2310
2982
|
nullable: true,
|
|
2311
|
-
description: 'Four-digit number representing the card\'s expiration year.',
|
|
2312
|
-
example:
|
|
2983
|
+
description: 'Four-digit number representing the card\'s expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.',
|
|
2984
|
+
example: 2028
|
|
2313
2985
|
},
|
|
2314
2986
|
brand: {
|
|
2315
2987
|
type: 'string',
|
|
2316
2988
|
nullable: true,
|
|
2317
|
-
description: 'Payment card brand
|
|
2318
|
-
example: 'visa'
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2989
|
+
description: 'Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.',
|
|
2990
|
+
example: 'visa'
|
|
2991
|
+
},
|
|
2992
|
+
iban: {
|
|
2993
|
+
type: 'string',
|
|
2994
|
+
nullable: true,
|
|
2995
|
+
description: 'Full destination IBAN to send bank transfers to. Set only for `bank_transfer`; null otherwise. This is Cloudfleet\'s virtual receiving account, shown in full so the customer can pay into it.',
|
|
2996
|
+
example: 'DE11243015658023127510'
|
|
2997
|
+
},
|
|
2998
|
+
bic: {
|
|
2999
|
+
type: 'string',
|
|
3000
|
+
nullable: true,
|
|
3001
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
3002
|
+
example: 'SOGEDEFFXXX'
|
|
3003
|
+
},
|
|
3004
|
+
account_holder_name: {
|
|
3005
|
+
type: 'string',
|
|
3006
|
+
nullable: true,
|
|
3007
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
3008
|
+
example: 'Cloudfleet GmbH'
|
|
3009
|
+
},
|
|
3010
|
+
is_default: {
|
|
3011
|
+
type: 'boolean',
|
|
3012
|
+
description: 'Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).',
|
|
3013
|
+
example: true
|
|
2330
3014
|
}
|
|
2331
3015
|
},
|
|
2332
3016
|
required: [
|
|
2333
3017
|
'id',
|
|
2334
|
-
'setup',
|
|
2335
3018
|
'type',
|
|
2336
3019
|
'last4',
|
|
2337
3020
|
'exp_month',
|
|
2338
3021
|
'exp_year',
|
|
2339
|
-
'brand'
|
|
3022
|
+
'brand',
|
|
3023
|
+
'iban',
|
|
3024
|
+
'bic',
|
|
3025
|
+
'account_holder_name',
|
|
3026
|
+
'is_default'
|
|
2340
3027
|
],
|
|
2341
3028
|
additionalProperties: false
|
|
2342
3029
|
};
|
|
@@ -2365,6 +3052,17 @@ export const PlatformQuotaSchema = {
|
|
|
2365
3052
|
description: 'Available number of Pro clusters that can be created.',
|
|
2366
3053
|
example: 999
|
|
2367
3054
|
},
|
|
3055
|
+
enterprise_clusters_max: {
|
|
3056
|
+
type: 'integer',
|
|
3057
|
+
minimum: 0,
|
|
3058
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
3059
|
+
example: 999
|
|
3060
|
+
},
|
|
3061
|
+
enterprise_clusters_available: {
|
|
3062
|
+
type: 'integer',
|
|
3063
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
3064
|
+
example: 999
|
|
3065
|
+
},
|
|
2368
3066
|
fleets_max: {
|
|
2369
3067
|
type: 'integer',
|
|
2370
3068
|
minimum: 0,
|
|
@@ -2384,7 +3082,7 @@ export const PlatformQuotaSchema = {
|
|
|
2384
3082
|
type: 'array',
|
|
2385
3083
|
items: {
|
|
2386
3084
|
type: 'string',
|
|
2387
|
-
example: 'northamerica-central-
|
|
3085
|
+
example: 'northamerica-central-1a'
|
|
2388
3086
|
},
|
|
2389
3087
|
minItems: 1,
|
|
2390
3088
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -2426,6 +3124,8 @@ export const PlatformQuotaSchema = {
|
|
|
2426
3124
|
'basic_clusters_available',
|
|
2427
3125
|
'pro_clusters_max',
|
|
2428
3126
|
'pro_clusters_available',
|
|
3127
|
+
'enterprise_clusters_max',
|
|
3128
|
+
'enterprise_clusters_available',
|
|
2429
3129
|
'fleets_max',
|
|
2430
3130
|
'cluster_tiers',
|
|
2431
3131
|
'regions',
|
|
@@ -2699,6 +3399,73 @@ export const RegistryTagSchema = {
|
|
|
2699
3399
|
],
|
|
2700
3400
|
additionalProperties: false
|
|
2701
3401
|
};
|
|
3402
|
+
export const RoadmapItemCreateInputSchema = {
|
|
3403
|
+
type: 'object',
|
|
3404
|
+
properties: {
|
|
3405
|
+
text: {
|
|
3406
|
+
type: 'string',
|
|
3407
|
+
maxLength: 500,
|
|
3408
|
+
minLength: 1,
|
|
3409
|
+
description: 'Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.',
|
|
3410
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3411
|
+
}
|
|
3412
|
+
},
|
|
3413
|
+
required: [
|
|
3414
|
+
'text'
|
|
3415
|
+
],
|
|
3416
|
+
additionalProperties: false
|
|
3417
|
+
};
|
|
3418
|
+
export const RoadmapItemSchema = {
|
|
3419
|
+
type: 'object',
|
|
3420
|
+
properties: {
|
|
3421
|
+
id: {
|
|
3422
|
+
type: 'string',
|
|
3423
|
+
description: 'Unique identifier of the roadmap item (Mongo ObjectId).',
|
|
3424
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3425
|
+
},
|
|
3426
|
+
text: {
|
|
3427
|
+
type: 'string',
|
|
3428
|
+
description: 'Short description of the roadmap item.',
|
|
3429
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3430
|
+
},
|
|
3431
|
+
vote: {
|
|
3432
|
+
type: 'integer',
|
|
3433
|
+
nullable: true,
|
|
3434
|
+
description: 'The caller\'s vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.',
|
|
3435
|
+
example: 1,
|
|
3436
|
+
enum: [
|
|
3437
|
+
-1,
|
|
3438
|
+
1,
|
|
3439
|
+
2
|
|
3440
|
+
]
|
|
3441
|
+
}
|
|
3442
|
+
},
|
|
3443
|
+
required: [
|
|
3444
|
+
'id',
|
|
3445
|
+
'text',
|
|
3446
|
+
'vote'
|
|
3447
|
+
],
|
|
3448
|
+
additionalProperties: false
|
|
3449
|
+
};
|
|
3450
|
+
export const RoadmapVoteInputSchema = {
|
|
3451
|
+
type: 'object',
|
|
3452
|
+
properties: {
|
|
3453
|
+
value: {
|
|
3454
|
+
type: 'integer',
|
|
3455
|
+
description: 'Vote value: -1 (down), 1 (up), or 2 (double up).',
|
|
3456
|
+
example: 1,
|
|
3457
|
+
enum: [
|
|
3458
|
+
-1,
|
|
3459
|
+
1,
|
|
3460
|
+
2
|
|
3461
|
+
]
|
|
3462
|
+
}
|
|
3463
|
+
},
|
|
3464
|
+
required: [
|
|
3465
|
+
'value'
|
|
3466
|
+
],
|
|
3467
|
+
additionalProperties: false
|
|
3468
|
+
};
|
|
2702
3469
|
export const TicketAttachmentSchema = {
|
|
2703
3470
|
type: 'object',
|
|
2704
3471
|
properties: {
|
|
@@ -2760,6 +3527,11 @@ export const TicketCreateInputSchema = {
|
|
|
2760
3527
|
subcategory: 'cluster-question',
|
|
2761
3528
|
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
2762
3529
|
}
|
|
3530
|
+
},
|
|
3531
|
+
grant_support_access: {
|
|
3532
|
+
type: 'boolean',
|
|
3533
|
+
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.',
|
|
3534
|
+
example: true
|
|
2763
3535
|
}
|
|
2764
3536
|
},
|
|
2765
3537
|
required: [
|
|
@@ -2768,172 +3540,6 @@ export const TicketCreateInputSchema = {
|
|
|
2768
3540
|
],
|
|
2769
3541
|
additionalProperties: false
|
|
2770
3542
|
};
|
|
2771
|
-
export const TicketListResponseSchema = {
|
|
2772
|
-
type: 'object',
|
|
2773
|
-
properties: {
|
|
2774
|
-
items: {
|
|
2775
|
-
type: 'array',
|
|
2776
|
-
items: {
|
|
2777
|
-
type: 'object',
|
|
2778
|
-
properties: {
|
|
2779
|
-
id: {
|
|
2780
|
-
type: 'string',
|
|
2781
|
-
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
2782
|
-
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
2783
|
-
},
|
|
2784
|
-
status: {
|
|
2785
|
-
type: 'string',
|
|
2786
|
-
description: 'Current state of the ticket.',
|
|
2787
|
-
example: 'waiting_on_us',
|
|
2788
|
-
enum: [
|
|
2789
|
-
'waiting_on_us',
|
|
2790
|
-
'waiting_on_user',
|
|
2791
|
-
'closed'
|
|
2792
|
-
]
|
|
2793
|
-
},
|
|
2794
|
-
category: {
|
|
2795
|
-
type: 'string',
|
|
2796
|
-
description: 'Ticket category.',
|
|
2797
|
-
example: 'technical',
|
|
2798
|
-
enum: [
|
|
2799
|
-
'billing',
|
|
2800
|
-
'technical',
|
|
2801
|
-
'general'
|
|
2802
|
-
]
|
|
2803
|
-
},
|
|
2804
|
-
summary: {
|
|
2805
|
-
type: 'string',
|
|
2806
|
-
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
2807
|
-
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2808
|
-
},
|
|
2809
|
-
closed_at: {
|
|
2810
|
-
type: 'string',
|
|
2811
|
-
format: 'date-time',
|
|
2812
|
-
nullable: true,
|
|
2813
|
-
description: 'Closure timestamp. Null while the ticket is open.',
|
|
2814
|
-
example: '2026-05-18T16:08:14.338Z'
|
|
2815
|
-
},
|
|
2816
|
-
date_created: {
|
|
2817
|
-
type: 'string',
|
|
2818
|
-
format: 'date-time',
|
|
2819
|
-
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
2820
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2821
|
-
},
|
|
2822
|
-
date_updated: {
|
|
2823
|
-
type: 'string',
|
|
2824
|
-
format: 'date-time',
|
|
2825
|
-
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
2826
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2827
|
-
},
|
|
2828
|
-
messages: {
|
|
2829
|
-
type: 'array',
|
|
2830
|
-
items: {
|
|
2831
|
-
type: 'object',
|
|
2832
|
-
properties: {
|
|
2833
|
-
id: {
|
|
2834
|
-
type: 'string',
|
|
2835
|
-
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
2836
|
-
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
2837
|
-
},
|
|
2838
|
-
type: {
|
|
2839
|
-
type: 'string',
|
|
2840
|
-
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
2841
|
-
example: 'customer_reply',
|
|
2842
|
-
enum: [
|
|
2843
|
-
'customer_reply',
|
|
2844
|
-
'agent_reply'
|
|
2845
|
-
]
|
|
2846
|
-
},
|
|
2847
|
-
body: {
|
|
2848
|
-
type: 'string',
|
|
2849
|
-
description: 'Message body in markdown.',
|
|
2850
|
-
example: 'Thanks — that resolved it on my side.'
|
|
2851
|
-
},
|
|
2852
|
-
author_first_name: {
|
|
2853
|
-
type: 'string',
|
|
2854
|
-
nullable: true,
|
|
2855
|
-
description: 'First name of the author. Null when not provided.',
|
|
2856
|
-
example: 'Jane'
|
|
2857
|
-
},
|
|
2858
|
-
author_last_name: {
|
|
2859
|
-
type: 'string',
|
|
2860
|
-
nullable: true,
|
|
2861
|
-
description: 'Last name of the author. Null when not provided.',
|
|
2862
|
-
example: 'Doe'
|
|
2863
|
-
},
|
|
2864
|
-
attachments: {
|
|
2865
|
-
type: 'array',
|
|
2866
|
-
items: {
|
|
2867
|
-
type: 'object',
|
|
2868
|
-
properties: {
|
|
2869
|
-
id: {
|
|
2870
|
-
type: 'string',
|
|
2871
|
-
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2872
|
-
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2873
|
-
},
|
|
2874
|
-
filename: {
|
|
2875
|
-
type: 'string',
|
|
2876
|
-
description: 'Original filename as uploaded.',
|
|
2877
|
-
example: 'debug.log'
|
|
2878
|
-
},
|
|
2879
|
-
content_type: {
|
|
2880
|
-
type: 'string',
|
|
2881
|
-
description: 'MIME content type of the attachment.',
|
|
2882
|
-
example: 'text/plain'
|
|
2883
|
-
},
|
|
2884
|
-
size: {
|
|
2885
|
-
type: 'integer',
|
|
2886
|
-
description: 'Size of the attachment in bytes.',
|
|
2887
|
-
example: 12345
|
|
2888
|
-
}
|
|
2889
|
-
},
|
|
2890
|
-
required: [
|
|
2891
|
-
'id',
|
|
2892
|
-
'filename',
|
|
2893
|
-
'content_type',
|
|
2894
|
-
'size'
|
|
2895
|
-
],
|
|
2896
|
-
additionalProperties: false
|
|
2897
|
-
},
|
|
2898
|
-
description: 'Attachments associated with this message.',
|
|
2899
|
-
example: []
|
|
2900
|
-
},
|
|
2901
|
-
date_created: {
|
|
2902
|
-
type: 'string',
|
|
2903
|
-
format: 'date-time',
|
|
2904
|
-
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
2905
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2906
|
-
}
|
|
2907
|
-
},
|
|
2908
|
-
required: [
|
|
2909
|
-
'id',
|
|
2910
|
-
'type',
|
|
2911
|
-
'body',
|
|
2912
|
-
'date_created'
|
|
2913
|
-
],
|
|
2914
|
-
additionalProperties: false
|
|
2915
|
-
},
|
|
2916
|
-
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
2917
|
-
}
|
|
2918
|
-
},
|
|
2919
|
-
required: [
|
|
2920
|
-
'id',
|
|
2921
|
-
'status',
|
|
2922
|
-
'category',
|
|
2923
|
-
'summary',
|
|
2924
|
-
'date_created',
|
|
2925
|
-
'date_updated'
|
|
2926
|
-
],
|
|
2927
|
-
additionalProperties: false
|
|
2928
|
-
},
|
|
2929
|
-
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
2930
|
-
}
|
|
2931
|
-
},
|
|
2932
|
-
required: [
|
|
2933
|
-
'items'
|
|
2934
|
-
],
|
|
2935
|
-
additionalProperties: false
|
|
2936
|
-
};
|
|
2937
3543
|
export const TicketMessageInputSchema = {
|
|
2938
3544
|
type: 'object',
|
|
2939
3545
|
properties: {
|
|
@@ -2975,11 +3581,13 @@ export const TicketMessageSchema = {
|
|
|
2975
3581
|
},
|
|
2976
3582
|
author_first_name: {
|
|
2977
3583
|
type: 'string',
|
|
3584
|
+
nullable: true,
|
|
2978
3585
|
description: 'First name of the author. Null when not provided.',
|
|
2979
3586
|
example: 'Jane'
|
|
2980
3587
|
},
|
|
2981
3588
|
author_last_name: {
|
|
2982
3589
|
type: 'string',
|
|
3590
|
+
nullable: true,
|
|
2983
3591
|
description: 'Last name of the author. Null when not provided.',
|
|
2984
3592
|
example: 'Doe'
|
|
2985
3593
|
},
|
|
@@ -3068,9 +3676,22 @@ export const TicketSchema = {
|
|
|
3068
3676
|
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3069
3677
|
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3070
3678
|
},
|
|
3679
|
+
support_access_granted: {
|
|
3680
|
+
type: 'boolean',
|
|
3681
|
+
description: 'Whether Cloudfleet support staff currently have access to the organization\'s resources. True once access is granted and until the ticket is closed.',
|
|
3682
|
+
example: true
|
|
3683
|
+
},
|
|
3684
|
+
support_access_granted_at: {
|
|
3685
|
+
type: 'string',
|
|
3686
|
+
format: 'date-time',
|
|
3687
|
+
nullable: true,
|
|
3688
|
+
description: 'When support access was granted. Null if it never was. Kept after the ticket is closed.',
|
|
3689
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3690
|
+
},
|
|
3071
3691
|
closed_at: {
|
|
3072
3692
|
type: 'string',
|
|
3073
3693
|
format: 'date-time',
|
|
3694
|
+
nullable: true,
|
|
3074
3695
|
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3075
3696
|
example: '2026-05-18T16:08:14.338Z'
|
|
3076
3697
|
},
|
|
@@ -3180,6 +3801,8 @@ export const TicketSchema = {
|
|
|
3180
3801
|
'status',
|
|
3181
3802
|
'category',
|
|
3182
3803
|
'summary',
|
|
3804
|
+
'support_access_granted',
|
|
3805
|
+
'support_access_granted_at',
|
|
3183
3806
|
'date_created',
|
|
3184
3807
|
'date_updated'
|
|
3185
3808
|
],
|
|
@@ -3295,12 +3918,21 @@ export const UsageFacetsSchema = {
|
|
|
3295
3918
|
product: {
|
|
3296
3919
|
type: 'array',
|
|
3297
3920
|
items: {
|
|
3298
|
-
type: 'string'
|
|
3921
|
+
type: 'string',
|
|
3922
|
+
enum: [
|
|
3923
|
+
'cfke_controlplane_basic',
|
|
3924
|
+
'cfke_controlplane_pro',
|
|
3925
|
+
'cfke_controlplane_enterprise',
|
|
3926
|
+
'cfke_connected_nodes_basic',
|
|
3927
|
+
'cfke_connected_nodes_pro',
|
|
3928
|
+
'cfke_connected_nodes_enterprise',
|
|
3929
|
+
'cfcr_storage'
|
|
3930
|
+
]
|
|
3299
3931
|
},
|
|
3300
3932
|
description: 'List of unique products',
|
|
3301
3933
|
example: [
|
|
3302
|
-
'
|
|
3303
|
-
'
|
|
3934
|
+
'cfke_controlplane_pro',
|
|
3935
|
+
'cfke_connected_nodes_pro'
|
|
3304
3936
|
]
|
|
3305
3937
|
}
|
|
3306
3938
|
},
|
|
@@ -3327,7 +3959,16 @@ export const UsageResponseSchema = {
|
|
|
3327
3959
|
product: {
|
|
3328
3960
|
type: 'string',
|
|
3329
3961
|
description: 'The product the usage is associated with',
|
|
3330
|
-
example: '
|
|
3962
|
+
example: 'cfke_controlplane_pro',
|
|
3963
|
+
enum: [
|
|
3964
|
+
'cfke_controlplane_basic',
|
|
3965
|
+
'cfke_controlplane_pro',
|
|
3966
|
+
'cfke_controlplane_enterprise',
|
|
3967
|
+
'cfke_connected_nodes_basic',
|
|
3968
|
+
'cfke_connected_nodes_pro',
|
|
3969
|
+
'cfke_connected_nodes_enterprise',
|
|
3970
|
+
'cfcr_storage'
|
|
3971
|
+
]
|
|
3331
3972
|
},
|
|
3332
3973
|
value: {
|
|
3333
3974
|
type: 'number',
|
|
@@ -3375,12 +4016,21 @@ export const UsageResponseSchema = {
|
|
|
3375
4016
|
product: {
|
|
3376
4017
|
type: 'array',
|
|
3377
4018
|
items: {
|
|
3378
|
-
type: 'string'
|
|
4019
|
+
type: 'string',
|
|
4020
|
+
enum: [
|
|
4021
|
+
'cfke_controlplane_basic',
|
|
4022
|
+
'cfke_controlplane_pro',
|
|
4023
|
+
'cfke_controlplane_enterprise',
|
|
4024
|
+
'cfke_connected_nodes_basic',
|
|
4025
|
+
'cfke_connected_nodes_pro',
|
|
4026
|
+
'cfke_connected_nodes_enterprise',
|
|
4027
|
+
'cfcr_storage'
|
|
4028
|
+
]
|
|
3379
4029
|
},
|
|
3380
4030
|
description: 'List of unique products',
|
|
3381
4031
|
example: [
|
|
3382
|
-
'
|
|
3383
|
-
'
|
|
4032
|
+
'cfke_controlplane_pro',
|
|
4033
|
+
'cfke_connected_nodes_pro'
|
|
3384
4034
|
]
|
|
3385
4035
|
}
|
|
3386
4036
|
},
|
|
@@ -3410,7 +4060,16 @@ export const UsageSchema = {
|
|
|
3410
4060
|
product: {
|
|
3411
4061
|
type: 'string',
|
|
3412
4062
|
description: 'The product the usage is associated with',
|
|
3413
|
-
example: '
|
|
4063
|
+
example: 'cfke_controlplane_pro',
|
|
4064
|
+
enum: [
|
|
4065
|
+
'cfke_controlplane_basic',
|
|
4066
|
+
'cfke_controlplane_pro',
|
|
4067
|
+
'cfke_controlplane_enterprise',
|
|
4068
|
+
'cfke_connected_nodes_basic',
|
|
4069
|
+
'cfke_connected_nodes_pro',
|
|
4070
|
+
'cfke_connected_nodes_enterprise',
|
|
4071
|
+
'cfcr_storage'
|
|
4072
|
+
]
|
|
3414
4073
|
},
|
|
3415
4074
|
value: {
|
|
3416
4075
|
type: 'number',
|
|
@@ -3473,24 +4132,6 @@ export const UserCreateInputSchema = {
|
|
|
3473
4132
|
type: 'string',
|
|
3474
4133
|
minLength: 8,
|
|
3475
4134
|
description: 'User password. Must be at least 8 characters long.'
|
|
3476
|
-
},
|
|
3477
|
-
status: {
|
|
3478
|
-
type: 'string',
|
|
3479
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
3480
|
-
example: 'active',
|
|
3481
|
-
enum: [
|
|
3482
|
-
'active',
|
|
3483
|
-
'inactive'
|
|
3484
|
-
]
|
|
3485
|
-
},
|
|
3486
|
-
role: {
|
|
3487
|
-
type: 'string',
|
|
3488
|
-
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
3489
|
-
example: 'User',
|
|
3490
|
-
enum: [
|
|
3491
|
-
'Administrator',
|
|
3492
|
-
'User'
|
|
3493
|
-
]
|
|
3494
4135
|
}
|
|
3495
4136
|
},
|
|
3496
4137
|
required: [
|