use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PartitionsInRange {
#[serde(rename = "producer_path")]
pub producer_path: String,
#[serde(rename = "partition_kind")]
pub partition_kind: PartitionKind,
#[serde(rename = "partitions")]
pub partitions: Vec<models::PartitionsInRangePartitionsInner>,
}
impl PartitionsInRange {
pub fn new(producer_path: String, partition_kind: PartitionKind, partitions: Vec<models::PartitionsInRangePartitionsInner>) -> PartitionsInRange {
PartitionsInRange {
producer_path,
partition_kind,
partitions,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PartitionKind {
#[serde(rename = "daily")]
Daily,
#[serde(rename = "hourly")]
Hourly,
#[serde(rename = "weekly")]
Weekly,
#[serde(rename = "monthly")]
Monthly,
#[serde(rename = "dynamic")]
Dynamic,
}
impl Default for PartitionKind {
fn default() -> PartitionKind {
Self::Daily
}
}