Merge remote-tracking branch 'telmich/master'
This commit is contained in:
		
				commit
				
					
						9f21273f4e
					
				
			
		
					 15 changed files with 227 additions and 87 deletions
				
			
		
							
								
								
									
										38
									
								
								bin/cdist
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								bin/cdist
									
										
									
									
									
								
							| 
						 | 
					@ -20,26 +20,10 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import argparse
 | 
					 | 
				
			||||||
import logging
 | 
					 | 
				
			||||||
import multiprocessing
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
import re
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
log = logging.getLogger("cdist")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Ensure our /lib/ is included into PYTHON_PATH
 | 
					 | 
				
			||||||
sys.path.insert(0, os.path.abspath(
 | 
					 | 
				
			||||||
        os.path.join(os.path.dirname(os.path.realpath(__file__)), '../lib')))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import cdist
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
TYPE_PREFIX = "__"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def commandline():
 | 
					def commandline():
 | 
				
			||||||
    """Parse command line"""
 | 
					    """Parse command line"""
 | 
				
			||||||
 | 
					    import argparse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    import cdist.banner
 | 
					    import cdist.banner
 | 
				
			||||||
    import cdist.config
 | 
					    import cdist.config
 | 
				
			||||||
    import cdist.install
 | 
					    import cdist.install
 | 
				
			||||||
| 
						 | 
					@ -117,6 +101,9 @@ def install(args):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def configinstall(args, mode):
 | 
					def configinstall(args, mode):
 | 
				
			||||||
    """Configure or install remote system"""
 | 
					    """Configure or install remote system"""
 | 
				
			||||||
 | 
					    import multiprocessing
 | 
				
			||||||
 | 
					    import time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        process = {}
 | 
					        process = {}
 | 
				
			||||||
        failed_hosts = []
 | 
					        failed_hosts = []
 | 
				
			||||||
| 
						 | 
					@ -203,9 +190,22 @@ def emulator():
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == "__main__":
 | 
					if __name__ == "__main__":
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
 | 
					        import logging
 | 
				
			||||||
 | 
					        import os
 | 
				
			||||||
 | 
					        import re
 | 
				
			||||||
 | 
					        import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        import cdist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        log = logging.getLogger("cdist")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Ensure our /lib/ is included into PYTHON_PATH
 | 
				
			||||||
 | 
					        sys.path.insert(0, os.path.abspath(
 | 
				
			||||||
 | 
					                os.path.join(os.path.dirname(os.path.realpath(__file__)), '../lib')))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        logging.basicConfig(format='%(levelname)s: %(message)s')
 | 
					        logging.basicConfig(format='%(levelname)s: %(message)s')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if re.match(TYPE_PREFIX, os.path.basename(sys.argv[0])):
 | 
					        if re.match("__", os.path.basename(sys.argv[0])):
 | 
				
			||||||
            emulator()
 | 
					            emulator()
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            commandline()
 | 
					            commandline()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								build
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								build
									
										
									
									
									
								
							| 
						 | 
					@ -144,8 +144,9 @@ case "$1" in
 | 
				
			||||||
      echo ''
 | 
					      echo ''
 | 
				
			||||||
      echo 'Here are the possible targets:'
 | 
					      echo 'Here are the possible targets:'
 | 
				
			||||||
      echo ''
 | 
					      echo ''
 | 
				
			||||||
      echo '	man: Build manpages (requires Asciidoc)'
 | 
					 | 
				
			||||||
      echo '	clean: Remove build stuff'
 | 
					      echo '	clean: Remove build stuff'
 | 
				
			||||||
 | 
					      echo '	man: Build manpages (requires Asciidoc)'
 | 
				
			||||||
 | 
					      echo '	test: Run tests'
 | 
				
			||||||
      echo ''
 | 
					      echo ''
 | 
				
			||||||
      echo ''
 | 
					      echo ''
 | 
				
			||||||
      echo "Unknown target, \"$1\"" >&2
 | 
					      echo "Unknown target, \"$1\"" >&2
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,13 +27,6 @@ else
 | 
				
			||||||
   name="$__object_id"
 | 
					   name="$__object_id"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check for preseeding and add preseed as here document
 | 
					 | 
				
			||||||
if [ -f "$__object/parameter/preseed" ]; then
 | 
					 | 
				
			||||||
   echo "debconf-set-selections << __file-eof"
 | 
					 | 
				
			||||||
   cat "$(cat "$__object/parameter/preseed")"
 | 
					 | 
				
			||||||
   echo "__file-eof"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
state="$(cat "$__object/parameter/state")"
 | 
					state="$(cat "$__object/parameter/state")"
 | 
				
			||||||
is_installed="$(grep "^Status: install ok installed" "$__object/explorer/pkg_status" || true)"
 | 
					is_installed="$(grep "^Status: install ok installed" "$__object/explorer/pkg_status" || true)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,6 @@
 | 
				
			||||||
 | 
					2.0.4:
 | 
				
			||||||
 | 
						* Bugfix core: Remove traceback when sending SIGINT (aka Ctrl-C)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2.0.3: 2011-10-18
 | 
					2.0.3: 2011-10-18
 | 
				
			||||||
	* Improved logging, added --verbose, by more quiet by default
 | 
						* Improved logging, added --verbose, by more quiet by default
 | 
				
			||||||
	* Bugfix __user: Correct quoting (Steven Armstrong)
 | 
						* Bugfix __user: Correct quoting (Steven Armstrong)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,60 +2,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- sanity checks: implement tests
 | 
					- sanity checks: implement tests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   stage_run()
 | 
					 | 
				
			||||||
      - ensure that for every object in
 | 
					 | 
				
			||||||
         cdist.core.Object.list_objects() is passed into
 | 
					 | 
				
			||||||
         self.object_run()
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   object_prepare():
 | 
					 | 
				
			||||||
      - calls (in this order):
 | 
					 | 
				
			||||||
         self.run_type_explorer(cdist_object)
 | 
					 | 
				
			||||||
         self.run_type_manifest(cdist_object)
 | 
					 | 
				
			||||||
         cdist_object.prepared = True
 | 
					 | 
				
			||||||
      - object is prepared after function call
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   stage_prepare():
 | 
					 | 
				
			||||||
      - calls (in this order):
 | 
					 | 
				
			||||||
         self.link_emulator()
 | 
					 | 
				
			||||||
         self.run_global_explorers()
 | 
					 | 
				
			||||||
         self.run_initial_manifest()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - ensure that all objects are created :-)
 | 
					 | 
				
			||||||
         - as defined in inital manifest + type manifests
 | 
					 | 
				
			||||||
         
 | 
					 | 
				
			||||||
   deploy_to()
 | 
					 | 
				
			||||||
      - ensure self.stage_prepare() and self.stage_run() are
 | 
					 | 
				
			||||||
         run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   deploy_and_cleanup()
 | 
					 | 
				
			||||||
      - ensure self.deploy_to() + self.cleanup() are are run
 | 
					 | 
				
			||||||
         run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   transfer_object_parameter()
 | 
					 | 
				
			||||||
      - check that object parameters are transferred
 | 
					 | 
				
			||||||
      - paths are setup correctly
 | 
					 | 
				
			||||||
         - test via mock of remote_mkdir and transfer_path
 | 
					 | 
				
			||||||
      - ensure self.remote_mkdir, self.transfer_path are run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
   
 | 
					 | 
				
			||||||
   transfer_global_explorers()
 | 
					 | 
				
			||||||
      - paths are setup correctly
 | 
					 | 
				
			||||||
         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
					 | 
				
			||||||
      - ensure self.remote_mkdir, self.transfer_path are run. [ORDER]
 | 
					 | 
				
			||||||
         - instantiate + overwrite + test
 | 
					 | 
				
			||||||
   
 | 
					 | 
				
			||||||
   transfer_type_explorers():
 | 
					 | 
				
			||||||
      - Explorers are not transferred twice
 | 
					 | 
				
			||||||
      - paths are setup correctly
 | 
					 | 
				
			||||||
         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
					 | 
				
			||||||
      - Explorers are transferred
 | 
					 | 
				
			||||||
         - test via mock of self.remote_mkdir() and self.transfer_path()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- insert prefix into logger to distinguish between modules
 | 
					- insert prefix into logger to distinguish between modules
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -133,7 +133,6 @@ out/object/<object>/explorers::
 | 
				
			||||||
tmp_dir::
 | 
					tmp_dir::
 | 
				
			||||||
   A tempdir and a tempfile is used by cdist internally,
 | 
					   A tempdir and a tempfile is used by cdist internally,
 | 
				
			||||||
   which will be removed when the scripts end automatically.
 | 
					   which will be removed when the scripts end automatically.
 | 
				
			||||||
   See cdist-config(1).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
TYPES
 | 
					TYPES
 | 
				
			||||||
-----
 | 
					-----
 | 
				
			||||||
| 
						 | 
					@ -166,11 +165,6 @@ changed::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENVIRONMENT VARIABLES
 | 
					ENVIRONMENT VARIABLES
 | 
				
			||||||
---------------------
 | 
					---------------------
 | 
				
			||||||
__debug::
 | 
					 | 
				
			||||||
   If this variable is setup, cdist runs in debug mode.
 | 
					 | 
				
			||||||
   You can use this information, to only output stuff in debug
 | 
					 | 
				
			||||||
   mode as well.
 | 
					 | 
				
			||||||
   Available for: initial manifest, type manifest, gencode, code
 | 
					 | 
				
			||||||
__explorer::
 | 
					__explorer::
 | 
				
			||||||
   Directory that contains all global explorers.
 | 
					   Directory that contains all global explorers.
 | 
				
			||||||
   Available for: explorer
 | 
					   Available for: explorer
 | 
				
			||||||
| 
						 | 
					@ -186,6 +180,7 @@ __object::
 | 
				
			||||||
__object_id::
 | 
					__object_id::
 | 
				
			||||||
   The type unique object id.
 | 
					   The type unique object id.
 | 
				
			||||||
   Available for: type manifest, type explorer, type gencode
 | 
					   Available for: type manifest, type explorer, type gencode
 | 
				
			||||||
 | 
					__self::
 | 
				
			||||||
__object_fq::
 | 
					__object_fq::
 | 
				
			||||||
   The full qualified name of the current object.
 | 
					   The full qualified name of the current object.
 | 
				
			||||||
   Available for: type manifest, type explorer, type gencode
 | 
					   Available for: type manifest, type explorer, type gencode
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,101 @@ Nico Schottelius <nico-cdist--@--schottelius.org>
 | 
				
			||||||
NAME
 | 
					NAME
 | 
				
			||||||
----
 | 
					----
 | 
				
			||||||
cdist-tutorial - a guided introduction into cdist
 | 
					cdist-tutorial - a guided introduction into cdist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					YOUR FIRST CONFIGURATION
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINE STATE IN THE INITAL MANIFEST
 | 
				
			||||||
 | 
					-----------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The initial manifest is used to map
 | 
				
			||||||
 | 
					configurations to a host.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USING SOME BASIC TYPES
 | 
				
			||||||
 | 
					----------------------
 | 
				
			||||||
 | 
					what is a type, how to use it,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CREATING YOUR FIRST OWN TYPE
 | 
				
			||||||
 | 
					----------------------------
 | 
				
			||||||
 | 
					<with object id? or signleton here already>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USE A TYPE TO BUNDLE FUNCTIONALITY
 | 
				
			||||||
 | 
					----------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USING EXPLORERS
 | 
				
			||||||
 | 
					---------------
 | 
				
			||||||
 | 
					global, type explorer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEBUGGING YOUR TYPES
 | 
				
			||||||
 | 
					--------------------
 | 
				
			||||||
 | 
					__debug::
 | 
				
			||||||
 | 
					   If this variable is setup, cdist runs in debug mode.
 | 
				
			||||||
 | 
					   You can use this information, to only output stuff in debug
 | 
				
			||||||
 | 
					   mode as well.
 | 
				
			||||||
 | 
					   Available for: initial manifest, type manifest, gencode, code
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
INTRODUCTION
 | 
					INTRODUCTION
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								other/examples/types/__nico_sudo/README
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								other/examples/types/__nico_sudo/README
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					Configure sudoers file to be included. Different types may do so,
 | 
				
			||||||
 | 
					this one simply uses the "nico" file to store the configuration.
 | 
				
			||||||
							
								
								
									
										13
									
								
								other/examples/types/__nico_sudo/files/sudo-nico
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								other/examples/types/__nico_sudo/files/sudo-nico
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Cdist managed file
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Personal one: nico, shared one: lyni
 | 
				
			||||||
 | 
					User_Alias NICO = nico, lyni
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Defaults timestamp_timeout=5
 | 
				
			||||||
 | 
					Defaults !tty_tickets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Give out permissions
 | 
				
			||||||
 | 
					NICO ALL=(ALL) ALL
 | 
				
			||||||
 | 
					NICO ALL=(ALL) NOPASSWD: /usr/sbin/pm-suspend
 | 
				
			||||||
							
								
								
									
										30
									
								
								other/examples/types/__nico_sudo/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								other/examples/types/__nico_sudo/manifest
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,30 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 2011 Nico Schottelius (nico-cdist at schottelius.org)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is part of cdist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					destination=/etc/sudoers.d/nico
 | 
				
			||||||
 | 
					source="$__type/files/sudo-nico"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__package sudo --state installed
 | 
				
			||||||
 | 
					__directory /etc/sudoers.d --parents yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require="__directory/etc/sudoers.d" \
 | 
				
			||||||
 | 
					   __file "$destination" --source "$source" --mode 0440
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										31
									
								
								other/examples/types/__nico_sudo/parameter/gencode
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								other/examples/types/__nico_sudo/parameter/gencode
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 2011 Nico Schottelius (nico-cdist at schottelius.org)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is part of cdist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# USEFUL DESCRIPTION
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file should generate code on stdout, which will be collected by cdist
 | 
				
			||||||
 | 
					# and run on the target.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# To tell cdist to make use of it, you need to make it executable (chmod +x)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										31
									
								
								other/examples/types/__nico_sudo/parameter/manifest
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								other/examples/types/__nico_sudo/parameter/manifest
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 2011 Nico Schottelius (nico-cdist at schottelius.org)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is part of cdist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# USEFUL DESCRIPTION
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This is the manifest, which can be used to create other objects like this:
 | 
				
			||||||
 | 
					# __file /path/to/destination --source /from/where/
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# To tell cdist to make use of it, you need to make it executable (chmod +x)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										0
									
								
								other/examples/types/__nico_sudo/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								other/examples/types/__nico_sudo/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								other/examples/types/__nico_sudo/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								other/examples/types/__nico_sudo/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								other/examples/types/__nico_sudo/singleton
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								other/examples/types/__nico_sudo/singleton
									
										
									
									
									
										Normal file
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue