diff options
6 files changed, 109 insertions, 0 deletions
diff --git a/plugins/module_utils/network/vyos/config/lag_interfaces/lag_interfaces.py b/plugins/module_utils/network/vyos/config/lag_interfaces/lag_interfaces.py index e7f788a..af49f42 100644 --- a/plugins/module_utils/network/vyos/config/lag_interfaces/lag_interfaces.py +++ b/plugins/module_utils/network/vyos/config/lag_interfaces/lag_interfaces.py @@ -118,6 +118,10 @@ class Lag_interfaces(ConfigBase): """ commands = [] state = self._module.params["state"] + if state in ("merged", "replaced", "overridden") and not want: + self._module.fail_json( + msg="config is required for state {0}".format(state) + ) if state == "overridden": commands.extend(self._state_overridden(want, have)) elif state == "deleted": diff --git a/plugins/module_utils/network/vyos/config/lldp_global/lldp_global.py b/plugins/module_utils/network/vyos/config/lldp_global/lldp_global.py index 54606fa..8570874 100644 --- a/plugins/module_utils/network/vyos/config/lldp_global/lldp_global.py +++ b/plugins/module_utils/network/vyos/config/lldp_global/lldp_global.py @@ -104,6 +104,10 @@ class Lldp_global(ConfigBase): """ commands = [] state = self._module.params["state"] + if state in ("merged", "replaced") and not want: + self._module.fail_json( + msg="config is required for state {0}".format(state) + ) if state == "deleted": commands.extend(self._state_deleted(want=None, have=have)) elif state == "merged": diff --git a/plugins/module_utils/network/vyos/config/lldp_interfaces/lldp_interfaces.py b/plugins/module_utils/network/vyos/config/lldp_interfaces/lldp_interfaces.py index a22c27e..6b76296 100644 --- a/plugins/module_utils/network/vyos/config/lldp_interfaces/lldp_interfaces.py +++ b/plugins/module_utils/network/vyos/config/lldp_interfaces/lldp_interfaces.py @@ -115,6 +115,10 @@ class Lldp_interfaces(ConfigBase): """ commands = [] state = self._module.params["state"] + if state in ("merged", "replaced", "overridden") and not want: + self._module.fail_json( + msg="config is required for state {0}".format(state) + ) if state == "overridden": commands.extend(self._state_overridden(want=want, have=have)) elif state == "deleted": diff --git a/tests/integration/targets/vyos_lag_interfaces/tests/cli/empty_config.yaml b/tests/integration/targets/vyos_lag_interfaces/tests/cli/empty_config.yaml new file mode 100644 index 0000000..50f6d97 --- /dev/null +++ b/tests/integration/targets/vyos_lag_interfaces/tests/cli/empty_config.yaml @@ -0,0 +1,36 @@ +--- +- debug: + msg: "START vyos_lag_interfaces empty_config integration tests on connection={{ ansible_connection }}" + +- name: Merged with empty config should give appropriate error message + vyos.vyos.vyos_lag_interfaces: + config: + state: merged + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state merged' + +- name: Replaced with empty config should give appropriate error message + vyos.vyos.vyos_lag_interfaces: + config: + state: replaced + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state replaced' + +- name: Overridden with empty config should give appropriate error message + vyos.vyos.vyos_lag_interfaces: + config: + state: overridden + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state overridden' diff --git a/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml b/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml new file mode 100644 index 0000000..2497015 --- /dev/null +++ b/tests/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml @@ -0,0 +1,25 @@ +--- +- debug: + msg: "START vyos_lldp_global empty_config integration tests on connection={{ ansible_connection }}" + +- name: Merged with empty config should give appropriate error message + vyos.vyos.vyos_lldp_global: + config: + state: merged + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state merged' + +- name: Replaced with empty config should give appropriate error message + vyos.vyos.vyos_lldp_global: + config: + state: replaced + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state replaced' diff --git a/tests/integration/targets/vyos_lldp_interfaces/tests/cli/empty_config.yaml b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/empty_config.yaml new file mode 100644 index 0000000..9711791 --- /dev/null +++ b/tests/integration/targets/vyos_lldp_interfaces/tests/cli/empty_config.yaml @@ -0,0 +1,36 @@ +--- +- debug: + msg: "START vyos_lldp_interfaces empty_config integration tests on connection={{ ansible_connection }}" + +- name: Merged with empty config should give appropriate error message + vyos.vyos.vyos_lldp_interfaces: + config: + state: merged + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state merged' + +- name: Replaced with empty config should give appropriate error message + vyos.vyos.vyos_lldp_interfaces: + config: + state: replaced + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state replaced' + +- name: Overridden with empty config should give appropriate error message + vyos.vyos.vyos_lldp_interfaces: + config: + state: overridden + register: result + ignore_errors: True + +- assert: + that: + - result.msg == 'config is required for state overridden' |