waft.warp_client.cli.warp_cli_base module

class waft.warp_client.cli.warp_cli_base.WarpCliBase(node: BaseNode)

Bases: ABC

Base class for warp cli functionality

connect() dict

Run connect command

debug_network(**kwargs) dict

Submit warp-cli debug network command to get network interface information

Returns:

Network interface information including v4_iface, v6_iface, and tunnel_iface

Return type:

dict

debug_pcap_start(interface: Iterable[str] | None = None, time_limit: int | None = None, size_limit: int | None = None, packet_size: int | None = None, **kwargs) dict

Submit warp-cli debug pcap start command

Parameters:
  • interface – Network interfaces to capture packets from. Specify this option multiple times to capture from multiple interfaces. Use “_tun” as a shortcut for the tunnel interface and “_default” for the default network interface.

  • time_limit – Time limit for pcap capture in min (default 5min)

  • size_limit – Size limit for pcap capture in mb (default 5mb)

  • packet_size – Packet size for pcap capture in bytes (default 160b)

  • **kwargs – Additional keyword arguments for the run_command method

debug_pcap_stop(**kwargs) dict

Submit warp-cli debug pcap stop command

debug_posture() list[DevicePostureRuleResult]

Submit warp-cli debug posture command

disconnect(**kwargs) dict

Run disconnect command

mdm_get_configs() dict

Run mdm get-configs to see what mdm config is applied

mdm_set_config(config_name: str) dict

Run mdm set-config to select config from MDM

Parameters:

config_name – name of config from MDM to select

mode(mode: WarpModes, **kwargs) dict

Set the warp mode in the cli

override_local_network_show() dict

Show current local-network override

override_show() dict

Show current override information

override_unlock(override_code: str) dict

Submit admin override code

registration_delete(**kwargs) dict

Run registration delete cli command

Parameters:

**kwargs – Additional keyword arguments for the run_command method

registration_devices() dict

Run registration devices cli command

registration_new(org_name: str | None = None) str

Run registration new cli command

registration_organization() dict

Run registration organization cli command

registration_show(**kwargs) dict

Run registration show cli command

registration_token(token: str, **kwargs) dict

Run registration token cli command

Parameters:
  • token – Token string to register

  • **kwargs – Additional keyword arguments for the run_command method

run_command(command_parts: list, accept_tos: bool = True, json_fmt: bool = True, sudo: bool = False, auto_raise: bool = True, timeout: int | None = 15) Any

Executes a WARP CLI command with an option to automatically accept the terms of service.

This method constructs and executes a WARP CLI command on a remote node. If the accept_tos flag is set to True, the –accept-tos flag is prepended to the command, ensuring that the terms of service are accepted automatically when the command is executed.

Parameters:
  • command_parts (list) – A list of command components to be passed to the WARP CLI.

  • accept_tos (bool) – A flag to indicate whether to automatically accept the terms of service

  • json_fmt (bool) – A flag to indicate whether to request json output from the command

  • True). ((default is)

  • sudo – If set to True warp-cli command will be run using sudo

  • auto_raise – If set to True, error will be raised on non-zero return status for warp-cli command

  • timeout – Command timeout in seconds. Defaults to 5 seconds.

Returns:

Command output

Return type:

Any

settings_list() dict

Run settings list cli command

settings_mode_switch_allowed() bool

Run settings mode-switch-allowed cli command

settings_reset() dict

Run settings reset cli command

settings_support_url() dict

Run settings support-url cli command

status() WarpCliStatus

Run status command

tunnel_ip_add(ip: str | IPv4Address | IPv6Address) dict

Add an ip address to tunnel via warp cli

Parameters:

ip – Valid ipv4 or ipv6 address

tunnel_ip_list() dict

Run tunnel ip list to get a list of ips in the tunnel

tunnel_ip_remove(ip: str | IPv4Address | IPv6Address) dict

Remove an ip address from tunnel

Parameters:

ip – Valid ipv4 or ipv6 address

tunnel_protocol_set(protocol: WarpProtocols) dict

Run tunnel protocol set <protocol> with the given protocol type input

Parameters:

protocol – Protocol to set tunnel to use

tunnel_rotate_keys(**kwargs) dict

Run tunnel rotate-keys command

version() str

Run version command

vnet(vnet_name: str | None = None) dict

Run vnet cli command