use std::time::Duration;
use humantime::parse_duration;
use url::Url;
use crate::parse_size_decimal_usize;
#[derive(clap::Args, Clone)]
pub struct VectorCli {
#[clap(env, long)]
pub log_vector_url: Option<Url>,
#[clap(env, long)]
pub log_vector_user: Option<String>,
#[clap(env, long)]
pub log_vector_pass: Option<String>,
#[clap(env, long, default_value = "100k", value_parser = parse_size_decimal_usize)]
pub log_vector_batch: usize,
#[clap(env, long, default_value = "64")]
pub log_vector_batch_queue: usize,
#[clap(env, long, default_value = "5s", value_parser = parse_duration)]
pub log_vector_interval: Duration,
#[clap(env, long, default_value = "500k", value_parser = parse_size_decimal_usize)]
pub log_vector_buffer: usize,
#[clap(env, long, default_value = "32")]
pub log_vector_flushers: usize,
#[clap(env, long, default_value = "30s", value_parser = parse_duration)]
pub log_vector_timeout: Duration,
#[clap(env, long, default_value = "2s", value_parser = parse_duration)]
pub log_vector_retry_interval: Duration,
#[clap(env, long, default_value = "5")]
pub log_vector_retry_count: usize,
#[clap(env, long, default_value = "3")]
pub log_vector_zstd_level: usize,
}