pub enum KeyPushOutcome {
Appended,
AlreadyPresent,
Failed(String),
AuthRefused(String),
NeedsPassword {
detail: String,
host: Option<String>,
},
UnknownHostKey {
detail: String,
host: Option<String>,
},
}Expand description
Outcome for one host in a push run. The renderer summarises these
into a toast (when every entry is Appended / AlreadyPresent) or a
sticky error block (when at least one is Failed). The two prompt
variants leave the summary and open a dialog instead.
Variants§
Appended
Pubkey was newly appended to the remote authorized_keys.
AlreadyPresent
Pubkey was already present in authorized_keys; nothing changed.
Failed(String)
Push failed. Carries a scrubbed stderr excerpt (control chars stripped, length-capped) so the user sees what went wrong without leaking the full ssh-vvv firehose into the UI.
AuthRefused(String)
ssh ended with Permission denied and the server takes no password.
Reported like Failed; kept apart so a missing security key PIN can
be told from a remote command that failed.
NeedsPassword
ssh ended with Permission denied and the server still takes a
password. The TUI asks for one and pushes again. host is the hop
ssh named as refusing, which on a ProxyJump chain may be a bastion
rather than the target.
UnknownHostKey
Strict host key checking refused a host that is not in
known_hosts yet. The TUI asks whether to trust it and pushes again.
host is the one ssh named, a bastion included.
Trait Implementations§
Source§impl Clone for KeyPushOutcome
impl Clone for KeyPushOutcome
Source§impl Debug for KeyPushOutcome
impl Debug for KeyPushOutcome
impl Eq for KeyPushOutcome
Source§impl PartialEq for KeyPushOutcome
impl PartialEq for KeyPushOutcome
impl StructuralPartialEq for KeyPushOutcome
Auto Trait Implementations§
impl Freeze for KeyPushOutcome
impl RefUnwindSafe for KeyPushOutcome
impl Send for KeyPushOutcome
impl Sync for KeyPushOutcome
impl Unpin for KeyPushOutcome
impl UnsafeUnpin for KeyPushOutcome
impl UnwindSafe for KeyPushOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more