<?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 Re: Advanced templating with compliance reports? in NSO Developer Hub Discussions</title>
    <link>https://community.cisco.com/t5/nso-developer-hub-discussions/advanced-templating-with-compliance-reports/m-p/4160558#M5702</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't believe you can achieve what you want with processing-instructions. The section in the development guide you refer to has this sentence as introduction:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Two types of Templates exist,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;device-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;config-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. The former is invoked as an action, where the latter is invoked either because of changes to some service data or through a programmatic API (e.g Java). For more information about&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;device-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, refer to:&amp;nbsp;&lt;/SPAN&gt;&lt;A class="olink" href="https://community.cisco.com/../nso_user_guide/ncs.user_guide.devicemanager.device.templates.html" target="_blank"&gt;the section called “Device Templates”&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;in&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="olinkdocname"&gt;NSO 5.3.1.1 User Guide&lt;/SPAN&gt;&lt;SPAN&gt;. The rest of the text in this chapter mainly describes&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;config-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The section on device templates does not reference any of the processing instructions.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The compliance section in the user guide indicates that you can use device template in the reports&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;What you could do to go forward in your situation is to have a device-group per platform/model and one device template for each model that would be used.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 02 Oct 2020 07:41:56 GMT</pubDate>
    <dc:creator>gmuloche</dc:creator>
    <dc:date>2020-10-02T07:41:56Z</dc:date>
    <item>
      <title>Advanced templating with compliance reports?</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/advanced-templating-with-compliance-reports/m-p/4158559#M5692</link>
      <description>&lt;P&gt;Is it possible to use&amp;nbsp;processing instruction in&amp;nbsp;&lt;SPAN class="s1"&gt;devices templates that are used by NSO compliance reports?&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;I am looking to validate configurations based on the platform model normally in a service template I would use:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN&gt;set-root-node &lt;/SPAN&gt;&lt;SPAN&gt;{/devices/device[name=$DEVICE]/platform}&lt;/SPAN&gt;&lt;SPAN&gt;?&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;{contains(/model, 'ISR43')}&lt;/SPAN&gt;&lt;SPAN&gt;?&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&amp;lt;&lt;SPAN&gt;tacacs-server &lt;/SPAN&gt;&lt;SPAN&gt;xmlns&lt;/SPAN&gt;&lt;SPAN&gt;="urn:ios"&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;    &amp;lt;&lt;SPAN&gt;host&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;        &amp;lt;&lt;SPAN&gt;name&lt;/SPAN&gt;&amp;gt;24.132.12.40&amp;lt;/&lt;SPAN&gt;name&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;        &amp;lt;&lt;SPAN&gt;key&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;            &amp;lt;&lt;SPAN&gt;type&lt;/SPAN&gt;&amp;gt;7&amp;lt;/&lt;SPAN&gt;type&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;            &amp;lt;&lt;SPAN&gt;secret&lt;/SPAN&gt;&amp;gt;107A1B1C0231005319&amp;lt;/&lt;SPAN&gt;secret&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;        &amp;lt;/&lt;SPAN&gt;key&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;    &amp;lt;/&lt;SPAN&gt;host&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;    &amp;lt;&lt;SPAN&gt;host&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;        &amp;lt;&lt;SPAN&gt;name&lt;/SPAN&gt;&amp;gt;195.34.130.108&amp;lt;/&lt;SPAN&gt;name&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;        &amp;lt;&lt;SPAN&gt;key&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;            &amp;lt;&lt;SPAN&gt;type&lt;/SPAN&gt;&amp;gt;7&amp;lt;/&lt;SPAN&gt;type&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;            &amp;lt;&lt;SPAN&gt;secret&lt;/SPAN&gt;&amp;gt;107A1B1C0231005319&amp;lt;/&lt;SPAN&gt;secret&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;        &amp;lt;/&lt;SPAN&gt;key&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;    &amp;lt;/&lt;SPAN&gt;host&lt;/SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt;?&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;{contains(/model, '2851')}&lt;/SPAN&gt;&lt;SPAN&gt;?&amp;gt;&lt;BR /&gt;.....&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But when I load this template inside NSO using load merge I don't see the processing instruction:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;abdel@ncs(config)# do show running-config devices template console-routers-golden-config ned-id cisco-ios-cli-6.59 config ios:tacacs-server | display xml&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;config xmlns="http://tail-f.com/ns/config/1.0"&amp;gt;
&amp;nbsp; &amp;lt;devices xmlns="http://tail-f.com/ns/ncs"&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;template&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;name&amp;gt;console-routers-golden-config&amp;lt;/name&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ned-id&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;id xmlns:cisco-ios-cli-6.59="http://tail-f.com/ns/ned-id/cisco-ios-cli-6.59"&amp;gt;cisco-ios-cli-6.59:cisco-ios-cli-6.59&amp;lt;/id&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;config&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;tacacs-server xmlns="urn:ios"&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;host&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;name&amp;gt;24.132.12.40&amp;lt;/name&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;key&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;type&amp;gt;7&amp;lt;/type&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;secret&amp;gt;107A1B1C0231005319&amp;lt;/secret&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/key&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/host&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;host&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;name&amp;gt;195.34.130.108&amp;lt;/name&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;key&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;type&amp;gt;7&amp;lt;/type&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;secret&amp;gt;107A1B1C0231005319&amp;lt;/secret&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/key&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/host&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;timeout&amp;gt;10&amp;lt;/timeout&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;directed-request/&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;key&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;type&amp;gt;7&amp;lt;/type&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;secret&amp;gt;107A1B1C0231005319&amp;lt;/secret&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/key&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/tacacs-server&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/config&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ned-id&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/template&amp;gt;
&amp;nbsp; &amp;lt;/devices&amp;gt;
&amp;lt;/config&amp;gt;&lt;/PRE&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;I read in nso_development-4.6.1.pdf that both&amp;nbsp;&lt;/SPAN&gt;$DEVICE and&amp;nbsp;$TEMPLATE_NAME are set internally by NSO. Assuming my approach is valid to use&amp;nbsp;&lt;SPAN&gt;/devices/device[name=$DEVICE]/platform/model to evaluate the device model. But when loading the template the processing instructions are not visible!&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 08:10:05 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/advanced-templating-with-compliance-reports/m-p/4158559#M5692</guid>
      <dc:creator>Abdel el Anazi</dc:creator>
      <dc:date>2020-09-29T08:10:05Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced templating with compliance reports?</title>
      <link>https://community.cisco.com/t5/nso-developer-hub-discussions/advanced-templating-with-compliance-reports/m-p/4160558#M5702</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't believe you can achieve what you want with processing-instructions. The section in the development guide you refer to has this sentence as introduction:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Two types of Templates exist,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;device-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;config-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. The former is invoked as an action, where the latter is invoked either because of changes to some service data or through a programmatic API (e.g Java). For more information about&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;device-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, refer to:&amp;nbsp;&lt;/SPAN&gt;&lt;A class="olink" href="https://community.cisco.com/../nso_user_guide/ncs.user_guide.devicemanager.device.templates.html" target="_blank"&gt;the section called “Device Templates”&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;in&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="olinkdocname"&gt;NSO 5.3.1.1 User Guide&lt;/SPAN&gt;&lt;SPAN&gt;. The rest of the text in this chapter mainly describes&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="emphasis"&gt;&lt;EM&gt;config-templates&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The section on device templates does not reference any of the processing instructions.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The compliance section in the user guide indicates that you can use device template in the reports&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;What you could do to go forward in your situation is to have a device-group per platform/model and one device template for each model that would be used.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Oct 2020 07:41:56 GMT</pubDate>
      <guid>https://community.cisco.com/t5/nso-developer-hub-discussions/advanced-templating-with-compliance-reports/m-p/4160558#M5702</guid>
      <dc:creator>gmuloche</dc:creator>
      <dc:date>2020-10-02T07:41:56Z</dc:date>
    </item>
  </channel>
</rss>

