canic_backup/plan/preflight/
requests.rs1use crate::plan::{
8 BackupPlan, QuiescencePreflightRequest, QuiescencePreflightTarget, TopologyPreflightRequest,
9 TopologyPreflightTarget,
10};
11
12impl BackupPlan {
13 #[must_use]
15 pub fn topology_preflight_request(&self) -> TopologyPreflightRequest {
16 TopologyPreflightRequest {
17 plan_id: self.plan_id.clone(),
18 run_id: self.run_id.clone(),
19 fleet: self.fleet.clone(),
20 environment: self.environment.clone(),
21 root_canister_id: self.root_canister_id.clone(),
22 selected_subtree_root: self.selected_subtree_root.clone(),
23 selected_scope_kind: self.selected_scope_kind.clone(),
24 topology_hash_before_quiesce: self.topology_hash_before_quiesce.clone(),
25 targets: self
26 .targets
27 .iter()
28 .map(TopologyPreflightTarget::from)
29 .collect(),
30 }
31 }
32
33 #[must_use]
35 pub fn quiescence_preflight_request(&self) -> QuiescencePreflightRequest {
36 QuiescencePreflightRequest {
37 plan_id: self.plan_id.clone(),
38 run_id: self.run_id.clone(),
39 fleet: self.fleet.clone(),
40 environment: self.environment.clone(),
41 root_canister_id: self.root_canister_id.clone(),
42 selected_subtree_root: self.selected_subtree_root.clone(),
43 quiescence_policy: self.quiescence_policy.clone(),
44 targets: self
45 .targets
46 .iter()
47 .map(QuiescencePreflightTarget::from)
48 .collect(),
49 }
50 }
51}