The following tricks are available:

---
- hosts: all

  vars:
    x: 1
    y: 2
    alpha: x > 2
    beta:  y > 3

  tasks:

    - shell: echo hi 1
      when: alpha

    - shell: echo hi 2
      when:
        - alpha
        - beta

Note that 'when: "alpha and beta"' is ambigious to the system, and won't do
what you want, because it has a hard time understanding whether a variable
is a variable expression or a string or not.




On Tue, Mar 4, 2014 at 7:11 AM, Arie Skliarouk <[email protected]> wrote:

> Hi,
>
> I am migrating ansible from 0.9 to 1.5 and complex when condition don't
> work anymore:
>
>   vars:
>     not_main: "'$c_main' == 'no'"
>     is_main: "'$c_main' == 'yes'"
>     not_lxc: "'$lxc' != 'yes'"
>
>   tasks:
>   # This does not work properly, it is always being applied
>   - name: test0.conf
>     action: template src=/tmp/test.conf.j2 dest=/tmp/test0.conf owner=ops
> group=ops mode=0444
>     when: not_main and not_lxc
>  # This works but prints warnings about using ${foo} or $foo. This is what
> I used in the past with ansible 0.9 (with only_if).
>   - name: test1.conf
>     action: template src=/opt/opsfs/tmp/test.conf.j2 dest=/tmp/test1.conf
> owner=ops group=ops mode=0444
>     when: $not_main and $not_lxc
> # This works but is longer to type and not as readable as the first example
>   - name: test2.conf
>     action: template src=/opt/opsfs/tmp/test.conf.j2 dest=/tmp/test2.conf
> owner=ops group=ops mode=0444
>     when: c_main == 'no' and lxc != 'yes'
>
> What is the correct way to use complex when conditions?
>
> --
> Arie
>
> --
> 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/8d870518-5473-4e44-826c-f6674d1fc306%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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/CAEVJ8QNuULasbam5%2B43-Af9Z1MJre4_gwSbLRFwztaGE%3DkULeg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to