kacrab_protocol/generated/
delete_acls_request.rs1#![allow(
3 missing_docs,
4 clippy::all,
5 clippy::pedantic,
6 clippy::nursery,
7 clippy::arithmetic_side_effects,
8 reason = "Generated protocol modules mirror Kafka's schema shape and intentionally trade \
9 hand-written lint style for reproducible wire-code output."
10)]
11use bytes::{Bytes, BytesMut};
12
13use crate::*;
14
15#[derive(Debug, Clone, PartialEq)]
16pub struct DeleteAclsRequestData {
17 pub filters: Vec<DeleteAclsFilter>,
19 pub _unknown_tagged_fields: Vec<RawTaggedField>,
20}
21impl Default for DeleteAclsRequestData {
22 fn default() -> Self {
23 Self {
24 filters: Vec::new(),
25 _unknown_tagged_fields: Vec::new(),
26 }
27 }
28}
29impl DeleteAclsRequestData {
30 pub fn with_filters(mut self, value: Vec<DeleteAclsFilter>) -> Self {
31 self.filters = value;
32 self
33 }
34 pub fn read(buf: &mut Bytes, version: i16) -> Result<Self> {
35 if version < 1 || version > 3 {
36 return Err(UnsupportedVersion::new(31, version).into());
37 }
38 let filters;
39 let mut _unknown_tagged_fields: Vec<RawTaggedField> = Vec::new();
40 if version >= 2 {
41 filters = {
42 let len = read_compact_array_length(buf)?;
43 let mut arr = Vec::with_capacity(array_read_capacity(len, (buf).len()));
44 for _ in 0..len {
45 arr.push(DeleteAclsFilter::read(buf, version)?);
46 }
47 arr
48 };
49 } else {
50 filters = {
51 let len = read_array_length(buf)?;
52 let mut arr = Vec::with_capacity(array_read_capacity(len, (buf).len()));
53 for _ in 0..len {
54 arr.push(DeleteAclsFilter::read(buf, version)?);
55 }
56 arr
57 };
58 }
59 if version >= 2 {
60 let tagged_fields = read_tagged_fields(buf)?;
61 for field in &tagged_fields {
62 match field.tag {
63 _ => {
64 _unknown_tagged_fields.push(field.clone());
65 },
66 }
67 }
68 }
69 Ok(Self {
70 filters,
71 _unknown_tagged_fields,
72 })
73 }
74 pub fn write(&self, buf: &mut BytesMut, version: i16) -> Result<()> {
75 if version < 1 || version > 3 {
76 return Err(UnsupportedVersion::new(31, version).into());
77 }
78 if version >= 2 {
79 write_compact_array_length(buf, self.filters.len() as i32);
80 for el in &self.filters {
81 el.write(buf, version)?;
82 }
83 } else {
84 write_array_length(buf, self.filters.len() as i32);
85 for el in &self.filters {
86 el.write(buf, version)?;
87 }
88 }
89 if version >= 2 {
90 let mut all_tags: Vec<RawTaggedField> = self._unknown_tagged_fields.clone();
91 all_tags.sort_by_key(|f| f.tag);
92 write_tagged_fields(buf, &all_tags)?;
93 }
94 Ok(())
95 }
96 pub fn encoded_len(&self, version: i16) -> Result<usize> {
97 if version < 1 || version > 3 {
98 return Err(UnsupportedVersion::new(31, version).into());
99 }
100 let mut len: usize = 0;
101 if version >= 2 {
102 len += compact_array_length_len(self.filters.len() as i32);
103 for el in &self.filters {
104 len += el.encoded_len(version)?;
105 }
106 } else {
107 len += array_length_len();
108 for el in &self.filters {
109 len += el.encoded_len(version)?;
110 }
111 }
112 if version >= 2 {
113 let mut all_tags: Vec<RawTaggedField> = self._unknown_tagged_fields.clone();
114 all_tags.sort_by_key(|f| f.tag);
115 len += tagged_fields_len(&all_tags)?;
116 }
117 Ok(len)
118 }
119}
120#[derive(Debug, Clone, PartialEq)]
121pub struct DeleteAclsFilter {
122 pub resource_type_filter: i8,
124 pub resource_name_filter: Option<KafkaString>,
126 pub pattern_type_filter: i8,
128 pub principal_filter: Option<KafkaString>,
130 pub host_filter: Option<KafkaString>,
132 pub operation: i8,
134 pub permission_type: i8,
136 pub _unknown_tagged_fields: Vec<RawTaggedField>,
137}
138impl Default for DeleteAclsFilter {
139 fn default() -> Self {
140 Self {
141 resource_type_filter: 0_i8,
142 resource_name_filter: None,
143 pattern_type_filter: 3i8,
144 principal_filter: None,
145 host_filter: None,
146 operation: 0_i8,
147 permission_type: 0_i8,
148 _unknown_tagged_fields: Vec::new(),
149 }
150 }
151}
152impl DeleteAclsFilter {
153 pub fn with_resource_type_filter(mut self, value: i8) -> Self {
154 self.resource_type_filter = value;
155 self
156 }
157 pub fn with_resource_name_filter(mut self, value: Option<KafkaString>) -> Self {
158 self.resource_name_filter = value;
159 self
160 }
161 pub fn with_pattern_type_filter(mut self, value: i8) -> Self {
162 self.pattern_type_filter = value;
163 self
164 }
165 pub fn with_principal_filter(mut self, value: Option<KafkaString>) -> Self {
166 self.principal_filter = value;
167 self
168 }
169 pub fn with_host_filter(mut self, value: Option<KafkaString>) -> Self {
170 self.host_filter = value;
171 self
172 }
173 pub fn with_operation(mut self, value: i8) -> Self {
174 self.operation = value;
175 self
176 }
177 pub fn with_permission_type(mut self, value: i8) -> Self {
178 self.permission_type = value;
179 self
180 }
181 pub fn read(buf: &mut Bytes, version: i16) -> Result<Self> {
182 let resource_type_filter;
183 let resource_name_filter;
184 let pattern_type_filter;
185 let principal_filter;
186 let host_filter;
187 let operation;
188 let permission_type;
189 let mut _unknown_tagged_fields: Vec<RawTaggedField> = Vec::new();
190 resource_type_filter = read_i8(buf)?;
191 if version >= 2 {
192 resource_name_filter = read_compact_nullable_string(buf)?;
193 } else {
194 resource_name_filter = read_nullable_string(buf)?;
195 }
196 pattern_type_filter = read_i8(buf)?;
197 if version >= 2 {
198 principal_filter = read_compact_nullable_string(buf)?;
199 } else {
200 principal_filter = read_nullable_string(buf)?;
201 }
202 if version >= 2 {
203 host_filter = read_compact_nullable_string(buf)?;
204 } else {
205 host_filter = read_nullable_string(buf)?;
206 }
207 operation = read_i8(buf)?;
208 permission_type = read_i8(buf)?;
209 if version >= 2 {
210 let tagged_fields = read_tagged_fields(buf)?;
211 for field in &tagged_fields {
212 match field.tag {
213 _ => {
214 _unknown_tagged_fields.push(field.clone());
215 },
216 }
217 }
218 }
219 Ok(Self {
220 resource_type_filter,
221 resource_name_filter,
222 pattern_type_filter,
223 principal_filter,
224 host_filter,
225 operation,
226 permission_type,
227 _unknown_tagged_fields,
228 })
229 }
230 pub fn write(&self, buf: &mut BytesMut, version: i16) -> Result<()> {
231 write_i8(buf, self.resource_type_filter);
232 if version >= 2 {
233 write_compact_nullable_string(buf, self.resource_name_filter.as_ref())?;
234 } else {
235 write_nullable_string(buf, self.resource_name_filter.as_ref())?;
236 }
237 write_i8(buf, self.pattern_type_filter);
238 if version >= 2 {
239 write_compact_nullable_string(buf, self.principal_filter.as_ref())?;
240 } else {
241 write_nullable_string(buf, self.principal_filter.as_ref())?;
242 }
243 if version >= 2 {
244 write_compact_nullable_string(buf, self.host_filter.as_ref())?;
245 } else {
246 write_nullable_string(buf, self.host_filter.as_ref())?;
247 }
248 write_i8(buf, self.operation);
249 write_i8(buf, self.permission_type);
250 if version >= 2 {
251 let mut all_tags: Vec<RawTaggedField> = self._unknown_tagged_fields.clone();
252 all_tags.sort_by_key(|f| f.tag);
253 write_tagged_fields(buf, &all_tags)?;
254 }
255 Ok(())
256 }
257 pub fn encoded_len(&self, version: i16) -> Result<usize> {
258 let mut len: usize = 0;
259 len += 1;
260 if version >= 2 {
261 len += compact_nullable_string_len(self.resource_name_filter.as_ref())?;
262 } else {
263 len += nullable_string_len(self.resource_name_filter.as_ref())?;
264 }
265 len += 1;
266 if version >= 2 {
267 len += compact_nullable_string_len(self.principal_filter.as_ref())?;
268 } else {
269 len += nullable_string_len(self.principal_filter.as_ref())?;
270 }
271 if version >= 2 {
272 len += compact_nullable_string_len(self.host_filter.as_ref())?;
273 } else {
274 len += nullable_string_len(self.host_filter.as_ref())?;
275 }
276 len += 1;
277 len += 1;
278 if version >= 2 {
279 let mut all_tags: Vec<RawTaggedField> = self._unknown_tagged_fields.clone();
280 all_tags.sort_by_key(|f| f.tag);
281 len += tagged_fields_len(&all_tags)?;
282 }
283 Ok(len)
284 }
285}