use indexmap::IndexMap;
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub(crate) struct ServiceDevice {
pub(crate) source: String,
pub(crate) target: String,
pub(crate) permissions: String,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize)]
pub(crate) struct Reservations {
pub(crate) devices: Vec<DeviceRequest>,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize)]
pub(crate) struct DeviceRequest {
pub(crate) capabilities: Vec<String>,
pub(crate) driver: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) count: Option<serde_yaml_ng::Value>,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub(crate) device_ids: Vec<String>,
#[serde(skip_serializing_if = "IndexMap::is_empty")]
pub(crate) options: IndexMap<String, String>,
}