def get_interfaces(self): # init result dict result = {} interfaces = junos_views.junos_iface_table(self.device) interfaces.get() # convert all the tuples to our pre-defined dict structure for iface in interfaces.keys(): result[iface] = { 'is_up': interfaces[iface]['is_up'], 'is_enabled': interfaces[iface]['is_enabled'], 'description': interfaces[iface]['description'] or u'', 'last_flapped': interfaces[iface]['last_flapped'] or -1, 'mac_address': unicode(interfaces[iface]['mac_address']) } result[iface]['last_flapped'] = float( result[iface]['last_flapped']) match = re.search(r'\d+', interfaces[iface]['speed'] or '') if match is not None: result[iface]['speed'] = int(match.group(0)) else: result[iface]['speed'] = -1 return result
def get_interfaces(self): # init result dict result = {} interfaces = junos_views.junos_iface_table(self.device) interfaces.get() # convert all the tuples to our pre-defined dict structure for iface in interfaces.keys(): result[iface] = { 'is_up': interfaces[iface]['is_up'], 'is_enabled': interfaces[iface]['is_enabled'], 'description': interfaces[iface]['description'] or u'', 'last_flapped': interfaces[iface]['last_flapped'] or -1, 'mac_address': unicode(interfaces[iface]['mac_address']) } result[iface]['last_flapped'] = float(result[iface]['last_flapped']) match = re.search(r'\d+', interfaces[iface]['speed'] or '') if match is not None: result[iface]['speed'] = int(match.group(0)) else: result[iface]['speed'] = -1 return result
def get_facts(self): output = self.device.facts uptime = 0 if 'RE0' in output: uptime = output['RE0']['up_time'] interfaces = junos_views.junos_iface_table(self.device) interfaces.get() interface_list = interfaces.keys() return { 'vendor': u'Juniper', 'model': unicode(output['model']), 'serial_number': unicode(output['serialnumber']), 'os_version': unicode(output['version']), 'hostname': unicode(output['hostname']), 'fqdn': unicode(output['fqdn']), 'uptime': string_parsers.convert_uptime_string_seconds(uptime), 'interface_list': interface_list }