AutoPatrol, Bureaucrats, Administrators
481
edits
| Line 119: | Line 119: | ||
for node in [o for o in s.getAllObjects() if isinstance(o, objects.Node)]: # filter all objects for objects.Node  | for node in [o for o in s.getAllObjects() if isinstance(o, objects.Node)]: # filter all objects for objects.Node  | ||
     for interface in node.getAllChilds(objects.GenericObject.OBJECT_INTERFACE):  |      for interface in node.getAllChilds(objects.GenericObject.OBJECT_INTERFACE):  | ||
        w.writerow([  | |||
            node.getObjectId(),  | |||
            interface.getObjectId(),  | |||
            node.getObjectName(),  | |||
            interface.getPrimaryIP().getHostAddress(),  | |||
            interface.getSubnetMask().getHostAddress()  | |||
        ])  | |||
</syntaxhighlight>  | |||
== List free(administratively down) ethernet ports on switches ==  | |||
<syntaxhighlight lang="python">  | |||
import csv  | |||
import sys  | |||
w = csv.writer(sys.stdout, dialect='excel')  | |||
w.writerow(['node_id', 'interface_id', 'name', 'ip', 'mask']) # Header  | |||
for node in filter(lambda x: isinstance(x, objects.Node), s.getAllObjects()):  | |||
    allInterfaces = node.getAllChilds(objects.GenericObject.OBJECT_INTERFACE)  | |||
    # iftype=6 - ethernetCsmacd, http://www.net-snmp.org/docs/mibs/interfaces.html#IANAifType  | |||
    #            or check IFTYPE_* constants in src/nms_common.h  | |||
    interfaces = filter(lambda i: i.getIfType==6 and i.getOperState() == objects.Interface.ADMIN_STATE_DOWN, allInterfaces)  | |||
    for interface in interfaces:  | |||
         w.writerow([  |          w.writerow([  | ||
             node.getObjectId(),  |              node.getObjectId(),  | ||