@cloudfleet/sdk 0.0.1-84adc67 → 0.0.1-882a962

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.
@@ -1,4 +1,53 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
+ export const BasicPriceConsentInputSchema = {
3
+ type: 'object',
4
+ properties: {
5
+ decision: {
6
+ type: 'string',
7
+ description: 'The administrator\'s decision on the new Basic price. `accepted` continues to paid billing when the signup credit runs out; `rejected` opts out (clusters are suspended, never charged). A `rejected` org can later be flipped back to `accepted`.',
8
+ example: 'accepted',
9
+ enum: [
10
+ 'accepted',
11
+ 'rejected'
12
+ ]
13
+ }
14
+ },
15
+ required: [
16
+ 'decision'
17
+ ],
18
+ additionalProperties: false
19
+ };
20
+ export const BasicPriceConsentSchema = {
21
+ type: 'object',
22
+ properties: {
23
+ status: {
24
+ type: 'string',
25
+ description: 'Consent status for the new Basic price. `not_applicable` when the organization is not in scope for the migration. `pending` when the organization must opt in but no admin has decided yet. `accepted` / `rejected` reflect the recorded decision.',
26
+ example: 'pending',
27
+ enum: [
28
+ 'not_applicable',
29
+ 'pending',
30
+ 'accepted',
31
+ 'rejected'
32
+ ]
33
+ },
34
+ decided_at: {
35
+ type: 'string',
36
+ format: 'date-time',
37
+ description: 'When the current decision was recorded. Absent while `not_applicable` or `pending`.',
38
+ example: '2026-09-05T10:12:00.000Z'
39
+ },
40
+ decided_by: {
41
+ type: 'string',
42
+ description: 'User id of the administrator who recorded the current decision. Absent while `not_applicable` or `pending`.',
43
+ example: '2b7a5c9e-1f4d-4a1b-9c3e-8d2f6a0b1c2d'
44
+ }
45
+ },
46
+ required: [
47
+ 'status'
48
+ ],
49
+ additionalProperties: false
50
+ };
2
51
  export const BillingContactSchema = {
3
52
  type: 'object',
4
53
  properties: {
@@ -440,17 +489,14 @@ export const ClusterCreateInputSchema = {
440
489
  tier: {
441
490
  type: 'string',
442
491
  description: 'Tier of the cluster.',
492
+ default: 'basic',
443
493
  example: 'pro',
444
494
  enum: [
445
495
  'basic',
446
- 'pro'
496
+ 'pro',
497
+ 'enterprise'
447
498
  ]
448
499
  },
449
- region: {
450
- type: 'string',
451
- description: 'Cloudfleet control plane region. This field can not be updated after creation.',
452
- example: 'europe-central-1a'
453
- },
454
500
  version_channel: {
455
501
  type: 'string',
456
502
  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-]+)*))?$',
@@ -475,6 +521,7 @@ export const ClusterCreateInputSchema = {
475
521
  gpu_sharing_strategy: {
476
522
  type: 'string',
477
523
  description: 'GPU sharing strategy.',
524
+ default: 'none',
478
525
  example: 'none',
479
526
  enum: [
480
527
  'none',
@@ -484,9 +531,10 @@ export const ClusterCreateInputSchema = {
484
531
  },
485
532
  gpu_max_shared_clients_per_gpu: {
486
533
  type: 'integer',
487
- minimum: 1,
534
+ minimum: 2,
488
535
  maximum: 48,
489
536
  description: 'Maximum number of pods that may share a single GPU.',
537
+ default: 4,
490
538
  example: 10
491
539
  },
492
540
  cilium_socket_lb_host_namespace_only: {
@@ -495,62 +543,64 @@ export const ClusterCreateInputSchema = {
495
543
  example: false
496
544
  }
497
545
  },
498
- required: [
499
- 'gpu_sharing_strategy',
500
- 'gpu_max_shared_clients_per_gpu'
501
- ],
502
546
  additionalProperties: false,
503
547
  description: 'Cluster feature toggles.',
504
548
  default: {
505
549
  gpu_sharing_strategy: 'none',
506
- gpu_max_shared_clients_per_gpu: 10,
550
+ gpu_max_shared_clients_per_gpu: 4,
507
551
  cilium_socket_lb_host_namespace_only: false
508
552
  }
509
553
  },
554
+ region: {
555
+ type: 'string',
556
+ description: 'Cloudfleet control plane region. This field can not be updated after creation.',
557
+ example: 'europe-central-1a'
558
+ },
510
559
  networking: {
511
560
  type: 'object',
512
561
  properties: {
513
562
  pod_cidr: {
514
563
  type: 'string',
515
564
  description: 'CIDR block for pod IPs.',
516
- example: '10.244.0.0/16'
565
+ default: '10.244.0.0/16'
517
566
  },
518
567
  service_cidr: {
519
568
  type: 'string',
520
569
  description: 'CIDR block for service IPs.',
521
- example: '10.96.0.0/12'
522
- },
523
- cluster_dns: {
524
- type: 'string',
525
- description: 'CoreDNS service IP.',
526
- example: '10.96.0.10'
570
+ default: '10.96.0.0/12'
527
571
  },
528
572
  dual_stack: {
529
573
  type: 'boolean',
530
- description: 'Enable IPv4+IPv6 dual-stack networking.',
531
- example: false
574
+ description: 'Enable IPv4+IPv6 dual-stack networking.'
532
575
  },
533
576
  pod_cidr_v6: {
534
577
  type: 'string',
535
578
  description: 'IPv6 pod CIDR. Requires dual_stack.',
536
- example: 'fd00:10:244::/56'
579
+ default: '2001:db8:1:2::/48'
537
580
  },
538
581
  service_cidr_v6: {
539
582
  type: 'string',
540
583
  description: 'IPv6 service CIDR. Requires dual_stack.',
541
- example: 'fd00:10:96::/112'
584
+ default: '2001:db8:1:1::/112'
542
585
  }
543
586
  },
544
587
  additionalProperties: false,
545
- description: 'Cluster networking configuration. Immutable after creation.'
588
+ description: 'Cluster networking configuration. Immutable after creation.',
589
+ default: {
590
+ pod_cidr: '10.244.0.0/16',
591
+ service_cidr: '10.96.0.0/12',
592
+ dual_stack: false,
593
+ pod_cidr_v6: '2001:db8:1:2::/48',
594
+ service_cidr_v6: '2001:db8:1:1::/112'
595
+ }
546
596
  }
547
597
  },
548
598
  required: [
549
599
  'name',
550
- 'tier',
551
600
  'region'
552
601
  ],
553
- additionalProperties: false
602
+ additionalProperties: false,
603
+ description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
554
604
  };
555
605
  export const ClusterJoinInformationSchema = {
556
606
  type: 'object',
@@ -673,57 +723,25 @@ export const ClusterSchema = {
673
723
  tier: {
674
724
  type: 'string',
675
725
  description: 'Tier of the cluster.',
726
+ default: 'basic',
676
727
  example: 'pro',
677
728
  enum: [
678
729
  'basic',
679
- 'pro'
730
+ 'pro',
731
+ 'enterprise'
680
732
  ]
681
733
  },
682
- region: {
734
+ version_channel: {
683
735
  type: 'string',
684
- description: 'Cloudfleet control plane region. This field can not be updated after creation.',
685
- example: 'europe-central-1a'
686
- },
687
- networking: {
688
- type: 'object',
689
- properties: {
690
- pod_cidr: {
691
- type: 'string',
692
- description: 'CIDR block for pod IPs.',
693
- example: '10.244.0.0/16'
694
- },
695
- service_cidr: {
696
- type: 'string',
697
- description: 'CIDR block for service IPs.',
698
- example: '10.96.0.0/12'
699
- },
700
- cluster_dns: {
701
- type: 'string',
702
- description: 'CoreDNS service IP.',
703
- example: '10.96.0.10'
704
- },
705
- dual_stack: {
706
- type: 'boolean',
707
- description: 'Enable IPv4+IPv6 dual-stack networking.',
708
- example: false
709
- },
710
- pod_cidr_v6: {
711
- type: 'string',
712
- description: 'IPv6 pod CIDR. Requires dual_stack.',
713
- example: 'fd00:10:244::/56'
714
- },
715
- service_cidr_v6: {
716
- type: 'string',
717
- description: 'IPv6 service CIDR. Requires dual_stack.',
718
- example: 'fd00:10:96::/112'
719
- }
720
- },
721
- additionalProperties: false,
722
- description: 'Cluster networking configuration. Immutable after creation.'
736
+ 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-]+)*))?$',
737
+ description: 'Version of the kubernetes cluster.',
738
+ default: '1.x.x-cfke.x',
739
+ example: '1.x.x-cfke.x'
723
740
  },
724
741
  release_channel: {
725
742
  type: 'string',
726
743
  description: 'Release channel for the cluster\'s control plane.',
744
+ default: 'rapid',
727
745
  example: 'rapid',
728
746
  enum: [
729
747
  'rapid',
@@ -737,6 +755,7 @@ export const ClusterSchema = {
737
755
  gpu_sharing_strategy: {
738
756
  type: 'string',
739
757
  description: 'GPU sharing strategy.',
758
+ default: 'none',
740
759
  example: 'none',
741
760
  enum: [
742
761
  'none',
@@ -746,9 +765,10 @@ export const ClusterSchema = {
746
765
  },
747
766
  gpu_max_shared_clients_per_gpu: {
748
767
  type: 'integer',
749
- minimum: 1,
768
+ minimum: 2,
750
769
  maximum: 48,
751
770
  description: 'Maximum number of pods that may share a single GPU.',
771
+ default: 4,
752
772
  example: 10
753
773
  },
754
774
  cilium_socket_lb_host_namespace_only: {
@@ -759,10 +779,66 @@ export const ClusterSchema = {
759
779
  },
760
780
  required: [
761
781
  'gpu_sharing_strategy',
762
- 'gpu_max_shared_clients_per_gpu'
782
+ 'gpu_max_shared_clients_per_gpu',
783
+ 'cilium_socket_lb_host_namespace_only'
784
+ ],
785
+ additionalProperties: false,
786
+ description: 'Cluster feature toggles.',
787
+ default: {
788
+ gpu_sharing_strategy: 'none',
789
+ gpu_max_shared_clients_per_gpu: 4,
790
+ cilium_socket_lb_host_namespace_only: false
791
+ }
792
+ },
793
+ region: {
794
+ type: 'string',
795
+ description: 'Cloudfleet control plane region. This field can not be updated after creation.',
796
+ example: 'europe-central-1a'
797
+ },
798
+ networking: {
799
+ type: 'object',
800
+ properties: {
801
+ pod_cidr: {
802
+ type: 'string',
803
+ description: 'CIDR block for pod IPs.',
804
+ default: '10.244.0.0/16'
805
+ },
806
+ service_cidr: {
807
+ type: 'string',
808
+ description: 'CIDR block for service IPs.',
809
+ default: '10.96.0.0/12'
810
+ },
811
+ dual_stack: {
812
+ type: 'boolean',
813
+ description: 'Enable IPv4+IPv6 dual-stack networking.'
814
+ },
815
+ pod_cidr_v6: {
816
+ type: 'string',
817
+ description: 'IPv6 pod CIDR. Requires dual_stack.',
818
+ default: '2001:db8:1:2::/48'
819
+ },
820
+ service_cidr_v6: {
821
+ type: 'string',
822
+ description: 'IPv6 service CIDR. Requires dual_stack.',
823
+ default: '2001:db8:1:1::/112'
824
+ }
825
+ },
826
+ required: [
827
+ 'pod_cidr',
828
+ 'service_cidr',
829
+ 'dual_stack',
830
+ 'pod_cidr_v6',
831
+ 'service_cidr_v6'
763
832
  ],
764
833
  additionalProperties: false,
765
- description: 'Cluster feature toggles.'
834
+ description: 'Cluster networking configuration. Immutable after creation.',
835
+ default: {
836
+ pod_cidr: '10.244.0.0/16',
837
+ service_cidr: '10.96.0.0/12',
838
+ dual_stack: false,
839
+ pod_cidr_v6: '2001:db8:1:2::/48',
840
+ service_cidr_v6: '2001:db8:1:1::/112'
841
+ }
766
842
  },
767
843
  id: {
768
844
  type: 'string',
@@ -837,22 +913,22 @@ export const ClusterSchema = {
837
913
  type: 'boolean',
838
914
  description: 'Indicates if the cluster is ready to be used.',
839
915
  example: true
840
- },
841
- version_channel: {
842
- type: 'string',
843
- pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
844
- description: 'Version of the kubernetes cluster.',
845
- example: '1.x.x-cfke.x'
846
916
  }
847
917
  },
848
918
  required: [
849
919
  'name',
850
920
  'tier',
921
+ 'version_channel',
922
+ 'release_channel',
923
+ 'features',
851
924
  'region',
925
+ 'networking',
852
926
  'id',
853
- 'status'
927
+ 'status',
928
+ 'ready'
854
929
  ],
855
- additionalProperties: false
930
+ additionalProperties: false,
931
+ description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
856
932
  };
857
933
  export const ClusterUpdateInputSchema = {
858
934
  type: 'object',
@@ -868,21 +944,25 @@ export const ClusterUpdateInputSchema = {
868
944
  tier: {
869
945
  type: 'string',
870
946
  description: 'Tier of the cluster.',
947
+ default: 'basic',
871
948
  example: 'pro',
872
949
  enum: [
873
950
  'basic',
874
- 'pro'
951
+ 'pro',
952
+ 'enterprise'
875
953
  ]
876
954
  },
877
955
  version_channel: {
878
956
  type: 'string',
879
957
  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-]+)*))?$',
880
958
  description: 'Version of the kubernetes cluster.',
959
+ default: '1.x.x-cfke.x',
881
960
  example: '1.x.x-cfke.x'
882
961
  },
883
962
  release_channel: {
884
963
  type: 'string',
885
964
  description: 'Release channel for the cluster\'s control plane.',
965
+ default: 'rapid',
886
966
  example: 'rapid',
887
967
  enum: [
888
968
  'rapid',
@@ -896,6 +976,7 @@ export const ClusterUpdateInputSchema = {
896
976
  gpu_sharing_strategy: {
897
977
  type: 'string',
898
978
  description: 'GPU sharing strategy.',
979
+ default: 'none',
899
980
  example: 'none',
900
981
  enum: [
901
982
  'none',
@@ -905,9 +986,10 @@ export const ClusterUpdateInputSchema = {
905
986
  },
906
987
  gpu_max_shared_clients_per_gpu: {
907
988
  type: 'integer',
908
- minimum: 1,
989
+ minimum: 2,
909
990
  maximum: 48,
910
991
  description: 'Maximum number of pods that may share a single GPU.',
992
+ default: 4,
911
993
  example: 10
912
994
  },
913
995
  cilium_socket_lb_host_namespace_only: {
@@ -916,18 +998,20 @@ export const ClusterUpdateInputSchema = {
916
998
  example: false
917
999
  }
918
1000
  },
919
- required: [
920
- 'gpu_sharing_strategy',
921
- 'gpu_max_shared_clients_per_gpu'
922
- ],
923
1001
  additionalProperties: false,
924
- description: 'Cluster feature toggles.'
1002
+ description: 'Cluster feature toggles.',
1003
+ default: {
1004
+ gpu_sharing_strategy: 'none',
1005
+ gpu_max_shared_clients_per_gpu: 4,
1006
+ cilium_socket_lb_host_namespace_only: false
1007
+ }
925
1008
  }
926
1009
  },
927
1010
  required: [
928
- 'tier'
1011
+ 'name'
929
1012
  ],
930
- additionalProperties: false
1013
+ additionalProperties: false,
1014
+ description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
931
1015
  };
932
1016
  export const FleetCreateInputSchema = {
933
1017
  type: 'object',
@@ -973,8 +1057,8 @@ export const FleetCreateInputSchema = {
973
1057
  type: 'string',
974
1058
  maxLength: 64,
975
1059
  minLength: 64,
976
- pattern: '^[A-Za-z0-9]+$',
977
- description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
1060
+ pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
1061
+ 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.'
978
1062
  }
979
1063
  },
980
1064
  required: [
@@ -1199,7 +1283,8 @@ export const FleetCreateInputSchema = {
1199
1283
  'z3'
1200
1284
  ]
1201
1285
  },
1202
- description: 'Allowed values for `cfke.io/instance-family`.'
1286
+ description: 'Allowed values for `cfke.io/instance-family`.',
1287
+ default: []
1203
1288
  },
1204
1289
  'topology.kubernetes.io/region': {
1205
1290
  type: 'array',
@@ -1272,15 +1357,27 @@ export const FleetCreateInputSchema = {
1272
1357
  'us-west4'
1273
1358
  ]
1274
1359
  },
1275
- description: 'Allowed values for `topology.kubernetes.io/region`.'
1360
+ description: 'Allowed values for `topology.kubernetes.io/region`.',
1361
+ default: []
1276
1362
  }
1277
1363
  },
1278
1364
  additionalProperties: false,
1279
- description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
1365
+ 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.',
1366
+ default: {
1367
+ 'karpenter.sh/capacity-type': [
1368
+ 'on-demand',
1369
+ 'spot'
1370
+ ],
1371
+ 'kubernetes.io/arch': [
1372
+ 'amd64'
1373
+ ],
1374
+ 'cfke.io/instance-family': [],
1375
+ 'topology.kubernetes.io/region': []
1376
+ }
1280
1377
  },
1281
1378
  scalingProfile: {
1282
1379
  type: 'string',
1283
- description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1380
+ 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`).',
1284
1381
  default: 'conservative',
1285
1382
  example: 'conservative',
1286
1383
  enum: [
@@ -1300,7 +1397,8 @@ export const FleetCreateInputSchema = {
1300
1397
  required: [
1301
1398
  'id'
1302
1399
  ],
1303
- additionalProperties: false
1400
+ additionalProperties: false,
1401
+ description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
1304
1402
  };
1305
1403
  export const FleetSchema = {
1306
1404
  type: 'object',
@@ -1570,7 +1668,8 @@ export const FleetSchema = {
1570
1668
  'z3'
1571
1669
  ]
1572
1670
  },
1573
- description: 'Allowed values for `cfke.io/instance-family`.'
1671
+ description: 'Allowed values for `cfke.io/instance-family`.',
1672
+ default: []
1574
1673
  },
1575
1674
  'topology.kubernetes.io/region': {
1576
1675
  type: 'array',
@@ -1643,15 +1742,31 @@ export const FleetSchema = {
1643
1742
  'us-west4'
1644
1743
  ]
1645
1744
  },
1646
- description: 'Allowed values for `topology.kubernetes.io/region`.'
1745
+ description: 'Allowed values for `topology.kubernetes.io/region`.',
1746
+ default: []
1647
1747
  }
1648
1748
  },
1749
+ required: [
1750
+ 'karpenter.sh/capacity-type',
1751
+ 'kubernetes.io/arch'
1752
+ ],
1649
1753
  additionalProperties: false,
1650
- description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
1754
+ 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.',
1755
+ default: {
1756
+ 'karpenter.sh/capacity-type': [
1757
+ 'on-demand',
1758
+ 'spot'
1759
+ ],
1760
+ 'kubernetes.io/arch': [
1761
+ 'amd64'
1762
+ ],
1763
+ 'cfke.io/instance-family': [],
1764
+ 'topology.kubernetes.io/region': []
1765
+ }
1651
1766
  },
1652
1767
  scalingProfile: {
1653
1768
  type: 'string',
1654
- description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1769
+ 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`).',
1655
1770
  default: 'conservative',
1656
1771
  example: 'conservative',
1657
1772
  enum: [
@@ -1689,13 +1804,15 @@ export const FleetSchema = {
1689
1804
  }
1690
1805
  },
1691
1806
  required: [
1807
+ 'constraints',
1692
1808
  'scalingProfile',
1693
1809
  'id',
1694
1810
  'ready',
1695
1811
  'created_at',
1696
1812
  'updated_at'
1697
1813
  ],
1698
- additionalProperties: false
1814
+ additionalProperties: false,
1815
+ description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
1699
1816
  };
1700
1817
  export const FleetUpdateInputSchema = {
1701
1818
  type: 'object',
@@ -1741,8 +1858,8 @@ export const FleetUpdateInputSchema = {
1741
1858
  type: 'string',
1742
1859
  maxLength: 64,
1743
1860
  minLength: 64,
1744
- pattern: '^[A-Za-z0-9]+$',
1745
- description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
1861
+ pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
1862
+ 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.'
1746
1863
  }
1747
1864
  },
1748
1865
  required: [
@@ -1781,7 +1898,11 @@ export const FleetUpdateInputSchema = {
1781
1898
  ]
1782
1899
  },
1783
1900
  minItems: 1,
1784
- description: 'Allowed values for `karpenter.sh/capacity-type`.'
1901
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
1902
+ default: [
1903
+ 'on-demand',
1904
+ 'spot'
1905
+ ]
1785
1906
  },
1786
1907
  'kubernetes.io/arch': {
1787
1908
  type: 'array',
@@ -1793,7 +1914,10 @@ export const FleetUpdateInputSchema = {
1793
1914
  ]
1794
1915
  },
1795
1916
  minItems: 1,
1796
- description: 'Allowed values for `kubernetes.io/arch`.'
1917
+ description: 'Allowed values for `kubernetes.io/arch`.',
1918
+ default: [
1919
+ 'amd64'
1920
+ ]
1797
1921
  },
1798
1922
  'cfke.io/instance-family': {
1799
1923
  type: 'array',
@@ -1960,7 +2084,8 @@ export const FleetUpdateInputSchema = {
1960
2084
  'z3'
1961
2085
  ]
1962
2086
  },
1963
- description: 'Allowed values for `cfke.io/instance-family`.'
2087
+ description: 'Allowed values for `cfke.io/instance-family`.',
2088
+ default: []
1964
2089
  },
1965
2090
  'topology.kubernetes.io/region': {
1966
2091
  type: 'array',
@@ -2033,15 +2158,28 @@ export const FleetUpdateInputSchema = {
2033
2158
  'us-west4'
2034
2159
  ]
2035
2160
  },
2036
- description: 'Allowed values for `topology.kubernetes.io/region`.'
2161
+ description: 'Allowed values for `topology.kubernetes.io/region`.',
2162
+ default: []
2037
2163
  }
2038
2164
  },
2039
2165
  additionalProperties: false,
2040
- description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together. Omit a field to place no restriction on that key.'
2166
+ 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.',
2167
+ default: {
2168
+ 'karpenter.sh/capacity-type': [
2169
+ 'on-demand',
2170
+ 'spot'
2171
+ ],
2172
+ 'kubernetes.io/arch': [
2173
+ 'amd64'
2174
+ ],
2175
+ 'cfke.io/instance-family': [],
2176
+ 'topology.kubernetes.io/region': []
2177
+ }
2041
2178
  },
2042
2179
  scalingProfile: {
2043
2180
  type: 'string',
2044
- description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
2181
+ 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`).',
2182
+ default: 'conservative',
2045
2183
  example: 'conservative',
2046
2184
  enum: [
2047
2185
  'aggressive',
@@ -2049,10 +2187,8 @@ export const FleetUpdateInputSchema = {
2049
2187
  ]
2050
2188
  }
2051
2189
  },
2052
- required: [
2053
- 'scalingProfile'
2054
- ],
2055
- additionalProperties: false
2190
+ additionalProperties: false,
2191
+ description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
2056
2192
  };
2057
2193
  export const InviteCreateInputSchema = {
2058
2194
  type: 'object',
@@ -2460,6 +2596,17 @@ export const OrganizationSchema = {
2460
2596
  description: 'Available number of Pro clusters that can be created.',
2461
2597
  example: 999
2462
2598
  },
2599
+ enterprise_clusters_max: {
2600
+ type: 'integer',
2601
+ minimum: 0,
2602
+ description: 'Maximum number of Enterprise clusters that can be created.',
2603
+ example: 999
2604
+ },
2605
+ enterprise_clusters_available: {
2606
+ type: 'integer',
2607
+ description: 'Available number of Enterprise clusters that can be created.',
2608
+ example: 999
2609
+ },
2463
2610
  fleets_max: {
2464
2611
  type: 'integer',
2465
2612
  minimum: 0,
@@ -2521,6 +2668,8 @@ export const OrganizationSchema = {
2521
2668
  'basic_clusters_available',
2522
2669
  'pro_clusters_max',
2523
2670
  'pro_clusters_available',
2671
+ 'enterprise_clusters_max',
2672
+ 'enterprise_clusters_available',
2524
2673
  'fleets_max',
2525
2674
  'cluster_tiers',
2526
2675
  'regions',
@@ -2667,6 +2816,17 @@ export const PlatformQuotaSchema = {
2667
2816
  description: 'Available number of Pro clusters that can be created.',
2668
2817
  example: 999
2669
2818
  },
2819
+ enterprise_clusters_max: {
2820
+ type: 'integer',
2821
+ minimum: 0,
2822
+ description: 'Maximum number of Enterprise clusters that can be created.',
2823
+ example: 999
2824
+ },
2825
+ enterprise_clusters_available: {
2826
+ type: 'integer',
2827
+ description: 'Available number of Enterprise clusters that can be created.',
2828
+ example: 999
2829
+ },
2670
2830
  fleets_max: {
2671
2831
  type: 'integer',
2672
2832
  minimum: 0,
@@ -2728,6 +2888,8 @@ export const PlatformQuotaSchema = {
2728
2888
  'basic_clusters_available',
2729
2889
  'pro_clusters_max',
2730
2890
  'pro_clusters_available',
2891
+ 'enterprise_clusters_max',
2892
+ 'enterprise_clusters_available',
2731
2893
  'fleets_max',
2732
2894
  'cluster_tiers',
2733
2895
  'regions',
@@ -3070,172 +3232,6 @@ export const TicketCreateInputSchema = {
3070
3232
  ],
3071
3233
  additionalProperties: false
3072
3234
  };
3073
- export const TicketListResponseSchema = {
3074
- type: 'object',
3075
- properties: {
3076
- items: {
3077
- type: 'array',
3078
- items: {
3079
- type: 'object',
3080
- properties: {
3081
- id: {
3082
- type: 'string',
3083
- description: 'Unique identifier of the ticket (Mongo ObjectId).',
3084
- example: '60c72b2f9f1b2c001f8e4d3a'
3085
- },
3086
- status: {
3087
- type: 'string',
3088
- description: 'Current state of the ticket.',
3089
- example: 'waiting_on_us',
3090
- enum: [
3091
- 'waiting_on_us',
3092
- 'waiting_on_user',
3093
- 'closed'
3094
- ]
3095
- },
3096
- category: {
3097
- type: 'string',
3098
- description: 'Ticket category.',
3099
- example: 'technical',
3100
- enum: [
3101
- 'billing',
3102
- 'technical',
3103
- 'general'
3104
- ]
3105
- },
3106
- summary: {
3107
- type: 'string',
3108
- description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
3109
- example: 'My cluster cannot reach the registry. Logs attached.'
3110
- },
3111
- closed_at: {
3112
- type: 'string',
3113
- format: 'date-time',
3114
- nullable: true,
3115
- description: 'Closure timestamp. Null while the ticket is open.',
3116
- example: '2026-05-18T16:08:14.338Z'
3117
- },
3118
- date_created: {
3119
- type: 'string',
3120
- format: 'date-time',
3121
- description: 'Creation date of the ticket. ISO 8601 UTC.',
3122
- example: '2026-05-11T16:08:14.338Z'
3123
- },
3124
- date_updated: {
3125
- type: 'string',
3126
- format: 'date-time',
3127
- description: 'Last update date of the ticket. ISO 8601 UTC.',
3128
- example: '2026-05-11T16:08:14.338Z'
3129
- },
3130
- messages: {
3131
- type: 'array',
3132
- items: {
3133
- type: 'object',
3134
- properties: {
3135
- id: {
3136
- type: 'string',
3137
- description: 'Unique identifier of the message (Mongo ObjectId).',
3138
- example: '60c72b2f9f1b2c001f8e4d3b'
3139
- },
3140
- type: {
3141
- type: 'string',
3142
- description: 'Message type. Internal notes are filtered out of customer-facing responses.',
3143
- example: 'customer_reply',
3144
- enum: [
3145
- 'customer_reply',
3146
- 'agent_reply'
3147
- ]
3148
- },
3149
- body: {
3150
- type: 'string',
3151
- description: 'Message body in markdown.',
3152
- example: 'Thanks — that resolved it on my side.'
3153
- },
3154
- author_first_name: {
3155
- type: 'string',
3156
- nullable: true,
3157
- description: 'First name of the author. Null when not provided.',
3158
- example: 'Jane'
3159
- },
3160
- author_last_name: {
3161
- type: 'string',
3162
- nullable: true,
3163
- description: 'Last name of the author. Null when not provided.',
3164
- example: 'Doe'
3165
- },
3166
- attachments: {
3167
- type: 'array',
3168
- items: {
3169
- type: 'object',
3170
- properties: {
3171
- id: {
3172
- type: 'string',
3173
- description: 'Unique identifier of the attachment (Mongo ObjectId).',
3174
- example: '60c72b2f9f1b2c001f8e4d3c'
3175
- },
3176
- filename: {
3177
- type: 'string',
3178
- description: 'Original filename as uploaded.',
3179
- example: 'debug.log'
3180
- },
3181
- content_type: {
3182
- type: 'string',
3183
- description: 'MIME content type of the attachment.',
3184
- example: 'text/plain'
3185
- },
3186
- size: {
3187
- type: 'integer',
3188
- description: 'Size of the attachment in bytes.',
3189
- example: 12345
3190
- }
3191
- },
3192
- required: [
3193
- 'id',
3194
- 'filename',
3195
- 'content_type',
3196
- 'size'
3197
- ],
3198
- additionalProperties: false
3199
- },
3200
- description: 'Attachments associated with this message.',
3201
- example: []
3202
- },
3203
- date_created: {
3204
- type: 'string',
3205
- format: 'date-time',
3206
- description: 'Creation date of the message. ISO 8601 UTC.',
3207
- example: '2026-05-11T16:08:14.338Z'
3208
- }
3209
- },
3210
- required: [
3211
- 'id',
3212
- 'type',
3213
- 'body',
3214
- 'date_created'
3215
- ],
3216
- additionalProperties: false
3217
- },
3218
- description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
3219
- }
3220
- },
3221
- required: [
3222
- 'id',
3223
- 'status',
3224
- 'category',
3225
- 'summary',
3226
- 'date_created',
3227
- 'date_updated'
3228
- ],
3229
- additionalProperties: false
3230
- },
3231
- description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
3232
- }
3233
- },
3234
- required: [
3235
- 'items'
3236
- ],
3237
- additionalProperties: false
3238
- };
3239
3235
  export const TicketMessageInputSchema = {
3240
3236
  type: 'object',
3241
3237
  properties: {
@@ -3277,11 +3273,13 @@ export const TicketMessageSchema = {
3277
3273
  },
3278
3274
  author_first_name: {
3279
3275
  type: 'string',
3276
+ nullable: true,
3280
3277
  description: 'First name of the author. Null when not provided.',
3281
3278
  example: 'Jane'
3282
3279
  },
3283
3280
  author_last_name: {
3284
3281
  type: 'string',
3282
+ nullable: true,
3285
3283
  description: 'Last name of the author. Null when not provided.',
3286
3284
  example: 'Doe'
3287
3285
  },
@@ -3373,6 +3371,7 @@ export const TicketSchema = {
3373
3371
  closed_at: {
3374
3372
  type: 'string',
3375
3373
  format: 'date-time',
3374
+ nullable: true,
3376
3375
  description: 'Closure timestamp. Null while the ticket is open.',
3377
3376
  example: '2026-05-18T16:08:14.338Z'
3378
3377
  },
@@ -3597,12 +3596,21 @@ export const UsageFacetsSchema = {
3597
3596
  product: {
3598
3597
  type: 'array',
3599
3598
  items: {
3600
- type: 'string'
3599
+ type: 'string',
3600
+ enum: [
3601
+ 'cfke_controlplane_basic',
3602
+ 'cfke_controlplane_pro',
3603
+ 'cfke_controlplane_enterprise',
3604
+ 'cfke_connected_nodes_basic',
3605
+ 'cfke_connected_nodes_pro',
3606
+ 'cfke_connected_nodes_enterprise',
3607
+ 'cfcr_storage'
3608
+ ]
3601
3609
  },
3602
3610
  description: 'List of unique products',
3603
3611
  example: [
3604
- 'cfke_controlplane',
3605
- 'cfke_connected_nodes'
3612
+ 'cfke_controlplane_pro',
3613
+ 'cfke_connected_nodes_pro'
3606
3614
  ]
3607
3615
  }
3608
3616
  },
@@ -3629,7 +3637,16 @@ export const UsageResponseSchema = {
3629
3637
  product: {
3630
3638
  type: 'string',
3631
3639
  description: 'The product the usage is associated with',
3632
- example: 'cfke_controlplane'
3640
+ example: 'cfke_controlplane_pro',
3641
+ enum: [
3642
+ 'cfke_controlplane_basic',
3643
+ 'cfke_controlplane_pro',
3644
+ 'cfke_controlplane_enterprise',
3645
+ 'cfke_connected_nodes_basic',
3646
+ 'cfke_connected_nodes_pro',
3647
+ 'cfke_connected_nodes_enterprise',
3648
+ 'cfcr_storage'
3649
+ ]
3633
3650
  },
3634
3651
  value: {
3635
3652
  type: 'number',
@@ -3677,12 +3694,21 @@ export const UsageResponseSchema = {
3677
3694
  product: {
3678
3695
  type: 'array',
3679
3696
  items: {
3680
- type: 'string'
3697
+ type: 'string',
3698
+ enum: [
3699
+ 'cfke_controlplane_basic',
3700
+ 'cfke_controlplane_pro',
3701
+ 'cfke_controlplane_enterprise',
3702
+ 'cfke_connected_nodes_basic',
3703
+ 'cfke_connected_nodes_pro',
3704
+ 'cfke_connected_nodes_enterprise',
3705
+ 'cfcr_storage'
3706
+ ]
3681
3707
  },
3682
3708
  description: 'List of unique products',
3683
3709
  example: [
3684
- 'cfke_controlplane',
3685
- 'cfke_connected_nodes'
3710
+ 'cfke_controlplane_pro',
3711
+ 'cfke_connected_nodes_pro'
3686
3712
  ]
3687
3713
  }
3688
3714
  },
@@ -3712,7 +3738,16 @@ export const UsageSchema = {
3712
3738
  product: {
3713
3739
  type: 'string',
3714
3740
  description: 'The product the usage is associated with',
3715
- example: 'cfke_controlplane'
3741
+ example: 'cfke_controlplane_pro',
3742
+ enum: [
3743
+ 'cfke_controlplane_basic',
3744
+ 'cfke_controlplane_pro',
3745
+ 'cfke_controlplane_enterprise',
3746
+ 'cfke_connected_nodes_basic',
3747
+ 'cfke_connected_nodes_pro',
3748
+ 'cfke_connected_nodes_enterprise',
3749
+ 'cfcr_storage'
3750
+ ]
3716
3751
  },
3717
3752
  value: {
3718
3753
  type: 'number',