Skip to main content

schema_registry_client/rest/models/
server_config.rs

1use crate::rest::models;
2use serde::{Deserialize, Serialize};
3
4/// Config : Config
5#[derive(Clone, Default, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
6pub struct ServerConfig {
7    #[serde(rename = "compatibility", skip_serializing_if = "Option::is_none")]
8    pub compatibility: Option<CompatibilityLevel>,
9    #[serde(rename = "compatibilityLevel", skip_serializing_if = "Option::is_none")]
10    pub compatibility_level: Option<CompatibilityLevel>,
11    #[serde(rename = "alias", skip_serializing_if = "Option::is_none")]
12    pub alias: Option<String>,
13    #[serde(rename = "normalize", skip_serializing_if = "Option::is_none")]
14    pub normalize: Option<bool>,
15    #[serde(rename = "validateFields", skip_serializing_if = "Option::is_none")]
16    pub validate_fields: Option<bool>,
17    #[serde(rename = "validateRules", skip_serializing_if = "Option::is_none")]
18    pub validate_rules: Option<bool>,
19    #[serde(rename = "compatibilityGroup", skip_serializing_if = "Option::is_none")]
20    pub compatibility_group: Option<String>,
21    #[serde(rename = "defaultMetadata", skip_serializing_if = "Option::is_none")]
22    pub default_metadata: Option<Box<models::Metadata>>,
23    #[serde(rename = "overrideMetadata", skip_serializing_if = "Option::is_none")]
24    pub override_metadata: Option<Box<models::Metadata>>,
25    #[serde(rename = "defaultRuleSet", skip_serializing_if = "Option::is_none")]
26    pub default_rule_set: Option<Box<models::RuleSet>>,
27    #[serde(rename = "overrideRuleSet", skip_serializing_if = "Option::is_none")]
28    pub override_rule_set: Option<Box<models::RuleSet>>,
29}
30
31impl ServerConfig {
32    /// Config
33    pub fn new() -> ServerConfig {
34        ServerConfig {
35            compatibility: None,
36            compatibility_level: None,
37            alias: None,
38            normalize: None,
39            validate_fields: None,
40            validate_rules: None,
41            compatibility_group: None,
42            default_metadata: None,
43            override_metadata: None,
44            default_rule_set: None,
45            override_rule_set: None,
46        }
47    }
48}
49/// Compatibility Level
50#[derive(
51    Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, Default,
52)]
53pub enum CompatibilityLevel {
54    #[serde(rename = "BACKWARD")]
55    #[default]
56    Backward,
57    #[serde(rename = "BACKWARD_TRANSITIVE")]
58    BackwardTransitive,
59    #[serde(rename = "FORWARD")]
60    Forward,
61    #[serde(rename = "FORWARD_TRANSITIVE")]
62    ForwardTransitive,
63    #[serde(rename = "FULL")]
64    Full,
65    #[serde(rename = "FULL_TRANSITIVE")]
66    FullTransitive,
67    #[serde(rename = "NONE")]
68    None,
69}