My ansible code looks like this,
¦ - name: Copying Archived File ¦ ¦ unarchive: ¦ ¦ ¦ src: "/home/user/{{ item }}" ¦ ¦ ¦ dest: "/home/user/someLocation" ¦ ¦ ¦ list_files: yes ¦ ¦ register: archive_contents ¦ ¦ loop: "{{ files_to_unarchive }}" ¦ - name: Print Directory Name ¦ ¦ debug: ¦ ¦ ¦ msg: "{{ archive_contents }}" The output I am getting is,
ok: [serverName] => { "msg": { "changed": false, "msg": "All items completed", "results": [ { "ansible_loop_var": "item", "changed": false, "dest": "/home/user/someLocation", "failed": false, "files": [ "6880880/", "6880880/README.txt", "6880880/opatch_generic.jar", "6880880/version.txt" ], "gid": 110, "group": "oracle", "handler": "ZipArchive", "invocation": { "module_args": { "attributes": null, "backup": null, "content": null, "creates": null, "delimiter": null, "dest": "/home/user/someLocation", "directory_mode": null, "exclude": [], "extra_opts": [], "follow": false, "force": null, "group": null, "keep_newer": false, "list_files": true, "mode": null, "owner": null, "regexp": null, "remote_src": false, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/var/tmp/ansible-tmp-1660003769.3-20299-226224112946024/source", "unsafe_writes": false, "validate_certs": true } }, "item": "XYZ.zip", "mode": "0755", "owner": "user", "size": 21, "src": "/var/tmp/ansible-tmp-1660003769.3-20299-226224112946024/source", "state": "directory", "uid": 110 } ] } } I need to use the first value (directory name) from files:6880880 in another task. I tried msg: "{{ archive_contents['results'] }}" and "{{ archive_contents['results']['files'][0] }}" but getting error. I am fairly new to ansible. I think I am missing something.
Error when using archive_contents['results']['files'][0] ==> fatal: [serverName]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'files'\n\nThe error appears to be in '/home/user/ansibleScript.yml': line 46, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: Print Directory Name\n ^ here\n"}
Can you please suggest how can I get the desired value?