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}