mod runner;
use crate::runner::{Runnable, Runner};
use crate::writer::Writer;
use clap::ArgAction;
use runner::DeployRunner;
#[derive(clap::Args, Clone)]
pub(crate) struct DeployCommand {
#[arg(short = 'c', long = "concurrency", default_value_t = 3)]
max_concurrency: usize,
#[arg(short, long, action = ArgAction::SetTrue)]
envs: bool,
#[arg(long, action = ArgAction::SetTrue)]
hotswap: bool,
#[arg(value_delimiter = ',')]
functions: Vec<String>,
#[arg(short, long)]
message: Option<String>,
}
impl Runnable for DeployCommand {
fn runner(&self, writer: &Writer) -> impl Runner {
DeployRunner {
command: self.clone(),
writer,
}
}
}