@cloudfleet/sdk 0.0.1-c4175a2 → 0.0.1-c4563f6
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 +521 -576
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -1
- package/dist/@tanstack/react-query.gen.js +520 -382
- 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 +774 -252
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +1045 -362
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +265 -209
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +396 -312
- package/dist/sdk.gen.js.map +1 -1
- package/dist/types.gen.d.ts +1359 -838
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +1919 -1542
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +618 -366
- 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,24 @@ export const ClusterSchema = {
|
|
|
642
819
|
{
|
|
643
820
|
type: 'string',
|
|
644
821
|
format: 'uri',
|
|
645
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
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'
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
type: 'string',
|
|
827
|
+
enum: [
|
|
828
|
+
''
|
|
829
|
+
]
|
|
830
|
+
}
|
|
831
|
+
]
|
|
832
|
+
},
|
|
833
|
+
endpoint_public: {
|
|
834
|
+
anyOf: [
|
|
835
|
+
{
|
|
836
|
+
type: 'string',
|
|
837
|
+
format: 'uri',
|
|
838
|
+
description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
|
|
839
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
647
840
|
},
|
|
648
841
|
{
|
|
649
842
|
type: 'string',
|
|
@@ -677,21 +870,22 @@ export const ClusterSchema = {
|
|
|
677
870
|
type: 'boolean',
|
|
678
871
|
description: 'Indicates if the cluster is ready to be used.',
|
|
679
872
|
example: true
|
|
680
|
-
},
|
|
681
|
-
version_channel: {
|
|
682
|
-
type: 'string',
|
|
683
|
-
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-]+)*))?$',
|
|
684
|
-
description: 'Version of the kubernetes cluster.',
|
|
685
|
-
example: '1.x.x-cfke.x'
|
|
686
873
|
}
|
|
687
874
|
},
|
|
688
875
|
required: [
|
|
689
876
|
'name',
|
|
690
877
|
'tier',
|
|
878
|
+
'version_channel',
|
|
879
|
+
'release_channel',
|
|
880
|
+
'features',
|
|
881
|
+
'region',
|
|
882
|
+
'networking',
|
|
691
883
|
'id',
|
|
692
|
-
'status'
|
|
884
|
+
'status',
|
|
885
|
+
'ready'
|
|
693
886
|
],
|
|
694
|
-
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.'
|
|
695
889
|
};
|
|
696
890
|
export const ClusterUpdateInputSchema = {
|
|
697
891
|
type: 'object',
|
|
@@ -707,23 +901,74 @@ export const ClusterUpdateInputSchema = {
|
|
|
707
901
|
tier: {
|
|
708
902
|
type: 'string',
|
|
709
903
|
description: 'Tier of the cluster.',
|
|
904
|
+
default: 'basic',
|
|
710
905
|
example: 'pro',
|
|
711
906
|
enum: [
|
|
712
907
|
'basic',
|
|
713
|
-
'pro'
|
|
908
|
+
'pro',
|
|
909
|
+
'enterprise'
|
|
714
910
|
]
|
|
715
911
|
},
|
|
716
912
|
version_channel: {
|
|
717
913
|
type: 'string',
|
|
718
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-]+)*))?$',
|
|
719
915
|
description: 'Version of the kubernetes cluster.',
|
|
916
|
+
default: '1.x.x-cfke.x',
|
|
720
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
|
+
}
|
|
721
965
|
}
|
|
722
966
|
},
|
|
723
967
|
required: [
|
|
724
|
-
'
|
|
968
|
+
'name'
|
|
725
969
|
],
|
|
726
|
-
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.'
|
|
727
972
|
};
|
|
728
973
|
export const FleetCreateInputSchema = {
|
|
729
974
|
type: 'object',
|
|
@@ -732,10 +977,10 @@ export const FleetCreateInputSchema = {
|
|
|
732
977
|
type: 'object',
|
|
733
978
|
properties: {
|
|
734
979
|
cpu: {
|
|
735
|
-
type: '
|
|
736
|
-
format: 'float',
|
|
980
|
+
type: 'integer',
|
|
737
981
|
minimum: 0,
|
|
738
|
-
|
|
982
|
+
maximum: 100000,
|
|
983
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
739
984
|
}
|
|
740
985
|
},
|
|
741
986
|
additionalProperties: false,
|
|
@@ -745,16 +990,17 @@ export const FleetCreateInputSchema = {
|
|
|
745
990
|
type: 'object',
|
|
746
991
|
properties: {
|
|
747
992
|
enabled: {
|
|
748
|
-
type: 'boolean'
|
|
749
|
-
default: true
|
|
993
|
+
type: 'boolean'
|
|
750
994
|
},
|
|
751
995
|
project: {
|
|
752
996
|
type: 'string',
|
|
753
|
-
|
|
997
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
998
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
999
|
+
example: 'my-cloudfleet-project'
|
|
754
1000
|
}
|
|
755
1001
|
},
|
|
756
1002
|
required: [
|
|
757
|
-
'
|
|
1003
|
+
'enabled'
|
|
758
1004
|
],
|
|
759
1005
|
additionalProperties: false
|
|
760
1006
|
},
|
|
@@ -762,30 +1008,36 @@ export const FleetCreateInputSchema = {
|
|
|
762
1008
|
type: 'object',
|
|
763
1009
|
properties: {
|
|
764
1010
|
enabled: {
|
|
765
|
-
type: 'boolean'
|
|
766
|
-
default: true
|
|
1011
|
+
type: 'boolean'
|
|
767
1012
|
},
|
|
768
1013
|
apiKey: {
|
|
769
1014
|
type: 'string',
|
|
770
|
-
|
|
1015
|
+
maxLength: 64,
|
|
1016
|
+
minLength: 64,
|
|
1017
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1018
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
771
1019
|
}
|
|
772
1020
|
},
|
|
1021
|
+
required: [
|
|
1022
|
+
'enabled'
|
|
1023
|
+
],
|
|
773
1024
|
additionalProperties: false
|
|
774
1025
|
},
|
|
775
1026
|
aws: {
|
|
776
1027
|
type: 'object',
|
|
777
1028
|
properties: {
|
|
778
1029
|
enabled: {
|
|
779
|
-
type: 'boolean'
|
|
780
|
-
default: true
|
|
1030
|
+
type: 'boolean'
|
|
781
1031
|
},
|
|
782
1032
|
controllerRoleArn: {
|
|
783
1033
|
type: 'string',
|
|
784
|
-
|
|
1034
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1035
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1036
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
785
1037
|
}
|
|
786
1038
|
},
|
|
787
1039
|
required: [
|
|
788
|
-
'
|
|
1040
|
+
'enabled'
|
|
789
1041
|
],
|
|
790
1042
|
additionalProperties: false
|
|
791
1043
|
},
|
|
@@ -801,7 +1053,12 @@ export const FleetCreateInputSchema = {
|
|
|
801
1053
|
'spot'
|
|
802
1054
|
]
|
|
803
1055
|
},
|
|
804
|
-
|
|
1056
|
+
minItems: 1,
|
|
1057
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1058
|
+
default: [
|
|
1059
|
+
'on-demand',
|
|
1060
|
+
'spot'
|
|
1061
|
+
]
|
|
805
1062
|
},
|
|
806
1063
|
'kubernetes.io/arch': {
|
|
807
1064
|
type: 'array',
|
|
@@ -812,7 +1069,11 @@ export const FleetCreateInputSchema = {
|
|
|
812
1069
|
'arm64'
|
|
813
1070
|
]
|
|
814
1071
|
},
|
|
815
|
-
|
|
1072
|
+
minItems: 1,
|
|
1073
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1074
|
+
default: [
|
|
1075
|
+
'amd64'
|
|
1076
|
+
]
|
|
816
1077
|
},
|
|
817
1078
|
'cfke.io/instance-family': {
|
|
818
1079
|
type: 'array',
|
|
@@ -979,7 +1240,8 @@ export const FleetCreateInputSchema = {
|
|
|
979
1240
|
'z3'
|
|
980
1241
|
]
|
|
981
1242
|
},
|
|
982
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1243
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1244
|
+
default: []
|
|
983
1245
|
},
|
|
984
1246
|
'topology.kubernetes.io/region': {
|
|
985
1247
|
type: 'array',
|
|
@@ -1052,21 +1314,72 @@ export const FleetCreateInputSchema = {
|
|
|
1052
1314
|
'us-west4'
|
|
1053
1315
|
]
|
|
1054
1316
|
},
|
|
1055
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1317
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1318
|
+
default: []
|
|
1056
1319
|
}
|
|
1057
1320
|
},
|
|
1058
1321
|
additionalProperties: false,
|
|
1059
|
-
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
|
+
}
|
|
1060
1334
|
},
|
|
1061
1335
|
scalingProfile: {
|
|
1062
1336
|
type: 'string',
|
|
1063
|
-
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`).',
|
|
1338
|
+
default: 'conservative',
|
|
1064
1339
|
example: 'conservative',
|
|
1065
1340
|
enum: [
|
|
1066
1341
|
'aggressive',
|
|
1067
1342
|
'conservative'
|
|
1068
1343
|
]
|
|
1069
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
|
+
},
|
|
1070
1383
|
id: {
|
|
1071
1384
|
type: 'string',
|
|
1072
1385
|
maxLength: 63,
|
|
@@ -1079,7 +1392,8 @@ export const FleetCreateInputSchema = {
|
|
|
1079
1392
|
required: [
|
|
1080
1393
|
'id'
|
|
1081
1394
|
],
|
|
1082
|
-
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.'
|
|
1083
1397
|
};
|
|
1084
1398
|
export const FleetSchema = {
|
|
1085
1399
|
type: 'object',
|
|
@@ -1088,10 +1402,10 @@ export const FleetSchema = {
|
|
|
1088
1402
|
type: 'object',
|
|
1089
1403
|
properties: {
|
|
1090
1404
|
cpu: {
|
|
1091
|
-
type: '
|
|
1092
|
-
format: 'float',
|
|
1405
|
+
type: 'integer',
|
|
1093
1406
|
minimum: 0,
|
|
1094
|
-
|
|
1407
|
+
maximum: 100000,
|
|
1408
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
1095
1409
|
}
|
|
1096
1410
|
},
|
|
1097
1411
|
additionalProperties: false,
|
|
@@ -1101,16 +1415,17 @@ export const FleetSchema = {
|
|
|
1101
1415
|
type: 'object',
|
|
1102
1416
|
properties: {
|
|
1103
1417
|
enabled: {
|
|
1104
|
-
type: 'boolean'
|
|
1105
|
-
default: true
|
|
1418
|
+
type: 'boolean'
|
|
1106
1419
|
},
|
|
1107
1420
|
project: {
|
|
1108
1421
|
type: 'string',
|
|
1109
|
-
|
|
1422
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1423
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1424
|
+
example: 'my-cloudfleet-project'
|
|
1110
1425
|
}
|
|
1111
1426
|
},
|
|
1112
1427
|
required: [
|
|
1113
|
-
'
|
|
1428
|
+
'enabled'
|
|
1114
1429
|
],
|
|
1115
1430
|
additionalProperties: false
|
|
1116
1431
|
},
|
|
@@ -1118,30 +1433,34 @@ export const FleetSchema = {
|
|
|
1118
1433
|
type: 'object',
|
|
1119
1434
|
properties: {
|
|
1120
1435
|
enabled: {
|
|
1121
|
-
type: 'boolean'
|
|
1122
|
-
default: true
|
|
1436
|
+
type: 'boolean'
|
|
1123
1437
|
},
|
|
1124
1438
|
apiKey: {
|
|
1125
1439
|
type: 'string',
|
|
1126
|
-
|
|
1440
|
+
pattern: '^\\*{64}$',
|
|
1441
|
+
description: 'Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.'
|
|
1127
1442
|
}
|
|
1128
1443
|
},
|
|
1444
|
+
required: [
|
|
1445
|
+
'enabled'
|
|
1446
|
+
],
|
|
1129
1447
|
additionalProperties: false
|
|
1130
1448
|
},
|
|
1131
1449
|
aws: {
|
|
1132
1450
|
type: 'object',
|
|
1133
1451
|
properties: {
|
|
1134
1452
|
enabled: {
|
|
1135
|
-
type: 'boolean'
|
|
1136
|
-
default: true
|
|
1453
|
+
type: 'boolean'
|
|
1137
1454
|
},
|
|
1138
1455
|
controllerRoleArn: {
|
|
1139
1456
|
type: 'string',
|
|
1140
|
-
|
|
1457
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1458
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1459
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
1141
1460
|
}
|
|
1142
1461
|
},
|
|
1143
1462
|
required: [
|
|
1144
|
-
'
|
|
1463
|
+
'enabled'
|
|
1145
1464
|
],
|
|
1146
1465
|
additionalProperties: false
|
|
1147
1466
|
},
|
|
@@ -1157,7 +1476,12 @@ export const FleetSchema = {
|
|
|
1157
1476
|
'spot'
|
|
1158
1477
|
]
|
|
1159
1478
|
},
|
|
1160
|
-
|
|
1479
|
+
minItems: 1,
|
|
1480
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1481
|
+
default: [
|
|
1482
|
+
'on-demand',
|
|
1483
|
+
'spot'
|
|
1484
|
+
]
|
|
1161
1485
|
},
|
|
1162
1486
|
'kubernetes.io/arch': {
|
|
1163
1487
|
type: 'array',
|
|
@@ -1168,7 +1492,11 @@ export const FleetSchema = {
|
|
|
1168
1492
|
'arm64'
|
|
1169
1493
|
]
|
|
1170
1494
|
},
|
|
1171
|
-
|
|
1495
|
+
minItems: 1,
|
|
1496
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1497
|
+
default: [
|
|
1498
|
+
'amd64'
|
|
1499
|
+
]
|
|
1172
1500
|
},
|
|
1173
1501
|
'cfke.io/instance-family': {
|
|
1174
1502
|
type: 'array',
|
|
@@ -1335,7 +1663,8 @@ export const FleetSchema = {
|
|
|
1335
1663
|
'z3'
|
|
1336
1664
|
]
|
|
1337
1665
|
},
|
|
1338
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1666
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1667
|
+
default: []
|
|
1339
1668
|
},
|
|
1340
1669
|
'topology.kubernetes.io/region': {
|
|
1341
1670
|
type: 'array',
|
|
@@ -1408,21 +1737,76 @@ export const FleetSchema = {
|
|
|
1408
1737
|
'us-west4'
|
|
1409
1738
|
]
|
|
1410
1739
|
},
|
|
1411
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1740
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1741
|
+
default: []
|
|
1412
1742
|
}
|
|
1413
1743
|
},
|
|
1744
|
+
required: [
|
|
1745
|
+
'karpenter.sh/capacity-type',
|
|
1746
|
+
'kubernetes.io/arch'
|
|
1747
|
+
],
|
|
1414
1748
|
additionalProperties: false,
|
|
1415
|
-
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
|
+
}
|
|
1416
1761
|
},
|
|
1417
1762
|
scalingProfile: {
|
|
1418
1763
|
type: 'string',
|
|
1419
|
-
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`).',
|
|
1765
|
+
default: 'conservative',
|
|
1420
1766
|
example: 'conservative',
|
|
1421
1767
|
enum: [
|
|
1422
1768
|
'aggressive',
|
|
1423
1769
|
'conservative'
|
|
1424
1770
|
]
|
|
1425
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
|
+
},
|
|
1426
1810
|
id: {
|
|
1427
1811
|
type: 'string',
|
|
1428
1812
|
maxLength: 63,
|
|
@@ -1430,12 +1814,39 @@ export const FleetSchema = {
|
|
|
1430
1814
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
1431
1815
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
1432
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'
|
|
1433
1837
|
}
|
|
1434
1838
|
},
|
|
1435
1839
|
required: [
|
|
1436
|
-
'
|
|
1840
|
+
'constraints',
|
|
1841
|
+
'scalingProfile',
|
|
1842
|
+
'taints',
|
|
1843
|
+
'id',
|
|
1844
|
+
'ready',
|
|
1845
|
+
'created_at',
|
|
1846
|
+
'updated_at'
|
|
1437
1847
|
],
|
|
1438
|
-
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.'
|
|
1439
1850
|
};
|
|
1440
1851
|
export const FleetUpdateInputSchema = {
|
|
1441
1852
|
type: 'object',
|
|
@@ -1444,10 +1855,10 @@ export const FleetUpdateInputSchema = {
|
|
|
1444
1855
|
type: 'object',
|
|
1445
1856
|
properties: {
|
|
1446
1857
|
cpu: {
|
|
1447
|
-
type: '
|
|
1448
|
-
format: 'float',
|
|
1858
|
+
type: 'integer',
|
|
1449
1859
|
minimum: 0,
|
|
1450
|
-
|
|
1860
|
+
maximum: 100000,
|
|
1861
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
1451
1862
|
}
|
|
1452
1863
|
},
|
|
1453
1864
|
additionalProperties: false,
|
|
@@ -1457,16 +1868,17 @@ export const FleetUpdateInputSchema = {
|
|
|
1457
1868
|
type: 'object',
|
|
1458
1869
|
properties: {
|
|
1459
1870
|
enabled: {
|
|
1460
|
-
type: 'boolean'
|
|
1461
|
-
default: true
|
|
1871
|
+
type: 'boolean'
|
|
1462
1872
|
},
|
|
1463
1873
|
project: {
|
|
1464
1874
|
type: 'string',
|
|
1465
|
-
|
|
1875
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1876
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1877
|
+
example: 'my-cloudfleet-project'
|
|
1466
1878
|
}
|
|
1467
1879
|
},
|
|
1468
1880
|
required: [
|
|
1469
|
-
'
|
|
1881
|
+
'enabled'
|
|
1470
1882
|
],
|
|
1471
1883
|
additionalProperties: false
|
|
1472
1884
|
},
|
|
@@ -1474,30 +1886,36 @@ export const FleetUpdateInputSchema = {
|
|
|
1474
1886
|
type: 'object',
|
|
1475
1887
|
properties: {
|
|
1476
1888
|
enabled: {
|
|
1477
|
-
type: 'boolean'
|
|
1478
|
-
default: true
|
|
1889
|
+
type: 'boolean'
|
|
1479
1890
|
},
|
|
1480
1891
|
apiKey: {
|
|
1481
1892
|
type: 'string',
|
|
1482
|
-
|
|
1893
|
+
maxLength: 64,
|
|
1894
|
+
minLength: 64,
|
|
1895
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1896
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
1483
1897
|
}
|
|
1484
1898
|
},
|
|
1899
|
+
required: [
|
|
1900
|
+
'enabled'
|
|
1901
|
+
],
|
|
1485
1902
|
additionalProperties: false
|
|
1486
1903
|
},
|
|
1487
1904
|
aws: {
|
|
1488
1905
|
type: 'object',
|
|
1489
1906
|
properties: {
|
|
1490
1907
|
enabled: {
|
|
1491
|
-
type: 'boolean'
|
|
1492
|
-
default: true
|
|
1908
|
+
type: 'boolean'
|
|
1493
1909
|
},
|
|
1494
1910
|
controllerRoleArn: {
|
|
1495
1911
|
type: 'string',
|
|
1496
|
-
|
|
1912
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1913
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1914
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
1497
1915
|
}
|
|
1498
1916
|
},
|
|
1499
1917
|
required: [
|
|
1500
|
-
'
|
|
1918
|
+
'enabled'
|
|
1501
1919
|
],
|
|
1502
1920
|
additionalProperties: false
|
|
1503
1921
|
},
|
|
@@ -1513,7 +1931,12 @@ export const FleetUpdateInputSchema = {
|
|
|
1513
1931
|
'spot'
|
|
1514
1932
|
]
|
|
1515
1933
|
},
|
|
1516
|
-
|
|
1934
|
+
minItems: 1,
|
|
1935
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1936
|
+
default: [
|
|
1937
|
+
'on-demand',
|
|
1938
|
+
'spot'
|
|
1939
|
+
]
|
|
1517
1940
|
},
|
|
1518
1941
|
'kubernetes.io/arch': {
|
|
1519
1942
|
type: 'array',
|
|
@@ -1524,7 +1947,11 @@ export const FleetUpdateInputSchema = {
|
|
|
1524
1947
|
'arm64'
|
|
1525
1948
|
]
|
|
1526
1949
|
},
|
|
1527
|
-
|
|
1950
|
+
minItems: 1,
|
|
1951
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1952
|
+
default: [
|
|
1953
|
+
'amd64'
|
|
1954
|
+
]
|
|
1528
1955
|
},
|
|
1529
1956
|
'cfke.io/instance-family': {
|
|
1530
1957
|
type: 'array',
|
|
@@ -1691,7 +2118,8 @@ export const FleetUpdateInputSchema = {
|
|
|
1691
2118
|
'z3'
|
|
1692
2119
|
]
|
|
1693
2120
|
},
|
|
1694
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
2121
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
2122
|
+
default: []
|
|
1695
2123
|
},
|
|
1696
2124
|
'topology.kubernetes.io/region': {
|
|
1697
2125
|
type: 'array',
|
|
@@ -1764,25 +2192,102 @@ export const FleetUpdateInputSchema = {
|
|
|
1764
2192
|
'us-west4'
|
|
1765
2193
|
]
|
|
1766
2194
|
},
|
|
1767
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
2195
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
2196
|
+
default: []
|
|
1768
2197
|
}
|
|
1769
2198
|
},
|
|
1770
2199
|
additionalProperties: false,
|
|
1771
|
-
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
|
+
}
|
|
1772
2212
|
},
|
|
1773
2213
|
scalingProfile: {
|
|
1774
2214
|
type: 'string',
|
|
1775
|
-
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',
|
|
1776
2217
|
example: 'conservative',
|
|
1777
2218
|
enum: [
|
|
1778
2219
|
'aggressive',
|
|
1779
2220
|
'conservative'
|
|
1780
2221
|
]
|
|
1781
|
-
}
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
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
|
+
]
|
|
2283
|
+
}
|
|
2284
|
+
},
|
|
2285
|
+
required: [
|
|
2286
|
+
'email'
|
|
2287
|
+
],
|
|
2288
|
+
additionalProperties: false
|
|
2289
|
+
};
|
|
2290
|
+
export const InviteSchema = {
|
|
1786
2291
|
type: 'object',
|
|
1787
2292
|
properties: {
|
|
1788
2293
|
id: {
|
|
@@ -1812,6 +2317,16 @@ export const InviteSchema = {
|
|
|
1812
2317
|
type: 'string',
|
|
1813
2318
|
description: 'Generated unique invite code.',
|
|
1814
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
|
+
]
|
|
1815
2330
|
}
|
|
1816
2331
|
},
|
|
1817
2332
|
required: [
|
|
@@ -1819,6 +2334,170 @@ export const InviteSchema = {
|
|
|
1819
2334
|
],
|
|
1820
2335
|
additionalProperties: false
|
|
1821
2336
|
};
|
|
2337
|
+
export const InvoicePaymentAttemptSchema = {
|
|
2338
|
+
type: 'object',
|
|
2339
|
+
properties: {
|
|
2340
|
+
invoice_id: {
|
|
2341
|
+
type: 'string',
|
|
2342
|
+
description: 'Identifier of the invoice.',
|
|
2343
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2344
|
+
},
|
|
2345
|
+
number: {
|
|
2346
|
+
type: 'string',
|
|
2347
|
+
nullable: true,
|
|
2348
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2349
|
+
example: 'CF-0042'
|
|
2350
|
+
},
|
|
2351
|
+
amount: {
|
|
2352
|
+
type: 'number',
|
|
2353
|
+
format: 'float',
|
|
2354
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2355
|
+
example: 4200
|
|
2356
|
+
},
|
|
2357
|
+
currency: {
|
|
2358
|
+
type: 'string',
|
|
2359
|
+
description: 'Currency of the invoice.',
|
|
2360
|
+
example: 'eur'
|
|
2361
|
+
},
|
|
2362
|
+
status: {
|
|
2363
|
+
type: 'string',
|
|
2364
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2365
|
+
example: 'paid',
|
|
2366
|
+
enum: [
|
|
2367
|
+
'paid',
|
|
2368
|
+
'processing',
|
|
2369
|
+
'requires_action',
|
|
2370
|
+
'failed'
|
|
2371
|
+
]
|
|
2372
|
+
},
|
|
2373
|
+
client_secret: {
|
|
2374
|
+
type: 'string',
|
|
2375
|
+
nullable: true,
|
|
2376
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2377
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2378
|
+
},
|
|
2379
|
+
failure_code: {
|
|
2380
|
+
type: 'string',
|
|
2381
|
+
nullable: true,
|
|
2382
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2383
|
+
example: 'insufficient_funds'
|
|
2384
|
+
},
|
|
2385
|
+
failure_message: {
|
|
2386
|
+
type: 'string',
|
|
2387
|
+
nullable: true,
|
|
2388
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2389
|
+
example: 'Your card has insufficient funds.'
|
|
2390
|
+
}
|
|
2391
|
+
},
|
|
2392
|
+
required: [
|
|
2393
|
+
'invoice_id',
|
|
2394
|
+
'number',
|
|
2395
|
+
'amount',
|
|
2396
|
+
'currency',
|
|
2397
|
+
'status',
|
|
2398
|
+
'client_secret',
|
|
2399
|
+
'failure_code',
|
|
2400
|
+
'failure_message'
|
|
2401
|
+
],
|
|
2402
|
+
additionalProperties: false
|
|
2403
|
+
};
|
|
2404
|
+
export const InvoicePaymentResultSchema = {
|
|
2405
|
+
type: 'object',
|
|
2406
|
+
properties: {
|
|
2407
|
+
code: {
|
|
2408
|
+
type: 'string',
|
|
2409
|
+
description: 'Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).',
|
|
2410
|
+
example: 'partially_paid',
|
|
2411
|
+
enum: [
|
|
2412
|
+
'paid',
|
|
2413
|
+
'processing',
|
|
2414
|
+
'action_required',
|
|
2415
|
+
'partially_paid',
|
|
2416
|
+
'failed',
|
|
2417
|
+
'nothing_due',
|
|
2418
|
+
'bank_transfer_due'
|
|
2419
|
+
]
|
|
2420
|
+
},
|
|
2421
|
+
message: {
|
|
2422
|
+
type: 'string',
|
|
2423
|
+
description: 'Summary of the outcome, suitable for display.',
|
|
2424
|
+
example: '1 of 2 open invoices was paid. Invoice CF-0043 was declined: Your card has insufficient funds.'
|
|
2425
|
+
},
|
|
2426
|
+
results: {
|
|
2427
|
+
type: 'array',
|
|
2428
|
+
items: {
|
|
2429
|
+
type: 'object',
|
|
2430
|
+
properties: {
|
|
2431
|
+
invoice_id: {
|
|
2432
|
+
type: 'string',
|
|
2433
|
+
description: 'Identifier of the invoice.',
|
|
2434
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2435
|
+
},
|
|
2436
|
+
number: {
|
|
2437
|
+
type: 'string',
|
|
2438
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2439
|
+
example: 'CF-0042'
|
|
2440
|
+
},
|
|
2441
|
+
amount: {
|
|
2442
|
+
type: 'number',
|
|
2443
|
+
format: 'float',
|
|
2444
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2445
|
+
example: 4200
|
|
2446
|
+
},
|
|
2447
|
+
currency: {
|
|
2448
|
+
type: 'string',
|
|
2449
|
+
description: 'Currency of the invoice.',
|
|
2450
|
+
example: 'eur'
|
|
2451
|
+
},
|
|
2452
|
+
status: {
|
|
2453
|
+
type: 'string',
|
|
2454
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2455
|
+
example: 'paid',
|
|
2456
|
+
enum: [
|
|
2457
|
+
'paid',
|
|
2458
|
+
'processing',
|
|
2459
|
+
'requires_action',
|
|
2460
|
+
'failed'
|
|
2461
|
+
]
|
|
2462
|
+
},
|
|
2463
|
+
client_secret: {
|
|
2464
|
+
type: 'string',
|
|
2465
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2466
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2467
|
+
},
|
|
2468
|
+
failure_code: {
|
|
2469
|
+
type: 'string',
|
|
2470
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2471
|
+
example: 'insufficient_funds'
|
|
2472
|
+
},
|
|
2473
|
+
failure_message: {
|
|
2474
|
+
type: 'string',
|
|
2475
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2476
|
+
example: 'Your card has insufficient funds.'
|
|
2477
|
+
}
|
|
2478
|
+
},
|
|
2479
|
+
required: [
|
|
2480
|
+
'invoice_id',
|
|
2481
|
+
'number',
|
|
2482
|
+
'amount',
|
|
2483
|
+
'currency',
|
|
2484
|
+
'status',
|
|
2485
|
+
'client_secret',
|
|
2486
|
+
'failure_code',
|
|
2487
|
+
'failure_message'
|
|
2488
|
+
],
|
|
2489
|
+
additionalProperties: false
|
|
2490
|
+
},
|
|
2491
|
+
description: 'One entry per invoice charged, oldest first.'
|
|
2492
|
+
}
|
|
2493
|
+
},
|
|
2494
|
+
required: [
|
|
2495
|
+
'code',
|
|
2496
|
+
'message',
|
|
2497
|
+
'results'
|
|
2498
|
+
],
|
|
2499
|
+
additionalProperties: false
|
|
2500
|
+
};
|
|
1822
2501
|
export const InvoiceSchema = {
|
|
1823
2502
|
type: 'object',
|
|
1824
2503
|
properties: {
|
|
@@ -2032,6 +2711,15 @@ export const MarketplaceListingSchema = {
|
|
|
2032
2711
|
export const OrganizationCreateInputSchema = {
|
|
2033
2712
|
type: 'object',
|
|
2034
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
|
+
},
|
|
2035
2723
|
email: {
|
|
2036
2724
|
type: 'string',
|
|
2037
2725
|
format: 'email',
|
|
@@ -2040,11 +2728,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
2040
2728
|
},
|
|
2041
2729
|
first_name: {
|
|
2042
2730
|
type: 'string',
|
|
2731
|
+
minLength: 1,
|
|
2043
2732
|
description: 'First name of the billing contact person.',
|
|
2044
2733
|
example: 'John'
|
|
2045
2734
|
},
|
|
2046
2735
|
last_name: {
|
|
2047
2736
|
type: 'string',
|
|
2737
|
+
minLength: 1,
|
|
2048
2738
|
description: 'Last name of the billing contact person.',
|
|
2049
2739
|
example: 'Doe'
|
|
2050
2740
|
},
|
|
@@ -2063,6 +2753,7 @@ export const OrganizationCreateInputSchema = {
|
|
|
2063
2753
|
}
|
|
2064
2754
|
},
|
|
2065
2755
|
required: [
|
|
2756
|
+
'type',
|
|
2066
2757
|
'email',
|
|
2067
2758
|
'first_name',
|
|
2068
2759
|
'last_name',
|
|
@@ -2071,6 +2762,20 @@ export const OrganizationCreateInputSchema = {
|
|
|
2071
2762
|
],
|
|
2072
2763
|
additionalProperties: false
|
|
2073
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
|
+
};
|
|
2074
2779
|
export const OrganizationSchema = {
|
|
2075
2780
|
type: 'object',
|
|
2076
2781
|
properties: {
|
|
@@ -2087,6 +2792,15 @@ export const OrganizationSchema = {
|
|
|
2087
2792
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
2088
2793
|
example: 'ACME Corp.'
|
|
2089
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
|
+
},
|
|
2090
2804
|
date_created: {
|
|
2091
2805
|
type: 'string',
|
|
2092
2806
|
format: 'date-time',
|
|
@@ -2118,6 +2832,17 @@ export const OrganizationSchema = {
|
|
|
2118
2832
|
description: 'Available number of Pro clusters that can be created.',
|
|
2119
2833
|
example: 999
|
|
2120
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
|
+
},
|
|
2121
2846
|
fleets_max: {
|
|
2122
2847
|
type: 'integer',
|
|
2123
2848
|
minimum: 0,
|
|
@@ -2137,7 +2862,7 @@ export const OrganizationSchema = {
|
|
|
2137
2862
|
type: 'array',
|
|
2138
2863
|
items: {
|
|
2139
2864
|
type: 'string',
|
|
2140
|
-
example: 'northamerica-central-
|
|
2865
|
+
example: 'northamerica-central-1a'
|
|
2141
2866
|
},
|
|
2142
2867
|
minItems: 1,
|
|
2143
2868
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -2179,6 +2904,8 @@ export const OrganizationSchema = {
|
|
|
2179
2904
|
'basic_clusters_available',
|
|
2180
2905
|
'pro_clusters_max',
|
|
2181
2906
|
'pro_clusters_available',
|
|
2907
|
+
'enterprise_clusters_max',
|
|
2908
|
+
'enterprise_clusters_available',
|
|
2182
2909
|
'fleets_max',
|
|
2183
2910
|
'cluster_tiers',
|
|
2184
2911
|
'regions',
|
|
@@ -2196,13 +2923,25 @@ export const OrganizationSchema = {
|
|
|
2196
2923
|
'closed',
|
|
2197
2924
|
'suspended'
|
|
2198
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
|
+
]
|
|
2199
2936
|
}
|
|
2200
2937
|
},
|
|
2201
2938
|
required: [
|
|
2202
2939
|
'id',
|
|
2940
|
+
'type',
|
|
2203
2941
|
'date_created',
|
|
2204
2942
|
'quota',
|
|
2205
|
-
'status'
|
|
2943
|
+
'status',
|
|
2944
|
+
'verification'
|
|
2206
2945
|
],
|
|
2207
2946
|
additionalProperties: false
|
|
2208
2947
|
};
|
|
@@ -2211,28 +2950,23 @@ export const PaymentMethodSchema = {
|
|
|
2211
2950
|
properties: {
|
|
2212
2951
|
id: {
|
|
2213
2952
|
type: 'string',
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
2217
|
-
},
|
|
2218
|
-
setup: {
|
|
2219
|
-
type: 'boolean',
|
|
2220
|
-
description: 'Whether organization payment method was set up and ready to use for payments.',
|
|
2221
|
-
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'
|
|
2222
2955
|
},
|
|
2223
2956
|
type: {
|
|
2224
2957
|
type: 'string',
|
|
2225
|
-
|
|
2226
|
-
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.',
|
|
2227
2959
|
example: 'card',
|
|
2228
2960
|
enum: [
|
|
2229
|
-
'card'
|
|
2961
|
+
'card',
|
|
2962
|
+
'sepa_debit',
|
|
2963
|
+
'bank_transfer'
|
|
2230
2964
|
]
|
|
2231
2965
|
},
|
|
2232
2966
|
last4: {
|
|
2233
2967
|
type: 'string',
|
|
2234
2968
|
nullable: true,
|
|
2235
|
-
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.',
|
|
2236
2970
|
example: '4242'
|
|
2237
2971
|
},
|
|
2238
2972
|
exp_month: {
|
|
@@ -2240,42 +2974,56 @@ export const PaymentMethodSchema = {
|
|
|
2240
2974
|
minimum: 1,
|
|
2241
2975
|
maximum: 12,
|
|
2242
2976
|
nullable: true,
|
|
2243
|
-
description: 'Two-digit number representing the card\'s expiration month.',
|
|
2244
|
-
example:
|
|
2977
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2978
|
+
example: 12
|
|
2245
2979
|
},
|
|
2246
2980
|
exp_year: {
|
|
2247
2981
|
type: 'integer',
|
|
2248
|
-
minimum: 2024,
|
|
2249
2982
|
nullable: true,
|
|
2250
|
-
description: 'Four-digit number representing the card\'s expiration year.',
|
|
2251
|
-
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
|
|
2252
2985
|
},
|
|
2253
2986
|
brand: {
|
|
2254
2987
|
type: 'string',
|
|
2255
2988
|
nullable: true,
|
|
2256
|
-
description: 'Payment card brand
|
|
2257
|
-
example: 'visa'
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
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
|
|
2269
3014
|
}
|
|
2270
3015
|
},
|
|
2271
3016
|
required: [
|
|
2272
3017
|
'id',
|
|
2273
|
-
'setup',
|
|
2274
3018
|
'type',
|
|
2275
3019
|
'last4',
|
|
2276
3020
|
'exp_month',
|
|
2277
3021
|
'exp_year',
|
|
2278
|
-
'brand'
|
|
3022
|
+
'brand',
|
|
3023
|
+
'iban',
|
|
3024
|
+
'bic',
|
|
3025
|
+
'account_holder_name',
|
|
3026
|
+
'is_default'
|
|
2279
3027
|
],
|
|
2280
3028
|
additionalProperties: false
|
|
2281
3029
|
};
|
|
@@ -2304,6 +3052,17 @@ export const PlatformQuotaSchema = {
|
|
|
2304
3052
|
description: 'Available number of Pro clusters that can be created.',
|
|
2305
3053
|
example: 999
|
|
2306
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
|
+
},
|
|
2307
3066
|
fleets_max: {
|
|
2308
3067
|
type: 'integer',
|
|
2309
3068
|
minimum: 0,
|
|
@@ -2323,7 +3082,7 @@ export const PlatformQuotaSchema = {
|
|
|
2323
3082
|
type: 'array',
|
|
2324
3083
|
items: {
|
|
2325
3084
|
type: 'string',
|
|
2326
|
-
example: 'northamerica-central-
|
|
3085
|
+
example: 'northamerica-central-1a'
|
|
2327
3086
|
},
|
|
2328
3087
|
minItems: 1,
|
|
2329
3088
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -2365,6 +3124,8 @@ export const PlatformQuotaSchema = {
|
|
|
2365
3124
|
'basic_clusters_available',
|
|
2366
3125
|
'pro_clusters_max',
|
|
2367
3126
|
'pro_clusters_available',
|
|
3127
|
+
'enterprise_clusters_max',
|
|
3128
|
+
'enterprise_clusters_available',
|
|
2368
3129
|
'fleets_max',
|
|
2369
3130
|
'cluster_tiers',
|
|
2370
3131
|
'regions',
|
|
@@ -2638,6 +3399,73 @@ export const RegistryTagSchema = {
|
|
|
2638
3399
|
],
|
|
2639
3400
|
additionalProperties: false
|
|
2640
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
|
+
};
|
|
2641
3469
|
export const TicketAttachmentSchema = {
|
|
2642
3470
|
type: 'object',
|
|
2643
3471
|
properties: {
|
|
@@ -2707,172 +3535,6 @@ export const TicketCreateInputSchema = {
|
|
|
2707
3535
|
],
|
|
2708
3536
|
additionalProperties: false
|
|
2709
3537
|
};
|
|
2710
|
-
export const TicketListResponseSchema = {
|
|
2711
|
-
type: 'object',
|
|
2712
|
-
properties: {
|
|
2713
|
-
items: {
|
|
2714
|
-
type: 'array',
|
|
2715
|
-
items: {
|
|
2716
|
-
type: 'object',
|
|
2717
|
-
properties: {
|
|
2718
|
-
id: {
|
|
2719
|
-
type: 'string',
|
|
2720
|
-
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
2721
|
-
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
2722
|
-
},
|
|
2723
|
-
status: {
|
|
2724
|
-
type: 'string',
|
|
2725
|
-
description: 'Current state of the ticket.',
|
|
2726
|
-
example: 'waiting_on_us',
|
|
2727
|
-
enum: [
|
|
2728
|
-
'waiting_on_us',
|
|
2729
|
-
'waiting_on_user',
|
|
2730
|
-
'closed'
|
|
2731
|
-
]
|
|
2732
|
-
},
|
|
2733
|
-
category: {
|
|
2734
|
-
type: 'string',
|
|
2735
|
-
description: 'Ticket category.',
|
|
2736
|
-
example: 'technical',
|
|
2737
|
-
enum: [
|
|
2738
|
-
'billing',
|
|
2739
|
-
'technical',
|
|
2740
|
-
'general'
|
|
2741
|
-
]
|
|
2742
|
-
},
|
|
2743
|
-
summary: {
|
|
2744
|
-
type: 'string',
|
|
2745
|
-
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
2746
|
-
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2747
|
-
},
|
|
2748
|
-
closed_at: {
|
|
2749
|
-
type: 'string',
|
|
2750
|
-
format: 'date-time',
|
|
2751
|
-
nullable: true,
|
|
2752
|
-
description: 'Closure timestamp. Null while the ticket is open.',
|
|
2753
|
-
example: '2026-05-18T16:08:14.338Z'
|
|
2754
|
-
},
|
|
2755
|
-
date_created: {
|
|
2756
|
-
type: 'string',
|
|
2757
|
-
format: 'date-time',
|
|
2758
|
-
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
2759
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2760
|
-
},
|
|
2761
|
-
date_updated: {
|
|
2762
|
-
type: 'string',
|
|
2763
|
-
format: 'date-time',
|
|
2764
|
-
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
2765
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2766
|
-
},
|
|
2767
|
-
messages: {
|
|
2768
|
-
type: 'array',
|
|
2769
|
-
items: {
|
|
2770
|
-
type: 'object',
|
|
2771
|
-
properties: {
|
|
2772
|
-
id: {
|
|
2773
|
-
type: 'string',
|
|
2774
|
-
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
2775
|
-
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
2776
|
-
},
|
|
2777
|
-
type: {
|
|
2778
|
-
type: 'string',
|
|
2779
|
-
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
2780
|
-
example: 'customer_reply',
|
|
2781
|
-
enum: [
|
|
2782
|
-
'customer_reply',
|
|
2783
|
-
'agent_reply'
|
|
2784
|
-
]
|
|
2785
|
-
},
|
|
2786
|
-
body: {
|
|
2787
|
-
type: 'string',
|
|
2788
|
-
description: 'Message body in markdown.',
|
|
2789
|
-
example: 'Thanks — that resolved it on my side.'
|
|
2790
|
-
},
|
|
2791
|
-
author_first_name: {
|
|
2792
|
-
type: 'string',
|
|
2793
|
-
nullable: true,
|
|
2794
|
-
description: 'First name of the author. Null when not provided.',
|
|
2795
|
-
example: 'Jane'
|
|
2796
|
-
},
|
|
2797
|
-
author_last_name: {
|
|
2798
|
-
type: 'string',
|
|
2799
|
-
nullable: true,
|
|
2800
|
-
description: 'Last name of the author. Null when not provided.',
|
|
2801
|
-
example: 'Doe'
|
|
2802
|
-
},
|
|
2803
|
-
attachments: {
|
|
2804
|
-
type: 'array',
|
|
2805
|
-
items: {
|
|
2806
|
-
type: 'object',
|
|
2807
|
-
properties: {
|
|
2808
|
-
id: {
|
|
2809
|
-
type: 'string',
|
|
2810
|
-
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2811
|
-
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2812
|
-
},
|
|
2813
|
-
filename: {
|
|
2814
|
-
type: 'string',
|
|
2815
|
-
description: 'Original filename as uploaded.',
|
|
2816
|
-
example: 'debug.log'
|
|
2817
|
-
},
|
|
2818
|
-
content_type: {
|
|
2819
|
-
type: 'string',
|
|
2820
|
-
description: 'MIME content type of the attachment.',
|
|
2821
|
-
example: 'text/plain'
|
|
2822
|
-
},
|
|
2823
|
-
size: {
|
|
2824
|
-
type: 'integer',
|
|
2825
|
-
description: 'Size of the attachment in bytes.',
|
|
2826
|
-
example: 12345
|
|
2827
|
-
}
|
|
2828
|
-
},
|
|
2829
|
-
required: [
|
|
2830
|
-
'id',
|
|
2831
|
-
'filename',
|
|
2832
|
-
'content_type',
|
|
2833
|
-
'size'
|
|
2834
|
-
],
|
|
2835
|
-
additionalProperties: false
|
|
2836
|
-
},
|
|
2837
|
-
description: 'Attachments associated with this message.',
|
|
2838
|
-
example: []
|
|
2839
|
-
},
|
|
2840
|
-
date_created: {
|
|
2841
|
-
type: 'string',
|
|
2842
|
-
format: 'date-time',
|
|
2843
|
-
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
2844
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
2845
|
-
}
|
|
2846
|
-
},
|
|
2847
|
-
required: [
|
|
2848
|
-
'id',
|
|
2849
|
-
'type',
|
|
2850
|
-
'body',
|
|
2851
|
-
'date_created'
|
|
2852
|
-
],
|
|
2853
|
-
additionalProperties: false
|
|
2854
|
-
},
|
|
2855
|
-
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
2856
|
-
}
|
|
2857
|
-
},
|
|
2858
|
-
required: [
|
|
2859
|
-
'id',
|
|
2860
|
-
'status',
|
|
2861
|
-
'category',
|
|
2862
|
-
'summary',
|
|
2863
|
-
'date_created',
|
|
2864
|
-
'date_updated'
|
|
2865
|
-
],
|
|
2866
|
-
additionalProperties: false
|
|
2867
|
-
},
|
|
2868
|
-
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
2869
|
-
}
|
|
2870
|
-
},
|
|
2871
|
-
required: [
|
|
2872
|
-
'items'
|
|
2873
|
-
],
|
|
2874
|
-
additionalProperties: false
|
|
2875
|
-
};
|
|
2876
3538
|
export const TicketMessageInputSchema = {
|
|
2877
3539
|
type: 'object',
|
|
2878
3540
|
properties: {
|
|
@@ -2914,11 +3576,13 @@ export const TicketMessageSchema = {
|
|
|
2914
3576
|
},
|
|
2915
3577
|
author_first_name: {
|
|
2916
3578
|
type: 'string',
|
|
3579
|
+
nullable: true,
|
|
2917
3580
|
description: 'First name of the author. Null when not provided.',
|
|
2918
3581
|
example: 'Jane'
|
|
2919
3582
|
},
|
|
2920
3583
|
author_last_name: {
|
|
2921
3584
|
type: 'string',
|
|
3585
|
+
nullable: true,
|
|
2922
3586
|
description: 'Last name of the author. Null when not provided.',
|
|
2923
3587
|
example: 'Doe'
|
|
2924
3588
|
},
|
|
@@ -3010,6 +3674,7 @@ export const TicketSchema = {
|
|
|
3010
3674
|
closed_at: {
|
|
3011
3675
|
type: 'string',
|
|
3012
3676
|
format: 'date-time',
|
|
3677
|
+
nullable: true,
|
|
3013
3678
|
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3014
3679
|
example: '2026-05-18T16:08:14.338Z'
|
|
3015
3680
|
},
|
|
@@ -3234,12 +3899,21 @@ export const UsageFacetsSchema = {
|
|
|
3234
3899
|
product: {
|
|
3235
3900
|
type: 'array',
|
|
3236
3901
|
items: {
|
|
3237
|
-
type: 'string'
|
|
3902
|
+
type: 'string',
|
|
3903
|
+
enum: [
|
|
3904
|
+
'cfke_controlplane_basic',
|
|
3905
|
+
'cfke_controlplane_pro',
|
|
3906
|
+
'cfke_controlplane_enterprise',
|
|
3907
|
+
'cfke_connected_nodes_basic',
|
|
3908
|
+
'cfke_connected_nodes_pro',
|
|
3909
|
+
'cfke_connected_nodes_enterprise',
|
|
3910
|
+
'cfcr_storage'
|
|
3911
|
+
]
|
|
3238
3912
|
},
|
|
3239
3913
|
description: 'List of unique products',
|
|
3240
3914
|
example: [
|
|
3241
|
-
'
|
|
3242
|
-
'
|
|
3915
|
+
'cfke_controlplane_pro',
|
|
3916
|
+
'cfke_connected_nodes_pro'
|
|
3243
3917
|
]
|
|
3244
3918
|
}
|
|
3245
3919
|
},
|
|
@@ -3266,7 +3940,16 @@ export const UsageResponseSchema = {
|
|
|
3266
3940
|
product: {
|
|
3267
3941
|
type: 'string',
|
|
3268
3942
|
description: 'The product the usage is associated with',
|
|
3269
|
-
example: '
|
|
3943
|
+
example: 'cfke_controlplane_pro',
|
|
3944
|
+
enum: [
|
|
3945
|
+
'cfke_controlplane_basic',
|
|
3946
|
+
'cfke_controlplane_pro',
|
|
3947
|
+
'cfke_controlplane_enterprise',
|
|
3948
|
+
'cfke_connected_nodes_basic',
|
|
3949
|
+
'cfke_connected_nodes_pro',
|
|
3950
|
+
'cfke_connected_nodes_enterprise',
|
|
3951
|
+
'cfcr_storage'
|
|
3952
|
+
]
|
|
3270
3953
|
},
|
|
3271
3954
|
value: {
|
|
3272
3955
|
type: 'number',
|
|
@@ -3314,12 +3997,21 @@ export const UsageResponseSchema = {
|
|
|
3314
3997
|
product: {
|
|
3315
3998
|
type: 'array',
|
|
3316
3999
|
items: {
|
|
3317
|
-
type: 'string'
|
|
4000
|
+
type: 'string',
|
|
4001
|
+
enum: [
|
|
4002
|
+
'cfke_controlplane_basic',
|
|
4003
|
+
'cfke_controlplane_pro',
|
|
4004
|
+
'cfke_controlplane_enterprise',
|
|
4005
|
+
'cfke_connected_nodes_basic',
|
|
4006
|
+
'cfke_connected_nodes_pro',
|
|
4007
|
+
'cfke_connected_nodes_enterprise',
|
|
4008
|
+
'cfcr_storage'
|
|
4009
|
+
]
|
|
3318
4010
|
},
|
|
3319
4011
|
description: 'List of unique products',
|
|
3320
4012
|
example: [
|
|
3321
|
-
'
|
|
3322
|
-
'
|
|
4013
|
+
'cfke_controlplane_pro',
|
|
4014
|
+
'cfke_connected_nodes_pro'
|
|
3323
4015
|
]
|
|
3324
4016
|
}
|
|
3325
4017
|
},
|
|
@@ -3349,7 +4041,16 @@ export const UsageSchema = {
|
|
|
3349
4041
|
product: {
|
|
3350
4042
|
type: 'string',
|
|
3351
4043
|
description: 'The product the usage is associated with',
|
|
3352
|
-
example: '
|
|
4044
|
+
example: 'cfke_controlplane_pro',
|
|
4045
|
+
enum: [
|
|
4046
|
+
'cfke_controlplane_basic',
|
|
4047
|
+
'cfke_controlplane_pro',
|
|
4048
|
+
'cfke_controlplane_enterprise',
|
|
4049
|
+
'cfke_connected_nodes_basic',
|
|
4050
|
+
'cfke_connected_nodes_pro',
|
|
4051
|
+
'cfke_connected_nodes_enterprise',
|
|
4052
|
+
'cfcr_storage'
|
|
4053
|
+
]
|
|
3353
4054
|
},
|
|
3354
4055
|
value: {
|
|
3355
4056
|
type: 'number',
|
|
@@ -3412,24 +4113,6 @@ export const UserCreateInputSchema = {
|
|
|
3412
4113
|
type: 'string',
|
|
3413
4114
|
minLength: 8,
|
|
3414
4115
|
description: 'User password. Must be at least 8 characters long.'
|
|
3415
|
-
},
|
|
3416
|
-
status: {
|
|
3417
|
-
type: 'string',
|
|
3418
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
3419
|
-
example: 'active',
|
|
3420
|
-
enum: [
|
|
3421
|
-
'active',
|
|
3422
|
-
'inactive'
|
|
3423
|
-
]
|
|
3424
|
-
},
|
|
3425
|
-
role: {
|
|
3426
|
-
type: 'string',
|
|
3427
|
-
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
3428
|
-
example: 'User',
|
|
3429
|
-
enum: [
|
|
3430
|
-
'Administrator',
|
|
3431
|
-
'User'
|
|
3432
|
-
]
|
|
3433
4116
|
}
|
|
3434
4117
|
},
|
|
3435
4118
|
required: [
|