forked from ungleich-public/cdist
48 lines
1.9 KiB
ReStructuredText
48 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')
|