pub enum Command {
Show 16 variants
Vps {
action: VpsAction,
},
Connect {
name: String,
},
Exec {
all: bool,
hosts: Option<String>,
tags: Option<String>,
target: Vec<String>,
steps: Vec<String>,
json: bool,
auth: SshAuthArgs,
timeout: Option<u64>,
description: Option<String>,
},
SudoExec {
all: bool,
hosts: Option<String>,
tags: Option<String>,
target: Vec<String>,
steps: Vec<String>,
json: bool,
auth: SshAuthArgs,
sudo_password: Option<String>,
sudo_password_stdin: bool,
timeout: Option<u64>,
description: Option<String>,
},
SuExec {
all: bool,
hosts: Option<String>,
tags: Option<String>,
target: Vec<String>,
steps: Vec<String>,
json: bool,
auth: SshAuthArgs,
su_password: Option<String>,
su_password_stdin: bool,
timeout: Option<u64>,
description: Option<String>,
},
Scp {
action: ScpAction,
},
Sftp {
action: SftpAction,
},
Tunnel {
vps_name: String,
local_port: u16,
remote_host: Option<String>,
remote_port: Option<u16>,
socks5: bool,
remote_socket: Option<String>,
reverse: bool,
timeout_ms: u64,
auth: SshAuthArgs,
json: bool,
bind: IpAddr,
i_accept_network_exposure: bool,
},
HealthCheck {
vps_name: Option<String>,
all: bool,
hosts: Option<String>,
json: bool,
auth: SshAuthArgs,
timeout: Option<u64>,
},
Secrets {
action: SecretsAction,
},
Completions {
shell: Shell,
},
Commands {
json: bool,
},
Schema {
name: Option<String>,
json: bool,
},
Doctor {
json: bool,
probe_ssh: bool,
hosts: Option<String>,
},
Locale {
json: bool,
action: Option<LocaleAction>,
},
Tls {
json: bool,
action: TlsAction,
},
}Expand description
Top-level subcommands.
Variants§
Vps
Manages registered VPS hosts.
Connect
Sets the active VPS (writes sibling active file in the config directory).
Exec
Runs a command on the VPS over SSH (stdout/stderr captured).
Positionals: VPS COMMAND, or with --all/--hosts, only COMMAND
(ssh-cli exec --all uptime, ssh-cli exec --hosts a,b uptime).
Extra steps on the same SSH session: --step cmd2 --step cmd3 (G-O3).
Fields
all: boolRun on every registered host (bounded concurrency). When set, pass only the shell command as the single positional.
Select hosts that have any of these tags (OR). Batch JSON (G-O2).
auth: SshAuthArgsSSH authentication overrides (password/key/passphrase).
SudoExec
Runs a command with sudo (safe sh -c packing).
Positionals: VPS COMMAND or, with --all/--hosts/--tags, only COMMAND.
Fields
Select hosts by tag (OR). Batch JSON (G-O2).
auth: SshAuthArgsSSH authentication overrides (password/key/passphrase).
SuExec
Runs a command with one-shot su - elevation.
Positionals: VPS COMMAND or, with --all/--hosts, only COMMAND.
Fields
Select hosts by tag (OR). Batch JSON (G-O2).
auth: SshAuthArgsSSH authentication overrides (password/key/passphrase).
Scp
SCP file transfer (upload/download).
Sftp
SFTP subsystem transfer and remote filesystem ops (G-SFTP).
Fields
action: SftpActionSpecific SFTP action.
Tunnel
SSH tunnel with mandatory deadline (bounded one-shot).
Contract: one local bind + one SSH session per invocation (G-PAR-30).
Multi-host tunnels = N one-shots with distinct --bind/ports. Forward
accepts still use JoinSet + Semaphore (--max-concurrency).
Fields
remote_host: Option<String>Remote host — with --reverse, the address the server binds.
Optional since 0.5.4: --socks5 chooses a destination per connection
and --remote-socket names a Unix socket, so neither has one.
remote_port: Option<u16>Remote port — with --reverse, the server port (0 = server allocates).
Reverse accepts 0 because the server then reports the port it bound;
a local forward cannot, since there is nothing to connect to.
auth: SshAuthArgsSSH authentication overrides (password/key/passphrase).
bind: IpAddrLocal bind address (default loopback for security).
G-TUN-R08: validated by clap as an IP address, so a typo like
127.0.0..1 fails at parse time (exit 2) instead of after resolving the
host, opening the SSH session and authenticating — which on a host with
MFA or slow auth meant paying a full handshake to learn about a typo.
i_accept_network_exposure: boolAcknowledge that a non-loopback bind exposes the forwarded service.
G-TUN-R13: required for any routable bind. Without it, --bind 0.0.0.0
silently published the remote service to the local network. Under
--reverse it guards the server’s bind address instead, which is
the end that is exposed in that direction.
HealthCheck
Checks SSH connectivity to a VPS (or multi-host with --all / --hosts).
Fields
auth: SshAuthArgsSSH authentication overrides (password/key/passphrase).
Secrets
Manages the primary key and at-rest secret encryption (one-shot).
Fields
action: SecretsActionSecrets action.
Completions
Generates shell completions.
Commands
Emits the full command tree as JSON (agent discovery / rules mycli commands).
Schema
Emits embedded JSON Schema catalog or one schema body (G-E2E-02).
Fields
Doctor
Root alias for vps doctor (XDG / schema diagnostics; G-E2E-03).
Fields
Locale
Diagnoses and manages UI language (locale resolution / XDG preference).
Fields
action: Option<LocaleAction>Optional locale action (default: show status).
Tls
TLS stack: provider status, mTLS identities, ACME certs (XDG; rustls only).
Trait Implementations§
Source§impl FromArgMatches for Command
impl FromArgMatches for Command
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Command
impl Subcommand for Command
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand