[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
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
- Support singletons (see types/issue for a good reason)
|
||||
- add documentation!
|
||||
|
||||
- think about splitting __file:
|
||||
__file --source
|
||||
__directory --recursive yes|no --source
|
||||
__link --type symbolic|hard
|
||||
__file
|
||||
source
|
||||
mode
|
||||
owner
|
||||
__directory
|
||||
parents
|
||||
mode
|
||||
owner
|
||||
__link
|
||||
type symbolic | hard
|
||||
|
|
|
@ -10,7 +10,9 @@ cdist-type - Functionality bundled
|
|||
|
||||
SYNOPSIS
|
||||
--------
|
||||
Other languages name this module or class
|
||||
__TYPE ID --parameter value [--parameter value ...]
|
||||
|
||||
__TYPE --parameter value [--parameter value ...] (for singletons)
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
|
@ -46,6 +64,7 @@ A type consists of
|
|||
|
||||
- parameter (optional)
|
||||
- manifest (optional)
|
||||
- singleton (optional)
|
||||
- explorer (optional)
|
||||
- gencode (optional)
|
||||
|
||||
|
@ -98,6 +117,20 @@ Always ensure the manifest is executable, otherwise cdist will not be able
|
|||
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
|
||||
------------------
|
||||
If a type needs to explore specific details, it can provide type specific
|
||||
|
|
Loading…
Reference in a new issue