pub struct PlanRequest {
pub target: Utf8PathBuf,
pub intent: Intent,
pub selector: String,
pub fetch: bool,
pub observe_forge: bool,
pub flags: Flags,
pub decisions: BTreeMap<String, String>,
}Expand description
One request to compute a plan, as the store keeps it beside the plan so an apply can compute the same plan again and compare.
Fields§
§target: Utf8PathBufThe target, absolute and symlink-resolved, so a stored plan names one checkout and never whichever directory an apply runs in.
intent: IntentWhat the caller asked the plan to be.
selector: StringThe selector as given: embedded, latest, or an exact version.
fetch: boolWhether a recorded release the cache does not hold is fetched.
observe_forge: boolWhether the forge is read.
flags: FlagsThe explicit answers.
decisions: BTreeMap<String, String>The decisions selected, by id.
Implementations§
Source§impl PlanRequest
impl PlanRequest
Sourcepub fn canonicalized(self) -> Result<Self, RkError>
pub fn canonicalized(self) -> Result<Self, RkError>
The same request with its target resolved to an absolute, symlink-free path.
Every construction site takes this before the request reaches the planner or the store. A relative target would otherwise resolve against whichever directory an apply runs in, so a plan approved against one checkout could land in another whose content happens to match, which the fingerprint alone cannot catch.
§Errors
[RkError::Usage] where the target does not exist or cannot be
resolved, and [RkError::Other] where the resolved path is not
valid UTF-8.
Trait Implementations§
Source§impl Clone for PlanRequest
impl Clone for PlanRequest
Source§fn clone(&self) -> PlanRequest
fn clone(&self) -> PlanRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more