forked from ungleich-public/cdist
73 lines
2 KiB
Text
73 lines
2 KiB
Text
|
cdist-messaging(7)
|
||
|
==================
|
||
|
Nico Schottelius <nico-cdist--@--schottelius.org>
|
||
|
|
||
|
NAME
|
||
|
----
|
||
|
cdist-messaging - How the initial manifest and types can communication
|
||
|
|
||
|
|
||
|
DESCRIPTION
|
||
|
-----------
|
||
|
cdist has a simple but powerful way of allowing communication between
|
||
|
the initial manifest and types as well as types and types.
|
||
|
|
||
|
Whenever execution is passed from cdist to one of the
|
||
|
scripts described below, cdist generate 2 new temporary files
|
||
|
and exports the environment variables __messages_in and
|
||
|
__messages_out to point to them.
|
||
|
|
||
|
Before handing over the control, the content of the global message
|
||
|
file is copied into the file referenced by $__messages_in.
|
||
|
|
||
|
After cdist gained control back, the content of the file referenced
|
||
|
by $__messages_out is appended to the global message file.
|
||
|
|
||
|
This way overwriting any of the two files by accident does not
|
||
|
interfere with other types.
|
||
|
|
||
|
The order of execution is not defined unless you create dependencies
|
||
|
between the different objects (see cdist-manifest(7)) and thus you
|
||
|
can only react reliably on messages by objects that you depend on.
|
||
|
|
||
|
|
||
|
AVAILABILITY
|
||
|
------------
|
||
|
Messaging is possible between all **local** scripts:
|
||
|
|
||
|
- initial manifest
|
||
|
- type/manifest
|
||
|
- type/gencode-local
|
||
|
- type/gencode-remote
|
||
|
|
||
|
|
||
|
EXAMPLES
|
||
|
--------
|
||
|
When you want to emit a message use:
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
echo "something" >> "$__messages_out"
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
When you want to react on a message use:
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
if grep -q "^__your_type/object/id:something" "$__messages_in"; then
|
||
|
echo "I do something else"
|
||
|
fi
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
SEE ALSO
|
||
|
--------
|
||
|
- cdist(1)
|
||
|
- cdist-manifest(7)
|
||
|
- cdist-reference(7)
|
||
|
- cdist-type(7)
|
||
|
|
||
|
|
||
|
COPYING
|
||
|
-------
|
||
|
Copyright \(C) 2013 Nico Schottelius. Free use of this software is
|
||
|
granted under the terms of the GNU General Public License version 3 (GPLv3).
|