pub fn build_arg_parser() -> ArgParser<'static> {
    ArgParser::new()
        .arg(
            Argument::new("id")
                .required(true)
                .takes_value(true)
                .help("Jail ID."),
        )
        .arg(
            Argument::new("exec-file")
                .required(true)
                .takes_value(true)
                .help("File path to exec into."),
        )
        .arg(
            Argument::new("node")
                .required(false)
                .takes_value(true)
                .help("NUMA node to assign this microVM to."),
        )
        .arg(
            Argument::new("uid")
                .required(true)
                .takes_value(true)
                .help("The user identifier the jailer switches to after exec."),
        )
        .arg(
            Argument::new("gid")
                .required(true)
                .takes_value(true)
                .help("The group identifier the jailer switches to after exec."),
        )
        .arg(
            Argument::new("chroot-base-dir")
                .takes_value(true)
                .default_value("/srv/jailer")
                .help("The base folder where chroot jails are located."),
        )
        .arg(
            Argument::new("netns")
                .takes_value(true)
                .help("Path to the network namespace this microVM should join."),
        )
        .arg(Argument::new("daemonize").takes_value(false).help(
            "Daemonize the jailer before exec, by invoking setsid(), and redirecting \
             the standard I/O file descriptors to /dev/null.",
        ))
        .arg(Argument::new("cgroup").allow_multiple(true).help(
            "Cgroup and value to be set by the jailer. It must follow this format: \
             <cgroup_file>=<value> (e.g cpu.shares=10). This argument can be used
             multiple times to add multiple cgroups.",
        ))
        .arg(
            Argument::new("version")
                .takes_value(false)
                .help("Print the binary version number."),
        )
}
/// Create an ArgParser object which contains info about the command line argument parser and populate
/// it with the expected arguments and their characteristics.
Create an ArgParser object which contains info about the command line argument parser and populate
it with the expected arguments and their characteristics.
Create an ArgParser object which contains info about the command line argument parser and populate it with the expected arguments and their characteristics .
pub fn build_arg_parser() -> ArgParser<'static> {
    ArgParser::new()
        .arg(
            Argument::new("id")
                .required(true)
                .takes_value(true)
                .help("Jail ID."),
        )
        .arg(
            Argument::new("exec-file")
                .required(true)
                .takes_value(true)
                .help("File path to exec into."),
        )
        .arg(
            Argument::new("node")
                .required(false)
                .takes_value(true)
                .help("NUMA node to assign this microVM to."),
        )
        .arg(
            Argument::new("uid")
                .required(true)
                .takes_value(true)
                .help("The user identifier the jailer switches to after exec."),
        )
        .arg(
            Argument::new("gid")
                .required(true)
                .takes_value(true)
                .help("The group identifier the jailer switches to after exec."),
        )
        .arg(
            Argument::new("chroot-base-dir")
                .takes_value(true)
                .default_value("/srv/jailer")
                .help("The base folder where chroot jails are located."),
        )
        .arg(
            Argument::new("netns")
                .takes_value(true)
                .help("Path to the network namespace this microVM should join."),
        )
        .arg(Argument::new("daemonize").takes_value(false).help(
            "Daemonize the jailer before exec, by invoking setsid(), and redirecting \
             the standard I/O file descriptors to /dev/null.",
        ))
        .arg(Argument::new("cgroup").allow_multiple(true).help(
            "Cgroup and value to be set by the jailer. It must follow this format: \
             <cgroup_file>=<value> (e.g cpu.shares=10). This argument can be used
             multiple times to add multiple cgroups.",
        ))
        .arg(
            Argument::new("version")
                .takes_value(false)
                .help("Print the binary version number."),
        )
}
pub fn build_arg_parser ( ) -> ArgParser < ' static > { ArgParser :: new ( ) . arg ( Argument :: new ( " " ) . required ( true ) . takes_value ( true ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . required ( true ) . takes_value ( true ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . required ( false ) . takes_value ( true ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . required ( true ) . takes_value ( true ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . required ( true ) . takes_value ( true ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . takes_value ( true ) . default_value ( " " ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . takes_value ( true ) . help ( " " ) , ) . arg ( Argument :: new ( " " ) . takes_value ( false ) . help ( " \
 " , ) ) . arg ( Argument :: new ( " " ) . allow_multiple ( true ) . help ( " \
 " , ) ) . arg ( Argument :: new ( " " ) . takes_value ( false ) . help ( " " ) , ) }
Create an ArgParser object which contains info about the command line argument parser and populate
it with the expected arguments and their characteristics.
Create an ArgParser object which contains info about the command line argument parser and populate it with the expected arguments and their characteristics .