47 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
								 | 
							
								cdist integration / using cdist as library
							 | 
						||
| 
								 | 
							
								==========================================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Description
							 | 
						||
| 
								 | 
							
								-----------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cdist can be integrate with other applications by importing cdist and other
							 | 
						||
| 
								 | 
							
								cdist modules and setting all by hand. There are also helper functions which
							 | 
						||
| 
								 | 
							
								aim to ease this integration. Just import **cdist.integration** and use its
							 | 
						||
| 
								 | 
							
								functions:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* :strong:`cdist.integration.configure_hosts_simple` for configuration
							 | 
						||
| 
								 | 
							
								* :strong:`cdist.integration.install_hosts_simple` for installation.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Functions require `host` and `manifest` parameters.
							 | 
						||
| 
								 | 
							
								`host` can be specified as a string representing host or as iterable
							 | 
						||
| 
								 | 
							
								of hosts. `manifest` is a path to initial manifest. For other cdist
							 | 
						||
| 
								 | 
							
								options default values will be used. `verbose` is a desired verbosity
							 | 
						||
| 
								 | 
							
								level which defaults to VERBOSE_INFO. `cdist_path` parameter specifies
							 | 
						||
| 
								 | 
							
								path to cdist executable, if it is `None` then functions will try to
							 | 
						||
| 
								 | 
							
								find it first from local lib directory and then in PATH.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In case of cdist error :strong:`cdist.Error` exception is raised.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:strong:`WARNING`: cdist integration helper functions are not yet stable!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Examples
							 | 
						||
| 
								 | 
							
								--------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.. code-block:: sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # configure host from python interactive shell
							 | 
						||
| 
								 | 
							
								    >>> import cdist.integration
							 | 
						||
| 
								 | 
							
								    >>> cdist.integration.configure_hosts_simple('185.203.114.185',
							 | 
						||
| 
								 | 
							
								    ...                                          '~/.cdist/manifest/init')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # configure host from python interactive shell, specifying verbosity level
							 | 
						||
| 
								 | 
							
								    >>> import cdist.integration
							 | 
						||
| 
								 | 
							
								    >>> cdist.integration.configure_hosts_simple(
							 | 
						||
| 
								 | 
							
								    ...     '185.203.114.185', '~/.cdist/manifest/init',
							 | 
						||
| 
								 | 
							
								    ...     verbose=cdist.argparse.VERBOSE_TRACE)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # configure specified dns hosts from python interactive shell
							 | 
						||
| 
								 | 
							
								    >>> import cdist.integration
							 | 
						||
| 
								 | 
							
								    >>> hosts = ('dns1.ungleich.ch', 'dns2.ungleich.ch', 'dns3.ungleich.ch', )
							 | 
						||
| 
								 | 
							
								    >>> cdist.integration.configure_hosts_simple(hosts,
							 | 
						||
| 
								 | 
							
								    ...                                          '~/.cdist/manifest/init')
							 |