@cloudfleet/sdk 0.12.3 → 1.0.1

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/sdk.gen.js CHANGED
@@ -1,79 +1,69 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
  import { formDataBodySerializer } from './client';
3
3
  import { client } from './client.gen';
4
- export class BillingService {
4
+ export class UsersService {
5
5
  /**
6
- * Get billing usage information.
7
- *
8
- * Returns aggregated usage information for the organization with facets for filtering. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
9
- *
6
+ * Get a list of organizations the user belongs to. Used during authentication process.
10
7
  */
11
- static getUsage(options) {
12
- return (options?.client ?? client).get({ url: '/billing/usage', ...options });
8
+ static listUserOrganizations(options) {
9
+ return (options.client ?? client).get({ url: '/users/organizations/{email}', ...options });
13
10
  }
14
11
  /**
15
- * Get Stripe client secret.
16
- *
17
- * Endpoint returns the Stripe secret key for the organization. This key is used to securely update the payment method in the Cloudfleet console only, please visit https://console.cloudfleet.ai. This endpoint is available to administrators of the organization only.
12
+ * List users in organization.
18
13
  *
19
- */
20
- static getPaymentMethodSecret(options) {
21
- return (options?.client ?? client).put({ url: '/billing/payment-method', ...options });
22
- }
23
- /**
24
- * List organization payment methods.
14
+ * Returns a list of user details and their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
25
15
  *
26
- * Returns all payment methods (cards and SEPA Direct Debit) attached to the organization, most recently added first, with the default flagged. This endpoint is available to all users in the organization.
16
+ * This endpoint is available to all users in the organization.
27
17
  *
28
18
  */
29
- static listPaymentMethods(options) {
30
- return (options?.client ?? client).get({ url: '/billing/payment-methods', ...options });
19
+ static listUsers(options) {
20
+ return (options?.client ?? client).get({ url: '/users', ...options });
31
21
  }
32
22
  /**
33
- * Set the default payment method.
23
+ * Create a new user.
34
24
  *
35
- * Sets the given payment method as the default used for invoices and active subscriptions. Requires the Administrator role.
25
+ * Create a new user in your Cloudfleet organization. Requires a valid invite code generated by the `invites create` command. The invite code is a unique string that can be used only once to create a new user. The invite code is generated by the `POST /invites` endpoint.
36
26
  *
37
27
  */
38
- static setDefaultPaymentMethod(options) {
39
- return (options.client ?? client).put({ url: '/billing/payment-methods/{paymentMethodId}/default', ...options });
28
+ static createUser(options) {
29
+ return (options.client ?? client).post({
30
+ url: '/users',
31
+ ...options,
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ ...options.headers
35
+ }
36
+ });
40
37
  }
41
38
  /**
42
- * Delete a payment method.
39
+ * Delete user by id.
43
40
  *
44
- * Detaches the given payment method from the organization. Requires the Administrator role. An organization must keep at least one payment method, so deleting the only remaining method is rejected.
41
+ * Sets user status to `inactive`. Inactive users cannot log in and manage organization resources. This endpoint is available to administrators of the organization only.
45
42
  *
46
43
  */
47
- static deletePaymentMethod(options) {
48
- return (options.client ?? client).delete({ url: '/billing/payment-methods/{paymentMethodId}', ...options });
44
+ static deleteUser(options) {
45
+ return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
49
46
  }
50
47
  /**
51
- * List issued invoices.
52
- *
53
- * Returns a list of invoices for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
48
+ * Get user profile information by id.
54
49
  *
55
- */
56
- static listInvoices(options) {
57
- return (options?.client ?? client).get({ url: '/billing/invoices', ...options });
58
- }
59
- /**
60
- * Get organization contact and billing address information.
50
+ * Returns user details including their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
61
51
  *
62
- * Returns the organization contact and billing address information. This endpoint is available to all users in the organization.
52
+ * This endpoint is available to all users in the organization.
63
53
  *
64
54
  */
65
- static getContact(options) {
66
- return (options?.client ?? client).get({ url: '/billing/contact', ...options });
55
+ static getUser(options) {
56
+ return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
67
57
  }
68
58
  /**
69
- * Update organization contact information and billing address.
59
+ * Update user profile information.
70
60
  *
71
- * This endpoint allows you to update organization details with its contact information. This endpoint is available to administrators of the organization only.
61
+ * Update user profile information: email, first name, last name, role. This endpoint can be accessed by administrators and the user itself. Role and status can be changed by administrators only.
72
62
  *
73
63
  */
74
- static updateContact(options) {
64
+ static updateUser(options) {
75
65
  return (options.client ?? client).put({
76
- url: '/billing/contact',
66
+ url: '/users/{user_id}',
77
67
  ...options,
78
68
  headers: {
79
69
  'Content-Type': 'application/json',
@@ -81,24 +71,28 @@ export class BillingService {
81
71
  }
82
72
  });
83
73
  }
74
+ }
75
+ export class TokensService {
84
76
  /**
85
- * Get applied promotional credits
77
+ * List access tokens in organization.
86
78
  *
87
- * Returns applied promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
79
+ * This endpoint allows you to get a list of all access tokens details in organization. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
88
80
  *
89
81
  */
90
- static getCredits(options) {
91
- return (options?.client ?? client).get({ url: '/billing/credits', ...options });
82
+ static listTokens(options) {
83
+ return (options?.client ?? client).get({ url: '/tokens', ...options });
92
84
  }
93
85
  /**
94
- * Redeem promotional credits code.
86
+ * Create a new access token.
95
87
  *
96
- * Applies promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
88
+ * This endpoint allows you to create a new access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
89
+ *
90
+ * This endpoint is available to administrators of the organization only.
97
91
  *
98
92
  */
99
- static redeemCredits(options) {
93
+ static createToken(options) {
100
94
  return (options.client ?? client).post({
101
- url: '/billing/credits',
95
+ url: '/tokens',
102
96
  ...options,
103
97
  headers: {
104
98
  'Content-Type': 'application/json',
@@ -106,30 +100,35 @@ export class BillingService {
106
100
  }
107
101
  });
108
102
  }
109
- }
110
- export class ClustersService {
111
103
  /**
112
- * List charts.
104
+ * Permanently delete access token.
113
105
  *
114
- * Returns a list of charts in the cluster.
106
+ * This endpoint allows you to delete an access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to administrators of the organization only.
115
107
  *
116
- * This endpoint is available to all users in the organization.
108
+ */
109
+ static deleteToken(options) {
110
+ return (options.client ?? client).delete({ url: '/tokens/{token_id}', ...options });
111
+ }
112
+ /**
113
+ * Get access token information.
114
+ *
115
+ * This endpoint allows you to get access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
117
116
  *
118
117
  */
119
- static listCharts(options) {
120
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts', ...options });
118
+ static getToken(options) {
119
+ return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
121
120
  }
122
121
  /**
123
- * Create a new chart.
122
+ * Update access token information.
124
123
  *
125
- * Create a new chart deployment.
124
+ * This endpoint allows you to update access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
126
125
  *
127
126
  * This endpoint is available to administrators of the organization only.
128
127
  *
129
128
  */
130
- static createChart(options) {
131
- return (options.client ?? client).post({
132
- url: '/clusters/{cluster_id}/charts',
129
+ static updateToken(options) {
130
+ return (options.client ?? client).put({
131
+ url: '/tokens/{token_id}',
133
132
  ...options,
134
133
  headers: {
135
134
  'Content-Type': 'application/json',
@@ -138,146 +137,139 @@ export class ClustersService {
138
137
  });
139
138
  }
140
139
  /**
141
- * Permanently delete the chart deployment from the cluster.
142
- *
143
- * This endpoint will permanently delete chart. This operation cannot be undone.
144
- *
145
- * This endpoint is available to administrators of the organization only.
140
+ * Regenerate access token secret key.
146
141
  *
142
+ * Generates a new access token secret. Old secret will not be valid anymore.
147
143
  */
148
- static deleteChart(options) {
149
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
144
+ static regenerateToken(options) {
145
+ return (options.client ?? client).put({ url: '/tokens/{token_id}/secret', ...options });
150
146
  }
147
+ }
148
+ export class TicketsService {
151
149
  /**
152
- * Get chart information.
153
- *
154
- * Returns the details of the chart deployment.
150
+ * List tickets for the current organization.
155
151
  *
156
- * This endpoint is available to all users in the organization.
152
+ * Returns all tickets belonging to the caller's organization, newest first.
157
153
  *
158
154
  */
159
- static getChart(options) {
160
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
155
+ static listTickets(options) {
156
+ return (options?.client ?? client).get({ url: '/tickets', ...options });
161
157
  }
162
158
  /**
163
- * Update chart information.
164
- *
165
- * This endpoint allows you to update the values of a chart deployment.
159
+ * Create a new support ticket.
166
160
  *
167
- * This endpoint is available to administrators of the organization only.
161
+ * Creates a new support ticket with an initial customer message. The request is `multipart/form-data` with a JSON-encoded `payload` field carrying `category`, `body`, and optional `properties`, plus up to 3 `attachments` files (10 MB max each).
168
162
  *
169
163
  */
170
- static updateChart(options) {
171
- return (options.client ?? client).put({
172
- url: '/clusters/{cluster_id}/charts/{chart_name}',
164
+ static createTicket(options) {
165
+ return (options.client ?? client).post({
166
+ ...formDataBodySerializer,
167
+ url: '/tickets',
173
168
  ...options,
174
169
  headers: {
175
- 'Content-Type': 'application/json',
170
+ 'Content-Type': null,
176
171
  ...options.headers
177
172
  }
178
173
  });
179
174
  }
180
175
  /**
181
- * List fleets.
182
- *
183
- * Returns a list of fleets belonging to the cluster. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
176
+ * Close a ticket (soft close).
184
177
  *
185
- * This endpoint is available to all users in the organization.
178
+ * Marks the ticket as closed. Closed is a terminal state users cannot reply to a closed ticket; a new ticket must be opened instead.
186
179
  *
187
180
  */
188
- static listFleets(options) {
189
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets', ...options });
181
+ static closeTicket(options) {
182
+ return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
190
183
  }
191
184
  /**
192
- * Create a new fleet.
193
- *
194
- * Create a new fleet under the current organization. fleets allow you to to schedule workloads in cloud service provider accounts owned by you. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
185
+ * Get a ticket and its messages.
186
+ */
187
+ static getTicket(options) {
188
+ return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
189
+ }
190
+ /**
191
+ * Append a customer reply to a ticket.
195
192
  *
196
- * This endpoint is available to administrators of the organization only.
193
+ * Multipart form-data with a JSON-encoded `payload` field carrying `body`, plus up to 3 `attachments` files. Returns 409 if the ticket is closed.
197
194
  *
198
195
  */
199
- static createFleet(options) {
196
+ static replyTicket(options) {
200
197
  return (options.client ?? client).post({
201
- url: '/clusters/{cluster_id}/fleets',
198
+ ...formDataBodySerializer,
199
+ url: '/tickets/{ticket_id}/messages',
202
200
  ...options,
203
201
  headers: {
204
- 'Content-Type': 'application/json',
202
+ 'Content-Type': null,
205
203
  ...options.headers
206
204
  }
207
205
  });
208
206
  }
209
207
  /**
210
- * Permanently delete fleet.
211
- *
212
- * This endpoint will permanently delete fleet. This operation cannot be undone. Your subscription will end by the end of the current billing period and you will not be able to receive credit for unused time. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
213
- *
214
- * This endpoint is available to administrators of the organization only.
215
- *
208
+ * Download a ticket attachment.
216
209
  */
217
- static deleteFleet(options) {
218
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
210
+ static getTicketAttachment(options) {
211
+ return (options.client ?? client).get({ url: '/tickets/{ticket_id}/attachments/{attachment_id}', ...options });
219
212
  }
213
+ }
214
+ export class RegistryService {
220
215
  /**
221
- * Get fleet information.
222
- *
223
- * Returns fleet details. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
216
+ * List repositories
224
217
  *
225
- * This endpoint is available to all users in the organization.
218
+ * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
226
219
  *
227
220
  */
228
- static getFleet(options) {
229
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
221
+ static listRepositories(options) {
222
+ return (options?.client ?? client).get({ url: '/registry', ...options });
230
223
  }
231
224
  /**
232
- * Update fleet information.
225
+ * List tags for a repository
233
226
  *
234
- * This endpoint allows you to update fleet details.
227
+ * Returns a list of tags for a specific repository, including size and metadata for each tag. This endpoint is available to all users in the organization.
235
228
  *
236
- * For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
229
+ */
230
+ static listTags(options) {
231
+ return (options.client ?? client).get({ url: '/registry/{region}/{repository}', ...options });
232
+ }
233
+ /**
234
+ * Delete tag
237
235
  *
238
- * This endpoint is available to administrators of the organization only.
236
+ * Permanently deletes a specific tag from a repository. This endpoint is available to administrators of the organization only.
239
237
  *
240
238
  */
241
- static updateFleet(options) {
242
- return (options.client ?? client).put({
243
- url: '/clusters/{cluster_id}/fleets/{fleet_name}',
244
- ...options,
245
- headers: {
246
- 'Content-Type': 'application/json',
247
- ...options.headers
248
- }
249
- });
239
+ static deleteTag(options) {
240
+ return (options.client ?? client).delete({ url: '/registry/{region}/{repository}/{tag}', ...options });
250
241
  }
251
242
  /**
252
- * Query Kubernetes cluster API
243
+ * Get tag details
244
+ *
245
+ * Returns detailed information for a specific tag in a repository, including manifest details, size, and URI. This endpoint is available to all users in the organization.
253
246
  *
254
- * An API endpoint for directly querying a Kubernetes cluster API without requiring kubectl or other tools. This endpoint is ideal for automation and scripting, as well as for internal use in fetching data for the Cloudfleet Console. It acts as a passthrough to the Kubernetes API, allowing access to any valid Kubernetes API endpoint, including those not exposed in the Cloudfleet Console. The endpoint is strictly read-only, ensuring no modifications to the cluster state. It is accessible to all users within the organization and uses the same authentication mechanisms as other Cloudfleet API endpoints.
255
247
  */
256
- static queryCluster(options) {
257
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
248
+ static getTag(options) {
249
+ return (options.client ?? client).get({ url: '/registry/{region}/{repository}/{tag}', ...options });
258
250
  }
251
+ }
252
+ export class OrganizationService {
259
253
  /**
260
- * List clusters.
254
+ * Get organization information.
261
255
  *
262
- * Returns a list of clusters under the current organization.
256
+ * Returns organization details including quota. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
263
257
  *
264
258
  * This endpoint is available to all users in the organization.
265
259
  *
266
260
  */
267
- static listClusters(options) {
268
- return (options?.client ?? client).get({ url: '/clusters', ...options });
261
+ static getOrganization(options) {
262
+ return (options?.client ?? client).get({ url: '/organization', ...options });
269
263
  }
270
264
  /**
271
- * Create a new cluster.
272
- *
273
- * Create a new cluster under the current organization. Clusters allow you to group resources and you can create multiple clusters under the same organization, with billing delegated to the parent organization.
265
+ * Create a new organization / Cloudfleet account signup.
274
266
  *
275
- * This endpoint is available to administrators of the organization only.
267
+ * This endpoint allows you to create a new Cloudfleet organization and an administrator user.
276
268
  *
277
269
  */
278
- static createCluster(options) {
270
+ static createOrganization(options) {
279
271
  return (options.client ?? client).post({
280
- url: '/clusters',
272
+ url: '/organization',
281
273
  ...options,
282
274
  headers: {
283
275
  'Content-Type': 'application/json',
@@ -286,38 +278,42 @@ export class ClustersService {
286
278
  });
287
279
  }
288
280
  /**
289
- * Permanently delete cluster.
281
+ * Get the organization's consent status for the new Basic price.
290
282
  *
291
- * This endpoint will permanently delete the cluster. This operation cannot be undone.
283
+ * Returns the organization's consent status for the migration from the free tier to the paid Basic plan. `pending` means an administrator must opt in; `not_applicable` means the organization is not in scope for the migration; `accepted` / `rejected` reflect a recorded decision.
292
284
  *
293
- * This endpoint is available to administrators of the organization only.
285
+ * This endpoint is available to all users in the organization and drives the consent dialog in the console.
294
286
  *
295
287
  */
296
- static deleteCluster(options) {
297
- return (options.client ?? client).delete({ url: '/clusters/{cluster_id}', ...options });
288
+ static getBasicPriceConsent(options) {
289
+ return (options?.client ?? client).get({ url: '/organization/basic-price-consent', ...options });
298
290
  }
299
291
  /**
300
- * Get cluster information.
301
- *
302
- * Returns cluster details.
292
+ * Record an administrator's decision on the new Basic price.
303
293
  *
304
- * This endpoint is available to all users in the organization.
294
+ * Records an affirmative decision to continue on the paid Basic plan (`accepted`) or to opt out (`rejected`). This is an organization-binding financial decision, so it is restricted to administrators. Each call appends an immutable audit entry (who and when) and sends a confirmation email to the acting administrator.
305
295
  *
306
296
  */
307
- static getCluster(options) {
308
- return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
297
+ static setBasicPriceConsent(options) {
298
+ return (options.client ?? client).post({
299
+ url: '/organization/basic-price-consent',
300
+ ...options,
301
+ headers: {
302
+ 'Content-Type': 'application/json',
303
+ ...options.headers
304
+ }
305
+ });
309
306
  }
307
+ }
308
+ export class McpService {
310
309
  /**
311
- * Update cluster information.
312
- *
313
- * This endpoint allows you to update cluster details such as name, tier, and Kubernetes version. For more information about clusters, see [Clusters](https://cloudfleet.ai/docs/cluster-management/cluster-types/) section of documentation.
314
- *
315
- * This endpoint is available to administrators of the organization only.
310
+ * MCP endpoint
316
311
  *
312
+ * MCP endpoint for handling Model Context Protocol JSON-RPC 2.0 messages.
317
313
  */
318
- static updateCluster(options) {
319
- return (options.client ?? client).put({
320
- url: '/clusters/{cluster_id}',
314
+ static postMcp(options) {
315
+ return (options.client ?? client).post({
316
+ url: '/mcp',
321
317
  ...options,
322
318
  headers: {
323
319
  'Content-Type': 'application/json',
@@ -325,14 +321,31 @@ export class ClustersService {
325
321
  }
326
322
  });
327
323
  }
324
+ }
325
+ export class ChartsMarketplaceService {
328
326
  /**
329
- * Node join information for the cluster
327
+ * List chart listings available in the marketplace.
330
328
  *
331
- * Returns the join information for the cluster. This information is used to add a self-managed nodes to the CFKE cluster. This endpoint is available to only admins of the organization.
329
+ * Returns a list of available charts in the marketplace.
330
+ *
331
+ * This endpoint is available to all users in the organization.
332
332
  *
333
333
  */
334
- static getJoinInformation(options) {
335
- return (options.client ?? client).post({ url: '/clusters/{cluster_id}/join_information', ...options });
334
+ static listMarketplaceCharts(options) {
335
+ return (options?.client ?? client).get({ url: '/marketplace', ...options });
336
+ }
337
+ /**
338
+ * Get chart files for a specific version channel.
339
+ *
340
+ * Returns the Chart.yaml, values.yaml, and values.schema.json files for the latest version matching the specified version channel.
341
+ *
342
+ * Version channels use patterns like "1.31.x-cfke.x" to match the latest patch version, or "1.x.x-cfke.x" to match the latest minor version.
343
+ *
344
+ * This endpoint is available to all users in the organization.
345
+ *
346
+ */
347
+ static getMarketplaceChartFiles(options) {
348
+ return (options.client ?? client).get({ url: '/marketplace/{chart_name}/files/{version_channel}', ...options });
336
349
  }
337
350
  }
338
351
  export class InvitesService {
@@ -380,41 +393,39 @@ export class InvitesService {
380
393
  return (options.client ?? client).delete({ url: '/invites/{email}', ...options });
381
394
  }
382
395
  }
383
- export class ChartsMarketplaceService {
396
+ export class ClustersService {
384
397
  /**
385
- * List chart listings available in the marketplace.
386
- *
387
- * Returns a list of available charts in the marketplace.
388
- *
389
- * This endpoint is available to all users in the organization.
398
+ * Query Kubernetes cluster API
390
399
  *
400
+ * An API endpoint for directly querying a Kubernetes cluster API without requiring kubectl or other tools. This endpoint is ideal for automation and scripting, as well as for internal use in fetching data for the Cloudfleet Console. It acts as a passthrough to the Kubernetes API, allowing access to any valid Kubernetes API endpoint, including those not exposed in the Cloudfleet Console. The endpoint is strictly read-only, ensuring no modifications to the cluster state. It is accessible to all users within the organization and uses the same authentication mechanisms as other Cloudfleet API endpoints.
391
401
  */
392
- static listMarketplaceCharts(options) {
393
- return (options?.client ?? client).get({ url: '/marketplace', ...options });
402
+ static queryCluster(options) {
403
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
394
404
  }
395
405
  /**
396
- * Get chart files for a specific version channel.
397
- *
398
- * Returns the Chart.yaml, values.yaml, and values.schema.json files for the latest version matching the specified version channel.
406
+ * List fleets.
399
407
  *
400
- * Version channels use patterns like "1.31.x-cfke.x" to match the latest patch version, or "1.x.x-cfke.x" to match the latest minor version.
408
+ * Returns a list of fleets belonging to the cluster. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
401
409
  *
402
410
  * This endpoint is available to all users in the organization.
403
411
  *
404
412
  */
405
- static getMarketplaceChartFiles(options) {
406
- return (options.client ?? client).get({ url: '/marketplace/{chart_name}/files/{version_channel}', ...options });
413
+ static listFleets(options) {
414
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets', ...options });
407
415
  }
408
- }
409
- export class McpService {
410
416
  /**
411
- * MCP endpoint
417
+ * Create a new fleet.
418
+ *
419
+ * Create a new fleet under the current organization. fleets allow you to to schedule workloads in cloud service provider accounts owned by you. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
420
+ *
421
+ * The cluster must be ready (status `deployed`) before a fleet can be added. Adding a fleet while the cluster is still provisioning returns `409`.
422
+ *
423
+ * This endpoint is available to administrators of the organization only.
412
424
  *
413
- * MCP endpoint for handling Model Context Protocol JSON-RPC 2.0 messages.
414
425
  */
415
- static postMcp(options) {
426
+ static createFleet(options) {
416
427
  return (options.client ?? client).post({
417
- url: '/mcp',
428
+ url: '/clusters/{cluster_id}/fleets',
418
429
  ...options,
419
430
  headers: {
420
431
  'Content-Type': 'application/json',
@@ -422,28 +433,45 @@ export class McpService {
422
433
  }
423
434
  });
424
435
  }
425
- }
426
- export class OrganizationService {
427
436
  /**
428
- * Get organization information.
437
+ * Permanently delete fleet.
429
438
  *
430
- * Returns organization details including quota. For more information about quotas, see [Quotas and limits](https://cloudfleet.ai/docs/organization/quotas/) section of documentaiton.
439
+ * This endpoint will permanently delete fleet. This operation cannot be undone. Your subscription will end by the end of the current billing period and you will not be able to receive credit for unused time. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
440
+ *
441
+ * Deleting a fleet does not deprovision the cloud infrastructure it provisioned: nodes and other resources keep running. Scale the cluster down first, or remove the infrastructure manually, to avoid orphaned resources.
442
+ *
443
+ * This endpoint is available to administrators of the organization only.
444
+ *
445
+ */
446
+ static deleteFleet(options) {
447
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
448
+ }
449
+ /**
450
+ * Get fleet information.
451
+ *
452
+ * Returns fleet details. For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
431
453
  *
432
454
  * This endpoint is available to all users in the organization.
433
455
  *
434
456
  */
435
- static getOrganization(options) {
436
- return (options?.client ?? client).get({ url: '/organization', ...options });
457
+ static getFleet(options) {
458
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/fleets/{fleet_name}', ...options });
437
459
  }
438
460
  /**
439
- * Create a new organization / Cloudfleet account signup.
461
+ * Update fleet information.
440
462
  *
441
- * This endpoint allows you to create a new Cloudfleet organization and an administrator user.
463
+ * This endpoint allows you to update fleet details.
464
+ *
465
+ * For more information, see [Fleets](https://cloudfleet.ai/docs/cloud-infrastructure/fleets/) section of documentaiton.
466
+ *
467
+ * This is a full overwrite: any field omitted from the request is reset to its default rather than left unchanged. The Hetzner API key is the exception: it is kept when omitted (send a new value to rotate it).
468
+ *
469
+ * This endpoint is available to administrators of the organization only.
442
470
  *
443
471
  */
444
- static createOrganization(options) {
445
- return (options.client ?? client).post({
446
- url: '/organization',
472
+ static updateFleet(options) {
473
+ return (options.client ?? client).put({
474
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}',
447
475
  ...options,
448
476
  headers: {
449
477
  'Content-Type': 'application/json',
@@ -451,132 +479,141 @@ export class OrganizationService {
451
479
  }
452
480
  });
453
481
  }
454
- }
455
- export class RegistryService {
456
482
  /**
457
- * List repositories
458
- *
459
- * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
483
+ * List charts.
460
484
  *
461
- */
462
- static listRepositories(options) {
463
- return (options?.client ?? client).get({ url: '/registry', ...options });
464
- }
465
- /**
466
- * List tags for a repository
485
+ * Returns a list of charts in the cluster.
467
486
  *
468
- * Returns a list of tags for a specific repository, including size and metadata for each tag. This endpoint is available to all users in the organization.
487
+ * This endpoint is available to all users in the organization.
469
488
  *
470
489
  */
471
- static listTags(options) {
472
- return (options.client ?? client).get({ url: '/registry/{region}/{repository}', ...options });
490
+ static listCharts(options) {
491
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts', ...options });
473
492
  }
474
493
  /**
475
- * Delete tag
494
+ * Create a new chart.
476
495
  *
477
- * Permanently deletes a specific tag from a repository. This endpoint is available to administrators of the organization only.
496
+ * Create a new chart deployment.
497
+ *
498
+ * This endpoint is available to administrators of the organization only.
478
499
  *
479
500
  */
480
- static deleteTag(options) {
481
- return (options.client ?? client).delete({ url: '/registry/{region}/{repository}/{tag}', ...options });
501
+ static createChart(options) {
502
+ return (options.client ?? client).post({
503
+ url: '/clusters/{cluster_id}/charts',
504
+ ...options,
505
+ headers: {
506
+ 'Content-Type': 'application/json',
507
+ ...options.headers
508
+ }
509
+ });
482
510
  }
483
511
  /**
484
- * Get tag details
512
+ * Permanently delete the chart deployment from the cluster.
485
513
  *
486
- * Returns detailed information for a specific tag in a repository, including manifest details, size, and URI. This endpoint is available to all users in the organization.
514
+ * This endpoint will permanently delete chart. This operation cannot be undone.
515
+ *
516
+ * This endpoint is available to administrators of the organization only.
487
517
  *
488
518
  */
489
- static getTag(options) {
490
- return (options.client ?? client).get({ url: '/registry/{region}/{repository}/{tag}', ...options });
519
+ static deleteChart(options) {
520
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
491
521
  }
492
- }
493
- export class TicketsService {
494
522
  /**
495
- * List tickets for the current organization.
523
+ * Get chart information.
496
524
  *
497
- * Returns all tickets belonging to the caller's organization, newest first.
525
+ * Returns the details of the chart deployment.
526
+ *
527
+ * This endpoint is available to all users in the organization.
498
528
  *
499
529
  */
500
- static listTickets(options) {
501
- return (options?.client ?? client).get({ url: '/tickets', ...options });
530
+ static getChart(options) {
531
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/charts/{chart_name}', ...options });
502
532
  }
503
533
  /**
504
- * Create a new support ticket.
534
+ * Update chart information.
505
535
  *
506
- * Creates a new support ticket with an initial customer message. The request is `multipart/form-data` with a JSON-encoded `payload` field carrying `category`, `body`, and optional `properties`, plus up to 3 `attachments` files (10 MB max each).
536
+ * This endpoint allows you to update the values of a chart deployment.
537
+ *
538
+ * This endpoint is available to administrators of the organization only.
507
539
  *
508
540
  */
509
- static createTicket(options) {
510
- return (options.client ?? client).post({
511
- ...formDataBodySerializer,
512
- url: '/tickets',
541
+ static updateChart(options) {
542
+ return (options.client ?? client).put({
543
+ url: '/clusters/{cluster_id}/charts/{chart_name}',
513
544
  ...options,
514
545
  headers: {
515
- 'Content-Type': null,
546
+ 'Content-Type': 'application/json',
516
547
  ...options.headers
517
548
  }
518
549
  });
519
550
  }
520
551
  /**
521
- * Close a ticket (soft close).
552
+ * List clusters.
522
553
  *
523
- * Marks the ticket as closed. Closed is a terminal state users cannot reply to a closed ticket; a new ticket must be opened instead.
554
+ * Returns a list of clusters under the current organization.
555
+ *
556
+ * This endpoint is available to all users in the organization.
524
557
  *
525
558
  */
526
- static closeTicket(options) {
527
- return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
528
- }
529
- /**
530
- * Get a ticket and its messages.
531
- */
532
- static getTicket(options) {
533
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
559
+ static listClusters(options) {
560
+ return (options?.client ?? client).get({ url: '/clusters', ...options });
534
561
  }
535
562
  /**
536
- * Append a customer reply to a ticket.
563
+ * Create a new cluster.
537
564
  *
538
- * Multipart form-data with a JSON-encoded `payload` field carrying `body`, plus up to 3 `attachments` files. Returns 409 if the ticket is closed.
565
+ * Create a new cluster under the current organization. Clusters allow you to group resources and you can create multiple clusters under the same organization, with billing delegated to the parent organization.
566
+ *
567
+ * This endpoint is available to administrators of the organization only.
539
568
  *
540
569
  */
541
- static replyTicket(options) {
570
+ static createCluster(options) {
542
571
  return (options.client ?? client).post({
543
- ...formDataBodySerializer,
544
- url: '/tickets/{ticket_id}/messages',
572
+ url: '/clusters',
545
573
  ...options,
546
574
  headers: {
547
- 'Content-Type': null,
575
+ 'Content-Type': 'application/json',
548
576
  ...options.headers
549
577
  }
550
578
  });
551
579
  }
552
580
  /**
553
- * Download a ticket attachment.
581
+ * Permanently delete cluster.
582
+ *
583
+ * This endpoint will permanently delete the cluster. This operation cannot be undone.
584
+ *
585
+ * Deleting a cluster also deletes its fleets. This does not deprovision the cloud infrastructure those fleets provisioned: nodes and other resources keep running. Scale the cluster down first, or remove the infrastructure manually, to avoid orphaned resources.
586
+ *
587
+ * This endpoint is available to administrators of the organization only.
588
+ *
554
589
  */
555
- static getTicketAttachment(options) {
556
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}/attachments/{attachment_id}', ...options });
590
+ static deleteCluster(options) {
591
+ return (options.client ?? client).delete({ url: '/clusters/{cluster_id}', ...options });
557
592
  }
558
- }
559
- export class TokensService {
560
593
  /**
561
- * List access tokens in organization.
594
+ * Get cluster information.
562
595
  *
563
- * This endpoint allows you to get a list of all access tokens details in organization. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
596
+ * Returns cluster details.
597
+ *
598
+ * This endpoint is available to all users in the organization.
564
599
  *
565
600
  */
566
- static listTokens(options) {
567
- return (options?.client ?? client).get({ url: '/tokens', ...options });
601
+ static getCluster(options) {
602
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
568
603
  }
569
604
  /**
570
- * Create a new access token.
605
+ * Update cluster information.
571
606
  *
572
- * This endpoint allows you to create a new access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
607
+ * This endpoint allows you to update cluster details. For more information about clusters, see [Clusters](https://cloudfleet.ai/docs/cluster-management/cluster-types/) section of documentation.
608
+ *
609
+ * This is a full overwrite: any field omitted from the request is reset to its default rather than left unchanged.
573
610
  *
574
611
  * This endpoint is available to administrators of the organization only.
575
612
  *
576
613
  */
577
- static createToken(options) {
578
- return (options.client ?? client).post({
579
- url: '/tokens',
614
+ static updateCluster(options) {
615
+ return (options.client ?? client).put({
616
+ url: '/clusters/{cluster_id}',
580
617
  ...options,
581
618
  headers: {
582
619
  'Content-Type': 'application/json',
@@ -585,77 +622,88 @@ export class TokensService {
585
622
  });
586
623
  }
587
624
  /**
588
- * Permanently delete access token.
625
+ * Node join information for the cluster
589
626
  *
590
- * This endpoint allows you to delete an access token. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to administrators of the organization only.
627
+ * Returns the join information for the cluster. This information is used to add a self-managed nodes to the CFKE cluster. This endpoint is available to only admins of the organization.
591
628
  *
592
629
  */
593
- static deleteToken(options) {
594
- return (options.client ?? client).delete({ url: '/tokens/{token_id}', ...options });
630
+ static getJoinInformation(options) {
631
+ return (options.client ?? client).post({ url: '/clusters/{cluster_id}/join_information', ...options });
595
632
  }
633
+ }
634
+ export class BillingService {
596
635
  /**
597
- * Get access token information.
636
+ * Get billing usage information.
598
637
  *
599
- * This endpoint allows you to get access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton. This endpoint is available to all users in the organization.
638
+ * Returns aggregated usage information for the organization with facets for filtering. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
600
639
  *
601
640
  */
602
- static getToken(options) {
603
- return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
641
+ static getUsage(options) {
642
+ return (options?.client ?? client).get({ url: '/billing/usage', ...options });
604
643
  }
605
644
  /**
606
- * Update access token information.
645
+ * Get Stripe client secret.
607
646
  *
608
- * This endpoint allows you to update access token details. For more information about identity access management and security, see [Service Accounts](https://cloudfleet.ai/docs/organization/api-tokens/) section of documentaiton.
647
+ * Endpoint returns the Stripe secret key for the organization. This key is used to securely update the payment method in the Cloudfleet console only, please visit https://console.cloudfleet.ai. This endpoint is available to administrators of the organization only.
609
648
  *
610
- * This endpoint is available to administrators of the organization only.
649
+ */
650
+ static getPaymentMethodSecret(options) {
651
+ return (options?.client ?? client).put({ url: '/billing/payment-method', ...options });
652
+ }
653
+ /**
654
+ * List organization payment methods.
655
+ *
656
+ * Returns all payment methods (cards and SEPA Direct Debit) attached to the organization, most recently added first, with the default flagged. This endpoint is available to all users in the organization.
611
657
  *
612
658
  */
613
- static updateToken(options) {
614
- return (options.client ?? client).put({
615
- url: '/tokens/{token_id}',
616
- ...options,
617
- headers: {
618
- 'Content-Type': 'application/json',
619
- ...options.headers
620
- }
621
- });
659
+ static listPaymentMethods(options) {
660
+ return (options?.client ?? client).get({ url: '/billing/payment-methods', ...options });
622
661
  }
623
662
  /**
624
- * Regenerate access token secret key.
663
+ * Set the default payment method.
664
+ *
665
+ * Sets the given payment method as the default used for invoices and active subscriptions. Requires the Administrator role.
625
666
  *
626
- * Generates a new access token secret. Old secret will not be valid anymore.
627
667
  */
628
- static regenerateToken(options) {
629
- return (options.client ?? client).put({ url: '/tokens/{token_id}/secret', ...options });
668
+ static setDefaultPaymentMethod(options) {
669
+ return (options.client ?? client).put({ url: '/billing/payment-methods/{paymentMethodId}/default', ...options });
630
670
  }
631
- }
632
- export class UsersService {
633
671
  /**
634
- * Get a list of organizations the user belongs to. Used during authentication process.
672
+ * Delete a payment method.
673
+ *
674
+ * Detaches the given payment method from the organization. Requires the Administrator role. An organization must keep at least one payment method, so deleting the only remaining method is rejected.
675
+ *
635
676
  */
636
- static listUserOrganizations(options) {
637
- return (options.client ?? client).get({ url: '/users/organizations/{email}', ...options });
677
+ static deletePaymentMethod(options) {
678
+ return (options.client ?? client).delete({ url: '/billing/payment-methods/{paymentMethodId}', ...options });
638
679
  }
639
680
  /**
640
- * List users in organization.
681
+ * List issued invoices.
641
682
  *
642
- * Returns a list of user details and their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
683
+ * Returns a list of invoices for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
643
684
  *
644
- * This endpoint is available to all users in the organization.
685
+ */
686
+ static listInvoices(options) {
687
+ return (options?.client ?? client).get({ url: '/billing/invoices', ...options });
688
+ }
689
+ /**
690
+ * Get organization contact and billing address information.
691
+ *
692
+ * Returns the organization contact and billing address information. This endpoint is available to all users in the organization.
645
693
  *
646
694
  */
647
- static listUsers(options) {
648
- return (options?.client ?? client).get({ url: '/users', ...options });
695
+ static getContact(options) {
696
+ return (options?.client ?? client).get({ url: '/billing/contact', ...options });
649
697
  }
650
698
  /**
651
- * Create a new user.
699
+ * Update organization contact information and billing address.
652
700
  *
653
- * Create a new user in your Cloudfleet organization. Requires a valid invite code generated by the `invites create` command. The invite code is a unique string that can be used only once to create a new user. The invite code is generated by the `POST /invites` endpoint.
701
+ * This endpoint allows you to update organization details with its contact information. This endpoint is available to administrators of the organization only.
654
702
  *
655
703
  */
656
- static createUser(options) {
657
- return (options.client ?? client).post({
658
- url: '/users',
704
+ static updateContact(options) {
705
+ return (options.client ?? client).put({
706
+ url: '/billing/contact',
659
707
  ...options,
660
708
  headers: {
661
709
  'Content-Type': 'application/json',
@@ -664,34 +712,23 @@ export class UsersService {
664
712
  });
665
713
  }
666
714
  /**
667
- * Delete user by id.
668
- *
669
- * Sets user status to `inactive`. Inactive users cannot log in and manage organization resources. This endpoint is available to administrators of the organization only.
670
- *
671
- */
672
- static deleteUser(options) {
673
- return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
674
- }
675
- /**
676
- * Get user profile information by id.
677
- *
678
- * Returns user details including their roles. For more information on identity access management, see [Users](https://cloudfleet.ai/docs/organization/users/) section of documentaiton.
715
+ * Get applied promotional credits
679
716
  *
680
- * This endpoint is available to all users in the organization.
717
+ * Returns applied promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
681
718
  *
682
719
  */
683
- static getUser(options) {
684
- return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
720
+ static getCredits(options) {
721
+ return (options?.client ?? client).get({ url: '/billing/credits', ...options });
685
722
  }
686
723
  /**
687
- * Update user profile information.
724
+ * Redeem promotional credits code.
688
725
  *
689
- * Update user profile information: email, first name, last name, role. This endpoint can be accessed by administrators and the user itself. Role and status can be changed by administrators only.
726
+ * Applies promotional credits for the organization. For more information on billing and payments, see [Billing and pricing](https://cloudfleet.ai/docs/organization/billing/) section of documentaiton. This endpoint is available to all users in the organization.
690
727
  *
691
728
  */
692
- static updateUser(options) {
693
- return (options.client ?? client).put({
694
- url: '/users/{user_id}',
729
+ static redeemCredits(options) {
730
+ return (options.client ?? client).post({
731
+ url: '/billing/credits',
695
732
  ...options,
696
733
  headers: {
697
734
  'Content-Type': 'application/json',