From 4a67de7b08adccf16fbc613cea25513affb8875d Mon Sep 17 00:00:00 2001 From: Hideki Saito Date: Tue, 24 Aug 2021 19:11:45 +0900 Subject: [PATCH] Display warning message if wrong parameter set to masquerade or icmp-block-inversion * This PR is a part of #249 Signed-off-by: Hideki Saito --- changelogs/fragments/254_variable_warnings.yml | 5 +++++ plugins/modules/firewalld.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 changelogs/fragments/254_variable_warnings.yml diff --git a/changelogs/fragments/254_variable_warnings.yml b/changelogs/fragments/254_variable_warnings.yml new file mode 100644 index 0000000..4b87e31 --- /dev/null +++ b/changelogs/fragments/254_variable_warnings.yml @@ -0,0 +1,5 @@ +--- +minor_changes: +- firewalld - Show warning message that variable type of ``masquerade`` and + ``icmp_block_inversion`` will be changed from ``str`` to ``boolean`` + in the future release (https://github.com/ansible-collections/ansible.posix/pull/254). diff --git a/plugins/modules/firewalld.py b/plugins/modules/firewalld.py index 95bfe53..f7a4a67 100644 --- a/plugins/modules/firewalld.py +++ b/plugins/modules/firewalld.py @@ -213,6 +213,7 @@ EXAMPLES = r''' ''' from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils.parsing.convert_bool import boolean from ansible_collections.ansible.posix.plugins.module_utils.firewalld import FirewallTransaction, fw_offline try: @@ -875,6 +876,14 @@ def main(): if changed is True: msgs.append("Changed icmp-block-inversion %s to %s" % (icmp_block_inversion, desired_state)) + # Type of icmp_block_inversion will be changed to boolean in a future release. + try: + boolean(icmp_block_inversion, True) + except TypeError: + module.warn('The value of the icmp_block_inversion option is "%s". ' + 'The type of the option will be changed from string to boolean in a future release. ' + 'To avoid unexpected behavior, please change the value to boolean.' % icmp_block_inversion) + if service is not None: transaction = ServiceTransaction( @@ -992,6 +1001,14 @@ def main(): changed, transaction_msgs = transaction.run() msgs = msgs + transaction_msgs + # Type of masquerade will be changed to boolean in a future release. + try: + boolean(masquerade, True) + except TypeError: + module.warn('The value of the masquerade option is "%s". ' + 'The type of the option will be changed from string to boolean in a future release. ' + 'To avoid unexpected behavior, please change the value to boolean.' % masquerade) + if target is not None: transaction = ZoneTargetTransaction(