use clap::Subcommand;
#[derive(Debug, Subcommand)]
pub enum LogsCommands {
#[command(visible_alias = "ls")]
#[command(after_help = "EXAMPLES:
# Get recent logs
redisctl enterprise logs list
# Get logs since a specific time
redisctl enterprise logs list --since 2024-01-01T00:00:00Z
# Stream logs in real-time (like tail -f)
redisctl enterprise logs list --follow
# Stream logs with custom poll interval
redisctl enterprise logs list --follow --poll-interval 5
# Limit number of logs per fetch
redisctl enterprise logs list --limit 50
")]
List {
#[arg(long)]
since: Option<String>,
#[arg(long)]
until: Option<String>,
#[arg(long, value_parser = ["asc", "desc"])]
order: Option<String>,
#[arg(long)]
limit: Option<u32>,
#[arg(long)]
offset: Option<u32>,
#[arg(long, short = 'f')]
follow: bool,
#[arg(long, default_value = "2", requires = "follow")]
poll_interval: u64,
},
}