latitudesh-typescript-sdk 0.3.7 → 0.3.9
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/README.md +5 -3
- package/bin/mcp-server.js +378 -220
- package/bin/mcp-server.js.map +16 -13
- package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts +24 -0
- package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
- package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.js +118 -0
- package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
- package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts +14 -3
- package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
- package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.js +14 -3
- package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
- package/dist/commonjs/lib/config.d.ts +3 -3
- package/dist/commonjs/lib/config.js +3 -3
- package/dist/commonjs/lib/config.js.map +1 -1
- package/dist/commonjs/lib/encodings.d.ts +1 -0
- package/dist/commonjs/lib/encodings.d.ts.map +1 -1
- package/dist/commonjs/lib/encodings.js +7 -0
- package/dist/commonjs/lib/encodings.js.map +1 -1
- package/dist/commonjs/mcp-server/mcp-server.js +1 -1
- package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
- package/dist/commonjs/mcp-server/server.js +3 -1
- package/dist/commonjs/mcp-server/server.js.map +1 -1
- package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts +3 -0
- package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
- package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js +33 -0
- package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
- package/dist/commonjs/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
- package/dist/commonjs/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js +14 -3
- package/dist/commonjs/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
- package/dist/commonjs/models/index.d.ts +1 -0
- package/dist/commonjs/models/index.d.ts.map +1 -1
- package/dist/commonjs/models/index.js +1 -0
- package/dist/commonjs/models/index.js.map +1 -1
- package/dist/commonjs/models/kubernetesavailableversions.d.ts +41 -0
- package/dist/commonjs/models/kubernetesavailableversions.d.ts.map +1 -0
- package/dist/commonjs/models/kubernetesavailableversions.js +78 -0
- package/dist/commonjs/models/kubernetesavailableversions.js.map +1 -0
- package/dist/commonjs/models/kubernetesclusterdata.d.ts +27 -0
- package/dist/commonjs/models/kubernetesclusterdata.d.ts.map +1 -1
- package/dist/commonjs/models/kubernetesclusterdata.js +22 -1
- package/dist/commonjs/models/kubernetesclusterdata.js.map +1 -1
- package/dist/commonjs/models/kubernetesclusterupdateresponse.d.ts +9 -3
- package/dist/commonjs/models/kubernetesclusterupdateresponse.d.ts.map +1 -1
- package/dist/commonjs/models/kubernetesclusterupdateresponse.js +6 -1
- package/dist/commonjs/models/kubernetesclusterupdateresponse.js.map +1 -1
- package/dist/commonjs/models/updatekubernetescluster.d.ts +9 -4
- package/dist/commonjs/models/updatekubernetescluster.d.ts.map +1 -1
- package/dist/commonjs/models/updatekubernetescluster.js +4 -0
- package/dist/commonjs/models/updatekubernetescluster.js.map +1 -1
- package/dist/commonjs/sdk/kubernetesclusters.d.ts +27 -3
- package/dist/commonjs/sdk/kubernetesclusters.d.ts.map +1 -1
- package/dist/commonjs/sdk/kubernetesclusters.js +30 -3
- package/dist/commonjs/sdk/kubernetesclusters.js.map +1 -1
- package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts +24 -0
- package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
- package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.js +82 -0
- package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
- package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts +14 -3
- package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
- package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.js +14 -3
- package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
- package/dist/esm/lib/config.d.ts +3 -3
- package/dist/esm/lib/config.js +3 -3
- package/dist/esm/lib/config.js.map +1 -1
- package/dist/esm/lib/encodings.d.ts +1 -0
- package/dist/esm/lib/encodings.d.ts.map +1 -1
- package/dist/esm/lib/encodings.js +6 -0
- package/dist/esm/lib/encodings.js.map +1 -1
- package/dist/esm/mcp-server/mcp-server.js +1 -1
- package/dist/esm/mcp-server/server.d.ts.map +1 -1
- package/dist/esm/mcp-server/server.js +3 -1
- package/dist/esm/mcp-server/server.js.map +1 -1
- package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts +3 -0
- package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
- package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js +30 -0
- package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
- package/dist/esm/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
- package/dist/esm/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js +14 -3
- package/dist/esm/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.d.ts.map +1 -1
- package/dist/esm/models/index.js +1 -0
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/models/kubernetesavailableversions.d.ts +41 -0
- package/dist/esm/models/kubernetesavailableversions.d.ts.map +1 -0
- package/dist/esm/models/kubernetesavailableversions.js +38 -0
- package/dist/esm/models/kubernetesavailableversions.js.map +1 -0
- package/dist/esm/models/kubernetesclusterdata.d.ts +27 -0
- package/dist/esm/models/kubernetesclusterdata.d.ts.map +1 -1
- package/dist/esm/models/kubernetesclusterdata.js +21 -0
- package/dist/esm/models/kubernetesclusterdata.js.map +1 -1
- package/dist/esm/models/kubernetesclusterupdateresponse.d.ts +9 -3
- package/dist/esm/models/kubernetesclusterupdateresponse.d.ts.map +1 -1
- package/dist/esm/models/kubernetesclusterupdateresponse.js +6 -1
- package/dist/esm/models/kubernetesclusterupdateresponse.js.map +1 -1
- package/dist/esm/models/updatekubernetescluster.d.ts +9 -4
- package/dist/esm/models/updatekubernetescluster.d.ts.map +1 -1
- package/dist/esm/models/updatekubernetescluster.js +4 -0
- package/dist/esm/models/updatekubernetescluster.js.map +1 -1
- package/dist/esm/sdk/kubernetesclusters.d.ts +27 -3
- package/dist/esm/sdk/kubernetesclusters.d.ts.map +1 -1
- package/dist/esm/sdk/kubernetesclusters.js +30 -3
- package/dist/esm/sdk/kubernetesclusters.js.map +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/funcs/kubernetesClustersListKubernetesAvailableVersions.ts +161 -0
- package/src/funcs/kubernetesClustersUpdateKubernetesCluster.ts +14 -3
- package/src/lib/config.ts +3 -3
- package/src/lib/encodings.ts +9 -0
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +3 -1
- package/src/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.ts +39 -0
- package/src/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.ts +14 -3
- package/src/models/index.ts +1 -0
- package/src/models/kubernetesavailableversions.ts +113 -0
- package/src/models/kubernetesclusterdata.ts +41 -0
- package/src/models/kubernetesclusterupdateresponse.ts +13 -3
- package/src/models/updatekubernetescluster.ts +13 -4
- package/src/sdk/kubernetesclusters.ts +36 -3
|
@@ -14,9 +14,11 @@ export const tool$kubernetesClustersUpdateKubernetesCluster: ToolDefinition<
|
|
|
14
14
|
typeof args
|
|
15
15
|
> = {
|
|
16
16
|
name: "kubernetes-clusters-update-kubernetes-cluster",
|
|
17
|
-
description: `
|
|
17
|
+
description: `Update Kubernetes Cluster
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Updates a Kubernetes cluster by scaling nodes or upgrading the Kubernetes version. The cluster must be in \`Provisioned\` phase to accept updates.
|
|
20
|
+
|
|
21
|
+
## Scaling Operations
|
|
20
22
|
|
|
21
23
|
Exactly one of \`worker_count\` or \`control_plane_count\` must be provided per request. You cannot scale workers and control plane nodes in the same request.
|
|
22
24
|
|
|
@@ -26,7 +28,16 @@ When scaling from 0 workers, you must provide a \`worker_plan\` since there is n
|
|
|
26
28
|
|
|
27
29
|
Control plane scaling has a minimum of 1 node. You cannot scale control plane nodes to zero.
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
## Version Upgrades
|
|
32
|
+
|
|
33
|
+
Provide a \`kubernetes_version\` parameter to upgrade the cluster to a new Kubernetes version. Version upgrades follow these rules:
|
|
34
|
+
|
|
35
|
+
- **No downgrades**: You cannot downgrade to a lower version than currently installed
|
|
36
|
+
- **One minor version at a time**: You can only upgrade one minor version at a time (e.g., from 1.34 to 1.35, not from 1.34 to 1.36)
|
|
37
|
+
- **Mutually exclusive**: Version upgrades cannot be combined with scaling operations in the same request
|
|
38
|
+
- **Available versions only**: The target version must be in the list returned by \`GET /kubernetes_clusters/available_versions\`
|
|
39
|
+
|
|
40
|
+
Returns 202 Accepted when an update operation is triggered. Poll the GET endpoint to monitor progress. Returns 200 OK if no change is needed (no-op).
|
|
30
41
|
`,
|
|
31
42
|
args,
|
|
32
43
|
tool: async (client, args, ctx) => {
|
package/src/models/index.ts
CHANGED
|
@@ -31,6 +31,7 @@ export * from "./firewallserver.js";
|
|
|
31
31
|
export * from "./ipaddress.js";
|
|
32
32
|
export * from "./ipaddresses.js";
|
|
33
33
|
export * from "./ipmisession.js";
|
|
34
|
+
export * from "./kubernetesavailableversions.js";
|
|
34
35
|
export * from "./kubernetescluster.js";
|
|
35
36
|
export * from "./kubernetesclustercreateresponse.js";
|
|
36
37
|
export * from "./kubernetesclusterdata.js";
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v3";
|
|
6
|
+
import { safeParse } from "../lib/schemas.js";
|
|
7
|
+
import { Result as SafeParseResult } from "../types/fp.js";
|
|
8
|
+
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
|
|
9
|
+
|
|
10
|
+
export type KubernetesAvailableVersionsData = {
|
|
11
|
+
/**
|
|
12
|
+
* The latest full Kubernetes version string for this minor version (e.g., v1.35.3+rke2r1)
|
|
13
|
+
*/
|
|
14
|
+
latest?: string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* The minor version number (e.g., 1.35)
|
|
17
|
+
*/
|
|
18
|
+
minor?: string | undefined;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Response schema for available Kubernetes versions
|
|
23
|
+
*/
|
|
24
|
+
export type KubernetesAvailableVersions = {
|
|
25
|
+
data?: Array<KubernetesAvailableVersionsData> | undefined;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/** @internal */
|
|
29
|
+
export const KubernetesAvailableVersionsData$inboundSchema: z.ZodType<
|
|
30
|
+
KubernetesAvailableVersionsData,
|
|
31
|
+
z.ZodTypeDef,
|
|
32
|
+
unknown
|
|
33
|
+
> = z.object({
|
|
34
|
+
latest: z.string().optional(),
|
|
35
|
+
minor: z.string().optional(),
|
|
36
|
+
});
|
|
37
|
+
/** @internal */
|
|
38
|
+
export type KubernetesAvailableVersionsData$Outbound = {
|
|
39
|
+
latest?: string | undefined;
|
|
40
|
+
minor?: string | undefined;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/** @internal */
|
|
44
|
+
export const KubernetesAvailableVersionsData$outboundSchema: z.ZodType<
|
|
45
|
+
KubernetesAvailableVersionsData$Outbound,
|
|
46
|
+
z.ZodTypeDef,
|
|
47
|
+
KubernetesAvailableVersionsData
|
|
48
|
+
> = z.object({
|
|
49
|
+
latest: z.string().optional(),
|
|
50
|
+
minor: z.string().optional(),
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export function kubernetesAvailableVersionsDataToJSON(
|
|
54
|
+
kubernetesAvailableVersionsData: KubernetesAvailableVersionsData,
|
|
55
|
+
): string {
|
|
56
|
+
return JSON.stringify(
|
|
57
|
+
KubernetesAvailableVersionsData$outboundSchema.parse(
|
|
58
|
+
kubernetesAvailableVersionsData,
|
|
59
|
+
),
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
export function kubernetesAvailableVersionsDataFromJSON(
|
|
63
|
+
jsonString: string,
|
|
64
|
+
): SafeParseResult<KubernetesAvailableVersionsData, SDKValidationError> {
|
|
65
|
+
return safeParse(
|
|
66
|
+
jsonString,
|
|
67
|
+
(x) => KubernetesAvailableVersionsData$inboundSchema.parse(JSON.parse(x)),
|
|
68
|
+
`Failed to parse 'KubernetesAvailableVersionsData' from JSON`,
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** @internal */
|
|
73
|
+
export const KubernetesAvailableVersions$inboundSchema: z.ZodType<
|
|
74
|
+
KubernetesAvailableVersions,
|
|
75
|
+
z.ZodTypeDef,
|
|
76
|
+
unknown
|
|
77
|
+
> = z.object({
|
|
78
|
+
data: z.array(z.lazy(() => KubernetesAvailableVersionsData$inboundSchema))
|
|
79
|
+
.optional(),
|
|
80
|
+
});
|
|
81
|
+
/** @internal */
|
|
82
|
+
export type KubernetesAvailableVersions$Outbound = {
|
|
83
|
+
data?: Array<KubernetesAvailableVersionsData$Outbound> | undefined;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/** @internal */
|
|
87
|
+
export const KubernetesAvailableVersions$outboundSchema: z.ZodType<
|
|
88
|
+
KubernetesAvailableVersions$Outbound,
|
|
89
|
+
z.ZodTypeDef,
|
|
90
|
+
KubernetesAvailableVersions
|
|
91
|
+
> = z.object({
|
|
92
|
+
data: z.array(z.lazy(() => KubernetesAvailableVersionsData$outboundSchema))
|
|
93
|
+
.optional(),
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
export function kubernetesAvailableVersionsToJSON(
|
|
97
|
+
kubernetesAvailableVersions: KubernetesAvailableVersions,
|
|
98
|
+
): string {
|
|
99
|
+
return JSON.stringify(
|
|
100
|
+
KubernetesAvailableVersions$outboundSchema.parse(
|
|
101
|
+
kubernetesAvailableVersions,
|
|
102
|
+
),
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
export function kubernetesAvailableVersionsFromJSON(
|
|
106
|
+
jsonString: string,
|
|
107
|
+
): SafeParseResult<KubernetesAvailableVersions, SDKValidationError> {
|
|
108
|
+
return safeParse(
|
|
109
|
+
jsonString,
|
|
110
|
+
(x) => KubernetesAvailableVersions$inboundSchema.parse(JSON.parse(x)),
|
|
111
|
+
`Failed to parse 'KubernetesAvailableVersions' from JSON`,
|
|
112
|
+
);
|
|
113
|
+
}
|
|
@@ -26,6 +26,20 @@ export type KubernetesClusterDataPhase = ClosedEnum<
|
|
|
26
26
|
typeof KubernetesClusterDataPhase
|
|
27
27
|
>;
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* The cluster's version status relative to available upgrades
|
|
31
|
+
*/
|
|
32
|
+
export const VersionStatus = {
|
|
33
|
+
UpToDate: "up_to_date",
|
|
34
|
+
UpgradeAvailable: "upgrade_available",
|
|
35
|
+
Unsupported: "unsupported",
|
|
36
|
+
Unknown: "unknown",
|
|
37
|
+
} as const;
|
|
38
|
+
/**
|
|
39
|
+
* The cluster's version status relative to available upgrades
|
|
40
|
+
*/
|
|
41
|
+
export type VersionStatus = ClosedEnum<typeof VersionStatus>;
|
|
42
|
+
|
|
29
43
|
/**
|
|
30
44
|
* Control plane status information
|
|
31
45
|
*/
|
|
@@ -230,6 +244,14 @@ export type KubernetesClusterDataAttributes = {
|
|
|
230
244
|
* The Kubernetes version running on the cluster
|
|
231
245
|
*/
|
|
232
246
|
kubernetesVersion?: string | undefined;
|
|
247
|
+
/**
|
|
248
|
+
* The cluster's version status relative to available upgrades
|
|
249
|
+
*/
|
|
250
|
+
versionStatus?: VersionStatus | undefined;
|
|
251
|
+
/**
|
|
252
|
+
* The next available Kubernetes version for upgrade. Null if the cluster is already on the latest version, or if version status is unknown or unsupported.
|
|
253
|
+
*/
|
|
254
|
+
availableUpgrade?: string | null | undefined;
|
|
233
255
|
/**
|
|
234
256
|
* When the cluster was created
|
|
235
257
|
*/
|
|
@@ -322,6 +344,15 @@ export const KubernetesClusterDataPhase$outboundSchema: z.ZodNativeEnum<
|
|
|
322
344
|
typeof KubernetesClusterDataPhase
|
|
323
345
|
> = KubernetesClusterDataPhase$inboundSchema;
|
|
324
346
|
|
|
347
|
+
/** @internal */
|
|
348
|
+
export const VersionStatus$inboundSchema: z.ZodNativeEnum<
|
|
349
|
+
typeof VersionStatus
|
|
350
|
+
> = z.nativeEnum(VersionStatus);
|
|
351
|
+
/** @internal */
|
|
352
|
+
export const VersionStatus$outboundSchema: z.ZodNativeEnum<
|
|
353
|
+
typeof VersionStatus
|
|
354
|
+
> = VersionStatus$inboundSchema;
|
|
355
|
+
|
|
325
356
|
/** @internal */
|
|
326
357
|
export const ControlPlane$inboundSchema: z.ZodType<
|
|
327
358
|
ControlPlane,
|
|
@@ -637,6 +668,8 @@ export const KubernetesClusterDataAttributes$inboundSchema: z.ZodType<
|
|
|
637
668
|
location: z.string().optional(),
|
|
638
669
|
load_balancer_ips: z.array(z.string()).optional(),
|
|
639
670
|
kubernetes_version: z.string().optional(),
|
|
671
|
+
version_status: VersionStatus$inboundSchema.optional(),
|
|
672
|
+
available_upgrade: z.nullable(z.string()).optional(),
|
|
640
673
|
created_at: z.string().datetime({ offset: true }).transform(v => new Date(v))
|
|
641
674
|
.optional(),
|
|
642
675
|
plan: z.string().optional(),
|
|
@@ -666,6 +699,8 @@ export const KubernetesClusterDataAttributes$inboundSchema: z.ZodType<
|
|
|
666
699
|
"kubeconfig_url": "kubeconfigUrl",
|
|
667
700
|
"load_balancer_ips": "loadBalancerIps",
|
|
668
701
|
"kubernetes_version": "kubernetesVersion",
|
|
702
|
+
"version_status": "versionStatus",
|
|
703
|
+
"available_upgrade": "availableUpgrade",
|
|
669
704
|
"created_at": "createdAt",
|
|
670
705
|
"worker_plan": "workerPlan",
|
|
671
706
|
"control_plane_count": "controlPlaneCount",
|
|
@@ -690,6 +725,8 @@ export type KubernetesClusterDataAttributes$Outbound = {
|
|
|
690
725
|
location?: string | undefined;
|
|
691
726
|
load_balancer_ips?: Array<string> | undefined;
|
|
692
727
|
kubernetes_version?: string | undefined;
|
|
728
|
+
version_status?: string | undefined;
|
|
729
|
+
available_upgrade?: string | null | undefined;
|
|
693
730
|
created_at?: string | undefined;
|
|
694
731
|
plan?: string | undefined;
|
|
695
732
|
worker_plan?: string | null | undefined;
|
|
@@ -724,6 +761,8 @@ export const KubernetesClusterDataAttributes$outboundSchema: z.ZodType<
|
|
|
724
761
|
location: z.string().optional(),
|
|
725
762
|
loadBalancerIps: z.array(z.string()).optional(),
|
|
726
763
|
kubernetesVersion: z.string().optional(),
|
|
764
|
+
versionStatus: VersionStatus$outboundSchema.optional(),
|
|
765
|
+
availableUpgrade: z.nullable(z.string()).optional(),
|
|
727
766
|
createdAt: z.date().transform(v => v.toISOString()).optional(),
|
|
728
767
|
plan: z.string().optional(),
|
|
729
768
|
workerPlan: z.nullable(z.string()).optional(),
|
|
@@ -751,6 +790,8 @@ export const KubernetesClusterDataAttributes$outboundSchema: z.ZodType<
|
|
|
751
790
|
kubeconfigUrl: "kubeconfig_url",
|
|
752
791
|
loadBalancerIps: "load_balancer_ips",
|
|
753
792
|
kubernetesVersion: "kubernetes_version",
|
|
793
|
+
versionStatus: "version_status",
|
|
794
|
+
availableUpgrade: "available_upgrade",
|
|
754
795
|
createdAt: "created_at",
|
|
755
796
|
workerPlan: "worker_plan",
|
|
756
797
|
controlPlaneCount: "control_plane_count",
|
|
@@ -17,14 +17,15 @@ export type KubernetesClusterUpdateResponseType = ClosedEnum<
|
|
|
17
17
|
>;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* The update status. 'scaling' indicates nodes are being added or removed. '
|
|
20
|
+
* The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed.
|
|
21
21
|
*/
|
|
22
22
|
export const KubernetesClusterUpdateResponseStatus = {
|
|
23
23
|
Scaling: "scaling",
|
|
24
|
+
Upgrading: "upgrading",
|
|
24
25
|
Unchanged: "unchanged",
|
|
25
26
|
} as const;
|
|
26
27
|
/**
|
|
27
|
-
* The update status. 'scaling' indicates nodes are being added or removed. '
|
|
28
|
+
* The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed.
|
|
28
29
|
*/
|
|
29
30
|
export type KubernetesClusterUpdateResponseStatus = ClosedEnum<
|
|
30
31
|
typeof KubernetesClusterUpdateResponseStatus
|
|
@@ -36,7 +37,7 @@ export type KubernetesClusterUpdateResponseAttributes = {
|
|
|
36
37
|
*/
|
|
37
38
|
name?: string | undefined;
|
|
38
39
|
/**
|
|
39
|
-
* The update status. 'scaling' indicates nodes are being added or removed. '
|
|
40
|
+
* The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed.
|
|
40
41
|
*/
|
|
41
42
|
status?: KubernetesClusterUpdateResponseStatus | undefined;
|
|
42
43
|
/**
|
|
@@ -47,6 +48,10 @@ export type KubernetesClusterUpdateResponseAttributes = {
|
|
|
47
48
|
* The requested number of control plane nodes. Present when scaling control plane.
|
|
48
49
|
*/
|
|
49
50
|
controlPlaneCount?: number | null | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* The target Kubernetes version. Present when upgrading version.
|
|
53
|
+
*/
|
|
54
|
+
kubernetesVersion?: string | null | undefined;
|
|
50
55
|
};
|
|
51
56
|
|
|
52
57
|
export type KubernetesClusterUpdateResponseData = {
|
|
@@ -91,10 +96,12 @@ export const KubernetesClusterUpdateResponseAttributes$inboundSchema: z.ZodType<
|
|
|
91
96
|
status: KubernetesClusterUpdateResponseStatus$inboundSchema.optional(),
|
|
92
97
|
worker_count: z.nullable(z.number().int()).optional(),
|
|
93
98
|
control_plane_count: z.nullable(z.number().int()).optional(),
|
|
99
|
+
kubernetes_version: z.nullable(z.string()).optional(),
|
|
94
100
|
}).transform((v) => {
|
|
95
101
|
return remap$(v, {
|
|
96
102
|
"worker_count": "workerCount",
|
|
97
103
|
"control_plane_count": "controlPlaneCount",
|
|
104
|
+
"kubernetes_version": "kubernetesVersion",
|
|
98
105
|
});
|
|
99
106
|
});
|
|
100
107
|
/** @internal */
|
|
@@ -103,6 +110,7 @@ export type KubernetesClusterUpdateResponseAttributes$Outbound = {
|
|
|
103
110
|
status?: string | undefined;
|
|
104
111
|
worker_count?: number | null | undefined;
|
|
105
112
|
control_plane_count?: number | null | undefined;
|
|
113
|
+
kubernetes_version?: string | null | undefined;
|
|
106
114
|
};
|
|
107
115
|
|
|
108
116
|
/** @internal */
|
|
@@ -116,10 +124,12 @@ export const KubernetesClusterUpdateResponseAttributes$outboundSchema:
|
|
|
116
124
|
status: KubernetesClusterUpdateResponseStatus$outboundSchema.optional(),
|
|
117
125
|
workerCount: z.nullable(z.number().int()).optional(),
|
|
118
126
|
controlPlaneCount: z.nullable(z.number().int()).optional(),
|
|
127
|
+
kubernetesVersion: z.nullable(z.string()).optional(),
|
|
119
128
|
}).transform((v) => {
|
|
120
129
|
return remap$(v, {
|
|
121
130
|
workerCount: "worker_count",
|
|
122
131
|
controlPlaneCount: "control_plane_count",
|
|
132
|
+
kubernetesVersion: "kubernetes_version",
|
|
123
133
|
});
|
|
124
134
|
});
|
|
125
135
|
|
|
@@ -17,27 +17,31 @@ export type UpdateKubernetesClusterType = ClosedEnum<
|
|
|
17
17
|
>;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Provide one of: worker_count, control_plane_count (for scaling), or kubernetes_version (for upgrades). These are mutually exclusive operations.
|
|
21
21
|
*/
|
|
22
22
|
export type UpdateKubernetesClusterAttributes = {
|
|
23
23
|
/**
|
|
24
|
-
* Desired number of worker nodes. Must be between 0 and 10. Mutually exclusive with control_plane_count.
|
|
24
|
+
* Desired number of worker nodes. Must be between 0 and 10. Mutually exclusive with control_plane_count and kubernetes_version.
|
|
25
25
|
*/
|
|
26
26
|
workerCount?: number | undefined;
|
|
27
27
|
/**
|
|
28
|
-
* Desired number of control plane nodes. Minimum 1. Mutually exclusive with worker_count.
|
|
28
|
+
* Desired number of control plane nodes. Minimum 1. Mutually exclusive with worker_count and kubernetes_version.
|
|
29
29
|
*/
|
|
30
30
|
controlPlaneCount?: number | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* Plan slug for worker nodes. Required when scaling from 0 workers. Ignored when scaling an existing deployment.
|
|
33
33
|
*/
|
|
34
34
|
workerPlan?: string | null | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Target Kubernetes version for upgrade (e.g., v1.35.0+rke2r1). Mutually exclusive with scaling operations. Must be one minor version higher than current.
|
|
37
|
+
*/
|
|
38
|
+
kubernetesVersion?: string | undefined;
|
|
35
39
|
};
|
|
36
40
|
|
|
37
41
|
export type UpdateKubernetesClusterData = {
|
|
38
42
|
type: UpdateKubernetesClusterType;
|
|
39
43
|
/**
|
|
40
|
-
*
|
|
44
|
+
* Provide one of: worker_count, control_plane_count (for scaling), or kubernetes_version (for upgrades). These are mutually exclusive operations.
|
|
41
45
|
*/
|
|
42
46
|
attributes: UpdateKubernetesClusterAttributes;
|
|
43
47
|
};
|
|
@@ -64,11 +68,13 @@ export const UpdateKubernetesClusterAttributes$inboundSchema: z.ZodType<
|
|
|
64
68
|
worker_count: z.number().int().optional(),
|
|
65
69
|
control_plane_count: z.number().int().optional(),
|
|
66
70
|
worker_plan: z.nullable(z.string()).optional(),
|
|
71
|
+
kubernetes_version: z.string().optional(),
|
|
67
72
|
}).transform((v) => {
|
|
68
73
|
return remap$(v, {
|
|
69
74
|
"worker_count": "workerCount",
|
|
70
75
|
"control_plane_count": "controlPlaneCount",
|
|
71
76
|
"worker_plan": "workerPlan",
|
|
77
|
+
"kubernetes_version": "kubernetesVersion",
|
|
72
78
|
});
|
|
73
79
|
});
|
|
74
80
|
/** @internal */
|
|
@@ -76,6 +82,7 @@ export type UpdateKubernetesClusterAttributes$Outbound = {
|
|
|
76
82
|
worker_count?: number | undefined;
|
|
77
83
|
control_plane_count?: number | undefined;
|
|
78
84
|
worker_plan?: string | null | undefined;
|
|
85
|
+
kubernetes_version?: string | undefined;
|
|
79
86
|
};
|
|
80
87
|
|
|
81
88
|
/** @internal */
|
|
@@ -87,11 +94,13 @@ export const UpdateKubernetesClusterAttributes$outboundSchema: z.ZodType<
|
|
|
87
94
|
workerCount: z.number().int().optional(),
|
|
88
95
|
controlPlaneCount: z.number().int().optional(),
|
|
89
96
|
workerPlan: z.nullable(z.string()).optional(),
|
|
97
|
+
kubernetesVersion: z.string().optional(),
|
|
90
98
|
}).transform((v) => {
|
|
91
99
|
return remap$(v, {
|
|
92
100
|
workerCount: "worker_count",
|
|
93
101
|
controlPlaneCount: "control_plane_count",
|
|
94
102
|
workerPlan: "worker_plan",
|
|
103
|
+
kubernetesVersion: "kubernetes_version",
|
|
95
104
|
});
|
|
96
105
|
});
|
|
97
106
|
|
|
@@ -6,6 +6,7 @@ import { kubernetesClustersCreateKubernetesCluster } from "../funcs/kubernetesCl
|
|
|
6
6
|
import { kubernetesClustersDeleteKubernetesCluster } from "../funcs/kubernetesClustersDeleteKubernetesCluster.js";
|
|
7
7
|
import { kubernetesClustersGetKubernetesCluster } from "../funcs/kubernetesClustersGetKubernetesCluster.js";
|
|
8
8
|
import { kubernetesClustersGetKubernetesClusterKubeconfig } from "../funcs/kubernetesClustersGetKubernetesClusterKubeconfig.js";
|
|
9
|
+
import { kubernetesClustersListKubernetesAvailableVersions } from "../funcs/kubernetesClustersListKubernetesAvailableVersions.js";
|
|
9
10
|
import { kubernetesClustersListKubernetesClusters } from "../funcs/kubernetesClustersListKubernetesClusters.js";
|
|
10
11
|
import { kubernetesClustersUpdateKubernetesCluster } from "../funcs/kubernetesClustersUpdateKubernetesCluster.js";
|
|
11
12
|
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
|
|
@@ -50,6 +51,27 @@ export class KubernetesClusters extends ClientSDK {
|
|
|
50
51
|
));
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
/**
|
|
55
|
+
* List Available Kubernetes Versions
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* Returns the list of available Kubernetes versions for cluster creation and upgrades. Versions are sourced from the RKE2 release channels and cached for 24 hours.
|
|
59
|
+
*
|
|
60
|
+
* Each version object includes:
|
|
61
|
+
* - `latest`: The full version string (e.g., `v1.35.3+rke2r1`)
|
|
62
|
+
* - `minor`: The minor version number (e.g., `1.35`)
|
|
63
|
+
*
|
|
64
|
+
* The API returns the latest 5 supported minor versions. When upgrading clusters, you can only upgrade one minor version at a time (e.g., from 1.34 to 1.35).
|
|
65
|
+
*/
|
|
66
|
+
async listKubernetesAvailableVersions(
|
|
67
|
+
options?: RequestOptions,
|
|
68
|
+
): Promise<models.KubernetesAvailableVersions> {
|
|
69
|
+
return unwrapAsync(kubernetesClustersListKubernetesAvailableVersions(
|
|
70
|
+
this,
|
|
71
|
+
options,
|
|
72
|
+
));
|
|
73
|
+
}
|
|
74
|
+
|
|
53
75
|
/**
|
|
54
76
|
* Get a Kubernetes Cluster
|
|
55
77
|
*
|
|
@@ -85,10 +107,12 @@ export class KubernetesClusters extends ClientSDK {
|
|
|
85
107
|
}
|
|
86
108
|
|
|
87
109
|
/**
|
|
88
|
-
*
|
|
110
|
+
* Update Kubernetes Cluster
|
|
89
111
|
*
|
|
90
112
|
* @remarks
|
|
91
|
-
*
|
|
113
|
+
* Updates a Kubernetes cluster by scaling nodes or upgrading the Kubernetes version. The cluster must be in `Provisioned` phase to accept updates.
|
|
114
|
+
*
|
|
115
|
+
* ## Scaling Operations
|
|
92
116
|
*
|
|
93
117
|
* Exactly one of `worker_count` or `control_plane_count` must be provided per request. You cannot scale workers and control plane nodes in the same request.
|
|
94
118
|
*
|
|
@@ -98,7 +122,16 @@ export class KubernetesClusters extends ClientSDK {
|
|
|
98
122
|
*
|
|
99
123
|
* Control plane scaling has a minimum of 1 node. You cannot scale control plane nodes to zero.
|
|
100
124
|
*
|
|
101
|
-
*
|
|
125
|
+
* ## Version Upgrades
|
|
126
|
+
*
|
|
127
|
+
* Provide a `kubernetes_version` parameter to upgrade the cluster to a new Kubernetes version. Version upgrades follow these rules:
|
|
128
|
+
*
|
|
129
|
+
* - **No downgrades**: You cannot downgrade to a lower version than currently installed
|
|
130
|
+
* - **One minor version at a time**: You can only upgrade one minor version at a time (e.g., from 1.34 to 1.35, not from 1.34 to 1.36)
|
|
131
|
+
* - **Mutually exclusive**: Version upgrades cannot be combined with scaling operations in the same request
|
|
132
|
+
* - **Available versions only**: The target version must be in the list returned by `GET /kubernetes_clusters/available_versions`
|
|
133
|
+
*
|
|
134
|
+
* Returns 202 Accepted when an update operation is triggered. Poll the GET endpoint to monitor progress. Returns 200 OK if no change is needed (no-op).
|
|
102
135
|
*/
|
|
103
136
|
async updateKubernetesCluster(
|
|
104
137
|
request: operations.UpdateKubernetesClusterRequest,
|