diff --git a/lib/ansible/modules/network/f5/bigip_monitor_http.py b/lib/ansible/modules/network/f5/bigip_monitor_http.py index f9ee013ad9..ecb7eefcaf 100644 --- a/lib/ansible/modules/network/f5/bigip_monitor_http.py +++ b/lib/ansible/modules/network/f5/bigip_monitor_http.py @@ -472,6 +472,10 @@ class Difference(object): def description(self): return cmp_str_with_none(self.want.description, self.have.description) + @property + def receive_disable(self): + return cmp_str_with_none(self.want.receive_disable, self.have.receive_disable) + class ModuleManager(object): def __init__(self, *args, **kwargs): @@ -699,7 +703,7 @@ class ArgumentSpec(object): description=dict(), send=dict(), receive=dict(), - receive_disable=dict(required=False), + receive_disable=dict(), ip=dict(), port=dict(), interval=dict(type='int'), diff --git a/lib/ansible/modules/network/f5/bigip_monitor_https.py b/lib/ansible/modules/network/f5/bigip_monitor_https.py index 0e2e72187d..a6d1a5443e 100644 --- a/lib/ansible/modules/network/f5/bigip_monitor_https.py +++ b/lib/ansible/modules/network/f5/bigip_monitor_https.py @@ -474,6 +474,10 @@ class Difference(object): def description(self): return cmp_str_with_none(self.want.description, self.have.description) + @property + def receive_disable(self): + return cmp_str_with_none(self.want.receive_disable, self.have.receive_disable) + class ModuleManager(object): def __init__(self, *args, **kwargs): @@ -683,7 +687,7 @@ class ArgumentSpec(object): description=dict(), send=dict(), receive=dict(), - receive_disable=dict(required=False), + receive_disable=dict(), ip=dict(), up_interval=dict(type='int'), port=dict(), diff --git a/lib/ansible/modules/network/f5/bigip_pool.py b/lib/ansible/modules/network/f5/bigip_pool.py index 096bc4b7d5..6c3a4bfbb2 100644 --- a/lib/ansible/modules/network/f5/bigip_pool.py +++ b/lib/ansible/modules/network/f5/bigip_pool.py @@ -358,6 +358,7 @@ try: from library.module_utils.network.f5.common import transform_name from library.module_utils.network.f5.common import exit_json from library.module_utils.network.f5.common import fail_json + from library.module_utils.network.f5.compare import cmp_str_with_none except ImportError: from ansible.module_utils.network.f5.bigip import F5RestClient from ansible.module_utils.network.f5.common import F5ModuleError @@ -368,6 +369,7 @@ except ImportError: from ansible.module_utils.network.f5.common import transform_name from ansible.module_utils.network.f5.common import exit_json from ansible.module_utils.network.f5.common import fail_json + from ansible.module_utils.network.f5.compare import cmp_str_with_none class Parameters(AnsibleF5Parameters): @@ -439,6 +441,12 @@ class Parameters(AnsibleF5Parameters): class ApiParameters(Parameters): + @property + def description(self): + if self._values['description'] in [None, 'none']: + return None + return self._values['description'] + @property def quorum(self): if self._values['monitors'] is None: @@ -489,6 +497,14 @@ class ApiParameters(Parameters): class ModuleParameters(Parameters): + @property + def description(self): + if self._values['description'] is None: + return None + elif self._values['description'] in ['none', '']: + return '' + return self._values['description'] + @property def monitors_list(self): if self._values['monitors'] is None: @@ -626,6 +642,10 @@ class Difference(object): else: return want + @property + def description(self): + return cmp_str_with_none(self.want.description, self.have.description) + def _monitors_and_quorum(self): if self.want.monitor_type is None: self.want.update(dict(monitor_type=self.have.monitor_type)) diff --git a/lib/ansible/modules/network/f5/bigip_profile_analytics.py b/lib/ansible/modules/network/f5/bigip_profile_analytics.py index 4965697d16..cd4312d278 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_analytics.py +++ b/lib/ansible/modules/network/f5/bigip_profile_analytics.py @@ -649,7 +649,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 409]: + if 'code' in response and response['code'] in [400, 409, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -669,7 +669,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_client_ssl.py b/lib/ansible/modules/network/f5/bigip_profile_client_ssl.py index 3adb47f66c..4813f645b7 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_client_ssl.py +++ b/lib/ansible/modules/network/f5/bigip_profile_client_ssl.py @@ -878,7 +878,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -897,7 +897,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_dns.py b/lib/ansible/modules/network/f5/bigip_profile_dns.py index 866e085925..041456b03c 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_dns.py +++ b/lib/ansible/modules/network/f5/bigip_profile_dns.py @@ -634,7 +634,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -653,7 +653,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_fastl4.py b/lib/ansible/modules/network/f5/bigip_profile_fastl4.py index 1a11c66bcd..e7cfa59e57 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_fastl4.py +++ b/lib/ansible/modules/network/f5/bigip_profile_fastl4.py @@ -1236,7 +1236,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -1255,7 +1255,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_http.py b/lib/ansible/modules/network/f5/bigip_profile_http.py index 92ea49535f..e6c2ffa761 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_http.py +++ b/lib/ansible/modules/network/f5/bigip_profile_http.py @@ -764,7 +764,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -784,7 +784,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_http2.py b/lib/ansible/modules/network/f5/bigip_profile_http2.py index ceca5fa41c..6773f0e3a7 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_http2.py +++ b/lib/ansible/modules/network/f5/bigip_profile_http2.py @@ -565,7 +565,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -585,7 +585,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_http_compression.py b/lib/ansible/modules/network/f5/bigip_profile_http_compression.py index 0d3a5df391..91ab7cb8af 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_http_compression.py +++ b/lib/ansible/modules/network/f5/bigip_profile_http_compression.py @@ -424,7 +424,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -443,7 +443,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_oneconnect.py b/lib/ansible/modules/network/f5/bigip_profile_oneconnect.py index d1b95eae1f..a8a2937785 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_oneconnect.py +++ b/lib/ansible/modules/network/f5/bigip_profile_oneconnect.py @@ -500,7 +500,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -520,7 +520,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_persistence_cookie.py b/lib/ansible/modules/network/f5/bigip_profile_persistence_cookie.py index de49d65494..d9d358fb1e 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_persistence_cookie.py +++ b/lib/ansible/modules/network/f5/bigip_profile_persistence_cookie.py @@ -652,7 +652,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -671,7 +671,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_persistence_src_addr.py b/lib/ansible/modules/network/f5/bigip_profile_persistence_src_addr.py index eadf9f67d7..afaf0fbcea 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_persistence_src_addr.py +++ b/lib/ansible/modules/network/f5/bigip_profile_persistence_src_addr.py @@ -449,7 +449,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -468,7 +468,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_server_ssl.py b/lib/ansible/modules/network/f5/bigip_profile_server_ssl.py index 9c282bd7fe..e9a9632931 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_server_ssl.py +++ b/lib/ansible/modules/network/f5/bigip_profile_server_ssl.py @@ -533,7 +533,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -552,7 +552,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_tcp.py b/lib/ansible/modules/network/f5/bigip_profile_tcp.py index d606d27d10..f74eff52b2 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_tcp.py +++ b/lib/ansible/modules/network/f5/bigip_profile_tcp.py @@ -377,7 +377,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -397,7 +397,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: diff --git a/lib/ansible/modules/network/f5/bigip_profile_udp.py b/lib/ansible/modules/network/f5/bigip_profile_udp.py index 4100bea239..77cca538c9 100644 --- a/lib/ansible/modules/network/f5/bigip_profile_udp.py +++ b/lib/ansible/modules/network/f5/bigip_profile_udp.py @@ -356,7 +356,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] in [400, 403]: + if 'code' in response and response['code'] in [400, 403, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: @@ -376,7 +376,7 @@ class ModuleManager(object): except ValueError as ex: raise F5ModuleError(str(ex)) - if 'code' in response and response['code'] == 400: + if 'code' in response and response['code'] in [400, 404]: if 'message' in response: raise F5ModuleError(response['message']) else: