Blame SOURCES/ansible-freeipa-0.1.8-ipahost-Enhanced-failure-msg-for-member-params-used-without-member-action_rhbz#1783948.patch

7d56d3
From 24515e40ad289552d45bddd33c7a0dda93117a7f Mon Sep 17 00:00:00 2001
7d56d3
From: Thomas Woerner <twoerner@redhat.com>
7d56d3
Date: Wed, 18 Dec 2019 12:28:03 +0100
7d56d3
Subject: [PATCH] ipahost: Enhanced failure msg for member params used without
7d56d3
 member action
7d56d3
7d56d3
The failure message if member parameters like certificate, managedby_host,
7d56d3
principal, allow_create_keytab_* and allow_retrieve_keytab_* are used
7d56d3
without member action for state absent has been enhanced to propose the
7d56d3
member action.
7d56d3
---
7d56d3
 plugins/modules/ipahost.py | 20 +++++++++++++-------
7d56d3
 1 file changed, 13 insertions(+), 7 deletions(-)
7d56d3
7d56d3
diff --git a/plugins/modules/ipahost.py b/plugins/modules/ipahost.py
7d56d3
index ec5e196..8ee9532 100644
7d56d3
--- a/plugins/modules/ipahost.py
7d56d3
+++ b/plugins/modules/ipahost.py
7d56d3
@@ -511,19 +511,25 @@ def check_parameters(
7d56d3
                    "userclass", "auth_ind", "requires_pre_auth",
7d56d3
                    "ok_as_delegate", "ok_to_auth_as_delegate", "force",
7d56d3
                    "reverse", "ip_address", "update_password"]
7d56d3
+        for x in invalid:
7d56d3
+            if vars()[x] is not None:
7d56d3
+                module.fail_json(
7d56d3
+                    msg="Argument '%s' can not be used with state '%s'" %
7d56d3
+                    (x, state))
7d56d3
         if action == "host":
7d56d3
-            invalid.extend([
7d56d3
+            invalid = [
7d56d3
                 "certificate", "managedby_host", "principal",
7d56d3
                 "allow_create_keytab_user", "allow_create_keytab_group",
7d56d3
                 "allow_create_keytab_host", "allow_create_keytab_hostgroup",
7d56d3
                 "allow_retrieve_keytab_user", "allow_retrieve_keytab_group",
7d56d3
                 "allow_retrieve_keytab_host",
7d56d3
-                "allow_retrieve_keytab_hostgroup"])
7d56d3
-        for x in invalid:
7d56d3
-            if vars()[x] is not None:
7d56d3
-                module.fail_json(
7d56d3
-                    msg="Argument '%s' can not be used with state '%s'" %
7d56d3
-                    (x, state))
7d56d3
+                "allow_retrieve_keytab_hostgroup"
7d56d3
+            ]
7d56d3
+            for x in invalid:
7d56d3
+                if vars()[x] is not None:
7d56d3
+                    module.fail_json(
7d56d3
+                        msg="Argument '%s' can only be used with action "
7d56d3
+                        "'member' for state '%s'" % (x, state))
7d56d3
 
7d56d3
 
7d56d3
 def main():