proxmox_api/generated/cluster/firewall/
options.rs

1pub struct OptionsClient<T> {
2    client: T,
3    path: String,
4}
5impl<T> OptionsClient<T>
6where
7    T: crate::client::Client,
8{
9    pub fn new(client: T, parent_path: &str) -> Self {
10        Self {
11            client,
12            path: format!("{}{}", parent_path, "/options"),
13        }
14    }
15}
16impl<T> OptionsClient<T>
17where
18    T: crate::client::Client,
19{
20    #[doc = "Get Firewall options."]
21    pub fn get(&self) -> Result<GetOutput, T::Error> {
22        let path = self.path.to_string();
23        self.client.get(&path, &())
24    }
25}
26impl<T> OptionsClient<T>
27where
28    T: crate::client::Client,
29{
30    #[doc = "Set Firewall options."]
31    pub fn put(&self, params: PutParams) -> Result<(), T::Error> {
32        let path = self.path.to_string();
33        self.client.put(&path, &params)
34    }
35}
36#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
37pub struct GetOutput {
38    #[serde(
39        serialize_with = "crate::types::serialize_bool_optional",
40        deserialize_with = "crate::types::deserialize_bool_optional"
41    )]
42    #[serde(skip_serializing_if = "Option::is_none", default)]
43    #[doc = "Enable ebtables rules cluster wide."]
44    pub ebtables: Option<bool>,
45    #[serde(
46        serialize_with = "crate::types::serialize_int_optional",
47        deserialize_with = "crate::types::deserialize_int_optional"
48    )]
49    #[serde(skip_serializing_if = "Option::is_none", default)]
50    #[doc = "Enable or disable the firewall cluster wide."]
51    pub enable: Option<u64>,
52    #[serde(skip_serializing_if = "Option::is_none", default)]
53    #[doc = "Log ratelimiting settings"]
54    pub log_ratelimit: Option<String>,
55    #[serde(skip_serializing_if = "Option::is_none", default)]
56    #[doc = "Input policy."]
57    pub policy_in: Option<PolicyIn>,
58    #[serde(skip_serializing_if = "Option::is_none", default)]
59    #[doc = "Output policy."]
60    pub policy_out: Option<PolicyOut>,
61    #[serde(
62        flatten,
63        default,
64        skip_serializing_if = "::std::collections::HashMap::is_empty"
65    )]
66    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
67}
68#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
69pub struct PutParams {
70    #[serde(skip_serializing_if = "Option::is_none", default)]
71    #[doc = "A list of settings you want to delete."]
72    pub delete: Option<String>,
73    #[serde(skip_serializing_if = "Option::is_none", default)]
74    #[doc = "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications."]
75    pub digest: Option<String>,
76    #[serde(
77        serialize_with = "crate::types::serialize_bool_optional",
78        deserialize_with = "crate::types::deserialize_bool_optional"
79    )]
80    #[serde(skip_serializing_if = "Option::is_none", default)]
81    #[doc = "Enable ebtables rules cluster wide."]
82    pub ebtables: Option<bool>,
83    #[serde(
84        serialize_with = "crate::types::serialize_int_optional",
85        deserialize_with = "crate::types::deserialize_int_optional"
86    )]
87    #[serde(skip_serializing_if = "Option::is_none", default)]
88    #[doc = "Enable or disable the firewall cluster wide."]
89    pub enable: Option<u64>,
90    #[serde(skip_serializing_if = "Option::is_none", default)]
91    #[doc = "Log ratelimiting settings"]
92    pub log_ratelimit: Option<String>,
93    #[serde(skip_serializing_if = "Option::is_none", default)]
94    #[doc = "Input policy."]
95    pub policy_in: Option<PolicyIn>,
96    #[serde(skip_serializing_if = "Option::is_none", default)]
97    #[doc = "Output policy."]
98    pub policy_out: Option<PolicyOut>,
99    #[serde(
100        flatten,
101        default,
102        skip_serializing_if = "::std::collections::HashMap::is_empty"
103    )]
104    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
105}
106#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
107pub enum PolicyIn {
108    ACCEPT,
109    DROP,
110    REJECT,
111}
112#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
113pub enum PolicyOut {
114    ACCEPT,
115    DROP,
116    REJECT,
117}