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

nmcli: added new module option 'slave_type' to allow create non-ethernet slave connections #6108

Merged

Conversation

heaveaxy
Copy link
Contributor

SUMMARY

Without it module makes impossible to create non-ethernet interfaces (eg bond, vlan) attached to bridges. From nmcli side this options already deprecated.

ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME

nmcli

ADDITIONAL INFORMATION
  • argspecs updated
  • docs updated
  • tests updated
  • added several examples
  • added warning message in case of using type = bridge-slave. In my opinion this type is very problematic due to it has non-obviousness results.

@ansibullbot

This comment was marked as outdated.

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added ci_verified Push fixes to PR branch to re-run CI feature This issue/PR relates to a feature request module module needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR net_tools new_contributor Help guide this first time contributor plugins plugin (any type) tests tests unit tests/unit labels Feb 26, 2023
@ansibullbot ansibullbot removed ci_verified Push fixes to PR branch to re-run CI needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR labels Feb 26, 2023
@github-actions
Copy link

github-actions bot commented Feb 26, 2023

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/4639617573

File changes:

  • M collections/community/general/nmcli_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/nmcli_module.html b/home/runner/work/community.general/community.general/docsbuild/head/collections/community/general/nmcli_module.html
index 3d28858..9aa68ec 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
@@ -1015,6 +1015,21 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 </div></td>
 </tr>
 <tr class="row-odd"><td><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-slave_type"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-slave-type"><strong>slave_type</strong></p>
+<a class="ansibleOptionLink" href="#parameter-slave_type" 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 6.6.0</span></p>
+</div></td>
+<td><div class="ansible-option-cell"><p>Type of the device of this slave’s master connection (eg, “bond”).</p>
+<p>Mandatory if <em>master</em> is defined.</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">&quot;bond&quot;</span></code></p></li>
+<li><p><code class="ansible-option-choices-entry docutils literal notranslate"><span class="pre">&quot;bridge&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>
+</ul>
+</div></td>
+</tr>
+<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 +1037,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 +1045,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 +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-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 +1069,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 +1082,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>
@@ -1078,6 +1093,8 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <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">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>Using <code class="docutils literal notranslate"><span class="pre">bond-slave</span></code>, <code class="docutils literal notranslate"><span class="pre">bridge-slave</span></code> or <code class="docutils literal notranslate"><span class="pre">team-slave</span></code> implies <code class="docutils literal notranslate"><span class="pre">ethernet</span></code> connection type with corresponding <code class="docutils literal notranslate"><span class="pre">slave_type</span></code> option.</p>
+<p>If you want to control non-ethernet connection attached to <code class="docutils literal notranslate"><span class="pre">bond</span></code>, <code class="docutils literal notranslate"><span class="pre">bridge</span></code> or <code class="docutils literal notranslate"><span class="pre">team</span></code> consider using <code class="docutils literal notranslate"><span class="pre">slave_type</span></code> option.</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">&quot;bond&quot;</span></code></p></li>
@@ -1102,28 +1119,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 +1149,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 +1169,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 +1178,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 +1193,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-module-parameter-vxlan-remote"><strong>vxlan_remote</strong></p>
 <a class="ansibleOptionLink" href="#parameter-vxlan_remote" 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 destination IP address.</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-wifi"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi"><strong>wifi</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi" 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 3.5.0</span></p>
@@ -1229,7 +1246,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>For instance to create a hidden AP mode WiFi connection: <code class="docutils literal notranslate"><span class="pre">{hidden:</span> <span class="pre">true,</span> <span class="pre">mode:</span> <span class="pre">ap}</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-wifi/ap-isolation"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-ap-isolation"><strong>ap-isolation</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/ap-isolation" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1246,7 +1263,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-wifi/assigned-mac-address"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-assigned-mac-address"><strong>assigned-mac-address</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/assigned-mac-address" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1256,7 +1273,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property <em>cloned-mac-address</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-wifi/band"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-band"><strong>band</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/band" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1271,7 +1288,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-wifi/bssid"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-bssid"><strong>bssid</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/bssid" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1280,7 +1297,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Note this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future.</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-wifi/channel"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-channel"><strong>channel</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/channel" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1290,7 +1307,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">0</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-wifi/cloned-mac-address"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-cloned-mac-address"><strong>cloned-mac-address</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/cloned-mac-address" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1298,7 +1315,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>For libnm and nmcli, this field is called <em>cloned-mac-address</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-wifi/generate-mac-address-mask"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-generate-mac-address-mask"><strong>generate-mac-address-mask</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/generate-mac-address-mask" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1314,7 +1331,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, <code class="docutils literal notranslate"><span class="pre">02:00:00:00:00:00</span> <span class="pre">00:00:00:00:00:00</span> <span class="pre">02:00:00:00:00:00</span></code> will create a fully scrambled MAC address, randomly locally or globally administered.</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-wifi/hidden"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-hidden"><strong>hidden</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/hidden" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -1329,7 +1346,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-wifi/mac-address"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-mac-address"><strong>mac-address</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/mac-address" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1337,7 +1354,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>This property does not change the MAC address of the device (for example for MAC spoofing).</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-wifi/mac-address-blacklist"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-mac-address-blacklist"><strong>mac-address-blacklist</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/mac-address-blacklist" 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>
 </div></td>
@@ -1345,7 +1362,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Each MAC address should be given in the standard hex-digits-and-colons notation (for example, <code class="docutils literal notranslate"><span class="pre">00:11:22:33:44:55</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-wifi/mac-address-randomization"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-mac-address-randomization"><strong>mac-address-randomization</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/mac-address-randomization" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1359,7 +1376,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-wifi/mode"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-mode"><strong>mode</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/mode" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1373,7 +1390,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-wifi/mtu"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-mtu"><strong>mtu</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/mtu" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1381,7 +1398,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">0</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-wifi/powersave"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-powersave"><strong>powersave</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/powersave" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1396,7 +1413,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-wifi/rate"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-rate"><strong>rate</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/rate" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1406,7 +1423,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">0</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-wifi/tx-power"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-tx-power"><strong>tx-power</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/tx-power" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1416,7 +1433,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">0</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-wifi/wake-on-wlan"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-wake-on-wlan"><strong>wake-on-wlan</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi/wake-on-wlan" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1426,7 +1443,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">1</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-wifi_sec"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec"><strong>wifi_sec</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec" 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 3.0.0</span></p>
@@ -1437,7 +1454,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>For instance to use common WPA-PSK auth with a password: <code class="docutils literal notranslate"><span class="pre">{key-mgmt:</span> <span class="pre">wpa-psk,</span> <span class="pre">psk:</span> <span class="pre">my_password}</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-wifi_sec/auth-alg"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-auth-alg"><strong>auth-alg</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/auth-alg" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1452,7 +1469,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-wifi_sec/fils"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-fils"><strong>fils</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/fils" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1468,7 +1485,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-wifi_sec/group"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-group"><strong>group</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/group" 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>
 </div></td>
@@ -1483,7 +1500,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-wifi_sec/key-mgmt"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-key-mgmt"><strong>key-mgmt</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/key-mgmt" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1502,28 +1519,28 @@ 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-wifi_sec/leap-password"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-leap-password"><strong>leap-password</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/leap-password" 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>The login password for legacy LEAP connections (that is, if <em>key-mgmt=ieee8021x</em> and <em>auth-alg=leap</em>).</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-wifi_sec/leap-password-flags"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-leap-password-flags"><strong>leap-password-flags</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/leap-password-flags" 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=integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Flags indicating how to handle the <em>leap-password</em> property.</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-wifi_sec/leap-username"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-leap-username"><strong>leap-username</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/leap-username" 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>The login username for legacy LEAP connections (that is, if <em>key-mgmt=ieee8021x</em> and <em>auth-alg=leap</em>).</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-wifi_sec/pairwise"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-pairwise"><strong>pairwise</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/pairwise" 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>
 </div></td>
@@ -1536,7 +1553,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-wifi_sec/pmf"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-pmf"><strong>pmf</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/pmf" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1552,7 +1569,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-wifi_sec/proto"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-proto"><strong>proto</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/proto" 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>
 </div></td>
@@ -1566,7 +1583,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-wifi_sec/psk"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-psk"><strong>psk</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/psk" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1575,21 +1592,21 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>The WPA3-Personal networks use a passphrase of any length for SAE authentication.</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-wifi_sec/psk-flags"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-psk-flags"><strong>psk-flags</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/psk-flags" 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=integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Flags indicating how to handle the <em>psk</em> property.</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-wifi_sec/wep-key-flags"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-key-flags"><strong>wep-key-flags</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-key-flags" 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=integer</span></p>
 </div></td>
 <td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>Flags indicating how to handle the <em>wep-key0</em>, <em>wep-key1</em>, <em>wep-key2</em>, and <em>wep-key3</em> properties.</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-wifi_sec/wep-key-type"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-key-type"><strong>wep-key-type</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-key-type" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1602,7 +1619,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-wifi_sec/wep-key0"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-key0"><strong>wep-key0</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-key0" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1610,7 +1627,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>See the <em>wep-key-type</em> property for a description of how this key is interpreted.</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-wifi_sec/wep-key1"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-key1"><strong>wep-key1</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-key1" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1618,7 +1635,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>See the <em>wep-key-type</em> property for a description of how this key is interpreted.</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-wifi_sec/wep-key2"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-key2"><strong>wep-key2</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-key2" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1626,7 +1643,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>See the <em>wep-key-type</em> property for a description of how this key is interpreted.</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-wifi_sec/wep-key3"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-key3"><strong>wep-key3</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-key3" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
 </div></td>
@@ -1634,7 +1651,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>See the <em>wep-key-type</em> property for a description of how this key is interpreted.</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-wifi_sec/wep-tx-keyidx"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wep-tx-keyidx"><strong>wep-tx-keyidx</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wep-tx-keyidx" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1650,7 +1667,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-wifi_sec/wps-method"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wifi-sec-wps-method"><strong>wps-method</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wifi_sec/wps-method" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1660,7 +1677,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">0</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-wireguard"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard"><strong>wireguard</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard" 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 4.3.0</span></p>
@@ -1671,7 +1688,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>For instance to configure a listen port: <code class="docutils literal notranslate"><span class="pre">{listen-port:</span> <span class="pre">12345}</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-wireguard/fwmark"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-fwmark"><strong>fwmark</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/fwmark" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1680,7 +1697,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>Note that <em>wireguard.ip4-auto-default-route</em> or <em>wireguard.ip6-auto-default-route</em> enabled, implies to automatically choose a fwmark.</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-wireguard/ip4-auto-default-route"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-ip4-auto-default-route"><strong>ip4-auto-default-route</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/ip4-auto-default-route" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -1694,7 +1711,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-wireguard/ip6-auto-default-route"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-ip6-auto-default-route"><strong>ip6-auto-default-route</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/ip6-auto-default-route" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -1706,14 +1723,14 @@ 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-wireguard/listen-port"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-listen-port"><strong>listen-port</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/listen-port" 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 WireGuard connection listen-port. If not specified, the port will be chosen randomly when the interface comes up.</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-wireguard/mtu"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-mtu"><strong>mtu</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/mtu" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1721,7 +1738,7 @@ see <a class="reference internal" href="#ansible-collections-community-general-n
 <p>If zero a default MTU is used. Note that contrary to wg-quick’s MTU setting, this does not take into account the current routes at the time of activation.</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-wireguard/peer-routes"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-peer-routes"><strong>peer-routes</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/peer-routes" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">boolean</span></p>
 </div></td>
@@ -1736,14 +1753,14 @@ 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-wireguard/private-key"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-private-key"><strong>private-key</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/private-key" 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>The 256 bit private-key in base64 encoding.</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-wireguard/private-key-flags"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-wireguard-private-key-flags"><strong>private-key-flags</strong></p>
 <a class="ansibleOptionLink" href="#parameter-wireguard/private-key-flags" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span></p>
 </div></td>
@@ -1756,7 +1773,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-xmit_hash_policy"></div><p class="ansible-option-title" id="ansible-collections-community-general-nmcli-module-parameter-xmit-hash-policy"><strong>xmit_hash_policy</strong></p>
 <a class="ansibleOptionLink" href="#parameter-xmit_hash_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 5.6.0</span></p>

@felixfontein felixfontein added check-before-release PR will be looked at again shortly before release and merged if possible. backport-6 labels Feb 27, 2023
@ansibullbot ansibullbot added stale_ci CI is older than 7 days, rerun before merging and removed new_contributor Help guide this first time contributor labels Mar 7, 2023
@heaveaxy
Copy link
Contributor Author

Can someone check it?

@felixfontein
Copy link
Collaborator

@jeffmcutter @heaveaxy @haddystuff there are currently multiple open PRs by you three for the nmcli module (#5974, #6106, #6105, #6107, #6108, #6148) which are waiting for reviews. Since I don't know nmcli well and am not maintaining this module, I would be glad if you could review each other's PRs. I'll gladly help with making sure that all formalities are OK and with merging, but I cannot really judge the PR changes themselves. Thanks :)

Copy link
Contributor

@haddystuff haddystuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@heaveaxy Sorry that it took me so long to take a look at your PR.
Just few comments to start with.

plugins/modules/nmcli.py Show resolved Hide resolved
plugins/modules/nmcli.py Show resolved Hide resolved
plugins/modules/nmcli.py Outdated Show resolved Hide resolved
@ansibullbot ansibullbot removed the stale_ci CI is older than 7 days, rerun before merging label Apr 4, 2023
Copy link
Collaborator

@russoz russoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @heaveaxy thanks for your contribution!

Few adjustments are needed (and a couple of optional suggestions as well).

plugins/modules/nmcli.py Outdated Show resolved Hide resolved
plugins/modules/nmcli.py Outdated Show resolved Hide resolved
@ansibullbot

This comment was marked as outdated.

@ansibullbot ansibullbot added merge_commit This PR contains at least one merge commit. Please resolve! needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR labels Apr 7, 2023
@heaveaxy heaveaxy force-pushed the nmcli-slave-type-added branch from 30d6eef to 7889a20 Compare May 3, 2023 15:37
@ansibullbot ansibullbot removed needs_ci This PR requires CI testing to be performed. Please close and re-open this PR to trigger CI needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html labels May 3, 2023
@ansibullbot

This comment was marked as outdated.

@heaveaxy heaveaxy requested a review from russoz May 5, 2023 18:18
@heaveaxy
Copy link
Contributor Author

heaveaxy commented May 5, 2023

@russoz I have implement changes you notices, conversations has resolved, but I still see "requested changes". Am I miss something?

@heaveaxy
Copy link
Contributor Author

heaveaxy commented May 6, 2023

@samccann I think if we cannot remove this terms from source code, documentation, error messages. logs etc, i.e. unable to achieve initial goals of renaming, we should not to do it - it just no makes sense. Underlying software should do it first. Otherwise it will produce difficulties only - with differences in syntax of software we automates working with,and automation tool. World need some time to rename widely known terms.

plugins/modules/nmcli.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@russoz russoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is only one adjustment left to make, then it LGTM

@ansibullbot ansibullbot removed the needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR label May 7, 2023
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
changelogs/fragments/473-nmcli-slave-type-implemented.yml Outdated Show resolved Hide resolved
plugins/modules/nmcli.py Outdated Show resolved Hide resolved
plugins/modules/nmcli.py Outdated Show resolved Hide resolved
heaveaxy and others added 2 commits May 8, 2023 04:10
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
@felixfontein felixfontein removed the check-before-release PR will be looked at again shortly before release and merged if possible. label May 8, 2023
@felixfontein felixfontein merged commit c949f3a into ansible-collections:main May 8, 2023
@felixfontein
Copy link
Collaborator

@heaveaxy thanks for your contribution!
@haddystuff @russoz thanks for reviewing!
@samccann thanks for weighting in! I really hope that we find better terms for these things eventually and can start migrating to them...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue/PR relates to a feature request has_issue module module net_tools plugins plugin (any type) tests tests unit tests/unit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ability in nmcli module to bind vlan interface to a bridge interface.
6 participants