use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssetGraphAssetsInner {
#[serde(rename = "kind")]
pub kind: models::AssetKind,
#[serde(rename = "path")]
pub path: String,
#[serde(rename = "fork_materialization", skip_serializing_if = "Option::is_none")]
pub fork_materialization: Option<ForkMaterialization>,
#[serde(rename = "dbt", skip_serializing_if = "Option::is_none")]
pub dbt: Option<Box<models::DbtAssetProvenance>>,
}
impl AssetGraphAssetsInner {
pub fn new(kind: models::AssetKind, path: String) -> AssetGraphAssetsInner {
AssetGraphAssetsInner {
kind,
path,
fork_materialization: None,
dbt: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ForkMaterialization {
#[serde(rename = "fork")]
Fork,
#[serde(rename = "deferred")]
Deferred,
}
impl Default for ForkMaterialization {
fn default() -> ForkMaterialization {
Self::Fork
}
}