<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Get the value of IP address on device interface using python maapi in NSO Developer Hub Discussions</title>
    <link>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4100983#M5345</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can get the value of description on device interface using python maapi as below, but I couldnot get the value of ip address:&lt;/P&gt;&lt;P&gt;import ncs&lt;BR /&gt;import ncs.maagic as maagic&lt;BR /&gt;import ncs.maapi as maapi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with ncs.maapi.single_read_trans('admin', 'system', db=ncs.OPERATIONAL) as m:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root = ncs.maagic.get_root(m)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(root.devices.device['mydevice'].config.ios__interface.GigabitEthernet[1].description)&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;my_interface_desc&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(root.devices.device['mydevice'].config.ios__interface.GigabitEthernet[1].ip.address)&lt;/P&gt;&lt;P&gt;the value returned is the word &lt;STRONG&gt;&lt;EM&gt;address&lt;/EM&gt; &lt;/STRONG&gt;not the ip address itself.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;device: cisco IOS XE&lt;/P&gt;&lt;P&gt;NSO: 4.7.5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 10 Jun 2020 18:05:11 GMT</pubDate>
    <dc:creator>nso20</dc:creator>
    <dc:date>2020-06-10T18:05:11Z</dc:date>
    <item>
      <title>Get the value of IP address on device interface using python maapi</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4100983#M5345</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can get the value of description on device interface using python maapi as below, but I couldnot get the value of ip address:&lt;/P&gt;&lt;P&gt;import ncs&lt;BR /&gt;import ncs.maagic as maagic&lt;BR /&gt;import ncs.maapi as maapi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with ncs.maapi.single_read_trans('admin', 'system', db=ncs.OPERATIONAL) as m:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root = ncs.maagic.get_root(m)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(root.devices.device['mydevice'].config.ios__interface.GigabitEthernet[1].description)&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;my_interface_desc&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(root.devices.device['mydevice'].config.ios__interface.GigabitEthernet[1].ip.address)&lt;/P&gt;&lt;P&gt;the value returned is the word &lt;STRONG&gt;&lt;EM&gt;address&lt;/EM&gt; &lt;/STRONG&gt;not the ip address itself.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;device: cisco IOS XE&lt;/P&gt;&lt;P&gt;NSO: 4.7.5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2020 18:05:11 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4100983#M5345</guid>
      <dc:creator>nso20</dc:creator>
      <dc:date>2020-06-10T18:05:11Z</dc:date>
    </item>
    <item>
      <title>Re: Get the value of IP address on device interface using python maapi</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4100992#M5346</link>
      <description>&lt;P&gt;Right, you need to look at how the interface address is modeled:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is what I see on 5.3.2.1 with IOS ned v 6.46:&lt;/P&gt;
&lt;P&gt;admin@ncs% show devices device ios-0 config interface GigabitEthernet 0/0 | display xml&lt;/P&gt;
&lt;P&gt;&amp;lt;config xmlns="&lt;A href="http://tail-f.com/ns/config/1.0" target="_blank"&gt;http://tail-f.com/ns/config/1.0&lt;/A&gt;"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;devices xmlns="&lt;A href="http://tail-f.com/ns/ncs" target="_blank"&gt;http://tail-f.com/ns/ncs&lt;/A&gt;"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;device&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;ios-0&amp;lt;/name&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;config&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;interface xmlns="urn:ios"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;GigabitEthernet&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;0/0&amp;lt;/name&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;Test interface&amp;lt;/description&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;ip&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;primary&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;address&amp;gt;10.0.1.0&amp;lt;/address&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mask&amp;gt;255.255.255.0&amp;lt;/mask&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/primary&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/address&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ip&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/GigabitEthernet&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/interface&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/config&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/device&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;/devices&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/config&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So you'll need to add in 'ip.address.primary.address' to get address:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In [12]: with ncs.maapi.Maapi() as m:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp; with ncs.maapi.Session(m, 'admin', 'system'):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with m.start_write_trans() as t:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root = ncs.maagic.get_root(t)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev = root.ncs__devices.device['ios-0']&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; devname = dev.name&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print (devname)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; desc = root.ncs__devices.device['ios-0'].config.ios__interface.GigabitEthernet['0/0'].description&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print (desc)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addr = desc = root.ncs__devices.device['ios-0'].config.ios__interface.GigabitEthernet['0/0'].ip.address.primary.address&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print (addr)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mask = desc = root.ncs__devices.device['ios-0'].config.ios__interface.GigabitEthernet['0/0'].ip.address.primary.mask&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print (mask)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...:&lt;/P&gt;
&lt;P&gt;ios-0&lt;/P&gt;
&lt;P&gt;Test interface&lt;/P&gt;
&lt;P&gt;10.0.1.0&lt;/P&gt;
&lt;P&gt;255.255.255.0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2020 18:44:59 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4100992#M5346</guid>
      <dc:creator>lmanor</dc:creator>
      <dc:date>2020-06-10T18:44:59Z</dc:date>
    </item>
    <item>
      <title>Re: Get the value of IP address on device interface using python maapi</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4101000#M5348</link>
      <description>Thanks a lot, but why you use write_trans() instead of read_trans(), although we are reading values from CDB ?</description>
      <pubDate>Wed, 10 Jun 2020 19:05:34 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4101000#M5348</guid>
      <dc:creator>nso20</dc:creator>
      <dc:date>2020-06-10T19:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: Get the value of IP address on device interface using python maapi</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4101016#M5349</link>
      <description>Sorry for the confusion on read/write (which is really read-write) transaction, I just grabbed an example that I had handy that likely wrote to the CDB as well as read.&lt;BR /&gt;The start_read_trans() should work equally as well if you are just reading from the CDB.&lt;BR /&gt;</description>
      <pubDate>Wed, 10 Jun 2020 19:23:25 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4101016#M5349</guid>
      <dc:creator>lmanor</dc:creator>
      <dc:date>2020-06-10T19:23:25Z</dc:date>
    </item>
    <item>
      <title>Re: Get the value of IP address on device interface using python maapi</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4101107#M5350</link>
      <description>&lt;P&gt;&lt;a href="https://community.cisco.com/t5/user/viewprofilepage/user-id/530744"&gt;@lmanor&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for your quick response, last question, instead of getting a single value, can I get the output of whole configuration below the interface (e.g. description, ip address, ...) using python, something like:&lt;BR /&gt;root.ncs__devices.device['ios-0'].config.ios__interface.GigabitEthernet['0/0'].?&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jun 2020 10:56:46 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/get-the-value-of-ip-address-on-device-interface-using-python/m-p/4101107#M5350</guid>
      <dc:creator>nso20</dc:creator>
      <dc:date>2020-06-11T10:56:46Z</dc:date>
    </item>
  </channel>
</rss>

