pub struct MeshFirewallArgs {
pub command: Option<MeshFirewallCommand>,
pub port: Option<u16>,
pub query: MeshQueryArgs,
}Expand description
mesh firewall: the inbound admissions the declared mesh needs on this host, which
firewall the host runs, the commands that admit them, and the firewall’s own word —
a report, exit 10 when the host does not admit the mesh. mesh firewall apply runs
those commands, and needs root. --port names the port this checkout’s server listens
on beyond loopback, when it does, because a peer dials it there.
use clap::Parser;
use majordomus_cli::cli::{Cli, Command, MeshCommand, MeshFirewallArgs, MeshFirewallCommand};
let cli = Cli::try_parse_from(["majordomus", "mesh", "firewall", "--port", "8741"]).unwrap();
let Command::Mesh(mesh) = cli.command else { panic!("expected `mesh`") };
let MeshCommand::Firewall(firewall) = mesh.command else { panic!("expected `firewall`") };
let firewall: MeshFirewallArgs = firewall;
assert_eq!(firewall.port, Some(8741));
assert!(firewall.command.is_none());
let cli = Cli::try_parse_from(["majordomus", "mesh", "firewall", "apply", "--port", "8791"]).unwrap();
let Command::Mesh(mesh) = cli.command else { panic!("expected `mesh`") };
let MeshCommand::Firewall(firewall) = mesh.command else { panic!("expected `firewall`") };
let Some(MeshFirewallCommand::Apply(apply)) = firewall.command else { panic!("expected `apply`") };
assert_eq!(apply.port, Some(8791));Fields§
§command: Option<MeshFirewallCommand>apply, or nothing for the report.
port: Option<u16>The port this checkout’s server listens on beyond loopback, when it does
query: MeshQueryArgsWhere the repository is and how to answer.
Trait Implementations§
Source§impl Args for MeshFirewallArgs
impl Args for MeshFirewallArgs
Source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
Report the [
ArgGroup::id][crate::ArgGroup::id] for this set of argumentsSource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Append to [
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§impl Debug for MeshFirewallArgs
impl Debug for MeshFirewallArgs
Source§impl FromArgMatches for MeshFirewallArgs
impl FromArgMatches for MeshFirewallArgs
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>
Assign values from
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Auto Trait Implementations§
impl Freeze for MeshFirewallArgs
impl RefUnwindSafe for MeshFirewallArgs
impl Send for MeshFirewallArgs
impl Sync for MeshFirewallArgs
impl Unpin for MeshFirewallArgs
impl UnsafeUnpin for MeshFirewallArgs
impl UnwindSafe for MeshFirewallArgs
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
Mutably borrows from an owned value. Read more