Return Values of Ansible Commands


I am trying to find the return values of Ansible commands so I can better program in Ansible Playbooks. Using stat as an example. I don't see any any of the return values listed in the documentation.

I am however able to find them by doing adhoc commands. Is there a better way? Perhaps they are not documented because it is OS specific in each instance.

For example:

ansible  -m stat -a "path=/appserver" | success >> {
"changed": false,
"stat": {
    "atime": 1424197918.2113113,
    "ctime": 1423779491.431509,
    "dev": 64768,
    "exists": true,
    "gid": 1000,
    "inode": 9742,
    "isblk": false,
    "ischr": false,
    "isdir": true,
    "isfifo": false,
    "isgid": false,
    "islnk": false,
    "isreg": false,
    "issock": false,
    "isuid": false,
    "mode": "0755",
    "mtime": 1423585087.2470782,
    "nlink": 4,
    "pw_name": "cloud",
    "rgrp": true,
    "roth": true,
    "rusr": true,
    "size": 4096,
    "uid": 1000,
    "wgrp": false,
    "woth": false,
    "wusr": true,
    "xgrp": true,
    "xoth": true,
    "xusr": true

Best Solution

Your best bet is to do exactly what you did, or to write a playbook that dumps the contents of what the module returns:

- stat: path=/path/to/file
  register: st

- debug: var=st

Part of the reason the stat command doesn't document everything it returns is because as the documentation for the module states:

Retrieves facts for a file similar to the linux/unix ‘stat’ command.

So you can find out what all those properties mean if you invoke man 2 stat in a linux shell.

Related Question