How to read json file using accessible

I have a json file in the same directory where my ansible script is. The following is the contents of the json file:

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

I am trying to download these packages using get_url. The following is the approach:

 --- - 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 

The first task is to correctly print the contents of the file, but in the second task I get the following error:

 [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. 
+5
source share
1 answer

After the search, you need to add the from_json jinja2 filter:

 version_file: "{{ lookup('file','/home/shasha/devOps/tests/packageFile.json') | from_json }}" 
+10
source

Source: https://habr.com/ru/post/1243028/


All Articles