document messaging
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
parent
ccf0f4311d
commit
7783060993
1 changed files with 72 additions and 0 deletions
72
docs/man/man7/cdist-messaging.text
Normal file
72
docs/man/man7/cdist-messaging.text
Normal file
|
@ -0,0 +1,72 @@
|
|||
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).
|
Loading…
Reference in a new issue