forked from ungleich-public/cdist
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