# salt.modules.event

Use the Salt Event System to fire events from the master to the minion and vice-versa.

salt.modules.event.fire(data, tag)

  Fire an event on the local minion event bus. Data must be formed as a dict.

  CLI Example:

      salt '*' event.fire '{"data":"my event data"}' 'tag'

salt.modules.event.fire_master(data, tag, preload=None)

  Fire an event off up to the master server

  CLI Example:

      salt '*' event.fire_master '{"data":"my event data"}' 'tag'

salt.modules.event.send(tag, data=None, preload=None, with_env=False, with_grains=False, with_pillar=False, with_env_opts=False, **kwargs)

  Send an event to the Salt Master

  Added in version 2014.7.0.

  Parameters:

    - tag -- A tag to give the event. Use slashes to create a namespace for related events. E.g., `myco/build/buildserver1/start`, `myco/build/buildserver1/success`, `myco/build/buildserver1/failure`.

    - data -- A dictionary of data to send in the event. This is free-form. Send any data points that are needed for whoever is consuming the event. Arguments on the CLI are interpreted as YAML so complex data structures are possible.

    - with_env (Specify `True` to include all environment variables, or specify a list of strings of variable names to include.) -- Include environment variables from the current shell environment in the event data as `environ`.. This is a short-hand for working with systems that seed the environment with relevant data such as Jenkins.

    - with_grains (Specify `True` to include all grains, or specify a list of strings of grain names to include.) -- Include grains from the current minion in the event data as `grains`.

    - with_pillar (Specify `True` to include all Pillar values, or specify a list of strings of Pillar keys to include. It is a best-practice to only specify a relevant subset of Pillar data.) -- Include Pillar values from the current minion in the event data as `pillar`. Remember Pillar data is often sensitive data so be careful. This is useful for passing ephemeral Pillar values through an event. Such as passing the `pillar={}` kwarg in `state.sls` from the Master, through an event on the Minion, then back to the Master.

    - with_env_opts (Specify `True` to include `saltenv` and `pillarenv` values or `False` to omit them.) -- Include `saltenv` and `pillarenv` set on minion at the moment when event is send into event data.

    - kwargs -- Any additional keyword arguments passed to this function will be interpreted as key-value pairs and included in the event data. This provides a convenient alternative to YAML for simple values.

  CLI Example:

      salt-call event.send myco/mytag foo=Foo bar=Bar
      salt-call event.send 'myco/mytag' '{foo: Foo, bar: Bar}'