Hello, I've been coding a lot lately in python using PEYZ. I love it! I've found using tables/views to be by far the easiest way to retrieve config data and show commands. There's lots of info in the developer guide:
https://www.juniper.net/documentation/en_US/junos-pyez/information-products/pathway-pages/junos-pyez-developer-guide.html Here's how to accomplish your command: --------------------------------------------------- import yaml from jnpr.junos import Device from jnpr.junos.factory.factory_loader import FactoryLoader DeviceIP = "1.2.3.4" Username = "user" Password = "pass" dev = Device(host=DeviceIP, user=Username, password=Password, normalize=True).open() ## YAML for the interface list RouteYAML = """ --- RouteTable: rpc: get-route-information item: route-table/rt/rt-entry args: table: 'inet.0' destination: '10.1.2.4' args_key: table destination view: RouteView RouteView : fields: protocolName: protocol-name activeTag: active-tag preference: preference """ globals().update(FactoryLoader().load(yaml.load(RouteYAML))) RouteTableList = RouteTable(dev) RouteTableList.get() for item in RouteTableList: print "protocolName: " + item.protocolName print "activeTag: " + item.activeTag print "preference:" + item.preference --------------------------------------------------- This route at the CLI: show route 10.1.2.4 table inet.0 inet.0: 836 destinations, 855 routes (831 active, 0 holddown, 5 hidden) + = Active Route, - = Last Active, * = Both 10.1.2.4/31 *[OSPF/10] 5d 09:57:18, metric 3400 > to 10.12.100.209 via ae64.100 to 10.12.100.254 via ae62.0 The XML: show route 10.1.2.4 table inet.0 | display xml <rpc-reply xmlns:junos="http://xml.juniper.net/junos/17.4R2/junos"> <route-information xmlns=" http://xml.juniper.net/junos/17.4R2/junos-routing"> <route-table> <table-name>inet.0</table-name> <destination-count>836</destination-count> <total-route-count>855</total-route-count> <active-route-count>831</active-route-count> <holddown-route-count>0</holddown-route-count> <hidden-route-count>5</hidden-route-count> <rt junos:style="brief"> <rt-destination>10.1.2.4/31</rt-destination> <rt-entry> <active-tag>*</active-tag> <current-active/> <last-active/> <protocol-name>OSPF</protocol-name> <preference>10</preference> <age junos:seconds="467857">5d 09:57:37</age> <metric>3400</metric> <nh> <selected-next-hop/> <to>10.12.100.209</to> <via>ae64.100</via> </nh> <nh> <to>10.12.100.254</to> <via>ae62.0</via> </nh> </rt-entry> </rt> </route-table> </route-information> <cli> <banner>{master}</banner> </cli> </rpc-reply> In the PEYZ YAML definition I pulled back a few fields for fun: [root@blah]# python test2.py protocolName: OSPF activeTag: * preference:10 I hope this helps. Serge On Mon, Sep 3, 2018 at 9:40 PM Stacy W. Smith <[email protected]> wrote: > Remove the quotes around r2check. > > i.e. the line should be: > r2response = dev.rpc.get_route_information(table='inet.0', > destination=r2check) > > --Stacy > > > On Sep 3, 2018, at 6:33 PM, Jason Taranto <[email protected]> > wrote: > > > > Hi All, > > > > After a while of my head colliding with the wall beside me, would anyone > know how to get a variable into an rpc command via pyez. > > > > My latest attempt is below. > > > > r2check = raw_input("Route to check e.g XXX.XXX.XXX.XXX : ") > > print ("Checking if route is in the table......") > > time.sleep(2) > > r2response = dev.rpc.get_route_information(table='inet.0', > destination='r2check') > > time.sleep(2) > > > print("################################################################################") > > print(" > ") > > print(" Response from router below... > ") > > print (etree.tostring(r2response)) > > > > > > The error message I get is: > > jnpr.junos.exception.RpcError: RpcError(severity: error, bad_element: > r2check, message: could not resolve name: r2check) > > > > > > > > Thanks in advance, > > Jason > > > > > > > > _______________________________________________ > > juniper-nsp mailing list [email protected] > > https://puck.nether.net/mailman/listinfo/juniper-nsp > > _______________________________________________ > juniper-nsp mailing list [email protected] > https://puck.nether.net/mailman/listinfo/juniper-nsp > _______________________________________________ juniper-nsp mailing list [email protected] https://puck.nether.net/mailman/listinfo/juniper-nsp

