pieterlexis.json_file
Biblioteka Ansible: json_file
Moduł biblioteki, który pozwala na modyfikowanie plików JSON.
Wymagania
Brak
Zależności
Brak
Przykłady użycia
- hosts: all
tasks:
- name: Zmień wartość 'foo' na 'bar'
json_file:
dest: /etc/file.conf
key: 'foo'
value: 'bar'
Ta biblioteka obsługuje zagnieżdżanie w JSON-ie, używając kropki ('.') jako separatora w kluczu. Rozważ następujący plik:
{ "foo": {
"bar": "buzz"
}
}
Aby zmienić wartość "bar" na "whatever", należy to zrobić w ten sposób:
- hosts: all
tasks:
- name: Zmień wartość 'bar' na 'whatever'
json_file:
dest: /etc/file.conf
key: 'foo.bar'
value: 'whatever'
Kropki w nazwach kluczy muszą być poprzedzone znakiem ucieczki:
{ "foo.bar": "buzz" }
Można to zmodyfikować w ten sposób:
- hosts: all
tasks:
- name: Zmień wartość 'foo.bar' na 'whatever'
json_file:
dest: /etc/file.conf
key: 'foo\.bar'
value: 'whatever'
Ustawienie wartości na null
jest trochę trudniejsze niż by się można było spodziewać z powodu błędu w Ansible.
Aby to osiągnąć, ustaw value
na None
:
- hosts: all
tasks:
- name: Ustaw 'foo' na null
json_file:
dest: /etc/file.conf
key: 'foo'
value: None
Czasami liczba musi być zapisana jako ciąg w wynikowym pliku JSON.
Ustawienie argumentu as_string
na 'yes' zapewni to:
- hosts: all
tasks:
- name: Ustaw 'foo' na "25"
json_file:
dest: /etc/file.conf
key: 'foo'
value: 25
as_string: yes
Ten moduł wspiera wszystkie argumenty obsługiwane przez moduł Ansible file (takie jak 'owner', 'group', 'mode' itd.).
Podziękowania
Ta biblioteka czerpie dużo z modułu bazowego ini_file oraz biblioteki @FauxFaux ghetto_json.
Ograniczenia
json_file
działa tylko na plikach, które są słownikami (tj. mają na górze '{').
Listy nie są wspierane/testowane.
Licencja
MIT
Informacje o autorze
Pieter Lexis (@lieter_)
ansible-galaxy install pieterlexis.json_file