2016-02-15 12 views
5

私の不可能なスクリプトと同じディレクトリにjsonファイルがあります。次に、jsonファイルの内容を示します。潜在的なjsonファイルの読み方

{ "resources":[ 
      {"name":"package1", "downloadURL":"path-to-file1" }, 
      {"name":"package2", "downloadURL": "path-to-file2"} 
    ] 
} 

get_urlを使用してこれらのパッケージをダウンロードしようとしています。続いてのアプローチです:

--- 
- hosts: localhost 
    vars: 
    package_dir: "/var/opt/" 
    version_file: "{{lookup('file','/home/shasha/devOps/tests/packageFile.json')}}" 

    tasks: 
    - name: Printing the file. 
     debug: msg="{{version_file}}" 

    - name: Downloading the packages. 
     get_url: url="{{item.downloadURL}}" dest="{{package_dir}}" mode=0777 
     with_items: version_file.resources 

最初のタスクが正常にファイルの内容を印刷しているが、2番目のタスクで、私は次のエラーを取得しています:

[DEPRECATION WARNING]: Skipping task due to undefined attribute, in the future this 
will be a fatal error.. This feature will be removed in a future release. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. 
+0

2.0.0.2では私のために働いています。どのようなバージョンが使えますか? – graphite

+0

バージョン2.1.0 – Shasha99

+0

jsonファイルに問題があるようです。いくつかのファイルでは動作していますが、いくつかのファイルでは動作しません。 – Shasha99

答えて

10

あなたはfrom_json Jinja2のを追加する必要があります検索後のフィルタ:

version_file: "{{ lookup('file','/home/shasha/devOps/tests/packageFile.json') | from_json }}" 
関連する問題