This commit is contained in:
felixfontein 2022-11-26 21:10:31 +00:00
parent 7e491f29c4
commit 7980ade531

View file

@ -123,11 +123,11 @@
<p>When using the <a class="reference internal" href="../command_module.html#ansible-collections-community-routeros-command-module"><span class="std std-ref">community.routeros.command module</span></a> or the <a class="reference internal" href="../api_module.html#ansible-collections-community-routeros-api-module"><span class="std std-ref">community.routeros.api module</span></a> modules, you need to pass text data in quoted form. While in some cases quoting is not needed (when passing IP addresses or names without spaces, for example), in other cases it is required, like when passing a comment which contains a space.</p>
<p>The community.routeros collection provides a set of Jinja2 filter plugins which helps you with these tasks:</p>
<ul class="simple">
<li><p>The <code class="docutils literal notranslate"><span class="pre">community.routeros.quote_argument_value</span></code> filter quotes an argument value: <code class="docutils literal notranslate"><span class="pre">'this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">&quot;comment&quot;'</span> <span class="pre">|</span> <span class="pre">community.routeros.quote_argument_value</span> <span class="pre">==</span> <span class="pre">'&quot;this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">\\&quot;comment\\&quot;&quot;'</span></code>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">community.routeros.quote_argument</span></code> filter quotes an argument with or without a value: <code class="docutils literal notranslate"><span class="pre">'comment=this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">&quot;comment&quot;'</span> <span class="pre">|</span> <span class="pre">community.routeros.quote_argument</span> <span class="pre">==</span> <span class="pre">'comment=&quot;this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">\\&quot;comment\\&quot;&quot;'</span></code>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">community.routeros.join</span></code> filter quotes a list of arguments and joins them to one string: <code class="docutils literal notranslate"><span class="pre">['foo=bar',</span> <span class="pre">'comment=foo</span> <span class="pre">is</span> <span class="pre">bar']</span> <span class="pre">|</span> <span class="pre">community.routeros.join</span> <span class="pre">==</span> <span class="pre">'foo=bar</span> <span class="pre">comment=&quot;foo</span> <span class="pre">is</span> <span class="pre">bar&quot;'</span></code>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">community.routeros.split</span></code> filter splits a command into a list of arguments (with or without values): <code class="docutils literal notranslate"><span class="pre">'foo=bar</span> <span class="pre">comment=&quot;foo</span> <span class="pre">is</span> <span class="pre">bar&quot;'</span> <span class="pre">|</span> <span class="pre">community.routeros.split</span> <span class="pre">==</span> <span class="pre">['foo=bar',</span> <span class="pre">'comment=foo</span> <span class="pre">is</span> <span class="pre">bar']</span></code></p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">community.routeros.list_to_dict</span></code> filter splits a list of arguments with values into a dictionary: <code class="docutils literal notranslate"><span class="pre">['foo=bar',</span> <span class="pre">'comment=foo</span> <span class="pre">is</span> <span class="pre">bar']</span> <span class="pre">|</span> <span class="pre">community.routeros.list_to_dict</span> <span class="pre">==</span> <span class="pre">{'foo':</span> <span class="pre">'bar',</span> <span class="pre">'comment':</span> <span class="pre">'foo</span> <span class="pre">is</span> <span class="pre">bar'}</span></code>. It has two optional arguments: <code class="docutils literal notranslate"><span class="pre">require_assignment</span></code> (default value <code class="docutils literal notranslate"><span class="pre">true</span></code>) allows to accept arguments without values when set to <code class="docutils literal notranslate"><span class="pre">false</span></code>; and <code class="docutils literal notranslate"><span class="pre">skip_empty_values</span></code> (default value <code class="docutils literal notranslate"><span class="pre">false</span></code>) allows to skip arguments whose value is empty.</p></li>
<li><p>The <a class="reference internal" href="../quote_argument_value_filter.html#ansible-collections-community-routeros-quote-argument-value-filter"><span class="std std-ref">community.routeros.quote_argument_value filter</span></a> quotes an argument value: <code class="docutils literal notranslate"><span class="pre">'this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">&quot;comment&quot;'</span> <span class="pre">|</span> <span class="pre">community.routeros.quote_argument_value</span> <span class="pre">==</span> <span class="pre">'&quot;this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">\\&quot;comment\\&quot;&quot;'</span></code>.</p></li>
<li><p>The <a class="reference internal" href="../quote_argument_filter.html#ansible-collections-community-routeros-quote-argument-filter"><span class="std std-ref">community.routeros.quote_argument filter</span></a> quotes an argument with or without a value: <code class="docutils literal notranslate"><span class="pre">'comment=this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">&quot;comment&quot;'</span> <span class="pre">|</span> <span class="pre">community.routeros.quote_argument</span> <span class="pre">==</span> <span class="pre">'comment=&quot;this</span> <span class="pre">is</span> <span class="pre">a</span> <span class="pre">\\&quot;comment\\&quot;&quot;'</span></code>.</p></li>
<li><p>The <a class="reference internal" href="../join_filter.html#ansible-collections-community-routeros-join-filter"><span class="std std-ref">community.routeros.join filter</span></a> quotes a list of arguments and joins them to one string: <code class="docutils literal notranslate"><span class="pre">['foo=bar',</span> <span class="pre">'comment=foo</span> <span class="pre">is</span> <span class="pre">bar']</span> <span class="pre">|</span> <span class="pre">community.routeros.join</span> <span class="pre">==</span> <span class="pre">'foo=bar</span> <span class="pre">comment=&quot;foo</span> <span class="pre">is</span> <span class="pre">bar&quot;'</span></code>.</p></li>
<li><p>The <a class="reference internal" href="../split_filter.html#ansible-collections-community-routeros-split-filter"><span class="std std-ref">community.routeros.split filter</span></a> splits a command into a list of arguments (with or without values): <code class="docutils literal notranslate"><span class="pre">'foo=bar</span> <span class="pre">comment=&quot;foo</span> <span class="pre">is</span> <span class="pre">bar&quot;'</span> <span class="pre">|</span> <span class="pre">community.routeros.split</span> <span class="pre">==</span> <span class="pre">['foo=bar',</span> <span class="pre">'comment=foo</span> <span class="pre">is</span> <span class="pre">bar']</span></code></p></li>
<li><p>The <a class="reference internal" href="../list_to_dict_filter.html#ansible-collections-community-routeros-list-to-dict-filter"><span class="std std-ref">community.routeros.list_to_dict filter</span></a> splits a list of arguments with values into a dictionary: <code class="docutils literal notranslate"><span class="pre">['foo=bar',</span> <span class="pre">'comment=foo</span> <span class="pre">is</span> <span class="pre">bar']</span> <span class="pre">|</span> <span class="pre">community.routeros.list_to_dict</span> <span class="pre">==</span> <span class="pre">{'foo':</span> <span class="pre">'bar',</span> <span class="pre">'comment':</span> <span class="pre">'foo</span> <span class="pre">is</span> <span class="pre">bar'}</span></code>. It has two optional arguments: <code class="docutils literal notranslate"><span class="pre">require_assignment</span></code> (default value <code class="docutils literal notranslate"><span class="pre">true</span></code>) allows to accept arguments without values when set to <code class="docutils literal notranslate"><span class="pre">false</span></code>; and <code class="docutils literal notranslate"><span class="pre">skip_empty_values</span></code> (default value <code class="docutils literal notranslate"><span class="pre">false</span></code>) allows to skip arguments whose value is empty.</p></li>
</ul>
</section>