pulsar_admin_sdk/models/
inactive_topic_policies.rs

1/*
2 * Pulsar Admin REST API
3 *
4 * This provides the REST API for admin operations
5 *
6 * The version of the OpenAPI document: v2
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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/// 
33#[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