From dbda0c254f6c9bfe86b60c4369c1763b2bd55465 Mon Sep 17 00:00:00 2001 From: Prototool Bot Date: Thu, 21 May 2026 14:13:10 +0000 Subject: [PATCH] feat: update generated APIs --- .../scaleway_async/interlink/v1beta1/api.py | 16 +++++++++++-- .../interlink/v1beta1/marshalling.py | 12 ++++++++++ .../scaleway_async/interlink/v1beta1/types.py | 24 ++++++++++++++++++- scaleway/scaleway/interlink/v1beta1/api.py | 16 +++++++++++-- .../scaleway/interlink/v1beta1/marshalling.py | 12 ++++++++++ scaleway/scaleway/interlink/v1beta1/types.py | 24 ++++++++++++++++++- 6 files changed, 98 insertions(+), 6 deletions(-) diff --git a/scaleway-async/scaleway_async/interlink/v1beta1/api.py b/scaleway-async/scaleway_async/interlink/v1beta1/api.py index f2140b4ec..e57428f49 100644 --- a/scaleway-async/scaleway_async/interlink/v1beta1/api.py +++ b/scaleway-async/scaleway_async/interlink/v1beta1/api.py @@ -274,6 +274,7 @@ async def list_partners( page: Optional[int] = None, page_size: Optional[int] = None, pop_ids: Optional[list[str]] = None, + l3_connectivity: Optional[bool] = None, ) -> ListPartnersResponse: """ List available partners. @@ -283,6 +284,7 @@ async def list_partners( :param page: Page number to return. :param page_size: Maximum number of partners to return per page. :param pop_ids: Filter for partners present (offering a connection) in one of these PoPs. + :param l3_connectivity: Filter for partners supporting L3 connectivity. :return: :class:`ListPartnersResponse ` Usage: @@ -299,6 +301,7 @@ async def list_partners( "GET", f"/interlink/v1beta1/regions/{param_region}/partners", params={ + "l3_connectivity": l3_connectivity, "order_by": order_by, "page": page, "page_size": page_size or self.client.default_page_size, @@ -317,6 +320,7 @@ async def list_partners_all( page: Optional[int] = None, page_size: Optional[int] = None, pop_ids: Optional[list[str]] = None, + l3_connectivity: Optional[bool] = None, ) -> list[Partner]: """ List available partners. @@ -326,6 +330,7 @@ async def list_partners_all( :param page: Page number to return. :param page_size: Maximum number of partners to return per page. :param pop_ids: Filter for partners present (offering a connection) in one of these PoPs. + :param l3_connectivity: Filter for partners supporting L3 connectivity. :return: :class:`list[Partner] ` Usage: @@ -344,6 +349,7 @@ async def list_partners_all( "page": page, "page_size": page_size, "pop_ids": pop_ids, + "l3_connectivity": l3_connectivity, }, ) @@ -393,6 +399,7 @@ async def list_pops( partner_id: Optional[str] = None, link_bandwidth_mbps: Optional[int] = None, dedicated_available: Optional[bool] = None, + l3_connectivity_partners: Optional[bool] = None, ) -> ListPopsResponse: """ List PoPs. @@ -404,8 +411,9 @@ async def list_pops( :param name: PoP name to filter for. :param hosting_provider_name: Hosting provider name to filter for. :param partner_id: Filter for PoPs hosting an available shared connection from this partner. - :param link_bandwidth_mbps: Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. + :param link_bandwidth_mbps: Filter for PoPs with a connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. :param dedicated_available: Filter for PoPs with a dedicated connection available for self-hosted links. + :param l3_connectivity_partners: Filter for PoPs with a shared connection available from a partner supporting L3 connectivity. :return: :class:`ListPopsResponse ` Usage: @@ -424,6 +432,7 @@ async def list_pops( params={ "dedicated_available": dedicated_available, "hosting_provider_name": hosting_provider_name, + "l3_connectivity_partners": l3_connectivity_partners, "link_bandwidth_mbps": link_bandwidth_mbps, "name": name, "order_by": order_by, @@ -448,6 +457,7 @@ async def list_pops_all( partner_id: Optional[str] = None, link_bandwidth_mbps: Optional[int] = None, dedicated_available: Optional[bool] = None, + l3_connectivity_partners: Optional[bool] = None, ) -> list[Pop]: """ List PoPs. @@ -459,8 +469,9 @@ async def list_pops_all( :param name: PoP name to filter for. :param hosting_provider_name: Hosting provider name to filter for. :param partner_id: Filter for PoPs hosting an available shared connection from this partner. - :param link_bandwidth_mbps: Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. + :param link_bandwidth_mbps: Filter for PoPs with a connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. :param dedicated_available: Filter for PoPs with a dedicated connection available for self-hosted links. + :param l3_connectivity_partners: Filter for PoPs with a shared connection available from a partner supporting L3 connectivity. :return: :class:`list[Pop] ` Usage: @@ -483,6 +494,7 @@ async def list_pops_all( "partner_id": partner_id, "link_bandwidth_mbps": link_bandwidth_mbps, "dedicated_available": dedicated_available, + "l3_connectivity_partners": l3_connectivity_partners, }, ) diff --git a/scaleway-async/scaleway_async/interlink/v1beta1/marshalling.py b/scaleway-async/scaleway_async/interlink/v1beta1/marshalling.py index 9653cbfe6..632c691d0 100644 --- a/scaleway-async/scaleway_async/interlink/v1beta1/marshalling.py +++ b/scaleway-async/scaleway_async/interlink/v1beta1/marshalling.py @@ -205,6 +205,12 @@ def unmarshal_PartnerHost(data: Any) -> PartnerHost: else: args["pairing_key"] = None + field = data.get("l3_connectivity", None) + if field is not None: + args["l3_connectivity"] = field + else: + args["l3_connectivity"] = False + field = data.get("disapproved_reason", None) if field is not None: args["disapproved_reason"] = field @@ -418,6 +424,12 @@ def unmarshal_Partner(data: Any) -> Partner: else: args["portal_url"] = None + field = data.get("l3_connectivity", None) + if field is not None: + args["l3_connectivity"] = field + else: + args["l3_connectivity"] = False + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field diff --git a/scaleway-async/scaleway_async/interlink/v1beta1/types.py b/scaleway-async/scaleway_async/interlink/v1beta1/types.py index 35e61f952..aa00c91ad 100644 --- a/scaleway-async/scaleway_async/interlink/v1beta1/types.py +++ b/scaleway-async/scaleway_async/interlink/v1beta1/types.py @@ -42,6 +42,8 @@ def __str__(self) -> str: class LinkKind(str, Enum, metaclass=StrEnumMeta): HOSTED = "hosted" SELF_HOSTED = "self_hosted" + L2_HOSTED = "l2_hosted" + L3_HOSTED = "l3_hosted" def __str__(self) -> str: return str(self.value) @@ -155,6 +157,11 @@ class PartnerHost: Used to identify a link from a user or partner's point of view. """ + l3_connectivity: bool + """ + Whether or not the partner supports L3 connectivity. + """ + disapproved_reason: Optional[str] = None """ Reason given by partner to explain why they did not approve the request for a hosted link. @@ -381,6 +388,11 @@ class Partner: URL of the partner's portal. """ + l3_connectivity: bool + """ + Whether or not the partner supports L3 connectivity. + """ + created_at: Optional[datetime] = None """ Creation date of the partner. @@ -990,6 +1002,11 @@ class ListPartnersRequest: Filter for partners present (offering a connection) in one of these PoPs. """ + l3_connectivity: Optional[bool] = False + """ + Filter for partners supporting L3 connectivity. + """ + @dataclass class ListPartnersResponse: @@ -1043,7 +1060,7 @@ class ListPopsRequest: link_bandwidth_mbps: Optional[int] = 0 """ - Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. + Filter for PoPs with a connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. """ dedicated_available: Optional[bool] = False @@ -1051,6 +1068,11 @@ class ListPopsRequest: Filter for PoPs with a dedicated connection available for self-hosted links. """ + l3_connectivity_partners: Optional[bool] = False + """ + Filter for PoPs with a shared connection available from a partner supporting L3 connectivity. + """ + @dataclass class ListPopsResponse: diff --git a/scaleway/scaleway/interlink/v1beta1/api.py b/scaleway/scaleway/interlink/v1beta1/api.py index 225646c9c..9a17dc1c1 100644 --- a/scaleway/scaleway/interlink/v1beta1/api.py +++ b/scaleway/scaleway/interlink/v1beta1/api.py @@ -272,6 +272,7 @@ def list_partners( page: Optional[int] = None, page_size: Optional[int] = None, pop_ids: Optional[list[str]] = None, + l3_connectivity: Optional[bool] = None, ) -> ListPartnersResponse: """ List available partners. @@ -281,6 +282,7 @@ def list_partners( :param page: Page number to return. :param page_size: Maximum number of partners to return per page. :param pop_ids: Filter for partners present (offering a connection) in one of these PoPs. + :param l3_connectivity: Filter for partners supporting L3 connectivity. :return: :class:`ListPartnersResponse ` Usage: @@ -297,6 +299,7 @@ def list_partners( "GET", f"/interlink/v1beta1/regions/{param_region}/partners", params={ + "l3_connectivity": l3_connectivity, "order_by": order_by, "page": page, "page_size": page_size or self.client.default_page_size, @@ -315,6 +318,7 @@ def list_partners_all( page: Optional[int] = None, page_size: Optional[int] = None, pop_ids: Optional[list[str]] = None, + l3_connectivity: Optional[bool] = None, ) -> list[Partner]: """ List available partners. @@ -324,6 +328,7 @@ def list_partners_all( :param page: Page number to return. :param page_size: Maximum number of partners to return per page. :param pop_ids: Filter for partners present (offering a connection) in one of these PoPs. + :param l3_connectivity: Filter for partners supporting L3 connectivity. :return: :class:`list[Partner] ` Usage: @@ -342,6 +347,7 @@ def list_partners_all( "page": page, "page_size": page_size, "pop_ids": pop_ids, + "l3_connectivity": l3_connectivity, }, ) @@ -391,6 +397,7 @@ def list_pops( partner_id: Optional[str] = None, link_bandwidth_mbps: Optional[int] = None, dedicated_available: Optional[bool] = None, + l3_connectivity_partners: Optional[bool] = None, ) -> ListPopsResponse: """ List PoPs. @@ -402,8 +409,9 @@ def list_pops( :param name: PoP name to filter for. :param hosting_provider_name: Hosting provider name to filter for. :param partner_id: Filter for PoPs hosting an available shared connection from this partner. - :param link_bandwidth_mbps: Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. + :param link_bandwidth_mbps: Filter for PoPs with a connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. :param dedicated_available: Filter for PoPs with a dedicated connection available for self-hosted links. + :param l3_connectivity_partners: Filter for PoPs with a shared connection available from a partner supporting L3 connectivity. :return: :class:`ListPopsResponse ` Usage: @@ -422,6 +430,7 @@ def list_pops( params={ "dedicated_available": dedicated_available, "hosting_provider_name": hosting_provider_name, + "l3_connectivity_partners": l3_connectivity_partners, "link_bandwidth_mbps": link_bandwidth_mbps, "name": name, "order_by": order_by, @@ -446,6 +455,7 @@ def list_pops_all( partner_id: Optional[str] = None, link_bandwidth_mbps: Optional[int] = None, dedicated_available: Optional[bool] = None, + l3_connectivity_partners: Optional[bool] = None, ) -> list[Pop]: """ List PoPs. @@ -457,8 +467,9 @@ def list_pops_all( :param name: PoP name to filter for. :param hosting_provider_name: Hosting provider name to filter for. :param partner_id: Filter for PoPs hosting an available shared connection from this partner. - :param link_bandwidth_mbps: Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. + :param link_bandwidth_mbps: Filter for PoPs with a connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. :param dedicated_available: Filter for PoPs with a dedicated connection available for self-hosted links. + :param l3_connectivity_partners: Filter for PoPs with a shared connection available from a partner supporting L3 connectivity. :return: :class:`list[Pop] ` Usage: @@ -481,6 +492,7 @@ def list_pops_all( "partner_id": partner_id, "link_bandwidth_mbps": link_bandwidth_mbps, "dedicated_available": dedicated_available, + "l3_connectivity_partners": l3_connectivity_partners, }, ) diff --git a/scaleway/scaleway/interlink/v1beta1/marshalling.py b/scaleway/scaleway/interlink/v1beta1/marshalling.py index 9653cbfe6..632c691d0 100644 --- a/scaleway/scaleway/interlink/v1beta1/marshalling.py +++ b/scaleway/scaleway/interlink/v1beta1/marshalling.py @@ -205,6 +205,12 @@ def unmarshal_PartnerHost(data: Any) -> PartnerHost: else: args["pairing_key"] = None + field = data.get("l3_connectivity", None) + if field is not None: + args["l3_connectivity"] = field + else: + args["l3_connectivity"] = False + field = data.get("disapproved_reason", None) if field is not None: args["disapproved_reason"] = field @@ -418,6 +424,12 @@ def unmarshal_Partner(data: Any) -> Partner: else: args["portal_url"] = None + field = data.get("l3_connectivity", None) + if field is not None: + args["l3_connectivity"] = field + else: + args["l3_connectivity"] = False + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field diff --git a/scaleway/scaleway/interlink/v1beta1/types.py b/scaleway/scaleway/interlink/v1beta1/types.py index 35e61f952..aa00c91ad 100644 --- a/scaleway/scaleway/interlink/v1beta1/types.py +++ b/scaleway/scaleway/interlink/v1beta1/types.py @@ -42,6 +42,8 @@ def __str__(self) -> str: class LinkKind(str, Enum, metaclass=StrEnumMeta): HOSTED = "hosted" SELF_HOSTED = "self_hosted" + L2_HOSTED = "l2_hosted" + L3_HOSTED = "l3_hosted" def __str__(self) -> str: return str(self.value) @@ -155,6 +157,11 @@ class PartnerHost: Used to identify a link from a user or partner's point of view. """ + l3_connectivity: bool + """ + Whether or not the partner supports L3 connectivity. + """ + disapproved_reason: Optional[str] = None """ Reason given by partner to explain why they did not approve the request for a hosted link. @@ -381,6 +388,11 @@ class Partner: URL of the partner's portal. """ + l3_connectivity: bool + """ + Whether or not the partner supports L3 connectivity. + """ + created_at: Optional[datetime] = None """ Creation date of the partner. @@ -990,6 +1002,11 @@ class ListPartnersRequest: Filter for partners present (offering a connection) in one of these PoPs. """ + l3_connectivity: Optional[bool] = False + """ + Filter for partners supporting L3 connectivity. + """ + @dataclass class ListPartnersResponse: @@ -1043,7 +1060,7 @@ class ListPopsRequest: link_bandwidth_mbps: Optional[int] = 0 """ - Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. + Filter for PoPs with a connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. """ dedicated_available: Optional[bool] = False @@ -1051,6 +1068,11 @@ class ListPopsRequest: Filter for PoPs with a dedicated connection available for self-hosted links. """ + l3_connectivity_partners: Optional[bool] = False + """ + Filter for PoPs with a shared connection available from a partner supporting L3 connectivity. + """ + @dataclass class ListPopsResponse: