pulsar_admin_sdk/models/
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 Policies {
15    #[serde(rename = "auth_policies", skip_serializing_if = "Option::is_none")]
16    pub auth_policies: Option<Box<models::AuthPolicies>>,
17    #[serde(rename = "autoSubscriptionCreationOverride", skip_serializing_if = "Option::is_none")]
18    pub auto_subscription_creation_override: Option<Box<models::AutoSubscriptionCreationOverride>>,
19    #[serde(rename = "autoTopicCreationOverride", skip_serializing_if = "Option::is_none")]
20    pub auto_topic_creation_override: Option<Box<models::AutoTopicCreationOverride>>,
21    #[serde(rename = "backlog_quota_map", skip_serializing_if = "Option::is_none")]
22    pub backlog_quota_map: Option<std::collections::HashMap<String, models::BacklogQuota>>,
23    #[serde(rename = "bundles", skip_serializing_if = "Option::is_none")]
24    pub bundles: Option<Box<models::BundlesData>>,
25    #[serde(rename = "clusterDispatchRate", skip_serializing_if = "Option::is_none")]
26    pub cluster_dispatch_rate: Option<std::collections::HashMap<String, models::DispatchRateImpl>>,
27    #[serde(rename = "clusterSubscribeRate", skip_serializing_if = "Option::is_none")]
28    pub cluster_subscribe_rate: Option<std::collections::HashMap<String, models::SubscribeRate>>,
29    #[serde(rename = "compaction_threshold", skip_serializing_if = "Option::is_none")]
30    pub compaction_threshold: Option<i64>,
31    #[serde(rename = "deduplicationEnabled", skip_serializing_if = "Option::is_none")]
32    pub deduplication_enabled: Option<bool>,
33    #[serde(rename = "deduplicationSnapshotIntervalSeconds", skip_serializing_if = "Option::is_none")]
34    pub deduplication_snapshot_interval_seconds: Option<i32>,
35    #[serde(rename = "delayed_delivery_policies", skip_serializing_if = "Option::is_none")]
36    pub delayed_delivery_policies: Option<Box<models::DelayedDeliveryPolicies>>,
37    #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
38    pub deleted: Option<bool>,
39    #[serde(rename = "dispatcherPauseOnAckStatePersistentEnabled", skip_serializing_if = "Option::is_none")]
40    pub dispatcher_pause_on_ack_state_persistent_enabled: Option<bool>,
41    #[serde(rename = "encryption_required", skip_serializing_if = "Option::is_none")]
42    pub encryption_required: Option<bool>,
43    #[serde(rename = "entryFilters", skip_serializing_if = "Option::is_none")]
44    pub entry_filters: Option<Box<models::EntryFilters>>,
45    #[serde(rename = "inactive_topic_policies", skip_serializing_if = "Option::is_none")]
46    pub inactive_topic_policies: Option<Box<models::InactiveTopicPolicies>>,
47    #[serde(rename = "is_allow_auto_update_schema", skip_serializing_if = "Option::is_none")]
48    pub is_allow_auto_update_schema: Option<bool>,
49    #[serde(rename = "latency_stats_sample_rate", skip_serializing_if = "Option::is_none")]
50    pub latency_stats_sample_rate: Option<std::collections::HashMap<String, i32>>,
51    #[serde(rename = "max_consumers_per_subscription", skip_serializing_if = "Option::is_none")]
52    pub max_consumers_per_subscription: Option<i32>,
53    #[serde(rename = "max_consumers_per_topic", skip_serializing_if = "Option::is_none")]
54    pub max_consumers_per_topic: Option<i32>,
55    #[serde(rename = "max_producers_per_topic", skip_serializing_if = "Option::is_none")]
56    pub max_producers_per_topic: Option<i32>,
57    #[serde(rename = "max_subscriptions_per_topic", skip_serializing_if = "Option::is_none")]
58    pub max_subscriptions_per_topic: Option<i32>,
59    #[serde(rename = "max_topics_per_namespace", skip_serializing_if = "Option::is_none")]
60    pub max_topics_per_namespace: Option<i32>,
61    #[serde(rename = "max_unacked_messages_per_consumer", skip_serializing_if = "Option::is_none")]
62    pub max_unacked_messages_per_consumer: Option<i32>,
63    #[serde(rename = "max_unacked_messages_per_subscription", skip_serializing_if = "Option::is_none")]
64    pub max_unacked_messages_per_subscription: Option<i32>,
65    #[serde(rename = "message_ttl_in_seconds", skip_serializing_if = "Option::is_none")]
66    pub message_ttl_in_seconds: Option<i32>,
67    #[serde(rename = "migrated", skip_serializing_if = "Option::is_none")]
68    pub migrated: Option<bool>,
69    #[serde(rename = "offload_deletion_lag_ms", skip_serializing_if = "Option::is_none")]
70    pub offload_deletion_lag_ms: Option<i64>,
71    #[serde(rename = "offload_policies", skip_serializing_if = "Option::is_none")]
72    pub offload_policies: Option<Box<models::OffloadPolicies>>,
73    #[serde(rename = "offload_threshold", skip_serializing_if = "Option::is_none")]
74    pub offload_threshold: Option<i64>,
75    #[serde(rename = "offload_threshold_in_seconds", skip_serializing_if = "Option::is_none")]
76    pub offload_threshold_in_seconds: Option<i64>,
77    #[serde(rename = "persistence", skip_serializing_if = "Option::is_none")]
78    pub persistence: Option<Box<models::PersistencePolicies>>,
79    #[serde(rename = "properties", skip_serializing_if = "Option::is_none")]
80    pub properties: Option<std::collections::HashMap<String, String>>,
81    #[serde(rename = "publishMaxMessageRate", skip_serializing_if = "Option::is_none")]
82    pub publish_max_message_rate: Option<std::collections::HashMap<String, models::PublishRate>>,
83    #[serde(rename = "replication_clusters", skip_serializing_if = "Option::is_none")]
84    pub replication_clusters: Option<Vec<String>>,
85    #[serde(rename = "replicatorDispatchRate", skip_serializing_if = "Option::is_none")]
86    pub replicator_dispatch_rate: Option<std::collections::HashMap<String, models::DispatchRateImpl>>,
87    #[serde(rename = "resource_group_name", skip_serializing_if = "Option::is_none")]
88    pub resource_group_name: Option<String>,
89    #[serde(rename = "retention_policies", skip_serializing_if = "Option::is_none")]
90    pub retention_policies: Option<Box<models::RetentionPolicies>>,
91    #[serde(rename = "schema_auto_update_compatibility_strategy", skip_serializing_if = "Option::is_none")]
92    pub schema_auto_update_compatibility_strategy: Option<SchemaAutoUpdateCompatibilityStrategy>,
93    #[serde(rename = "schema_compatibility_strategy", skip_serializing_if = "Option::is_none")]
94    pub schema_compatibility_strategy: Option<SchemaCompatibilityStrategy>,
95    #[serde(rename = "schema_validation_enforced", skip_serializing_if = "Option::is_none")]
96    pub schema_validation_enforced: Option<bool>,
97    #[serde(rename = "subscriptionDispatchRate", skip_serializing_if = "Option::is_none")]
98    pub subscription_dispatch_rate: Option<std::collections::HashMap<String, models::DispatchRateImpl>>,
99    #[serde(rename = "subscription_auth_mode", skip_serializing_if = "Option::is_none")]
100    pub subscription_auth_mode: Option<SubscriptionAuthMode>,
101    #[serde(rename = "subscription_expiration_time_minutes", skip_serializing_if = "Option::is_none")]
102    pub subscription_expiration_time_minutes: Option<i32>,
103    #[serde(rename = "subscription_types_enabled", skip_serializing_if = "Option::is_none")]
104    pub subscription_types_enabled: Option<Vec<String>>,
105    #[serde(rename = "topicDispatchRate", skip_serializing_if = "Option::is_none")]
106    pub topic_dispatch_rate: Option<std::collections::HashMap<String, models::DispatchRateImpl>>,
107}
108
109impl Policies {
110    pub fn new() -> Policies {
111        Policies {
112            auth_policies: None,
113            auto_subscription_creation_override: None,
114            auto_topic_creation_override: None,
115            backlog_quota_map: None,
116            bundles: None,
117            cluster_dispatch_rate: None,
118            cluster_subscribe_rate: None,
119            compaction_threshold: None,
120            deduplication_enabled: None,
121            deduplication_snapshot_interval_seconds: None,
122            delayed_delivery_policies: None,
123            deleted: None,
124            dispatcher_pause_on_ack_state_persistent_enabled: None,
125            encryption_required: None,
126            entry_filters: None,
127            inactive_topic_policies: None,
128            is_allow_auto_update_schema: None,
129            latency_stats_sample_rate: None,
130            max_consumers_per_subscription: None,
131            max_consumers_per_topic: None,
132            max_producers_per_topic: None,
133            max_subscriptions_per_topic: None,
134            max_topics_per_namespace: None,
135            max_unacked_messages_per_consumer: None,
136            max_unacked_messages_per_subscription: None,
137            message_ttl_in_seconds: None,
138            migrated: None,
139            offload_deletion_lag_ms: None,
140            offload_policies: None,
141            offload_threshold: None,
142            offload_threshold_in_seconds: None,
143            persistence: None,
144            properties: None,
145            publish_max_message_rate: None,
146            replication_clusters: None,
147            replicator_dispatch_rate: None,
148            resource_group_name: None,
149            retention_policies: None,
150            schema_auto_update_compatibility_strategy: None,
151            schema_compatibility_strategy: None,
152            schema_validation_enforced: None,
153            subscription_dispatch_rate: None,
154            subscription_auth_mode: None,
155            subscription_expiration_time_minutes: None,
156            subscription_types_enabled: None,
157            topic_dispatch_rate: None,
158        }
159    }
160}
161/// 
162#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
163pub enum SchemaAutoUpdateCompatibilityStrategy {
164    #[serde(rename = "AutoUpdateDisabled")]
165    AutoUpdateDisabled,
166    #[serde(rename = "Backward")]
167    Backward,
168    #[serde(rename = "Forward")]
169    Forward,
170    #[serde(rename = "Full")]
171    Full,
172    #[serde(rename = "AlwaysCompatible")]
173    AlwaysCompatible,
174    #[serde(rename = "BackwardTransitive")]
175    BackwardTransitive,
176    #[serde(rename = "ForwardTransitive")]
177    ForwardTransitive,
178    #[serde(rename = "FullTransitive")]
179    FullTransitive,
180}
181
182impl Default for SchemaAutoUpdateCompatibilityStrategy {
183    fn default() -> SchemaAutoUpdateCompatibilityStrategy {
184        Self::AutoUpdateDisabled
185    }
186}
187/// 
188#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
189pub enum SchemaCompatibilityStrategy {
190    #[serde(rename = "UNDEFINED")]
191    Undefined,
192    #[serde(rename = "ALWAYS_INCOMPATIBLE")]
193    AlwaysIncompatible,
194    #[serde(rename = "ALWAYS_COMPATIBLE")]
195    AlwaysCompatible,
196    #[serde(rename = "BACKWARD")]
197    Backward,
198    #[serde(rename = "FORWARD")]
199    Forward,
200    #[serde(rename = "FULL")]
201    Full,
202    #[serde(rename = "BACKWARD_TRANSITIVE")]
203    BackwardTransitive,
204    #[serde(rename = "FORWARD_TRANSITIVE")]
205    ForwardTransitive,
206    #[serde(rename = "FULL_TRANSITIVE")]
207    FullTransitive,
208}
209
210impl Default for SchemaCompatibilityStrategy {
211    fn default() -> SchemaCompatibilityStrategy {
212        Self::Undefined
213    }
214}
215/// 
216#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
217pub enum SubscriptionAuthMode {
218    #[serde(rename = "None")]
219    None,
220    #[serde(rename = "Prefix")]
221    Prefix,
222}
223
224impl Default for SubscriptionAuthMode {
225    fn default() -> SubscriptionAuthMode {
226        Self::None
227    }
228}
229