sui_cluster_test/
config.rs1use clap::*;
5use regex::Regex;
6use std::path::PathBuf;
7
8#[derive(Parser, Clone, ValueEnum, Debug)]
9pub enum Env {
10 Devnet,
11 Staging,
12 Ci,
13 CiNomad,
14 Testnet,
15 CustomRemote,
16 NewLocal,
17}
18
19#[derive(derive_more::Debug, Parser)]
20#[clap(name = "", rename_all = "kebab-case")]
21pub struct ClusterTestOpt {
22 #[clap(value_enum)]
23 pub env: Env,
24 #[clap(long)]
25 pub faucet_address: Option<String>,
26 #[clap(long)]
27 pub fullnode_address: Option<String>,
28 #[clap(long)]
29 pub epoch_duration_ms: Option<u64>,
30 #[clap(long)]
32 pub indexer_address: Option<String>,
33 #[clap(long)]
35 #[debug("{}", match pg_address {
36 None => "None".into(),
37 Some(val) => Regex::new(r":.*@")
38 .unwrap()
39 .replace_all(val.as_str(), ":*****@"),
40 })]
41 pub pg_address: Option<String>,
42 #[clap(long)]
43 pub config_dir: Option<PathBuf>,
44 #[clap(long)]
46 pub graphql_address: Option<String>,
47}
48
49impl ClusterTestOpt {
50 pub fn new_local() -> Self {
51 Self {
52 env: Env::NewLocal,
53 faucet_address: None,
54 fullnode_address: None,
55 epoch_duration_ms: None,
56 indexer_address: None,
57 pg_address: None,
58 config_dir: None,
59 graphql_address: None,
60 }
61 }
62}