---
- hosts: all
vars_files:
- /etc/ansible/xx/xyz/vars/main.yml
tasks:
- name: test
unarchive:
src: "{{ item.src_tar }}"
dest: “{{ item.dest_tar }}”
with_items: "{{ TAR }}"
vars_files:
TAR:
- { src_tar: '/home/virtual/xx/sample.tar.gz', dest_tar: '/tmp/sss/' }
Error:
"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'dest_tar'\n\nThe error appears to have been in '/etc/ansible/xx/xyz/tasks/main.yml': line 23, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n with_items: \"{{ TAR }}\"\n - name: test\n ^ here\n"}
# cat roles/xyz/tasks/main.yml
---
# tasks file for xyz
- name: Extract /tmp/xx/sample.tar.gz into /tmp/sss
unarchive:
src: "{{ item.src_path }}"
dest: "{{ item.dest_path }}"
with_items: "{{ TAR }}"
#See the vars/main.yml
# cat roles/xyz/vars/main.yml
---
# vars file for xyz
TAR:
- { "src_path": "/tmp/xx/sample.tar.gz", "dest_path": "/tmp/sss/" }
# See the Ansible playbook
# cat /etc/asnible/site.yml
---
- hosts: all
roles:
- xyz
# ansible-playbook site.yml
TASK [xyz : Extract /tmp/xx/sample.tar.gz into /tmp/sss] *******************************************
ok: [localhost] => (item={u'src_path': u'/tmp/xx/sample.tar.gz', u'dest_path': u'/tmp/sss/'})
PLAY RECAP *****************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
# ls /tmp/xx/sample.tar.gz
/tmp/xx/sample.tar.gz
# ls /tmp/sss/
sample
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/95a45bc1-676f-496b-8e03-709c10a845eb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscribe@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.