influxdb2/models/
retention_rule.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct RetentionRule {
9 #[serde(rename = "type")]
11 pub r#type: Type,
12 pub every_seconds: i32,
15 #[serde(skip_serializing_if = "Option::is_none")]
17 pub shard_group_duration_seconds: Option<i64>,
18}
19
20impl RetentionRule {
21 pub fn new(r#type: Type, every_seconds: i32) -> Self {
23 Self {
24 r#type,
25 every_seconds,
26 shard_group_duration_seconds: None,
27 }
28 }
29}
30
31#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
33#[serde(rename_all = "camelCase")]
34pub enum Type {
35 Expire,
37}