summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/module_utils/network/vyos/config/interfaces/interfaces.py41
-rw-r--r--plugins/modules/vyos_interfaces.py13
2 files changed, 26 insertions, 28 deletions
diff --git a/plugins/module_utils/network/vyos/config/interfaces/interfaces.py b/plugins/module_utils/network/vyos/config/interfaces/interfaces.py
index 62e4f92..a9d9307 100644
--- a/plugins/module_utils/network/vyos/config/interfaces/interfaces.py
+++ b/plugins/module_utils/network/vyos/config/interfaces/interfaces.py
@@ -275,7 +275,9 @@ class Interfaces(ConfigBase):
commands.append(
self._compute_commands(key=key, interface=want_copy["name"], remove=True),
)
- if have_copy["enabled"] is False and not ('enabled' in want_copy and want_copy["enabled"] is False):
+ if have_copy["enabled"] is False and not (
+ "enabled" in want_copy and want_copy["enabled"] is False
+ ):
commands.append(
self._compute_commands(key="enabled", value=True, interface=want_copy["name"]),
)
@@ -284,43 +286,48 @@ class Interfaces(ConfigBase):
for have_vif in have_vifs:
want_vif = search_obj_in_list(have_vif["vlan_id"], want_vifs, key="vlan_id")
if not want_vif:
- want_vif = {
- "vlan_id": have_vif["vlan_id"],
- "enabled": True,
- }
-
- for key in dict_delete(have_vif, want_vif).keys():
- if key == "enabled":
- continue
commands.append(
self._compute_commands(
- key=key,
+ key="",
interface=want_copy["name"],
- vif=want_vif["vlan_id"],
+ vif=have_vif["vlan_id"],
remove=True,
),
)
- if have_vif["enabled"] is False:
+ continue
+
+ for key in dict_delete(have_vif, want_vif).keys():
+ if key == "enabled":
+ continue
commands.append(
self._compute_commands(
- key="enabled",
- value=True,
+ key=key,
interface=want_copy["name"],
vif=want_vif["vlan_id"],
+ remove=True,
),
)
return commands
def _compute_commands(self, interface, key, vif=None, value=None, remove=False):
- intf_context = "interfaces {0} {1}".format(get_interface_type(interface), interface)
+ interface_type = get_interface_type(interface)
+ if not interface_type:
+ self._module.fail_json(
+ msg="interface {0} is not a valid interface type".format(interface),
+ )
+ intf_context = "interfaces {0} {1}".format(interface_type, interface)
set_cmd = "set {0}".format(intf_context)
del_cmd = "delete {0}".format(intf_context)
if vif:
set_cmd = set_cmd + (" vif {0}".format(vif))
del_cmd = del_cmd + (" vif {0}".format(vif))
-
- if key == "enabled":
+ if key == "" or key is None:
+ if not remove:
+ command = "{0}".format(set_cmd)
+ else:
+ command = "{0}".format(del_cmd)
+ elif key == "enabled":
if not value:
command = "{0} disable".format(set_cmd)
else:
diff --git a/plugins/modules/vyos_interfaces.py b/plugins/modules/vyos_interfaces.py
index b679a22..6125b4b 100644
--- a/plugins/modules/vyos_interfaces.py
+++ b/plugins/modules/vyos_interfaces.py
@@ -353,7 +353,7 @@ EXAMPLES = """
# - delete interfaces ethernet eth2 speed
# - delete interfaces ethernet eth2 duplex
# - delete interfaces ethernet eth2 mtu
-# - delete interfaces ethernet eth2 vif 200 description
+# - delete interfaces ethernet eth2 vif 200
# - set interfaces ethernet eth2 description 'Replaced by Ansible'
# - delete interfaces ethernet eth3 speed
# - delete interfaces ethernet eth3 duplex
@@ -375,9 +375,6 @@ EXAMPLES = """
# - description: Replaced by Ansible
# enabled: true
# name: eth2
-# vifs:
-# - enabled: true
-# vlan_id: '200'
# - description: Replaced by Ansible
# enabled: true
# name: eth1
@@ -405,7 +402,6 @@ EXAMPLES = """
# set interfaces ethernet eth2 description 'Replaced by Ansible'
# set interfaces ethernet eth2 hw-id '08:00:27:c2:98:23'
# set interfaces ethernet eth2 smp-affinity 'auto'
-# set interfaces ethernet eth2 vif 200
# set interfaces ethernet eth3 description 'Replaced by Ansible'
# set interfaces ethernet eth3 hw-id '08:00:27:43:70:8c'
# set interfaces loopback lo
@@ -490,8 +486,7 @@ EXAMPLES = """
# - delete interfaces vti vti1 mtu
# - delete interfaces ethernet eth1 description
# - delete interfaces ethernet eth1 mtu
-# - delete interfaces ethernet eth1 vif 100 description
-# - delete interfaces ethernet eth1 vif 100 disable
+# - delete interfaces ethernet eth1 vif 100
# - delete interfaces ethernet eth0 mtu
# - set interfaces ethernet eth0 description 'Outbound Interface For The Appliance'
# - delete interfaces ethernet eth2 description
@@ -515,9 +510,6 @@ EXAMPLES = """
# speed: auto
# - enabled: true
# name: eth1
-# vifs:
-# - enabled: true
-# vlan_id: '100'
# - description: Outbound Interface For The Appliance
# duplex: auto
# enabled: true
@@ -536,7 +528,6 @@ EXAMPLES = """
# set interfaces ethernet eth0 speed 'auto'
# set interfaces ethernet eth1 hw-id '08:00:27:ea:0f:b9'
# set interfaces ethernet eth1 smp-affinity 'auto'
-# set interfaces ethernet eth1 vif 100
# set interfaces ethernet eth2 duplex 'auto'
# set interfaces ethernet eth2 hw-id '08:00:27:c2:98:23'
# set interfaces ethernet eth2 smp-affinity 'auto'