Skip to main content

canic_host/install_root/
options.rs

1use crate::{canister_build::CanisterBuildProfile, deployment_truth::DeploymentPlanV1};
2use std::path::PathBuf;
3
4///
5/// InstallRootOptions
6///
7
8#[derive(Clone, Debug)]
9pub struct InstallRootOptions {
10    pub root_canister: String,
11    pub root_build_target: String,
12    pub environment: String,
13    pub fleet_name: String,
14    pub icp_root: Option<PathBuf>,
15    pub build_profile: Option<CanisterBuildProfile>,
16    pub config_path: Option<String>,
17    pub fleet_install_input_path: Option<PathBuf>,
18    pub expected_app: Option<String>,
19    pub interactive_config_selection: bool,
20    pub deployment_plan_override: Option<DeploymentPlanV1>,
21}
22
23impl InstallRootOptions {
24    /// Return the exact ICP artifact environment owned by this install mode.
25    pub(super) fn artifact_environment(&self) -> &str {
26        if self.deployment_plan_override.is_some() {
27            &self.environment
28        } else {
29            "local"
30        }
31    }
32}