From f6d971a20d2235bd778b2dde7ef904316f4aeb9d Mon Sep 17 00:00:00 2001 From: checktheroads Date: Fri, 29 May 2020 17:51:41 -0700 Subject: [PATCH] validate netmiko supported NOS by importing from netmiko directly, closes #41 --- hyperglass/configuration/models/routers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hyperglass/configuration/models/routers.py b/hyperglass/configuration/models/routers.py index 980543c..51401af 100644 --- a/hyperglass/configuration/models/routers.py +++ b/hyperglass/configuration/models/routers.py @@ -8,6 +8,7 @@ from pathlib import Path # Third Party from pydantic import StrictInt, StrictStr, StrictBool, validator +from netmiko.ssh_dispatcher import CLASS_MAPPER_BASE as NETMIKO_SUPPORTED # Project from hyperglass.log import log @@ -16,7 +17,6 @@ from hyperglass.models import HyperglassModel, HyperglassModelExtra from hyperglass.constants import ( SCRAPE_HELPERS, TRANSPORT_REST, - TRANSPORT_SCRAPE, SUPPORTED_STRUCTURED_OUTPUT, ) from hyperglass.exceptions import ConfigError, UnsupportedDevice @@ -100,7 +100,7 @@ class Router(HyperglassModel): if value in SCRAPE_HELPERS.keys(): value = SCRAPE_HELPERS[value] - if value not in (*TRANSPORT_REST, *TRANSPORT_SCRAPE): + if value not in (*TRANSPORT_REST, *NETMIKO_SUPPORTED.keys()): raise UnsupportedDevice('NOS "{n}" is not supported.', n=value) return value