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…
	
	Add table
		Add a link
		
	
		Reference in a new issue