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')