diff --git a/roles/ipareplica/library/ipareplica_master_password.py b/roles/ipareplica/library/ipareplica_master_password.py
index f617716bdaa5e8b9662229025d998052616d5b75..16988244ae5d349718d7375ae673552a1273f6d8 100644
--- a/roles/ipareplica/library/ipareplica_master_password.py
+++ b/roles/ipareplica/library/ipareplica_master_password.py
@@ -5,7 +5,7 @@
 #
 # Based on ipa-server-install code
 #
-# Copyright (C) 2017  Red Hat
+# Copyright (C) 2017-2022  Red Hat
 # see file 'COPYING' for use and warranty information
 #
 # This program is free software; you can redistribute it and/or modify
@@ -40,9 +40,10 @@ description:
 options:
   master_password:
     description: kerberos master password (normally autogenerated)
-    required: yes
+    type: str
+    required: no
 author:
-    - Thomas Woerner
+    - Thomas Woerner (@t-woerner)
 '''
 
 EXAMPLES = '''
@@ -51,12 +52,13 @@ EXAMPLES = '''
 RETURN = '''
 password:
   description: The master password
+  type: str
   returned: always
 '''
 
 from ansible.module_utils.basic import AnsibleModule
 from ansible.module_utils.ansible_ipa_replica import (
-    setup_logging, ipa_generate_password
+    check_imports, setup_logging, ipa_generate_password
 )
 
 
@@ -64,12 +66,13 @@ def main():
     module = AnsibleModule(
         argument_spec=dict(
             # basic
-            master_password=dict(required=False, no_log=True),
+            master_password=dict(required=False, type='str', no_log=True),
         ),
-        supports_check_mode=True,
+        supports_check_mode=False,
     )
 
     module._ansible_debug = True
+    check_imports(module)
     setup_logging()
 
     master_password = module.params.get('master_password')