@cloudfleet/sdk 0.0.1-a64863e → 0.0.1-a9ac9eb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@tanstack/react-query.gen.d.ts +1125 -0
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
- package/dist/@tanstack/react-query.gen.js +1129 -0
- package/dist/@tanstack/react-query.gen.js.map +1 -0
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/client.gen.js +103 -119
- package/dist/client/client.gen.js.map +1 -1
- package/dist/client/types.gen.d.ts +5 -2
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts +5 -1
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.js.map +1 -1
- package/dist/core/serverSentEvents.gen.d.ts +1 -1
- package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
- package/dist/core/serverSentEvents.gen.js +3 -4
- package/dist/core/serverSentEvents.gen.js.map +1 -1
- package/dist/schemas.gen.d.ts +651 -70
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +1476 -84
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +40 -2
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +67 -0
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +8 -8
- package/dist/types.gen.d.ts +492 -51
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +2111 -73
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +882 -32
- package/dist/zod.gen.js.map +1 -1
- package/package.json +23 -4
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
|
],
|
|
@@ -642,7 +652,7 @@ export const ClusterSchema = {
|
|
|
642
652
|
{
|
|
643
653
|
type: 'string',
|
|
644
654
|
format: 'uri',
|
|
645
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
655
|
+
description: 'URL signed by the private CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster. (Deprecated, use endpoint_public instead)',
|
|
646
656
|
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.cloudfleet.dev:6443'
|
|
647
657
|
},
|
|
648
658
|
{
|
|
@@ -653,6 +663,22 @@ export const ClusterSchema = {
|
|
|
653
663
|
}
|
|
654
664
|
]
|
|
655
665
|
},
|
|
666
|
+
endpoint_public: {
|
|
667
|
+
anyOf: [
|
|
668
|
+
{
|
|
669
|
+
type: 'string',
|
|
670
|
+
format: 'uri',
|
|
671
|
+
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.',
|
|
672
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
type: 'string',
|
|
676
|
+
enum: [
|
|
677
|
+
''
|
|
678
|
+
]
|
|
679
|
+
}
|
|
680
|
+
]
|
|
681
|
+
},
|
|
656
682
|
certificate_ca: {
|
|
657
683
|
type: 'string',
|
|
658
684
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
@@ -732,15 +758,12 @@ export const FleetCreateInputSchema = {
|
|
|
732
758
|
type: 'object',
|
|
733
759
|
properties: {
|
|
734
760
|
cpu: {
|
|
735
|
-
type: '
|
|
736
|
-
format: 'float',
|
|
761
|
+
type: 'integer',
|
|
737
762
|
minimum: 0,
|
|
738
|
-
|
|
763
|
+
maximum: 100000,
|
|
764
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
739
765
|
}
|
|
740
766
|
},
|
|
741
|
-
required: [
|
|
742
|
-
'cpu'
|
|
743
|
-
],
|
|
744
767
|
additionalProperties: false,
|
|
745
768
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
746
769
|
},
|
|
@@ -748,16 +771,17 @@ export const FleetCreateInputSchema = {
|
|
|
748
771
|
type: 'object',
|
|
749
772
|
properties: {
|
|
750
773
|
enabled: {
|
|
751
|
-
type: 'boolean'
|
|
752
|
-
default: true
|
|
774
|
+
type: 'boolean'
|
|
753
775
|
},
|
|
754
776
|
project: {
|
|
755
777
|
type: 'string',
|
|
756
|
-
|
|
778
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
779
|
+
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.',
|
|
780
|
+
example: 'my-cloudfleet-project'
|
|
757
781
|
}
|
|
758
782
|
},
|
|
759
783
|
required: [
|
|
760
|
-
'
|
|
784
|
+
'enabled'
|
|
761
785
|
],
|
|
762
786
|
additionalProperties: false
|
|
763
787
|
},
|
|
@@ -765,16 +789,18 @@ export const FleetCreateInputSchema = {
|
|
|
765
789
|
type: 'object',
|
|
766
790
|
properties: {
|
|
767
791
|
enabled: {
|
|
768
|
-
type: 'boolean'
|
|
769
|
-
default: true
|
|
792
|
+
type: 'boolean'
|
|
770
793
|
},
|
|
771
794
|
apiKey: {
|
|
772
795
|
type: 'string',
|
|
773
|
-
|
|
796
|
+
maxLength: 64,
|
|
797
|
+
minLength: 64,
|
|
798
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
799
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
774
800
|
}
|
|
775
801
|
},
|
|
776
802
|
required: [
|
|
777
|
-
'
|
|
803
|
+
'enabled'
|
|
778
804
|
],
|
|
779
805
|
additionalProperties: false
|
|
780
806
|
},
|
|
@@ -782,19 +808,308 @@ export const FleetCreateInputSchema = {
|
|
|
782
808
|
type: 'object',
|
|
783
809
|
properties: {
|
|
784
810
|
enabled: {
|
|
785
|
-
type: 'boolean'
|
|
786
|
-
default: true
|
|
811
|
+
type: 'boolean'
|
|
787
812
|
},
|
|
788
813
|
controllerRoleArn: {
|
|
789
814
|
type: 'string',
|
|
790
|
-
|
|
815
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
816
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
817
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
791
818
|
}
|
|
792
819
|
},
|
|
793
820
|
required: [
|
|
794
|
-
'
|
|
821
|
+
'enabled'
|
|
795
822
|
],
|
|
796
823
|
additionalProperties: false
|
|
797
824
|
},
|
|
825
|
+
constraints: {
|
|
826
|
+
type: 'object',
|
|
827
|
+
properties: {
|
|
828
|
+
'karpenter.sh/capacity-type': {
|
|
829
|
+
type: 'array',
|
|
830
|
+
items: {
|
|
831
|
+
type: 'string',
|
|
832
|
+
enum: [
|
|
833
|
+
'on-demand',
|
|
834
|
+
'spot'
|
|
835
|
+
]
|
|
836
|
+
},
|
|
837
|
+
minItems: 1,
|
|
838
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
839
|
+
default: [
|
|
840
|
+
'on-demand',
|
|
841
|
+
'spot'
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
'kubernetes.io/arch': {
|
|
845
|
+
type: 'array',
|
|
846
|
+
items: {
|
|
847
|
+
type: 'string',
|
|
848
|
+
enum: [
|
|
849
|
+
'amd64',
|
|
850
|
+
'arm64'
|
|
851
|
+
]
|
|
852
|
+
},
|
|
853
|
+
minItems: 1,
|
|
854
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
855
|
+
default: [
|
|
856
|
+
'amd64'
|
|
857
|
+
]
|
|
858
|
+
},
|
|
859
|
+
'cfke.io/instance-family': {
|
|
860
|
+
type: 'array',
|
|
861
|
+
items: {
|
|
862
|
+
type: 'string',
|
|
863
|
+
enum: [
|
|
864
|
+
'a1',
|
|
865
|
+
'a2',
|
|
866
|
+
'a3',
|
|
867
|
+
'a4',
|
|
868
|
+
'c1',
|
|
869
|
+
'c2',
|
|
870
|
+
'c2d',
|
|
871
|
+
'c3',
|
|
872
|
+
'c3d',
|
|
873
|
+
'c4',
|
|
874
|
+
'c4a',
|
|
875
|
+
'c4d',
|
|
876
|
+
'c5',
|
|
877
|
+
'c5a',
|
|
878
|
+
'c5ad',
|
|
879
|
+
'c5d',
|
|
880
|
+
'c5n',
|
|
881
|
+
'c6a',
|
|
882
|
+
'c6g',
|
|
883
|
+
'c6gd',
|
|
884
|
+
'c6gn',
|
|
885
|
+
'c6i',
|
|
886
|
+
'c6id',
|
|
887
|
+
'c6in',
|
|
888
|
+
'c7a',
|
|
889
|
+
'c7g',
|
|
890
|
+
'c7gd',
|
|
891
|
+
'c7gn',
|
|
892
|
+
'c7i',
|
|
893
|
+
'c7i-flex',
|
|
894
|
+
'c8g',
|
|
895
|
+
'c8gd',
|
|
896
|
+
'cax',
|
|
897
|
+
'ccx',
|
|
898
|
+
'cpx',
|
|
899
|
+
'cx',
|
|
900
|
+
'd2',
|
|
901
|
+
'd3',
|
|
902
|
+
'd3en',
|
|
903
|
+
'dl1',
|
|
904
|
+
'dl2q',
|
|
905
|
+
'e2',
|
|
906
|
+
'f1',
|
|
907
|
+
'f2',
|
|
908
|
+
'g1',
|
|
909
|
+
'g2',
|
|
910
|
+
'g4ad',
|
|
911
|
+
'g4dn',
|
|
912
|
+
'g5',
|
|
913
|
+
'g5g',
|
|
914
|
+
'g6',
|
|
915
|
+
'g6e',
|
|
916
|
+
'gr6',
|
|
917
|
+
'h1',
|
|
918
|
+
'h3',
|
|
919
|
+
'hpc6a',
|
|
920
|
+
'hpc6id',
|
|
921
|
+
'hpc7a',
|
|
922
|
+
'hpc7g',
|
|
923
|
+
'i2',
|
|
924
|
+
'i3',
|
|
925
|
+
'i3en',
|
|
926
|
+
'i4g',
|
|
927
|
+
'i4i',
|
|
928
|
+
'i7i',
|
|
929
|
+
'i7ie',
|
|
930
|
+
'i8g',
|
|
931
|
+
'im4gn',
|
|
932
|
+
'inf1',
|
|
933
|
+
'inf2',
|
|
934
|
+
'is4gen',
|
|
935
|
+
'm1',
|
|
936
|
+
'm2',
|
|
937
|
+
'm3',
|
|
938
|
+
'm4',
|
|
939
|
+
'm5',
|
|
940
|
+
'm5a',
|
|
941
|
+
'm5ad',
|
|
942
|
+
'm5d',
|
|
943
|
+
'm5dn',
|
|
944
|
+
'm5n',
|
|
945
|
+
'm5zn',
|
|
946
|
+
'm6a',
|
|
947
|
+
'm6g',
|
|
948
|
+
'm6gd',
|
|
949
|
+
'm6i',
|
|
950
|
+
'm6id',
|
|
951
|
+
'm6idn',
|
|
952
|
+
'm6in',
|
|
953
|
+
'm7a',
|
|
954
|
+
'm7g',
|
|
955
|
+
'm7gd',
|
|
956
|
+
'm7i',
|
|
957
|
+
'm7i-flex',
|
|
958
|
+
'm8g',
|
|
959
|
+
'm8gd',
|
|
960
|
+
'n1',
|
|
961
|
+
'n2',
|
|
962
|
+
'n2d',
|
|
963
|
+
'n4',
|
|
964
|
+
'p3',
|
|
965
|
+
'p3dn',
|
|
966
|
+
'p4d',
|
|
967
|
+
'p4de',
|
|
968
|
+
'p5',
|
|
969
|
+
'p5e',
|
|
970
|
+
'p5en',
|
|
971
|
+
'p6-b200',
|
|
972
|
+
'r3',
|
|
973
|
+
'r4',
|
|
974
|
+
'r5',
|
|
975
|
+
'r5a',
|
|
976
|
+
'r5ad',
|
|
977
|
+
'r5b',
|
|
978
|
+
'r5d',
|
|
979
|
+
'r5dn',
|
|
980
|
+
'r5n',
|
|
981
|
+
'r6a',
|
|
982
|
+
'r6g',
|
|
983
|
+
'r6gd',
|
|
984
|
+
'r6i',
|
|
985
|
+
'r6id',
|
|
986
|
+
'r6idn',
|
|
987
|
+
'r6in',
|
|
988
|
+
'r7a',
|
|
989
|
+
'r7g',
|
|
990
|
+
'r7gd',
|
|
991
|
+
'r7i',
|
|
992
|
+
'r7iz',
|
|
993
|
+
'r8g',
|
|
994
|
+
'r8gd',
|
|
995
|
+
't2',
|
|
996
|
+
't2a',
|
|
997
|
+
't2d',
|
|
998
|
+
't3',
|
|
999
|
+
't3a',
|
|
1000
|
+
't4g',
|
|
1001
|
+
'trn1',
|
|
1002
|
+
'trn1n',
|
|
1003
|
+
'u-3tb1',
|
|
1004
|
+
'u-6tb1',
|
|
1005
|
+
'u7i-12tb',
|
|
1006
|
+
'u7i-6tb',
|
|
1007
|
+
'u7i-8tb',
|
|
1008
|
+
'u7in-16tb',
|
|
1009
|
+
'u7in-24tb',
|
|
1010
|
+
'u7in-32tb',
|
|
1011
|
+
'vt1',
|
|
1012
|
+
'x1',
|
|
1013
|
+
'x1e',
|
|
1014
|
+
'x2gd',
|
|
1015
|
+
'x2idn',
|
|
1016
|
+
'x2iedn',
|
|
1017
|
+
'x2iezn',
|
|
1018
|
+
'x4',
|
|
1019
|
+
'x8g',
|
|
1020
|
+
'z1d',
|
|
1021
|
+
'z3'
|
|
1022
|
+
]
|
|
1023
|
+
},
|
|
1024
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1025
|
+
},
|
|
1026
|
+
'topology.kubernetes.io/region': {
|
|
1027
|
+
type: 'array',
|
|
1028
|
+
items: {
|
|
1029
|
+
type: 'string',
|
|
1030
|
+
enum: [
|
|
1031
|
+
'africa-south1',
|
|
1032
|
+
'ap-northeast-1',
|
|
1033
|
+
'ap-northeast-2',
|
|
1034
|
+
'ap-northeast-3',
|
|
1035
|
+
'ap-south-1',
|
|
1036
|
+
'ap-southeast-1',
|
|
1037
|
+
'ap-southeast-2',
|
|
1038
|
+
'ash',
|
|
1039
|
+
'asia-east1',
|
|
1040
|
+
'asia-east2',
|
|
1041
|
+
'asia-northeast1',
|
|
1042
|
+
'asia-northeast2',
|
|
1043
|
+
'asia-northeast3',
|
|
1044
|
+
'asia-south1',
|
|
1045
|
+
'asia-south2',
|
|
1046
|
+
'asia-southeast1',
|
|
1047
|
+
'asia-southeast2',
|
|
1048
|
+
'australia-southeast1',
|
|
1049
|
+
'australia-southeast2',
|
|
1050
|
+
'ca-central-1',
|
|
1051
|
+
'eu-central-1',
|
|
1052
|
+
'eu-central-2',
|
|
1053
|
+
'eu-north-1',
|
|
1054
|
+
'eu-west-1',
|
|
1055
|
+
'eu-west-2',
|
|
1056
|
+
'eu-west-3',
|
|
1057
|
+
'europe-central2',
|
|
1058
|
+
'europe-north1',
|
|
1059
|
+
'europe-southwest1',
|
|
1060
|
+
'europe-west1',
|
|
1061
|
+
'europe-west10',
|
|
1062
|
+
'europe-west12',
|
|
1063
|
+
'europe-west2',
|
|
1064
|
+
'europe-west3',
|
|
1065
|
+
'europe-west4',
|
|
1066
|
+
'europe-west6',
|
|
1067
|
+
'europe-west8',
|
|
1068
|
+
'europe-west9',
|
|
1069
|
+
'fsn1',
|
|
1070
|
+
'hel1',
|
|
1071
|
+
'hil',
|
|
1072
|
+
'me-central1',
|
|
1073
|
+
'me-central2',
|
|
1074
|
+
'me-west1',
|
|
1075
|
+
'nbg1',
|
|
1076
|
+
'northamerica-northeast1',
|
|
1077
|
+
'northamerica-northeast2',
|
|
1078
|
+
'sa-east-1',
|
|
1079
|
+
'sin',
|
|
1080
|
+
'southamerica-east1',
|
|
1081
|
+
'southamerica-west1',
|
|
1082
|
+
'us-central1',
|
|
1083
|
+
'us-east-1',
|
|
1084
|
+
'us-east-2',
|
|
1085
|
+
'us-east1',
|
|
1086
|
+
'us-east4',
|
|
1087
|
+
'us-east5',
|
|
1088
|
+
'us-south1',
|
|
1089
|
+
'us-west-1',
|
|
1090
|
+
'us-west-2',
|
|
1091
|
+
'us-west1',
|
|
1092
|
+
'us-west2',
|
|
1093
|
+
'us-west3',
|
|
1094
|
+
'us-west4'
|
|
1095
|
+
]
|
|
1096
|
+
},
|
|
1097
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
additionalProperties: false,
|
|
1101
|
+
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.'
|
|
1102
|
+
},
|
|
1103
|
+
scalingProfile: {
|
|
1104
|
+
type: 'string',
|
|
1105
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1106
|
+
default: 'conservative',
|
|
1107
|
+
example: 'conservative',
|
|
1108
|
+
enum: [
|
|
1109
|
+
'aggressive',
|
|
1110
|
+
'conservative'
|
|
1111
|
+
]
|
|
1112
|
+
},
|
|
798
1113
|
id: {
|
|
799
1114
|
type: 'string',
|
|
800
1115
|
maxLength: 63,
|
|
@@ -816,15 +1131,12 @@ export const FleetSchema = {
|
|
|
816
1131
|
type: 'object',
|
|
817
1132
|
properties: {
|
|
818
1133
|
cpu: {
|
|
819
|
-
type: '
|
|
820
|
-
format: 'float',
|
|
1134
|
+
type: 'integer',
|
|
821
1135
|
minimum: 0,
|
|
822
|
-
|
|
1136
|
+
maximum: 100000,
|
|
1137
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
823
1138
|
}
|
|
824
1139
|
},
|
|
825
|
-
required: [
|
|
826
|
-
'cpu'
|
|
827
|
-
],
|
|
828
1140
|
additionalProperties: false,
|
|
829
1141
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
830
1142
|
},
|
|
@@ -832,16 +1144,17 @@ export const FleetSchema = {
|
|
|
832
1144
|
type: 'object',
|
|
833
1145
|
properties: {
|
|
834
1146
|
enabled: {
|
|
835
|
-
type: 'boolean'
|
|
836
|
-
default: true
|
|
1147
|
+
type: 'boolean'
|
|
837
1148
|
},
|
|
838
1149
|
project: {
|
|
839
1150
|
type: 'string',
|
|
840
|
-
|
|
1151
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1152
|
+
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.',
|
|
1153
|
+
example: 'my-cloudfleet-project'
|
|
841
1154
|
}
|
|
842
1155
|
},
|
|
843
1156
|
required: [
|
|
844
|
-
'
|
|
1157
|
+
'enabled'
|
|
845
1158
|
],
|
|
846
1159
|
additionalProperties: false
|
|
847
1160
|
},
|
|
@@ -849,16 +1162,16 @@ export const FleetSchema = {
|
|
|
849
1162
|
type: 'object',
|
|
850
1163
|
properties: {
|
|
851
1164
|
enabled: {
|
|
852
|
-
type: 'boolean'
|
|
853
|
-
default: true
|
|
1165
|
+
type: 'boolean'
|
|
854
1166
|
},
|
|
855
1167
|
apiKey: {
|
|
856
1168
|
type: 'string',
|
|
857
|
-
|
|
1169
|
+
pattern: '^\\*{64}$',
|
|
1170
|
+
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.'
|
|
858
1171
|
}
|
|
859
1172
|
},
|
|
860
1173
|
required: [
|
|
861
|
-
'
|
|
1174
|
+
'enabled'
|
|
862
1175
|
],
|
|
863
1176
|
additionalProperties: false
|
|
864
1177
|
},
|
|
@@ -866,19 +1179,308 @@ export const FleetSchema = {
|
|
|
866
1179
|
type: 'object',
|
|
867
1180
|
properties: {
|
|
868
1181
|
enabled: {
|
|
869
|
-
type: 'boolean'
|
|
870
|
-
default: true
|
|
1182
|
+
type: 'boolean'
|
|
871
1183
|
},
|
|
872
1184
|
controllerRoleArn: {
|
|
873
1185
|
type: 'string',
|
|
874
|
-
|
|
1186
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1187
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1188
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
875
1189
|
}
|
|
876
1190
|
},
|
|
877
1191
|
required: [
|
|
878
|
-
'
|
|
1192
|
+
'enabled'
|
|
879
1193
|
],
|
|
880
1194
|
additionalProperties: false
|
|
881
1195
|
},
|
|
1196
|
+
constraints: {
|
|
1197
|
+
type: 'object',
|
|
1198
|
+
properties: {
|
|
1199
|
+
'karpenter.sh/capacity-type': {
|
|
1200
|
+
type: 'array',
|
|
1201
|
+
items: {
|
|
1202
|
+
type: 'string',
|
|
1203
|
+
enum: [
|
|
1204
|
+
'on-demand',
|
|
1205
|
+
'spot'
|
|
1206
|
+
]
|
|
1207
|
+
},
|
|
1208
|
+
minItems: 1,
|
|
1209
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1210
|
+
default: [
|
|
1211
|
+
'on-demand',
|
|
1212
|
+
'spot'
|
|
1213
|
+
]
|
|
1214
|
+
},
|
|
1215
|
+
'kubernetes.io/arch': {
|
|
1216
|
+
type: 'array',
|
|
1217
|
+
items: {
|
|
1218
|
+
type: 'string',
|
|
1219
|
+
enum: [
|
|
1220
|
+
'amd64',
|
|
1221
|
+
'arm64'
|
|
1222
|
+
]
|
|
1223
|
+
},
|
|
1224
|
+
minItems: 1,
|
|
1225
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1226
|
+
default: [
|
|
1227
|
+
'amd64'
|
|
1228
|
+
]
|
|
1229
|
+
},
|
|
1230
|
+
'cfke.io/instance-family': {
|
|
1231
|
+
type: 'array',
|
|
1232
|
+
items: {
|
|
1233
|
+
type: 'string',
|
|
1234
|
+
enum: [
|
|
1235
|
+
'a1',
|
|
1236
|
+
'a2',
|
|
1237
|
+
'a3',
|
|
1238
|
+
'a4',
|
|
1239
|
+
'c1',
|
|
1240
|
+
'c2',
|
|
1241
|
+
'c2d',
|
|
1242
|
+
'c3',
|
|
1243
|
+
'c3d',
|
|
1244
|
+
'c4',
|
|
1245
|
+
'c4a',
|
|
1246
|
+
'c4d',
|
|
1247
|
+
'c5',
|
|
1248
|
+
'c5a',
|
|
1249
|
+
'c5ad',
|
|
1250
|
+
'c5d',
|
|
1251
|
+
'c5n',
|
|
1252
|
+
'c6a',
|
|
1253
|
+
'c6g',
|
|
1254
|
+
'c6gd',
|
|
1255
|
+
'c6gn',
|
|
1256
|
+
'c6i',
|
|
1257
|
+
'c6id',
|
|
1258
|
+
'c6in',
|
|
1259
|
+
'c7a',
|
|
1260
|
+
'c7g',
|
|
1261
|
+
'c7gd',
|
|
1262
|
+
'c7gn',
|
|
1263
|
+
'c7i',
|
|
1264
|
+
'c7i-flex',
|
|
1265
|
+
'c8g',
|
|
1266
|
+
'c8gd',
|
|
1267
|
+
'cax',
|
|
1268
|
+
'ccx',
|
|
1269
|
+
'cpx',
|
|
1270
|
+
'cx',
|
|
1271
|
+
'd2',
|
|
1272
|
+
'd3',
|
|
1273
|
+
'd3en',
|
|
1274
|
+
'dl1',
|
|
1275
|
+
'dl2q',
|
|
1276
|
+
'e2',
|
|
1277
|
+
'f1',
|
|
1278
|
+
'f2',
|
|
1279
|
+
'g1',
|
|
1280
|
+
'g2',
|
|
1281
|
+
'g4ad',
|
|
1282
|
+
'g4dn',
|
|
1283
|
+
'g5',
|
|
1284
|
+
'g5g',
|
|
1285
|
+
'g6',
|
|
1286
|
+
'g6e',
|
|
1287
|
+
'gr6',
|
|
1288
|
+
'h1',
|
|
1289
|
+
'h3',
|
|
1290
|
+
'hpc6a',
|
|
1291
|
+
'hpc6id',
|
|
1292
|
+
'hpc7a',
|
|
1293
|
+
'hpc7g',
|
|
1294
|
+
'i2',
|
|
1295
|
+
'i3',
|
|
1296
|
+
'i3en',
|
|
1297
|
+
'i4g',
|
|
1298
|
+
'i4i',
|
|
1299
|
+
'i7i',
|
|
1300
|
+
'i7ie',
|
|
1301
|
+
'i8g',
|
|
1302
|
+
'im4gn',
|
|
1303
|
+
'inf1',
|
|
1304
|
+
'inf2',
|
|
1305
|
+
'is4gen',
|
|
1306
|
+
'm1',
|
|
1307
|
+
'm2',
|
|
1308
|
+
'm3',
|
|
1309
|
+
'm4',
|
|
1310
|
+
'm5',
|
|
1311
|
+
'm5a',
|
|
1312
|
+
'm5ad',
|
|
1313
|
+
'm5d',
|
|
1314
|
+
'm5dn',
|
|
1315
|
+
'm5n',
|
|
1316
|
+
'm5zn',
|
|
1317
|
+
'm6a',
|
|
1318
|
+
'm6g',
|
|
1319
|
+
'm6gd',
|
|
1320
|
+
'm6i',
|
|
1321
|
+
'm6id',
|
|
1322
|
+
'm6idn',
|
|
1323
|
+
'm6in',
|
|
1324
|
+
'm7a',
|
|
1325
|
+
'm7g',
|
|
1326
|
+
'm7gd',
|
|
1327
|
+
'm7i',
|
|
1328
|
+
'm7i-flex',
|
|
1329
|
+
'm8g',
|
|
1330
|
+
'm8gd',
|
|
1331
|
+
'n1',
|
|
1332
|
+
'n2',
|
|
1333
|
+
'n2d',
|
|
1334
|
+
'n4',
|
|
1335
|
+
'p3',
|
|
1336
|
+
'p3dn',
|
|
1337
|
+
'p4d',
|
|
1338
|
+
'p4de',
|
|
1339
|
+
'p5',
|
|
1340
|
+
'p5e',
|
|
1341
|
+
'p5en',
|
|
1342
|
+
'p6-b200',
|
|
1343
|
+
'r3',
|
|
1344
|
+
'r4',
|
|
1345
|
+
'r5',
|
|
1346
|
+
'r5a',
|
|
1347
|
+
'r5ad',
|
|
1348
|
+
'r5b',
|
|
1349
|
+
'r5d',
|
|
1350
|
+
'r5dn',
|
|
1351
|
+
'r5n',
|
|
1352
|
+
'r6a',
|
|
1353
|
+
'r6g',
|
|
1354
|
+
'r6gd',
|
|
1355
|
+
'r6i',
|
|
1356
|
+
'r6id',
|
|
1357
|
+
'r6idn',
|
|
1358
|
+
'r6in',
|
|
1359
|
+
'r7a',
|
|
1360
|
+
'r7g',
|
|
1361
|
+
'r7gd',
|
|
1362
|
+
'r7i',
|
|
1363
|
+
'r7iz',
|
|
1364
|
+
'r8g',
|
|
1365
|
+
'r8gd',
|
|
1366
|
+
't2',
|
|
1367
|
+
't2a',
|
|
1368
|
+
't2d',
|
|
1369
|
+
't3',
|
|
1370
|
+
't3a',
|
|
1371
|
+
't4g',
|
|
1372
|
+
'trn1',
|
|
1373
|
+
'trn1n',
|
|
1374
|
+
'u-3tb1',
|
|
1375
|
+
'u-6tb1',
|
|
1376
|
+
'u7i-12tb',
|
|
1377
|
+
'u7i-6tb',
|
|
1378
|
+
'u7i-8tb',
|
|
1379
|
+
'u7in-16tb',
|
|
1380
|
+
'u7in-24tb',
|
|
1381
|
+
'u7in-32tb',
|
|
1382
|
+
'vt1',
|
|
1383
|
+
'x1',
|
|
1384
|
+
'x1e',
|
|
1385
|
+
'x2gd',
|
|
1386
|
+
'x2idn',
|
|
1387
|
+
'x2iedn',
|
|
1388
|
+
'x2iezn',
|
|
1389
|
+
'x4',
|
|
1390
|
+
'x8g',
|
|
1391
|
+
'z1d',
|
|
1392
|
+
'z3'
|
|
1393
|
+
]
|
|
1394
|
+
},
|
|
1395
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1396
|
+
},
|
|
1397
|
+
'topology.kubernetes.io/region': {
|
|
1398
|
+
type: 'array',
|
|
1399
|
+
items: {
|
|
1400
|
+
type: 'string',
|
|
1401
|
+
enum: [
|
|
1402
|
+
'africa-south1',
|
|
1403
|
+
'ap-northeast-1',
|
|
1404
|
+
'ap-northeast-2',
|
|
1405
|
+
'ap-northeast-3',
|
|
1406
|
+
'ap-south-1',
|
|
1407
|
+
'ap-southeast-1',
|
|
1408
|
+
'ap-southeast-2',
|
|
1409
|
+
'ash',
|
|
1410
|
+
'asia-east1',
|
|
1411
|
+
'asia-east2',
|
|
1412
|
+
'asia-northeast1',
|
|
1413
|
+
'asia-northeast2',
|
|
1414
|
+
'asia-northeast3',
|
|
1415
|
+
'asia-south1',
|
|
1416
|
+
'asia-south2',
|
|
1417
|
+
'asia-southeast1',
|
|
1418
|
+
'asia-southeast2',
|
|
1419
|
+
'australia-southeast1',
|
|
1420
|
+
'australia-southeast2',
|
|
1421
|
+
'ca-central-1',
|
|
1422
|
+
'eu-central-1',
|
|
1423
|
+
'eu-central-2',
|
|
1424
|
+
'eu-north-1',
|
|
1425
|
+
'eu-west-1',
|
|
1426
|
+
'eu-west-2',
|
|
1427
|
+
'eu-west-3',
|
|
1428
|
+
'europe-central2',
|
|
1429
|
+
'europe-north1',
|
|
1430
|
+
'europe-southwest1',
|
|
1431
|
+
'europe-west1',
|
|
1432
|
+
'europe-west10',
|
|
1433
|
+
'europe-west12',
|
|
1434
|
+
'europe-west2',
|
|
1435
|
+
'europe-west3',
|
|
1436
|
+
'europe-west4',
|
|
1437
|
+
'europe-west6',
|
|
1438
|
+
'europe-west8',
|
|
1439
|
+
'europe-west9',
|
|
1440
|
+
'fsn1',
|
|
1441
|
+
'hel1',
|
|
1442
|
+
'hil',
|
|
1443
|
+
'me-central1',
|
|
1444
|
+
'me-central2',
|
|
1445
|
+
'me-west1',
|
|
1446
|
+
'nbg1',
|
|
1447
|
+
'northamerica-northeast1',
|
|
1448
|
+
'northamerica-northeast2',
|
|
1449
|
+
'sa-east-1',
|
|
1450
|
+
'sin',
|
|
1451
|
+
'southamerica-east1',
|
|
1452
|
+
'southamerica-west1',
|
|
1453
|
+
'us-central1',
|
|
1454
|
+
'us-east-1',
|
|
1455
|
+
'us-east-2',
|
|
1456
|
+
'us-east1',
|
|
1457
|
+
'us-east4',
|
|
1458
|
+
'us-east5',
|
|
1459
|
+
'us-south1',
|
|
1460
|
+
'us-west-1',
|
|
1461
|
+
'us-west-2',
|
|
1462
|
+
'us-west1',
|
|
1463
|
+
'us-west2',
|
|
1464
|
+
'us-west3',
|
|
1465
|
+
'us-west4'
|
|
1466
|
+
]
|
|
1467
|
+
},
|
|
1468
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1471
|
+
additionalProperties: false,
|
|
1472
|
+
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.'
|
|
1473
|
+
},
|
|
1474
|
+
scalingProfile: {
|
|
1475
|
+
type: 'string',
|
|
1476
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1477
|
+
default: 'conservative',
|
|
1478
|
+
example: 'conservative',
|
|
1479
|
+
enum: [
|
|
1480
|
+
'aggressive',
|
|
1481
|
+
'conservative'
|
|
1482
|
+
]
|
|
1483
|
+
},
|
|
882
1484
|
id: {
|
|
883
1485
|
type: 'string',
|
|
884
1486
|
maxLength: 63,
|
|
@@ -889,6 +1491,7 @@ export const FleetSchema = {
|
|
|
889
1491
|
}
|
|
890
1492
|
},
|
|
891
1493
|
required: [
|
|
1494
|
+
'scalingProfile',
|
|
892
1495
|
'id'
|
|
893
1496
|
],
|
|
894
1497
|
additionalProperties: false
|
|
@@ -900,15 +1503,12 @@ export const FleetUpdateInputSchema = {
|
|
|
900
1503
|
type: 'object',
|
|
901
1504
|
properties: {
|
|
902
1505
|
cpu: {
|
|
903
|
-
type: '
|
|
904
|
-
format: 'float',
|
|
1506
|
+
type: 'integer',
|
|
905
1507
|
minimum: 0,
|
|
906
|
-
|
|
1508
|
+
maximum: 100000,
|
|
1509
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
907
1510
|
}
|
|
908
1511
|
},
|
|
909
|
-
required: [
|
|
910
|
-
'cpu'
|
|
911
|
-
],
|
|
912
1512
|
additionalProperties: false,
|
|
913
1513
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
914
1514
|
},
|
|
@@ -916,16 +1516,17 @@ export const FleetUpdateInputSchema = {
|
|
|
916
1516
|
type: 'object',
|
|
917
1517
|
properties: {
|
|
918
1518
|
enabled: {
|
|
919
|
-
type: 'boolean'
|
|
920
|
-
default: true
|
|
1519
|
+
type: 'boolean'
|
|
921
1520
|
},
|
|
922
1521
|
project: {
|
|
923
1522
|
type: 'string',
|
|
924
|
-
|
|
1523
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1524
|
+
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.',
|
|
1525
|
+
example: 'my-cloudfleet-project'
|
|
925
1526
|
}
|
|
926
1527
|
},
|
|
927
1528
|
required: [
|
|
928
|
-
'
|
|
1529
|
+
'enabled'
|
|
929
1530
|
],
|
|
930
1531
|
additionalProperties: false
|
|
931
1532
|
},
|
|
@@ -933,16 +1534,18 @@ export const FleetUpdateInputSchema = {
|
|
|
933
1534
|
type: 'object',
|
|
934
1535
|
properties: {
|
|
935
1536
|
enabled: {
|
|
936
|
-
type: 'boolean'
|
|
937
|
-
default: true
|
|
1537
|
+
type: 'boolean'
|
|
938
1538
|
},
|
|
939
1539
|
apiKey: {
|
|
940
1540
|
type: 'string',
|
|
941
|
-
|
|
1541
|
+
maxLength: 64,
|
|
1542
|
+
minLength: 64,
|
|
1543
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
1544
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
942
1545
|
}
|
|
943
1546
|
},
|
|
944
1547
|
required: [
|
|
945
|
-
'
|
|
1548
|
+
'enabled'
|
|
946
1549
|
],
|
|
947
1550
|
additionalProperties: false
|
|
948
1551
|
},
|
|
@@ -950,20 +1553,304 @@ export const FleetUpdateInputSchema = {
|
|
|
950
1553
|
type: 'object',
|
|
951
1554
|
properties: {
|
|
952
1555
|
enabled: {
|
|
953
|
-
type: 'boolean'
|
|
954
|
-
default: true
|
|
1556
|
+
type: 'boolean'
|
|
955
1557
|
},
|
|
956
1558
|
controllerRoleArn: {
|
|
957
1559
|
type: 'string',
|
|
958
|
-
|
|
1560
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1561
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1562
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
959
1563
|
}
|
|
960
1564
|
},
|
|
961
1565
|
required: [
|
|
962
|
-
'
|
|
1566
|
+
'enabled'
|
|
963
1567
|
],
|
|
964
1568
|
additionalProperties: false
|
|
1569
|
+
},
|
|
1570
|
+
constraints: {
|
|
1571
|
+
type: 'object',
|
|
1572
|
+
properties: {
|
|
1573
|
+
'karpenter.sh/capacity-type': {
|
|
1574
|
+
type: 'array',
|
|
1575
|
+
items: {
|
|
1576
|
+
type: 'string',
|
|
1577
|
+
enum: [
|
|
1578
|
+
'on-demand',
|
|
1579
|
+
'spot'
|
|
1580
|
+
]
|
|
1581
|
+
},
|
|
1582
|
+
minItems: 1,
|
|
1583
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.'
|
|
1584
|
+
},
|
|
1585
|
+
'kubernetes.io/arch': {
|
|
1586
|
+
type: 'array',
|
|
1587
|
+
items: {
|
|
1588
|
+
type: 'string',
|
|
1589
|
+
enum: [
|
|
1590
|
+
'amd64',
|
|
1591
|
+
'arm64'
|
|
1592
|
+
]
|
|
1593
|
+
},
|
|
1594
|
+
minItems: 1,
|
|
1595
|
+
description: 'Allowed values for `kubernetes.io/arch`.'
|
|
1596
|
+
},
|
|
1597
|
+
'cfke.io/instance-family': {
|
|
1598
|
+
type: 'array',
|
|
1599
|
+
items: {
|
|
1600
|
+
type: 'string',
|
|
1601
|
+
enum: [
|
|
1602
|
+
'a1',
|
|
1603
|
+
'a2',
|
|
1604
|
+
'a3',
|
|
1605
|
+
'a4',
|
|
1606
|
+
'c1',
|
|
1607
|
+
'c2',
|
|
1608
|
+
'c2d',
|
|
1609
|
+
'c3',
|
|
1610
|
+
'c3d',
|
|
1611
|
+
'c4',
|
|
1612
|
+
'c4a',
|
|
1613
|
+
'c4d',
|
|
1614
|
+
'c5',
|
|
1615
|
+
'c5a',
|
|
1616
|
+
'c5ad',
|
|
1617
|
+
'c5d',
|
|
1618
|
+
'c5n',
|
|
1619
|
+
'c6a',
|
|
1620
|
+
'c6g',
|
|
1621
|
+
'c6gd',
|
|
1622
|
+
'c6gn',
|
|
1623
|
+
'c6i',
|
|
1624
|
+
'c6id',
|
|
1625
|
+
'c6in',
|
|
1626
|
+
'c7a',
|
|
1627
|
+
'c7g',
|
|
1628
|
+
'c7gd',
|
|
1629
|
+
'c7gn',
|
|
1630
|
+
'c7i',
|
|
1631
|
+
'c7i-flex',
|
|
1632
|
+
'c8g',
|
|
1633
|
+
'c8gd',
|
|
1634
|
+
'cax',
|
|
1635
|
+
'ccx',
|
|
1636
|
+
'cpx',
|
|
1637
|
+
'cx',
|
|
1638
|
+
'd2',
|
|
1639
|
+
'd3',
|
|
1640
|
+
'd3en',
|
|
1641
|
+
'dl1',
|
|
1642
|
+
'dl2q',
|
|
1643
|
+
'e2',
|
|
1644
|
+
'f1',
|
|
1645
|
+
'f2',
|
|
1646
|
+
'g1',
|
|
1647
|
+
'g2',
|
|
1648
|
+
'g4ad',
|
|
1649
|
+
'g4dn',
|
|
1650
|
+
'g5',
|
|
1651
|
+
'g5g',
|
|
1652
|
+
'g6',
|
|
1653
|
+
'g6e',
|
|
1654
|
+
'gr6',
|
|
1655
|
+
'h1',
|
|
1656
|
+
'h3',
|
|
1657
|
+
'hpc6a',
|
|
1658
|
+
'hpc6id',
|
|
1659
|
+
'hpc7a',
|
|
1660
|
+
'hpc7g',
|
|
1661
|
+
'i2',
|
|
1662
|
+
'i3',
|
|
1663
|
+
'i3en',
|
|
1664
|
+
'i4g',
|
|
1665
|
+
'i4i',
|
|
1666
|
+
'i7i',
|
|
1667
|
+
'i7ie',
|
|
1668
|
+
'i8g',
|
|
1669
|
+
'im4gn',
|
|
1670
|
+
'inf1',
|
|
1671
|
+
'inf2',
|
|
1672
|
+
'is4gen',
|
|
1673
|
+
'm1',
|
|
1674
|
+
'm2',
|
|
1675
|
+
'm3',
|
|
1676
|
+
'm4',
|
|
1677
|
+
'm5',
|
|
1678
|
+
'm5a',
|
|
1679
|
+
'm5ad',
|
|
1680
|
+
'm5d',
|
|
1681
|
+
'm5dn',
|
|
1682
|
+
'm5n',
|
|
1683
|
+
'm5zn',
|
|
1684
|
+
'm6a',
|
|
1685
|
+
'm6g',
|
|
1686
|
+
'm6gd',
|
|
1687
|
+
'm6i',
|
|
1688
|
+
'm6id',
|
|
1689
|
+
'm6idn',
|
|
1690
|
+
'm6in',
|
|
1691
|
+
'm7a',
|
|
1692
|
+
'm7g',
|
|
1693
|
+
'm7gd',
|
|
1694
|
+
'm7i',
|
|
1695
|
+
'm7i-flex',
|
|
1696
|
+
'm8g',
|
|
1697
|
+
'm8gd',
|
|
1698
|
+
'n1',
|
|
1699
|
+
'n2',
|
|
1700
|
+
'n2d',
|
|
1701
|
+
'n4',
|
|
1702
|
+
'p3',
|
|
1703
|
+
'p3dn',
|
|
1704
|
+
'p4d',
|
|
1705
|
+
'p4de',
|
|
1706
|
+
'p5',
|
|
1707
|
+
'p5e',
|
|
1708
|
+
'p5en',
|
|
1709
|
+
'p6-b200',
|
|
1710
|
+
'r3',
|
|
1711
|
+
'r4',
|
|
1712
|
+
'r5',
|
|
1713
|
+
'r5a',
|
|
1714
|
+
'r5ad',
|
|
1715
|
+
'r5b',
|
|
1716
|
+
'r5d',
|
|
1717
|
+
'r5dn',
|
|
1718
|
+
'r5n',
|
|
1719
|
+
'r6a',
|
|
1720
|
+
'r6g',
|
|
1721
|
+
'r6gd',
|
|
1722
|
+
'r6i',
|
|
1723
|
+
'r6id',
|
|
1724
|
+
'r6idn',
|
|
1725
|
+
'r6in',
|
|
1726
|
+
'r7a',
|
|
1727
|
+
'r7g',
|
|
1728
|
+
'r7gd',
|
|
1729
|
+
'r7i',
|
|
1730
|
+
'r7iz',
|
|
1731
|
+
'r8g',
|
|
1732
|
+
'r8gd',
|
|
1733
|
+
't2',
|
|
1734
|
+
't2a',
|
|
1735
|
+
't2d',
|
|
1736
|
+
't3',
|
|
1737
|
+
't3a',
|
|
1738
|
+
't4g',
|
|
1739
|
+
'trn1',
|
|
1740
|
+
'trn1n',
|
|
1741
|
+
'u-3tb1',
|
|
1742
|
+
'u-6tb1',
|
|
1743
|
+
'u7i-12tb',
|
|
1744
|
+
'u7i-6tb',
|
|
1745
|
+
'u7i-8tb',
|
|
1746
|
+
'u7in-16tb',
|
|
1747
|
+
'u7in-24tb',
|
|
1748
|
+
'u7in-32tb',
|
|
1749
|
+
'vt1',
|
|
1750
|
+
'x1',
|
|
1751
|
+
'x1e',
|
|
1752
|
+
'x2gd',
|
|
1753
|
+
'x2idn',
|
|
1754
|
+
'x2iedn',
|
|
1755
|
+
'x2iezn',
|
|
1756
|
+
'x4',
|
|
1757
|
+
'x8g',
|
|
1758
|
+
'z1d',
|
|
1759
|
+
'z3'
|
|
1760
|
+
]
|
|
1761
|
+
},
|
|
1762
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1763
|
+
},
|
|
1764
|
+
'topology.kubernetes.io/region': {
|
|
1765
|
+
type: 'array',
|
|
1766
|
+
items: {
|
|
1767
|
+
type: 'string',
|
|
1768
|
+
enum: [
|
|
1769
|
+
'africa-south1',
|
|
1770
|
+
'ap-northeast-1',
|
|
1771
|
+
'ap-northeast-2',
|
|
1772
|
+
'ap-northeast-3',
|
|
1773
|
+
'ap-south-1',
|
|
1774
|
+
'ap-southeast-1',
|
|
1775
|
+
'ap-southeast-2',
|
|
1776
|
+
'ash',
|
|
1777
|
+
'asia-east1',
|
|
1778
|
+
'asia-east2',
|
|
1779
|
+
'asia-northeast1',
|
|
1780
|
+
'asia-northeast2',
|
|
1781
|
+
'asia-northeast3',
|
|
1782
|
+
'asia-south1',
|
|
1783
|
+
'asia-south2',
|
|
1784
|
+
'asia-southeast1',
|
|
1785
|
+
'asia-southeast2',
|
|
1786
|
+
'australia-southeast1',
|
|
1787
|
+
'australia-southeast2',
|
|
1788
|
+
'ca-central-1',
|
|
1789
|
+
'eu-central-1',
|
|
1790
|
+
'eu-central-2',
|
|
1791
|
+
'eu-north-1',
|
|
1792
|
+
'eu-west-1',
|
|
1793
|
+
'eu-west-2',
|
|
1794
|
+
'eu-west-3',
|
|
1795
|
+
'europe-central2',
|
|
1796
|
+
'europe-north1',
|
|
1797
|
+
'europe-southwest1',
|
|
1798
|
+
'europe-west1',
|
|
1799
|
+
'europe-west10',
|
|
1800
|
+
'europe-west12',
|
|
1801
|
+
'europe-west2',
|
|
1802
|
+
'europe-west3',
|
|
1803
|
+
'europe-west4',
|
|
1804
|
+
'europe-west6',
|
|
1805
|
+
'europe-west8',
|
|
1806
|
+
'europe-west9',
|
|
1807
|
+
'fsn1',
|
|
1808
|
+
'hel1',
|
|
1809
|
+
'hil',
|
|
1810
|
+
'me-central1',
|
|
1811
|
+
'me-central2',
|
|
1812
|
+
'me-west1',
|
|
1813
|
+
'nbg1',
|
|
1814
|
+
'northamerica-northeast1',
|
|
1815
|
+
'northamerica-northeast2',
|
|
1816
|
+
'sa-east-1',
|
|
1817
|
+
'sin',
|
|
1818
|
+
'southamerica-east1',
|
|
1819
|
+
'southamerica-west1',
|
|
1820
|
+
'us-central1',
|
|
1821
|
+
'us-east-1',
|
|
1822
|
+
'us-east-2',
|
|
1823
|
+
'us-east1',
|
|
1824
|
+
'us-east4',
|
|
1825
|
+
'us-east5',
|
|
1826
|
+
'us-south1',
|
|
1827
|
+
'us-west-1',
|
|
1828
|
+
'us-west-2',
|
|
1829
|
+
'us-west1',
|
|
1830
|
+
'us-west2',
|
|
1831
|
+
'us-west3',
|
|
1832
|
+
'us-west4'
|
|
1833
|
+
]
|
|
1834
|
+
},
|
|
1835
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1836
|
+
}
|
|
1837
|
+
},
|
|
1838
|
+
additionalProperties: false,
|
|
1839
|
+
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.'
|
|
1840
|
+
},
|
|
1841
|
+
scalingProfile: {
|
|
1842
|
+
type: 'string',
|
|
1843
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1844
|
+
example: 'conservative',
|
|
1845
|
+
enum: [
|
|
1846
|
+
'aggressive',
|
|
1847
|
+
'conservative'
|
|
1848
|
+
]
|
|
965
1849
|
}
|
|
966
1850
|
},
|
|
1851
|
+
required: [
|
|
1852
|
+
'scalingProfile'
|
|
1853
|
+
],
|
|
967
1854
|
additionalProperties: false
|
|
968
1855
|
};
|
|
969
1856
|
export const InviteSchema = {
|
|
@@ -1216,6 +2103,15 @@ export const MarketplaceListingSchema = {
|
|
|
1216
2103
|
export const OrganizationCreateInputSchema = {
|
|
1217
2104
|
type: 'object',
|
|
1218
2105
|
properties: {
|
|
2106
|
+
type: {
|
|
2107
|
+
type: 'string',
|
|
2108
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2109
|
+
example: 'business',
|
|
2110
|
+
enum: [
|
|
2111
|
+
'business',
|
|
2112
|
+
'personal'
|
|
2113
|
+
]
|
|
2114
|
+
},
|
|
1219
2115
|
email: {
|
|
1220
2116
|
type: 'string',
|
|
1221
2117
|
format: 'email',
|
|
@@ -1224,11 +2120,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
1224
2120
|
},
|
|
1225
2121
|
first_name: {
|
|
1226
2122
|
type: 'string',
|
|
2123
|
+
minLength: 1,
|
|
1227
2124
|
description: 'First name of the billing contact person.',
|
|
1228
2125
|
example: 'John'
|
|
1229
2126
|
},
|
|
1230
2127
|
last_name: {
|
|
1231
2128
|
type: 'string',
|
|
2129
|
+
minLength: 1,
|
|
1232
2130
|
description: 'Last name of the billing contact person.',
|
|
1233
2131
|
example: 'Doe'
|
|
1234
2132
|
},
|
|
@@ -1247,6 +2145,7 @@ export const OrganizationCreateInputSchema = {
|
|
|
1247
2145
|
}
|
|
1248
2146
|
},
|
|
1249
2147
|
required: [
|
|
2148
|
+
'type',
|
|
1250
2149
|
'email',
|
|
1251
2150
|
'first_name',
|
|
1252
2151
|
'last_name',
|
|
@@ -1255,6 +2154,20 @@ export const OrganizationCreateInputSchema = {
|
|
|
1255
2154
|
],
|
|
1256
2155
|
additionalProperties: false
|
|
1257
2156
|
};
|
|
2157
|
+
export const OrganizationCreateOutputSchema = {
|
|
2158
|
+
type: 'object',
|
|
2159
|
+
properties: {
|
|
2160
|
+
id: {
|
|
2161
|
+
type: 'string',
|
|
2162
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2163
|
+
example: 'organization-id'
|
|
2164
|
+
}
|
|
2165
|
+
},
|
|
2166
|
+
required: [
|
|
2167
|
+
'id'
|
|
2168
|
+
],
|
|
2169
|
+
additionalProperties: false
|
|
2170
|
+
};
|
|
1258
2171
|
export const OrganizationSchema = {
|
|
1259
2172
|
type: 'object',
|
|
1260
2173
|
properties: {
|
|
@@ -1271,6 +2184,15 @@ export const OrganizationSchema = {
|
|
|
1271
2184
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
1272
2185
|
example: 'ACME Corp.'
|
|
1273
2186
|
},
|
|
2187
|
+
type: {
|
|
2188
|
+
type: 'string',
|
|
2189
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2190
|
+
example: 'business',
|
|
2191
|
+
enum: [
|
|
2192
|
+
'business',
|
|
2193
|
+
'personal'
|
|
2194
|
+
]
|
|
2195
|
+
},
|
|
1274
2196
|
date_created: {
|
|
1275
2197
|
type: 'string',
|
|
1276
2198
|
format: 'date-time',
|
|
@@ -1351,18 +2273,6 @@ export const OrganizationSchema = {
|
|
|
1351
2273
|
minItems: 1,
|
|
1352
2274
|
description: 'List of CFKE control plane versions available for the organization.'
|
|
1353
2275
|
},
|
|
1354
|
-
copilot_user_hourly_tokens: {
|
|
1355
|
-
type: 'integer',
|
|
1356
|
-
minimum: 0,
|
|
1357
|
-
description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
|
|
1358
|
-
example: 42000
|
|
1359
|
-
},
|
|
1360
|
-
copilot_organization_hourly_tokens: {
|
|
1361
|
-
type: 'integer',
|
|
1362
|
-
minimum: 0,
|
|
1363
|
-
description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
|
|
1364
|
-
example: 242000
|
|
1365
|
-
},
|
|
1366
2276
|
cfcr_storage_gb: {
|
|
1367
2277
|
type: 'integer',
|
|
1368
2278
|
minimum: -1,
|
|
@@ -1379,8 +2289,6 @@ export const OrganizationSchema = {
|
|
|
1379
2289
|
'cluster_tiers',
|
|
1380
2290
|
'regions',
|
|
1381
2291
|
'versions',
|
|
1382
|
-
'copilot_user_hourly_tokens',
|
|
1383
|
-
'copilot_organization_hourly_tokens',
|
|
1384
2292
|
'cfcr_storage_gb'
|
|
1385
2293
|
],
|
|
1386
2294
|
additionalProperties: false,
|
|
@@ -1394,13 +2302,25 @@ export const OrganizationSchema = {
|
|
|
1394
2302
|
'closed',
|
|
1395
2303
|
'suspended'
|
|
1396
2304
|
]
|
|
2305
|
+
},
|
|
2306
|
+
verification: {
|
|
2307
|
+
type: 'string',
|
|
2308
|
+
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.',
|
|
2309
|
+
example: 'verified',
|
|
2310
|
+
enum: [
|
|
2311
|
+
'none',
|
|
2312
|
+
'submitted',
|
|
2313
|
+
'verified'
|
|
2314
|
+
]
|
|
1397
2315
|
}
|
|
1398
2316
|
},
|
|
1399
2317
|
required: [
|
|
1400
2318
|
'id',
|
|
2319
|
+
'type',
|
|
1401
2320
|
'date_created',
|
|
1402
2321
|
'quota',
|
|
1403
|
-
'status'
|
|
2322
|
+
'status',
|
|
2323
|
+
'verification'
|
|
1404
2324
|
],
|
|
1405
2325
|
additionalProperties: false
|
|
1406
2326
|
};
|
|
@@ -1551,18 +2471,6 @@ export const PlatformQuotaSchema = {
|
|
|
1551
2471
|
minItems: 1,
|
|
1552
2472
|
description: 'List of CFKE control plane versions available for the organization.'
|
|
1553
2473
|
},
|
|
1554
|
-
copilot_user_hourly_tokens: {
|
|
1555
|
-
type: 'integer',
|
|
1556
|
-
minimum: 0,
|
|
1557
|
-
description: 'User-level maximum number of tokens Cloudfleet Copilot can process per hour.',
|
|
1558
|
-
example: 42000
|
|
1559
|
-
},
|
|
1560
|
-
copilot_organization_hourly_tokens: {
|
|
1561
|
-
type: 'integer',
|
|
1562
|
-
minimum: 0,
|
|
1563
|
-
description: 'Organization-level maximum number of tokens Cloudfleet Copilot can process per hour.',
|
|
1564
|
-
example: 242000
|
|
1565
|
-
},
|
|
1566
2474
|
cfcr_storage_gb: {
|
|
1567
2475
|
type: 'integer',
|
|
1568
2476
|
minimum: -1,
|
|
@@ -1579,8 +2487,6 @@ export const PlatformQuotaSchema = {
|
|
|
1579
2487
|
'cluster_tiers',
|
|
1580
2488
|
'regions',
|
|
1581
2489
|
'versions',
|
|
1582
|
-
'copilot_user_hourly_tokens',
|
|
1583
|
-
'copilot_organization_hourly_tokens',
|
|
1584
2490
|
'cfcr_storage_gb'
|
|
1585
2491
|
],
|
|
1586
2492
|
additionalProperties: false
|
|
@@ -1850,6 +2756,492 @@ export const RegistryTagSchema = {
|
|
|
1850
2756
|
],
|
|
1851
2757
|
additionalProperties: false
|
|
1852
2758
|
};
|
|
2759
|
+
export const TicketAttachmentSchema = {
|
|
2760
|
+
type: 'object',
|
|
2761
|
+
properties: {
|
|
2762
|
+
id: {
|
|
2763
|
+
type: 'string',
|
|
2764
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2765
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2766
|
+
},
|
|
2767
|
+
filename: {
|
|
2768
|
+
type: 'string',
|
|
2769
|
+
description: 'Original filename as uploaded.',
|
|
2770
|
+
example: 'debug.log'
|
|
2771
|
+
},
|
|
2772
|
+
content_type: {
|
|
2773
|
+
type: 'string',
|
|
2774
|
+
description: 'MIME content type of the attachment.',
|
|
2775
|
+
example: 'text/plain'
|
|
2776
|
+
},
|
|
2777
|
+
size: {
|
|
2778
|
+
type: 'integer',
|
|
2779
|
+
description: 'Size of the attachment in bytes.',
|
|
2780
|
+
example: 12345
|
|
2781
|
+
}
|
|
2782
|
+
},
|
|
2783
|
+
required: [
|
|
2784
|
+
'id',
|
|
2785
|
+
'filename',
|
|
2786
|
+
'content_type',
|
|
2787
|
+
'size'
|
|
2788
|
+
],
|
|
2789
|
+
additionalProperties: false
|
|
2790
|
+
};
|
|
2791
|
+
export const TicketCreateInputSchema = {
|
|
2792
|
+
type: 'object',
|
|
2793
|
+
properties: {
|
|
2794
|
+
category: {
|
|
2795
|
+
type: 'string',
|
|
2796
|
+
description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
|
|
2797
|
+
example: 'technical',
|
|
2798
|
+
enum: [
|
|
2799
|
+
'billing',
|
|
2800
|
+
'technical',
|
|
2801
|
+
'general'
|
|
2802
|
+
]
|
|
2803
|
+
},
|
|
2804
|
+
body: {
|
|
2805
|
+
type: 'string',
|
|
2806
|
+
maxLength: 50000,
|
|
2807
|
+
minLength: 1,
|
|
2808
|
+
pattern: '\\S',
|
|
2809
|
+
description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
|
|
2810
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2811
|
+
},
|
|
2812
|
+
properties: {
|
|
2813
|
+
type: 'object',
|
|
2814
|
+
additionalProperties: true,
|
|
2815
|
+
description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
|
|
2816
|
+
example: {
|
|
2817
|
+
subcategory: 'cluster-question',
|
|
2818
|
+
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
2819
|
+
}
|
|
2820
|
+
}
|
|
2821
|
+
},
|
|
2822
|
+
required: [
|
|
2823
|
+
'category',
|
|
2824
|
+
'body'
|
|
2825
|
+
],
|
|
2826
|
+
additionalProperties: false
|
|
2827
|
+
};
|
|
2828
|
+
export const TicketListResponseSchema = {
|
|
2829
|
+
type: 'object',
|
|
2830
|
+
properties: {
|
|
2831
|
+
items: {
|
|
2832
|
+
type: 'array',
|
|
2833
|
+
items: {
|
|
2834
|
+
type: 'object',
|
|
2835
|
+
properties: {
|
|
2836
|
+
id: {
|
|
2837
|
+
type: 'string',
|
|
2838
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
2839
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
2840
|
+
},
|
|
2841
|
+
status: {
|
|
2842
|
+
type: 'string',
|
|
2843
|
+
description: 'Current state of the ticket.',
|
|
2844
|
+
example: 'waiting_on_us',
|
|
2845
|
+
enum: [
|
|
2846
|
+
'waiting_on_us',
|
|
2847
|
+
'waiting_on_user',
|
|
2848
|
+
'closed'
|
|
2849
|
+
]
|
|
2850
|
+
},
|
|
2851
|
+
category: {
|
|
2852
|
+
type: 'string',
|
|
2853
|
+
description: 'Ticket category.',
|
|
2854
|
+
example: 'technical',
|
|
2855
|
+
enum: [
|
|
2856
|
+
'billing',
|
|
2857
|
+
'technical',
|
|
2858
|
+
'general'
|
|
2859
|
+
]
|
|
2860
|
+
},
|
|
2861
|
+
summary: {
|
|
2862
|
+
type: 'string',
|
|
2863
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
2864
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2865
|
+
},
|
|
2866
|
+
closed_at: {
|
|
2867
|
+
type: 'string',
|
|
2868
|
+
format: 'date-time',
|
|
2869
|
+
nullable: true,
|
|
2870
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
2871
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
2872
|
+
},
|
|
2873
|
+
date_created: {
|
|
2874
|
+
type: 'string',
|
|
2875
|
+
format: 'date-time',
|
|
2876
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
2877
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2878
|
+
},
|
|
2879
|
+
date_updated: {
|
|
2880
|
+
type: 'string',
|
|
2881
|
+
format: 'date-time',
|
|
2882
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
2883
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2884
|
+
},
|
|
2885
|
+
messages: {
|
|
2886
|
+
type: 'array',
|
|
2887
|
+
items: {
|
|
2888
|
+
type: 'object',
|
|
2889
|
+
properties: {
|
|
2890
|
+
id: {
|
|
2891
|
+
type: 'string',
|
|
2892
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
2893
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
2894
|
+
},
|
|
2895
|
+
type: {
|
|
2896
|
+
type: 'string',
|
|
2897
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
2898
|
+
example: 'customer_reply',
|
|
2899
|
+
enum: [
|
|
2900
|
+
'customer_reply',
|
|
2901
|
+
'agent_reply'
|
|
2902
|
+
]
|
|
2903
|
+
},
|
|
2904
|
+
body: {
|
|
2905
|
+
type: 'string',
|
|
2906
|
+
description: 'Message body in markdown.',
|
|
2907
|
+
example: 'Thanks — that resolved it on my side.'
|
|
2908
|
+
},
|
|
2909
|
+
author_first_name: {
|
|
2910
|
+
type: 'string',
|
|
2911
|
+
nullable: true,
|
|
2912
|
+
description: 'First name of the author. Null when not provided.',
|
|
2913
|
+
example: 'Jane'
|
|
2914
|
+
},
|
|
2915
|
+
author_last_name: {
|
|
2916
|
+
type: 'string',
|
|
2917
|
+
nullable: true,
|
|
2918
|
+
description: 'Last name of the author. Null when not provided.',
|
|
2919
|
+
example: 'Doe'
|
|
2920
|
+
},
|
|
2921
|
+
attachments: {
|
|
2922
|
+
type: 'array',
|
|
2923
|
+
items: {
|
|
2924
|
+
type: 'object',
|
|
2925
|
+
properties: {
|
|
2926
|
+
id: {
|
|
2927
|
+
type: 'string',
|
|
2928
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2929
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2930
|
+
},
|
|
2931
|
+
filename: {
|
|
2932
|
+
type: 'string',
|
|
2933
|
+
description: 'Original filename as uploaded.',
|
|
2934
|
+
example: 'debug.log'
|
|
2935
|
+
},
|
|
2936
|
+
content_type: {
|
|
2937
|
+
type: 'string',
|
|
2938
|
+
description: 'MIME content type of the attachment.',
|
|
2939
|
+
example: 'text/plain'
|
|
2940
|
+
},
|
|
2941
|
+
size: {
|
|
2942
|
+
type: 'integer',
|
|
2943
|
+
description: 'Size of the attachment in bytes.',
|
|
2944
|
+
example: 12345
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2947
|
+
required: [
|
|
2948
|
+
'id',
|
|
2949
|
+
'filename',
|
|
2950
|
+
'content_type',
|
|
2951
|
+
'size'
|
|
2952
|
+
],
|
|
2953
|
+
additionalProperties: false
|
|
2954
|
+
},
|
|
2955
|
+
description: 'Attachments associated with this message.',
|
|
2956
|
+
example: []
|
|
2957
|
+
},
|
|
2958
|
+
date_created: {
|
|
2959
|
+
type: 'string',
|
|
2960
|
+
format: 'date-time',
|
|
2961
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
2962
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2963
|
+
}
|
|
2964
|
+
},
|
|
2965
|
+
required: [
|
|
2966
|
+
'id',
|
|
2967
|
+
'type',
|
|
2968
|
+
'body',
|
|
2969
|
+
'date_created'
|
|
2970
|
+
],
|
|
2971
|
+
additionalProperties: false
|
|
2972
|
+
},
|
|
2973
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
2974
|
+
}
|
|
2975
|
+
},
|
|
2976
|
+
required: [
|
|
2977
|
+
'id',
|
|
2978
|
+
'status',
|
|
2979
|
+
'category',
|
|
2980
|
+
'summary',
|
|
2981
|
+
'date_created',
|
|
2982
|
+
'date_updated'
|
|
2983
|
+
],
|
|
2984
|
+
additionalProperties: false
|
|
2985
|
+
},
|
|
2986
|
+
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
2987
|
+
}
|
|
2988
|
+
},
|
|
2989
|
+
required: [
|
|
2990
|
+
'items'
|
|
2991
|
+
],
|
|
2992
|
+
additionalProperties: false
|
|
2993
|
+
};
|
|
2994
|
+
export const TicketMessageInputSchema = {
|
|
2995
|
+
type: 'object',
|
|
2996
|
+
properties: {
|
|
2997
|
+
body: {
|
|
2998
|
+
type: 'string',
|
|
2999
|
+
maxLength: 50000,
|
|
3000
|
+
minLength: 1,
|
|
3001
|
+
pattern: '\\S',
|
|
3002
|
+
description: 'Reply body in markdown.',
|
|
3003
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3004
|
+
}
|
|
3005
|
+
},
|
|
3006
|
+
required: [
|
|
3007
|
+
'body'
|
|
3008
|
+
],
|
|
3009
|
+
additionalProperties: false
|
|
3010
|
+
};
|
|
3011
|
+
export const TicketMessageSchema = {
|
|
3012
|
+
type: 'object',
|
|
3013
|
+
properties: {
|
|
3014
|
+
id: {
|
|
3015
|
+
type: 'string',
|
|
3016
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3017
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3018
|
+
},
|
|
3019
|
+
type: {
|
|
3020
|
+
type: 'string',
|
|
3021
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3022
|
+
example: 'customer_reply',
|
|
3023
|
+
enum: [
|
|
3024
|
+
'customer_reply',
|
|
3025
|
+
'agent_reply'
|
|
3026
|
+
]
|
|
3027
|
+
},
|
|
3028
|
+
body: {
|
|
3029
|
+
type: 'string',
|
|
3030
|
+
description: 'Message body in markdown.',
|
|
3031
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3032
|
+
},
|
|
3033
|
+
author_first_name: {
|
|
3034
|
+
type: 'string',
|
|
3035
|
+
description: 'First name of the author. Null when not provided.',
|
|
3036
|
+
example: 'Jane'
|
|
3037
|
+
},
|
|
3038
|
+
author_last_name: {
|
|
3039
|
+
type: 'string',
|
|
3040
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3041
|
+
example: 'Doe'
|
|
3042
|
+
},
|
|
3043
|
+
attachments: {
|
|
3044
|
+
type: 'array',
|
|
3045
|
+
items: {
|
|
3046
|
+
type: 'object',
|
|
3047
|
+
properties: {
|
|
3048
|
+
id: {
|
|
3049
|
+
type: 'string',
|
|
3050
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3051
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3052
|
+
},
|
|
3053
|
+
filename: {
|
|
3054
|
+
type: 'string',
|
|
3055
|
+
description: 'Original filename as uploaded.',
|
|
3056
|
+
example: 'debug.log'
|
|
3057
|
+
},
|
|
3058
|
+
content_type: {
|
|
3059
|
+
type: 'string',
|
|
3060
|
+
description: 'MIME content type of the attachment.',
|
|
3061
|
+
example: 'text/plain'
|
|
3062
|
+
},
|
|
3063
|
+
size: {
|
|
3064
|
+
type: 'integer',
|
|
3065
|
+
description: 'Size of the attachment in bytes.',
|
|
3066
|
+
example: 12345
|
|
3067
|
+
}
|
|
3068
|
+
},
|
|
3069
|
+
required: [
|
|
3070
|
+
'id',
|
|
3071
|
+
'filename',
|
|
3072
|
+
'content_type',
|
|
3073
|
+
'size'
|
|
3074
|
+
],
|
|
3075
|
+
additionalProperties: false
|
|
3076
|
+
},
|
|
3077
|
+
description: 'Attachments associated with this message.',
|
|
3078
|
+
example: []
|
|
3079
|
+
},
|
|
3080
|
+
date_created: {
|
|
3081
|
+
type: 'string',
|
|
3082
|
+
format: 'date-time',
|
|
3083
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3084
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3085
|
+
}
|
|
3086
|
+
},
|
|
3087
|
+
required: [
|
|
3088
|
+
'id',
|
|
3089
|
+
'type',
|
|
3090
|
+
'body',
|
|
3091
|
+
'date_created'
|
|
3092
|
+
],
|
|
3093
|
+
additionalProperties: false
|
|
3094
|
+
};
|
|
3095
|
+
export const TicketSchema = {
|
|
3096
|
+
type: 'object',
|
|
3097
|
+
properties: {
|
|
3098
|
+
id: {
|
|
3099
|
+
type: 'string',
|
|
3100
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3101
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3102
|
+
},
|
|
3103
|
+
status: {
|
|
3104
|
+
type: 'string',
|
|
3105
|
+
description: 'Current state of the ticket.',
|
|
3106
|
+
example: 'waiting_on_us',
|
|
3107
|
+
enum: [
|
|
3108
|
+
'waiting_on_us',
|
|
3109
|
+
'waiting_on_user',
|
|
3110
|
+
'closed'
|
|
3111
|
+
]
|
|
3112
|
+
},
|
|
3113
|
+
category: {
|
|
3114
|
+
type: 'string',
|
|
3115
|
+
description: 'Ticket category.',
|
|
3116
|
+
example: 'technical',
|
|
3117
|
+
enum: [
|
|
3118
|
+
'billing',
|
|
3119
|
+
'technical',
|
|
3120
|
+
'general'
|
|
3121
|
+
]
|
|
3122
|
+
},
|
|
3123
|
+
summary: {
|
|
3124
|
+
type: 'string',
|
|
3125
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3126
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3127
|
+
},
|
|
3128
|
+
closed_at: {
|
|
3129
|
+
type: 'string',
|
|
3130
|
+
format: 'date-time',
|
|
3131
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3132
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
3133
|
+
},
|
|
3134
|
+
date_created: {
|
|
3135
|
+
type: 'string',
|
|
3136
|
+
format: 'date-time',
|
|
3137
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3138
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3139
|
+
},
|
|
3140
|
+
date_updated: {
|
|
3141
|
+
type: 'string',
|
|
3142
|
+
format: 'date-time',
|
|
3143
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3144
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3145
|
+
},
|
|
3146
|
+
messages: {
|
|
3147
|
+
type: 'array',
|
|
3148
|
+
items: {
|
|
3149
|
+
type: 'object',
|
|
3150
|
+
properties: {
|
|
3151
|
+
id: {
|
|
3152
|
+
type: 'string',
|
|
3153
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3154
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3155
|
+
},
|
|
3156
|
+
type: {
|
|
3157
|
+
type: 'string',
|
|
3158
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3159
|
+
example: 'customer_reply',
|
|
3160
|
+
enum: [
|
|
3161
|
+
'customer_reply',
|
|
3162
|
+
'agent_reply'
|
|
3163
|
+
]
|
|
3164
|
+
},
|
|
3165
|
+
body: {
|
|
3166
|
+
type: 'string',
|
|
3167
|
+
description: 'Message body in markdown.',
|
|
3168
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3169
|
+
},
|
|
3170
|
+
author_first_name: {
|
|
3171
|
+
type: 'string',
|
|
3172
|
+
description: 'First name of the author. Null when not provided.',
|
|
3173
|
+
example: 'Jane'
|
|
3174
|
+
},
|
|
3175
|
+
author_last_name: {
|
|
3176
|
+
type: 'string',
|
|
3177
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3178
|
+
example: 'Doe'
|
|
3179
|
+
},
|
|
3180
|
+
attachments: {
|
|
3181
|
+
type: 'array',
|
|
3182
|
+
items: {
|
|
3183
|
+
type: 'object',
|
|
3184
|
+
properties: {
|
|
3185
|
+
id: {
|
|
3186
|
+
type: 'string',
|
|
3187
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3188
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3189
|
+
},
|
|
3190
|
+
filename: {
|
|
3191
|
+
type: 'string',
|
|
3192
|
+
description: 'Original filename as uploaded.',
|
|
3193
|
+
example: 'debug.log'
|
|
3194
|
+
},
|
|
3195
|
+
content_type: {
|
|
3196
|
+
type: 'string',
|
|
3197
|
+
description: 'MIME content type of the attachment.',
|
|
3198
|
+
example: 'text/plain'
|
|
3199
|
+
},
|
|
3200
|
+
size: {
|
|
3201
|
+
type: 'integer',
|
|
3202
|
+
description: 'Size of the attachment in bytes.',
|
|
3203
|
+
example: 12345
|
|
3204
|
+
}
|
|
3205
|
+
},
|
|
3206
|
+
required: [
|
|
3207
|
+
'id',
|
|
3208
|
+
'filename',
|
|
3209
|
+
'content_type',
|
|
3210
|
+
'size'
|
|
3211
|
+
],
|
|
3212
|
+
additionalProperties: false
|
|
3213
|
+
},
|
|
3214
|
+
description: 'Attachments associated with this message.',
|
|
3215
|
+
example: []
|
|
3216
|
+
},
|
|
3217
|
+
date_created: {
|
|
3218
|
+
type: 'string',
|
|
3219
|
+
format: 'date-time',
|
|
3220
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3221
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3222
|
+
}
|
|
3223
|
+
},
|
|
3224
|
+
required: [
|
|
3225
|
+
'id',
|
|
3226
|
+
'type',
|
|
3227
|
+
'body',
|
|
3228
|
+
'date_created'
|
|
3229
|
+
],
|
|
3230
|
+
additionalProperties: false
|
|
3231
|
+
},
|
|
3232
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3233
|
+
}
|
|
3234
|
+
},
|
|
3235
|
+
required: [
|
|
3236
|
+
'id',
|
|
3237
|
+
'status',
|
|
3238
|
+
'category',
|
|
3239
|
+
'summary',
|
|
3240
|
+
'date_created',
|
|
3241
|
+
'date_updated'
|
|
3242
|
+
],
|
|
3243
|
+
additionalProperties: false
|
|
3244
|
+
};
|
|
1853
3245
|
export const TokenCreateInputSchema = {
|
|
1854
3246
|
type: 'object',
|
|
1855
3247
|
properties: {
|