pub enum ClientOp {
List {
json: bool,
},
Setup {
client: ClientKind,
token: Option<String>,
token_stdin: bool,
base_url: Option<String>,
management_server: Option<String>,
ttl_hours: i64,
},
Show {
client: ClientKind,
json: bool,
},
Remove {
client: ClientKind,
revoke_supplied: bool,
force: bool,
},
Repair {
client: Option<ClientKind>,
all: bool,
dry_run: bool,
json: bool,
rollback: Option<String>,
},
Doctor {
client: ClientKind,
},
}Variants§
List
List supported clients and their local installation/configuration state.
Setup
Merge this router into a client’s user configuration.
router configure <client> is the name for this, and the one that
follows the server selection. create and add are accepted here too
(issues #296, #314).
Fields
client: ClientKindtoken: Option<String>Existing router token. Prefer --token-stdin or
LINK_ASSISTANT_ROUTER_TOKEN over argv, which is visible in shell
history and process listings.
base_url: Option<String>Router URL reachable from the client.
Spelled --server like everywhere else the router’s own URL is
named; --base-url means the upstream’s URL in providers add,
so one flag referred to two different machines depending on the
family (issue #314). The old spelling is still accepted.
Show
Show the effective client integration with secrets redacted.
Fields
client: ClientKindRemove
Remove only settings managed by this router.
delete and revoke are accepted too (issue #314).
Fields
client: ClientKindRepair
Reconcile routing-critical client settings with the selected Router.
Fields
client: Option<ClientKind>One client to repair. Use –all to inspect or repair every client.
Doctor
Make a real request using the client’s configured URL and token variable.
The probe is deliberately the cheapest the dialect accepts: a 64-token budget, reasoning at the lowest tier, and a two-word prompt. It still costs a request against the subscription, because proving the route works means using it (issues #275, #309).
Fields
client: ClientKindTrait Implementations§
Source§impl FromArgMatches for ClientOp
impl FromArgMatches for ClientOp
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 ClientOp
impl Subcommand for ClientOp
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 subcommandAuto Trait Implementations§
impl Freeze for ClientOp
impl RefUnwindSafe for ClientOp
impl Send for ClientOp
impl Sync for ClientOp
impl Unpin for ClientOp
impl UnsafeUnpin for ClientOp
impl UnwindSafe for ClientOp
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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