proxmox_api/generated/cluster/firewall/
options.rs1pub 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, ¶ms)
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}