@cloudfleet/sdk 0.0.1-017af9f → 0.0.1-028b8fa

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
  ],
@@ -748,10 +758,10 @@ export const FleetCreateInputSchema = {
748
758
  type: 'object',
749
759
  properties: {
750
760
  cpu: {
751
- type: 'number',
752
- format: 'float',
761
+ type: 'integer',
753
762
  minimum: 0,
754
- description: 'CPU limit in cores.'
763
+ maximum: 100000,
764
+ description: 'CPU limit in cores. Maximum 100,000.'
755
765
  }
756
766
  },
757
767
  additionalProperties: false,
@@ -761,16 +771,17 @@ export const FleetCreateInputSchema = {
761
771
  type: 'object',
762
772
  properties: {
763
773
  enabled: {
764
- type: 'boolean',
765
- default: true
774
+ type: 'boolean'
766
775
  },
767
776
  project: {
768
777
  type: 'string',
769
- description: 'Project GCP Project id to deploy instances into'
778
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
779
+ description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
780
+ example: 'my-cloudfleet-project'
770
781
  }
771
782
  },
772
783
  required: [
773
- 'project'
784
+ 'enabled'
774
785
  ],
775
786
  additionalProperties: false
776
787
  },
@@ -778,30 +789,36 @@ export const FleetCreateInputSchema = {
778
789
  type: 'object',
779
790
  properties: {
780
791
  enabled: {
781
- type: 'boolean',
782
- default: true
792
+ type: 'boolean'
783
793
  },
784
794
  apiKey: {
785
795
  type: 'string',
786
- description: 'Hetzner Cloud API key with read / write access. On update, omit this field to keep the existing value.'
796
+ maxLength: 64,
797
+ minLength: 64,
798
+ pattern: '^[A-Za-z0-9]+$',
799
+ description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
787
800
  }
788
801
  },
802
+ required: [
803
+ 'enabled'
804
+ ],
789
805
  additionalProperties: false
790
806
  },
791
807
  aws: {
792
808
  type: 'object',
793
809
  properties: {
794
810
  enabled: {
795
- type: 'boolean',
796
- default: true
811
+ type: 'boolean'
797
812
  },
798
813
  controllerRoleArn: {
799
814
  type: 'string',
800
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
815
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
816
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
817
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
801
818
  }
802
819
  },
803
820
  required: [
804
- 'controllerRoleArn'
821
+ 'enabled'
805
822
  ],
806
823
  additionalProperties: false
807
824
  },
@@ -817,7 +834,12 @@ export const FleetCreateInputSchema = {
817
834
  'spot'
818
835
  ]
819
836
  },
820
- description: 'Allowed values for `karpenter.sh/capacity-type`.'
837
+ minItems: 1,
838
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
839
+ default: [
840
+ 'on-demand',
841
+ 'spot'
842
+ ]
821
843
  },
822
844
  'kubernetes.io/arch': {
823
845
  type: 'array',
@@ -828,7 +850,11 @@ export const FleetCreateInputSchema = {
828
850
  'arm64'
829
851
  ]
830
852
  },
831
- description: 'Allowed values for `kubernetes.io/arch`.'
853
+ minItems: 1,
854
+ description: 'Allowed values for `kubernetes.io/arch`.',
855
+ default: [
856
+ 'amd64'
857
+ ]
832
858
  },
833
859
  'cfke.io/instance-family': {
834
860
  type: 'array',
@@ -1077,6 +1103,7 @@ export const FleetCreateInputSchema = {
1077
1103
  scalingProfile: {
1078
1104
  type: 'string',
1079
1105
  description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1106
+ default: 'conservative',
1080
1107
  example: 'conservative',
1081
1108
  enum: [
1082
1109
  'aggressive',
@@ -1104,10 +1131,10 @@ export const FleetSchema = {
1104
1131
  type: 'object',
1105
1132
  properties: {
1106
1133
  cpu: {
1107
- type: 'number',
1108
- format: 'float',
1134
+ type: 'integer',
1109
1135
  minimum: 0,
1110
- description: 'CPU limit in cores.'
1136
+ maximum: 100000,
1137
+ description: 'CPU limit in cores. Maximum 100,000.'
1111
1138
  }
1112
1139
  },
1113
1140
  additionalProperties: false,
@@ -1117,16 +1144,17 @@ export const FleetSchema = {
1117
1144
  type: 'object',
1118
1145
  properties: {
1119
1146
  enabled: {
1120
- type: 'boolean',
1121
- default: true
1147
+ type: 'boolean'
1122
1148
  },
1123
1149
  project: {
1124
1150
  type: 'string',
1125
- description: 'Project GCP Project id to deploy instances into'
1151
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
1152
+ description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
1153
+ example: 'my-cloudfleet-project'
1126
1154
  }
1127
1155
  },
1128
1156
  required: [
1129
- 'project'
1157
+ 'enabled'
1130
1158
  ],
1131
1159
  additionalProperties: false
1132
1160
  },
@@ -1134,30 +1162,34 @@ export const FleetSchema = {
1134
1162
  type: 'object',
1135
1163
  properties: {
1136
1164
  enabled: {
1137
- type: 'boolean',
1138
- default: true
1165
+ type: 'boolean'
1139
1166
  },
1140
1167
  apiKey: {
1141
1168
  type: 'string',
1142
- description: 'Hetzner Cloud API key with read / write access. On update, omit this field to keep the existing value.'
1169
+ pattern: '^\\*{64}$',
1170
+ description: 'Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.'
1143
1171
  }
1144
1172
  },
1173
+ required: [
1174
+ 'enabled'
1175
+ ],
1145
1176
  additionalProperties: false
1146
1177
  },
1147
1178
  aws: {
1148
1179
  type: 'object',
1149
1180
  properties: {
1150
1181
  enabled: {
1151
- type: 'boolean',
1152
- default: true
1182
+ type: 'boolean'
1153
1183
  },
1154
1184
  controllerRoleArn: {
1155
1185
  type: 'string',
1156
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
1186
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
1187
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
1188
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
1157
1189
  }
1158
1190
  },
1159
1191
  required: [
1160
- 'controllerRoleArn'
1192
+ 'enabled'
1161
1193
  ],
1162
1194
  additionalProperties: false
1163
1195
  },
@@ -1173,7 +1205,12 @@ export const FleetSchema = {
1173
1205
  'spot'
1174
1206
  ]
1175
1207
  },
1176
- description: 'Allowed values for `karpenter.sh/capacity-type`.'
1208
+ minItems: 1,
1209
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
1210
+ default: [
1211
+ 'on-demand',
1212
+ 'spot'
1213
+ ]
1177
1214
  },
1178
1215
  'kubernetes.io/arch': {
1179
1216
  type: 'array',
@@ -1184,7 +1221,11 @@ export const FleetSchema = {
1184
1221
  'arm64'
1185
1222
  ]
1186
1223
  },
1187
- description: 'Allowed values for `kubernetes.io/arch`.'
1224
+ minItems: 1,
1225
+ description: 'Allowed values for `kubernetes.io/arch`.',
1226
+ default: [
1227
+ 'amd64'
1228
+ ]
1188
1229
  },
1189
1230
  'cfke.io/instance-family': {
1190
1231
  type: 'array',
@@ -1433,6 +1474,7 @@ export const FleetSchema = {
1433
1474
  scalingProfile: {
1434
1475
  type: 'string',
1435
1476
  description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1477
+ default: 'conservative',
1436
1478
  example: 'conservative',
1437
1479
  enum: [
1438
1480
  'aggressive',
@@ -1449,6 +1491,7 @@ export const FleetSchema = {
1449
1491
  }
1450
1492
  },
1451
1493
  required: [
1494
+ 'scalingProfile',
1452
1495
  'id'
1453
1496
  ],
1454
1497
  additionalProperties: false
@@ -1460,10 +1503,10 @@ export const FleetUpdateInputSchema = {
1460
1503
  type: 'object',
1461
1504
  properties: {
1462
1505
  cpu: {
1463
- type: 'number',
1464
- format: 'float',
1506
+ type: 'integer',
1465
1507
  minimum: 0,
1466
- description: 'CPU limit in cores.'
1508
+ maximum: 100000,
1509
+ description: 'CPU limit in cores. Maximum 100,000.'
1467
1510
  }
1468
1511
  },
1469
1512
  additionalProperties: false,
@@ -1473,16 +1516,17 @@ export const FleetUpdateInputSchema = {
1473
1516
  type: 'object',
1474
1517
  properties: {
1475
1518
  enabled: {
1476
- type: 'boolean',
1477
- default: true
1519
+ type: 'boolean'
1478
1520
  },
1479
1521
  project: {
1480
1522
  type: 'string',
1481
- description: 'Project GCP Project id to deploy instances into'
1523
+ pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
1524
+ description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
1525
+ example: 'my-cloudfleet-project'
1482
1526
  }
1483
1527
  },
1484
1528
  required: [
1485
- 'project'
1529
+ 'enabled'
1486
1530
  ],
1487
1531
  additionalProperties: false
1488
1532
  },
@@ -1490,30 +1534,36 @@ export const FleetUpdateInputSchema = {
1490
1534
  type: 'object',
1491
1535
  properties: {
1492
1536
  enabled: {
1493
- type: 'boolean',
1494
- default: true
1537
+ type: 'boolean'
1495
1538
  },
1496
1539
  apiKey: {
1497
1540
  type: 'string',
1498
- description: 'Hetzner Cloud API key with read / write access. On update, omit this field to keep the existing value.'
1541
+ maxLength: 64,
1542
+ minLength: 64,
1543
+ pattern: '^[A-Za-z0-9]+$',
1544
+ description: 'Hetzner Cloud API token with read / write access (64 alphanumeric characters). Omit this field to keep the existing value.'
1499
1545
  }
1500
1546
  },
1547
+ required: [
1548
+ 'enabled'
1549
+ ],
1501
1550
  additionalProperties: false
1502
1551
  },
1503
1552
  aws: {
1504
1553
  type: 'object',
1505
1554
  properties: {
1506
1555
  enabled: {
1507
- type: 'boolean',
1508
- default: true
1556
+ type: 'boolean'
1509
1557
  },
1510
1558
  controllerRoleArn: {
1511
1559
  type: 'string',
1512
- description: 'ControllerRoleArn is the AWS IAM role that Karpenter uses to manage resources.'
1560
+ pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
1561
+ description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
1562
+ example: 'arn:aws:iam::123456789012:role/Cloudfleet'
1513
1563
  }
1514
1564
  },
1515
1565
  required: [
1516
- 'controllerRoleArn'
1566
+ 'enabled'
1517
1567
  ],
1518
1568
  additionalProperties: false
1519
1569
  },
@@ -1529,6 +1579,7 @@ export const FleetUpdateInputSchema = {
1529
1579
  'spot'
1530
1580
  ]
1531
1581
  },
1582
+ minItems: 1,
1532
1583
  description: 'Allowed values for `karpenter.sh/capacity-type`.'
1533
1584
  },
1534
1585
  'kubernetes.io/arch': {
@@ -1540,6 +1591,7 @@ export const FleetUpdateInputSchema = {
1540
1591
  'arm64'
1541
1592
  ]
1542
1593
  },
1594
+ minItems: 1,
1543
1595
  description: 'Allowed values for `kubernetes.io/arch`.'
1544
1596
  },
1545
1597
  'cfke.io/instance-family': {
@@ -1796,6 +1848,9 @@ export const FleetUpdateInputSchema = {
1796
1848
  ]
1797
1849
  }
1798
1850
  },
1851
+ required: [
1852
+ 'scalingProfile'
1853
+ ],
1799
1854
  additionalProperties: false
1800
1855
  };
1801
1856
  export const InviteSchema = {
@@ -2048,6 +2103,15 @@ export const MarketplaceListingSchema = {
2048
2103
  export const OrganizationCreateInputSchema = {
2049
2104
  type: 'object',
2050
2105
  properties: {
2106
+ type: {
2107
+ type: 'string',
2108
+ description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
2109
+ example: 'business',
2110
+ enum: [
2111
+ 'business',
2112
+ 'personal'
2113
+ ]
2114
+ },
2051
2115
  email: {
2052
2116
  type: 'string',
2053
2117
  format: 'email',
@@ -2056,11 +2120,13 @@ export const OrganizationCreateInputSchema = {
2056
2120
  },
2057
2121
  first_name: {
2058
2122
  type: 'string',
2123
+ minLength: 1,
2059
2124
  description: 'First name of the billing contact person.',
2060
2125
  example: 'John'
2061
2126
  },
2062
2127
  last_name: {
2063
2128
  type: 'string',
2129
+ minLength: 1,
2064
2130
  description: 'Last name of the billing contact person.',
2065
2131
  example: 'Doe'
2066
2132
  },
@@ -2079,6 +2145,7 @@ export const OrganizationCreateInputSchema = {
2079
2145
  }
2080
2146
  },
2081
2147
  required: [
2148
+ 'type',
2082
2149
  'email',
2083
2150
  'first_name',
2084
2151
  'last_name',
@@ -2087,6 +2154,20 @@ export const OrganizationCreateInputSchema = {
2087
2154
  ],
2088
2155
  additionalProperties: false
2089
2156
  };
2157
+ export const OrganizationCreateOutputSchema = {
2158
+ type: 'object',
2159
+ properties: {
2160
+ id: {
2161
+ type: 'string',
2162
+ description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
2163
+ example: 'organization-id'
2164
+ }
2165
+ },
2166
+ required: [
2167
+ 'id'
2168
+ ],
2169
+ additionalProperties: false
2170
+ };
2090
2171
  export const OrganizationSchema = {
2091
2172
  type: 'object',
2092
2173
  properties: {
@@ -2103,6 +2184,15 @@ export const OrganizationSchema = {
2103
2184
  description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
2104
2185
  example: 'ACME Corp.'
2105
2186
  },
2187
+ type: {
2188
+ type: 'string',
2189
+ description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
2190
+ example: 'business',
2191
+ enum: [
2192
+ 'business',
2193
+ 'personal'
2194
+ ]
2195
+ },
2106
2196
  date_created: {
2107
2197
  type: 'string',
2108
2198
  format: 'date-time',
@@ -2212,13 +2302,25 @@ export const OrganizationSchema = {
2212
2302
  'closed',
2213
2303
  'suspended'
2214
2304
  ]
2305
+ },
2306
+ verification: {
2307
+ type: 'string',
2308
+ description: 'Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.',
2309
+ example: 'verified',
2310
+ enum: [
2311
+ 'none',
2312
+ 'submitted',
2313
+ 'verified'
2314
+ ]
2215
2315
  }
2216
2316
  },
2217
2317
  required: [
2218
2318
  'id',
2319
+ 'type',
2219
2320
  'date_created',
2220
2321
  'quota',
2221
- 'status'
2322
+ 'status',
2323
+ 'verification'
2222
2324
  ],
2223
2325
  additionalProperties: false
2224
2326
  };
@@ -2227,28 +2329,23 @@ export const PaymentMethodSchema = {
2227
2329
  properties: {
2228
2330
  id: {
2229
2331
  type: 'string',
2230
- format: 'uuid',
2231
- description: 'Unique identifier of the organization. UUID v4 string in canonical form.',
2232
- example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
2233
- },
2234
- setup: {
2235
- type: 'boolean',
2236
- description: 'Whether organization payment method was set up and ready to use for payments.',
2237
- example: true
2332
+ 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.',
2333
+ example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
2238
2334
  },
2239
2335
  type: {
2240
2336
  type: 'string',
2241
- nullable: true,
2242
- description: 'Payment method type type. Only `card` payments supported at the moment.',
2337
+ description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
2243
2338
  example: 'card',
2244
2339
  enum: [
2245
- 'card'
2340
+ 'card',
2341
+ 'sepa_debit',
2342
+ 'bank_transfer'
2246
2343
  ]
2247
2344
  },
2248
2345
  last4: {
2249
2346
  type: 'string',
2250
2347
  nullable: true,
2251
- description: 'Last 4 digits of the payment card number.',
2348
+ 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.',
2252
2349
  example: '4242'
2253
2350
  },
2254
2351
  exp_month: {
@@ -2256,42 +2353,56 @@ export const PaymentMethodSchema = {
2256
2353
  minimum: 1,
2257
2354
  maximum: 12,
2258
2355
  nullable: true,
2259
- description: 'Two-digit number representing the card\'s expiration month.',
2260
- example: '12'
2356
+ description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
2357
+ example: 12
2261
2358
  },
2262
2359
  exp_year: {
2263
2360
  type: 'integer',
2264
- minimum: 2024,
2265
2361
  nullable: true,
2266
- description: 'Four-digit number representing the card\'s expiration year.',
2267
- example: '2028'
2362
+ 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.',
2363
+ example: 2028
2268
2364
  },
2269
2365
  brand: {
2270
2366
  type: 'string',
2271
2367
  nullable: true,
2272
- description: 'Payment card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.',
2273
- example: 'visa',
2274
- enum: [
2275
- 'amex',
2276
- 'diners',
2277
- 'discover',
2278
- 'eftpos_au',
2279
- 'jcb',
2280
- 'mastercard',
2281
- 'unionpay',
2282
- 'visa',
2283
- 'unknown'
2284
- ]
2368
+ 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.',
2369
+ example: 'visa'
2370
+ },
2371
+ iban: {
2372
+ type: 'string',
2373
+ nullable: true,
2374
+ 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.',
2375
+ example: 'DE11243015658023127510'
2376
+ },
2377
+ bic: {
2378
+ type: 'string',
2379
+ nullable: true,
2380
+ description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
2381
+ example: 'SOGEDEFFXXX'
2382
+ },
2383
+ account_holder_name: {
2384
+ type: 'string',
2385
+ nullable: true,
2386
+ description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
2387
+ example: 'Cloudfleet GmbH'
2388
+ },
2389
+ is_default: {
2390
+ type: 'boolean',
2391
+ 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).',
2392
+ example: true
2285
2393
  }
2286
2394
  },
2287
2395
  required: [
2288
2396
  'id',
2289
- 'setup',
2290
2397
  'type',
2291
2398
  'last4',
2292
2399
  'exp_month',
2293
2400
  'exp_year',
2294
- 'brand'
2401
+ 'brand',
2402
+ 'iban',
2403
+ 'bic',
2404
+ 'account_holder_name',
2405
+ 'is_default'
2295
2406
  ],
2296
2407
  additionalProperties: false
2297
2408
  };