@cloudfleet/sdk 0.0.1-bbca6e3 → 0.0.1-bc3dfb7

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,40 +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.
292
- *
293
- * Deletion is synchronous: a `200` response means the cluster has been torn down (this can take some time for larger clusters). Deleting a cluster that does not exist or has already been deleted returns `404`.
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.
294
284
  *
295
- * 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.
296
286
  *
297
287
  */
298
- static deleteCluster(options) {
299
- 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 });
300
290
  }
301
291
  /**
302
- * Get cluster information.
292
+ * Record an administrator's decision on the new Basic price.
303
293
  *
304
- * Returns cluster details.
305
- *
306
- * 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.
307
295
  *
308
296
  */
309
- static getCluster(options) {
310
- 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
+ });
311
306
  }
307
+ }
308
+ export class McpService {
312
309
  /**
313
- * Update cluster information.
314
- *
315
- * 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.
316
- *
317
- * This endpoint is available to administrators of the organization only.
310
+ * MCP endpoint
318
311
  *
312
+ * MCP endpoint for handling Model Context Protocol JSON-RPC 2.0 messages.
319
313
  */
320
- static updateCluster(options) {
321
- return (options.client ?? client).put({
322
- url: '/clusters/{cluster_id}',
314
+ static postMcp(options) {
315
+ return (options.client ?? client).post({
316
+ url: '/mcp',
323
317
  ...options,
324
318
  headers: {
325
319
  'Content-Type': 'application/json',
@@ -327,14 +321,31 @@ export class ClustersService {
327
321
  }
328
322
  });
329
323
  }
324
+ }
325
+ export class ChartsMarketplaceService {
330
326
  /**
331
- * Node join information for the cluster
327
+ * List chart listings available in the marketplace.
332
328
  *
333
- * 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.
334
332
  *
335
333
  */
336
- static getJoinInformation(options) {
337
- 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 });
338
349
  }
339
350
  }
340
351
  export class InvitesService {
@@ -382,41 +393,39 @@ export class InvitesService {
382
393
  return (options.client ?? client).delete({ url: '/invites/{email}', ...options });
383
394
  }
384
395
  }
385
- export class ChartsMarketplaceService {
396
+ export class ClustersService {
386
397
  /**
387
- * List chart listings available in the marketplace.
388
- *
389
- * Returns a list of available charts in the marketplace.
390
- *
391
- * This endpoint is available to all users in the organization.
398
+ * Query Kubernetes cluster API
392
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.
393
401
  */
394
- static listMarketplaceCharts(options) {
395
- return (options?.client ?? client).get({ url: '/marketplace', ...options });
402
+ static queryCluster(options) {
403
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}/query', ...options });
396
404
  }
397
405
  /**
398
- * Get chart files for a specific version channel.
399
- *
400
- * Returns the Chart.yaml, values.yaml, and values.schema.json files for the latest version matching the specified version channel.
406
+ * List fleets.
401
407
  *
402
- * 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.
403
409
  *
404
410
  * This endpoint is available to all users in the organization.
405
411
  *
406
412
  */
407
- static getMarketplaceChartFiles(options) {
408
- 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 });
409
415
  }
410
- }
411
- export class McpService {
412
416
  /**
413
- * 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.
414
424
  *
415
- * MCP endpoint for handling Model Context Protocol JSON-RPC 2.0 messages.
416
425
  */
417
- static postMcp(options) {
426
+ static createFleet(options) {
418
427
  return (options.client ?? client).post({
419
- url: '/mcp',
428
+ url: '/clusters/{cluster_id}/fleets',
420
429
  ...options,
421
430
  headers: {
422
431
  'Content-Type': 'application/json',
@@ -424,28 +433,45 @@ export class McpService {
424
433
  }
425
434
  });
426
435
  }
427
- }
428
- export class OrganizationService {
429
436
  /**
430
- * Get organization information.
437
+ * Permanently delete fleet.
431
438
  *
432
- * 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.
433
453
  *
434
454
  * This endpoint is available to all users in the organization.
435
455
  *
436
456
  */
437
- static getOrganization(options) {
438
- 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 });
439
459
  }
440
460
  /**
441
- * Create a new organization / Cloudfleet account signup.
461
+ * Update fleet information.
442
462
  *
443
- * 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.
444
470
  *
445
471
  */
446
- static createOrganization(options) {
447
- return (options.client ?? client).post({
448
- url: '/organization',
472
+ static updateFleet(options) {
473
+ return (options.client ?? client).put({
474
+ url: '/clusters/{cluster_id}/fleets/{fleet_name}',
449
475
  ...options,
450
476
  headers: {
451
477
  'Content-Type': 'application/json',
@@ -453,132 +479,141 @@ export class OrganizationService {
453
479
  }
454
480
  });
455
481
  }
456
- }
457
- export class RegistryService {
458
482
  /**
459
- * List repositories
460
- *
461
- * Returns a list of repositories in the registry across all regions. This endpoint is available to all users in the organization.
483
+ * List charts.
462
484
  *
463
- */
464
- static listRepositories(options) {
465
- return (options?.client ?? client).get({ url: '/registry', ...options });
466
- }
467
- /**
468
- * List tags for a repository
485
+ * Returns a list of charts in the cluster.
469
486
  *
470
- * 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.
471
488
  *
472
489
  */
473
- static listTags(options) {
474
- 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 });
475
492
  }
476
493
  /**
477
- * Delete tag
494
+ * Create a new chart.
478
495
  *
479
- * 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.
480
499
  *
481
500
  */
482
- static deleteTag(options) {
483
- 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
+ });
484
510
  }
485
511
  /**
486
- * Get tag details
512
+ * Permanently delete the chart deployment from the cluster.
487
513
  *
488
- * 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.
489
517
  *
490
518
  */
491
- static getTag(options) {
492
- 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 });
493
521
  }
494
- }
495
- export class TicketsService {
496
522
  /**
497
- * List tickets for the current organization.
523
+ * Get chart information.
498
524
  *
499
- * 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.
500
528
  *
501
529
  */
502
- static listTickets(options) {
503
- 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 });
504
532
  }
505
533
  /**
506
- * Create a new support ticket.
534
+ * Update chart information.
507
535
  *
508
- * 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.
509
539
  *
510
540
  */
511
- static createTicket(options) {
512
- return (options.client ?? client).post({
513
- ...formDataBodySerializer,
514
- url: '/tickets',
541
+ static updateChart(options) {
542
+ return (options.client ?? client).put({
543
+ url: '/clusters/{cluster_id}/charts/{chart_name}',
515
544
  ...options,
516
545
  headers: {
517
- 'Content-Type': null,
546
+ 'Content-Type': 'application/json',
518
547
  ...options.headers
519
548
  }
520
549
  });
521
550
  }
522
551
  /**
523
- * Close a ticket (soft close).
552
+ * List clusters.
524
553
  *
525
- * 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.
526
557
  *
527
558
  */
528
- static closeTicket(options) {
529
- return (options.client ?? client).delete({ url: '/tickets/{ticket_id}', ...options });
530
- }
531
- /**
532
- * Get a ticket and its messages.
533
- */
534
- static getTicket(options) {
535
- return (options.client ?? client).get({ url: '/tickets/{ticket_id}', ...options });
559
+ static listClusters(options) {
560
+ return (options?.client ?? client).get({ url: '/clusters', ...options });
536
561
  }
537
562
  /**
538
- * Append a customer reply to a ticket.
563
+ * Create a new cluster.
539
564
  *
540
- * 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.
541
568
  *
542
569
  */
543
- static replyTicket(options) {
570
+ static createCluster(options) {
544
571
  return (options.client ?? client).post({
545
- ...formDataBodySerializer,
546
- url: '/tickets/{ticket_id}/messages',
572
+ url: '/clusters',
547
573
  ...options,
548
574
  headers: {
549
- 'Content-Type': null,
575
+ 'Content-Type': 'application/json',
550
576
  ...options.headers
551
577
  }
552
578
  });
553
579
  }
554
580
  /**
555
- * 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
+ *
556
589
  */
557
- static getTicketAttachment(options) {
558
- 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 });
559
592
  }
560
- }
561
- export class TokensService {
562
593
  /**
563
- * List access tokens in organization.
594
+ * Get cluster information.
564
595
  *
565
- * 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.
566
599
  *
567
600
  */
568
- static listTokens(options) {
569
- return (options?.client ?? client).get({ url: '/tokens', ...options });
601
+ static getCluster(options) {
602
+ return (options.client ?? client).get({ url: '/clusters/{cluster_id}', ...options });
570
603
  }
571
604
  /**
572
- * Create a new access token.
605
+ * Update cluster information.
573
606
  *
574
- * 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.
575
610
  *
576
611
  * This endpoint is available to administrators of the organization only.
577
612
  *
578
613
  */
579
- static createToken(options) {
580
- return (options.client ?? client).post({
581
- url: '/tokens',
614
+ static updateCluster(options) {
615
+ return (options.client ?? client).put({
616
+ url: '/clusters/{cluster_id}',
582
617
  ...options,
583
618
  headers: {
584
619
  'Content-Type': 'application/json',
@@ -587,77 +622,88 @@ export class TokensService {
587
622
  });
588
623
  }
589
624
  /**
590
- * Permanently delete access token.
625
+ * Node join information for the cluster
591
626
  *
592
- * 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.
593
628
  *
594
629
  */
595
- static deleteToken(options) {
596
- 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 });
597
632
  }
633
+ }
634
+ export class BillingService {
598
635
  /**
599
- * Get access token information.
636
+ * Get billing usage information.
600
637
  *
601
- * 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.
602
639
  *
603
640
  */
604
- static getToken(options) {
605
- return (options.client ?? client).get({ url: '/tokens/{token_id}', ...options });
641
+ static getUsage(options) {
642
+ return (options?.client ?? client).get({ url: '/billing/usage', ...options });
606
643
  }
607
644
  /**
608
- * Update access token information.
645
+ * Get Stripe client secret.
609
646
  *
610
- * 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.
611
648
  *
612
- * 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.
613
657
  *
614
658
  */
615
- static updateToken(options) {
616
- return (options.client ?? client).put({
617
- url: '/tokens/{token_id}',
618
- ...options,
619
- headers: {
620
- 'Content-Type': 'application/json',
621
- ...options.headers
622
- }
623
- });
659
+ static listPaymentMethods(options) {
660
+ return (options?.client ?? client).get({ url: '/billing/payment-methods', ...options });
624
661
  }
625
662
  /**
626
- * 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.
627
666
  *
628
- * Generates a new access token secret. Old secret will not be valid anymore.
629
667
  */
630
- static regenerateToken(options) {
631
- 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 });
632
670
  }
633
- }
634
- export class UsersService {
635
671
  /**
636
- * 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
+ *
637
676
  */
638
- static listUserOrganizations(options) {
639
- 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 });
640
679
  }
641
680
  /**
642
- * List users in organization.
681
+ * List issued invoices.
643
682
  *
644
- * 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.
645
684
  *
646
- * 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.
647
693
  *
648
694
  */
649
- static listUsers(options) {
650
- return (options?.client ?? client).get({ url: '/users', ...options });
695
+ static getContact(options) {
696
+ return (options?.client ?? client).get({ url: '/billing/contact', ...options });
651
697
  }
652
698
  /**
653
- * Create a new user.
699
+ * Update organization contact information and billing address.
654
700
  *
655
- * 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.
656
702
  *
657
703
  */
658
- static createUser(options) {
659
- return (options.client ?? client).post({
660
- url: '/users',
704
+ static updateContact(options) {
705
+ return (options.client ?? client).put({
706
+ url: '/billing/contact',
661
707
  ...options,
662
708
  headers: {
663
709
  'Content-Type': 'application/json',
@@ -666,34 +712,23 @@ export class UsersService {
666
712
  });
667
713
  }
668
714
  /**
669
- * Delete user by id.
670
- *
671
- * Sets user status to `inactive`. Inactive users cannot log in and manage organization resources. This endpoint is available to administrators of the organization only.
672
- *
673
- */
674
- static deleteUser(options) {
675
- return (options.client ?? client).delete({ url: '/users/{user_id}', ...options });
676
- }
677
- /**
678
- * Get user profile information by id.
679
- *
680
- * 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
681
716
  *
682
- * 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.
683
718
  *
684
719
  */
685
- static getUser(options) {
686
- return (options.client ?? client).get({ url: '/users/{user_id}', ...options });
720
+ static getCredits(options) {
721
+ return (options?.client ?? client).get({ url: '/billing/credits', ...options });
687
722
  }
688
723
  /**
689
- * Update user profile information.
724
+ * Redeem promotional credits code.
690
725
  *
691
- * 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.
692
727
  *
693
728
  */
694
- static updateUser(options) {
695
- return (options.client ?? client).put({
696
- url: '/users/{user_id}',
729
+ static redeemCredits(options) {
730
+ return (options.client ?? client).post({
731
+ url: '/billing/credits',
697
732
  ...options,
698
733
  headers: {
699
734
  'Content-Type': 'application/json',