-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Hey,
I'm running SMC 7.1.1
API ver tested both 6.10 and 7.1
I'm running latest module ver (1.0.30)
When trying to fetch routing_monitoring as in the example code
engine = Engine('sg_vm')
for route in engine.routing_monitoring:
route
code fail because server returns way more parameters than defined in
route = collections.namedtuple(
"Route", "route_network route_netmask route_gateway route_type dst_if src_if, values"
)
In /core/route.py (Route)
class Route(SerializedIterable):
def __init__(self, data):
routes = data.get("routing_monitoring_entry", [])
data = [{k: v for k, v in d.items() if k != "cluster_ref"} for d in routes]
super(Route, self).__init__(data, route)
Filtering cluster_ref is not enough when the returned keys per route are:
['dst_if', 'route_gateway', 'route_netmask', 'route_network', 'route_type', 'src_if', 'CompId', 'DataType', 'Dstif', 'ReceptionTime', 'RouteGateway', 'RouteMetric', 'RouteNetmask', 'RouteNetwork', 'RouteNetworkIpAddrs', 'RouteType', 'SessionEvent']
it triggers an exception in model(**r)
class SerializedIterable(BaseIterable):
def __init__(self, items, model):
items = [model(**r) for r in items]
super(SerializedIterable, self).__init__(items)
Is there a workaround or am I misusing the module for that purpose?
Metadata
Metadata
Assignees
Labels
No labels