2016-08-15 4 views
1

私はいくつかのVARS持っている:不可能:デフォルトなしで変数を設定する方法はありますか?

vars: 
    var1: foo 
    var2: bar 

を私はVAR3をしたいのですが、それは実行時に設定するために私がしたいと思います。

  • vars_promptは、ユーザーの介入が必要なので、私は使用したくありません。
  • このプレイハンドブックを呼び出すと、強制的にそれを呼び出すと、--extra-vars var3=batという名前で呼び出されます。
  • {{ var3 }}をどこかで参照したくないのですが、私はこのプレイブックのアイデアがやや自己文書化しているのが好きです。
  • include_varsファイルのようなものをやってはいけません。
  • 私は、次が許可されていないと信じて:

    vars: 
        var1: foo 
        var2: bar 
        var3 
    

を私は何をしますか?

答えて

2

assertは回避策として十分ですか?
これは、プレイブックの読みやすさをよくします。
あなたの最初のタスクとして追加してください:

- assert: 
    that: 
     - var3 is defined 
     - var3 in ['one', 'two', 'three'] 
+0

これはすばらしい回避策のようです!あなたは他の何かを考えることができますか?彼らが存在すれば私は好奇心が強いです –

+0

いいえ、私は通常このようにします。 –

+0

自己文書化したい場合は、これを行う方法です。それ以外の場合は、あなたの作った帳簿の変数を使って、readmeの指示を出してください。それらが含まれていない場合、Anabilitiesは定義されていないvarに対してエラーをスローします。 – smiller171

関連する問題