HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //snap/core20/2599/usr/lib/python3/dist-packages/cloudinit/net/netops/__init__.py
from abc import abstractmethod
from typing import Optional

from cloudinit.subp import SubpResult


class NetOps:
    @staticmethod
    @abstractmethod
    def link_up(interface: str) -> SubpResult:
        pass

    @staticmethod
    @abstractmethod
    def link_down(interface: str) -> SubpResult:
        pass

    @staticmethod
    @abstractmethod
    def link_rename(current_name: str, new_name: str):
        pass

    @staticmethod
    def add_route(
        interface: str,
        route: str,
        *,
        gateway: Optional[str] = None,
        source_address: Optional[str] = None
    ):
        pass

    @staticmethod
    def append_route(interface: str, address: str, gateway: str):
        pass

    @staticmethod
    def del_route(
        interface: str,
        address: str,
        *,
        gateway: Optional[str] = None,
        source_address: Optional[str] = None
    ):
        pass

    @staticmethod
    @abstractmethod
    def get_default_route() -> str:
        pass

    @staticmethod
    def add_addr(
        interface: str, address: str, broadcast: Optional[str] = None
    ):
        pass

    @staticmethod
    def del_addr(interface: str, address: str):
        pass

    @staticmethod
    def flush_addr(interface: str):
        pass