//! Placements module.
use crate::entities::info::ShortName;
use serde::{Deserialize, Serialize};
use std::collections::BTreeMap;
/// Artifact placement.
#[derive(Deserialize, Serialize, PartialEq, Eq, PartialOrd, Ord, Clone)]
#[allow(missing_docs)]
pub struct Placement {
pub from: String,
pub to: String,
/// Variables that used in `from` & `to` fields.
#[serde(default, skip_serializing_if = "BTreeMap::is_empty")]
pub with: BTreeMap<String, ShortName>,
}