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

Add support for Nokia SR OS

This commit is contained in:
Pau Nadeu Rabat
2021-01-18 20:38:51 +01:00
parent 844958726f
commit 42dbeb80b5
2 changed files with 53 additions and 0 deletions

View File

@ -13,6 +13,7 @@ from .cisco_ios import CiscoIOSCommands
from .cisco_nxos import CiscoNXOSCommands
from .mikrotik_routeros import MikrotikRouterOS
from .mikrotik_switchos import MikrotikSwitchOS
from .nokia_sros import NokiaSROSCommands
_NOS_MAP = {
"arista": AristaCommands,
@ -25,6 +26,7 @@ _NOS_MAP = {
"mikrotik_switchos": MikrotikSwitchOS,
"tnsr": TNSRCommands,
"vyos": VyosCommands,
"nokia_sros": NokiaSROSCommands,
}
@ -41,6 +43,7 @@ class Commands(HyperglassModelExtra):
mikrotik_switchos: CommandGroup = MikrotikSwitchOS()
tnsr: CommandGroup = TNSRCommands()
vyos: CommandGroup = VyosCommands()
nokia_sros: CommandGroup = NokiaSROSCommands()
@classmethod
def import_params(cls, **input_params):

View File

@ -0,0 +1,50 @@
"""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 {vrf} bgp routes community {target}"
bgp_aspath: StrictStr = '/show router {vrf} bgp routes aspath-regex {target}'
bgp_route: StrictStr = "/show router {vrf} bgp routes {target} ipv4 hunt"
ping: StrictStr = "/ping {target} router-instance {vrf} source-address {source}"
traceroute: StrictStr = "traceroute: /traceroute {target} router-instance {vrf} source-address {source} wait 2 seconds"
class _IPv6(CommandSet):
"""Default commands for ipv6 commands."""
bgp_community: StrictStr = "/show router {vrf} bgp routes community {target}"
bgp_aspath: StrictStr = '/show router {vrf} bgp routes aspath-regex {target}'
bgp_route: StrictStr = "/show router {vrf} bgp routes {target} ipv6 hunt"
ping: StrictStr = "/ping {target} router-instance {vrf} source-address {source}"
traceroute: StrictStr = "traceroute: /traceroute {target} router-instance {vrf} source-address {source} wait 2 seconds"
class _VPNIPv4(CommandSet):
"""Default commands for dual afi commands."""
bgp_community: StrictStr = "/show router {vrf} bgp routes community {target}"
bgp_aspath: StrictStr = '/show router {vrf} bgp routes aspath-regex {target}'
bgp_route: StrictStr = "/show router {vrf} bgp routes {target} vpn-ipv4 hunt"
ping: StrictStr = "/ping {target} router-instance {vrf} source-address {source}"
traceroute: StrictStr = "traceroute: /traceroute {target} router-instance {vrf} source-address {source} wait 2 seconds"
class _VPNIPv6(CommandSet):
"""Default commands for dual afi commands."""
bgp_community: StrictStr = "/show router {vrf} bgp routes community {target}"
bgp_aspath: StrictStr = '/show router {vrf} bgp routes aspath-regex {target}'
bgp_route: StrictStr = "/show router {vrf} bgp routes {target} vpn-ipv6 hunt"
ping: StrictStr = "/ping {target} router-instance {vrf} source-address {source}"
traceroute: StrictStr = "traceroute: /traceroute {target} router-instance {vrf} 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()