Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion scaleway-async/scaleway_async/vpc/v2/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,7 @@ async def list_private_networks_all(
async def create_private_network(
self,
*,
default_route_propagation_enabled: bool,
region: Optional[ScwRegion] = None,
name: Optional[str] = None,
project_id: Optional[str] = None,
Expand All @@ -472,6 +473,7 @@ async def create_private_network(
"""
Create a Private Network.
Create a new Private Network. Once created, you can attach Scaleway resources which are in the same region.
:param default_route_propagation_enabled: Defines whether default v4 and v6 routes are propagated for this Private Network.
:param region: Region to target. If none is passed will use default region from the config.
:param name: Name for the Private Network.
:param project_id: Scaleway Project in which to create the Private Network.
Expand All @@ -483,7 +485,9 @@ async def create_private_network(
Usage:
::

result = await api.create_private_network()
result = await api.create_private_network(
default_route_propagation_enabled=False,
)
"""

param_region = validate_path_param(
Expand All @@ -495,6 +499,7 @@ async def create_private_network(
f"/vpc/v2/regions/{param_region}/private-networks",
body=marshal_CreatePrivateNetworkRequest(
CreatePrivateNetworkRequest(
default_route_propagation_enabled=default_route_propagation_enabled,
region=region,
name=name or random_name(prefix="pn"),
project_id=project_id,
Expand Down Expand Up @@ -552,6 +557,7 @@ async def update_private_network(
region: Optional[ScwRegion] = None,
name: Optional[str] = None,
tags: Optional[List[str]] = None,
default_route_propagation_enabled: Optional[bool] = None,
) -> PrivateNetwork:
"""
Update Private Network.
Expand All @@ -560,6 +566,7 @@ async def update_private_network(
:param region: Region to target. If none is passed will use default region from the config.
:param name: Name for the Private Network.
:param tags: Tags for the Private Network.
:param default_route_propagation_enabled: Defines whether default v4 and v6 routes are propagated for this Private Network.
:return: :class:`PrivateNetwork <PrivateNetwork>`

Usage:
Expand All @@ -586,6 +593,7 @@ async def update_private_network(
region=region,
name=name,
tags=tags,
default_route_propagation_enabled=default_route_propagation_enabled,
),
self.client,
),
Expand Down
14 changes: 14 additions & 0 deletions scaleway-async/scaleway_async/vpc/v2/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ def unmarshal_PrivateNetwork(data: Any) -> PrivateNetwork:
if field is not None:
args["dhcp_enabled"] = field

field = data.get("default_route_propagation_enabled", None)
if field is not None:
args["default_route_propagation_enabled"] = field

field = data.get("created_at", None)
if field is not None:
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
Expand Down Expand Up @@ -456,6 +460,11 @@ def marshal_CreatePrivateNetworkRequest(
) -> Dict[str, Any]:
output: Dict[str, Any] = {}

if request.default_route_propagation_enabled is not None:
output["default_route_propagation_enabled"] = (
request.default_route_propagation_enabled
)

if request.name is not None:
output["name"] = request.name

Expand Down Expand Up @@ -600,6 +609,11 @@ def marshal_UpdatePrivateNetworkRequest(
if request.tags is not None:
output["tags"] = request.tags

if request.default_route_propagation_enabled is not None:
output["default_route_propagation_enabled"] = (
request.default_route_propagation_enabled
)

return output


Expand Down
15 changes: 15 additions & 0 deletions scaleway-async/scaleway_async/vpc/v2/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,11 @@ class PrivateNetwork:
Defines whether managed DHCP is enabled for this Private Network.
"""

default_route_propagation_enabled: bool
"""
Defines whether default v4 and v6 routes are propagated for this Private Network.
"""

created_at: Optional[datetime]
"""
Date the Private Network was created.
Expand Down Expand Up @@ -347,6 +352,11 @@ class AddSubnetsResponse:

@dataclass
class CreatePrivateNetworkRequest:
default_route_propagation_enabled: bool
"""
Defines whether default v4 and v6 routes are propagated for this Private Network.
"""

region: Optional[ScwRegion]
"""
Region to target. If none is passed will use default region from the config.
Expand Down Expand Up @@ -828,6 +838,11 @@ class UpdatePrivateNetworkRequest:
Tags for the Private Network.
"""

default_route_propagation_enabled: Optional[bool]
"""
Defines whether default v4 and v6 routes are propagated for this Private Network.
"""


@dataclass
class UpdateRouteRequest:
Expand Down
10 changes: 9 additions & 1 deletion scaleway/scaleway/vpc/v2/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,7 @@ def list_private_networks_all(
def create_private_network(
self,
*,
default_route_propagation_enabled: bool,
region: Optional[ScwRegion] = None,
name: Optional[str] = None,
project_id: Optional[str] = None,
Expand All @@ -472,6 +473,7 @@ def create_private_network(
"""
Create a Private Network.
Create a new Private Network. Once created, you can attach Scaleway resources which are in the same region.
:param default_route_propagation_enabled: Defines whether default v4 and v6 routes are propagated for this Private Network.
:param region: Region to target. If none is passed will use default region from the config.
:param name: Name for the Private Network.
:param project_id: Scaleway Project in which to create the Private Network.
Expand All @@ -483,7 +485,9 @@ def create_private_network(
Usage:
::

result = api.create_private_network()
result = api.create_private_network(
default_route_propagation_enabled=False,
)
"""

param_region = validate_path_param(
Expand All @@ -495,6 +499,7 @@ def create_private_network(
f"/vpc/v2/regions/{param_region}/private-networks",
body=marshal_CreatePrivateNetworkRequest(
CreatePrivateNetworkRequest(
default_route_propagation_enabled=default_route_propagation_enabled,
region=region,
name=name or random_name(prefix="pn"),
project_id=project_id,
Expand Down Expand Up @@ -552,6 +557,7 @@ def update_private_network(
region: Optional[ScwRegion] = None,
name: Optional[str] = None,
tags: Optional[List[str]] = None,
default_route_propagation_enabled: Optional[bool] = None,
) -> PrivateNetwork:
"""
Update Private Network.
Expand All @@ -560,6 +566,7 @@ def update_private_network(
:param region: Region to target. If none is passed will use default region from the config.
:param name: Name for the Private Network.
:param tags: Tags for the Private Network.
:param default_route_propagation_enabled: Defines whether default v4 and v6 routes are propagated for this Private Network.
:return: :class:`PrivateNetwork <PrivateNetwork>`

Usage:
Expand All @@ -586,6 +593,7 @@ def update_private_network(
region=region,
name=name,
tags=tags,
default_route_propagation_enabled=default_route_propagation_enabled,
),
self.client,
),
Expand Down
14 changes: 14 additions & 0 deletions scaleway/scaleway/vpc/v2/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ def unmarshal_PrivateNetwork(data: Any) -> PrivateNetwork:
if field is not None:
args["dhcp_enabled"] = field

field = data.get("default_route_propagation_enabled", None)
if field is not None:
args["default_route_propagation_enabled"] = field

field = data.get("created_at", None)
if field is not None:
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
Expand Down Expand Up @@ -456,6 +460,11 @@ def marshal_CreatePrivateNetworkRequest(
) -> Dict[str, Any]:
output: Dict[str, Any] = {}

if request.default_route_propagation_enabled is not None:
output["default_route_propagation_enabled"] = (
request.default_route_propagation_enabled
)

if request.name is not None:
output["name"] = request.name

Expand Down Expand Up @@ -600,6 +609,11 @@ def marshal_UpdatePrivateNetworkRequest(
if request.tags is not None:
output["tags"] = request.tags

if request.default_route_propagation_enabled is not None:
output["default_route_propagation_enabled"] = (
request.default_route_propagation_enabled
)

return output


Expand Down
15 changes: 15 additions & 0 deletions scaleway/scaleway/vpc/v2/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,11 @@ class PrivateNetwork:
Defines whether managed DHCP is enabled for this Private Network.
"""

default_route_propagation_enabled: bool
"""
Defines whether default v4 and v6 routes are propagated for this Private Network.
"""

created_at: Optional[datetime]
"""
Date the Private Network was created.
Expand Down Expand Up @@ -347,6 +352,11 @@ class AddSubnetsResponse:

@dataclass
class CreatePrivateNetworkRequest:
default_route_propagation_enabled: bool
"""
Defines whether default v4 and v6 routes are propagated for this Private Network.
"""

region: Optional[ScwRegion]
"""
Region to target. If none is passed will use default region from the config.
Expand Down Expand Up @@ -828,6 +838,11 @@ class UpdatePrivateNetworkRequest:
Tags for the Private Network.
"""

default_route_propagation_enabled: Optional[bool]
"""
Defines whether default v4 and v6 routes are propagated for this Private Network.
"""


@dataclass
class UpdateRouteRequest:
Expand Down