xattr – Manage user defined extended attributes

Synopsis

  • Manages filesystem user defined extended attributes.
  • Requires that extended attributes are enabled on the target filesystem and that the setfattr/getfattr utilities are present.

Parameters

Parameter Choices/Defaults Comments
follow
boolean
    Choices:
  • no
  • yes ←
If yes, dereferences symlinks and sets/gets attributes on symlink target, otherwise acts on symlink itself.
key
string
The name of a specific Extended attribute key to set/retrieve.
namespace
string
added in 2.7
Default:
"user"
Namespace of the named name/key.
path
path / required
The full path of the file/object to get the facts of.
Before 2.3 this option was only usable as name.

aliases: name
state
string
    Choices:
  • absent
  • all
  • keys
  • present
  • read ←
defines which state you want to do. read retrieves the current value for a key (default) present sets name to value, default if value is set all dumps all data keys retrieves all keys absent deletes the key
value
string
The value to set the named name/key to, it automatically sets the state to 'set'.

Notes

Note

  • As of Ansible 2.3, the name option has been changed to path as default, but name still works as well.

Examples

- name: Obtain the extended attributes  of /etc/foo.conf
  xattr:
    path: /etc/foo.conf

- name: Set the key 'user.foo' to value 'bar'
  xattr:
    path: /etc/foo.conf
    key: foo
    value: bar

- name: Set the key 'trusted.glusterfs.volume-id' to value '0x817b94343f164f199e5b573b4ea1f914'
  xattr:
    path: /mnt/bricks/brick1
    namespace: trusted
    key: glusterfs.volume-id
    value: "0x817b94343f164f199e5b573b4ea1f914"

- name: Remove the key 'user.foo'
  xattr:
    path: /etc/foo.conf
    key: foo
    state: absent

- name: Remove the key 'trusted.glusterfs.volume-id'
  xattr:
    path: /mnt/bricks/brick1
    namespace: trusted
    key: glusterfs.volume-id
    state: absent

Status

  • This module is guaranteed to have no backward incompatible interface changes going forward. [stableinterface]
  • This module is maintained by the Ansible Community. [community]

Authors

  • Brian Coca (@bcoca)

Hint

If you notice any issues in this documentation you can edit this document to improve it.