# custodian.ansible package

The ansible package provides modules that provides a mongo-like syntax for making modifications to dicts, objects and files. The mongo-like syntax itself is a dict.

The main use of this package is to allow changes to objects or files to be stored in a json file or MongoDB database, i.e., a form of version control or tracked changes (though without undo capability unless the input is stored at each step).

## Subpackages

- custodian.ansible.tests package

        * [custodian.ansible.tests.test_interpreter module](custodian.ansible.tests.test_interpreter.md)

- custodian.ansible.actions module

  - `DictActions`

    - `DictActions.add_to_set()`

    - `DictActions.inc()`

    - `DictActions.pop()`

    - `DictActions.pull()`

    - `DictActions.pull_all()`

    - `DictActions.push()`

    - `DictActions.push_all()`

    - `DictActions.rename()`

    - `DictActions.set()`

    - `DictActions.unset()`

  - `FileActions`

    - `FileActions.file_copy()`

    - `FileActions.file_create()`

    - `FileActions.file_delete()`

    - `FileActions.file_modify()`

    - `FileActions.file_move()`

  - `get_nested_dict()`

- custodian.ansible.interpreter module

  - `Modder`

    - `Modder.modify()`

    - `Modder.modify_object()`