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

O projekcie

Library module to manipulate JSON files without the use of templates or files

Zainstaluj
ansible-galaxy install pieterlexis.json_file
Licencja
mit
Pobrania
854
Właściciel