Skip to content

Commit 2f2d13c

Browse files
authored
feat(vpc_gw): add a call to migrate a V1 gateway to V2 (#862)
1 parent dade839 commit 2f2d13c

File tree

6 files changed

+82
-0
lines changed

6 files changed

+82
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
from .types import ListIPsResponse
5858
from .types import ListPATRulesRequest
5959
from .types import ListPATRulesResponse
60+
from .types import MigrateToV2Request
6061
from .types import RefreshSSHKeysRequest
6162
from .types import SetDHCPEntriesRequest
6263
from .types import SetDHCPEntriesResponse
@@ -129,6 +130,7 @@
129130
"ListIPsResponse",
130131
"ListPATRulesRequest",
131132
"ListPATRulesResponse",
133+
"MigrateToV2Request",
132134
"RefreshSSHKeysRequest",
133135
"SetDHCPEntriesRequest",
134136
"SetDHCPEntriesResponse",

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2080,3 +2080,32 @@ async def refresh_ssh_keys(
20802080

20812081
self._throw_on_error(res)
20822082
return unmarshal_Gateway(res.json())
2083+
2084+
async def migrate_to_v2(
2085+
self,
2086+
*,
2087+
gateway_id: str,
2088+
zone: Optional[ScwZone] = None,
2089+
) -> None:
2090+
"""
2091+
:param gateway_id:
2092+
:param zone: Zone to target. If none is passed will use default zone from the config.
2093+
2094+
Usage:
2095+
::
2096+
2097+
result = await api.migrate_to_v2(
2098+
gateway_id="example",
2099+
)
2100+
"""
2101+
2102+
param_zone = validate_path_param("zone", zone or self.client.default_zone)
2103+
param_gateway_id = validate_path_param("gateway_id", gateway_id)
2104+
2105+
res = self._request(
2106+
"POST",
2107+
f"/vpc-gw/v1/zones/{param_zone}/gateways/{param_gateway_id}/migrate-to-v2",
2108+
body={},
2109+
)
2110+
2111+
self._throw_on_error(res)

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,6 +1440,16 @@ class ListPATRulesResponse:
14401440
"""
14411441

14421442

1443+
@dataclass
1444+
class MigrateToV2Request:
1445+
gateway_id: str
1446+
1447+
zone: Optional[ScwZone]
1448+
"""
1449+
Zone to target. If none is passed will use default zone from the config.
1450+
"""
1451+
1452+
14431453
@dataclass
14441454
class RefreshSSHKeysRequest:
14451455
gateway_id: str

scaleway/scaleway/vpcgw/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
from .types import ListIPsResponse
5858
from .types import ListPATRulesRequest
5959
from .types import ListPATRulesResponse
60+
from .types import MigrateToV2Request
6061
from .types import RefreshSSHKeysRequest
6162
from .types import SetDHCPEntriesRequest
6263
from .types import SetDHCPEntriesResponse
@@ -129,6 +130,7 @@
129130
"ListIPsResponse",
130131
"ListPATRulesRequest",
131132
"ListPATRulesResponse",
133+
"MigrateToV2Request",
132134
"RefreshSSHKeysRequest",
133135
"SetDHCPEntriesRequest",
134136
"SetDHCPEntriesResponse",

scaleway/scaleway/vpcgw/v1/api.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2078,3 +2078,32 @@ def refresh_ssh_keys(
20782078

20792079
self._throw_on_error(res)
20802080
return unmarshal_Gateway(res.json())
2081+
2082+
def migrate_to_v2(
2083+
self,
2084+
*,
2085+
gateway_id: str,
2086+
zone: Optional[ScwZone] = None,
2087+
) -> None:
2088+
"""
2089+
:param gateway_id:
2090+
:param zone: Zone to target. If none is passed will use default zone from the config.
2091+
2092+
Usage:
2093+
::
2094+
2095+
result = api.migrate_to_v2(
2096+
gateway_id="example",
2097+
)
2098+
"""
2099+
2100+
param_zone = validate_path_param("zone", zone or self.client.default_zone)
2101+
param_gateway_id = validate_path_param("gateway_id", gateway_id)
2102+
2103+
res = self._request(
2104+
"POST",
2105+
f"/vpc-gw/v1/zones/{param_zone}/gateways/{param_gateway_id}/migrate-to-v2",
2106+
body={},
2107+
)
2108+
2109+
self._throw_on_error(res)

scaleway/scaleway/vpcgw/v1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,6 +1440,16 @@ class ListPATRulesResponse:
14401440
"""
14411441

14421442

1443+
@dataclass
1444+
class MigrateToV2Request:
1445+
gateway_id: str
1446+
1447+
zone: Optional[ScwZone]
1448+
"""
1449+
Zone to target. If none is passed will use default zone from the config.
1450+
"""
1451+
1452+
14431453
@dataclass
14441454
class RefreshSSHKeysRequest:
14451455
gateway_id: str

0 commit comments

Comments
 (0)