use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RetentionRule {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[serde(rename = "disabled", skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(rename = "action", skip_serializing_if = "Option::is_none")]
pub action: Option<String>,
#[serde(rename = "template", skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
#[serde(rename = "params", skip_serializing_if = "Option::is_none")]
pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "tag_selectors", skip_serializing_if = "Option::is_none")]
pub tag_selectors: Option<Vec<models::RetentionSelector>>,
#[serde(rename = "scope_selectors", skip_serializing_if = "Option::is_none")]
pub scope_selectors: Option<std::collections::HashMap<String, Vec<models::RetentionSelector>>>,
}
impl RetentionRule {
pub fn new() -> RetentionRule {
RetentionRule {
id: None,
priority: None,
disabled: None,
action: None,
template: None,
params: None,
tag_selectors: None,
scope_selectors: None,
}
}
}