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