pulsar_admin_sdk/models/
inactive_topic_policies.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct InactiveTopicPolicies {
15 #[serde(rename = "deleteWhileInactive", skip_serializing_if = "Option::is_none")]
16 pub delete_while_inactive: Option<bool>,
17 #[serde(rename = "inactiveTopicDeleteMode", skip_serializing_if = "Option::is_none")]
18 pub inactive_topic_delete_mode: Option<InactiveTopicDeleteMode>,
19 #[serde(rename = "maxInactiveDurationSeconds", skip_serializing_if = "Option::is_none")]
20 pub max_inactive_duration_seconds: Option<i32>,
21}
22
23impl InactiveTopicPolicies {
24 pub fn new() -> InactiveTopicPolicies {
25 InactiveTopicPolicies {
26 delete_while_inactive: None,
27 inactive_topic_delete_mode: None,
28 max_inactive_duration_seconds: None,
29 }
30 }
31}
32#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
34pub enum InactiveTopicDeleteMode {
35 #[serde(rename = "delete_when_no_subscriptions")]
36 NoSubscriptions,
37 #[serde(rename = "delete_when_subscriptions_caught_up")]
38 SubscriptionsCaughtUp,
39}
40
41impl Default for InactiveTopicDeleteMode {
42 fn default() -> InactiveTopicDeleteMode {
43 Self::NoSubscriptions
44 }
45}
46