Skip to main content

hyperlane_cli/config/
struct.rs

1use super::*;
2
3/// Parsed command line arguments
4///
5/// `hyperlane-cli` ships both a library and a `hyperlane` binary; the binary
6/// is a separate crate that consumes this one, so the read path must stay
7/// `pub` (ยง17.14 does not recall published API).
8#[derive(Clone, Data, Debug)]
9pub struct Args {
10    /// The command to execute
11    pub command: CommandType,
12    /// Project name for new command
13    #[get(type(clone))]
14    pub project_name: Option<String>,
15    /// Template type for template command
16    #[get(type(clone))]
17    pub template_type: Option<TemplateType>,
18    /// Model subtype for template command (only when template_type is Model)
19    #[get(type(clone))]
20    pub model_sub_type: Option<ModelSubType>,
21    /// Component name for template command
22    #[get(type(clone))]
23    pub component_name: Option<String>,
24}