forked from mirrors/thatmattlove-hyperglass
Add Nokia SR OS support
Merge pull request #106 from paunadeu/nokia_sros Thanks @paunadeu!
This commit is contained in:
commit
9af7a495bf
4 changed files with 61 additions and 0 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
56
hyperglass/models/commands/nokia_sros.py
Normal file
56
hyperglass/models/commands/nokia_sros.py
Normal 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()
|
||||
Loading…
Add table
Reference in a new issue