@cloudfleet/sdk 0.0.1-7a6b7de → 0.0.1-7aa2bb2
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 +1149 -0
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
- package/dist/@tanstack/react-query.gen.js +1165 -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 +716 -77
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +1558 -106
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +63 -20
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +96 -22
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +8 -8
- package/dist/types.gen.d.ts +632 -105
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +2176 -129
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +927 -64
- 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
|
],
|
|
@@ -503,6 +513,11 @@ export const ClusterJoinInformationSchema = {
|
|
|
503
513
|
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
504
514
|
example: '10.96.0.10'
|
|
505
515
|
},
|
|
516
|
+
pod_cidr: {
|
|
517
|
+
type: 'string',
|
|
518
|
+
description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
|
|
519
|
+
example: '10.244.0.0/16'
|
|
520
|
+
},
|
|
506
521
|
auth_key: {
|
|
507
522
|
type: 'string',
|
|
508
523
|
description: 'Authentication key for the cluster.',
|
|
@@ -578,6 +593,7 @@ export const ClusterJoinInformationSchema = {
|
|
|
578
593
|
'certificate_authority',
|
|
579
594
|
'endpoint',
|
|
580
595
|
'cluster_dns',
|
|
596
|
+
'pod_cidr',
|
|
581
597
|
'auth_key',
|
|
582
598
|
'bootstrap_token',
|
|
583
599
|
'versions',
|
|
@@ -642,7 +658,7 @@ export const ClusterSchema = {
|
|
|
642
658
|
{
|
|
643
659
|
type: 'string',
|
|
644
660
|
format: 'uri',
|
|
645
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
661
|
+
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
662
|
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.cloudfleet.dev:6443'
|
|
647
663
|
},
|
|
648
664
|
{
|
|
@@ -653,6 +669,22 @@ export const ClusterSchema = {
|
|
|
653
669
|
}
|
|
654
670
|
]
|
|
655
671
|
},
|
|
672
|
+
endpoint_public: {
|
|
673
|
+
anyOf: [
|
|
674
|
+
{
|
|
675
|
+
type: 'string',
|
|
676
|
+
format: 'uri',
|
|
677
|
+
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.',
|
|
678
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
type: 'string',
|
|
682
|
+
enum: [
|
|
683
|
+
''
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
]
|
|
687
|
+
},
|
|
656
688
|
certificate_ca: {
|
|
657
689
|
type: 'string',
|
|
658
690
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
@@ -732,15 +764,12 @@ export const FleetCreateInputSchema = {
|
|
|
732
764
|
type: 'object',
|
|
733
765
|
properties: {
|
|
734
766
|
cpu: {
|
|
735
|
-
type: '
|
|
736
|
-
format: 'float',
|
|
767
|
+
type: 'integer',
|
|
737
768
|
minimum: 0,
|
|
738
|
-
|
|
769
|
+
maximum: 100000,
|
|
770
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
739
771
|
}
|
|
740
772
|
},
|
|
741
|
-
required: [
|
|
742
|
-
'cpu'
|
|
743
|
-
],
|
|
744
773
|
additionalProperties: false,
|
|
745
774
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
746
775
|
},
|
|
@@ -748,16 +777,17 @@ export const FleetCreateInputSchema = {
|
|
|
748
777
|
type: 'object',
|
|
749
778
|
properties: {
|
|
750
779
|
enabled: {
|
|
751
|
-
type: 'boolean'
|
|
752
|
-
default: true
|
|
780
|
+
type: 'boolean'
|
|
753
781
|
},
|
|
754
782
|
project: {
|
|
755
783
|
type: 'string',
|
|
756
|
-
|
|
784
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
785
|
+
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.',
|
|
786
|
+
example: 'my-cloudfleet-project'
|
|
757
787
|
}
|
|
758
788
|
},
|
|
759
789
|
required: [
|
|
760
|
-
'
|
|
790
|
+
'enabled'
|
|
761
791
|
],
|
|
762
792
|
additionalProperties: false
|
|
763
793
|
},
|
|
@@ -765,16 +795,18 @@ export const FleetCreateInputSchema = {
|
|
|
765
795
|
type: 'object',
|
|
766
796
|
properties: {
|
|
767
797
|
enabled: {
|
|
768
|
-
type: 'boolean'
|
|
769
|
-
default: true
|
|
798
|
+
type: 'boolean'
|
|
770
799
|
},
|
|
771
800
|
apiKey: {
|
|
772
801
|
type: 'string',
|
|
773
|
-
|
|
802
|
+
maxLength: 64,
|
|
803
|
+
minLength: 64,
|
|
804
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
805
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
774
806
|
}
|
|
775
807
|
},
|
|
776
808
|
required: [
|
|
777
|
-
'
|
|
809
|
+
'enabled'
|
|
778
810
|
],
|
|
779
811
|
additionalProperties: false
|
|
780
812
|
},
|
|
@@ -782,19 +814,308 @@ export const FleetCreateInputSchema = {
|
|
|
782
814
|
type: 'object',
|
|
783
815
|
properties: {
|
|
784
816
|
enabled: {
|
|
785
|
-
type: 'boolean'
|
|
786
|
-
default: true
|
|
817
|
+
type: 'boolean'
|
|
787
818
|
},
|
|
788
819
|
controllerRoleArn: {
|
|
789
820
|
type: 'string',
|
|
790
|
-
|
|
821
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
822
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
823
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
791
824
|
}
|
|
792
825
|
},
|
|
793
826
|
required: [
|
|
794
|
-
'
|
|
827
|
+
'enabled'
|
|
795
828
|
],
|
|
796
829
|
additionalProperties: false
|
|
797
830
|
},
|
|
831
|
+
constraints: {
|
|
832
|
+
type: 'object',
|
|
833
|
+
properties: {
|
|
834
|
+
'karpenter.sh/capacity-type': {
|
|
835
|
+
type: 'array',
|
|
836
|
+
items: {
|
|
837
|
+
type: 'string',
|
|
838
|
+
enum: [
|
|
839
|
+
'on-demand',
|
|
840
|
+
'spot'
|
|
841
|
+
]
|
|
842
|
+
},
|
|
843
|
+
minItems: 1,
|
|
844
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
845
|
+
default: [
|
|
846
|
+
'on-demand',
|
|
847
|
+
'spot'
|
|
848
|
+
]
|
|
849
|
+
},
|
|
850
|
+
'kubernetes.io/arch': {
|
|
851
|
+
type: 'array',
|
|
852
|
+
items: {
|
|
853
|
+
type: 'string',
|
|
854
|
+
enum: [
|
|
855
|
+
'amd64',
|
|
856
|
+
'arm64'
|
|
857
|
+
]
|
|
858
|
+
},
|
|
859
|
+
minItems: 1,
|
|
860
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
861
|
+
default: [
|
|
862
|
+
'amd64'
|
|
863
|
+
]
|
|
864
|
+
},
|
|
865
|
+
'cfke.io/instance-family': {
|
|
866
|
+
type: 'array',
|
|
867
|
+
items: {
|
|
868
|
+
type: 'string',
|
|
869
|
+
enum: [
|
|
870
|
+
'a1',
|
|
871
|
+
'a2',
|
|
872
|
+
'a3',
|
|
873
|
+
'a4',
|
|
874
|
+
'c1',
|
|
875
|
+
'c2',
|
|
876
|
+
'c2d',
|
|
877
|
+
'c3',
|
|
878
|
+
'c3d',
|
|
879
|
+
'c4',
|
|
880
|
+
'c4a',
|
|
881
|
+
'c4d',
|
|
882
|
+
'c5',
|
|
883
|
+
'c5a',
|
|
884
|
+
'c5ad',
|
|
885
|
+
'c5d',
|
|
886
|
+
'c5n',
|
|
887
|
+
'c6a',
|
|
888
|
+
'c6g',
|
|
889
|
+
'c6gd',
|
|
890
|
+
'c6gn',
|
|
891
|
+
'c6i',
|
|
892
|
+
'c6id',
|
|
893
|
+
'c6in',
|
|
894
|
+
'c7a',
|
|
895
|
+
'c7g',
|
|
896
|
+
'c7gd',
|
|
897
|
+
'c7gn',
|
|
898
|
+
'c7i',
|
|
899
|
+
'c7i-flex',
|
|
900
|
+
'c8g',
|
|
901
|
+
'c8gd',
|
|
902
|
+
'cax',
|
|
903
|
+
'ccx',
|
|
904
|
+
'cpx',
|
|
905
|
+
'cx',
|
|
906
|
+
'd2',
|
|
907
|
+
'd3',
|
|
908
|
+
'd3en',
|
|
909
|
+
'dl1',
|
|
910
|
+
'dl2q',
|
|
911
|
+
'e2',
|
|
912
|
+
'f1',
|
|
913
|
+
'f2',
|
|
914
|
+
'g1',
|
|
915
|
+
'g2',
|
|
916
|
+
'g4ad',
|
|
917
|
+
'g4dn',
|
|
918
|
+
'g5',
|
|
919
|
+
'g5g',
|
|
920
|
+
'g6',
|
|
921
|
+
'g6e',
|
|
922
|
+
'gr6',
|
|
923
|
+
'h1',
|
|
924
|
+
'h3',
|
|
925
|
+
'hpc6a',
|
|
926
|
+
'hpc6id',
|
|
927
|
+
'hpc7a',
|
|
928
|
+
'hpc7g',
|
|
929
|
+
'i2',
|
|
930
|
+
'i3',
|
|
931
|
+
'i3en',
|
|
932
|
+
'i4g',
|
|
933
|
+
'i4i',
|
|
934
|
+
'i7i',
|
|
935
|
+
'i7ie',
|
|
936
|
+
'i8g',
|
|
937
|
+
'im4gn',
|
|
938
|
+
'inf1',
|
|
939
|
+
'inf2',
|
|
940
|
+
'is4gen',
|
|
941
|
+
'm1',
|
|
942
|
+
'm2',
|
|
943
|
+
'm3',
|
|
944
|
+
'm4',
|
|
945
|
+
'm5',
|
|
946
|
+
'm5a',
|
|
947
|
+
'm5ad',
|
|
948
|
+
'm5d',
|
|
949
|
+
'm5dn',
|
|
950
|
+
'm5n',
|
|
951
|
+
'm5zn',
|
|
952
|
+
'm6a',
|
|
953
|
+
'm6g',
|
|
954
|
+
'm6gd',
|
|
955
|
+
'm6i',
|
|
956
|
+
'm6id',
|
|
957
|
+
'm6idn',
|
|
958
|
+
'm6in',
|
|
959
|
+
'm7a',
|
|
960
|
+
'm7g',
|
|
961
|
+
'm7gd',
|
|
962
|
+
'm7i',
|
|
963
|
+
'm7i-flex',
|
|
964
|
+
'm8g',
|
|
965
|
+
'm8gd',
|
|
966
|
+
'n1',
|
|
967
|
+
'n2',
|
|
968
|
+
'n2d',
|
|
969
|
+
'n4',
|
|
970
|
+
'p3',
|
|
971
|
+
'p3dn',
|
|
972
|
+
'p4d',
|
|
973
|
+
'p4de',
|
|
974
|
+
'p5',
|
|
975
|
+
'p5e',
|
|
976
|
+
'p5en',
|
|
977
|
+
'p6-b200',
|
|
978
|
+
'r3',
|
|
979
|
+
'r4',
|
|
980
|
+
'r5',
|
|
981
|
+
'r5a',
|
|
982
|
+
'r5ad',
|
|
983
|
+
'r5b',
|
|
984
|
+
'r5d',
|
|
985
|
+
'r5dn',
|
|
986
|
+
'r5n',
|
|
987
|
+
'r6a',
|
|
988
|
+
'r6g',
|
|
989
|
+
'r6gd',
|
|
990
|
+
'r6i',
|
|
991
|
+
'r6id',
|
|
992
|
+
'r6idn',
|
|
993
|
+
'r6in',
|
|
994
|
+
'r7a',
|
|
995
|
+
'r7g',
|
|
996
|
+
'r7gd',
|
|
997
|
+
'r7i',
|
|
998
|
+
'r7iz',
|
|
999
|
+
'r8g',
|
|
1000
|
+
'r8gd',
|
|
1001
|
+
't2',
|
|
1002
|
+
't2a',
|
|
1003
|
+
't2d',
|
|
1004
|
+
't3',
|
|
1005
|
+
't3a',
|
|
1006
|
+
't4g',
|
|
1007
|
+
'trn1',
|
|
1008
|
+
'trn1n',
|
|
1009
|
+
'u-3tb1',
|
|
1010
|
+
'u-6tb1',
|
|
1011
|
+
'u7i-12tb',
|
|
1012
|
+
'u7i-6tb',
|
|
1013
|
+
'u7i-8tb',
|
|
1014
|
+
'u7in-16tb',
|
|
1015
|
+
'u7in-24tb',
|
|
1016
|
+
'u7in-32tb',
|
|
1017
|
+
'vt1',
|
|
1018
|
+
'x1',
|
|
1019
|
+
'x1e',
|
|
1020
|
+
'x2gd',
|
|
1021
|
+
'x2idn',
|
|
1022
|
+
'x2iedn',
|
|
1023
|
+
'x2iezn',
|
|
1024
|
+
'x4',
|
|
1025
|
+
'x8g',
|
|
1026
|
+
'z1d',
|
|
1027
|
+
'z3'
|
|
1028
|
+
]
|
|
1029
|
+
},
|
|
1030
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1031
|
+
},
|
|
1032
|
+
'topology.kubernetes.io/region': {
|
|
1033
|
+
type: 'array',
|
|
1034
|
+
items: {
|
|
1035
|
+
type: 'string',
|
|
1036
|
+
enum: [
|
|
1037
|
+
'africa-south1',
|
|
1038
|
+
'ap-northeast-1',
|
|
1039
|
+
'ap-northeast-2',
|
|
1040
|
+
'ap-northeast-3',
|
|
1041
|
+
'ap-south-1',
|
|
1042
|
+
'ap-southeast-1',
|
|
1043
|
+
'ap-southeast-2',
|
|
1044
|
+
'ash',
|
|
1045
|
+
'asia-east1',
|
|
1046
|
+
'asia-east2',
|
|
1047
|
+
'asia-northeast1',
|
|
1048
|
+
'asia-northeast2',
|
|
1049
|
+
'asia-northeast3',
|
|
1050
|
+
'asia-south1',
|
|
1051
|
+
'asia-south2',
|
|
1052
|
+
'asia-southeast1',
|
|
1053
|
+
'asia-southeast2',
|
|
1054
|
+
'australia-southeast1',
|
|
1055
|
+
'australia-southeast2',
|
|
1056
|
+
'ca-central-1',
|
|
1057
|
+
'eu-central-1',
|
|
1058
|
+
'eu-central-2',
|
|
1059
|
+
'eu-north-1',
|
|
1060
|
+
'eu-west-1',
|
|
1061
|
+
'eu-west-2',
|
|
1062
|
+
'eu-west-3',
|
|
1063
|
+
'europe-central2',
|
|
1064
|
+
'europe-north1',
|
|
1065
|
+
'europe-southwest1',
|
|
1066
|
+
'europe-west1',
|
|
1067
|
+
'europe-west10',
|
|
1068
|
+
'europe-west12',
|
|
1069
|
+
'europe-west2',
|
|
1070
|
+
'europe-west3',
|
|
1071
|
+
'europe-west4',
|
|
1072
|
+
'europe-west6',
|
|
1073
|
+
'europe-west8',
|
|
1074
|
+
'europe-west9',
|
|
1075
|
+
'fsn1',
|
|
1076
|
+
'hel1',
|
|
1077
|
+
'hil',
|
|
1078
|
+
'me-central1',
|
|
1079
|
+
'me-central2',
|
|
1080
|
+
'me-west1',
|
|
1081
|
+
'nbg1',
|
|
1082
|
+
'northamerica-northeast1',
|
|
1083
|
+
'northamerica-northeast2',
|
|
1084
|
+
'sa-east-1',
|
|
1085
|
+
'sin',
|
|
1086
|
+
'southamerica-east1',
|
|
1087
|
+
'southamerica-west1',
|
|
1088
|
+
'us-central1',
|
|
1089
|
+
'us-east-1',
|
|
1090
|
+
'us-east-2',
|
|
1091
|
+
'us-east1',
|
|
1092
|
+
'us-east4',
|
|
1093
|
+
'us-east5',
|
|
1094
|
+
'us-south1',
|
|
1095
|
+
'us-west-1',
|
|
1096
|
+
'us-west-2',
|
|
1097
|
+
'us-west1',
|
|
1098
|
+
'us-west2',
|
|
1099
|
+
'us-west3',
|
|
1100
|
+
'us-west4'
|
|
1101
|
+
]
|
|
1102
|
+
},
|
|
1103
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
additionalProperties: false,
|
|
1107
|
+
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.'
|
|
1108
|
+
},
|
|
1109
|
+
scalingProfile: {
|
|
1110
|
+
type: 'string',
|
|
1111
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1112
|
+
default: 'conservative',
|
|
1113
|
+
example: 'conservative',
|
|
1114
|
+
enum: [
|
|
1115
|
+
'aggressive',
|
|
1116
|
+
'conservative'
|
|
1117
|
+
]
|
|
1118
|
+
},
|
|
798
1119
|
id: {
|
|
799
1120
|
type: 'string',
|
|
800
1121
|
maxLength: 63,
|
|
@@ -816,15 +1137,12 @@ export const FleetSchema = {
|
|
|
816
1137
|
type: 'object',
|
|
817
1138
|
properties: {
|
|
818
1139
|
cpu: {
|
|
819
|
-
type: '
|
|
820
|
-
format: 'float',
|
|
1140
|
+
type: 'integer',
|
|
821
1141
|
minimum: 0,
|
|
822
|
-
|
|
1142
|
+
maximum: 100000,
|
|
1143
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
823
1144
|
}
|
|
824
1145
|
},
|
|
825
|
-
required: [
|
|
826
|
-
'cpu'
|
|
827
|
-
],
|
|
828
1146
|
additionalProperties: false,
|
|
829
1147
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
830
1148
|
},
|
|
@@ -832,16 +1150,17 @@ export const FleetSchema = {
|
|
|
832
1150
|
type: 'object',
|
|
833
1151
|
properties: {
|
|
834
1152
|
enabled: {
|
|
835
|
-
type: 'boolean'
|
|
836
|
-
default: true
|
|
1153
|
+
type: 'boolean'
|
|
837
1154
|
},
|
|
838
1155
|
project: {
|
|
839
1156
|
type: 'string',
|
|
840
|
-
|
|
1157
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1158
|
+
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.',
|
|
1159
|
+
example: 'my-cloudfleet-project'
|
|
841
1160
|
}
|
|
842
1161
|
},
|
|
843
1162
|
required: [
|
|
844
|
-
'
|
|
1163
|
+
'enabled'
|
|
845
1164
|
],
|
|
846
1165
|
additionalProperties: false
|
|
847
1166
|
},
|
|
@@ -849,16 +1168,16 @@ export const FleetSchema = {
|
|
|
849
1168
|
type: 'object',
|
|
850
1169
|
properties: {
|
|
851
1170
|
enabled: {
|
|
852
|
-
type: 'boolean'
|
|
853
|
-
default: true
|
|
1171
|
+
type: 'boolean'
|
|
854
1172
|
},
|
|
855
1173
|
apiKey: {
|
|
856
1174
|
type: 'string',
|
|
857
|
-
|
|
1175
|
+
pattern: '^\\*{64}$',
|
|
1176
|
+
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
1177
|
}
|
|
859
1178
|
},
|
|
860
1179
|
required: [
|
|
861
|
-
'
|
|
1180
|
+
'enabled'
|
|
862
1181
|
],
|
|
863
1182
|
additionalProperties: false
|
|
864
1183
|
},
|
|
@@ -866,19 +1185,308 @@ export const FleetSchema = {
|
|
|
866
1185
|
type: 'object',
|
|
867
1186
|
properties: {
|
|
868
1187
|
enabled: {
|
|
869
|
-
type: 'boolean'
|
|
870
|
-
default: true
|
|
1188
|
+
type: 'boolean'
|
|
871
1189
|
},
|
|
872
1190
|
controllerRoleArn: {
|
|
873
1191
|
type: 'string',
|
|
874
|
-
|
|
1192
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1193
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1194
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
875
1195
|
}
|
|
876
1196
|
},
|
|
877
1197
|
required: [
|
|
878
|
-
'
|
|
1198
|
+
'enabled'
|
|
879
1199
|
],
|
|
880
1200
|
additionalProperties: false
|
|
881
1201
|
},
|
|
1202
|
+
constraints: {
|
|
1203
|
+
type: 'object',
|
|
1204
|
+
properties: {
|
|
1205
|
+
'karpenter.sh/capacity-type': {
|
|
1206
|
+
type: 'array',
|
|
1207
|
+
items: {
|
|
1208
|
+
type: 'string',
|
|
1209
|
+
enum: [
|
|
1210
|
+
'on-demand',
|
|
1211
|
+
'spot'
|
|
1212
|
+
]
|
|
1213
|
+
},
|
|
1214
|
+
minItems: 1,
|
|
1215
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1216
|
+
default: [
|
|
1217
|
+
'on-demand',
|
|
1218
|
+
'spot'
|
|
1219
|
+
]
|
|
1220
|
+
},
|
|
1221
|
+
'kubernetes.io/arch': {
|
|
1222
|
+
type: 'array',
|
|
1223
|
+
items: {
|
|
1224
|
+
type: 'string',
|
|
1225
|
+
enum: [
|
|
1226
|
+
'amd64',
|
|
1227
|
+
'arm64'
|
|
1228
|
+
]
|
|
1229
|
+
},
|
|
1230
|
+
minItems: 1,
|
|
1231
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1232
|
+
default: [
|
|
1233
|
+
'amd64'
|
|
1234
|
+
]
|
|
1235
|
+
},
|
|
1236
|
+
'cfke.io/instance-family': {
|
|
1237
|
+
type: 'array',
|
|
1238
|
+
items: {
|
|
1239
|
+
type: 'string',
|
|
1240
|
+
enum: [
|
|
1241
|
+
'a1',
|
|
1242
|
+
'a2',
|
|
1243
|
+
'a3',
|
|
1244
|
+
'a4',
|
|
1245
|
+
'c1',
|
|
1246
|
+
'c2',
|
|
1247
|
+
'c2d',
|
|
1248
|
+
'c3',
|
|
1249
|
+
'c3d',
|
|
1250
|
+
'c4',
|
|
1251
|
+
'c4a',
|
|
1252
|
+
'c4d',
|
|
1253
|
+
'c5',
|
|
1254
|
+
'c5a',
|
|
1255
|
+
'c5ad',
|
|
1256
|
+
'c5d',
|
|
1257
|
+
'c5n',
|
|
1258
|
+
'c6a',
|
|
1259
|
+
'c6g',
|
|
1260
|
+
'c6gd',
|
|
1261
|
+
'c6gn',
|
|
1262
|
+
'c6i',
|
|
1263
|
+
'c6id',
|
|
1264
|
+
'c6in',
|
|
1265
|
+
'c7a',
|
|
1266
|
+
'c7g',
|
|
1267
|
+
'c7gd',
|
|
1268
|
+
'c7gn',
|
|
1269
|
+
'c7i',
|
|
1270
|
+
'c7i-flex',
|
|
1271
|
+
'c8g',
|
|
1272
|
+
'c8gd',
|
|
1273
|
+
'cax',
|
|
1274
|
+
'ccx',
|
|
1275
|
+
'cpx',
|
|
1276
|
+
'cx',
|
|
1277
|
+
'd2',
|
|
1278
|
+
'd3',
|
|
1279
|
+
'd3en',
|
|
1280
|
+
'dl1',
|
|
1281
|
+
'dl2q',
|
|
1282
|
+
'e2',
|
|
1283
|
+
'f1',
|
|
1284
|
+
'f2',
|
|
1285
|
+
'g1',
|
|
1286
|
+
'g2',
|
|
1287
|
+
'g4ad',
|
|
1288
|
+
'g4dn',
|
|
1289
|
+
'g5',
|
|
1290
|
+
'g5g',
|
|
1291
|
+
'g6',
|
|
1292
|
+
'g6e',
|
|
1293
|
+
'gr6',
|
|
1294
|
+
'h1',
|
|
1295
|
+
'h3',
|
|
1296
|
+
'hpc6a',
|
|
1297
|
+
'hpc6id',
|
|
1298
|
+
'hpc7a',
|
|
1299
|
+
'hpc7g',
|
|
1300
|
+
'i2',
|
|
1301
|
+
'i3',
|
|
1302
|
+
'i3en',
|
|
1303
|
+
'i4g',
|
|
1304
|
+
'i4i',
|
|
1305
|
+
'i7i',
|
|
1306
|
+
'i7ie',
|
|
1307
|
+
'i8g',
|
|
1308
|
+
'im4gn',
|
|
1309
|
+
'inf1',
|
|
1310
|
+
'inf2',
|
|
1311
|
+
'is4gen',
|
|
1312
|
+
'm1',
|
|
1313
|
+
'm2',
|
|
1314
|
+
'm3',
|
|
1315
|
+
'm4',
|
|
1316
|
+
'm5',
|
|
1317
|
+
'm5a',
|
|
1318
|
+
'm5ad',
|
|
1319
|
+
'm5d',
|
|
1320
|
+
'm5dn',
|
|
1321
|
+
'm5n',
|
|
1322
|
+
'm5zn',
|
|
1323
|
+
'm6a',
|
|
1324
|
+
'm6g',
|
|
1325
|
+
'm6gd',
|
|
1326
|
+
'm6i',
|
|
1327
|
+
'm6id',
|
|
1328
|
+
'm6idn',
|
|
1329
|
+
'm6in',
|
|
1330
|
+
'm7a',
|
|
1331
|
+
'm7g',
|
|
1332
|
+
'm7gd',
|
|
1333
|
+
'm7i',
|
|
1334
|
+
'm7i-flex',
|
|
1335
|
+
'm8g',
|
|
1336
|
+
'm8gd',
|
|
1337
|
+
'n1',
|
|
1338
|
+
'n2',
|
|
1339
|
+
'n2d',
|
|
1340
|
+
'n4',
|
|
1341
|
+
'p3',
|
|
1342
|
+
'p3dn',
|
|
1343
|
+
'p4d',
|
|
1344
|
+
'p4de',
|
|
1345
|
+
'p5',
|
|
1346
|
+
'p5e',
|
|
1347
|
+
'p5en',
|
|
1348
|
+
'p6-b200',
|
|
1349
|
+
'r3',
|
|
1350
|
+
'r4',
|
|
1351
|
+
'r5',
|
|
1352
|
+
'r5a',
|
|
1353
|
+
'r5ad',
|
|
1354
|
+
'r5b',
|
|
1355
|
+
'r5d',
|
|
1356
|
+
'r5dn',
|
|
1357
|
+
'r5n',
|
|
1358
|
+
'r6a',
|
|
1359
|
+
'r6g',
|
|
1360
|
+
'r6gd',
|
|
1361
|
+
'r6i',
|
|
1362
|
+
'r6id',
|
|
1363
|
+
'r6idn',
|
|
1364
|
+
'r6in',
|
|
1365
|
+
'r7a',
|
|
1366
|
+
'r7g',
|
|
1367
|
+
'r7gd',
|
|
1368
|
+
'r7i',
|
|
1369
|
+
'r7iz',
|
|
1370
|
+
'r8g',
|
|
1371
|
+
'r8gd',
|
|
1372
|
+
't2',
|
|
1373
|
+
't2a',
|
|
1374
|
+
't2d',
|
|
1375
|
+
't3',
|
|
1376
|
+
't3a',
|
|
1377
|
+
't4g',
|
|
1378
|
+
'trn1',
|
|
1379
|
+
'trn1n',
|
|
1380
|
+
'u-3tb1',
|
|
1381
|
+
'u-6tb1',
|
|
1382
|
+
'u7i-12tb',
|
|
1383
|
+
'u7i-6tb',
|
|
1384
|
+
'u7i-8tb',
|
|
1385
|
+
'u7in-16tb',
|
|
1386
|
+
'u7in-24tb',
|
|
1387
|
+
'u7in-32tb',
|
|
1388
|
+
'vt1',
|
|
1389
|
+
'x1',
|
|
1390
|
+
'x1e',
|
|
1391
|
+
'x2gd',
|
|
1392
|
+
'x2idn',
|
|
1393
|
+
'x2iedn',
|
|
1394
|
+
'x2iezn',
|
|
1395
|
+
'x4',
|
|
1396
|
+
'x8g',
|
|
1397
|
+
'z1d',
|
|
1398
|
+
'z3'
|
|
1399
|
+
]
|
|
1400
|
+
},
|
|
1401
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1402
|
+
},
|
|
1403
|
+
'topology.kubernetes.io/region': {
|
|
1404
|
+
type: 'array',
|
|
1405
|
+
items: {
|
|
1406
|
+
type: 'string',
|
|
1407
|
+
enum: [
|
|
1408
|
+
'africa-south1',
|
|
1409
|
+
'ap-northeast-1',
|
|
1410
|
+
'ap-northeast-2',
|
|
1411
|
+
'ap-northeast-3',
|
|
1412
|
+
'ap-south-1',
|
|
1413
|
+
'ap-southeast-1',
|
|
1414
|
+
'ap-southeast-2',
|
|
1415
|
+
'ash',
|
|
1416
|
+
'asia-east1',
|
|
1417
|
+
'asia-east2',
|
|
1418
|
+
'asia-northeast1',
|
|
1419
|
+
'asia-northeast2',
|
|
1420
|
+
'asia-northeast3',
|
|
1421
|
+
'asia-south1',
|
|
1422
|
+
'asia-south2',
|
|
1423
|
+
'asia-southeast1',
|
|
1424
|
+
'asia-southeast2',
|
|
1425
|
+
'australia-southeast1',
|
|
1426
|
+
'australia-southeast2',
|
|
1427
|
+
'ca-central-1',
|
|
1428
|
+
'eu-central-1',
|
|
1429
|
+
'eu-central-2',
|
|
1430
|
+
'eu-north-1',
|
|
1431
|
+
'eu-west-1',
|
|
1432
|
+
'eu-west-2',
|
|
1433
|
+
'eu-west-3',
|
|
1434
|
+
'europe-central2',
|
|
1435
|
+
'europe-north1',
|
|
1436
|
+
'europe-southwest1',
|
|
1437
|
+
'europe-west1',
|
|
1438
|
+
'europe-west10',
|
|
1439
|
+
'europe-west12',
|
|
1440
|
+
'europe-west2',
|
|
1441
|
+
'europe-west3',
|
|
1442
|
+
'europe-west4',
|
|
1443
|
+
'europe-west6',
|
|
1444
|
+
'europe-west8',
|
|
1445
|
+
'europe-west9',
|
|
1446
|
+
'fsn1',
|
|
1447
|
+
'hel1',
|
|
1448
|
+
'hil',
|
|
1449
|
+
'me-central1',
|
|
1450
|
+
'me-central2',
|
|
1451
|
+
'me-west1',
|
|
1452
|
+
'nbg1',
|
|
1453
|
+
'northamerica-northeast1',
|
|
1454
|
+
'northamerica-northeast2',
|
|
1455
|
+
'sa-east-1',
|
|
1456
|
+
'sin',
|
|
1457
|
+
'southamerica-east1',
|
|
1458
|
+
'southamerica-west1',
|
|
1459
|
+
'us-central1',
|
|
1460
|
+
'us-east-1',
|
|
1461
|
+
'us-east-2',
|
|
1462
|
+
'us-east1',
|
|
1463
|
+
'us-east4',
|
|
1464
|
+
'us-east5',
|
|
1465
|
+
'us-south1',
|
|
1466
|
+
'us-west-1',
|
|
1467
|
+
'us-west-2',
|
|
1468
|
+
'us-west1',
|
|
1469
|
+
'us-west2',
|
|
1470
|
+
'us-west3',
|
|
1471
|
+
'us-west4'
|
|
1472
|
+
]
|
|
1473
|
+
},
|
|
1474
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1475
|
+
}
|
|
1476
|
+
},
|
|
1477
|
+
additionalProperties: false,
|
|
1478
|
+
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.'
|
|
1479
|
+
},
|
|
1480
|
+
scalingProfile: {
|
|
1481
|
+
type: 'string',
|
|
1482
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1483
|
+
default: 'conservative',
|
|
1484
|
+
example: 'conservative',
|
|
1485
|
+
enum: [
|
|
1486
|
+
'aggressive',
|
|
1487
|
+
'conservative'
|
|
1488
|
+
]
|
|
1489
|
+
},
|
|
882
1490
|
id: {
|
|
883
1491
|
type: 'string',
|
|
884
1492
|
maxLength: 63,
|
|
@@ -889,6 +1497,7 @@ export const FleetSchema = {
|
|
|
889
1497
|
}
|
|
890
1498
|
},
|
|
891
1499
|
required: [
|
|
1500
|
+
'scalingProfile',
|
|
892
1501
|
'id'
|
|
893
1502
|
],
|
|
894
1503
|
additionalProperties: false
|
|
@@ -900,15 +1509,12 @@ export const FleetUpdateInputSchema = {
|
|
|
900
1509
|
type: 'object',
|
|
901
1510
|
properties: {
|
|
902
1511
|
cpu: {
|
|
903
|
-
type: '
|
|
904
|
-
format: 'float',
|
|
1512
|
+
type: 'integer',
|
|
905
1513
|
minimum: 0,
|
|
906
|
-
|
|
1514
|
+
maximum: 100000,
|
|
1515
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
907
1516
|
}
|
|
908
1517
|
},
|
|
909
|
-
required: [
|
|
910
|
-
'cpu'
|
|
911
|
-
],
|
|
912
1518
|
additionalProperties: false,
|
|
913
1519
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
914
1520
|
},
|
|
@@ -916,16 +1522,17 @@ export const FleetUpdateInputSchema = {
|
|
|
916
1522
|
type: 'object',
|
|
917
1523
|
properties: {
|
|
918
1524
|
enabled: {
|
|
919
|
-
type: 'boolean'
|
|
920
|
-
default: true
|
|
1525
|
+
type: 'boolean'
|
|
921
1526
|
},
|
|
922
1527
|
project: {
|
|
923
1528
|
type: 'string',
|
|
924
|
-
|
|
1529
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1530
|
+
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.',
|
|
1531
|
+
example: 'my-cloudfleet-project'
|
|
925
1532
|
}
|
|
926
1533
|
},
|
|
927
1534
|
required: [
|
|
928
|
-
'
|
|
1535
|
+
'enabled'
|
|
929
1536
|
],
|
|
930
1537
|
additionalProperties: false
|
|
931
1538
|
},
|
|
@@ -933,16 +1540,18 @@ export const FleetUpdateInputSchema = {
|
|
|
933
1540
|
type: 'object',
|
|
934
1541
|
properties: {
|
|
935
1542
|
enabled: {
|
|
936
|
-
type: 'boolean'
|
|
937
|
-
default: true
|
|
1543
|
+
type: 'boolean'
|
|
938
1544
|
},
|
|
939
1545
|
apiKey: {
|
|
940
1546
|
type: 'string',
|
|
941
|
-
|
|
1547
|
+
maxLength: 64,
|
|
1548
|
+
minLength: 64,
|
|
1549
|
+
pattern: '^[A-Za-z0-9]+$',
|
|
1550
|
+
description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
|
|
942
1551
|
}
|
|
943
1552
|
},
|
|
944
1553
|
required: [
|
|
945
|
-
'
|
|
1554
|
+
'enabled'
|
|
946
1555
|
],
|
|
947
1556
|
additionalProperties: false
|
|
948
1557
|
},
|
|
@@ -950,20 +1559,329 @@ export const FleetUpdateInputSchema = {
|
|
|
950
1559
|
type: 'object',
|
|
951
1560
|
properties: {
|
|
952
1561
|
enabled: {
|
|
953
|
-
type: 'boolean'
|
|
954
|
-
default: true
|
|
1562
|
+
type: 'boolean'
|
|
955
1563
|
},
|
|
956
1564
|
controllerRoleArn: {
|
|
957
1565
|
type: 'string',
|
|
958
|
-
|
|
1566
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1567
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1568
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
959
1569
|
}
|
|
960
1570
|
},
|
|
961
1571
|
required: [
|
|
962
|
-
'
|
|
1572
|
+
'enabled'
|
|
963
1573
|
],
|
|
964
1574
|
additionalProperties: false
|
|
1575
|
+
},
|
|
1576
|
+
constraints: {
|
|
1577
|
+
type: 'object',
|
|
1578
|
+
properties: {
|
|
1579
|
+
'karpenter.sh/capacity-type': {
|
|
1580
|
+
type: 'array',
|
|
1581
|
+
items: {
|
|
1582
|
+
type: 'string',
|
|
1583
|
+
enum: [
|
|
1584
|
+
'on-demand',
|
|
1585
|
+
'spot'
|
|
1586
|
+
]
|
|
1587
|
+
},
|
|
1588
|
+
minItems: 1,
|
|
1589
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.'
|
|
1590
|
+
},
|
|
1591
|
+
'kubernetes.io/arch': {
|
|
1592
|
+
type: 'array',
|
|
1593
|
+
items: {
|
|
1594
|
+
type: 'string',
|
|
1595
|
+
enum: [
|
|
1596
|
+
'amd64',
|
|
1597
|
+
'arm64'
|
|
1598
|
+
]
|
|
1599
|
+
},
|
|
1600
|
+
minItems: 1,
|
|
1601
|
+
description: 'Allowed values for `kubernetes.io/arch`.'
|
|
1602
|
+
},
|
|
1603
|
+
'cfke.io/instance-family': {
|
|
1604
|
+
type: 'array',
|
|
1605
|
+
items: {
|
|
1606
|
+
type: 'string',
|
|
1607
|
+
enum: [
|
|
1608
|
+
'a1',
|
|
1609
|
+
'a2',
|
|
1610
|
+
'a3',
|
|
1611
|
+
'a4',
|
|
1612
|
+
'c1',
|
|
1613
|
+
'c2',
|
|
1614
|
+
'c2d',
|
|
1615
|
+
'c3',
|
|
1616
|
+
'c3d',
|
|
1617
|
+
'c4',
|
|
1618
|
+
'c4a',
|
|
1619
|
+
'c4d',
|
|
1620
|
+
'c5',
|
|
1621
|
+
'c5a',
|
|
1622
|
+
'c5ad',
|
|
1623
|
+
'c5d',
|
|
1624
|
+
'c5n',
|
|
1625
|
+
'c6a',
|
|
1626
|
+
'c6g',
|
|
1627
|
+
'c6gd',
|
|
1628
|
+
'c6gn',
|
|
1629
|
+
'c6i',
|
|
1630
|
+
'c6id',
|
|
1631
|
+
'c6in',
|
|
1632
|
+
'c7a',
|
|
1633
|
+
'c7g',
|
|
1634
|
+
'c7gd',
|
|
1635
|
+
'c7gn',
|
|
1636
|
+
'c7i',
|
|
1637
|
+
'c7i-flex',
|
|
1638
|
+
'c8g',
|
|
1639
|
+
'c8gd',
|
|
1640
|
+
'cax',
|
|
1641
|
+
'ccx',
|
|
1642
|
+
'cpx',
|
|
1643
|
+
'cx',
|
|
1644
|
+
'd2',
|
|
1645
|
+
'd3',
|
|
1646
|
+
'd3en',
|
|
1647
|
+
'dl1',
|
|
1648
|
+
'dl2q',
|
|
1649
|
+
'e2',
|
|
1650
|
+
'f1',
|
|
1651
|
+
'f2',
|
|
1652
|
+
'g1',
|
|
1653
|
+
'g2',
|
|
1654
|
+
'g4ad',
|
|
1655
|
+
'g4dn',
|
|
1656
|
+
'g5',
|
|
1657
|
+
'g5g',
|
|
1658
|
+
'g6',
|
|
1659
|
+
'g6e',
|
|
1660
|
+
'gr6',
|
|
1661
|
+
'h1',
|
|
1662
|
+
'h3',
|
|
1663
|
+
'hpc6a',
|
|
1664
|
+
'hpc6id',
|
|
1665
|
+
'hpc7a',
|
|
1666
|
+
'hpc7g',
|
|
1667
|
+
'i2',
|
|
1668
|
+
'i3',
|
|
1669
|
+
'i3en',
|
|
1670
|
+
'i4g',
|
|
1671
|
+
'i4i',
|
|
1672
|
+
'i7i',
|
|
1673
|
+
'i7ie',
|
|
1674
|
+
'i8g',
|
|
1675
|
+
'im4gn',
|
|
1676
|
+
'inf1',
|
|
1677
|
+
'inf2',
|
|
1678
|
+
'is4gen',
|
|
1679
|
+
'm1',
|
|
1680
|
+
'm2',
|
|
1681
|
+
'm3',
|
|
1682
|
+
'm4',
|
|
1683
|
+
'm5',
|
|
1684
|
+
'm5a',
|
|
1685
|
+
'm5ad',
|
|
1686
|
+
'm5d',
|
|
1687
|
+
'm5dn',
|
|
1688
|
+
'm5n',
|
|
1689
|
+
'm5zn',
|
|
1690
|
+
'm6a',
|
|
1691
|
+
'm6g',
|
|
1692
|
+
'm6gd',
|
|
1693
|
+
'm6i',
|
|
1694
|
+
'm6id',
|
|
1695
|
+
'm6idn',
|
|
1696
|
+
'm6in',
|
|
1697
|
+
'm7a',
|
|
1698
|
+
'm7g',
|
|
1699
|
+
'm7gd',
|
|
1700
|
+
'm7i',
|
|
1701
|
+
'm7i-flex',
|
|
1702
|
+
'm8g',
|
|
1703
|
+
'm8gd',
|
|
1704
|
+
'n1',
|
|
1705
|
+
'n2',
|
|
1706
|
+
'n2d',
|
|
1707
|
+
'n4',
|
|
1708
|
+
'p3',
|
|
1709
|
+
'p3dn',
|
|
1710
|
+
'p4d',
|
|
1711
|
+
'p4de',
|
|
1712
|
+
'p5',
|
|
1713
|
+
'p5e',
|
|
1714
|
+
'p5en',
|
|
1715
|
+
'p6-b200',
|
|
1716
|
+
'r3',
|
|
1717
|
+
'r4',
|
|
1718
|
+
'r5',
|
|
1719
|
+
'r5a',
|
|
1720
|
+
'r5ad',
|
|
1721
|
+
'r5b',
|
|
1722
|
+
'r5d',
|
|
1723
|
+
'r5dn',
|
|
1724
|
+
'r5n',
|
|
1725
|
+
'r6a',
|
|
1726
|
+
'r6g',
|
|
1727
|
+
'r6gd',
|
|
1728
|
+
'r6i',
|
|
1729
|
+
'r6id',
|
|
1730
|
+
'r6idn',
|
|
1731
|
+
'r6in',
|
|
1732
|
+
'r7a',
|
|
1733
|
+
'r7g',
|
|
1734
|
+
'r7gd',
|
|
1735
|
+
'r7i',
|
|
1736
|
+
'r7iz',
|
|
1737
|
+
'r8g',
|
|
1738
|
+
'r8gd',
|
|
1739
|
+
't2',
|
|
1740
|
+
't2a',
|
|
1741
|
+
't2d',
|
|
1742
|
+
't3',
|
|
1743
|
+
't3a',
|
|
1744
|
+
't4g',
|
|
1745
|
+
'trn1',
|
|
1746
|
+
'trn1n',
|
|
1747
|
+
'u-3tb1',
|
|
1748
|
+
'u-6tb1',
|
|
1749
|
+
'u7i-12tb',
|
|
1750
|
+
'u7i-6tb',
|
|
1751
|
+
'u7i-8tb',
|
|
1752
|
+
'u7in-16tb',
|
|
1753
|
+
'u7in-24tb',
|
|
1754
|
+
'u7in-32tb',
|
|
1755
|
+
'vt1',
|
|
1756
|
+
'x1',
|
|
1757
|
+
'x1e',
|
|
1758
|
+
'x2gd',
|
|
1759
|
+
'x2idn',
|
|
1760
|
+
'x2iedn',
|
|
1761
|
+
'x2iezn',
|
|
1762
|
+
'x4',
|
|
1763
|
+
'x8g',
|
|
1764
|
+
'z1d',
|
|
1765
|
+
'z3'
|
|
1766
|
+
]
|
|
1767
|
+
},
|
|
1768
|
+
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1769
|
+
},
|
|
1770
|
+
'topology.kubernetes.io/region': {
|
|
1771
|
+
type: 'array',
|
|
1772
|
+
items: {
|
|
1773
|
+
type: 'string',
|
|
1774
|
+
enum: [
|
|
1775
|
+
'africa-south1',
|
|
1776
|
+
'ap-northeast-1',
|
|
1777
|
+
'ap-northeast-2',
|
|
1778
|
+
'ap-northeast-3',
|
|
1779
|
+
'ap-south-1',
|
|
1780
|
+
'ap-southeast-1',
|
|
1781
|
+
'ap-southeast-2',
|
|
1782
|
+
'ash',
|
|
1783
|
+
'asia-east1',
|
|
1784
|
+
'asia-east2',
|
|
1785
|
+
'asia-northeast1',
|
|
1786
|
+
'asia-northeast2',
|
|
1787
|
+
'asia-northeast3',
|
|
1788
|
+
'asia-south1',
|
|
1789
|
+
'asia-south2',
|
|
1790
|
+
'asia-southeast1',
|
|
1791
|
+
'asia-southeast2',
|
|
1792
|
+
'australia-southeast1',
|
|
1793
|
+
'australia-southeast2',
|
|
1794
|
+
'ca-central-1',
|
|
1795
|
+
'eu-central-1',
|
|
1796
|
+
'eu-central-2',
|
|
1797
|
+
'eu-north-1',
|
|
1798
|
+
'eu-west-1',
|
|
1799
|
+
'eu-west-2',
|
|
1800
|
+
'eu-west-3',
|
|
1801
|
+
'europe-central2',
|
|
1802
|
+
'europe-north1',
|
|
1803
|
+
'europe-southwest1',
|
|
1804
|
+
'europe-west1',
|
|
1805
|
+
'europe-west10',
|
|
1806
|
+
'europe-west12',
|
|
1807
|
+
'europe-west2',
|
|
1808
|
+
'europe-west3',
|
|
1809
|
+
'europe-west4',
|
|
1810
|
+
'europe-west6',
|
|
1811
|
+
'europe-west8',
|
|
1812
|
+
'europe-west9',
|
|
1813
|
+
'fsn1',
|
|
1814
|
+
'hel1',
|
|
1815
|
+
'hil',
|
|
1816
|
+
'me-central1',
|
|
1817
|
+
'me-central2',
|
|
1818
|
+
'me-west1',
|
|
1819
|
+
'nbg1',
|
|
1820
|
+
'northamerica-northeast1',
|
|
1821
|
+
'northamerica-northeast2',
|
|
1822
|
+
'sa-east-1',
|
|
1823
|
+
'sin',
|
|
1824
|
+
'southamerica-east1',
|
|
1825
|
+
'southamerica-west1',
|
|
1826
|
+
'us-central1',
|
|
1827
|
+
'us-east-1',
|
|
1828
|
+
'us-east-2',
|
|
1829
|
+
'us-east1',
|
|
1830
|
+
'us-east4',
|
|
1831
|
+
'us-east5',
|
|
1832
|
+
'us-south1',
|
|
1833
|
+
'us-west-1',
|
|
1834
|
+
'us-west-2',
|
|
1835
|
+
'us-west1',
|
|
1836
|
+
'us-west2',
|
|
1837
|
+
'us-west3',
|
|
1838
|
+
'us-west4'
|
|
1839
|
+
]
|
|
1840
|
+
},
|
|
1841
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1842
|
+
}
|
|
1843
|
+
},
|
|
1844
|
+
additionalProperties: false,
|
|
1845
|
+
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.'
|
|
1846
|
+
},
|
|
1847
|
+
scalingProfile: {
|
|
1848
|
+
type: 'string',
|
|
1849
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1850
|
+
example: 'conservative',
|
|
1851
|
+
enum: [
|
|
1852
|
+
'aggressive',
|
|
1853
|
+
'conservative'
|
|
1854
|
+
]
|
|
965
1855
|
}
|
|
966
1856
|
},
|
|
1857
|
+
required: [
|
|
1858
|
+
'scalingProfile'
|
|
1859
|
+
],
|
|
1860
|
+
additionalProperties: false
|
|
1861
|
+
};
|
|
1862
|
+
export const InviteCreateInputSchema = {
|
|
1863
|
+
type: 'object',
|
|
1864
|
+
properties: {
|
|
1865
|
+
email: {
|
|
1866
|
+
type: 'string',
|
|
1867
|
+
format: 'email',
|
|
1868
|
+
description: 'Email address of the user to invite.',
|
|
1869
|
+
example: 'email@example.com'
|
|
1870
|
+
},
|
|
1871
|
+
role: {
|
|
1872
|
+
type: 'string',
|
|
1873
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
1874
|
+
default: 'User',
|
|
1875
|
+
example: 'User',
|
|
1876
|
+
enum: [
|
|
1877
|
+
'Administrator',
|
|
1878
|
+
'User'
|
|
1879
|
+
]
|
|
1880
|
+
}
|
|
1881
|
+
},
|
|
1882
|
+
required: [
|
|
1883
|
+
'email'
|
|
1884
|
+
],
|
|
967
1885
|
additionalProperties: false
|
|
968
1886
|
};
|
|
969
1887
|
export const InviteSchema = {
|
|
@@ -996,6 +1914,16 @@ export const InviteSchema = {
|
|
|
996
1914
|
type: 'string',
|
|
997
1915
|
description: 'Generated unique invite code.',
|
|
998
1916
|
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
1917
|
+
},
|
|
1918
|
+
role: {
|
|
1919
|
+
type: 'string',
|
|
1920
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
1921
|
+
default: 'User',
|
|
1922
|
+
example: 'User',
|
|
1923
|
+
enum: [
|
|
1924
|
+
'Administrator',
|
|
1925
|
+
'User'
|
|
1926
|
+
]
|
|
999
1927
|
}
|
|
1000
1928
|
},
|
|
1001
1929
|
required: [
|
|
@@ -1216,6 +2144,15 @@ export const MarketplaceListingSchema = {
|
|
|
1216
2144
|
export const OrganizationCreateInputSchema = {
|
|
1217
2145
|
type: 'object',
|
|
1218
2146
|
properties: {
|
|
2147
|
+
type: {
|
|
2148
|
+
type: 'string',
|
|
2149
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2150
|
+
example: 'business',
|
|
2151
|
+
enum: [
|
|
2152
|
+
'business',
|
|
2153
|
+
'personal'
|
|
2154
|
+
]
|
|
2155
|
+
},
|
|
1219
2156
|
email: {
|
|
1220
2157
|
type: 'string',
|
|
1221
2158
|
format: 'email',
|
|
@@ -1224,11 +2161,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
1224
2161
|
},
|
|
1225
2162
|
first_name: {
|
|
1226
2163
|
type: 'string',
|
|
2164
|
+
minLength: 1,
|
|
1227
2165
|
description: 'First name of the billing contact person.',
|
|
1228
2166
|
example: 'John'
|
|
1229
2167
|
},
|
|
1230
2168
|
last_name: {
|
|
1231
2169
|
type: 'string',
|
|
2170
|
+
minLength: 1,
|
|
1232
2171
|
description: 'Last name of the billing contact person.',
|
|
1233
2172
|
example: 'Doe'
|
|
1234
2173
|
},
|
|
@@ -1247,6 +2186,7 @@ export const OrganizationCreateInputSchema = {
|
|
|
1247
2186
|
}
|
|
1248
2187
|
},
|
|
1249
2188
|
required: [
|
|
2189
|
+
'type',
|
|
1250
2190
|
'email',
|
|
1251
2191
|
'first_name',
|
|
1252
2192
|
'last_name',
|
|
@@ -1255,6 +2195,20 @@ export const OrganizationCreateInputSchema = {
|
|
|
1255
2195
|
],
|
|
1256
2196
|
additionalProperties: false
|
|
1257
2197
|
};
|
|
2198
|
+
export const OrganizationCreateOutputSchema = {
|
|
2199
|
+
type: 'object',
|
|
2200
|
+
properties: {
|
|
2201
|
+
id: {
|
|
2202
|
+
type: 'string',
|
|
2203
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2204
|
+
example: 'organization-id'
|
|
2205
|
+
}
|
|
2206
|
+
},
|
|
2207
|
+
required: [
|
|
2208
|
+
'id'
|
|
2209
|
+
],
|
|
2210
|
+
additionalProperties: false
|
|
2211
|
+
};
|
|
1258
2212
|
export const OrganizationSchema = {
|
|
1259
2213
|
type: 'object',
|
|
1260
2214
|
properties: {
|
|
@@ -1271,6 +2225,15 @@ export const OrganizationSchema = {
|
|
|
1271
2225
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
1272
2226
|
example: 'ACME Corp.'
|
|
1273
2227
|
},
|
|
2228
|
+
type: {
|
|
2229
|
+
type: 'string',
|
|
2230
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2231
|
+
example: 'business',
|
|
2232
|
+
enum: [
|
|
2233
|
+
'business',
|
|
2234
|
+
'personal'
|
|
2235
|
+
]
|
|
2236
|
+
},
|
|
1274
2237
|
date_created: {
|
|
1275
2238
|
type: 'string',
|
|
1276
2239
|
format: 'date-time',
|
|
@@ -1380,13 +2343,25 @@ export const OrganizationSchema = {
|
|
|
1380
2343
|
'closed',
|
|
1381
2344
|
'suspended'
|
|
1382
2345
|
]
|
|
2346
|
+
},
|
|
2347
|
+
verification: {
|
|
2348
|
+
type: 'string',
|
|
2349
|
+
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.',
|
|
2350
|
+
example: 'verified',
|
|
2351
|
+
enum: [
|
|
2352
|
+
'none',
|
|
2353
|
+
'submitted',
|
|
2354
|
+
'verified'
|
|
2355
|
+
]
|
|
1383
2356
|
}
|
|
1384
2357
|
},
|
|
1385
2358
|
required: [
|
|
1386
2359
|
'id',
|
|
2360
|
+
'type',
|
|
1387
2361
|
'date_created',
|
|
1388
2362
|
'quota',
|
|
1389
|
-
'status'
|
|
2363
|
+
'status',
|
|
2364
|
+
'verification'
|
|
1390
2365
|
],
|
|
1391
2366
|
additionalProperties: false
|
|
1392
2367
|
};
|
|
@@ -1395,28 +2370,23 @@ export const PaymentMethodSchema = {
|
|
|
1395
2370
|
properties: {
|
|
1396
2371
|
id: {
|
|
1397
2372
|
type: 'string',
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
1401
|
-
},
|
|
1402
|
-
setup: {
|
|
1403
|
-
type: 'boolean',
|
|
1404
|
-
description: 'Whether organization payment method was set up and ready to use for payments.',
|
|
1405
|
-
example: true
|
|
2373
|
+
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.',
|
|
2374
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
1406
2375
|
},
|
|
1407
2376
|
type: {
|
|
1408
2377
|
type: 'string',
|
|
1409
|
-
|
|
1410
|
-
description: 'Payment method type type. Only `card` payments supported at the moment.',
|
|
2378
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
1411
2379
|
example: 'card',
|
|
1412
2380
|
enum: [
|
|
1413
|
-
'card'
|
|
2381
|
+
'card',
|
|
2382
|
+
'sepa_debit',
|
|
2383
|
+
'bank_transfer'
|
|
1414
2384
|
]
|
|
1415
2385
|
},
|
|
1416
2386
|
last4: {
|
|
1417
2387
|
type: 'string',
|
|
1418
2388
|
nullable: true,
|
|
1419
|
-
description: 'Last 4 digits of the payment card number.',
|
|
2389
|
+
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.',
|
|
1420
2390
|
example: '4242'
|
|
1421
2391
|
},
|
|
1422
2392
|
exp_month: {
|
|
@@ -1424,42 +2394,56 @@ export const PaymentMethodSchema = {
|
|
|
1424
2394
|
minimum: 1,
|
|
1425
2395
|
maximum: 12,
|
|
1426
2396
|
nullable: true,
|
|
1427
|
-
description: 'Two-digit number representing the card\'s expiration month.',
|
|
1428
|
-
example:
|
|
2397
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2398
|
+
example: 12
|
|
1429
2399
|
},
|
|
1430
2400
|
exp_year: {
|
|
1431
2401
|
type: 'integer',
|
|
1432
|
-
minimum: 2024,
|
|
1433
2402
|
nullable: true,
|
|
1434
|
-
description: 'Four-digit number representing the card\'s expiration year.',
|
|
1435
|
-
example:
|
|
2403
|
+
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.',
|
|
2404
|
+
example: 2028
|
|
1436
2405
|
},
|
|
1437
2406
|
brand: {
|
|
1438
2407
|
type: 'string',
|
|
1439
2408
|
nullable: true,
|
|
1440
|
-
description: 'Payment card brand
|
|
1441
|
-
example: 'visa'
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
2409
|
+
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.',
|
|
2410
|
+
example: 'visa'
|
|
2411
|
+
},
|
|
2412
|
+
iban: {
|
|
2413
|
+
type: 'string',
|
|
2414
|
+
nullable: true,
|
|
2415
|
+
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.',
|
|
2416
|
+
example: 'DE11243015658023127510'
|
|
2417
|
+
},
|
|
2418
|
+
bic: {
|
|
2419
|
+
type: 'string',
|
|
2420
|
+
nullable: true,
|
|
2421
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2422
|
+
example: 'SOGEDEFFXXX'
|
|
2423
|
+
},
|
|
2424
|
+
account_holder_name: {
|
|
2425
|
+
type: 'string',
|
|
2426
|
+
nullable: true,
|
|
2427
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
2428
|
+
example: 'Cloudfleet GmbH'
|
|
2429
|
+
},
|
|
2430
|
+
is_default: {
|
|
2431
|
+
type: 'boolean',
|
|
2432
|
+
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).',
|
|
2433
|
+
example: true
|
|
1453
2434
|
}
|
|
1454
2435
|
},
|
|
1455
2436
|
required: [
|
|
1456
2437
|
'id',
|
|
1457
|
-
'setup',
|
|
1458
2438
|
'type',
|
|
1459
2439
|
'last4',
|
|
1460
2440
|
'exp_month',
|
|
1461
2441
|
'exp_year',
|
|
1462
|
-
'brand'
|
|
2442
|
+
'brand',
|
|
2443
|
+
'iban',
|
|
2444
|
+
'bic',
|
|
2445
|
+
'account_holder_name',
|
|
2446
|
+
'is_default'
|
|
1463
2447
|
],
|
|
1464
2448
|
additionalProperties: false
|
|
1465
2449
|
};
|
|
@@ -1822,6 +2806,492 @@ export const RegistryTagSchema = {
|
|
|
1822
2806
|
],
|
|
1823
2807
|
additionalProperties: false
|
|
1824
2808
|
};
|
|
2809
|
+
export const TicketAttachmentSchema = {
|
|
2810
|
+
type: 'object',
|
|
2811
|
+
properties: {
|
|
2812
|
+
id: {
|
|
2813
|
+
type: 'string',
|
|
2814
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2815
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2816
|
+
},
|
|
2817
|
+
filename: {
|
|
2818
|
+
type: 'string',
|
|
2819
|
+
description: 'Original filename as uploaded.',
|
|
2820
|
+
example: 'debug.log'
|
|
2821
|
+
},
|
|
2822
|
+
content_type: {
|
|
2823
|
+
type: 'string',
|
|
2824
|
+
description: 'MIME content type of the attachment.',
|
|
2825
|
+
example: 'text/plain'
|
|
2826
|
+
},
|
|
2827
|
+
size: {
|
|
2828
|
+
type: 'integer',
|
|
2829
|
+
description: 'Size of the attachment in bytes.',
|
|
2830
|
+
example: 12345
|
|
2831
|
+
}
|
|
2832
|
+
},
|
|
2833
|
+
required: [
|
|
2834
|
+
'id',
|
|
2835
|
+
'filename',
|
|
2836
|
+
'content_type',
|
|
2837
|
+
'size'
|
|
2838
|
+
],
|
|
2839
|
+
additionalProperties: false
|
|
2840
|
+
};
|
|
2841
|
+
export const TicketCreateInputSchema = {
|
|
2842
|
+
type: 'object',
|
|
2843
|
+
properties: {
|
|
2844
|
+
category: {
|
|
2845
|
+
type: 'string',
|
|
2846
|
+
description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
|
|
2847
|
+
example: 'technical',
|
|
2848
|
+
enum: [
|
|
2849
|
+
'billing',
|
|
2850
|
+
'technical',
|
|
2851
|
+
'general'
|
|
2852
|
+
]
|
|
2853
|
+
},
|
|
2854
|
+
body: {
|
|
2855
|
+
type: 'string',
|
|
2856
|
+
maxLength: 50000,
|
|
2857
|
+
minLength: 1,
|
|
2858
|
+
pattern: '\\S',
|
|
2859
|
+
description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
|
|
2860
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2861
|
+
},
|
|
2862
|
+
properties: {
|
|
2863
|
+
type: 'object',
|
|
2864
|
+
additionalProperties: true,
|
|
2865
|
+
description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
|
|
2866
|
+
example: {
|
|
2867
|
+
subcategory: 'cluster-question',
|
|
2868
|
+
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
2869
|
+
}
|
|
2870
|
+
}
|
|
2871
|
+
},
|
|
2872
|
+
required: [
|
|
2873
|
+
'category',
|
|
2874
|
+
'body'
|
|
2875
|
+
],
|
|
2876
|
+
additionalProperties: false
|
|
2877
|
+
};
|
|
2878
|
+
export const TicketListResponseSchema = {
|
|
2879
|
+
type: 'object',
|
|
2880
|
+
properties: {
|
|
2881
|
+
items: {
|
|
2882
|
+
type: 'array',
|
|
2883
|
+
items: {
|
|
2884
|
+
type: 'object',
|
|
2885
|
+
properties: {
|
|
2886
|
+
id: {
|
|
2887
|
+
type: 'string',
|
|
2888
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
2889
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
2890
|
+
},
|
|
2891
|
+
status: {
|
|
2892
|
+
type: 'string',
|
|
2893
|
+
description: 'Current state of the ticket.',
|
|
2894
|
+
example: 'waiting_on_us',
|
|
2895
|
+
enum: [
|
|
2896
|
+
'waiting_on_us',
|
|
2897
|
+
'waiting_on_user',
|
|
2898
|
+
'closed'
|
|
2899
|
+
]
|
|
2900
|
+
},
|
|
2901
|
+
category: {
|
|
2902
|
+
type: 'string',
|
|
2903
|
+
description: 'Ticket category.',
|
|
2904
|
+
example: 'technical',
|
|
2905
|
+
enum: [
|
|
2906
|
+
'billing',
|
|
2907
|
+
'technical',
|
|
2908
|
+
'general'
|
|
2909
|
+
]
|
|
2910
|
+
},
|
|
2911
|
+
summary: {
|
|
2912
|
+
type: 'string',
|
|
2913
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
2914
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
2915
|
+
},
|
|
2916
|
+
closed_at: {
|
|
2917
|
+
type: 'string',
|
|
2918
|
+
format: 'date-time',
|
|
2919
|
+
nullable: true,
|
|
2920
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
2921
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
2922
|
+
},
|
|
2923
|
+
date_created: {
|
|
2924
|
+
type: 'string',
|
|
2925
|
+
format: 'date-time',
|
|
2926
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
2927
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2928
|
+
},
|
|
2929
|
+
date_updated: {
|
|
2930
|
+
type: 'string',
|
|
2931
|
+
format: 'date-time',
|
|
2932
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
2933
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
2934
|
+
},
|
|
2935
|
+
messages: {
|
|
2936
|
+
type: 'array',
|
|
2937
|
+
items: {
|
|
2938
|
+
type: 'object',
|
|
2939
|
+
properties: {
|
|
2940
|
+
id: {
|
|
2941
|
+
type: 'string',
|
|
2942
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
2943
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
2944
|
+
},
|
|
2945
|
+
type: {
|
|
2946
|
+
type: 'string',
|
|
2947
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
2948
|
+
example: 'customer_reply',
|
|
2949
|
+
enum: [
|
|
2950
|
+
'customer_reply',
|
|
2951
|
+
'agent_reply'
|
|
2952
|
+
]
|
|
2953
|
+
},
|
|
2954
|
+
body: {
|
|
2955
|
+
type: 'string',
|
|
2956
|
+
description: 'Message body in markdown.',
|
|
2957
|
+
example: 'Thanks — that resolved it on my side.'
|
|
2958
|
+
},
|
|
2959
|
+
author_first_name: {
|
|
2960
|
+
type: 'string',
|
|
2961
|
+
nullable: true,
|
|
2962
|
+
description: 'First name of the author. Null when not provided.',
|
|
2963
|
+
example: 'Jane'
|
|
2964
|
+
},
|
|
2965
|
+
author_last_name: {
|
|
2966
|
+
type: 'string',
|
|
2967
|
+
nullable: true,
|
|
2968
|
+
description: 'Last name of the author. Null when not provided.',
|
|
2969
|
+
example: 'Doe'
|
|
2970
|
+
},
|
|
2971
|
+
attachments: {
|
|
2972
|
+
type: 'array',
|
|
2973
|
+
items: {
|
|
2974
|
+
type: 'object',
|
|
2975
|
+
properties: {
|
|
2976
|
+
id: {
|
|
2977
|
+
type: 'string',
|
|
2978
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
2979
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
2980
|
+
},
|
|
2981
|
+
filename: {
|
|
2982
|
+
type: 'string',
|
|
2983
|
+
description: 'Original filename as uploaded.',
|
|
2984
|
+
example: 'debug.log'
|
|
2985
|
+
},
|
|
2986
|
+
content_type: {
|
|
2987
|
+
type: 'string',
|
|
2988
|
+
description: 'MIME content type of the attachment.',
|
|
2989
|
+
example: 'text/plain'
|
|
2990
|
+
},
|
|
2991
|
+
size: {
|
|
2992
|
+
type: 'integer',
|
|
2993
|
+
description: 'Size of the attachment in bytes.',
|
|
2994
|
+
example: 12345
|
|
2995
|
+
}
|
|
2996
|
+
},
|
|
2997
|
+
required: [
|
|
2998
|
+
'id',
|
|
2999
|
+
'filename',
|
|
3000
|
+
'content_type',
|
|
3001
|
+
'size'
|
|
3002
|
+
],
|
|
3003
|
+
additionalProperties: false
|
|
3004
|
+
},
|
|
3005
|
+
description: 'Attachments associated with this message.',
|
|
3006
|
+
example: []
|
|
3007
|
+
},
|
|
3008
|
+
date_created: {
|
|
3009
|
+
type: 'string',
|
|
3010
|
+
format: 'date-time',
|
|
3011
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3012
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3013
|
+
}
|
|
3014
|
+
},
|
|
3015
|
+
required: [
|
|
3016
|
+
'id',
|
|
3017
|
+
'type',
|
|
3018
|
+
'body',
|
|
3019
|
+
'date_created'
|
|
3020
|
+
],
|
|
3021
|
+
additionalProperties: false
|
|
3022
|
+
},
|
|
3023
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3024
|
+
}
|
|
3025
|
+
},
|
|
3026
|
+
required: [
|
|
3027
|
+
'id',
|
|
3028
|
+
'status',
|
|
3029
|
+
'category',
|
|
3030
|
+
'summary',
|
|
3031
|
+
'date_created',
|
|
3032
|
+
'date_updated'
|
|
3033
|
+
],
|
|
3034
|
+
additionalProperties: false
|
|
3035
|
+
},
|
|
3036
|
+
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
3037
|
+
}
|
|
3038
|
+
},
|
|
3039
|
+
required: [
|
|
3040
|
+
'items'
|
|
3041
|
+
],
|
|
3042
|
+
additionalProperties: false
|
|
3043
|
+
};
|
|
3044
|
+
export const TicketMessageInputSchema = {
|
|
3045
|
+
type: 'object',
|
|
3046
|
+
properties: {
|
|
3047
|
+
body: {
|
|
3048
|
+
type: 'string',
|
|
3049
|
+
maxLength: 50000,
|
|
3050
|
+
minLength: 1,
|
|
3051
|
+
pattern: '\\S',
|
|
3052
|
+
description: 'Reply body in markdown.',
|
|
3053
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3054
|
+
}
|
|
3055
|
+
},
|
|
3056
|
+
required: [
|
|
3057
|
+
'body'
|
|
3058
|
+
],
|
|
3059
|
+
additionalProperties: false
|
|
3060
|
+
};
|
|
3061
|
+
export const TicketMessageSchema = {
|
|
3062
|
+
type: 'object',
|
|
3063
|
+
properties: {
|
|
3064
|
+
id: {
|
|
3065
|
+
type: 'string',
|
|
3066
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3067
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3068
|
+
},
|
|
3069
|
+
type: {
|
|
3070
|
+
type: 'string',
|
|
3071
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3072
|
+
example: 'customer_reply',
|
|
3073
|
+
enum: [
|
|
3074
|
+
'customer_reply',
|
|
3075
|
+
'agent_reply'
|
|
3076
|
+
]
|
|
3077
|
+
},
|
|
3078
|
+
body: {
|
|
3079
|
+
type: 'string',
|
|
3080
|
+
description: 'Message body in markdown.',
|
|
3081
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3082
|
+
},
|
|
3083
|
+
author_first_name: {
|
|
3084
|
+
type: 'string',
|
|
3085
|
+
description: 'First name of the author. Null when not provided.',
|
|
3086
|
+
example: 'Jane'
|
|
3087
|
+
},
|
|
3088
|
+
author_last_name: {
|
|
3089
|
+
type: 'string',
|
|
3090
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3091
|
+
example: 'Doe'
|
|
3092
|
+
},
|
|
3093
|
+
attachments: {
|
|
3094
|
+
type: 'array',
|
|
3095
|
+
items: {
|
|
3096
|
+
type: 'object',
|
|
3097
|
+
properties: {
|
|
3098
|
+
id: {
|
|
3099
|
+
type: 'string',
|
|
3100
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3101
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3102
|
+
},
|
|
3103
|
+
filename: {
|
|
3104
|
+
type: 'string',
|
|
3105
|
+
description: 'Original filename as uploaded.',
|
|
3106
|
+
example: 'debug.log'
|
|
3107
|
+
},
|
|
3108
|
+
content_type: {
|
|
3109
|
+
type: 'string',
|
|
3110
|
+
description: 'MIME content type of the attachment.',
|
|
3111
|
+
example: 'text/plain'
|
|
3112
|
+
},
|
|
3113
|
+
size: {
|
|
3114
|
+
type: 'integer',
|
|
3115
|
+
description: 'Size of the attachment in bytes.',
|
|
3116
|
+
example: 12345
|
|
3117
|
+
}
|
|
3118
|
+
},
|
|
3119
|
+
required: [
|
|
3120
|
+
'id',
|
|
3121
|
+
'filename',
|
|
3122
|
+
'content_type',
|
|
3123
|
+
'size'
|
|
3124
|
+
],
|
|
3125
|
+
additionalProperties: false
|
|
3126
|
+
},
|
|
3127
|
+
description: 'Attachments associated with this message.',
|
|
3128
|
+
example: []
|
|
3129
|
+
},
|
|
3130
|
+
date_created: {
|
|
3131
|
+
type: 'string',
|
|
3132
|
+
format: 'date-time',
|
|
3133
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3134
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3135
|
+
}
|
|
3136
|
+
},
|
|
3137
|
+
required: [
|
|
3138
|
+
'id',
|
|
3139
|
+
'type',
|
|
3140
|
+
'body',
|
|
3141
|
+
'date_created'
|
|
3142
|
+
],
|
|
3143
|
+
additionalProperties: false
|
|
3144
|
+
};
|
|
3145
|
+
export const TicketSchema = {
|
|
3146
|
+
type: 'object',
|
|
3147
|
+
properties: {
|
|
3148
|
+
id: {
|
|
3149
|
+
type: 'string',
|
|
3150
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3151
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3152
|
+
},
|
|
3153
|
+
status: {
|
|
3154
|
+
type: 'string',
|
|
3155
|
+
description: 'Current state of the ticket.',
|
|
3156
|
+
example: 'waiting_on_us',
|
|
3157
|
+
enum: [
|
|
3158
|
+
'waiting_on_us',
|
|
3159
|
+
'waiting_on_user',
|
|
3160
|
+
'closed'
|
|
3161
|
+
]
|
|
3162
|
+
},
|
|
3163
|
+
category: {
|
|
3164
|
+
type: 'string',
|
|
3165
|
+
description: 'Ticket category.',
|
|
3166
|
+
example: 'technical',
|
|
3167
|
+
enum: [
|
|
3168
|
+
'billing',
|
|
3169
|
+
'technical',
|
|
3170
|
+
'general'
|
|
3171
|
+
]
|
|
3172
|
+
},
|
|
3173
|
+
summary: {
|
|
3174
|
+
type: 'string',
|
|
3175
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3176
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3177
|
+
},
|
|
3178
|
+
closed_at: {
|
|
3179
|
+
type: 'string',
|
|
3180
|
+
format: 'date-time',
|
|
3181
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3182
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
3183
|
+
},
|
|
3184
|
+
date_created: {
|
|
3185
|
+
type: 'string',
|
|
3186
|
+
format: 'date-time',
|
|
3187
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3188
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3189
|
+
},
|
|
3190
|
+
date_updated: {
|
|
3191
|
+
type: 'string',
|
|
3192
|
+
format: 'date-time',
|
|
3193
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3194
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3195
|
+
},
|
|
3196
|
+
messages: {
|
|
3197
|
+
type: 'array',
|
|
3198
|
+
items: {
|
|
3199
|
+
type: 'object',
|
|
3200
|
+
properties: {
|
|
3201
|
+
id: {
|
|
3202
|
+
type: 'string',
|
|
3203
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3204
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3205
|
+
},
|
|
3206
|
+
type: {
|
|
3207
|
+
type: 'string',
|
|
3208
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3209
|
+
example: 'customer_reply',
|
|
3210
|
+
enum: [
|
|
3211
|
+
'customer_reply',
|
|
3212
|
+
'agent_reply'
|
|
3213
|
+
]
|
|
3214
|
+
},
|
|
3215
|
+
body: {
|
|
3216
|
+
type: 'string',
|
|
3217
|
+
description: 'Message body in markdown.',
|
|
3218
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3219
|
+
},
|
|
3220
|
+
author_first_name: {
|
|
3221
|
+
type: 'string',
|
|
3222
|
+
description: 'First name of the author. Null when not provided.',
|
|
3223
|
+
example: 'Jane'
|
|
3224
|
+
},
|
|
3225
|
+
author_last_name: {
|
|
3226
|
+
type: 'string',
|
|
3227
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3228
|
+
example: 'Doe'
|
|
3229
|
+
},
|
|
3230
|
+
attachments: {
|
|
3231
|
+
type: 'array',
|
|
3232
|
+
items: {
|
|
3233
|
+
type: 'object',
|
|
3234
|
+
properties: {
|
|
3235
|
+
id: {
|
|
3236
|
+
type: 'string',
|
|
3237
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3238
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3239
|
+
},
|
|
3240
|
+
filename: {
|
|
3241
|
+
type: 'string',
|
|
3242
|
+
description: 'Original filename as uploaded.',
|
|
3243
|
+
example: 'debug.log'
|
|
3244
|
+
},
|
|
3245
|
+
content_type: {
|
|
3246
|
+
type: 'string',
|
|
3247
|
+
description: 'MIME content type of the attachment.',
|
|
3248
|
+
example: 'text/plain'
|
|
3249
|
+
},
|
|
3250
|
+
size: {
|
|
3251
|
+
type: 'integer',
|
|
3252
|
+
description: 'Size of the attachment in bytes.',
|
|
3253
|
+
example: 12345
|
|
3254
|
+
}
|
|
3255
|
+
},
|
|
3256
|
+
required: [
|
|
3257
|
+
'id',
|
|
3258
|
+
'filename',
|
|
3259
|
+
'content_type',
|
|
3260
|
+
'size'
|
|
3261
|
+
],
|
|
3262
|
+
additionalProperties: false
|
|
3263
|
+
},
|
|
3264
|
+
description: 'Attachments associated with this message.',
|
|
3265
|
+
example: []
|
|
3266
|
+
},
|
|
3267
|
+
date_created: {
|
|
3268
|
+
type: 'string',
|
|
3269
|
+
format: 'date-time',
|
|
3270
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3271
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3272
|
+
}
|
|
3273
|
+
},
|
|
3274
|
+
required: [
|
|
3275
|
+
'id',
|
|
3276
|
+
'type',
|
|
3277
|
+
'body',
|
|
3278
|
+
'date_created'
|
|
3279
|
+
],
|
|
3280
|
+
additionalProperties: false
|
|
3281
|
+
},
|
|
3282
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3283
|
+
}
|
|
3284
|
+
},
|
|
3285
|
+
required: [
|
|
3286
|
+
'id',
|
|
3287
|
+
'status',
|
|
3288
|
+
'category',
|
|
3289
|
+
'summary',
|
|
3290
|
+
'date_created',
|
|
3291
|
+
'date_updated'
|
|
3292
|
+
],
|
|
3293
|
+
additionalProperties: false
|
|
3294
|
+
};
|
|
1825
3295
|
export const TokenCreateInputSchema = {
|
|
1826
3296
|
type: 'object',
|
|
1827
3297
|
properties: {
|
|
@@ -2110,24 +3580,6 @@ export const UserCreateInputSchema = {
|
|
|
2110
3580
|
type: 'string',
|
|
2111
3581
|
minLength: 8,
|
|
2112
3582
|
description: 'User password. Must be at least 8 characters long.'
|
|
2113
|
-
},
|
|
2114
|
-
status: {
|
|
2115
|
-
type: 'string',
|
|
2116
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
2117
|
-
example: 'active',
|
|
2118
|
-
enum: [
|
|
2119
|
-
'active',
|
|
2120
|
-
'inactive'
|
|
2121
|
-
]
|
|
2122
|
-
},
|
|
2123
|
-
role: {
|
|
2124
|
-
type: 'string',
|
|
2125
|
-
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
2126
|
-
example: 'User',
|
|
2127
|
-
enum: [
|
|
2128
|
-
'Administrator',
|
|
2129
|
-
'User'
|
|
2130
|
-
]
|
|
2131
3583
|
}
|
|
2132
3584
|
},
|
|
2133
3585
|
required: [
|