forked from ungleich-public/cdist
		
	
		
			
	
	
		
			72 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			72 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). |