Skip to content

Commit 220daed

Browse files
committed
TPT-4278: python-sdk: Implement support for Reserved IP for IPv4
1 parent 062d9e0 commit 220daed

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

linode_api4/groups/networking.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Dict, Optional, Union
1+
from typing import Any, Dict, List, Optional, Union
22

33
from linode_api4.errors import UnexpectedResponseError
44
from linode_api4.groups import Group
@@ -18,6 +18,7 @@
1818
)
1919
from linode_api4.objects.base import _flatten_request_body_recursive
2020
from linode_api4.objects.networking import ReservedIPAddress, ReservedIPType
21+
from linode_api4.paginated_list import PaginatedList
2122
from linode_api4.util import drop_null_keys
2223

2324

@@ -330,8 +331,12 @@ def ips_assign(self, region, *assignments):
330331
)
331332

332333
def ip_allocate(
333-
self, linode=None, public=True, reserved=False, region=None
334-
):
334+
self,
335+
linode: Optional[Union[Instance, int]] = None,
336+
public: bool = True,
337+
reserved: bool = False,
338+
region: Optional[Union[Region, str]] = None,
339+
) -> IPAddress:
335340
"""
336341
Allocates an IP to a Instance you own, or reserves a new IP address.
337342
@@ -536,7 +541,7 @@ def delete_vlan(self, vlan, region):
536541

537542
return True
538543

539-
def reserved_ips(self, *filters):
544+
def reserved_ips(self, *filters) -> PaginatedList:
540545
"""
541546
Returns a list of reserved IPv4 addresses on your account.
542547
@@ -553,7 +558,12 @@ def reserved_ips(self, *filters):
553558
"""
554559
return self.client._get_and_filter(ReservedIPAddress, *filters)
555560

556-
def reserved_ip_create(self, region, tags=None, **kwargs):
561+
def reserved_ip_create(
562+
self,
563+
region: Union[Region, str],
564+
tags: Optional[List[str]] = None,
565+
**kwargs,
566+
) -> ReservedIPAddress:
557567
"""
558568
Reserves a new IPv4 address in the given region.
559569
@@ -585,7 +595,7 @@ def reserved_ip_create(self, region, tags=None, **kwargs):
585595

586596
return ReservedIPAddress(self.client, result["address"], result)
587597

588-
def reserved_ip_types(self, *filters):
598+
def reserved_ip_types(self, *filters) -> PaginatedList:
589599
"""
590600
Returns a list of reserved IP types with pricing information.
591601

0 commit comments

Comments
 (0)