2016-10-21 4 views
1

ich einige Variablen in meinem Textbuch haben wie folgt:ansible verschachtelte Variablen in der Befehlszeile

--- first_var: param1: value1 param2: value2

Und ich möchte diese Parameter von der Kommandozeile aufrufen wie folgt:

ansible-playbook -i inventory site.yml -e 'first_var.param1=newvalue1'

Aber funktioniert nicht, vermisse ich etwas?

Antwort

1

Sie können dies nur tun, wenn Sie hash-behaviour zu merge ändern (dies Bremse Ihre Playbooks potentialy).
Damit dies funktioniert, müssen Sie zusätzliche Variablen als JSON-Objekt übergeben. Dies funktioniert nicht für -e var=value.

Beispiel Befehlszeile:

ANSIBLE_HASH_BEHAVIOUR=merge ansible-playbook -i inventory -e "{'first_var':{'param1':'newvalue1'}}" site.yml 
+0

Das ist es, danken Ihnen sehr viel (^_^) –

Verwandte Themen