From 6e82c3887ab8401fbe36c4d5235f49c335508cca Mon Sep 17 00:00:00 2001 From: Karel van Klink <karel.vanklink@geant.org> Date: Mon, 3 Jul 2023 10:54:03 +0200 Subject: [PATCH] add typing to services --- gso/services/ipam.py | 12 ++++++------ gso/services/resource_manager.py | 6 +++--- pyproject.toml | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/gso/services/ipam.py b/gso/services/ipam.py index 85b99458..64e1fdf9 100644 --- a/gso/services/ipam.py +++ b/gso/services/ipam.py @@ -1,5 +1,5 @@ import ipaddress -from typing import Union +from typing import Union, Optional from pydantic import BaseSettings @@ -25,7 +25,7 @@ class HostAddresses(BaseSettings): v6: ipaddress.IPv6Address -def new_service_networks(service_type: str = "", comment: str = "", extattrs=None) -> ServiceNetworks: +def new_service_networks(service_type: str = "", comment: str = "", extattrs: dict = None) -> ServiceNetworks: if extattrs is None: extattrs = {} v4_service_network = _ipam.allocate_service_ipv4_network( @@ -40,10 +40,10 @@ def new_service_networks(service_type: str = "", comment: str = "", extattrs=Non def new_service_host( hostname: str, service_type: str = "", - service_networks: ServiceNetworks = None, - host_addresses: HostAddresses = None, - cname_aliases=None, - extattrs=None, + service_networks: Optional[ServiceNetworks] = None, + host_addresses: Optional[HostAddresses] = None, + cname_aliases: list = None, + extattrs: dict = None, ) -> HostAddresses: if extattrs is None: extattrs = {} diff --git a/gso/services/resource_manager.py b/gso/services/resource_manager.py index 51847eb1..50b1bc89 100644 --- a/gso/services/resource_manager.py +++ b/gso/services/resource_manager.py @@ -3,14 +3,14 @@ import requests from gso import settings -def import_new_router(router_name, oss_params=settings.OSSParams) -> None: +def import_new_router(router_name: str, oss_params=settings.OSSParams) -> None: r = requests.post( f"{oss_params.RESOURCE_MANAGER_API_PREFIX}" f"/api/interfaces/initialize-router/{router_name}", timeout=10000 ) r.raise_for_status() -def next_lag(router_name, oss_params=settings.OSSParams) -> dict: +def next_lag(router_name: str, oss_params=settings.OSSParams) -> dict: r = requests.post( f"{oss_params.RESOURCE_MANAGER_API_PREFIX}" f"/api/interfaces/next-lag/{router_name}", timeout=10000 ) @@ -19,7 +19,7 @@ def next_lag(router_name, oss_params=settings.OSSParams) -> dict: return response["name"] -def next_physical(router_name, lag_name, oss_params=settings.OSSParams) -> dict: +def next_physical(router_name: str, lag_name: str, oss_params=settings.OSSParams) -> dict: # TODO: speed needed (if first interface) r = requests.post( f"{oss_params.RESOURCE_MANAGER_API_PREFIX}" f"/api/interfaces/next-physical/{router_name}/{lag_name}", diff --git a/pyproject.toml b/pyproject.toml index 409c5504..ce6ec4bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,6 +25,7 @@ exclude = ''' [tool.mypy] exclude = [ "venv", + "test/*", "gso/services/_ipam.py" # TODO: remove ] ignore_missing_imports = true -- GitLab