First, superb evolution. This will really improve our playbooks and
simplify further work, I will start experimenting with it.
Second:
1) Will this come with support for multi-conditionals per action?
(Multiple when statements on a single action, interpreted as an overall AND)
Yeah, we can do this. It's not something that it does now, but I think if
when: specified a list, that is what it should do.
2) Will there be an equivalent for (or something similar to) Jinja2's set?
i.e. be able to assign a value to an intermediate variable
This is a bit unrelated to the above, but I don't think you need it.
For instance, assume an example where you register the result of some
command and (super imaginary use case), need the return code multiplied by
10 for another command:
- shell: foo --param1=2
register: foo_result
- shell: bar --param2={{ foo_result.rc * 10 }}
So suppose you didn't want to repeat {{ foo_result.rc * 10 }}, you can just
do:
vars:
rc10: {{ foo_result.rc * 10 }}
And later:
- shell: bar --params2={{ rc10 }}
- shell: bar --again --params2={{ rc10 }}
Or even using it in a template:
{{ rc10 }}
A 'set' keyword isn't an immediate priority, but it would be doable.