Python

The Python module allows you to execute Python code within the context of a deploy.

python.call

Execute a Python function within a deploy.

python.call(func)
  • func: the function to execute

  • args: additional arguments to pass to the function

  • kwargs: additional keyword arguments to pass to the function

Callback functions args passed the state, host, and any args/kwargs passed into the operation directly, eg:

def my_callback(state, host, hello=None):
    command = 'echo hello'
    if hello:
        command = command + ' ' + **hello**
    status, stdout, stderr = host.run_shell_command(state, command=command, sudo=SUDO)
    assert status is True  # ensure the command executed OK
    if 'hello ' not in str(stdout):
        raise Exception('`{}` problem with callback stdout:{} stderr:{}'.format(
            command, stdout, stderr))

python.call(my_callback, hello='world')

python.execute

[DEPRECATED], please use python.call.

python.execute(callback)

python.raise_exception

python.raise_exception(exception_class)