2017-01-13 5 views
4

私はキーからdict値を取得する必要があります私の問題です。しかし、キーはまたvarです。 たとえば、私には責任ある役割がありました。 タスク/ main.yml:私の仕事でとても可変キーからdict値を得る可能性があります

--- 
location: "USA" 
source:  { 
      "China": "/net/server1/patha", 
      "USA": "/net/server2/pathb", 
      "Japan": "/net/server3/pathc" 
      } 

VARS/main.yml

は、私は以下のようにVARSを定義しました。 varsを使って "/ net/server2/pathb"を得るにはどうすればいいですか?私は以下のタスクで試してみましたが、すべて動作しませんでした。

-shell: "perl run.perl {{ source.location }}/script.pl"

-shell: "perl run.perl {{ source.{{ location }} }}/script.pl"

これは簡単な質問かもしれません。しかし、私は長い間多くの投稿を検索しましたが、それでも正解を得ることはできません。だから助けてくれてありがとう。

答えて

9

答えは{{ source[location] }}です。

+0

これは本当に簡単です。ご協力いただきありがとうございます! – PageNotFound

+1

これは 'vars/main.yml'を取得する一般的な方法です。' -name:echo_vars \ コマンド:echo "{{vars [item]}}" \ with_items: "{デバッグ:var = output_echo_vars.stdout' – mikequentel

+0

「vars」を介して変数にアクセスするのは難しいビジネスです。この場合、テンプレートエンジンでは処理されません。 –

関連する問題