1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

xattr - invoke run_command passing list (#3806)

* xattr - invoke run_command passing list

* added changelog fragment

* Update plugins/modules/files/xattr.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Alexei Znamensky 2021-11-30 20:33:11 +13:00 committed by GitHub
parent 2896131ca7
commit 2edbabd30f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 14 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- xattr - calling ``run_command`` with arguments as ``list`` instead of ``str`` (https://github.com/ansible-collections/community.general/pull/3806).

View file

@ -34,13 +34,13 @@ options:
type: str type: str
value: value:
description: description:
- The value to set the named name/key to, it automatically sets the C(state) to 'set'. - The value to set the named name/key to, it automatically sets the I(state) to C(present).
type: str type: str
state: state:
description: description:
- defines which state you want to do. - defines which state you want to do.
C(read) retrieves the current value for a C(key) (default) C(read) retrieves the current value for a I(key) (default)
C(present) sets C(name) to C(value), default if value is set C(present) sets I(path) to C(value), default if value is set
C(all) dumps all data C(all) dumps all data
C(keys) retrieves all keys C(keys) retrieves all keys
C(absent) deletes the key C(absent) deletes the key
@ -49,10 +49,10 @@ options:
default: read default: read
follow: follow:
description: description:
- If C(yes), dereferences symlinks and sets/gets attributes on symlink target, - If C(true), dereferences symlinks and sets/gets attributes on symlink target,
otherwise acts on symlink itself. otherwise acts on symlink itself.
type: bool type: bool
default: yes default: true
notes: notes:
- As of Ansible 2.3, the I(name) option has been changed to I(path) as default, but I(name) still works as well. - As of Ansible 2.3, the I(name) option has been changed to I(path) as default, but I(name) still works as well.
author: author:
@ -116,7 +116,8 @@ def get_xattr(module, path, key, follow):
if key is None: if key is None:
cmd.append('-d') cmd.append('-d')
else: else:
cmd.append('-n %s' % key) cmd.append('-n')
cmd.append(key)
cmd.append(path) cmd.append(path)
return _run_xattr(module, cmd, False) return _run_xattr(module, cmd, False)
@ -127,8 +128,10 @@ def set_xattr(module, path, key, value, follow):
cmd = [module.get_bin_path('setfattr', True)] cmd = [module.get_bin_path('setfattr', True)]
if not follow: if not follow:
cmd.append('-h') cmd.append('-h')
cmd.append('-n %s' % key) cmd.append('-n')
cmd.append('-v %s' % value) cmd.append(key)
cmd.append('-v')
cmd.append(value)
cmd.append(path) cmd.append(path)
return _run_xattr(module, cmd) return _run_xattr(module, cmd)
@ -139,7 +142,8 @@ def rm_xattr(module, path, key, follow):
cmd = [module.get_bin_path('setfattr', True)] cmd = [module.get_bin_path('setfattr', True)]
if not follow: if not follow:
cmd.append('-h') cmd.append('-h')
cmd.append('-x %s' % key) cmd.append('-x')
cmd.append(key)
cmd.append(path) cmd.append(path)
return _run_xattr(module, cmd, False) return _run_xattr(module, cmd, False)
@ -148,7 +152,7 @@ def rm_xattr(module, path, key, follow):
def _run_xattr(module, cmd, check_rc=True): def _run_xattr(module, cmd, check_rc=True):
try: try:
(rc, out, err) = module.run_command(' '.join(cmd), check_rc=check_rc) (rc, out, err) = module.run_command(cmd, check_rc=check_rc)
except Exception as e: except Exception as e:
module.fail_json(msg="%s!" % to_native(e)) module.fail_json(msg="%s!" % to_native(e))