Я пробовал различные варианты, пытаясь сделать это в одной строке, используя last
, map
, attr
и аналогичные фильтры, но все не удалось.
Использование промежуточной переменной работы, однако (с использованием анзибль 2.0.1.0):
group_vars/all.yml
:
myarr:
- name: test1
- name: test2
- name: test3
play.yml
:
---
- hosts: localhost
vars:
- lastarr: "{{myarr|last}}"
tasks:
- debug:
msg: "var = {{lastarr['name']}}"
$ ansible-playbook -i localhost, play.yml
:
PLAY [localhost] ***************************************************************
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "var = test3"
}
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
Этот не работал для меня на A2.0.1.0 – SztupY
@SztupY, я тестировал 2.0.1.0, и он работает. Получали ли вы сообщения об ошибках? –
, возможно, испортил это где-то в другом месте – SztupY