@cloudfleet/sdk 0.0.1-91321da → 0.0.1-958f27d

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.
@@ -2,6 +2,15 @@
2
2
  export const BillingContactSchema = {
3
3
  type: 'object',
4
4
  properties: {
5
+ type: {
6
+ type: 'string',
7
+ description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
8
+ example: 'business',
9
+ enum: [
10
+ 'business',
11
+ 'personal'
12
+ ]
13
+ },
5
14
  company: {
6
15
  type: 'string',
7
16
  maxLength: 120,
@@ -207,6 +216,7 @@ export const BillingContactSchema = {
207
216
  }
208
217
  },
209
218
  required: [
219
+ 'type',
210
220
  'email',
211
221
  'individual_name'
212
222
  ],
@@ -358,24 +368,8 @@ export const ChartSchema = {
358
368
  },
359
369
  status: {
360
370
  type: 'string',
361
- description: 'Status of the chart deployment.',
362
- example: 'active',
363
- enum: [
364
- 'InstallSucceeded',
365
- 'InstallFailed',
366
- 'UpgradeSucceeded',
367
- 'UpgradeFailed',
368
- 'TestSucceeded',
369
- 'TestFailed',
370
- 'RollbackSucceeded',
371
- 'RollbackFailed',
372
- 'UninstallSucceeded',
373
- 'UninstallFailed',
374
- 'ArtifactFailed',
375
- 'DependencyNotReady',
376
- 'Progressing',
377
- 'SourceNotReady'
378
- ]
371
+ description: 'Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).',
372
+ example: 'InstallSucceeded'
379
373
  },
380
374
  version_current: {
381
375
  type: 'string',
@@ -454,33 +448,21 @@ export const ClusterCreateInputSchema = {
454
448
  },
455
449
  region: {
456
450
  type: 'string',
457
- description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
458
- default: 'staging-1a',
459
- example: 'northamerica-central-1a',
460
- enum: [
461
- 'staging-1a',
462
- 'northamerica-central-1',
463
- 'europe-central-1a',
464
- 'northamerica-central-1a'
465
- ]
451
+ description: 'Cloudfleet control plane region. This field can not be updated after creation.',
452
+ example: 'europe-central-1a'
466
453
  },
467
454
  version_channel: {
468
455
  type: 'string',
469
456
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
470
457
  description: 'Version of the kubernetes cluster.',
471
458
  default: '1.x.x-cfke.x',
472
- example: '1.x.x-cfke.x',
473
- enum: [
474
- '1.x.x-cfke.x',
475
- '1.31.x-cfke.x',
476
- '1.32.x-cfke.x',
477
- '1.33.x-cfke.x'
478
- ]
459
+ example: '1.x.x-cfke.x'
479
460
  }
480
461
  },
481
462
  required: [
482
463
  'name',
483
- 'tier'
464
+ 'tier',
465
+ 'region'
484
466
  ],
485
467
  additionalProperties: false
486
468
  };
@@ -503,6 +485,11 @@ export const ClusterJoinInformationSchema = {
503
485
  description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
504
486
  example: '10.96.0.10'
505
487
  },
488
+ pod_cidr: {
489
+ type: 'string',
490
+ description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
491
+ example: '10.244.0.0/16'
492
+ },
506
493
  auth_key: {
507
494
  type: 'string',
508
495
  description: 'Authentication key for the cluster.',
@@ -578,6 +565,7 @@ export const ClusterJoinInformationSchema = {
578
565
  'certificate_authority',
579
566
  'endpoint',
580
567
  'cluster_dns',
568
+ 'pod_cidr',
581
569
  'auth_key',
582
570
  'bootstrap_token',
583
571
  'versions',
@@ -607,15 +595,8 @@ export const ClusterSchema = {
607
595
  },
608
596
  region: {
609
597
  type: 'string',
610
- description: 'Cloudfleet control plane region. One of "staging-1a", "northamerica-central-1", "europe-central-1a", "northamerica-central-1a". This field can not be updated after creation.',
611
- default: 'staging-1a',
612
- example: 'northamerica-central-1a',
613
- enum: [
614
- 'staging-1a',
615
- 'northamerica-central-1',
616
- 'europe-central-1a',
617
- 'northamerica-central-1a'
618
- ]
598
+ description: 'Cloudfleet control plane region. This field can not be updated after creation.',
599
+ example: 'europe-central-1a'
619
600
  },
620
601
  id: {
621
602
  type: 'string',
@@ -704,6 +685,7 @@ export const ClusterSchema = {
704
685
  required: [
705
686
  'name',
706
687
  'tier',
688
+ 'region',
707
689
  'id',
708
690
  'status'
709
691
  ],
@@ -748,15 +730,12 @@ export const FleetCreateInputSchema = {
748
730
  type: 'object',
749
731
  properties: {
750
732
  cpu: {
751
- type: 'number',
752
- format: 'float',
733
+ type: 'integer',
753
734
  minimum: 0,
754
- description: 'CPU limit in cores.'
735
+ maximum: 100000,
736
+ description: 'CPU limit in cores. Maximum 100,000.'
755
737
  }
756
738
  },
757
- required: [
758
- 'cpu'
759
- ],
760
739
  additionalProperties: false,
761
740
  description: 'Limits define a set of bounds for provisioning capacity.'
762
741
  },
@@ -764,16 +743,17 @@ export const FleetCreateInputSchema = {
764
743
  type: 'object',
765
744
  properties: {
766
745
  enabled: {
767
- type: 'boolean',
768
- default: true
746
+ type: 'boolean'
769
747
  },
770
748
  project: {
771
749
  type: 'string',
772
- description: 'Project GCP Project id to deploy instances into'
750
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
751
+ 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.',
752
+ example: 'my-cloudfleet-project'
773
753
  }
774
754
  },
775
755
  required: [
776
- 'project'
756
+ 'enabled'
777
757
  ],
778
758
  additionalProperties: false
779
759
  },
@@ -781,16 +761,18 @@ export const FleetCreateInputSchema = {
781
761
  type: 'object',
782
762
  properties: {
783
763
  enabled: {
784
- type: 'boolean',
785
- default: true
764
+ type: 'boolean'
786
765
  },
787
766
  apiKey: {
788
767
  type: 'string',
789
- description: 'Hetzner Cloud API key with read / write access'
768
+ maxLength: 64,
769
+ minLength: 64,
770
+ pattern: '^[A-Za-z0-9]+$',
771
+ description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
790
772
  }
791
773
  },
792
774
  required: [
793
- 'apiKey'
775
+ 'enabled'
794
776
  ],
795
777
  additionalProperties: false
796
778
  },
@@ -798,19 +780,308 @@ export const FleetCreateInputSchema = {
798
780
  type: 'object',
799
781
  properties: {
800
782
  enabled: {
801
- type: 'boolean',
802
- default: true
783
+ type: 'boolean'
803
784
  },
804
785
  controllerRoleArn: {
805
786
  type: 'string',
806
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
787
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
788
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
789
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
807
790
  }
808
791
  },
809
792
  required: [
810
- 'controllerRoleArn'
793
+ 'enabled'
811
794
  ],
812
795
  additionalProperties: false
813
796
  },
797
+ constraints: {
798
+ type: 'object',
799
+ properties: {
800
+ 'karpenter.sh/capacity-type': {
801
+ type: 'array',
802
+ items: {
803
+ type: 'string',
804
+ enum: [
805
+ 'on-demand',
806
+ 'spot'
807
+ ]
808
+ },
809
+ minItems: 1,
810
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
811
+ default: [
812
+ 'on-demand',
813
+ 'spot'
814
+ ]
815
+ },
816
+ 'kubernetes.io/arch': {
817
+ type: 'array',
818
+ items: {
819
+ type: 'string',
820
+ enum: [
821
+ 'amd64',
822
+ 'arm64'
823
+ ]
824
+ },
825
+ minItems: 1,
826
+ description: 'Allowed values for `kubernetes.io/arch`.',
827
+ default: [
828
+ 'amd64'
829
+ ]
830
+ },
831
+ 'cfke.io/instance-family': {
832
+ type: 'array',
833
+ items: {
834
+ type: 'string',
835
+ enum: [
836
+ 'a1',
837
+ 'a2',
838
+ 'a3',
839
+ 'a4',
840
+ 'c1',
841
+ 'c2',
842
+ 'c2d',
843
+ 'c3',
844
+ 'c3d',
845
+ 'c4',
846
+ 'c4a',
847
+ 'c4d',
848
+ 'c5',
849
+ 'c5a',
850
+ 'c5ad',
851
+ 'c5d',
852
+ 'c5n',
853
+ 'c6a',
854
+ 'c6g',
855
+ 'c6gd',
856
+ 'c6gn',
857
+ 'c6i',
858
+ 'c6id',
859
+ 'c6in',
860
+ 'c7a',
861
+ 'c7g',
862
+ 'c7gd',
863
+ 'c7gn',
864
+ 'c7i',
865
+ 'c7i-flex',
866
+ 'c8g',
867
+ 'c8gd',
868
+ 'cax',
869
+ 'ccx',
870
+ 'cpx',
871
+ 'cx',
872
+ 'd2',
873
+ 'd3',
874
+ 'd3en',
875
+ 'dl1',
876
+ 'dl2q',
877
+ 'e2',
878
+ 'f1',
879
+ 'f2',
880
+ 'g1',
881
+ 'g2',
882
+ 'g4ad',
883
+ 'g4dn',
884
+ 'g5',
885
+ 'g5g',
886
+ 'g6',
887
+ 'g6e',
888
+ 'gr6',
889
+ 'h1',
890
+ 'h3',
891
+ 'hpc6a',
892
+ 'hpc6id',
893
+ 'hpc7a',
894
+ 'hpc7g',
895
+ 'i2',
896
+ 'i3',
897
+ 'i3en',
898
+ 'i4g',
899
+ 'i4i',
900
+ 'i7i',
901
+ 'i7ie',
902
+ 'i8g',
903
+ 'im4gn',
904
+ 'inf1',
905
+ 'inf2',
906
+ 'is4gen',
907
+ 'm1',
908
+ 'm2',
909
+ 'm3',
910
+ 'm4',
911
+ 'm5',
912
+ 'm5a',
913
+ 'm5ad',
914
+ 'm5d',
915
+ 'm5dn',
916
+ 'm5n',
917
+ 'm5zn',
918
+ 'm6a',
919
+ 'm6g',
920
+ 'm6gd',
921
+ 'm6i',
922
+ 'm6id',
923
+ 'm6idn',
924
+ 'm6in',
925
+ 'm7a',
926
+ 'm7g',
927
+ 'm7gd',
928
+ 'm7i',
929
+ 'm7i-flex',
930
+ 'm8g',
931
+ 'm8gd',
932
+ 'n1',
933
+ 'n2',
934
+ 'n2d',
935
+ 'n4',
936
+ 'p3',
937
+ 'p3dn',
938
+ 'p4d',
939
+ 'p4de',
940
+ 'p5',
941
+ 'p5e',
942
+ 'p5en',
943
+ 'p6-b200',
944
+ 'r3',
945
+ 'r4',
946
+ 'r5',
947
+ 'r5a',
948
+ 'r5ad',
949
+ 'r5b',
950
+ 'r5d',
951
+ 'r5dn',
952
+ 'r5n',
953
+ 'r6a',
954
+ 'r6g',
955
+ 'r6gd',
956
+ 'r6i',
957
+ 'r6id',
958
+ 'r6idn',
959
+ 'r6in',
960
+ 'r7a',
961
+ 'r7g',
962
+ 'r7gd',
963
+ 'r7i',
964
+ 'r7iz',
965
+ 'r8g',
966
+ 'r8gd',
967
+ 't2',
968
+ 't2a',
969
+ 't2d',
970
+ 't3',
971
+ 't3a',
972
+ 't4g',
973
+ 'trn1',
974
+ 'trn1n',
975
+ 'u-3tb1',
976
+ 'u-6tb1',
977
+ 'u7i-12tb',
978
+ 'u7i-6tb',
979
+ 'u7i-8tb',
980
+ 'u7in-16tb',
981
+ 'u7in-24tb',
982
+ 'u7in-32tb',
983
+ 'vt1',
984
+ 'x1',
985
+ 'x1e',
986
+ 'x2gd',
987
+ 'x2idn',
988
+ 'x2iedn',
989
+ 'x2iezn',
990
+ 'x4',
991
+ 'x8g',
992
+ 'z1d',
993
+ 'z3'
994
+ ]
995
+ },
996
+ description: 'Allowed values for `cfke.io/instance-family`.'
997
+ },
998
+ 'topology.kubernetes.io/region': {
999
+ type: 'array',
1000
+ items: {
1001
+ type: 'string',
1002
+ enum: [
1003
+ 'africa-south1',
1004
+ 'ap-northeast-1',
1005
+ 'ap-northeast-2',
1006
+ 'ap-northeast-3',
1007
+ 'ap-south-1',
1008
+ 'ap-southeast-1',
1009
+ 'ap-southeast-2',
1010
+ 'ash',
1011
+ 'asia-east1',
1012
+ 'asia-east2',
1013
+ 'asia-northeast1',
1014
+ 'asia-northeast2',
1015
+ 'asia-northeast3',
1016
+ 'asia-south1',
1017
+ 'asia-south2',
1018
+ 'asia-southeast1',
1019
+ 'asia-southeast2',
1020
+ 'australia-southeast1',
1021
+ 'australia-southeast2',
1022
+ 'ca-central-1',
1023
+ 'eu-central-1',
1024
+ 'eu-central-2',
1025
+ 'eu-north-1',
1026
+ 'eu-west-1',
1027
+ 'eu-west-2',
1028
+ 'eu-west-3',
1029
+ 'europe-central2',
1030
+ 'europe-north1',
1031
+ 'europe-southwest1',
1032
+ 'europe-west1',
1033
+ 'europe-west10',
1034
+ 'europe-west12',
1035
+ 'europe-west2',
1036
+ 'europe-west3',
1037
+ 'europe-west4',
1038
+ 'europe-west6',
1039
+ 'europe-west8',
1040
+ 'europe-west9',
1041
+ 'fsn1',
1042
+ 'hel1',
1043
+ 'hil',
1044
+ 'me-central1',
1045
+ 'me-central2',
1046
+ 'me-west1',
1047
+ 'nbg1',
1048
+ 'northamerica-northeast1',
1049
+ 'northamerica-northeast2',
1050
+ 'sa-east-1',
1051
+ 'sin',
1052
+ 'southamerica-east1',
1053
+ 'southamerica-west1',
1054
+ 'us-central1',
1055
+ 'us-east-1',
1056
+ 'us-east-2',
1057
+ 'us-east1',
1058
+ 'us-east4',
1059
+ 'us-east5',
1060
+ 'us-south1',
1061
+ 'us-west-1',
1062
+ 'us-west-2',
1063
+ 'us-west1',
1064
+ 'us-west2',
1065
+ 'us-west3',
1066
+ 'us-west4'
1067
+ ]
1068
+ },
1069
+ description: 'Allowed values for `topology.kubernetes.io/region`.'
1070
+ }
1071
+ },
1072
+ additionalProperties: false,
1073
+ 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.'
1074
+ },
1075
+ scalingProfile: {
1076
+ type: 'string',
1077
+ description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1078
+ default: 'conservative',
1079
+ example: 'conservative',
1080
+ enum: [
1081
+ 'aggressive',
1082
+ 'conservative'
1083
+ ]
1084
+ },
814
1085
  id: {
815
1086
  type: 'string',
816
1087
  maxLength: 63,
@@ -832,15 +1103,12 @@ export const FleetSchema = {
832
1103
  type: 'object',
833
1104
  properties: {
834
1105
  cpu: {
835
- type: 'number',
836
- format: 'float',
1106
+ type: 'integer',
837
1107
  minimum: 0,
838
- description: 'CPU limit in cores.'
1108
+ maximum: 100000,
1109
+ description: 'CPU limit in cores. Maximum 100,000.'
839
1110
  }
840
1111
  },
841
- required: [
842
- 'cpu'
843
- ],
844
1112
  additionalProperties: false,
845
1113
  description: 'Limits define a set of bounds for provisioning capacity.'
846
1114
  },
@@ -848,16 +1116,17 @@ export const FleetSchema = {
848
1116
  type: 'object',
849
1117
  properties: {
850
1118
  enabled: {
851
- type: 'boolean',
852
- default: true
1119
+ type: 'boolean'
853
1120
  },
854
1121
  project: {
855
1122
  type: 'string',
856
- description: 'Project GCP Project id to deploy instances into'
1123
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
1124
+ 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.',
1125
+ example: 'my-cloudfleet-project'
857
1126
  }
858
1127
  },
859
1128
  required: [
860
- 'project'
1129
+ 'enabled'
861
1130
  ],
862
1131
  additionalProperties: false
863
1132
  },
@@ -865,16 +1134,16 @@ export const FleetSchema = {
865
1134
  type: 'object',
866
1135
  properties: {
867
1136
  enabled: {
868
- type: 'boolean',
869
- default: true
1137
+ type: 'boolean'
870
1138
  },
871
1139
  apiKey: {
872
1140
  type: 'string',
873
- description: 'Hetzner Cloud API key with read / write access'
1141
+ pattern: '^\\*{64}$',
1142
+ 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.'
874
1143
  }
875
1144
  },
876
1145
  required: [
877
- 'apiKey'
1146
+ 'enabled'
878
1147
  ],
879
1148
  additionalProperties: false
880
1149
  },
@@ -882,19 +1151,308 @@ export const FleetSchema = {
882
1151
  type: 'object',
883
1152
  properties: {
884
1153
  enabled: {
885
- type: 'boolean',
886
- default: true
1154
+ type: 'boolean'
887
1155
  },
888
1156
  controllerRoleArn: {
889
1157
  type: 'string',
890
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
1158
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
1159
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
1160
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
891
1161
  }
892
1162
  },
893
1163
  required: [
894
- 'controllerRoleArn'
1164
+ 'enabled'
895
1165
  ],
896
1166
  additionalProperties: false
897
1167
  },
1168
+ constraints: {
1169
+ type: 'object',
1170
+ properties: {
1171
+ 'karpenter.sh/capacity-type': {
1172
+ type: 'array',
1173
+ items: {
1174
+ type: 'string',
1175
+ enum: [
1176
+ 'on-demand',
1177
+ 'spot'
1178
+ ]
1179
+ },
1180
+ minItems: 1,
1181
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
1182
+ default: [
1183
+ 'on-demand',
1184
+ 'spot'
1185
+ ]
1186
+ },
1187
+ 'kubernetes.io/arch': {
1188
+ type: 'array',
1189
+ items: {
1190
+ type: 'string',
1191
+ enum: [
1192
+ 'amd64',
1193
+ 'arm64'
1194
+ ]
1195
+ },
1196
+ minItems: 1,
1197
+ description: 'Allowed values for `kubernetes.io/arch`.',
1198
+ default: [
1199
+ 'amd64'
1200
+ ]
1201
+ },
1202
+ 'cfke.io/instance-family': {
1203
+ type: 'array',
1204
+ items: {
1205
+ type: 'string',
1206
+ enum: [
1207
+ 'a1',
1208
+ 'a2',
1209
+ 'a3',
1210
+ 'a4',
1211
+ 'c1',
1212
+ 'c2',
1213
+ 'c2d',
1214
+ 'c3',
1215
+ 'c3d',
1216
+ 'c4',
1217
+ 'c4a',
1218
+ 'c4d',
1219
+ 'c5',
1220
+ 'c5a',
1221
+ 'c5ad',
1222
+ 'c5d',
1223
+ 'c5n',
1224
+ 'c6a',
1225
+ 'c6g',
1226
+ 'c6gd',
1227
+ 'c6gn',
1228
+ 'c6i',
1229
+ 'c6id',
1230
+ 'c6in',
1231
+ 'c7a',
1232
+ 'c7g',
1233
+ 'c7gd',
1234
+ 'c7gn',
1235
+ 'c7i',
1236
+ 'c7i-flex',
1237
+ 'c8g',
1238
+ 'c8gd',
1239
+ 'cax',
1240
+ 'ccx',
1241
+ 'cpx',
1242
+ 'cx',
1243
+ 'd2',
1244
+ 'd3',
1245
+ 'd3en',
1246
+ 'dl1',
1247
+ 'dl2q',
1248
+ 'e2',
1249
+ 'f1',
1250
+ 'f2',
1251
+ 'g1',
1252
+ 'g2',
1253
+ 'g4ad',
1254
+ 'g4dn',
1255
+ 'g5',
1256
+ 'g5g',
1257
+ 'g6',
1258
+ 'g6e',
1259
+ 'gr6',
1260
+ 'h1',
1261
+ 'h3',
1262
+ 'hpc6a',
1263
+ 'hpc6id',
1264
+ 'hpc7a',
1265
+ 'hpc7g',
1266
+ 'i2',
1267
+ 'i3',
1268
+ 'i3en',
1269
+ 'i4g',
1270
+ 'i4i',
1271
+ 'i7i',
1272
+ 'i7ie',
1273
+ 'i8g',
1274
+ 'im4gn',
1275
+ 'inf1',
1276
+ 'inf2',
1277
+ 'is4gen',
1278
+ 'm1',
1279
+ 'm2',
1280
+ 'm3',
1281
+ 'm4',
1282
+ 'm5',
1283
+ 'm5a',
1284
+ 'm5ad',
1285
+ 'm5d',
1286
+ 'm5dn',
1287
+ 'm5n',
1288
+ 'm5zn',
1289
+ 'm6a',
1290
+ 'm6g',
1291
+ 'm6gd',
1292
+ 'm6i',
1293
+ 'm6id',
1294
+ 'm6idn',
1295
+ 'm6in',
1296
+ 'm7a',
1297
+ 'm7g',
1298
+ 'm7gd',
1299
+ 'm7i',
1300
+ 'm7i-flex',
1301
+ 'm8g',
1302
+ 'm8gd',
1303
+ 'n1',
1304
+ 'n2',
1305
+ 'n2d',
1306
+ 'n4',
1307
+ 'p3',
1308
+ 'p3dn',
1309
+ 'p4d',
1310
+ 'p4de',
1311
+ 'p5',
1312
+ 'p5e',
1313
+ 'p5en',
1314
+ 'p6-b200',
1315
+ 'r3',
1316
+ 'r4',
1317
+ 'r5',
1318
+ 'r5a',
1319
+ 'r5ad',
1320
+ 'r5b',
1321
+ 'r5d',
1322
+ 'r5dn',
1323
+ 'r5n',
1324
+ 'r6a',
1325
+ 'r6g',
1326
+ 'r6gd',
1327
+ 'r6i',
1328
+ 'r6id',
1329
+ 'r6idn',
1330
+ 'r6in',
1331
+ 'r7a',
1332
+ 'r7g',
1333
+ 'r7gd',
1334
+ 'r7i',
1335
+ 'r7iz',
1336
+ 'r8g',
1337
+ 'r8gd',
1338
+ 't2',
1339
+ 't2a',
1340
+ 't2d',
1341
+ 't3',
1342
+ 't3a',
1343
+ 't4g',
1344
+ 'trn1',
1345
+ 'trn1n',
1346
+ 'u-3tb1',
1347
+ 'u-6tb1',
1348
+ 'u7i-12tb',
1349
+ 'u7i-6tb',
1350
+ 'u7i-8tb',
1351
+ 'u7in-16tb',
1352
+ 'u7in-24tb',
1353
+ 'u7in-32tb',
1354
+ 'vt1',
1355
+ 'x1',
1356
+ 'x1e',
1357
+ 'x2gd',
1358
+ 'x2idn',
1359
+ 'x2iedn',
1360
+ 'x2iezn',
1361
+ 'x4',
1362
+ 'x8g',
1363
+ 'z1d',
1364
+ 'z3'
1365
+ ]
1366
+ },
1367
+ description: 'Allowed values for `cfke.io/instance-family`.'
1368
+ },
1369
+ 'topology.kubernetes.io/region': {
1370
+ type: 'array',
1371
+ items: {
1372
+ type: 'string',
1373
+ enum: [
1374
+ 'africa-south1',
1375
+ 'ap-northeast-1',
1376
+ 'ap-northeast-2',
1377
+ 'ap-northeast-3',
1378
+ 'ap-south-1',
1379
+ 'ap-southeast-1',
1380
+ 'ap-southeast-2',
1381
+ 'ash',
1382
+ 'asia-east1',
1383
+ 'asia-east2',
1384
+ 'asia-northeast1',
1385
+ 'asia-northeast2',
1386
+ 'asia-northeast3',
1387
+ 'asia-south1',
1388
+ 'asia-south2',
1389
+ 'asia-southeast1',
1390
+ 'asia-southeast2',
1391
+ 'australia-southeast1',
1392
+ 'australia-southeast2',
1393
+ 'ca-central-1',
1394
+ 'eu-central-1',
1395
+ 'eu-central-2',
1396
+ 'eu-north-1',
1397
+ 'eu-west-1',
1398
+ 'eu-west-2',
1399
+ 'eu-west-3',
1400
+ 'europe-central2',
1401
+ 'europe-north1',
1402
+ 'europe-southwest1',
1403
+ 'europe-west1',
1404
+ 'europe-west10',
1405
+ 'europe-west12',
1406
+ 'europe-west2',
1407
+ 'europe-west3',
1408
+ 'europe-west4',
1409
+ 'europe-west6',
1410
+ 'europe-west8',
1411
+ 'europe-west9',
1412
+ 'fsn1',
1413
+ 'hel1',
1414
+ 'hil',
1415
+ 'me-central1',
1416
+ 'me-central2',
1417
+ 'me-west1',
1418
+ 'nbg1',
1419
+ 'northamerica-northeast1',
1420
+ 'northamerica-northeast2',
1421
+ 'sa-east-1',
1422
+ 'sin',
1423
+ 'southamerica-east1',
1424
+ 'southamerica-west1',
1425
+ 'us-central1',
1426
+ 'us-east-1',
1427
+ 'us-east-2',
1428
+ 'us-east1',
1429
+ 'us-east4',
1430
+ 'us-east5',
1431
+ 'us-south1',
1432
+ 'us-west-1',
1433
+ 'us-west-2',
1434
+ 'us-west1',
1435
+ 'us-west2',
1436
+ 'us-west3',
1437
+ 'us-west4'
1438
+ ]
1439
+ },
1440
+ description: 'Allowed values for `topology.kubernetes.io/region`.'
1441
+ }
1442
+ },
1443
+ additionalProperties: false,
1444
+ 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.'
1445
+ },
1446
+ scalingProfile: {
1447
+ type: 'string',
1448
+ description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1449
+ default: 'conservative',
1450
+ example: 'conservative',
1451
+ enum: [
1452
+ 'aggressive',
1453
+ 'conservative'
1454
+ ]
1455
+ },
898
1456
  id: {
899
1457
  type: 'string',
900
1458
  maxLength: 63,
@@ -905,6 +1463,7 @@ export const FleetSchema = {
905
1463
  }
906
1464
  },
907
1465
  required: [
1466
+ 'scalingProfile',
908
1467
  'id'
909
1468
  ],
910
1469
  additionalProperties: false
@@ -916,15 +1475,12 @@ export const FleetUpdateInputSchema = {
916
1475
  type: 'object',
917
1476
  properties: {
918
1477
  cpu: {
919
- type: 'number',
920
- format: 'float',
1478
+ type: 'integer',
921
1479
  minimum: 0,
922
- description: 'CPU limit in cores.'
1480
+ maximum: 100000,
1481
+ description: 'CPU limit in cores. Maximum 100,000.'
923
1482
  }
924
1483
  },
925
- required: [
926
- 'cpu'
927
- ],
928
1484
  additionalProperties: false,
929
1485
  description: 'Limits define a set of bounds for provisioning capacity.'
930
1486
  },
@@ -932,16 +1488,17 @@ export const FleetUpdateInputSchema = {
932
1488
  type: 'object',
933
1489
  properties: {
934
1490
  enabled: {
935
- type: 'boolean',
936
- default: true
1491
+ type: 'boolean'
937
1492
  },
938
1493
  project: {
939
1494
  type: 'string',
940
- description: 'Project GCP Project id to deploy instances into'
1495
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
1496
+ 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.',
1497
+ example: 'my-cloudfleet-project'
941
1498
  }
942
1499
  },
943
1500
  required: [
944
- 'project'
1501
+ 'enabled'
945
1502
  ],
946
1503
  additionalProperties: false
947
1504
  },
@@ -949,16 +1506,18 @@ export const FleetUpdateInputSchema = {
949
1506
  type: 'object',
950
1507
  properties: {
951
1508
  enabled: {
952
- type: 'boolean',
953
- default: true
1509
+ type: 'boolean'
954
1510
  },
955
1511
  apiKey: {
956
1512
  type: 'string',
957
- description: 'Hetzner Cloud API key with read / write access'
1513
+ maxLength: 64,
1514
+ minLength: 64,
1515
+ pattern: '^[A-Za-z0-9]+$',
1516
+ description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
958
1517
  }
959
1518
  },
960
1519
  required: [
961
- 'apiKey'
1520
+ 'enabled'
962
1521
  ],
963
1522
  additionalProperties: false
964
1523
  },
@@ -966,20 +1525,329 @@ export const FleetUpdateInputSchema = {
966
1525
  type: 'object',
967
1526
  properties: {
968
1527
  enabled: {
969
- type: 'boolean',
970
- default: true
1528
+ type: 'boolean'
971
1529
  },
972
1530
  controllerRoleArn: {
973
1531
  type: 'string',
974
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
1532
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
1533
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
1534
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
975
1535
  }
976
1536
  },
977
1537
  required: [
978
- 'controllerRoleArn'
1538
+ 'enabled'
979
1539
  ],
980
1540
  additionalProperties: false
1541
+ },
1542
+ constraints: {
1543
+ type: 'object',
1544
+ properties: {
1545
+ 'karpenter.sh/capacity-type': {
1546
+ type: 'array',
1547
+ items: {
1548
+ type: 'string',
1549
+ enum: [
1550
+ 'on-demand',
1551
+ 'spot'
1552
+ ]
1553
+ },
1554
+ minItems: 1,
1555
+ description: 'Allowed values for `karpenter.sh/capacity-type`.'
1556
+ },
1557
+ 'kubernetes.io/arch': {
1558
+ type: 'array',
1559
+ items: {
1560
+ type: 'string',
1561
+ enum: [
1562
+ 'amd64',
1563
+ 'arm64'
1564
+ ]
1565
+ },
1566
+ minItems: 1,
1567
+ description: 'Allowed values for `kubernetes.io/arch`.'
1568
+ },
1569
+ 'cfke.io/instance-family': {
1570
+ type: 'array',
1571
+ items: {
1572
+ type: 'string',
1573
+ enum: [
1574
+ 'a1',
1575
+ 'a2',
1576
+ 'a3',
1577
+ 'a4',
1578
+ 'c1',
1579
+ 'c2',
1580
+ 'c2d',
1581
+ 'c3',
1582
+ 'c3d',
1583
+ 'c4',
1584
+ 'c4a',
1585
+ 'c4d',
1586
+ 'c5',
1587
+ 'c5a',
1588
+ 'c5ad',
1589
+ 'c5d',
1590
+ 'c5n',
1591
+ 'c6a',
1592
+ 'c6g',
1593
+ 'c6gd',
1594
+ 'c6gn',
1595
+ 'c6i',
1596
+ 'c6id',
1597
+ 'c6in',
1598
+ 'c7a',
1599
+ 'c7g',
1600
+ 'c7gd',
1601
+ 'c7gn',
1602
+ 'c7i',
1603
+ 'c7i-flex',
1604
+ 'c8g',
1605
+ 'c8gd',
1606
+ 'cax',
1607
+ 'ccx',
1608
+ 'cpx',
1609
+ 'cx',
1610
+ 'd2',
1611
+ 'd3',
1612
+ 'd3en',
1613
+ 'dl1',
1614
+ 'dl2q',
1615
+ 'e2',
1616
+ 'f1',
1617
+ 'f2',
1618
+ 'g1',
1619
+ 'g2',
1620
+ 'g4ad',
1621
+ 'g4dn',
1622
+ 'g5',
1623
+ 'g5g',
1624
+ 'g6',
1625
+ 'g6e',
1626
+ 'gr6',
1627
+ 'h1',
1628
+ 'h3',
1629
+ 'hpc6a',
1630
+ 'hpc6id',
1631
+ 'hpc7a',
1632
+ 'hpc7g',
1633
+ 'i2',
1634
+ 'i3',
1635
+ 'i3en',
1636
+ 'i4g',
1637
+ 'i4i',
1638
+ 'i7i',
1639
+ 'i7ie',
1640
+ 'i8g',
1641
+ 'im4gn',
1642
+ 'inf1',
1643
+ 'inf2',
1644
+ 'is4gen',
1645
+ 'm1',
1646
+ 'm2',
1647
+ 'm3',
1648
+ 'm4',
1649
+ 'm5',
1650
+ 'm5a',
1651
+ 'm5ad',
1652
+ 'm5d',
1653
+ 'm5dn',
1654
+ 'm5n',
1655
+ 'm5zn',
1656
+ 'm6a',
1657
+ 'm6g',
1658
+ 'm6gd',
1659
+ 'm6i',
1660
+ 'm6id',
1661
+ 'm6idn',
1662
+ 'm6in',
1663
+ 'm7a',
1664
+ 'm7g',
1665
+ 'm7gd',
1666
+ 'm7i',
1667
+ 'm7i-flex',
1668
+ 'm8g',
1669
+ 'm8gd',
1670
+ 'n1',
1671
+ 'n2',
1672
+ 'n2d',
1673
+ 'n4',
1674
+ 'p3',
1675
+ 'p3dn',
1676
+ 'p4d',
1677
+ 'p4de',
1678
+ 'p5',
1679
+ 'p5e',
1680
+ 'p5en',
1681
+ 'p6-b200',
1682
+ 'r3',
1683
+ 'r4',
1684
+ 'r5',
1685
+ 'r5a',
1686
+ 'r5ad',
1687
+ 'r5b',
1688
+ 'r5d',
1689
+ 'r5dn',
1690
+ 'r5n',
1691
+ 'r6a',
1692
+ 'r6g',
1693
+ 'r6gd',
1694
+ 'r6i',
1695
+ 'r6id',
1696
+ 'r6idn',
1697
+ 'r6in',
1698
+ 'r7a',
1699
+ 'r7g',
1700
+ 'r7gd',
1701
+ 'r7i',
1702
+ 'r7iz',
1703
+ 'r8g',
1704
+ 'r8gd',
1705
+ 't2',
1706
+ 't2a',
1707
+ 't2d',
1708
+ 't3',
1709
+ 't3a',
1710
+ 't4g',
1711
+ 'trn1',
1712
+ 'trn1n',
1713
+ 'u-3tb1',
1714
+ 'u-6tb1',
1715
+ 'u7i-12tb',
1716
+ 'u7i-6tb',
1717
+ 'u7i-8tb',
1718
+ 'u7in-16tb',
1719
+ 'u7in-24tb',
1720
+ 'u7in-32tb',
1721
+ 'vt1',
1722
+ 'x1',
1723
+ 'x1e',
1724
+ 'x2gd',
1725
+ 'x2idn',
1726
+ 'x2iedn',
1727
+ 'x2iezn',
1728
+ 'x4',
1729
+ 'x8g',
1730
+ 'z1d',
1731
+ 'z3'
1732
+ ]
1733
+ },
1734
+ description: 'Allowed values for `cfke.io/instance-family`.'
1735
+ },
1736
+ 'topology.kubernetes.io/region': {
1737
+ type: 'array',
1738
+ items: {
1739
+ type: 'string',
1740
+ enum: [
1741
+ 'africa-south1',
1742
+ 'ap-northeast-1',
1743
+ 'ap-northeast-2',
1744
+ 'ap-northeast-3',
1745
+ 'ap-south-1',
1746
+ 'ap-southeast-1',
1747
+ 'ap-southeast-2',
1748
+ 'ash',
1749
+ 'asia-east1',
1750
+ 'asia-east2',
1751
+ 'asia-northeast1',
1752
+ 'asia-northeast2',
1753
+ 'asia-northeast3',
1754
+ 'asia-south1',
1755
+ 'asia-south2',
1756
+ 'asia-southeast1',
1757
+ 'asia-southeast2',
1758
+ 'australia-southeast1',
1759
+ 'australia-southeast2',
1760
+ 'ca-central-1',
1761
+ 'eu-central-1',
1762
+ 'eu-central-2',
1763
+ 'eu-north-1',
1764
+ 'eu-west-1',
1765
+ 'eu-west-2',
1766
+ 'eu-west-3',
1767
+ 'europe-central2',
1768
+ 'europe-north1',
1769
+ 'europe-southwest1',
1770
+ 'europe-west1',
1771
+ 'europe-west10',
1772
+ 'europe-west12',
1773
+ 'europe-west2',
1774
+ 'europe-west3',
1775
+ 'europe-west4',
1776
+ 'europe-west6',
1777
+ 'europe-west8',
1778
+ 'europe-west9',
1779
+ 'fsn1',
1780
+ 'hel1',
1781
+ 'hil',
1782
+ 'me-central1',
1783
+ 'me-central2',
1784
+ 'me-west1',
1785
+ 'nbg1',
1786
+ 'northamerica-northeast1',
1787
+ 'northamerica-northeast2',
1788
+ 'sa-east-1',
1789
+ 'sin',
1790
+ 'southamerica-east1',
1791
+ 'southamerica-west1',
1792
+ 'us-central1',
1793
+ 'us-east-1',
1794
+ 'us-east-2',
1795
+ 'us-east1',
1796
+ 'us-east4',
1797
+ 'us-east5',
1798
+ 'us-south1',
1799
+ 'us-west-1',
1800
+ 'us-west-2',
1801
+ 'us-west1',
1802
+ 'us-west2',
1803
+ 'us-west3',
1804
+ 'us-west4'
1805
+ ]
1806
+ },
1807
+ description: 'Allowed values for `topology.kubernetes.io/region`.'
1808
+ }
1809
+ },
1810
+ additionalProperties: false,
1811
+ 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.'
1812
+ },
1813
+ scalingProfile: {
1814
+ type: 'string',
1815
+ description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1816
+ example: 'conservative',
1817
+ enum: [
1818
+ 'aggressive',
1819
+ 'conservative'
1820
+ ]
1821
+ }
1822
+ },
1823
+ required: [
1824
+ 'scalingProfile'
1825
+ ],
1826
+ additionalProperties: false
1827
+ };
1828
+ export const InviteCreateInputSchema = {
1829
+ type: 'object',
1830
+ properties: {
1831
+ email: {
1832
+ type: 'string',
1833
+ format: 'email',
1834
+ description: 'Email address of the user to invite.',
1835
+ example: 'email@example.com'
1836
+ },
1837
+ role: {
1838
+ type: 'string',
1839
+ description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
1840
+ default: 'User',
1841
+ example: 'User',
1842
+ enum: [
1843
+ 'Administrator',
1844
+ 'User'
1845
+ ]
981
1846
  }
982
1847
  },
1848
+ required: [
1849
+ 'email'
1850
+ ],
983
1851
  additionalProperties: false
984
1852
  };
985
1853
  export const InviteSchema = {
@@ -1012,6 +1880,16 @@ export const InviteSchema = {
1012
1880
  type: 'string',
1013
1881
  description: 'Generated unique invite code.',
1014
1882
  example: '7kUZnH7nnKUFfvc4NK2KQF'
1883
+ },
1884
+ role: {
1885
+ type: 'string',
1886
+ description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
1887
+ default: 'User',
1888
+ example: 'User',
1889
+ enum: [
1890
+ 'Administrator',
1891
+ 'User'
1892
+ ]
1015
1893
  }
1016
1894
  },
1017
1895
  required: [
@@ -1232,6 +2110,15 @@ export const MarketplaceListingSchema = {
1232
2110
  export const OrganizationCreateInputSchema = {
1233
2111
  type: 'object',
1234
2112
  properties: {
2113
+ type: {
2114
+ type: 'string',
2115
+ description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
2116
+ example: 'business',
2117
+ enum: [
2118
+ 'business',
2119
+ 'personal'
2120
+ ]
2121
+ },
1235
2122
  email: {
1236
2123
  type: 'string',
1237
2124
  format: 'email',
@@ -1240,11 +2127,13 @@ export const OrganizationCreateInputSchema = {
1240
2127
  },
1241
2128
  first_name: {
1242
2129
  type: 'string',
2130
+ minLength: 1,
1243
2131
  description: 'First name of the billing contact person.',
1244
2132
  example: 'John'
1245
2133
  },
1246
2134
  last_name: {
1247
2135
  type: 'string',
2136
+ minLength: 1,
1248
2137
  description: 'Last name of the billing contact person.',
1249
2138
  example: 'Doe'
1250
2139
  },
@@ -1263,6 +2152,7 @@ export const OrganizationCreateInputSchema = {
1263
2152
  }
1264
2153
  },
1265
2154
  required: [
2155
+ 'type',
1266
2156
  'email',
1267
2157
  'first_name',
1268
2158
  'last_name',
@@ -1271,6 +2161,20 @@ export const OrganizationCreateInputSchema = {
1271
2161
  ],
1272
2162
  additionalProperties: false
1273
2163
  };
2164
+ export const OrganizationCreateOutputSchema = {
2165
+ type: 'object',
2166
+ properties: {
2167
+ id: {
2168
+ type: 'string',
2169
+ description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
2170
+ example: 'organization-id'
2171
+ }
2172
+ },
2173
+ required: [
2174
+ 'id'
2175
+ ],
2176
+ additionalProperties: false
2177
+ };
1274
2178
  export const OrganizationSchema = {
1275
2179
  type: 'object',
1276
2180
  properties: {
@@ -1287,6 +2191,15 @@ export const OrganizationSchema = {
1287
2191
  description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
1288
2192
  example: 'ACME Corp.'
1289
2193
  },
2194
+ type: {
2195
+ type: 'string',
2196
+ description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
2197
+ example: 'business',
2198
+ enum: [
2199
+ 'business',
2200
+ 'personal'
2201
+ ]
2202
+ },
1290
2203
  date_created: {
1291
2204
  type: 'string',
1292
2205
  format: 'date-time',
@@ -1337,7 +2250,7 @@ export const OrganizationSchema = {
1337
2250
  type: 'array',
1338
2251
  items: {
1339
2252
  type: 'string',
1340
- example: 'northamerica-central-1'
2253
+ example: 'northamerica-central-1a'
1341
2254
  },
1342
2255
  minItems: 1,
1343
2256
  description: 'List of Cloudfleet control plane regions available for the organization.'
@@ -1396,13 +2309,25 @@ export const OrganizationSchema = {
1396
2309
  'closed',
1397
2310
  'suspended'
1398
2311
  ]
2312
+ },
2313
+ verification: {
2314
+ type: 'string',
2315
+ 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.',
2316
+ example: 'verified',
2317
+ enum: [
2318
+ 'none',
2319
+ 'submitted',
2320
+ 'verified'
2321
+ ]
1399
2322
  }
1400
2323
  },
1401
2324
  required: [
1402
2325
  'id',
2326
+ 'type',
1403
2327
  'date_created',
1404
2328
  'quota',
1405
- 'status'
2329
+ 'status',
2330
+ 'verification'
1406
2331
  ],
1407
2332
  additionalProperties: false
1408
2333
  };
@@ -1411,28 +2336,23 @@ export const PaymentMethodSchema = {
1411
2336
  properties: {
1412
2337
  id: {
1413
2338
  type: 'string',
1414
- format: 'uuid',
1415
- description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
1416
- example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
1417
- },
1418
- setup: {
1419
- type: 'boolean',
1420
- description: 'Whether organization payment method was set up and ready to use for payments.',
1421
- example: true
2339
+ 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.',
2340
+ example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
1422
2341
  },
1423
2342
  type: {
1424
2343
  type: 'string',
1425
- nullable: true,
1426
- description: 'Payment method type type. Only `card` payments supported at the moment.',
2344
+ description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
1427
2345
  example: 'card',
1428
2346
  enum: [
1429
- 'card'
2347
+ 'card',
2348
+ 'sepa_debit',
2349
+ 'bank_transfer'
1430
2350
  ]
1431
2351
  },
1432
2352
  last4: {
1433
2353
  type: 'string',
1434
2354
  nullable: true,
1435
- description: 'Last 4 digits of the payment card number.',
2355
+ 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.',
1436
2356
  example: '4242'
1437
2357
  },
1438
2358
  exp_month: {
@@ -1440,42 +2360,56 @@ export const PaymentMethodSchema = {
1440
2360
  minimum: 1,
1441
2361
  maximum: 12,
1442
2362
  nullable: true,
1443
- description: 'Two-digit number representing the card\'s expiration month.',
1444
- example: '12'
2363
+ description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
2364
+ example: 12
1445
2365
  },
1446
2366
  exp_year: {
1447
2367
  type: 'integer',
1448
- minimum: 2024,
1449
2368
  nullable: true,
1450
- description: 'Four-digit number representing the card\'s expiration year.',
1451
- example: '2028'
2369
+ 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.',
2370
+ example: 2028
1452
2371
  },
1453
2372
  brand: {
1454
2373
  type: 'string',
1455
2374
  nullable: true,
1456
- description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
1457
- example: 'visa',
1458
- enum: [
1459
- 'amex',
1460
- 'diners',
1461
- 'discover',
1462
- 'eftpos_au',
1463
- 'jcb',
1464
- 'mastercard',
1465
- 'unionpay',
1466
- 'visa',
1467
- 'unknown'
1468
- ]
2375
+ 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.',
2376
+ example: 'visa'
2377
+ },
2378
+ iban: {
2379
+ type: 'string',
2380
+ nullable: true,
2381
+ 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.',
2382
+ example: 'DE11243015658023127510'
2383
+ },
2384
+ bic: {
2385
+ type: 'string',
2386
+ nullable: true,
2387
+ description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
2388
+ example: 'SOGEDEFFXXX'
2389
+ },
2390
+ account_holder_name: {
2391
+ type: 'string',
2392
+ nullable: true,
2393
+ description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
2394
+ example: 'Cloudfleet GmbH'
2395
+ },
2396
+ is_default: {
2397
+ type: 'boolean',
2398
+ 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).',
2399
+ example: true
1469
2400
  }
1470
2401
  },
1471
2402
  required: [
1472
2403
  'id',
1473
- 'setup',
1474
2404
  'type',
1475
2405
  'last4',
1476
2406
  'exp_month',
1477
2407
  'exp_year',
1478
- 'brand'
2408
+ 'brand',
2409
+ 'iban',
2410
+ 'bic',
2411
+ 'account_holder_name',
2412
+ 'is_default'
1479
2413
  ],
1480
2414
  additionalProperties: false
1481
2415
  };
@@ -1523,7 +2457,7 @@ export const PlatformQuotaSchema = {
1523
2457
  type: 'array',
1524
2458
  items: {
1525
2459
  type: 'string',
1526
- example: 'northamerica-central-1'
2460
+ example: 'northamerica-central-1a'
1527
2461
  },
1528
2462
  minItems: 1,
1529
2463
  description: 'List of Cloudfleet control plane regions available for the organization.'
@@ -2612,24 +3546,6 @@ export const UserCreateInputSchema = {
2612
3546
  type: 'string',
2613
3547
  minLength: 8,
2614
3548
  description: 'User password. Must be at least 8 characters long.'
2615
- },
2616
- status: {
2617
- type: 'string',
2618
- description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
2619
- example: 'active',
2620
- enum: [
2621
- 'active',
2622
- 'inactive'
2623
- ]
2624
- },
2625
- role: {
2626
- type: 'string',
2627
- description: 'User role. Can be \'Administrator\', \'User\'.',
2628
- example: 'User',
2629
- enum: [
2630
- 'Administrator',
2631
- 'User'
2632
- ]
2633
3549
  }
2634
3550
  },
2635
3551
  required: [