2016-04-27 16 views
0

I IP oder Domain sicherstellen wollen, ist eine bekannte Host ::ansible: with_items in einer Linie mit Lookup

- name: Ensure IP or domain is a known host 
    lineinfile: > 
    dest={{ home }}/.ssh/known_hosts create=yes 
    state=present line="{{ lookup('pipe', 'ssh-keyscan -t ecdsa {{ item }}') }}" 
    with_items: 
    - 88.48.189.102 
    - my.site.com 

aber die {{item}} nicht innerhalb der Linie = gesehen {{...

Ich bekomme:

getaddrinfo {{: Name or service not known 
getaddrinfo item: Name or service not known 
getaddrinfo }}: Name or service not known 

Antwort

1

Sie brauchen nicht die inneren geschweiften Klammern. Sie müssen nur Artikel als String auf diese Weise verketten:

{{ lookup('pipe', 'ssh-keyscan -t ecdsa ' ~ item) }}

oder

{{ lookup('pipe', 'ssh-keyscan -t ecdsa ' + item) }}

aber die jinja docs sagen, dass die erste ist die bevorzugte Methode.

Verwandte Themen