2017-05-30 9 views
0

の条件が、私はこのAnsible

dry_run: "{{ lookup('env','DRY_RUN') | default(yes,true) }}" 

を持っているときにエラーを取得し、私は

when: dry_run 

のような使用しています。このエラーに

を取得

致命的な:[ローカルホスト]:失敗しました! 条件(dry_run)を評価中: 'yes'は定義されていません。\ n \ nエラー は次のように表示されます:エラー:

されて私もエラーが

when: dry_run | bool

をしてみました:エラー条件(もしdry_run |ブール値)評価中:{{ ルックアップ( 'ENV'、 'もしdry_run' を)|デフォルト(yes、true)}}: 'yes'はです3210未定義\ n個の\ nエラーが

+0

「dry_run」とは何ですか?事実か変数か? – techraf

+0

@techrafその変数 – user3214546

答えて

1

利用default(true)の代わりに、default(yes)(それはそうyestrueと同義ではない、YAML Jinja2のテンプレートである、ではない)であったとし、その事実をあなたは「ドン何セット表示されますテンプレートを条件付きで使用する:

- set_fact: 
    dry_run: "{{ lookup('env','DRY_RUN') | default(true, true) }}" 

- debug: 
    when: dry_run 
+0

なぜ私は事実として設定する必要があるのですか?なぜ変数を使用しないのですか? – user3214546

+0

私はそれを答えに書いた。あなたの変数にはテンプレートが含まれているため、Ansibleは不平を言うでしょう。 – techraf

+0

しかし、私はそれを使用する15の変数があります。私はそれらを全部使いました – user3214546