Skip to content
Snippets Groups Projects
Commit 9fb7a7ae authored by Erik Reid's avatar Erik Reid
Browse files

use ipaddress.*Network types

parent 2cff272b
Branches
Tags
No related merge requests found
import ipaddress
import json
import os
from typing import Optional
from pydantic import BaseSettings
......@@ -12,14 +12,19 @@ class InfoBloxParams(BaseSettings):
password: str
class ServiceNetworkProtocolParams(BaseSettings):
container: str # ipaddress?
mask: int
class V4NetworkParams(BaseSettings):
container: ipaddress.IPv4Network
mask: int # TODO: validation on mask?
class V6NetworkParams(BaseSettings):
container: ipaddress.IPv6Network
mask: int # TODO: validation on mask?
class ServiceNetworkParams(BaseSettings):
V4: ServiceNetworkProtocolParams
V6: ServiceNetworkProtocolParams
V4: V4NetworkParams
V6: V6NetworkParams
class IPAMParams(BaseSettings):
......@@ -34,6 +39,10 @@ class OSSParams(BaseSettings):
def load_oss_params() -> OSSParams:
"""
look for OSS_PARAMS_FILENAME in the environment and load the
parameters from that file
"""
with open(os.environ['OSS_PARAMS_FILENAME']) as f:
return OSSParams(**json.loads(f.read()))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment