use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DucklakeSettingsDucklakesValue {
#[serde(rename = "catalog")]
pub catalog: Box<models::DucklakeSettingsDucklakesValueCatalog>,
#[serde(rename = "storage")]
pub storage: Box<models::DucklakeSettingsDucklakesValueStorage>,
#[serde(rename = "extra_args", skip_serializing_if = "Option::is_none")]
pub extra_args: Option<String>,
#[serde(rename = "fork_behavior", skip_serializing_if = "Option::is_none")]
pub fork_behavior: Option<ForkBehavior>,
#[serde(rename = "maintenance", skip_serializing_if = "Option::is_none")]
pub maintenance: Option<Box<models::DucklakeSettingsDucklakesValueMaintenance>>,
}
impl DucklakeSettingsDucklakesValue {
pub fn new(catalog: models::DucklakeSettingsDucklakesValueCatalog, storage: models::DucklakeSettingsDucklakesValueStorage) -> DucklakeSettingsDucklakesValue {
DucklakeSettingsDucklakesValue {
catalog: Box::new(catalog),
storage: Box::new(storage),
extra_args: None,
fork_behavior: None,
maintenance: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ForkBehavior {
#[serde(rename = "isolated")]
Isolated,
#[serde(rename = "shared")]
Shared,
}
impl Default for ForkBehavior {
fn default() -> ForkBehavior {
Self::Isolated
}
}