<?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: Conditional output in Ansible in Code Exchange</title>
    <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955052#M33</link>
    <description>&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Let me try to rephrase my question.&lt;/P&gt;&lt;P&gt;The goal is to implement an "if condition" by search for a string in a block of text&lt;/P&gt;&lt;P&gt;If the output of "show run | sec eigrp" does contain the string "eigrp", only print the message: "EIGRP config exists". Otherwise print the message "EIGRP does NOT exist".&lt;/P&gt;&lt;P&gt;Is this possible?&lt;/P&gt;&lt;P&gt;Or is way to utilize the Python find method like:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The&amp;nbsp;&lt;/SPAN&gt;find()&lt;SPAN&gt;&amp;nbsp;method returns -1 if the value is not found.&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please advise.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 07 Nov 2023 16:30:56 GMT</pubDate>
    <dc:creator>Netmart</dc:creator>
    <dc:date>2023-11-07T16:30:56Z</dc:date>
    <item>
      <title>Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4954752#M31</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I wanted to print only one message when show run | eigrp output does contain "eigrp".&lt;/P&gt;&lt;P&gt;However, print result is skipped.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please advise.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Like:&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;- name: EIGRP Config Check&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; hosts: iosxe&lt;/P&gt;&lt;P&gt;&amp;nbsp; vars_files:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- /home/cisco/Ansible/vault_password.yml&lt;/P&gt;&lt;P&gt;&amp;nbsp; vars:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_become_pass: "{{ vault_sudo_password }&lt;SPAN&gt;}&lt;/SPAN&gt;"&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_python_interpreter: /usr/bin/python3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; tasks:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: show run | sec eigrp&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ios_command:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commands:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - show run | sec eigrp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;become: true&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;register: output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: print result&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;debug:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var: output&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg: " EIGRP configured "&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when: '"router eigrp" in output.stdout'&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 07:29:15 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4954752#M31</guid>
      <dc:creator>Netmart</dc:creator>
      <dc:date>2023-11-07T07:29:15Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4954835#M32</link>
      <description>&lt;P&gt;&lt;a href="https://community.cisco.com/t5/user/viewprofilepage/user-id/244740"&gt;@Netmart&lt;/a&gt;&amp;nbsp;i see&lt;SPAN&gt;&amp;nbsp;you are using the when clause to check if the output of the show run | sec eigrp command contains the string "router eigrp". However, the output of this command will also contain other lines of configuration related to EIGRP, such as the network statements and the redistribute statements. As a result, the when clause will always evaluate to true, and the print result task will always be executed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 10:35:12 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4954835#M32</guid>
      <dc:creator>bigevilbeard</dc:creator>
      <dc:date>2023-11-07T10:35:12Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955052#M33</link>
      <description>&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Let me try to rephrase my question.&lt;/P&gt;&lt;P&gt;The goal is to implement an "if condition" by search for a string in a block of text&lt;/P&gt;&lt;P&gt;If the output of "show run | sec eigrp" does contain the string "eigrp", only print the message: "EIGRP config exists". Otherwise print the message "EIGRP does NOT exist".&lt;/P&gt;&lt;P&gt;Is this possible?&lt;/P&gt;&lt;P&gt;Or is way to utilize the Python find method like:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The&amp;nbsp;&lt;/SPAN&gt;find()&lt;SPAN&gt;&amp;nbsp;method returns -1 if the value is not found.&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please advise.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 16:30:56 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955052#M33</guid>
      <dc:creator>Netmart</dc:creator>
      <dc:date>2023-11-07T16:30:56Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955063#M34</link>
      <description>&lt;P&gt;&lt;SPAN&gt;This condition should work for your purposes:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;when: output.stdout is search("router eigrp")&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 16:48:24 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955063#M34</guid>
      <dc:creator>Torbjørn</dc:creator>
      <dc:date>2023-11-07T16:48:24Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955104#M35</link>
      <description>&lt;P&gt;You could&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;implement an "if condition" to search for a string in a block of text using Ansible. Like you can use the find() filter to search for the string in the output.stdout variable. The find() filter returns the index of the first occurrence of the string, or -1 if the string is not found&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 17:47:30 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4955104#M35</guid>
      <dc:creator>bigevilbeard</dc:creator>
      <dc:date>2023-11-07T17:47:30Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4957715#M36</link>
      <description>&lt;P&gt;Thank you Torbjorn.&lt;/P&gt;&lt;P&gt;This seems to work.&lt;/P&gt;&lt;P&gt;Is it possible to expand this condition, by printing a message if EIGRP config is not found.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Like:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;- name: print result&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;debug:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #var: output&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg: " EIGRP configured "&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when: output.stdout is search("router eigrp")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: print result&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;debug:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #var: output&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg: " EIGRP NOT configured "&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when: &amp;nbsp; if output.stdout is search(=!\"router eigrp\")&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2023 04:48:12 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4957715#M36</guid>
      <dc:creator>Netmart</dc:creator>
      <dc:date>2023-11-13T04:48:12Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output in Ansible</title>
      <link>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4957777#M37</link>
      <description>&lt;P&gt;No problem! Yes, that can be done. You can use a second task with the following when statement/condition:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when: output.stdout is not search("router eigrp")&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2023 06:29:58 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/conditional-output-in-ansible/m-p/4957777#M37</guid>
      <dc:creator>Torbjørn</dc:creator>
      <dc:date>2023-11-13T06:29:58Z</dc:date>
    </item>
  </channel>
</rss>

