5
Mam plik json w tym samym katalogu, w którym znajduje się mój skrypt ansibli. Poniżej znajduje się zawartość pliku json:jak odczytać plik json za pomocą ansible
{ "resources":[
{"name":"package1", "downloadURL":"path-to-file1" },
{"name":"package2", "downloadURL": "path-to-file2"}
]
}
Próbuję pobrać te pakiety za pomocą get_url. Poniżej znajduje się podejście:
---
- 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
Pierwszym zadaniem jest drukowanie zawartości pliku poprawnie, ale w drugim zadaniu, otrzymuję następujący błąd:
[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.
Działa u mnie w wersji 2.0.0.2. Jakiej używanej wersji ansibli? – graphite
wersja 2.1.0 – Shasha99
Wygląda na to, że jest jakiś problem w pliku json. Dla kilku plików działa, a dla kilku nie. – Shasha99