Skip to content

Commit 9214d28

Browse files
authored
feat(k8s): add MigrateClusterToRoutedIPs (#501)
1 parent 471ffd9 commit 9214d28

File tree

8 files changed

+94
-8
lines changed

8 files changed

+94
-8
lines changed

scaleway-async/scaleway_async/k8s/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
from .types import ListPoolsResponse
6565
from .types import ListVersionsRequest
6666
from .types import ListVersionsResponse
67+
from .types import MigrateClusterToRoutedIPsRequest
6768
from .types import MigrateToPrivateNetworkClusterRequest
6869
from .types import RebootNodeRequest
6970
from .types import ReplaceNodeRequest
@@ -140,6 +141,7 @@
140141
"ListPoolsResponse",
141142
"ListVersionsRequest",
142143
"ListVersionsResponse",
144+
"MigrateClusterToRoutedIPsRequest",
143145
"MigrateToPrivateNetworkClusterRequest",
144146
"RebootNodeRequest",
145147
"ReplaceNodeRequest",

scaleway-async/scaleway_async/k8s/v1/api.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,41 @@ async def migrate_to_private_network_cluster(
757757
self._throw_on_error(res)
758758
return unmarshal_Cluster(res.json())
759759

760+
async def migrate_cluster_to_routed_i_ps(
761+
self,
762+
*,
763+
cluster_id: str,
764+
region: Optional[Region] = None,
765+
) -> Cluster:
766+
"""
767+
Migrate a cluster to Routed IPs.
768+
Migrate the nodes of an existing cluster to Routed IPs and enable Routed IPs for all future nodes.
769+
:param cluster_id:
770+
:param region: Region to target. If none is passed will use default region from the config.
771+
:return: :class:`Cluster <Cluster>`
772+
773+
Usage:
774+
::
775+
776+
result = await api.migrate_cluster_to_routed_i_ps(
777+
cluster_id="example",
778+
)
779+
"""
780+
781+
param_region = validate_path_param(
782+
"region", region or self.client.default_region
783+
)
784+
param_cluster_id = validate_path_param("cluster_id", cluster_id)
785+
786+
res = self._request(
787+
"POST",
788+
f"/k8s/v1/regions/{param_region}/clusters/{param_cluster_id}/migrate-to-routed-ips",
789+
body={},
790+
)
791+
792+
self._throw_on_error(res)
793+
return unmarshal_Cluster(res.json())
794+
760795
async def list_pools(
761796
self,
762797
*,

scaleway-async/scaleway_async/k8s/v1/marshalling.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -485,10 +485,6 @@ def unmarshal_Cluster(data: Any) -> Cluster:
485485
else:
486486
args["routed_ip_enabled"] = None
487487

488-
field = data.get("routed_ip_enabled", None)
489-
if field is not None:
490-
args["routed_ip_enabled"] = field
491-
492488
return Cluster(**args)
493489

494490

scaleway-async/scaleway_async/k8s/v1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,6 +1647,16 @@ class ListVersionsResponse:
16471647
"""
16481648

16491649

1650+
@dataclass
1651+
class MigrateClusterToRoutedIPsRequest:
1652+
cluster_id: str
1653+
1654+
region: Optional[Region]
1655+
"""
1656+
Region to target. If none is passed will use default region from the config.
1657+
"""
1658+
1659+
16501660
@dataclass
16511661
class MigrateToPrivateNetworkClusterRequest:
16521662
cluster_id: str

scaleway/scaleway/k8s/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
from .types import ListPoolsResponse
6565
from .types import ListVersionsRequest
6666
from .types import ListVersionsResponse
67+
from .types import MigrateClusterToRoutedIPsRequest
6768
from .types import MigrateToPrivateNetworkClusterRequest
6869
from .types import RebootNodeRequest
6970
from .types import ReplaceNodeRequest
@@ -140,6 +141,7 @@
140141
"ListPoolsResponse",
141142
"ListVersionsRequest",
142143
"ListVersionsResponse",
144+
"MigrateClusterToRoutedIPsRequest",
143145
"MigrateToPrivateNetworkClusterRequest",
144146
"RebootNodeRequest",
145147
"ReplaceNodeRequest",

scaleway/scaleway/k8s/v1/api.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,41 @@ def migrate_to_private_network_cluster(
757757
self._throw_on_error(res)
758758
return unmarshal_Cluster(res.json())
759759

760+
def migrate_cluster_to_routed_i_ps(
761+
self,
762+
*,
763+
cluster_id: str,
764+
region: Optional[Region] = None,
765+
) -> Cluster:
766+
"""
767+
Migrate a cluster to Routed IPs.
768+
Migrate the nodes of an existing cluster to Routed IPs and enable Routed IPs for all future nodes.
769+
:param cluster_id:
770+
:param region: Region to target. If none is passed will use default region from the config.
771+
:return: :class:`Cluster <Cluster>`
772+
773+
Usage:
774+
::
775+
776+
result = api.migrate_cluster_to_routed_i_ps(
777+
cluster_id="example",
778+
)
779+
"""
780+
781+
param_region = validate_path_param(
782+
"region", region or self.client.default_region
783+
)
784+
param_cluster_id = validate_path_param("cluster_id", cluster_id)
785+
786+
res = self._request(
787+
"POST",
788+
f"/k8s/v1/regions/{param_region}/clusters/{param_cluster_id}/migrate-to-routed-ips",
789+
body={},
790+
)
791+
792+
self._throw_on_error(res)
793+
return unmarshal_Cluster(res.json())
794+
760795
def list_pools(
761796
self,
762797
*,

scaleway/scaleway/k8s/v1/marshalling.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -485,10 +485,6 @@ def unmarshal_Cluster(data: Any) -> Cluster:
485485
else:
486486
args["routed_ip_enabled"] = None
487487

488-
field = data.get("routed_ip_enabled", None)
489-
if field is not None:
490-
args["routed_ip_enabled"] = field
491-
492488
return Cluster(**args)
493489

494490

scaleway/scaleway/k8s/v1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,6 +1647,16 @@ class ListVersionsResponse:
16471647
"""
16481648

16491649

1650+
@dataclass
1651+
class MigrateClusterToRoutedIPsRequest:
1652+
cluster_id: str
1653+
1654+
region: Optional[Region]
1655+
"""
1656+
Region to target. If none is passed will use default region from the config.
1657+
"""
1658+
1659+
16501660
@dataclass
16511661
class MigrateToPrivateNetworkClusterRequest:
16521662
cluster_id: str

0 commit comments

Comments
 (0)