use clap::Args;
use std::path::PathBuf;
#[derive(Args, Debug, Clone, Default)]
pub struct ApiServerArgs {
#[arg(long = "serve", id = "api_enable")]
pub enable: bool,
#[arg(
long = "api-host",
value_name = "HOST",
default_value = "0.0.0.0",
id = "api_host"
)]
pub host: String,
#[arg(
long = "api-port",
value_name = "PORT",
default_value = "8080",
id = "api_port"
)]
pub port: u16,
#[arg(long = "api-config", value_name = "FILE", id = "api_config")]
pub config: Option<PathBuf>,
#[arg(long = "api-max-concurrent", value_name = "NUM", default_value = "10")]
pub max_concurrent: usize,
#[arg(long = "api-swagger")]
pub swagger: bool,
#[arg(
long = "api-config-example",
value_name = "FILE",
id = "api_config_example"
)]
pub config_example: Option<PathBuf>,
}