Python Operations¶
The Python module allows you to execute Python code within the context of a deploy.
python.call
¶
Stateless operation
This operation will always execute commands and is not idempotent.
Execute a Python function within a deploy.
python.call(function: Callable, **kwargs)
function**: the function to execute args**: arguments to pass to the function kwargs**: keyword arguments to pass to the function
ample:**
ode:: python
- def my_callback(hello=None):
command = ‘echo hello’ if hello:
command = command + ‘ ‘ + hello
status, stdout, stderr = host.run_shell_command(command=command, sudo=SUDO) assert status is True # ensure the command executed OK
- if ‘hello ‘ not in ‘n’.join(stdout): # stdout/stderr is a list of lines
- raise Exception(
f’{command} problem with callback stdout:{stdout} stderr:{stderr}’,
)
- python.call(
name=”Run my_callback function”, function=my_callback, hello=”world”,
) Note:
This operation also inherits all global arguments.
python.raise_exception
¶
Stateless operation
This operation will always execute commands and is not idempotent.
Raise a Python exception within a deploy.
python.raise_exception(exception: Exception, **kwargs)
exception**: the exception class to raise args**: arguments passed to the exception creation kwargs**: keyword arguments passed to the exception creation
ample**:
ode:: python
- python.raise_exception(
name=”Raise NotImplementedError exception”, exception=NotImplementedError, message=”This is not implemented”,
) Note:
This operation also inherits all global arguments.