Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dconf: minor refactor #6336

Merged
merged 3 commits into from
Apr 16, 2023

Conversation

russoz
Copy link
Collaborator

@russoz russoz commented Apr 15, 2023

SUMMARY

Minor refactor to use module_utils.deps and required_if.

ISSUE TYPE
  • Refactoring Pull Request
COMPONENT NAME

dconf

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added module module plugins plugin (any type) system labels Apr 15, 2023
@felixfontein felixfontein added check-before-release PR will be looked at again shortly before release and merged if possible. backport-6 labels Apr 16, 2023
Co-authored-by: Felix Fontein <felix@fontein.de>
@github-actions
Copy link

Docs Build 📝

Thank you for contribution!✨

The docsite for this PR is available for download as an artifact from this run:
https://github.com/ansible-collections/community.general/actions/runs/4713058132

File changes:

  • A collections/community/general/ilo_redfish_command_module.html
  • M collections/community/general/idrac_redfish_info_module.html
  • M collections/community/general/ilo_redfish_config_module.html
  • M collections/community/general/index.html
  • M collections/community/general/nmcli_module.html
  • M collections/community/general/rundeck_acl_policy_module.html
  • M collections/community/general/rundeck_project_module.html
  • M collections/index_module.html
Click to see the diff comparison.

NOTE: only file modifications are shown here. New and deleted files are excluded.
See the file list and check the published docs to see those files.

The diff output was truncated because it exceeded the maximum size.

diff --git a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/idrac_redfish_info_module.html b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/idrac_redfish_info_module.html
index 9aa7117..302fed7 100644
--- a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/idrac_redfish_info_module.html
+++ b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/idrac_redfish_info_module.html
@@ -19,7 +19,7 @@
         <script src="../../../_static/sphinx_highlight.js"></script>
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
-    <link rel="next" title="community.general.ilo_redfish_config module – Sets or updates configuration attributes on HPE iLO with Redfish OEM extensions" href="ilo_redfish_config_module.html" />
+    <link rel="next" title="community.general.ilo_redfish_command module – Manages Out-Of-Band controllers using Redfish APIs" href="ilo_redfish_command_module.html" />
     <link rel="prev" title="community.general.idrac_redfish_config module – Manages servers through iDRAC using Dell Redfish APIs" href="idrac_redfish_config_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
@@ -356,7 +356,7 @@
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="idrac_redfish_config_module.html" class="btn btn-neutral float-left" title="community.general.idrac_redfish_config module – Manages servers through iDRAC using Dell Redfish APIs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="ilo_redfish_config_module.html" class="btn btn-neutral float-right" title="community.general.ilo_redfish_config module – Sets or updates configuration attributes on HPE iLO with Redfish OEM extensions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="ilo_redfish_command_module.html" class="btn btn-neutral float-right" title="community.general.ilo_redfish_command module – Manages Out-Of-Band controllers using Redfish APIs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/ilo_redfish_config_module.html b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/ilo_redfish_config_module.html
index 0f1b960..0186893 100644
--- a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/ilo_redfish_config_module.html
+++ b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/ilo_redfish_config_module.html
@@ -20,7 +20,7 @@
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
     <link rel="next" title="community.general.ilo_redfish_info module – Gathers server information through iLO using Redfish APIs" href="ilo_redfish_info_module.html" />
-    <link rel="prev" title="community.general.idrac_redfish_info module – Gather PowerEdge server information through iDRAC using Redfish APIs" href="idrac_redfish_info_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
+    <link rel="prev" title="community.general.ilo_redfish_command module – Manages Out-Of-Band controllers using Redfish APIs" href="ilo_redfish_command_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
 
@@ -348,7 +348,7 @@
           
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="idrac_redfish_info_module.html" class="btn btn-neutral float-left" title="community.general.idrac_redfish_info module – Gather PowerEdge server information through iDRAC using Redfish APIs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="ilo_redfish_command_module.html" class="btn btn-neutral float-left" title="community.general.ilo_redfish_command module – Manages Out-Of-Band controllers using Redfish APIs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="ilo_redfish_info_module.html" class="btn btn-neutral float-right" title="community.general.ilo_redfish_info module – Gathers server information through iLO using Redfish APIs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/index.html b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/index.html
index cf6fa34..c069dc9 100644
--- a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/index.html
+++ b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/index.html
@@ -336,6 +336,7 @@
 <li><p><a class="reference internal" href="idrac_redfish_command_module.html#ansible-collections-community-general-idrac-redfish-command-module"><span class="std std-ref">idrac_redfish_command module</span></a> – Manages Out-Of-Band controllers using iDRAC OEM Redfish APIs</p></li>
 <li><p><a class="reference internal" href="idrac_redfish_config_module.html#ansible-collections-community-general-idrac-redfish-config-module"><span class="std std-ref">idrac_redfish_config module</span></a> – Manages servers through iDRAC using Dell Redfish APIs</p></li>
 <li><p><a class="reference internal" href="idrac_redfish_info_module.html#ansible-collections-community-general-idrac-redfish-info-module"><span class="std std-ref">idrac_redfish_info module</span></a> – Gather PowerEdge server information through iDRAC using Redfish APIs</p></li>
+<li><p><a class="reference internal" href="ilo_redfish_command_module.html#ansible-collections-community-general-ilo-redfish-command-module"><span class="std std-ref">ilo_redfish_command module</span></a> – Manages Out-Of-Band controllers using Redfish APIs</p></li>
 <li><p><a class="reference internal" href="ilo_redfish_config_module.html#ansible-collections-community-general-ilo-redfish-config-module"><span class="std std-ref">ilo_redfish_config module</span></a> – Sets or updates configuration attributes on HPE iLO with Redfish OEM extensions</p></li>
 <li><p><a class="reference internal" href="ilo_redfish_info_module.html#ansible-collections-community-general-ilo-redfish-info-module"><span class="std std-ref">ilo_redfish_info module</span></a> – Gathers server information through iLO using Redfish APIs</p></li>
 <li><p><a class="reference internal" href="imc_rest_module.html#ansible-collections-community-general-imc-rest-module"><span class="std std-ref">imc_rest module</span></a> – Manage Cisco IMC hardware through its REST API</p></li>
diff --git a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/nmcli_module.html b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/nmcli_module.html
index 3d28858..65a5b69 100644
--- a/home/runner/work/community.general/community.general/docsbuild/base/collections/community/general/nmcli_module.html
+++ b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/nmcli_module.html
@@ -657,13 +657,70 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </div></td>
 </tr>
 <tr class="row-even"><td><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-macvlan"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-macvlan"><strong>macvlan</strong></p>
+<a class="ansibleOptionLink" href="#parameter-macvlan" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">dictionary</span></p>
+<p><span class="ansible-option-versionadded">added in community.general 6.6.0</span></p>
+</div></td>
+<td><div class="ansible-option-cell"><p>The configuration of the MAC VLAN connection.</p>
+<p>Note the list of suboption attributes may vary depending on which version of NetworkManager/nmcli is installed on the host.</p>
+<p>An up-to-date list of supported attributes can be found here: <a class="reference external" href="https://networkmanager.dev/docs/api/latest/settings-macvlan.html">https://networkmanager.dev/docs/api/latest/settings-macvlan.html</a>.</p>
+</div></td>
+</tr>
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-macvlan/mode"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-macvlan-mode"><strong>mode</strong></p>
+<a class="ansibleOptionLink" href="#parameter-macvlan/mode" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span> / <span class="ansible-option-required">required</span></p>
+</div></td>
+<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device.</p>
+<p>Following choices are allowed: <code class="docutils literal notranslate"><span class="pre">1</span></code> <strong>vepa</strong>, <code class="docutils literal notranslate"><span class="pre">2</span></code> <strong>bridge</strong>, <code class="docutils literal notranslate"><span class="pre">3</span></code> <strong>private</strong>, <code class="docutils literal notranslate"><span class="pre">4</span></code> <strong>passthru</strong> and <code class="docutils literal notranslate"><span class="pre">5</span></code> <strong>source</strong></p>
+<p class="ansible-option-line"><span class="ansible-option-choices">Choices:</span></p>
+<ul class="simple">
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">1</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">2</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">3</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">4</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">5</span></code></p></li>
+</ul>
+</div></td>
+</tr>
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-macvlan/parent"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-macvlan-parent"><strong>parent</strong></p>
+<a class="ansibleOptionLink" href="#parameter-macvlan/parent" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
+</div></td>
+<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>If given, specifies the parent interface name or parent connection UUID from which this MAC-VLAN interface should be created. If this property is not specified, the connection must contain an “802-3-ethernet” setting with a “mac-address” property.</p>
+</div></td>
+</tr>
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-macvlan/promiscuous"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-macvlan-promiscuous"><strong>promiscuous</strong></p>
+<a class="ansibleOptionLink" href="#parameter-macvlan/promiscuous" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
+</div></td>
+<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Whether the interface should be put in promiscuous mode.</p>
+<p class="ansible-option-line"><span class="ansible-option-choices">Choices:</span></p>
+<ul class="simple">
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">false</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">true</span></code></p></li>
+</ul>
+</div></td>
+</tr>
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-macvlan/tap"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-macvlan-tap"><strong>tap</strong></p>
+<a class="ansibleOptionLink" href="#parameter-macvlan/tap" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
+</div></td>
+<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Whether the interface should be a MACVTAP.</p>
+<p class="ansible-option-line"><span class="ansible-option-choices">Choices:</span></p>
+<ul class="simple">
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">false</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">true</span></code></p></li>
+</ul>
+</div></td>
+</tr>
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-master"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-master"><strong>master</strong></p>
 <a class="ansibleOptionLink" href="#parameter-master" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>Master &lt;master (ifname, or connection UUID or conn_name) of bridge, team, bond master connection profile.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-maxage"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-maxage"><strong>maxage</strong></p>
 <a class="ansibleOptionLink" href="#parameter-maxage" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -671,7 +728,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p class="ansible-option-line"><span class="ansible-option-default-bold">Default:</span> <code class="ansible-option-default docutils literal notranslate"><span class="pre">20</span></code></p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-may_fail4"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-may-fail4"><strong>may_fail4</strong></p>
 <a class="ansibleOptionLink" href="#parameter-may_fail4" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 3.3.0</span></p>
@@ -685,7 +742,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-method4"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-method4"><strong>method4</strong></p>
 <a class="ansibleOptionLink" href="#parameter-method4" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 2.2.0</span></p>
@@ -702,7 +759,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-method6"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-method6"><strong>method6</strong></p>
 <a class="ansibleOptionLink" href="#parameter-method6" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 2.2.0</span></p>
@@ -722,7 +779,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-miimon"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-miimon"><strong>miimon</strong></p>
 <a class="ansibleOptionLink" href="#parameter-miimon" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -730,7 +787,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>This parameter defaults to <code class="docutils literal notranslate"><span class="pre">100</span></code> when unset.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-mode"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-mode"><strong>mode</strong></p>
 <a class="ansibleOptionLink" href="#parameter-mode" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -747,7 +804,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-mtu"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-mtu"><strong>mtu</strong></p>
 <a class="ansibleOptionLink" href="#parameter-mtu" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -756,7 +813,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>This parameter defaults to <code class="docutils literal notranslate"><span class="pre">1500</span></code> when unset.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-never_default4"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-never-default4"><strong>never_default4</strong></p>
 <a class="ansibleOptionLink" href="#parameter-never_default4" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 2.0.0</span></p>
@@ -770,7 +827,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-path_cost"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-path-cost"><strong>path_cost</strong></p>
 <a class="ansibleOptionLink" href="#parameter-path_cost" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -778,14 +835,14 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p class="ansible-option-line"><span class="ansible-option-default-bold">Default:</span> <code class="ansible-option-default docutils literal notranslate"><span class="pre">100</span></code></p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-primary"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-primary"><strong>primary</strong></p>
 <a class="ansibleOptionLink" href="#parameter-primary" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>This is only used with bond and is the primary interface name (for “active-backup” mode), this is the usually the ‘ifname’.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-priority"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-priority"><strong>priority</strong></p>
 <a class="ansibleOptionLink" href="#parameter-priority" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -793,7 +850,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p class="ansible-option-line"><span class="ansible-option-default-bold">Default:</span> <code class="ansible-option-default docutils literal notranslate"><span class="pre">128</span></code></p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-route_metric4"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-route-metric4"><strong>route_metric4</strong></p>
 <a class="ansibleOptionLink" href="#parameter-route_metric4" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 2.0.0</span></p>
@@ -801,7 +858,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <td><div class="ansible-option-cell"><p>Set metric level of ipv4 routes configured on interface.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-route_metric6"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-route-metric6"><strong>route_metric6</strong></p>
 <a class="ansibleOptionLink" href="#parameter-route_metric6" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 4.4.0</span></p>
@@ -809,7 +866,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <td><div class="ansible-option-cell"><p>Set metric level of IPv6 routes configured on interface.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4"><strong>routes4</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">list</span> / <span class="ansible-option-elements">elements=string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 2.0.0</span></p>
@@ -819,21 +876,21 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>To specify more complex routes, use the <em>routes4_extended</em> option.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended"><strong>routes4_extended</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">list</span> / <span class="ansible-option-elements">elements=dictionary</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>The list of IPv4 routes.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/cwnd"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-cwnd"><strong>cwnd</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/cwnd" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>The clamp for congestion window.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/ip"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-ip"><strong>ip</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/ip" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
@@ -841,28 +898,28 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Use the format <code class="docutils literal notranslate"><span class="pre">192.0.3.0/24</span></code>.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/metric"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-metric"><strong>metric</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/metric" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Route metric.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/mtu"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-mtu"><strong>mtu</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/mtu" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>If non-zero, only transmit packets of the specified size or smaller.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/next_hop"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-next-hop"><strong>next_hop</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/next_hop" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Use the format <code class="docutils literal notranslate"><span class="pre">192.0.2.1</span></code>.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/onlink"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-onlink"><strong>onlink</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/onlink" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -874,7 +931,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/table"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-table"><strong>table</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/table" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -882,14 +939,14 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>The default depends on <code class="docutils literal notranslate"><span class="pre">ipv4.route-table</span></code>.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes4_extended/tos"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes4-extended-tos"><strong>tos</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes4_extended/tos" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>The Type Of Service.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6"><strong>routes6</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">list</span> / <span class="ansible-option-elements">elements=string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 4.4.0</span></p>
@@ -899,21 +956,21 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>To specify more complex routes, use the <em>routes6_extended</em> option.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended"><strong>routes6_extended</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">list</span> / <span class="ansible-option-elements">elements=dictionary</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>The list of IPv6 routes but with parameters.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/cwnd"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-cwnd"><strong>cwnd</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/cwnd" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>The clamp for congestion window.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/ip"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-ip"><strong>ip</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/ip" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
@@ -921,28 +978,28 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Use the format <code class="docutils literal notranslate"><span class="pre">fd12:3456:789a:1::/64</span></code>.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/metric"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-metric"><strong>metric</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/metric" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Route metric.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/mtu"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-mtu"><strong>mtu</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/mtu" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>If non-zero, only transmit packets of the specified size or smaller.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/next_hop"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-next-hop"><strong>next_hop</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/next_hop" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Use the format <code class="docutils literal notranslate"><span class="pre">2001:dead:beef::1</span></code>.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/onlink"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-onlink"><strong>onlink</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/onlink" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -954,7 +1011,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routes6_extended/table"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routes6-extended-table"><strong>table</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routes6_extended/table" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -962,7 +1019,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>The default depends on <code class="docutils literal notranslate"><span class="pre">ipv6.route-table</span></code>.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-routing_rules4"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-routing-rules4"><strong>routing_rules4</strong></p>
 <a class="ansibleOptionLink" href="#parameter-routing_rules4" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">list</span> / <span class="ansible-option-elements">elements=string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 3.3.0</span></p>
@@ -970,7 +1027,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <td><div class="ansible-option-cell"><p>Is the same as in an <code class="docutils literal notranslate"><span class="pre">ip</span> <span class="pre">route</span> <span class="pre">add</span></code> command, except always requires specifying a priority.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-runner"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-runner"><strong>runner</strong></p>
 <a class="ansibleOptionLink" href="#parameter-runner" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 3.4.0</span></p>
@@ -986,7 +1043,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-runner_fast_rate"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-runner-fast-rate"><strong>runner_fast_rate</strong></p>
 <a class="ansibleOptionLink" href="#parameter-runner_fast_rate" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 6.5.0</span></p>
@@ -1000,7 +1057,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-runner_hwaddr_policy"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-runner-hwaddr-policy"><strong>runner_hwaddr_policy</strong></p>
 <a class="ansibleOptionLink" href="#parameter-runner_hwaddr_policy" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 3.4.0</span></p>
@@ -1014,7 +1071,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-slavepriority"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-slavepriority"><strong>slavepriority</strong></p>
 <a class="ansibleOptionLink" href="#parameter-slavepriority" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1022,7 +1079,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p class="ansible-option-line"><span class="ansible-option-default-bold">Default:</span> <code class="ansible-option-default docutils literal notranslate"><span class="pre">32</span></code></p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-ssid"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-ssid"><strong>ssid</strong></p>
 <a class="ansibleOptionLink" href="#parameter-ssid" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 3.0.0</span></p>
@@ -1030,7 +1087,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <td><div class="ansible-option-cell"><p>Name of the Wireless router or the access point.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-state"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-state"><strong>state</strong></p>
 <a class="ansibleOptionLink" href="#parameter-state" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
@@ -1042,7 +1099,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-stp"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-stp"><strong>stp</strong></p>
 <a class="ansibleOptionLink" href="#parameter-stp" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -1054,7 +1111,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-transport_mode"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-transport-mode"><strong>transport_mode</strong></p>
 <a class="ansibleOptionLink" href="#parameter-transport_mode" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 5.8.0</span></p>
@@ -1067,7 +1124,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-type"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-type"><strong>type</strong></p>
 <a class="ansibleOptionLink" href="#parameter-type" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1076,6 +1133,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Type <code class="docutils literal notranslate"><span class="pre">generic</span></code> is added in Ansible 2.5.</p>
 <p>Type <code class="docutils literal notranslate"><span class="pre">infiniband</span></code> is added in community.general 2.0.0.</p>
 <p>Type <code class="docutils literal notranslate"><span class="pre">gsm</span></code> is added in community.general 3.7.0.</p>
+<p>Type <code class="docutils literal notranslate"><span class="pre">macvlan</span></code> is added in community.general 6.6.0.</p>
 <p>Type <code class="docutils literal notranslate"><span class="pre">wireguard</span></code> is added in community.general 4.3.0.</p>
 <p>Type <code class="docutils literal notranslate"><span class="pre">vpn</span></code> is added in community.general 5.1.0.</p>
 <p class="ansible-option-line"><span class="ansible-option-choices">Choices:</span></p>
@@ -1090,6 +1148,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;gre&quot;</span></code></p></li>
 <li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;infiniband&quot;</span></code></p></li>
 <li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;ipip&quot;</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;macvlan&quot;</span></code></p></li>
 <li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;sit&quot;</span></code></p></li>
 <li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;team&quot;</span></code></p></li>
 <li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;team-slave&quot;</span></code></p></li>
@@ -1102,28 +1161,28 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-updelay"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-updelay"><strong>updelay</strong></p>
 <a class="ansibleOptionLink" href="#parameter-updelay" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>This is only used with bond - updelay.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vlandev"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vlandev"><strong>vlandev</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vlandev" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>This is only used with VLAN - parent device this VLAN is on, can use ifname.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vlanid"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vlanid"><strong>vlanid</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vlanid" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>This is only used with VLAN - VLAN ID in range &lt;0-4095&gt;.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn"><strong>vpn</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">dictionary</span></p>
 <p><span class="ansible-option-versionadded">added in community.general 5.1.0</span></p>
@@ -1132,14 +1191,14 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>In order to use L2TP you need to be sure that <code class="docutils literal notranslate"><span class="pre">network-manager-l2tp</span></code> - and <code class="docutils literal notranslate"><span class="pre">network-manager-l2tp-gnome</span></code> if host has UI - are installed on the host.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/gateway"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-gateway"><strong>gateway</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/gateway" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>The gateway to connection. It can be an IP address (for example <code class="docutils literal notranslate"><span class="pre">192.0.2.1</span></code>) or a FQDN address (for example <code class="docutils literal notranslate"><span class="pre">vpn.example.com</span></code>).</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/ipsec-enabled"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-ipsec-enabled"><strong>ipsec-enabled</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/ipsec-enabled" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -1152,7 +1211,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/ipsec-psk"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-ipsec-psk"><strong>ipsec-psk</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/ipsec-psk" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1161,7 +1220,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>This is only used when <em>ipsec-enabled=true</em>.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/password-flags"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-password-flags"><strong>password-flags</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/password-flags" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1176,49 +1235,49 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </ul>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/permissions"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-permissions"><strong>permissions</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/permissions" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>User that will have permission to use the connection.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/service-type"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-service-type"><strong>service-type</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/service-type" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>This defines the service type of connection.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vpn/user"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vpn-user"><strong>user</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vpn/user" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span> / <span class="ansible-option-required">required</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Username provided by VPN administrator.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vxlan_id"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vxlan-id"><strong>vxlan_id</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vxlan_id" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>This is only used with VXLAN - VXLAN ID.</p>
 </div></td>
 </tr>
-<tr class="row-odd"><td><div class="ansible-option-cell">
+<tr class="row-even"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vxlan_local"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-vxlan-local"><strong>vxlan_local</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vxlan_local" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
 <td><div class="ansible-option-cell"><p>This is only used with VXLAN - VXLAN local IP address.</p>
 </div></td>
 </tr>
-<tr class="row-even"><td><div class="ansible-option-cell">
+<tr class="row-odd"><td><div class="ansible-option-cell">
 <div class="ansibleOptionAnchor" id="parameter-vxlan_remote"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-mo

@felixfontein felixfontein removed the check-before-release PR will be looked at again shortly before release and merged if possible. label Apr 16, 2023
@felixfontein felixfontein merged commit 59cb5b2 into ansible-collections:main Apr 16, 2023
144 checks passed
@patchback
Copy link

patchback bot commented Apr 16, 2023

Backport to stable-6: 💚 backport PR created

✅ Backport PR branch: patchback/backports/stable-6/59cb5b2d6fd90c38bd6316874035f3818de67380/pr-6336

Backported as #6353

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

@felixfontein
Copy link
Collaborator

@russoz thanks!

patchback bot pushed a commit that referenced this pull request Apr 16, 2023
* dconf: minor refactor

* add changelog frag

* Update plugins/modules/dconf.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 59cb5b2)
felixfontein pushed a commit that referenced this pull request Apr 17, 2023
dconf: minor refactor (#6336)

* dconf: minor refactor

* add changelog frag

* Update plugins/modules/dconf.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 59cb5b2)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
@russoz russoz deleted the dconf-refactor branch April 17, 2023 09:22
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Apr 26, 2023
v7.5.0

Minor Changes
-------------

ansible.posix
~~~~~~~~~~~~~

- Add jsonl callback plugin to ansible.posix collection
- firewalld - add `protocol` parameter

cisco.aci
~~~~~~~~~

- Add aci_access_span_dst_group module for fabric access policies span destination group support
- Add aci_access_span_filter_group and aci_access_span_filter_group_entry modules for access span filter group support
- Add aci_config_export_policy module
- Add aci_igmp_interface_policy module
- Add aci_interface_config module for new interface configuration available in ACI v5.2(5)+
- Add aci_interface_policy_spanning_tree  module

cisco.dnac
~~~~~~~~~~

- accesspoint_configuration_details_by_task_id_info - new module
- authentication_policy_servers_info - new module
- credential_to_site_by_siteid_create_v2 - new module
- device_interface_info - attributes `lastInputTime` and `lastOutputTime` were added.
- device_reboot_apreboot_info - new module
- dnac_packages_info - new module
- eox_status_device_info - new module
- eox_status_summary_info - new module
- event_email_config - new module
- event_email_config_info - new module
- event_snmp_config_info - new module
- event_syslog_config - new module
- event_syslog_config_info - new module
- execute_suggested_actions_commands - new module
- global_credential_v2 - new module
- global_credential_v2_info - new module
- integration_settings_instances_itsm - new module
- integration_settings_instances_itsm_info - new module
- lan_automation_log_by_serial_number_info - new module
- network_device_user_defined_field - new module
- network_device_user_defined_field_info - new module
- network_v2 - new module
- network_v2_info - new module
- pnp_device_claim_to_site - attributes `removeInactive` and `hostname` were removed.
- role_permissions_info - new module
- roles_info - new module
- sda_fabric_border_device - attributes `routeDistributionProtocol` and `borderPriority` were added.
- sda_fabric_control_plane_device attribute `routeDistributionProtocol` was added.
- sda_fabric_edge_device - attribute `siteNameHierarchy` was added.
- sda_fabric_site - attribute `fabricType` was added.
- sda_port_assignment_for_user_device - attribute `interfaceNames` was added.
- sda_virtual_network - attribute `vManageVpnId` was added.
- sda_virtual_network_ip_pool - attribute `isBridgeModeVm` was added.
- sda_virtual_network_v2 - attribute `isBridgeModeVm` was added.
- service_provider_v2 - new module
- service_provider_v2_info - new module
- sp_profile_delete_v2 - new module
- user - new module
- user_info - new module
- users_external_servers_info - new module
- wireless_accespoint_configuration - new module
- wireless_accesspoint_configuration_summary_info - new module

cisco.ios
~~~~~~~~~

- ios_bgp_address_family - add option redistribute.ospf.include_connected when redistributing OSPF in IPv6 AFI
- ios_bgp_address_family - add option redistribute.ospf.match.externals.type_1 to allow
- ios_bgp_address_family - add option redistribute.ospf.match.externals.type_2 to allow
- specification of OSPF E1 routes
- specification of OSPF E2 routes

cisco.mso
~~~~~~~~~

- Add ip_data_plane_learning and preferred_group arguments to mso_schema_template_vrf module
- Add module mso_schema_site_anp_epg_bulk_staticport
- Add route_reachability attribute to mso_schema_site_external_epg module

cisco.nxos
~~~~~~~~~~

- `nxos_route_maps` - add support for 'set ip next-hop <>' command in route-maps
- `nxos_vxlan_vtep` - add support for 'advertise virtual-rmac' command under nve interface

community.crypto
~~~~~~~~~~~~~~~~

- get_certificate - add ``asn1_base64`` option to control whether the ASN.1 included in the ``extensions`` return value is binary data or Base64 encoded (ansible-collections/community.crypto#592).

community.general
~~~~~~~~~~~~~~~~~

- cpanm - minor change, use feature from ``ModuleHelper`` (ansible-collections/community.general#6385).
- dconf - be forgiving about boolean values: convert them to GVariant booleans automatically (ansible-collections/community.general#6206).
- dconf - minor refactoring improving parameters and dependencies validation (ansible-collections/community.general#6336).
- deps module utils - add function ``failed()`` providing the ability to check the dependency check result without triggering an exception (ansible-collections/community.general#6383).
- dig lookup plugin - Support multiple domains to be queried as indicated in docs (ansible-collections/community.general#6334).
- gitlab_project - add new option ``topics`` for adding topics to GitLab projects (ansible-collections/community.general#6278).
- homebrew_cask - allows passing ``--greedy`` option to ``upgrade_all`` (ansible-collections/community.general#6267).
- idrac_redfish_command - add ``job_id`` to ``CreateBiosConfigJob`` response (ansible-collections/community.general#5603).
- ipa_hostgroup - add ``append`` parameter for adding a new hosts to existing hostgroups without changing existing hostgroup members (ansible-collections/community.general#6203).
- keycloak_authentication - add flow type option to sub flows to allow the creation of 'form-flow' sub flows like in Keycloak's built-in registration flow (ansible-collections/community.general#6318).
- mksysb - improved the output of the module in case of errors (ansible-collections/community.general#6263).
- nmap inventory plugin - added environment variables for configure ``address`` and ``exclude`` (ansible-collections/community.general#6351).
- nmcli - add ``macvlan`` connection type (ansible-collections/community.general#6312).
- pipx - add ``system_site_packages`` parameter to give application access to system-wide packages (ansible-collections/community.general#6308).
- pipx - ensure ``include_injected`` parameter works with ``state=upgrade`` and ``state=latest`` (ansible-collections/community.general#6212).
- puppet - add new options ``skip_tags`` to exclude certain tagged resources during a puppet agent or apply (ansible-collections/community.general#6293).
- terraform - remove state file check condition and error block, because in the native implementation of terraform will not cause errors due to the non-existent file (ansible-collections/community.general#6296).
- udm_dns_record - minor refactor to the code (ansible-collections/community.general#6382).

community.zabbix
~~~~~~~~~~~~~~~~

- httpapi plugin - updated to work with Zabbix 6.4.
- zabbix_action, zabbix_authentication, zabbix_discovery_rule, zabbix_mediatype, zabbix_user, zabbix_user_directory, zabbix_usergroup - updated to work with Zabbix 6.4.
- zabbix_agent role - Add support for SUSE Linux Enterprise Server for SAP Applications ("SLES_SAP").
- zabbix_host - add missing variants for SNMPv3 authprotocol and privprotocol introduced by Zabbix 6
- zabbix_proxy role - Add variable zabbix_proxy_dbpassword_hash_method to control whether you want postgresql user password to be hashed with md5 or want to use db default. When zabbix_proxy_dbpassword_hash_method is set to anything other than md5 then do not hash the password with md5 so you could use postgresql scram-sha-256 hashing method.
- zabbix_server role - Add variable zabbix_server_dbpassword_hash_method to control whether you want postgresql user password to be hashed with md5 or want to use db default. When zabbix_server_dbpassword_hash_method is set to anything other than md5 then do not hash the password with md5 so you could use postgresql scram-sha-256 hashing method.
- zabbix_usergroup module - userdirectory, hostgroup_rights and templategroup_rights parameters added (Zabbix >= 6.2)
- zabbix_web role - possibility to add custom includes in apache vhost config

dellemc.powerflex
~~~~~~~~~~~~~~~~~

- Info module is enhanced to support the listing of replication pairs.

dellemc.unity
~~~~~~~~~~~~~

- Add synchronous replication support for filesystem.
- Support addition of host from the Host List to NFS Export in nfs module.
- Support enable/disable advanced dedup in volume module.

hetzner.hcloud
~~~~~~~~~~~~~~

- hcloud_image_info - Add cpu architecture field to return value.
- hcloud_image_info - Allow filtering images by cpu architecture.
- hcloud_server - Select matching image for the cpu architecture of the server type on create & rebuild.
- hcloud_server_type_info - Add cpu architecture field to return value.
- inventory plugin - Add cpu architecture to server variables.

netapp.ontap
~~~~~~~~~~~~

- na_ontap_cifs - new options ``browsable`` and ``show_previous_versions`` added in REST.
- na_ontap_cifs - removed default value for ``unix_symlink`` as its not supported with ZAPI.
- na_ontap_cifs - updated documentation and examples for REST.
- na_ontap_file_security_permissions - updated module examples.
- na_ontap_ipspace - improved module fail error message in REST.
- na_ontap_rest_info - improved documentation for ``parameters`` option.
- na_ontap_security_config - updated documentation for ``supported_cipher_suites``.
- na_ontap_user - option ``vserver`` is not required with REST, ignore this option to create cluster scoped user.

netbox.netbox
~~~~~~~~~~~~~

- netbox_aggregate - Add tenant as parameter to module
- netbox_asn - Add module
- netbox_fhrp_group - Add module
- netbox_journal_entry - Add module

purestorage.flashblade
~~~~~~~~~~~~~~~~~~~~~~

- purefb_info - Added `encryption` and `support_keys` information.
- purefb_info - Added bucket quota and safemode information per bucket
- purefb_info - Added security update version for Purity//FB 4.0.2, or higher
- purefb_info - Updated object store account information
- purefb_inventory - Added `part_number` to hardware item information.
- purefb_policy - Added support for multiple rules in snapshot policies
- purefb_proxy - Added new boolean parameter `secure`. Default of true (for backwards compatability) sets the protocol to be `https://`. False sets `http://`
- purefb_s3acc - Added support for default bucket quotas and hard limits
- purefb_s3acc - Added support for object account quota and hard limit

purestorage.fusion
~~~~~~~~~~~~~~~~~~

- added Python package dependency checks in prerequisites.py
- fusion_hap - added missing 'windows' personality type

theforeman.foreman
~~~~~~~~~~~~~~~~~~

- content_export_library, content_export_repository, content_export_version - add ``format`` option to control the export format
- content_view_filter - add support for creating modulemd filters
- content_view_publish role - also accept a list of dicts as the ``content_views`` role for publishing (theforeman/foreman-ansible-modules#1436)
- setting - document how to obtain valid setting names (https://bugzilla.redhat.com/show_bug.cgi?id=2174367)

Deprecated Features
-------------------

cisco.ios
~~~~~~~~~

- ios_bgp_address_family - deprecate redistribute.ospf.match.external with redistribute.ospf.match.externals which enables attributes for OSPF type E1 and E2 routes
- ios_bgp_address_family - deprecate redistribute.ospf.match.nssa_external with redistribute.ospf.match.nssa_externals which enables attributes for OSPF type N1 and N2 routes
- ios_bgp_address_family - deprecate redistribute.ospf.match.type_1 with redistribute.ospf.match.nssa_externals.type_1
- ios_bgp_address_family - deprecate redistribute.ospf.match.type_2 with redistribute.ospf.match.nssa_externals.type_2
@pboushy
Copy link

pboushy commented Mar 8, 2024

Hey @russoz - this PR appears to have added dependencies to dconf on other files within community without adding significant benefit.

Why was it decided to add this additional level of dependency?

@russoz
Copy link
Collaborator Author

russoz commented Mar 8, 2024

Hi @pboushy thanks for your comment.

I beg to differ from you that there was no significant benefit: there was a significant uncluttering of the code and improvement in its readability. Also, it creates a consistent mechanism for handling dependencies - without it the modules' implementations of dependencies (all based on the same official documentation) were quite varied and inconsistent in many different ways.

In fact, I plan of submitting this deps mechanism to the ansible-core code - just haven't had the time yet to prepare that PR - so that it becomes the standard way of handling modules' dependencies.

Hope that made it clearer, though from your comment I suspect we will agree to disagree.

@felixfontein
Copy link
Collaborator

Replacing

PSUTIL_IMP_ERR = None
try:
    import psutil
    HAS_PSUTIL = True
except ImportError:
    PSUTIL_IMP_ERR = traceback.format_exc()
    HAS_PSUTIL = False

[...]

    if not HAS_PSUTIL:
        module.fail_json(msg=missing_required_lib("psutil"), exception=PSUTIL_IMP_ERR)

(similar code which exists all over the collection in various degrees of similarity) with

with deps.declare("psutil"):
    import psutil

[...]

    deps.validate(module)

(which allows to better standarize missing library handling without having to repeat too much code everywhere) looks like a significant benefit to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module module plugins plugin (any type) system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants