Ok, after a little search I've got it; for anyone interested:
- set_fact: address_variable={{ item }}
with_items: groups.server
when: "'server' not in group_names"
Cheers,
Jacek
W dniu piątek, 19 września 2014 14:06:25 UTC+1 użytkownik Jacek napisał:
>
> Thanks James,
>
> That's nice. One thing I'm not sure about is the 'server_address_here'
> which you wrote. Ideally, what I need there is the name/address of the
> first (and the only) host in the inventory group 'server'.
> Is there a way to do this?
>
> Cheers,
> Jacek
>
> W dniu czwartek, 18 września 2014 01:41:55 UTC+1 użytkownik James
> Cammarata napisał:
>>
>> Hi Jacek, this should work for you:
>>
>> - set_fact: address_variable='localhost'
>> when: 'server' in group_names
>> - set_fact: address_variable='server_address_here'
>> when: 'server' not in group_names
>> - template: ...
>>
>> The "group_names" variable is a special variable that contains a list of
>> the groups the current host is in.
>>
>> On Wed, Sep 17, 2014 at 6:42 PM, Jacek <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> Perhaps it's an easy question but I cannot find a way to answer it
>>> myself.
>>>
>>> More in details -- I have two groups in my inventory: clients (many
>>> hosts) and server (single host), and a template at the client which needs
>>> to use the server address. If it happens that a client host is also in the
>>> 'server' group, I wanted to set the address in the template to 'localhost'.
>>> Otherwise, the address should point to the server address as specified in
>>> the inventory. I guess it's quite easy to code it using jinja2 directly in
>>> the template but my template includes many places with such a reference, so
>>> I thought about first setting the server address variable, and then using
>>> this variable to evaluate the template. Is this correct way of thinking?
>>> How can I set a variable in a play before template evaluation? Otherwise,
>>> have you got any other ideas?
>>>
>>> Cheers,
>>> Jacek
>>>
>>> --
>>> 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/b878ce70-0326-42a9-8f5a-25c3b9e3dd71%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/ansible-project/b878ce70-0326-42a9-8f5a-25c3b9e3dd71%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/01419aeb-cae2-45af-a7aa-4ec6e35e8c01%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.