forked from ungleich-public/cdist
		
	[DOC] document singleton behaviour in type manpage
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								783c4b12ca
							
						
					
				
			
			
				commit
				
					
						19c7317cbb
					
				
			
		
					 3 changed files with 46 additions and 9 deletions
				
			
		| 
						 | 
					@ -19,7 +19,7 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Fail if something bogus is going on and export all variables
 | 
					# Fail if something bogus is going on
 | 
				
			||||||
set -u
 | 
					set -u
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,11 @@
 | 
				
			||||||
- Support singletons (see types/issue for a good reason)
 | 
					 | 
				
			||||||
   - add documentation!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- think about splitting __file:
 | 
					- think about splitting __file:
 | 
				
			||||||
   __file --source
 | 
					   __file 
 | 
				
			||||||
   __directory --recursive yes|no --source
 | 
					      source
 | 
				
			||||||
   __link --type symbolic|hard
 | 
					      mode
 | 
				
			||||||
 | 
					      owner
 | 
				
			||||||
 | 
					   __directory
 | 
				
			||||||
 | 
					      parents
 | 
				
			||||||
 | 
					      mode
 | 
				
			||||||
 | 
					      owner
 | 
				
			||||||
 | 
					   __link 
 | 
				
			||||||
 | 
					      type symbolic | hard
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,9 @@ cdist-type - Functionality bundled
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SYNOPSIS
 | 
					SYNOPSIS
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
Other languages name this module or class 
 | 
					__TYPE ID --parameter value [--parameter value ...]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__TYPE --parameter value [--parameter value ...] (for singletons)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DESCRIPTION
 | 
					DESCRIPTION
 | 
				
			||||||
| 
						 | 
					@ -37,7 +39,23 @@ Internally cdist-type-emulator(1) will be called from cdist-manifest-run(1) to
 | 
				
			||||||
save the given parameters into a cconfig database, so they can be accessed by
 | 
					save the given parameters into a cconfig database, so they can be accessed by
 | 
				
			||||||
the manifest and gencode scripts of the type (see below).
 | 
					the manifest and gencode scripts of the type (see below).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A list of supported types can be found in the cdist-type-listing(7) manpage.
 | 
					A list of supported types can be found in the cdist-reference(7) manpage.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SINGLETON TYPES
 | 
				
			||||||
 | 
					---------------
 | 
				
			||||||
 | 
					If a type is flagged as a singleton, it may me used only once. This
 | 
				
			||||||
 | 
					is useful for types which can be used only once on a system. If a type
 | 
				
			||||||
 | 
					can only be used once, it does not take an 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# __issue type manages /etc/issue
 | 
				
			||||||
 | 
					__issue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Probably your own type - singletons may use parameters
 | 
				
			||||||
 | 
					__myfancysingleton --colour green
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HOW TO WRITE A NEW TYPE
 | 
					HOW TO WRITE A NEW TYPE
 | 
				
			||||||
| 
						 | 
					@ -46,6 +64,7 @@ A type consists of
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- parameter (optional)
 | 
					- parameter (optional)
 | 
				
			||||||
- manifest  (optional)
 | 
					- manifest  (optional)
 | 
				
			||||||
 | 
					- singleton (optional)
 | 
				
			||||||
- explorer  (optional)
 | 
					- explorer  (optional)
 | 
				
			||||||
- gencode   (optional)
 | 
					- gencode   (optional)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -98,6 +117,20 @@ Always ensure the manifest is executable, otherwise cdist will not be able
 | 
				
			||||||
to execute it.
 | 
					to execute it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SINGLETON - ONLY INSTANCE ONLY
 | 
				
			||||||
 | 
					------------------------------
 | 
				
			||||||
 | 
					If you want to ensure that a type can only be used once per target, you can
 | 
				
			||||||
 | 
					mark it as a singleton: Just create the (empty) file "singleton" in your type
 | 
				
			||||||
 | 
					directory. This will also change the way your type must be called:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					__YOURTYPE --parameter value
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As you can see, the ID is omitted, because it does not make any sense, if your
 | 
				
			||||||
 | 
					type can be used only once.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
THE TYPE EXPLORERS
 | 
					THE TYPE EXPLORERS
 | 
				
			||||||
------------------
 | 
					------------------
 | 
				
			||||||
If a type needs to explore specific details, it can provide type specific
 | 
					If a type needs to explore specific details, it can provide type specific
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue