Merge branch 'devel' of git://github.com/trendels/ansible into testing
This commit is contained in:
commit
d177b89b4c
1 changed files with 27 additions and 18 deletions
13
user
13
user
|
@ -48,7 +48,9 @@ options:
|
||||||
groups:
|
groups:
|
||||||
required: false
|
required: false
|
||||||
description:
|
description:
|
||||||
- Puts the user in this comma-delimited list of groups.
|
- Puts the user in this comma-delimited list of groups. When set to
|
||||||
|
the empty string ('groups='), the user is removed from all groups
|
||||||
|
except the primary group.
|
||||||
append:
|
append:
|
||||||
required: false
|
required: false
|
||||||
description:
|
description:
|
||||||
|
@ -249,6 +251,7 @@ class User(object):
|
||||||
cmd.append(self.group)
|
cmd.append(self.group)
|
||||||
|
|
||||||
if self.groups is not None:
|
if self.groups is not None:
|
||||||
|
if self.groups != '':
|
||||||
for g in self.groups.split(','):
|
for g in self.groups.split(','):
|
||||||
if not self.group_exists(g):
|
if not self.group_exists(g):
|
||||||
self.module.fail_json(msg="Group %s does not exist" % (g))
|
self.module.fail_json(msg="Group %s does not exist" % (g))
|
||||||
|
@ -301,13 +304,19 @@ class User(object):
|
||||||
|
|
||||||
if self.groups is not None:
|
if self.groups is not None:
|
||||||
current_groups = self.user_group_membership()
|
current_groups = self.user_group_membership()
|
||||||
|
groups_need_mod = False
|
||||||
|
groups = []
|
||||||
|
|
||||||
|
if self.groups == '':
|
||||||
|
if current_groups and not self.append:
|
||||||
|
groups_need_mod = True
|
||||||
|
else:
|
||||||
groups = self.groups.split(',')
|
groups = self.groups.split(',')
|
||||||
for g in groups:
|
for g in groups:
|
||||||
if not self.group_exists(g):
|
if not self.group_exists(g):
|
||||||
self.module.fail_json(msg="Group %s does not exist" % (g))
|
self.module.fail_json(msg="Group %s does not exist" % (g))
|
||||||
|
|
||||||
group_diff = set(sorted(current_groups)).symmetric_difference(set(sorted(groups)))
|
group_diff = set(sorted(current_groups)).symmetric_difference(set(sorted(groups)))
|
||||||
groups_need_mod = False
|
|
||||||
|
|
||||||
if group_diff:
|
if group_diff:
|
||||||
if self.append:
|
if self.append:
|
||||||
|
|
Loading…
Reference in a new issue