waft.waft module

class waft.waft.Waft(configuration_file: str | Path | None = None, system_name: str | None = None)

Bases: object

Waft serves as the framework entry point and is where the local configuration file gets loaded into memory.

Note: You must set a system name from the local config file in order to interact with a remote system.

Example Usage:

  • Waft instance to interact with default system (“local” or value of WAFT_SYSTEM environment variable):

waft = Waft()

or

  • Waft instance to interact with alternate system configuration:

waft = Waft(system_name='test_system_windows')

Then, you can use the node or warp_actions properties

waft.node.install_python('3.10')

or

waft.warp_actions.install.install()
property active_system_name: str

Returns the active system name.

Raises:

ValueError – If the active system name is not set.

property dashboard_actions: DashboardActions

Returns a DashboardActions class instance for Cloudflare dashboard interactions.

property node: BaseNode

Returns a node class instance for the active system.

property restricted_user: Waft

Return a Waft class instance representing the framework API, executed from a non-privileged system account.

property runner: BaseNode

Returns a node class instance for the test runner.

property system_actions: SystemActions

Returns a SystemActions class instance for target system interactions.

property system_details: ConfiguredSystem

Retrieve active system details.

Raises:

ValueError – If the system is not found or is missing required fields.

test_connection() None

Run SSH connectivity check for the active system with retry logic.

user(username: str) Waft

Return a Waft class instance representing the framework API, executed from an alternate system account.

Parameters:

username (str) – User account name

Returns:

class instance representing the framework API

Return type:

Waft

property warp_actions: WarpActions

Returns a WarpActions class instance for WARP client interactions.