From fb070e4ac65e851bd3bb7d5afdb594c9d2ab07fe Mon Sep 17 00:00:00 2001 From: hansmi Date: Sun, 17 Aug 2025 12:55:56 +0200 Subject: [PATCH] Set default value for interface list include/exclude (#394) Without a default value a pre-existing value isn't removed unless the caller specifies the property. --- changelogs/fragments/394-iface-list-defaults.yml | 2 ++ plugins/module_utils/_api_data.py | 4 ++-- tests/unit/plugins/modules/test_api_info.py | 8 -------- 3 files changed, 4 insertions(+), 10 deletions(-) create mode 100644 changelogs/fragments/394-iface-list-defaults.yml diff --git a/changelogs/fragments/394-iface-list-defaults.yml b/changelogs/fragments/394-iface-list-defaults.yml new file mode 100644 index 0000000..7e517a6 --- /dev/null +++ b/changelogs/fragments/394-iface-list-defaults.yml @@ -0,0 +1,2 @@ +minor_changes: + - api_info, api_modify - set default value for ``include`` and ``exclude`` properties in ``system note`` to an empty string (https://github.com/ansible-collections/community.routeros/pull/394). diff --git a/plugins/module_utils/_api_data.py b/plugins/module_utils/_api_data.py index fb4f919..f1d131d 100644 --- a/plugins/module_utils/_api_data.py +++ b/plugins/module_utils/_api_data.py @@ -441,8 +441,8 @@ PATHS = { fully_understood=True, fields={ 'comment': KeyInfo(can_disable=True, remove_value=''), - 'exclude': KeyInfo(), - 'include': KeyInfo(), + 'exclude': KeyInfo(default=''), + 'include': KeyInfo(default=''), 'name': KeyInfo(), }, ), diff --git a/tests/unit/plugins/modules/test_api_info.py b/tests/unit/plugins/modules/test_api_info.py index 967a854..0fac95a 100644 --- a/tests/unit/plugins/modules/test_api_info.py +++ b/tests/unit/plugins/modules/test_api_info.py @@ -470,8 +470,6 @@ class TestRouterosApiInfoModule(ModuleTestCase): { '.id': '*2000010', 'name': 'WAN', - 'include': '', - 'exclude': '', 'comment': 'defconf', }, ]) @@ -523,24 +521,18 @@ class TestRouterosApiInfoModule(ModuleTestCase): { '.id': '*2000000', 'name': 'all', - 'include': '', - 'exclude': '', 'builtin': True, 'comment': 'contains all interfaces', }, { '.id': '*2000001', 'name': 'none', - 'include': '', - 'exclude': '', 'builtin': True, 'comment': 'contains no interfaces', }, { '.id': '*2000010', 'name': 'WAN', - 'include': '', - 'exclude': '', 'builtin': False, 'comment': 'defconf', },