I am having an issue with the default value not being honored for an
undefined dictionary. For example, if the setup is as follows
*- name: something*
* file:*
* path: /somepath*
* owner: "{{ dir['owner'] | default('root') }}"*
and I have a variable of
*dir:*
* owner: someowner*
when I run this, a file called* /somepath *is created with the owner
*someowner*, as expected. However, if the dictionary dir does not exist, I
get an error of
*"the field 'args' has an invalid value, which appears to include a
variable that is undefined. The error was: 'dir' is undefined*
instead of running with the default as I would have expected. if I flatten
the variable structure to be
*dir_owner: someowner*
and change the task to be
*- name: something*
* file:*
* path: /somepath*
* owner: "{{ dir_owner | default('root') }}"*
this works as expected. The owner of the file is either someowner if
defined or root if not.
--
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/47e00d9e-5792-4144-9d3a-895d19b96cc6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.