Skip to content

Commit 968fc9b

Browse files
authored
feat(k8s): add migrateToPrivateNetworkCluster endpoint (#674)
1 parent cf3d5ff commit 968fc9b

File tree

4 files changed

+55
-0
lines changed

4 files changed

+55
-0
lines changed

packages/clients/src/api/k8s/v1/api.gen.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
import {
1717
marshalCreateClusterRequest,
1818
marshalCreatePoolRequest,
19+
marshalMigrateToPrivateNetworkClusterRequest,
1920
marshalSetClusterTypeRequest,
2021
marshalUpdateClusterRequest,
2122
marshalUpdatePoolRequest,
@@ -55,6 +56,7 @@ import type {
5556
ListPoolsResponse,
5657
ListVersionsRequest,
5758
ListVersionsResponse,
59+
MigrateToPrivateNetworkClusterRequest,
5860
Node,
5961
Pool,
6062
RebootNodeRequest,
@@ -338,6 +340,38 @@ export class API extends ParentAPI {
338340
)}/reset-admin-token`,
339341
})
340342

343+
/**
344+
* Migrate an existing cluster to a Private Network cluster. Migrate a cluster
345+
* that was created before the release of Private Network clusters to a new
346+
* one with a Private Network.
347+
*
348+
* @param request - The request {@link MigrateToPrivateNetworkClusterRequest}
349+
* @returns A Promise of Cluster
350+
*/
351+
migrateToPrivateNetworkCluster = (
352+
request: Readonly<MigrateToPrivateNetworkClusterRequest>,
353+
) =>
354+
this.client.fetch<Cluster>(
355+
{
356+
body: JSON.stringify(
357+
marshalMigrateToPrivateNetworkClusterRequest(
358+
request,
359+
this.client.settings,
360+
),
361+
),
362+
headers: jsonContentHeaders,
363+
method: 'POST',
364+
path: `/k8s/v1/regions/${validatePathParam(
365+
'region',
366+
request.region ?? this.client.settings.defaultRegion,
367+
)}/clusters/${validatePathParam(
368+
'clusterId',
369+
request.clusterId,
370+
)}/migrate-to-private-network`,
371+
},
372+
unmarshalCluster,
373+
)
374+
341375
protected pageOfListPools = (request: Readonly<ListPoolsRequest>) =>
342376
this.client.fetch<ListPoolsResponse>(
343377
{

packages/clients/src/api/k8s/v1/index.gen.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export type {
4444
ListVersionsResponse,
4545
MaintenanceWindow,
4646
MaintenanceWindowDayOfTheWeek,
47+
MigrateToPrivateNetworkClusterRequest,
4748
Node,
4849
NodeStatus,
4950
Pool,

packages/clients/src/api/k8s/v1/marshalling.gen.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import type {
2828
ListPoolsResponse,
2929
ListVersionsResponse,
3030
MaintenanceWindow,
31+
MigrateToPrivateNetworkClusterRequest,
3132
Node,
3233
Pool,
3334
PoolUpgradePolicy,
@@ -534,6 +535,13 @@ export const marshalCreatePoolRequest = (
534535
zone: request.zone ?? defaults.defaultZone,
535536
})
536537

538+
export const marshalMigrateToPrivateNetworkClusterRequest = (
539+
request: MigrateToPrivateNetworkClusterRequest,
540+
defaults: DefaultValues,
541+
): Record<string, unknown> => ({
542+
private_network_id: request.privateNetworkId,
543+
})
544+
537545
export const marshalSetClusterTypeRequest = (
538546
request: SetClusterTypeRequest,
539547
defaults: DefaultValues,

packages/clients/src/api/k8s/v1/types.gen.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,18 @@ export type ResetClusterAdminTokenRequest = {
928928
clusterId: string
929929
}
930930

931+
export type MigrateToPrivateNetworkClusterRequest = {
932+
/**
933+
* Region to target. If none is passed will use default region from the
934+
* config.
935+
*/
936+
region?: Region
937+
/** ID of the cluster to migrate. */
938+
clusterId: string
939+
/** ID of the Private Network to link to the cluster. */
940+
privateNetworkId: string
941+
}
942+
931943
export type ListPoolsRequest = {
932944
/**
933945
* Region to target. If none is passed will use default region from the

0 commit comments

Comments
 (0)