vtcode_core/cli/args/pods.rs
1use clap::Subcommand;
2
3/// GPU pod management commands.
4#[derive(Subcommand, Debug, Clone)]
5pub enum PodsCommands {
6 /// Start a model on the active pod.
7 Start {
8 /// Local model name used for lookup and storage.
9 #[arg(long)]
10 name: String,
11 /// Hugging Face or provider model identifier to launch.
12 #[arg(long)]
13 model: String,
14 /// Optional explicit pod name to store as the active pod.
15 #[arg(long = "pod-name")]
16 pod_name: Option<String>,
17 /// SSH connection string used for the pod.
18 #[arg(long)]
19 ssh: Option<String>,
20 /// GPU identifiers on the pod, repeated as `ID:NAME`.
21 #[arg(long = "gpu", value_name = "ID:NAME", action = clap::ArgAction::Append)]
22 gpus: Vec<String>,
23 /// Optional remote models directory.
24 #[arg(long = "models-path")]
25 models_path: Option<String>,
26 /// Optional exact profile name to use.
27 #[arg(long)]
28 profile: Option<String>,
29 /// Optional requested GPU count.
30 #[arg(long = "gpus")]
31 gpus_count: Option<usize>,
32 /// Optional override for `--gpu-memory-utilization` (percent).
33 #[arg(long)]
34 memory: Option<f32>,
35 /// Optional override for `--max-model-len` (e.g. 4k, 32k, 131072).
36 #[arg(long)]
37 context: Option<String>,
38 },
39
40 /// Stop a running model on the active pod.
41 Stop {
42 /// Local model name to stop.
43 #[arg(long)]
44 name: String,
45 },
46
47 /// Stop every running model on the active pod.
48 StopAll,
49
50 /// List running models on the active pod.
51 List,
52
53 /// Stream logs for a running model on the active pod.
54 Logs {
55 /// Local model name whose logs should be streamed.
56 #[arg(long)]
57 name: String,
58 },
59
60 /// Show compatible and incompatible known models for the active pod.
61 KnownModels,
62}