1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00

Merge branch 'v1.0.0' of github.com:checktheroads/hyperglass into v1.0.0

This commit is contained in:
checktheroads
2021-01-18 23:01:53 -07:00
4 changed files with 61 additions and 0 deletions

View File

@@ -51,6 +51,7 @@ hyperglass is intended to make implementing a looking glass too easy not to do,
- Huawei
- Juniper JunOS
- Mikrotik
- Nokia SR OS
- TNSR
- VyOS
- Configurable support for any other [supported platform](https://hyperglass.io/docs/platforms)

View File

@@ -31,6 +31,7 @@ hyperglass was created with the lofty goal of benefiting the internet community
- Huawei
- Juniper JunOS
- Mikrotik
- Nokia SR OS
- TNSR
- VyOS
- Configurable support for any other [supported platform](platforms.mdx)

View File

@@ -11,6 +11,7 @@ from .juniper import JuniperCommands
from .cisco_xr import CiscoXRCommands
from .cisco_ios import CiscoIOSCommands
from .cisco_nxos import CiscoNXOSCommands
from .nokia_sros import NokiaSROSCommands
from .mikrotik_routeros import MikrotikRouterOS
from .mikrotik_switchos import MikrotikSwitchOS
@@ -23,6 +24,7 @@ _NOS_MAP = {
"juniper": JuniperCommands,
"mikrotik_routeros": MikrotikRouterOS,
"mikrotik_switchos": MikrotikSwitchOS,
"nokia_sros": NokiaSROSCommands,
"tnsr": TNSRCommands,
"vyos": VyosCommands,
}
@@ -39,6 +41,7 @@ class Commands(HyperglassModelExtra):
huawei: CommandGroup = HuaweiCommands()
mikrotik_routeros: CommandGroup = MikrotikRouterOS()
mikrotik_switchos: CommandGroup = MikrotikSwitchOS()
nokia_sros: CommandGroup = NokiaSROSCommands()
tnsr: CommandGroup = TNSRCommands()
vyos: CommandGroup = VyosCommands()

View File

@@ -0,0 +1,56 @@
"""Nokia SR-OS Command Model."""
# Third Party
from pydantic import StrictStr
# Local
from .common import CommandSet, CommandGroup
class _IPv4(CommandSet):
"""Default commands for ipv4 commands."""
bgp_community: StrictStr = "/show router bgp routes community {target}"
bgp_aspath: StrictStr = "/show router bgp routes aspath-regex {target}"
bgp_route: StrictStr = "/show router bgp routes {target} ipv4 hunt"
ping: StrictStr = "/ping {target} source-address {source}"
traceroute: StrictStr = "/traceroute {target} source-address {source} wait 2 seconds"
class _IPv6(CommandSet):
"""Default commands for ipv6 commands."""
bgp_community: StrictStr = "/show router bgp routes community {target}"
bgp_aspath: StrictStr = "/show router bgp routes aspath-regex {target}"
bgp_route: StrictStr = "/show router bgp routes {target} ipv6 hunt"
ping: StrictStr = "/ping {target} source-address {source}"
traceroute: StrictStr = "/traceroute {target} source-address {source} wait 2 seconds"
class _VPNIPv4(CommandSet):
"""Default commands for dual afi commands."""
bgp_community: StrictStr = "/show router bgp routes community {target}"
bgp_aspath: StrictStr = "/show router bgp routes aspath-regex {target}"
bgp_route: StrictStr = "/show router bgp routes {target} vpn-ipv4 hunt"
ping: StrictStr = "/ping {target} source-address {source}"
traceroute: StrictStr = "/traceroute {target} source-address {source} wait 2 seconds"
class _VPNIPv6(CommandSet):
"""Default commands for dual afi commands."""
bgp_community: StrictStr = "/show router bgp routes community {target}"
bgp_aspath: StrictStr = "/show router bgp routes aspath-regex {target}"
bgp_route: StrictStr = "/show router bgp routes {target} vpn-ipv6 hunt"
ping: StrictStr = "/ping {target} source-address {source}"
traceroute: StrictStr = "/traceroute {target} source-address {source} wait 2 seconds"
class NokiaSROSCommands(CommandGroup):
"""Validation model for default nokia_sros commands."""
ipv4_default: _IPv4 = _IPv4()
ipv6_default: _IPv6 = _IPv6()
ipv4_vpn: _VPNIPv4 = _VPNIPv4()
ipv6_vpn: _VPNIPv6 = _VPNIPv6()