pub enum VpsAction {
Add {Show 26 fields
name: String,
host: String,
port: u16,
user: String,
password: Option<String>,
password_stdin: bool,
key: Option<PathBuf>,
key_passphrase: Option<String>,
key_passphrase_stdin: bool,
use_agent: bool,
agent_socket: Option<PathBuf>,
timeout: u64,
max_command_chars: Option<usize>,
max_output_chars: Option<usize>,
max_chars: Option<usize>,
sudo_password: Option<String>,
sudo_password_stdin: bool,
su_password: Option<String>,
su_password_stdin: bool,
disable_sudo: bool,
tags: Vec<String>,
tls: bool,
tls_sni: Option<String>,
tls_client_cert: Option<PathBuf>,
tls_client_key: Option<PathBuf>,
check: bool,
},
List {
json: bool,
tags: Vec<String>,
},
Remove {
name: String,
},
Edit {Show 26 fields
name: String,
host: Option<String>,
port: Option<u16>,
user: Option<String>,
password: Option<String>,
password_stdin: bool,
key: Option<PathBuf>,
key_passphrase: Option<String>,
key_passphrase_stdin: bool,
use_agent: bool,
agent_socket: Option<PathBuf>,
timeout: Option<u64>,
max_command_chars: Option<usize>,
max_output_chars: Option<usize>,
max_chars: Option<usize>,
sudo_password: Option<String>,
sudo_password_stdin: bool,
su_password: Option<String>,
su_password_stdin: bool,
disable_sudo: bool,
enable_sudo: bool,
tls: bool,
no_tls: bool,
tls_sni: Option<String>,
tls_client_cert: Option<PathBuf>,
tls_client_key: Option<PathBuf>,
},
Show {
name: String,
json: bool,
},
Path,
Doctor {
json: bool,
probe_ssh: bool,
hosts: Option<String>,
},
Export {
include_secrets: bool,
output: Option<PathBuf>,
json: bool,
i_understand_secrets_on_stdout: bool,
},
Import {
file: PathBuf,
allow_incomplete: bool,
},
}Expand description
Actions of the vps subcommand.
Variants§
Add
Adds a new VPS to the registry.
Fields
key_passphrase_stdin: boolReads the key passphrase from stdin.
D13: exec, scp, health-check and tunnel all accepted
--key-passphrase-stdin, but vps add and vps edit — the only two
commands that persist the passphrase — did not. The one secret that
reaches disk was also the one that had to travel through argv, where
any local process can read it from ps. Found by running the E2E
matrix for real for the first time (D1).
agent_socket: Option<PathBuf>Optional SSH agent socket path (defaults to platform agent when omitted).
timeout: u64Timeout in milliseconds (default crate::vps::model::DEFAULT_TIMEOUT_MS).
Host tags for fleet selection (G-O2). Repeatable: --tag prod --tag web.
List
Lists all VPS hosts (passwords masked).
Fields
Filter hosts that have any of these tags (OR, G-O2).
Remove
Removes a VPS from the registry.
Edit
Edits fields of an existing VPS.
Fields
Show
Shows VPS details (passwords masked).
Path
Shows the configuration file path.
Doctor
Diagnostics for XDG layers / path / schema.
Fields
Export
Exports hosts (passwords redacted by default).
Fields
Import
Imports hosts from a TOML file or JSON vps-export envelope (EN + legacy PT keys).
Trait Implementations§
Source§impl FromArgMatches for VpsAction
impl FromArgMatches for VpsAction
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 VpsAction
impl Subcommand for VpsAction
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