From 4f117df6ec3e2a6bb1b14f5e36c6f758fa578d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20R=C3=BCetschi?= Date: Thu, 2 Feb 2017 20:10:32 +0100 Subject: [PATCH] univention udm_user: add parameter to control password update (#20699) * univention udm_user: added support to set the password always * module udm_user: added version 2.3 to update_password --- lib/ansible/modules/cloud/univention/udm_user.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/univention/udm_user.py b/lib/ansible/modules/cloud/univention/udm_user.py index ac2d8acb11..dcebf50082 100644 --- a/lib/ansible/modules/cloud/univention/udm_user.py +++ b/lib/ansible/modules/cloud/univention/udm_user.py @@ -304,6 +304,13 @@ options: description: - "Define the whole position of users object inside the LDAP tree, e.g. C(cn=employee,cn=users,ou=school,dc=example,dc=com)." + update_password: + required: false + default: always + description: + - "C(always) will update passwords if they differ. + C(on_create) will only set the password for newly created users." + version_added: "2.3" ou: required: false default: '' @@ -466,6 +473,9 @@ def main(): type='str'), position = dict(default='', type='str'), + update_password = dict(default='always', + choices=['always', 'on_create'], + type='str'), ou = dict(default='', type='str'), subpath = dict(default='cn=users', @@ -530,7 +540,7 @@ def main(): password = module.params['password'] if obj['password'] is None: obj['password'] = password - else: + if module.params['update_password'] == 'always': old_password = obj['password'].split('}', 2)[1] if crypt.crypt(password, old_password) != old_password: obj['overridePWHistory'] = module.params['overridePWHistory']