salt.beacons.inotify

Watch files and translate the changes into salt events

depends:
  • pyinotify Python module >= 0.9.5
Caution:

Using generic mask options like open, access, ignored, and closed_nowrite with reactors can easily cause the reactor to loop on itself. To mitigate this behavior, consider setting the disable_during_state_run flag to True in the beacon configuration.

note:

The inotify beacon only works on OSes that have inotify kernel support. Currently this excludes FreeBSD, Mac OS X, and Windows.

salt.beacons.inotify.beacon(config)

Watch the configured files

Example Config

beacons:
  inotify:
    /path/to/file/or/dir:
      mask:
        - open
        - create
        - close_write
      recurse: True
      auto_add: True
      exclude:
        - /path/to/file/or/dir/exclude1
        - /path/to/file/or/dir/exclude2

The mask list can contain the following events (the default mask is create, delete, and modify):

  • access - File accessed
  • attrib - File metadata changed
  • close_nowrite - Unwritable file closed
  • close_write - Writable file closed
  • create - File created in watched directory
  • delete - File deleted from watched directory
  • delete_self - Watched file or directory deleted
  • modify - File modified
  • moved_from - File moved out of watched directory
  • moved_to - File moved into watched directory
  • move_self - Watched file moved
  • open - File opened

The mask can also contain the following options:

  • dont_follow - Don't dereference symbolic links
  • excl_unlink - Omit events for children after they have been unlinked
  • oneshot - Remove watch after one event
  • onlydir - Operate only if name is directory
recurse:
Recursively watch files in the directory
auto_add:
Automatically start watching files that are created in the watched directory
exclude:
Exclude directories or files from triggering events in the watched directory
salt.beacons.inotify.close(config)
salt.beacons.inotify.validate(config)

Validate the beacon configuration