That might anger the playbook gods :)
It might be better to just have a "when: foo" and "when: not foo".
Somewhat cleaner. It's not intended that YAML is used for much more than
basic variable substitution inside of playbooks, like {{ x }}. You can
easily push ansible into ugliness when you do not. 1.6.7 will actually
yell at you if you do the above suggestion with variable additions, because
it's designed to detect some variable insertion issues, that can be
security related when using untrusted variables.
To the original question, using exact_count instead would be /still/
cleaner and what I would suggest instead. Just specify how many of each
tag you want running.
On Tue, Jul 22, 2014 at 6:26 AM, Christian Thiemann <[email protected]>
wrote:
> Not super pretty, but something like this should work:
>
> - local_action: ec2 region="{{ region }}" key_name="{{ key }}" {{ 'id="' +
> idempotency_token + '"' if idempotency_token is defined else '' }}
>
> The idea is that all YAML values are run through Jinja and you can use the
> key-value syntax for a task, with a string that contains only the key-value
> pairs you want.
>
>
> On Tuesday, July 22, 2014 2:32:41 AM UTC+2, Steven Ringo wrote:
>>
>> Hi,
>>
>> I am running the ec2 module to provision an instance, with variables
>> defined in a vars file, and the action in a role playbook:
>>
>> - name: instance provisioning
>> local_action:
>> module: ec2
>> region: "{{ region }}"
>> key_name: "{{ key }}"
>> id: "{{ idempotency_token }}"
>> ...truncated...
>>
>> For the ec2 module, id is an optional client token that if defined makes
>> that operation idempotent.
>>
>> If the id parameter is present in the action, it expects there to be a
>> value for it.
>>
>> I would like to have it that if idempotency_token is not defined or
>> declared it does not pass in the id as parameter in the playbook.
>>
>> I tried using null as a default but Amazon sees this as a valid token.
>>
>> Is there a way to combine passing in an attribute conditionally, e.g.
>> something like:
>>
>> - name: instance provisioning
>> local_action:
>> module: ec2
>> region: "{{ region }}"
>> key_name: "{{ key }}"
>> parameter:
>> name: id
>> value: "{{ idempotency_token }}"
>> when: idempotency_token is defined
>>
>> Thanks everyone.
>>
>> Steve
>>
> --
> 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/19f91e9e-768d-4e16-aeff-ee9d279bae1b%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/19f91e9e-768d-4e16-aeff-ee9d279bae1b%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>
--
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/CA%2BnsWgxwr_qOx_gWJV1X8wxi5PaxfbOPXa6YLys%2B99M0FK35Uw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.