2016-04-25 23 views
0

私はできるだけ辞書を使用しようとしています。可用性のある辞書を使用できません

マイtasks/main.yml

- name: Create Repository Folders 
    file: path=/srv/svn/{{ ansible_fqdn }}/{{ item.value.reponame }} state=directory mode=0755 owner=apache group=apache 
    with_dict: 
    - repos 

そして、私のvars/main.yml

--- 
repos: 
    repo1: 
    reponame: repository1 
    repogroup: group1 
    repo2: 
    reponame: repository2 
    repogroup: group2 
    repo3: 
    reponame: repository3 
    repogroup: group3 

しかしansible-脚本を実行しているとき、私はエラーを次取得:

TASK [svn : Create Repository Folders] ***************************************** 
fatal: [sun.beach.lan]: FAILED! => {"failed": true, "msg": "with_dict expects a dict"} 

私がループ」の指示に従っover Hashes ":http://docs.ansible.com/ansible/playbooks_loops.html

私は正しいYAML-構文を持っていないと思うが、私はアイデアが不足している。

答えて

2

あなたは、このようにそれを使用するansible 2.0+を使用している場合だけrepos

with_dict
- name: Create Repository Folders 
    file: path=/srv/svn/{{ ansible_fqdn }}/{{ item.value.reponame }} state=directory mode=0755 owner=apache group=apache 
    with_dict: 
    repos 

-インフロントを削除します。

with_dict: "{{ repos }}" 

これはあなたを助けることを願っています。

+0

ありがとうございます...あなたはなぜこのように2.0+の機能があるのか​​説明できますか? – pwe

+0

裸の変数を使用することは、 –

関連する問題