pieterlexis.json_file

Ansibleライブラリ: json_file

jsonファイルを変更するためのライブラリモジュールです。

Build Status

要件

なし

依存関係

なし

使用例

- hosts: all
  tasks:
    - name: 'foo'の値を'bar'に変更
      json_file:
        dest: /etc/file.conf
        key: 'foo'
        value: 'bar'

このライブラリは、キーにドット('.')を使うことでJSONのネストをサポートしています。 以下のファイルを考えてみてください。

{ "foo": {
    "bar": "buzz"
  }
}

"bar"の値を"whatever"に変更するには、次のようにします:

- hosts: all
  tasks:
    - name: 'bar'の値を'whatever'に変更
      json_file:
        dest: /etc/file.conf
        key: 'foo.bar'
        value: 'whatever'

キー名にドットが含まれている場合はエスケープする必要があります:

{ "foo.bar": "buzz" }

このように変更できます:

- hosts: all
  tasks:
    - name: 'foo.bar'の値を'whatever'に変更
      json_file:
        dest: /etc/file.conf
        key: 'foo\.bar'
        value: 'whatever'

値をnullに設定するのは、Ansibleのバグのため、少し難しくなります。 valueNoneに設定してこれを実現します:

- hosts: all
  tasks:
    - name: 'foo'をnullに設定
      json_file:
        dest: /etc/file.conf
        key: 'foo'
        value: None

時には、数字を文字列としてJSONファイルに保存する必要があります。 as_string引数を'yes'に設定することでこれを保証します:

- hosts: all
  tasks:
    - name: 'foo'を"25"に設定
      json_file:
        dest: /etc/file.conf
        key: 'foo'
        value: 25
        as_string: yes

このモジュールは、Ansible fileモジュールがサポートするすべての引数(例えば'owner'、'group'、'mode'など)をサポートしています。

謝辞

このライブラリはini_fileコアモジュールと@FauxFauxのghetto_jsonライブラリから大きな影響を受けています。

制限

json_fileは辞書(つまり、トップレベルが'{'のファイル)のみで動作します。

リストはサポートされておらず、テストもされていません。

ライセンス

MIT

著者情報

Pieter Lexis (@lieter_)

プロジェクトについて

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

インストール
ansible-galaxy install pieterlexis.json_file
ライセンス
mit
ダウンロード
854
所有者