I think this would be even better:

- set_fact: address_variable={{ groups.server[0] }}
  when: "'server' not in group_names"

Looks nicer both in code and in output ;-)

Jacek <[email protected]> napisał:
>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.

-- 
Wysłane za pomocą K-9 Mail.

-- 
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/067a3a93-2e2b-481b-bfc7-a1d9637dc1eb%40email.android.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to