Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syncing forked repository #1

Merged
merged 19 commits into from
Oct 2, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
f39e965
cleanup: hp_comware duplicate test - display_vlan_bri
ad8-bdl Sep 3, 2019
45c7879
bug_fix: cisco_xr_show_version account for different ouput for build …
mspiez Sep 20, 2019
076a2b4
bug_fix: cisco_asa_show_version - added compile_date and use case for…
jvanderaa Sep 20, 2019
f881808
Delete Error
jmcgill298 Sep 23, 2019
647f643
BUGFIX: Cisco xr show interfaces duplex and mac for bundle ethernet (…
Warsenius Sep 24, 2019
b8d7495
Support for locating templates when installing local directory on Win…
jmcgill298 Sep 26, 2019
9fd544b
Update CHANGELOG
jmcgill298 Sep 26, 2019
b3c1fc3
Update Version number
jmcgill298 Sep 26, 2019
afe01d7
BugFix: allow various time formats for ip mroute (#474)
jmcgill298 Sep 26, 2019
8a11939
Enhancement: Cisco XR add VRF to show route
Warsenius Sep 26, 2019
70746d4
Examples in comments were swapped (#421)
cmccormack Sep 27, 2019
323c829
BugFix: ASA dir - account for change in raw output (#419)
FragmentedPacket Sep 27, 2019
0a91c4e
new_template: cisco_wlc_ssh_show_exclusionlist
ancker010 Sep 27, 2019
707d0e3
bug_Fix: hp_procurve_show_arp - incomplete arp and non-digit ports (t…
dainok Sep 28, 2019
d2f9f94
enhancement: cisco_asa_show_asp_drop added additional fields
vaneuk Sep 28, 2019
75db168
new_template: cisco_nxos_show_ip_interface_brief
mullaneywt Sep 29, 2019
1d344ff
bug_fix: cisco_nxos_show_interface_brief - support for pvlan and fabr…
mullaneywt Sep 29, 2019
25fbf98
bug_fix: cisco_asa_show_failover - account for ASA Firepower module
deesel Oct 1, 2019
813f1c9
new_template: watchguard_firebox_show_arp
dainok Oct 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## [1.2.1]
### Fixed for any bug fixes
### Added for new features
### Changed for changes in existing functionality
### Deprecated for soon-to-be removed features
### Removed for now removed features

## [1.2.0]
### Fixed
- [#389] IOS-XR show interfaces: Fixed matching speed and duplex for bundle-ethernet interfaces
- [#442] IOS-XR show version: Fixed matching `build_host` field that uses both "Build" and "Built" keywords
- [#455][#456] Template files were inaccessable when installing from local directory; now works when using `pip -e`
### Added
- [#470] ASA show version: Add capturing `compiled_date` field
Empty file removed Error
Empty file.
2 changes: 1 addition & 1 deletion lib/ntc_templates/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""ntc_templates - Parse raw output from network devices and return structured data."""

__version__ = '1.1.0'
__version__ = '1.2.1'
11 changes: 9 additions & 2 deletions lib/ntc_templates/parse.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
"""ntc_templates.parse."""
import pkg_resources
import os

try:
from textfsm import clitable
except ImportError:
import clitable


def _get_template_dir():
return pkg_resources.resource_filename("ntc_templates", "templates")
package_dir = os.path.dirname(__file__)
template_dir = os.path.join(package_dir, "templates")
if not os.path.isdir(template_dir):
project_dir = os.path.dirname(os.path.dirname(os.path.dirname(template_dir)))
template_dir = os.path.join(project_dir, "templates")

return template_dir


def _clitable_to_dict(cli_table):
Expand Down
5 changes: 5 additions & 0 deletions templates/cisco_asa_dir.template
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Value PERMISSIONS (\S+)
Value SIZE (\d+)
Value Fillup TOTAL_SIZE (\d+)
Value Fillup TOTAL_FREE (\d+)
Value Fillup TOTAL_PERCENT_FREE (\d+)
Value DATE_TIME ((<no date>)|(\S+\s\w+\s\d+\s\d+))
Value NAME (\S+)

Expand All @@ -14,6 +15,10 @@ DIR
^Directory of\s+${FILE_SYSTEM} -> DIR
^((\s+)*${ID})\s+${PERMISSIONS}\s+${SIZE}\s+${DATE_TIME}\s+${NAME} -> Record
^${TOTAL_SIZE}\s+\S+\s+\S+\s\(${TOTAL_FREE} bytes free\)
# Accounts for X files total size: X bytes
^\d+\s+\S+\s+\S+\s+\d+\s+\S+
^${TOTAL_SIZE} bytes total \(${TOTAL_FREE} bytes free/${TOTAL_PERCENT_FREE}\% free\)
^.*$$

#
EOF
8 changes: 8 additions & 0 deletions templates/cisco_asa_show_asp_drop.template
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Value FLOW_DROP_ACL_DROP (\d+)
Value FLOW_DROP_SHUNNED (\d+)
Value FLOW_DROP_CLUSTER_REDIRECT (\d+)
Value FLOW_DROP_INSPECT_FAIL (\d+)
Value FLOW_DROP_IPSEC_SELECTOR_FAILURE (\d+)
Value FLOW_DROP_NAT_RPF_FAILED (\d+)
Value FLOW_DROP_OUT_OF_MEMORY (\d+)
Value FLOW_DROP_SSL_BAD_RECORD_DETECT (\d+)
Expand All @@ -16,6 +17,7 @@ Value FLOW_DROP_CTM_CRYPTO_REQUEST_ERROR (\d+)
Value FLOW_DROP_VPN_HANDLE_NOT_FOUND (\d+)
Value FLOW_DROP_NP_SOCKET_DATA_MOVE_FAILURE (\d+)
Value FLOW_DROP_DTLS_HELLO_CLOSE (\d+)
Value FLOW_LAST_CLEARED (.+?)
Value ACL_DROP (\d+)
Value ASYNC_LOCK_QUEUE_LIMIT (\d+)
Value BAD_IPSEC_NATT (\d+)
Expand Down Expand Up @@ -61,6 +63,7 @@ Value L2_ACL (\d+)
Value LAST_CLEARED (.+?)
Value LU_INVALID_PKT (\d+)
Value MCAST_IN_NONACTIVE_DEVICE (\d+)
Value MP_SVC_BAD_LENGTH (\d+)
Value MP_SVC_FLOW_CONTROL (\d+)
Value MP_SVC_NO_CHANNEL (\d+)
Value MP_SVC_NO_FRAGMENT (\d+)
Expand All @@ -87,6 +90,7 @@ Value RULE_TRANSACTION_IN_PROGRESS (\d+)
Value SECURITY_FAILED (\d+)
Value SHUNNED (\d+)
Value SP_SECURITY_FAILED (\d+)
Value SSL_FIRST_RECORD_INVALID (\d+)
Value TCP_3WHS_FAILED (\d+)
Value TCP_ACK_SYN_DIFF (\d+)
Value TCP_BAD_OPTION_LIST (\d+)
Expand Down Expand Up @@ -160,6 +164,7 @@ Start
^.+l2_acl\)\s+${L2_ACL}
^.+lu-invalid-pkt\)\s+${LU_INVALID_PKT}
^.+mcast-in-nonactive-device\)\s+${MCAST_IN_NONACTIVE_DEVICE}
^.+mp-svc-bad-length\)\s+${MP_SVC_BAD_LENGTH}
^.+mp-svc-flow-control\)\s+${MP_SVC_FLOW_CONTROL}
^.+mp-svc-no-channel\)\s+${MP_SVC_NO_CHANNEL}
^.+mp-svc-no-fragment\)\s+${MP_SVC_NO_FRAGMENT}
Expand All @@ -186,6 +191,7 @@ Start
^.+security-failed\)\s+${SECURITY_FAILED}
^.+shunned\)\s+${SHUNNED}
^.+sp-security-failed\)\s+${SP_SECURITY_FAILED}
^.+ssl-first-record-invalid\)\s+${SSL_FIRST_RECORD_INVALID}
^.+tcp-3whs-failed\)\s+${TCP_3WHS_FAILED}
^.+tcp-ack-syn-diff\)\s+${TCP_ACK_SYN_DIFF}
^.+tcp-bad-option-list\)\s+${TCP_BAD_OPTION_LIST}
Expand Down Expand Up @@ -215,10 +221,12 @@ Start
FLOW
^\s+$$
^$$
^Last\s+clearing:\s+${FLOW_LAST_CLEARED}\s*$$
^.+Flow\s+is\s+denied\s+by\s+access\s+rule\s+\(acl-drop\)\s+${FLOW_DROP_ACL_DROP}
^.+cluster-redirect\)\s+${FLOW_DROP_CLUSTER_REDIRECT}
^.+Flow\s+shunned \(shunned\)\s+${FLOW_DROP_SHUNNED}
^.+inspect-fail\)\s+${FLOW_DROP_INSPECT_FAIL}
^.+ipsec-selector-failure\)\s+${FLOW_DROP_IPSEC_SELECTOR_FAILURE}
^.+nat-rpf-failed\)\s+${FLOW_DROP_NAT_RPF_FAILED}
^.+out-of-memory\)\s+${FLOW_DROP_OUT_OF_MEMORY}
^.+ssl-bad-record-detect\)\s+${FLOW_DROP_SSL_BAD_RECORD_DETECT}
Expand Down
2 changes: 2 additions & 0 deletions templates/cisco_asa_show_failover.template
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ ThisHost
^\s*Other\s+host:.+?-\s+${SERVICE_STATE_MATE}\s*$$ -> OtherHost
^\s*Other\s+host:\s+\S+\s*$$ -> OtherHost
^\s*slot\s+\d+:\s+empty\s*$$
^\s*ASA\s+FirePOWER
^\s*$$
^. -> Error

Expand All @@ -68,6 +69,7 @@ OtherHost
# Service module has different line
^\s*\S+,\s+\S+,\s+\S+\s*$$
^\s*slot\s+\d+:\s+empty\s*$$
^\s*ASA\s+FirePOWER
^Stateful\s+Failover\s+Logical\s+Update\s+Statistics\s*$$ -> Stats
^\s*$$
^. -> Error
Expand Down
4 changes: 3 additions & 1 deletion templates/cisco_asa_show_version.template
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Value VERSION (\S+)
Value DEVICE_MGR_VERSION (\S+)
Value COMPILE_DATE (\d+-\w+-\d+)
Value IMAGE (\S+)
Value HOSTNAME (\S+)
Value UPTIME (.+)
Expand All @@ -19,9 +20,11 @@ Value LAST_MOD (.+)
Start
^.*Software\sVersion\s${VERSION}
^Device.+\s${DEVICE_MGR_VERSION}
^Compiled\s+on\s+\w+\s+${COMPILE_DATE}.*
^System image file.+"${IMAGE}"
^${HOSTNAME} up ${UPTIME}
^Hardware:\s+${HARDWARE},
^Hardware:\s+${HARDWARE}
^Model Id:\s+${MODEL}
^Internal.+Flash,\s${FLASH}
^ \d+:.\S+\s${INTERFACES}.*
Expand All @@ -33,4 +36,3 @@ Start
^Cluster\s+:\s${CLUSTER}
^Serial Number:\s${SERIAL}
^.+last modified by\s${LAST_MOD}

4 changes: 2 additions & 2 deletions templates/cisco_ios_show_ip_bgp.template
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ Bgp_table
#
#
# Match first when there is no network, since previous line had it already (compliment and filldown below)
# Example: * i172.16.1.0/24 172.16.1.2 0 100 0 i
# Example: *> 0.0.0.0 0 32768 i
^\s{0,1}${STATUS}${PATH_SELECTION}${ROUTE_SOURCE}\s{0,2}\s{16}\s(?=${NEXT_HOP}).{19}\s(?=\s{0,6}${METRIC}).{6}\s(?=\s{0,6}${LOCAL_PREF}).{6}\s(?=\s{0,6}${WEIGHT}).{6}\s*${AS_PATH}\s*${ORIGIN}$$ -> Record
#
#
# Full normal example. metric, and as_path might not exist, regex defaults to blank line.
# Example: *> 0.0.0.0 0 32768 i
# Example: * i172.16.1.0/24 172.16.1.2 0 100 0 i
^\s{0,1}${STATUS}${PATH_SELECTION}${ROUTE_SOURCE}\s{0,2}(?=${NETWORK}).{16}\s(?=${NEXT_HOP}).{19}\s(?=\s{0,6}${METRIC}).{6}\s(?=\s{0,6}${LOCAL_PREF}).{6}\s(?=\s{0,6}${WEIGHT}).{6}\s*${AS_PATH}\s*${ORIGIN}$$ -> Record


Expand Down
10 changes: 5 additions & 5 deletions templates/cisco_ios_show_ip_mroute.template
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
Value MULTICAST_SOURCE_IP (\*|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
Value MULTICAST_GROUP_IP (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
Value UP_TIME (\d{2}:\d{2}:\d{2})
Value EXPIRATION_TIME (\d{2}:\d{2}:\d{2}|stopped)
Value UP_TIME (\S+?)
Value EXPIRATION_TIME (\S+?)
Value RENDEZVOUS_POINT (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
Value FLAGS (\w*)
Value INCOMING_INTERFACE (\S+)
Value REVERSE_PATH_FORWARDING_NEIGHBOUR_IP (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
Value REGISTERING (Registering)
Value List OUTGOING_INTERFACE (\S+)
Value List FORWARD_MODE (Forward\/Sparse|Forward\/Dense)
Value List OUTGOING_MULTICAST_UP_TIME (\d{2}:\d{2}:\d{2})
Value List OUTGOING_MULTICAST_EXPIRATION_TIME (\d{2}:\d{2}:\d{2}|stopped)
Value List OUTGOING_MULTICAST_UP_TIME (\S+)
Value List OUTGOING_MULTICAST_EXPIRATION_TIME (\S+?)

Start
^\((\*|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}),\s(\*|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) -> Continue.Record
^\(${MULTICAST_SOURCE_IP},\s${MULTICAST_GROUP_IP}\),\s${UP_TIME}\/${EXPIRATION_TIME}(,\sRP\s${RENDEZVOUS_POINT})?,\sflags:\s${FLAGS}
^\s+Incoming\sinterface:\s${INCOMING_INTERFACE},\sRPF\snbr\s${REVERSE_PATH_FORWARDING_NEIGHBOUR_IP}(,\s${REGISTERING})?
^\s+Outgoing\s+interface\s+list:(?:\s+Null|)\s*$$
^\s+${OUTGOING_INTERFACE},\s${FORWARD_MODE},\s${OUTGOING_MULTICAST_UP_TIME}\/${OUTGOING_MULTICAST_EXPIRATION_TIME}
^\s+${OUTGOING_INTERFACE},\s${FORWARD_MODE},\s${OUTGOING_MULTICAST_UP_TIME}\/${OUTGOING_MULTICAST_EXPIRATION_TIME}\s*$$
^\s*$$
^IP\s+Multicast\s+(?:Forwarding|Routing)
^.*[Ff]lags
Expand Down
2 changes: 1 addition & 1 deletion templates/cisco_nxos_show_interface_brief.template
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Value SPEED (\S+)
Value MTU (\d+)
Value VLAN ([\d+--]+)
Value TYPE (\S+)
Value MODE (routed|access|trunk)
Value MODE (routed|access|trunk|pvlan|fabric)
Value REASON (\S+((\s\w+)+)?)
Value PORTCH (\S+)
Value DESCRIPTION (\S+((\s\w+)+)?)
Expand Down
8 changes: 8 additions & 0 deletions templates/cisco_nxos_show_ip_interface_brief.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Value Required INTF (\S+)
Value Required IPADDR ([a-zA-Z0-9./]+)
Value STATUS (\S+-\S+)
Value LINK (\S+-\S+)
Value PROTO (\S+-\S+)

Start
^${INTF}\s+${IPADDR}\s+${PROTO}/${LINK}/${STATUS} -> Record
14 changes: 14 additions & 0 deletions templates/cisco_wlc_ssh_show_exclusionlist.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Value MAC (([\da-fA-F]{2}[-:]){5}[\da-fA-F]{2})
Value COMMENT (.*)

Start
^Manually\s*Disabled\s*Clients -> ManuallyDisabled
^No\s*dynamically
^\s*$$
^. -> Error

ManuallyDisabled
^---
^MAC\s+Address\s+Description
^${MAC}\s+${COMMENT} -> Record
^\s*$$ -> Start
6 changes: 3 additions & 3 deletions templates/cisco_xr_show_interfaces.template
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ Value DESCRIPTION (.*?)
Value IP_ADDRESS (.*?)
Value MTU (\d+)
Value DUPLEX (.+?)
Value SPEED (.+?)
Value SPEED (.+?b/s)
Value BANDWIDTH (\d+\s+\w+)
Value ENCAPSULATION (\w+)

Start
^\S+\s+is -> Continue.Record
^${INTERFACE}\sis\s+${LINK_STATUS},\s+line\sprotocol\sis\s+${ADMIN_STATE}\s*$$
^\s+Hardware\s+is\s+${HARDWARE_TYPE}(?:,\s+address\s+is\s+${ADDRESS}\s+\(bia\s+${BIA}\)\s*$$|\s.+|\s*$$)
^\s+Hardware\s+is\s+${HARDWARE_TYPE}(?:\s+interface\(s\)|)(?:,\s+address\s+is\s+${ADDRESS}(?:\s+\(bia\s+${BIA}\)\s*)*$$|\s.+|\s*$$)
^\s+Description:\s+${DESCRIPTION}\s*$$
^\s+[Ii]nternet\s+[Aa]ddress\s+is\s+${IP_ADDRESS}\s*$$
^\s+MTU\s+${MTU}.*BW\s+${BANDWIDTH}
^\s+Encapsulation\s+${ENCAPSULATION}
^\s+(?:[Dd]uplex\s+|)${DUPLEX}(?:-[Dd]uplex|),\s+${SPEED},.+link
^\s+(?:[Dd]uplex\s+|)${DUPLEX}(?:-[Dd]uplex|),\s+${SPEED}
17 changes: 10 additions & 7 deletions templates/cisco_xr_show_ip_route.template
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
Value Filldown VRF (\S+)
Value Filldown PROTOCOL (\S+|\S+\s\S+)
Value Filldown NETWORK (\d+\.\d+\.\d+\.\d+)
Value Filldown MASK (\d+)
Value DISTANCE (\d+|is)
Value METRIC (\d+)
Value TYPE (directly|via)
Value Required NEXT_HOP (connected|\d+\.\d+\.\d+\.\d+)
Value INTERFACE (\S+)
Value INTERFACE (\S+|vrf\s\S+)
Value UPTIME (\S+)

Start
^Codes: C - connected, -> Route

Route
Start
^VRF?:\s${VRF}
^Codes:
^\s+(\S+\s+-\s+.+[,]*)+
^Gateway\s+of\s+last\s+resort
^${PROTOCOL}\s+${NETWORK}/${MASK}\s+(?:\[${DISTANCE}/${METRIC}\]|is)\s+${TYPE}\s+${NEXT_HOP},\s+${UPTIME},\s+${INTERFACE} -> Record
^\s+(?:\[${DISTANCE}/${METRIC}\]|is)\s+${TYPE}\s+${NEXT_HOP},\s+${UPTIME},\s+${INTERFACE} -> Record
^${PROTOCOL}\s+${NETWORK}/${MASK}\s+(?:\[${DISTANCE}/${METRIC}\]|is)\s+${TYPE}\s+${NEXT_HOP},\s+${UPTIME} -> Record
^${PROTOCOL}\s+${NETWORK}/${MASK}\s+(?:\[${DISTANCE}/${METRIC}\]|is)\s+${TYPE}\s+${NEXT_HOP}\s+\(nexthop\sin\s${INTERFACE}\),\s+${UPTIME} -> Record
^\s+(?:\[${DISTANCE}/${METRIC}\]|is)\s+${TYPE}\s+${NEXT_HOP},\s+${UPTIME} -> Record
^\s+$$
^$$
^.* -> Error "LINE NOT FOUND"
^\s*$$
^\S+\s+\S+\s+\d+\s+\d+:\d+:\d+
^% No matching routes found
^. -> Error "LINE NOT FOUND"
2 changes: 1 addition & 1 deletion templates/cisco_xr_show_version.template
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Start
Build_Info
^\s+Built\sBy.+
^\s+Built\sOn.+
^\s+Build\sHost\s+:\s+${BUILD_HOST}
^\s+Buil[dt]\sHost\s+:\s+${BUILD_HOST}
^\s+Workspace\s+:\s\S+
^\s+Version\s+:\s${VERSION}
^\s+Location\s+:\s${LOCATION}
Expand Down
4 changes: 2 additions & 2 deletions templates/hp_procurve_show_arp.template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Value IP ((?:[0-9]{1,3}\.){3}[0-9]{1,3})
Value IP (\S+)
Value MAC ([0-9a-fA-F]{6}-[0-9a-fA-F]{6})
Value TYPE (\S+)
Value PORT (\d+)
Value PORT (\S+)

Start
^.*IP ARP table -> ARP
Expand Down
7 changes: 6 additions & 1 deletion templates/index
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ cisco_nxos_show_ip_ospf_neighbor_vrf.template, .*, cisco_nxos, sh[[ow]] ip ospf
cisco_nxos_show_ipv6_interface_brief.template, .*, cisco_nxos, sh[[ow]] ipv[[6]] interf[[ace]] b[[rief]]
cisco_nxos_show_port-channel_summary.template, .*, cisco_nxos, sh[[ow]] po[[rt-channel]] sum[[mary]]
cisco_nxos_show_cts_interface_brief.template, .*, cisco_nxos, sh[[ow]] cts inte[[rface]] br[[ief]]
cisco_nxos_show_ip_interface_brief.template, .*, cisco_nxos, sh[[ow]] ip int[[erface]] b[[rief]]
cisco_nxos_show_cts_interface_all.template, .*, cisco_nxos, sh[[ow]] ct[[s]] inter[[face]] al[[l]]
cisco_nxos_show_ip_community-list.template, .*, cisco_nxos, sh[[ow]] ip comm[[unity-list]]
cisco_nxos_show_mac_address-table.template, .*, cisco_nxos, sh[[ow]] m[[ac]] addr[[ess-table]]
Expand Down Expand Up @@ -236,9 +237,11 @@ cisco_nxos_show_vrf.template, .*, cisco_nxos, sh[[ow]] vrf

cisco_wlc_ssh_show_cdp_neighbors_detail.template, .*, cisco_wlc_ssh, sh[[ow]] c[[dp]] neig[[hbors]] det[[ail]]
cisco_wlc_ssh_show_ap_config_general.template, .*, cisco_wlc_ssh, sh[[ow]] ap con[[fig]] ge[[neral]]
cisco_wlc_ssh_show_exclusionlist.template, .*, cisco_wlc_ssh, sh[[ow]] ex[[clusionlist]]
cisco_wlc_ssh_show_ap_summary.template, .*, cisco_wlc_ssh, sh[[ow]] ap sum[[mary]]
cisco_wlc_ssh_show_sysinfo.template, .*, cisco_wlc_ssh, sh[[ow]] sysi[[nfo]]


cisco_xr_show_controllers_fabric_fia_errors_ingress_location.template, .*, cisco_xr, sh[[ow]] contr[[ollers]] fabric fi[[a]] err[[ors]] in[[gress]] loc[[ation]]
cisco_xr_show_controllers_fabric_fia_drops_ingress_location.template, .*, cisco_xr, sh[[ow]] contr[[ollers]] fabric fi[[a]] dr[[ops]] in[[gress]] loc[[ation]]
cisco_xr_show_controllers_fabric_fia_errors_egress_location.template, .*, cisco_xr, sh[[ow]] contr[[ollers]] fabric fi[[a]] err[[ors]] eg[[ress]] loc[[ation]]
Expand Down Expand Up @@ -272,7 +275,7 @@ cisco_xr_show_pim_neighbor.template, .*, cisco_xr, sh[[ow]] pi[[m]] neigh[[bor]]
cisco_xr_show_controllers.template, .*, cisco_xr, sh[[ow]] contr[[ollers]] (\S+) phy
cisco_xr_show_interfaces.template, .*, cisco_xr, sh[[ow]] inte[[rfaces]]
cisco_xr_admin_show_vm.template, .*, cisco_xr, adm[[in]] sh[[ow]] vm
cisco_xr_show_ip_route.template, .*, cisco_xr, sh[[ow]] ip ro[[ute]]
cisco_xr_show_ip_route.template, .*, cisco_xr, sh[[ow]] (?:ip )?ro[[ute]]
cisco_xr_show_version.template, .*, cisco_xr, sh[[ow]] ver[[sion]]
cisco_xr_show_hsrp.template, .*, cisco_xr, sh[[ow]] hs[[rp]]
cisco_xr_show_bgp.template, .*, cisco_xr, sh[[ow]] bg[[p]]
Expand Down Expand Up @@ -323,3 +326,5 @@ vmware_nsxv_show_ip_route.template, .*, vmware_nsxv, sh[[ow]] ip r[[oute]]

vyatta_vyos_show_interfaces.template, .*, .*vyos.*, sh[[ow]] int[[erfaces]]
vyatta_vyos_show_arp.template, .*, .*vyos.*, sh[[ow]] a[[rp]]

watchguard_firebox_show_arp.template, .*, watchguard_firebox, sh[[ow]] arp
11 changes: 11 additions & 0 deletions templates/watchguard_firebox_show_arp.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Value INTERFACE (\S+)
Value IP ([0-9.]+)
Value MAC ([0-9a-fA-F:]+|incomplete)

Start
^--
^--\s+ARP\s+Table
^--
^\?\s+\(${IP}\)\s+at\s+<*${MAC}>*\s+(\[\S+\]\s*)?([A-Z]+\s*)?on\s+${INTERFACE} -> Record
^\s*$$
^. -> Error
Loading