google_cloud_retail_v2/model/
debug.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17#[allow(unused_imports)]
18use super::*;
19
20impl std::fmt::Debug for super::ProductLevelConfig {
21    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
22        let mut debug_struct = f.debug_struct("ProductLevelConfig");
23        debug_struct.field("ingestion_product_type", &self.ingestion_product_type);
24        debug_struct.field(
25            "merchant_center_product_id_field",
26            &self.merchant_center_product_id_field,
27        );
28        if !self._unknown_fields.is_empty() {
29            debug_struct.field("_unknown_fields", &self._unknown_fields);
30        }
31        debug_struct.finish()
32    }
33}
34
35impl std::fmt::Debug for super::CatalogAttribute {
36    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
37        let mut debug_struct = f.debug_struct("CatalogAttribute");
38        debug_struct.field("key", &self.key);
39        debug_struct.field("in_use", &self.in_use);
40        debug_struct.field("r#type", &self.r#type);
41        debug_struct.field("indexable_option", &self.indexable_option);
42        debug_struct.field("dynamic_facetable_option", &self.dynamic_facetable_option);
43        debug_struct.field("searchable_option", &self.searchable_option);
44        debug_struct.field("exact_searchable_option", &self.exact_searchable_option);
45        debug_struct.field("retrievable_option", &self.retrievable_option);
46        debug_struct.field("facet_config", &self.facet_config);
47        if !self._unknown_fields.is_empty() {
48            debug_struct.field("_unknown_fields", &self._unknown_fields);
49        }
50        debug_struct.finish()
51    }
52}
53
54impl std::fmt::Debug for super::catalog_attribute::FacetConfig {
55    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
56        let mut debug_struct = f.debug_struct("FacetConfig");
57        debug_struct.field("facet_intervals", &self.facet_intervals);
58        debug_struct.field("ignored_facet_values", &self.ignored_facet_values);
59        debug_struct.field("merged_facet_values", &self.merged_facet_values);
60        debug_struct.field("merged_facet", &self.merged_facet);
61        debug_struct.field("rerank_config", &self.rerank_config);
62        if !self._unknown_fields.is_empty() {
63            debug_struct.field("_unknown_fields", &self._unknown_fields);
64        }
65        debug_struct.finish()
66    }
67}
68
69impl std::fmt::Debug for super::catalog_attribute::facet_config::IgnoredFacetValues {
70    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
71        let mut debug_struct = f.debug_struct("IgnoredFacetValues");
72        debug_struct.field("values", &self.values);
73        debug_struct.field("start_time", &self.start_time);
74        debug_struct.field("end_time", &self.end_time);
75        if !self._unknown_fields.is_empty() {
76            debug_struct.field("_unknown_fields", &self._unknown_fields);
77        }
78        debug_struct.finish()
79    }
80}
81
82impl std::fmt::Debug for super::catalog_attribute::facet_config::MergedFacetValue {
83    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
84        let mut debug_struct = f.debug_struct("MergedFacetValue");
85        debug_struct.field("values", &self.values);
86        debug_struct.field("merged_value", &self.merged_value);
87        if !self._unknown_fields.is_empty() {
88            debug_struct.field("_unknown_fields", &self._unknown_fields);
89        }
90        debug_struct.finish()
91    }
92}
93
94impl std::fmt::Debug for super::catalog_attribute::facet_config::MergedFacet {
95    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
96        let mut debug_struct = f.debug_struct("MergedFacet");
97        debug_struct.field("merged_facet_key", &self.merged_facet_key);
98        if !self._unknown_fields.is_empty() {
99            debug_struct.field("_unknown_fields", &self._unknown_fields);
100        }
101        debug_struct.finish()
102    }
103}
104
105impl std::fmt::Debug for super::catalog_attribute::facet_config::RerankConfig {
106    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
107        let mut debug_struct = f.debug_struct("RerankConfig");
108        debug_struct.field("rerank_facet", &self.rerank_facet);
109        debug_struct.field("facet_values", &self.facet_values);
110        if !self._unknown_fields.is_empty() {
111            debug_struct.field("_unknown_fields", &self._unknown_fields);
112        }
113        debug_struct.finish()
114    }
115}
116
117impl std::fmt::Debug for super::AttributesConfig {
118    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
119        let mut debug_struct = f.debug_struct("AttributesConfig");
120        debug_struct.field("name", &self.name);
121        debug_struct.field("catalog_attributes", &self.catalog_attributes);
122        debug_struct.field("attribute_config_level", &self.attribute_config_level);
123        if !self._unknown_fields.is_empty() {
124            debug_struct.field("_unknown_fields", &self._unknown_fields);
125        }
126        debug_struct.finish()
127    }
128}
129
130impl std::fmt::Debug for super::CompletionConfig {
131    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
132        let mut debug_struct = f.debug_struct("CompletionConfig");
133        debug_struct.field("name", &self.name);
134        debug_struct.field("matching_order", &self.matching_order);
135        debug_struct.field("max_suggestions", &self.max_suggestions);
136        debug_struct.field("min_prefix_length", &self.min_prefix_length);
137        debug_struct.field("auto_learning", &self.auto_learning);
138        debug_struct.field("suggestions_input_config", &self.suggestions_input_config);
139        debug_struct.field(
140            "last_suggestions_import_operation",
141            &self.last_suggestions_import_operation,
142        );
143        debug_struct.field("denylist_input_config", &self.denylist_input_config);
144        debug_struct.field(
145            "last_denylist_import_operation",
146            &self.last_denylist_import_operation,
147        );
148        debug_struct.field("allowlist_input_config", &self.allowlist_input_config);
149        debug_struct.field(
150            "last_allowlist_import_operation",
151            &self.last_allowlist_import_operation,
152        );
153        if !self._unknown_fields.is_empty() {
154            debug_struct.field("_unknown_fields", &self._unknown_fields);
155        }
156        debug_struct.finish()
157    }
158}
159
160impl std::fmt::Debug for super::Catalog {
161    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
162        let mut debug_struct = f.debug_struct("Catalog");
163        debug_struct.field("name", &self.name);
164        debug_struct.field("display_name", &self.display_name);
165        debug_struct.field("product_level_config", &self.product_level_config);
166        if !self._unknown_fields.is_empty() {
167            debug_struct.field("_unknown_fields", &self._unknown_fields);
168        }
169        debug_struct.finish()
170    }
171}
172
173impl std::fmt::Debug for super::ListCatalogsRequest {
174    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
175        let mut debug_struct = f.debug_struct("ListCatalogsRequest");
176        debug_struct.field("parent", &self.parent);
177        debug_struct.field("page_size", &self.page_size);
178        debug_struct.field("page_token", &self.page_token);
179        if !self._unknown_fields.is_empty() {
180            debug_struct.field("_unknown_fields", &self._unknown_fields);
181        }
182        debug_struct.finish()
183    }
184}
185
186impl std::fmt::Debug for super::ListCatalogsResponse {
187    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
188        let mut debug_struct = f.debug_struct("ListCatalogsResponse");
189        debug_struct.field("catalogs", &self.catalogs);
190        debug_struct.field("next_page_token", &self.next_page_token);
191        if !self._unknown_fields.is_empty() {
192            debug_struct.field("_unknown_fields", &self._unknown_fields);
193        }
194        debug_struct.finish()
195    }
196}
197
198impl std::fmt::Debug for super::UpdateCatalogRequest {
199    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
200        let mut debug_struct = f.debug_struct("UpdateCatalogRequest");
201        debug_struct.field("catalog", &self.catalog);
202        debug_struct.field("update_mask", &self.update_mask);
203        if !self._unknown_fields.is_empty() {
204            debug_struct.field("_unknown_fields", &self._unknown_fields);
205        }
206        debug_struct.finish()
207    }
208}
209
210impl std::fmt::Debug for super::SetDefaultBranchRequest {
211    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
212        let mut debug_struct = f.debug_struct("SetDefaultBranchRequest");
213        debug_struct.field("catalog", &self.catalog);
214        debug_struct.field("branch_id", &self.branch_id);
215        debug_struct.field("note", &self.note);
216        debug_struct.field("force", &self.force);
217        if !self._unknown_fields.is_empty() {
218            debug_struct.field("_unknown_fields", &self._unknown_fields);
219        }
220        debug_struct.finish()
221    }
222}
223
224impl std::fmt::Debug for super::GetDefaultBranchRequest {
225    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
226        let mut debug_struct = f.debug_struct("GetDefaultBranchRequest");
227        debug_struct.field("catalog", &self.catalog);
228        if !self._unknown_fields.is_empty() {
229            debug_struct.field("_unknown_fields", &self._unknown_fields);
230        }
231        debug_struct.finish()
232    }
233}
234
235impl std::fmt::Debug for super::GetDefaultBranchResponse {
236    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
237        let mut debug_struct = f.debug_struct("GetDefaultBranchResponse");
238        debug_struct.field("branch", &self.branch);
239        debug_struct.field("set_time", &self.set_time);
240        debug_struct.field("note", &self.note);
241        if !self._unknown_fields.is_empty() {
242            debug_struct.field("_unknown_fields", &self._unknown_fields);
243        }
244        debug_struct.finish()
245    }
246}
247
248impl std::fmt::Debug for super::GetCompletionConfigRequest {
249    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
250        let mut debug_struct = f.debug_struct("GetCompletionConfigRequest");
251        debug_struct.field("name", &self.name);
252        if !self._unknown_fields.is_empty() {
253            debug_struct.field("_unknown_fields", &self._unknown_fields);
254        }
255        debug_struct.finish()
256    }
257}
258
259impl std::fmt::Debug for super::UpdateCompletionConfigRequest {
260    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
261        let mut debug_struct = f.debug_struct("UpdateCompletionConfigRequest");
262        debug_struct.field("completion_config", &self.completion_config);
263        debug_struct.field("update_mask", &self.update_mask);
264        if !self._unknown_fields.is_empty() {
265            debug_struct.field("_unknown_fields", &self._unknown_fields);
266        }
267        debug_struct.finish()
268    }
269}
270
271impl std::fmt::Debug for super::GetAttributesConfigRequest {
272    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
273        let mut debug_struct = f.debug_struct("GetAttributesConfigRequest");
274        debug_struct.field("name", &self.name);
275        if !self._unknown_fields.is_empty() {
276            debug_struct.field("_unknown_fields", &self._unknown_fields);
277        }
278        debug_struct.finish()
279    }
280}
281
282impl std::fmt::Debug for super::UpdateAttributesConfigRequest {
283    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
284        let mut debug_struct = f.debug_struct("UpdateAttributesConfigRequest");
285        debug_struct.field("attributes_config", &self.attributes_config);
286        debug_struct.field("update_mask", &self.update_mask);
287        if !self._unknown_fields.is_empty() {
288            debug_struct.field("_unknown_fields", &self._unknown_fields);
289        }
290        debug_struct.finish()
291    }
292}
293
294impl std::fmt::Debug for super::AddCatalogAttributeRequest {
295    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
296        let mut debug_struct = f.debug_struct("AddCatalogAttributeRequest");
297        debug_struct.field("attributes_config", &self.attributes_config);
298        debug_struct.field("catalog_attribute", &self.catalog_attribute);
299        if !self._unknown_fields.is_empty() {
300            debug_struct.field("_unknown_fields", &self._unknown_fields);
301        }
302        debug_struct.finish()
303    }
304}
305
306impl std::fmt::Debug for super::RemoveCatalogAttributeRequest {
307    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
308        let mut debug_struct = f.debug_struct("RemoveCatalogAttributeRequest");
309        debug_struct.field("attributes_config", &self.attributes_config);
310        debug_struct.field("key", &self.key);
311        if !self._unknown_fields.is_empty() {
312            debug_struct.field("_unknown_fields", &self._unknown_fields);
313        }
314        debug_struct.finish()
315    }
316}
317
318impl std::fmt::Debug for super::ReplaceCatalogAttributeRequest {
319    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
320        let mut debug_struct = f.debug_struct("ReplaceCatalogAttributeRequest");
321        debug_struct.field("attributes_config", &self.attributes_config);
322        debug_struct.field("catalog_attribute", &self.catalog_attribute);
323        debug_struct.field("update_mask", &self.update_mask);
324        if !self._unknown_fields.is_empty() {
325            debug_struct.field("_unknown_fields", &self._unknown_fields);
326        }
327        debug_struct.finish()
328    }
329}
330
331impl std::fmt::Debug for super::Condition {
332    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
333        let mut debug_struct = f.debug_struct("Condition");
334        debug_struct.field("query_terms", &self.query_terms);
335        debug_struct.field("active_time_range", &self.active_time_range);
336        debug_struct.field("page_categories", &self.page_categories);
337        if !self._unknown_fields.is_empty() {
338            debug_struct.field("_unknown_fields", &self._unknown_fields);
339        }
340        debug_struct.finish()
341    }
342}
343
344impl std::fmt::Debug for super::condition::QueryTerm {
345    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
346        let mut debug_struct = f.debug_struct("QueryTerm");
347        debug_struct.field("value", &self.value);
348        debug_struct.field("full_match", &self.full_match);
349        if !self._unknown_fields.is_empty() {
350            debug_struct.field("_unknown_fields", &self._unknown_fields);
351        }
352        debug_struct.finish()
353    }
354}
355
356impl std::fmt::Debug for super::condition::TimeRange {
357    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
358        let mut debug_struct = f.debug_struct("TimeRange");
359        debug_struct.field("start_time", &self.start_time);
360        debug_struct.field("end_time", &self.end_time);
361        if !self._unknown_fields.is_empty() {
362            debug_struct.field("_unknown_fields", &self._unknown_fields);
363        }
364        debug_struct.finish()
365    }
366}
367
368impl std::fmt::Debug for super::Rule {
369    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
370        let mut debug_struct = f.debug_struct("Rule");
371        debug_struct.field("condition", &self.condition);
372        debug_struct.field("action", &self.action);
373        if !self._unknown_fields.is_empty() {
374            debug_struct.field("_unknown_fields", &self._unknown_fields);
375        }
376        debug_struct.finish()
377    }
378}
379
380impl std::fmt::Debug for super::rule::BoostAction {
381    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
382        let mut debug_struct = f.debug_struct("BoostAction");
383        debug_struct.field("boost", &self.boost);
384        debug_struct.field("products_filter", &self.products_filter);
385        if !self._unknown_fields.is_empty() {
386            debug_struct.field("_unknown_fields", &self._unknown_fields);
387        }
388        debug_struct.finish()
389    }
390}
391
392impl std::fmt::Debug for super::rule::FilterAction {
393    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
394        let mut debug_struct = f.debug_struct("FilterAction");
395        debug_struct.field("filter", &self.filter);
396        if !self._unknown_fields.is_empty() {
397            debug_struct.field("_unknown_fields", &self._unknown_fields);
398        }
399        debug_struct.finish()
400    }
401}
402
403impl std::fmt::Debug for super::rule::RedirectAction {
404    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
405        let mut debug_struct = f.debug_struct("RedirectAction");
406        debug_struct.field("redirect_uri", &self.redirect_uri);
407        if !self._unknown_fields.is_empty() {
408            debug_struct.field("_unknown_fields", &self._unknown_fields);
409        }
410        debug_struct.finish()
411    }
412}
413
414impl std::fmt::Debug for super::rule::TwowaySynonymsAction {
415    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
416        let mut debug_struct = f.debug_struct("TwowaySynonymsAction");
417        debug_struct.field("synonyms", &self.synonyms);
418        if !self._unknown_fields.is_empty() {
419            debug_struct.field("_unknown_fields", &self._unknown_fields);
420        }
421        debug_struct.finish()
422    }
423}
424
425impl std::fmt::Debug for super::rule::OnewaySynonymsAction {
426    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
427        let mut debug_struct = f.debug_struct("OnewaySynonymsAction");
428        debug_struct.field("query_terms", &self.query_terms);
429        debug_struct.field("synonyms", &self.synonyms);
430        debug_struct.field("oneway_terms", &self.oneway_terms);
431        if !self._unknown_fields.is_empty() {
432            debug_struct.field("_unknown_fields", &self._unknown_fields);
433        }
434        debug_struct.finish()
435    }
436}
437
438impl std::fmt::Debug for super::rule::DoNotAssociateAction {
439    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
440        let mut debug_struct = f.debug_struct("DoNotAssociateAction");
441        debug_struct.field("query_terms", &self.query_terms);
442        debug_struct.field("do_not_associate_terms", &self.do_not_associate_terms);
443        debug_struct.field("terms", &self.terms);
444        if !self._unknown_fields.is_empty() {
445            debug_struct.field("_unknown_fields", &self._unknown_fields);
446        }
447        debug_struct.finish()
448    }
449}
450
451impl std::fmt::Debug for super::rule::ReplacementAction {
452    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
453        let mut debug_struct = f.debug_struct("ReplacementAction");
454        debug_struct.field("query_terms", &self.query_terms);
455        debug_struct.field("replacement_term", &self.replacement_term);
456        debug_struct.field("term", &self.term);
457        if !self._unknown_fields.is_empty() {
458            debug_struct.field("_unknown_fields", &self._unknown_fields);
459        }
460        debug_struct.finish()
461    }
462}
463
464impl std::fmt::Debug for super::rule::IgnoreAction {
465    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
466        let mut debug_struct = f.debug_struct("IgnoreAction");
467        debug_struct.field("ignore_terms", &self.ignore_terms);
468        if !self._unknown_fields.is_empty() {
469            debug_struct.field("_unknown_fields", &self._unknown_fields);
470        }
471        debug_struct.finish()
472    }
473}
474
475impl std::fmt::Debug for super::rule::ForceReturnFacetAction {
476    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
477        let mut debug_struct = f.debug_struct("ForceReturnFacetAction");
478        debug_struct.field(
479            "facet_position_adjustments",
480            &self.facet_position_adjustments,
481        );
482        if !self._unknown_fields.is_empty() {
483            debug_struct.field("_unknown_fields", &self._unknown_fields);
484        }
485        debug_struct.finish()
486    }
487}
488
489impl std::fmt::Debug for super::rule::force_return_facet_action::FacetPositionAdjustment {
490    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
491        let mut debug_struct = f.debug_struct("FacetPositionAdjustment");
492        debug_struct.field("attribute_name", &self.attribute_name);
493        debug_struct.field("position", &self.position);
494        if !self._unknown_fields.is_empty() {
495            debug_struct.field("_unknown_fields", &self._unknown_fields);
496        }
497        debug_struct.finish()
498    }
499}
500
501impl std::fmt::Debug for super::rule::RemoveFacetAction {
502    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
503        let mut debug_struct = f.debug_struct("RemoveFacetAction");
504        debug_struct.field("attribute_names", &self.attribute_names);
505        if !self._unknown_fields.is_empty() {
506            debug_struct.field("_unknown_fields", &self._unknown_fields);
507        }
508        debug_struct.finish()
509    }
510}
511
512impl std::fmt::Debug for super::rule::PinAction {
513    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
514        let mut debug_struct = f.debug_struct("PinAction");
515        debug_struct.field("pin_map", &self.pin_map);
516        if !self._unknown_fields.is_empty() {
517            debug_struct.field("_unknown_fields", &self._unknown_fields);
518        }
519        debug_struct.finish()
520    }
521}
522
523impl std::fmt::Debug for super::Audience {
524    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
525        let mut debug_struct = f.debug_struct("Audience");
526        debug_struct.field("genders", &self.genders);
527        debug_struct.field("age_groups", &self.age_groups);
528        if !self._unknown_fields.is_empty() {
529            debug_struct.field("_unknown_fields", &self._unknown_fields);
530        }
531        debug_struct.finish()
532    }
533}
534
535impl std::fmt::Debug for super::ColorInfo {
536    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
537        let mut debug_struct = f.debug_struct("ColorInfo");
538        debug_struct.field("color_families", &self.color_families);
539        debug_struct.field("colors", &self.colors);
540        if !self._unknown_fields.is_empty() {
541            debug_struct.field("_unknown_fields", &self._unknown_fields);
542        }
543        debug_struct.finish()
544    }
545}
546
547impl std::fmt::Debug for super::CustomAttribute {
548    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
549        let mut debug_struct = f.debug_struct("CustomAttribute");
550        debug_struct.field("text", &self.text);
551        debug_struct.field("numbers", &self.numbers);
552        debug_struct.field("searchable", &self.searchable);
553        debug_struct.field("indexable", &self.indexable);
554        if !self._unknown_fields.is_empty() {
555            debug_struct.field("_unknown_fields", &self._unknown_fields);
556        }
557        debug_struct.finish()
558    }
559}
560
561impl std::fmt::Debug for super::FulfillmentInfo {
562    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
563        let mut debug_struct = f.debug_struct("FulfillmentInfo");
564        debug_struct.field("r#type", &self.r#type);
565        debug_struct.field("place_ids", &self.place_ids);
566        if !self._unknown_fields.is_empty() {
567            debug_struct.field("_unknown_fields", &self._unknown_fields);
568        }
569        debug_struct.finish()
570    }
571}
572
573impl std::fmt::Debug for super::Image {
574    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
575        let mut debug_struct = f.debug_struct("Image");
576        debug_struct.field("uri", &self.uri);
577        debug_struct.field("height", &self.height);
578        debug_struct.field("width", &self.width);
579        if !self._unknown_fields.is_empty() {
580            debug_struct.field("_unknown_fields", &self._unknown_fields);
581        }
582        debug_struct.finish()
583    }
584}
585
586impl std::fmt::Debug for super::Interval {
587    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
588        let mut debug_struct = f.debug_struct("Interval");
589        debug_struct.field("min", &self.min);
590        debug_struct.field("max", &self.max);
591        if !self._unknown_fields.is_empty() {
592            debug_struct.field("_unknown_fields", &self._unknown_fields);
593        }
594        debug_struct.finish()
595    }
596}
597
598impl std::fmt::Debug for super::PriceInfo {
599    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
600        let mut debug_struct = f.debug_struct("PriceInfo");
601        debug_struct.field("currency_code", &self.currency_code);
602        debug_struct.field("price", &self.price);
603        debug_struct.field("original_price", &self.original_price);
604        debug_struct.field("cost", &self.cost);
605        debug_struct.field("price_effective_time", &self.price_effective_time);
606        debug_struct.field("price_expire_time", &self.price_expire_time);
607        debug_struct.field("price_range", &self.price_range);
608        if !self._unknown_fields.is_empty() {
609            debug_struct.field("_unknown_fields", &self._unknown_fields);
610        }
611        debug_struct.finish()
612    }
613}
614
615impl std::fmt::Debug for super::price_info::PriceRange {
616    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
617        let mut debug_struct = f.debug_struct("PriceRange");
618        debug_struct.field("price", &self.price);
619        debug_struct.field("original_price", &self.original_price);
620        if !self._unknown_fields.is_empty() {
621            debug_struct.field("_unknown_fields", &self._unknown_fields);
622        }
623        debug_struct.finish()
624    }
625}
626
627impl std::fmt::Debug for super::Rating {
628    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
629        let mut debug_struct = f.debug_struct("Rating");
630        debug_struct.field("rating_count", &self.rating_count);
631        debug_struct.field("average_rating", &self.average_rating);
632        debug_struct.field("rating_histogram", &self.rating_histogram);
633        if !self._unknown_fields.is_empty() {
634            debug_struct.field("_unknown_fields", &self._unknown_fields);
635        }
636        debug_struct.finish()
637    }
638}
639
640impl std::fmt::Debug for super::UserInfo {
641    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
642        let mut debug_struct = f.debug_struct("UserInfo");
643        debug_struct.field("user_id", &self.user_id);
644        debug_struct.field("ip_address", &self.ip_address);
645        debug_struct.field("user_agent", &self.user_agent);
646        debug_struct.field("direct_user_request", &self.direct_user_request);
647        if !self._unknown_fields.is_empty() {
648            debug_struct.field("_unknown_fields", &self._unknown_fields);
649        }
650        debug_struct.finish()
651    }
652}
653
654impl std::fmt::Debug for super::LocalInventory {
655    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
656        let mut debug_struct = f.debug_struct("LocalInventory");
657        debug_struct.field("place_id", &self.place_id);
658        debug_struct.field("price_info", &self.price_info);
659        debug_struct.field("attributes", &self.attributes);
660        debug_struct.field("fulfillment_types", &self.fulfillment_types);
661        if !self._unknown_fields.is_empty() {
662            debug_struct.field("_unknown_fields", &self._unknown_fields);
663        }
664        debug_struct.finish()
665    }
666}
667
668impl std::fmt::Debug for super::PinControlMetadata {
669    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
670        let mut debug_struct = f.debug_struct("PinControlMetadata");
671        debug_struct.field("all_matched_pins", &self.all_matched_pins);
672        debug_struct.field("dropped_pins", &self.dropped_pins);
673        if !self._unknown_fields.is_empty() {
674            debug_struct.field("_unknown_fields", &self._unknown_fields);
675        }
676        debug_struct.finish()
677    }
678}
679
680impl std::fmt::Debug for super::pin_control_metadata::ProductPins {
681    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
682        let mut debug_struct = f.debug_struct("ProductPins");
683        debug_struct.field("product_id", &self.product_id);
684        if !self._unknown_fields.is_empty() {
685            debug_struct.field("_unknown_fields", &self._unknown_fields);
686        }
687        debug_struct.finish()
688    }
689}
690
691impl std::fmt::Debug for super::StringList {
692    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
693        let mut debug_struct = f.debug_struct("StringList");
694        debug_struct.field("values", &self.values);
695        if !self._unknown_fields.is_empty() {
696            debug_struct.field("_unknown_fields", &self._unknown_fields);
697        }
698        debug_struct.finish()
699    }
700}
701
702impl std::fmt::Debug for super::DoubleList {
703    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
704        let mut debug_struct = f.debug_struct("DoubleList");
705        debug_struct.field("values", &self.values);
706        if !self._unknown_fields.is_empty() {
707            debug_struct.field("_unknown_fields", &self._unknown_fields);
708        }
709        debug_struct.finish()
710    }
711}
712
713impl std::fmt::Debug for super::CompleteQueryRequest {
714    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
715        let mut debug_struct = f.debug_struct("CompleteQueryRequest");
716        debug_struct.field("catalog", &self.catalog);
717        debug_struct.field("query", &self.query);
718        debug_struct.field("visitor_id", &self.visitor_id);
719        debug_struct.field("language_codes", &self.language_codes);
720        debug_struct.field("device_type", &self.device_type);
721        debug_struct.field("dataset", &self.dataset);
722        debug_struct.field("max_suggestions", &self.max_suggestions);
723        debug_struct.field(
724            "enable_attribute_suggestions",
725            &self.enable_attribute_suggestions,
726        );
727        debug_struct.field("entity", &self.entity);
728        if !self._unknown_fields.is_empty() {
729            debug_struct.field("_unknown_fields", &self._unknown_fields);
730        }
731        debug_struct.finish()
732    }
733}
734
735impl std::fmt::Debug for super::CompleteQueryResponse {
736    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
737        let mut debug_struct = f.debug_struct("CompleteQueryResponse");
738        debug_struct.field("completion_results", &self.completion_results);
739        debug_struct.field("attribution_token", &self.attribution_token);
740        debug_struct.field("recent_search_results", &self.recent_search_results);
741        debug_struct.field("attribute_results", &self.attribute_results);
742        if !self._unknown_fields.is_empty() {
743            debug_struct.field("_unknown_fields", &self._unknown_fields);
744        }
745        debug_struct.finish()
746    }
747}
748
749impl std::fmt::Debug for super::complete_query_response::CompletionResult {
750    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
751        let mut debug_struct = f.debug_struct("CompletionResult");
752        debug_struct.field("suggestion", &self.suggestion);
753        debug_struct.field("attributes", &self.attributes);
754        if !self._unknown_fields.is_empty() {
755            debug_struct.field("_unknown_fields", &self._unknown_fields);
756        }
757        debug_struct.finish()
758    }
759}
760
761impl std::fmt::Debug for super::complete_query_response::RecentSearchResult {
762    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
763        let mut debug_struct = f.debug_struct("RecentSearchResult");
764        debug_struct.field("recent_search", &self.recent_search);
765        if !self._unknown_fields.is_empty() {
766            debug_struct.field("_unknown_fields", &self._unknown_fields);
767        }
768        debug_struct.finish()
769    }
770}
771
772impl std::fmt::Debug for super::complete_query_response::AttributeResult {
773    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
774        let mut debug_struct = f.debug_struct("AttributeResult");
775        debug_struct.field("suggestions", &self.suggestions);
776        if !self._unknown_fields.is_empty() {
777            debug_struct.field("_unknown_fields", &self._unknown_fields);
778        }
779        debug_struct.finish()
780    }
781}
782
783impl std::fmt::Debug for super::Control {
784    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
785        let mut debug_struct = f.debug_struct("Control");
786        debug_struct.field("name", &self.name);
787        debug_struct.field("display_name", &self.display_name);
788        debug_struct.field(
789            "associated_serving_config_ids",
790            &self.associated_serving_config_ids,
791        );
792        debug_struct.field("solution_types", &self.solution_types);
793        debug_struct.field("search_solution_use_case", &self.search_solution_use_case);
794        debug_struct.field("control", &self.control);
795        if !self._unknown_fields.is_empty() {
796            debug_struct.field("_unknown_fields", &self._unknown_fields);
797        }
798        debug_struct.finish()
799    }
800}
801
802impl std::fmt::Debug for super::CreateControlRequest {
803    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
804        let mut debug_struct = f.debug_struct("CreateControlRequest");
805        debug_struct.field("parent", &self.parent);
806        debug_struct.field("control", &self.control);
807        debug_struct.field("control_id", &self.control_id);
808        if !self._unknown_fields.is_empty() {
809            debug_struct.field("_unknown_fields", &self._unknown_fields);
810        }
811        debug_struct.finish()
812    }
813}
814
815impl std::fmt::Debug for super::UpdateControlRequest {
816    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
817        let mut debug_struct = f.debug_struct("UpdateControlRequest");
818        debug_struct.field("control", &self.control);
819        debug_struct.field("update_mask", &self.update_mask);
820        if !self._unknown_fields.is_empty() {
821            debug_struct.field("_unknown_fields", &self._unknown_fields);
822        }
823        debug_struct.finish()
824    }
825}
826
827impl std::fmt::Debug for super::DeleteControlRequest {
828    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
829        let mut debug_struct = f.debug_struct("DeleteControlRequest");
830        debug_struct.field("name", &self.name);
831        if !self._unknown_fields.is_empty() {
832            debug_struct.field("_unknown_fields", &self._unknown_fields);
833        }
834        debug_struct.finish()
835    }
836}
837
838impl std::fmt::Debug for super::GetControlRequest {
839    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
840        let mut debug_struct = f.debug_struct("GetControlRequest");
841        debug_struct.field("name", &self.name);
842        if !self._unknown_fields.is_empty() {
843            debug_struct.field("_unknown_fields", &self._unknown_fields);
844        }
845        debug_struct.finish()
846    }
847}
848
849impl std::fmt::Debug for super::ListControlsRequest {
850    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
851        let mut debug_struct = f.debug_struct("ListControlsRequest");
852        debug_struct.field("parent", &self.parent);
853        debug_struct.field("page_size", &self.page_size);
854        debug_struct.field("page_token", &self.page_token);
855        debug_struct.field("filter", &self.filter);
856        if !self._unknown_fields.is_empty() {
857            debug_struct.field("_unknown_fields", &self._unknown_fields);
858        }
859        debug_struct.finish()
860    }
861}
862
863impl std::fmt::Debug for super::ListControlsResponse {
864    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
865        let mut debug_struct = f.debug_struct("ListControlsResponse");
866        debug_struct.field("controls", &self.controls);
867        debug_struct.field("next_page_token", &self.next_page_token);
868        if !self._unknown_fields.is_empty() {
869            debug_struct.field("_unknown_fields", &self._unknown_fields);
870        }
871        debug_struct.finish()
872    }
873}
874
875impl std::fmt::Debug for super::ConversationalSearchRequest {
876    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
877        let mut debug_struct = f.debug_struct("ConversationalSearchRequest");
878        debug_struct.field("placement", &self.placement);
879        debug_struct.field("branch", &self.branch);
880        debug_struct.field("query", &self.query);
881        debug_struct.field("page_categories", &self.page_categories);
882        debug_struct.field("conversation_id", &self.conversation_id);
883        debug_struct.field("search_params", &self.search_params);
884        debug_struct.field("visitor_id", &self.visitor_id);
885        debug_struct.field("user_info", &self.user_info);
886        debug_struct.field(
887            "conversational_filtering_spec",
888            &self.conversational_filtering_spec,
889        );
890        debug_struct.field("user_labels", &self.user_labels);
891        debug_struct.field("safety_settings", &self.safety_settings);
892        if !self._unknown_fields.is_empty() {
893            debug_struct.field("_unknown_fields", &self._unknown_fields);
894        }
895        debug_struct.finish()
896    }
897}
898
899impl std::fmt::Debug for super::conversational_search_request::SearchParams {
900    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
901        let mut debug_struct = f.debug_struct("SearchParams");
902        debug_struct.field("filter", &self.filter);
903        debug_struct.field("canonical_filter", &self.canonical_filter);
904        debug_struct.field("sort_by", &self.sort_by);
905        debug_struct.field("boost_spec", &self.boost_spec);
906        if !self._unknown_fields.is_empty() {
907            debug_struct.field("_unknown_fields", &self._unknown_fields);
908        }
909        debug_struct.finish()
910    }
911}
912
913impl std::fmt::Debug for super::conversational_search_request::UserAnswer {
914    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
915        let mut debug_struct = f.debug_struct("UserAnswer");
916        debug_struct.field("r#type", &self.r#type);
917        if !self._unknown_fields.is_empty() {
918            debug_struct.field("_unknown_fields", &self._unknown_fields);
919        }
920        debug_struct.finish()
921    }
922}
923
924impl std::fmt::Debug for super::conversational_search_request::user_answer::SelectedAnswer {
925    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
926        let mut debug_struct = f.debug_struct("SelectedAnswer");
927        debug_struct.field("product_attribute_value", &self.product_attribute_value);
928        if !self._unknown_fields.is_empty() {
929            debug_struct.field("_unknown_fields", &self._unknown_fields);
930        }
931        debug_struct.finish()
932    }
933}
934
935impl std::fmt::Debug for super::conversational_search_request::ConversationalFilteringSpec {
936    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
937        let mut debug_struct = f.debug_struct("ConversationalFilteringSpec");
938        debug_struct.field(
939            "enable_conversational_filtering",
940            &self.enable_conversational_filtering,
941        );
942        debug_struct.field("user_answer", &self.user_answer);
943        debug_struct.field(
944            "conversational_filtering_mode",
945            &self.conversational_filtering_mode,
946        );
947        if !self._unknown_fields.is_empty() {
948            debug_struct.field("_unknown_fields", &self._unknown_fields);
949        }
950        debug_struct.finish()
951    }
952}
953
954impl std::fmt::Debug for super::ConversationalSearchResponse {
955    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
956        let mut debug_struct = f.debug_struct("ConversationalSearchResponse");
957        debug_struct.field("user_query_types", &self.user_query_types);
958        debug_struct.field(
959            "conversational_text_response",
960            &self.conversational_text_response,
961        );
962        debug_struct.field("followup_question", &self.followup_question);
963        debug_struct.field("conversation_id", &self.conversation_id);
964        debug_struct.field("refined_search", &self.refined_search);
965        debug_struct.field(
966            "conversational_filtering_result",
967            &self.conversational_filtering_result,
968        );
969        debug_struct.field("state", &self.state);
970        if !self._unknown_fields.is_empty() {
971            debug_struct.field("_unknown_fields", &self._unknown_fields);
972        }
973        debug_struct.finish()
974    }
975}
976
977impl std::fmt::Debug for super::conversational_search_response::FollowupQuestion {
978    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
979        let mut debug_struct = f.debug_struct("FollowupQuestion");
980        debug_struct.field("followup_question", &self.followup_question);
981        debug_struct.field("suggested_answers", &self.suggested_answers);
982        if !self._unknown_fields.is_empty() {
983            debug_struct.field("_unknown_fields", &self._unknown_fields);
984        }
985        debug_struct.finish()
986    }
987}
988
989impl std::fmt::Debug for super::conversational_search_response::followup_question::SuggestedAnswer {
990    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
991        let mut debug_struct = f.debug_struct("SuggestedAnswer");
992        debug_struct.field("product_attribute_value", &self.product_attribute_value);
993        if !self._unknown_fields.is_empty() {
994            debug_struct.field("_unknown_fields", &self._unknown_fields);
995        }
996        debug_struct.finish()
997    }
998}
999
1000impl std::fmt::Debug for super::conversational_search_response::RefinedSearch {
1001    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1002        let mut debug_struct = f.debug_struct("RefinedSearch");
1003        debug_struct.field("query", &self.query);
1004        if !self._unknown_fields.is_empty() {
1005            debug_struct.field("_unknown_fields", &self._unknown_fields);
1006        }
1007        debug_struct.finish()
1008    }
1009}
1010
1011impl std::fmt::Debug for super::conversational_search_response::ConversationalFilteringResult {
1012    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1013        let mut debug_struct = f.debug_struct("ConversationalFilteringResult");
1014        debug_struct.field("followup_question", &self.followup_question);
1015        debug_struct.field("additional_filter", &self.additional_filter);
1016        if !self._unknown_fields.is_empty() {
1017            debug_struct.field("_unknown_fields", &self._unknown_fields);
1018        }
1019        debug_struct.finish()
1020    }
1021}
1022
1023impl std::fmt::Debug
1024    for super::conversational_search_response::conversational_filtering_result::AdditionalFilter
1025{
1026    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1027        let mut debug_struct = f.debug_struct("AdditionalFilter");
1028        debug_struct.field("product_attribute_value", &self.product_attribute_value);
1029        if !self._unknown_fields.is_empty() {
1030            debug_struct.field("_unknown_fields", &self._unknown_fields);
1031        }
1032        debug_struct.finish()
1033    }
1034}
1035
1036impl std::fmt::Debug for super::OutputConfig {
1037    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1038        let mut debug_struct = f.debug_struct("OutputConfig");
1039        debug_struct.field("destination", &self.destination);
1040        if !self._unknown_fields.is_empty() {
1041            debug_struct.field("_unknown_fields", &self._unknown_fields);
1042        }
1043        debug_struct.finish()
1044    }
1045}
1046
1047impl std::fmt::Debug for super::output_config::GcsDestination {
1048    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1049        let mut debug_struct = f.debug_struct("GcsDestination");
1050        debug_struct.field("output_uri_prefix", &self.output_uri_prefix);
1051        if !self._unknown_fields.is_empty() {
1052            debug_struct.field("_unknown_fields", &self._unknown_fields);
1053        }
1054        debug_struct.finish()
1055    }
1056}
1057
1058impl std::fmt::Debug for super::output_config::BigQueryDestination {
1059    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1060        let mut debug_struct = f.debug_struct("BigQueryDestination");
1061        debug_struct.field("dataset_id", &self.dataset_id);
1062        debug_struct.field("table_id_prefix", &self.table_id_prefix);
1063        debug_struct.field("table_type", &self.table_type);
1064        if !self._unknown_fields.is_empty() {
1065            debug_struct.field("_unknown_fields", &self._unknown_fields);
1066        }
1067        debug_struct.finish()
1068    }
1069}
1070
1071impl std::fmt::Debug for super::ExportErrorsConfig {
1072    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1073        let mut debug_struct = f.debug_struct("ExportErrorsConfig");
1074        debug_struct.field("destination", &self.destination);
1075        if !self._unknown_fields.is_empty() {
1076            debug_struct.field("_unknown_fields", &self._unknown_fields);
1077        }
1078        debug_struct.finish()
1079    }
1080}
1081
1082impl std::fmt::Debug for super::ExportAnalyticsMetricsRequest {
1083    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1084        let mut debug_struct = f.debug_struct("ExportAnalyticsMetricsRequest");
1085        debug_struct.field("catalog", &self.catalog);
1086        debug_struct.field("output_config", &self.output_config);
1087        debug_struct.field("filter", &self.filter);
1088        if !self._unknown_fields.is_empty() {
1089            debug_struct.field("_unknown_fields", &self._unknown_fields);
1090        }
1091        debug_struct.finish()
1092    }
1093}
1094
1095impl std::fmt::Debug for super::ExportMetadata {
1096    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1097        let mut debug_struct = f.debug_struct("ExportMetadata");
1098        debug_struct.field("create_time", &self.create_time);
1099        debug_struct.field("update_time", &self.update_time);
1100        if !self._unknown_fields.is_empty() {
1101            debug_struct.field("_unknown_fields", &self._unknown_fields);
1102        }
1103        debug_struct.finish()
1104    }
1105}
1106
1107impl std::fmt::Debug for super::ExportAnalyticsMetricsResponse {
1108    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1109        let mut debug_struct = f.debug_struct("ExportAnalyticsMetricsResponse");
1110        debug_struct.field("error_samples", &self.error_samples);
1111        debug_struct.field("errors_config", &self.errors_config);
1112        debug_struct.field("output_result", &self.output_result);
1113        if !self._unknown_fields.is_empty() {
1114            debug_struct.field("_unknown_fields", &self._unknown_fields);
1115        }
1116        debug_struct.finish()
1117    }
1118}
1119
1120impl std::fmt::Debug for super::OutputResult {
1121    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1122        let mut debug_struct = f.debug_struct("OutputResult");
1123        debug_struct.field("bigquery_result", &self.bigquery_result);
1124        debug_struct.field("gcs_result", &self.gcs_result);
1125        if !self._unknown_fields.is_empty() {
1126            debug_struct.field("_unknown_fields", &self._unknown_fields);
1127        }
1128        debug_struct.finish()
1129    }
1130}
1131
1132impl std::fmt::Debug for super::BigQueryOutputResult {
1133    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1134        let mut debug_struct = f.debug_struct("BigQueryOutputResult");
1135        debug_struct.field("dataset_id", &self.dataset_id);
1136        debug_struct.field("table_id", &self.table_id);
1137        if !self._unknown_fields.is_empty() {
1138            debug_struct.field("_unknown_fields", &self._unknown_fields);
1139        }
1140        debug_struct.finish()
1141    }
1142}
1143
1144impl std::fmt::Debug for super::GcsOutputResult {
1145    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1146        let mut debug_struct = f.debug_struct("GcsOutputResult");
1147        debug_struct.field("output_uri", &self.output_uri);
1148        if !self._unknown_fields.is_empty() {
1149            debug_struct.field("_unknown_fields", &self._unknown_fields);
1150        }
1151        debug_struct.finish()
1152    }
1153}
1154
1155impl std::fmt::Debug for super::GenerativeQuestionsFeatureConfig {
1156    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1157        let mut debug_struct = f.debug_struct("GenerativeQuestionsFeatureConfig");
1158        debug_struct.field("catalog", &self.catalog);
1159        debug_struct.field("feature_enabled", &self.feature_enabled);
1160        debug_struct.field("minimum_products", &self.minimum_products);
1161        if !self._unknown_fields.is_empty() {
1162            debug_struct.field("_unknown_fields", &self._unknown_fields);
1163        }
1164        debug_struct.finish()
1165    }
1166}
1167
1168impl std::fmt::Debug for super::GenerativeQuestionConfig {
1169    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1170        let mut debug_struct = f.debug_struct("GenerativeQuestionConfig");
1171        debug_struct.field("catalog", &self.catalog);
1172        debug_struct.field("facet", &self.facet);
1173        debug_struct.field("generated_question", &self.generated_question);
1174        debug_struct.field("final_question", &self.final_question);
1175        debug_struct.field("example_values", &self.example_values);
1176        debug_struct.field("frequency", &self.frequency);
1177        debug_struct.field("allowed_in_conversation", &self.allowed_in_conversation);
1178        if !self._unknown_fields.is_empty() {
1179            debug_struct.field("_unknown_fields", &self._unknown_fields);
1180        }
1181        debug_struct.finish()
1182    }
1183}
1184
1185impl std::fmt::Debug for super::UpdateGenerativeQuestionsFeatureConfigRequest {
1186    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1187        let mut debug_struct = f.debug_struct("UpdateGenerativeQuestionsFeatureConfigRequest");
1188        debug_struct.field(
1189            "generative_questions_feature_config",
1190            &self.generative_questions_feature_config,
1191        );
1192        debug_struct.field("update_mask", &self.update_mask);
1193        if !self._unknown_fields.is_empty() {
1194            debug_struct.field("_unknown_fields", &self._unknown_fields);
1195        }
1196        debug_struct.finish()
1197    }
1198}
1199
1200impl std::fmt::Debug for super::GetGenerativeQuestionsFeatureConfigRequest {
1201    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1202        let mut debug_struct = f.debug_struct("GetGenerativeQuestionsFeatureConfigRequest");
1203        debug_struct.field("catalog", &self.catalog);
1204        if !self._unknown_fields.is_empty() {
1205            debug_struct.field("_unknown_fields", &self._unknown_fields);
1206        }
1207        debug_struct.finish()
1208    }
1209}
1210
1211impl std::fmt::Debug for super::ListGenerativeQuestionConfigsRequest {
1212    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1213        let mut debug_struct = f.debug_struct("ListGenerativeQuestionConfigsRequest");
1214        debug_struct.field("parent", &self.parent);
1215        if !self._unknown_fields.is_empty() {
1216            debug_struct.field("_unknown_fields", &self._unknown_fields);
1217        }
1218        debug_struct.finish()
1219    }
1220}
1221
1222impl std::fmt::Debug for super::ListGenerativeQuestionConfigsResponse {
1223    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1224        let mut debug_struct = f.debug_struct("ListGenerativeQuestionConfigsResponse");
1225        debug_struct.field(
1226            "generative_question_configs",
1227            &self.generative_question_configs,
1228        );
1229        if !self._unknown_fields.is_empty() {
1230            debug_struct.field("_unknown_fields", &self._unknown_fields);
1231        }
1232        debug_struct.finish()
1233    }
1234}
1235
1236impl std::fmt::Debug for super::UpdateGenerativeQuestionConfigRequest {
1237    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1238        let mut debug_struct = f.debug_struct("UpdateGenerativeQuestionConfigRequest");
1239        debug_struct.field(
1240            "generative_question_config",
1241            &self.generative_question_config,
1242        );
1243        debug_struct.field("update_mask", &self.update_mask);
1244        if !self._unknown_fields.is_empty() {
1245            debug_struct.field("_unknown_fields", &self._unknown_fields);
1246        }
1247        debug_struct.finish()
1248    }
1249}
1250
1251impl std::fmt::Debug for super::BatchUpdateGenerativeQuestionConfigsRequest {
1252    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1253        let mut debug_struct = f.debug_struct("BatchUpdateGenerativeQuestionConfigsRequest");
1254        debug_struct.field("parent", &self.parent);
1255        debug_struct.field("requests", &self.requests);
1256        if !self._unknown_fields.is_empty() {
1257            debug_struct.field("_unknown_fields", &self._unknown_fields);
1258        }
1259        debug_struct.finish()
1260    }
1261}
1262
1263impl std::fmt::Debug for super::BatchUpdateGenerativeQuestionConfigsResponse {
1264    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1265        let mut debug_struct = f.debug_struct("BatchUpdateGenerativeQuestionConfigsResponse");
1266        debug_struct.field(
1267            "generative_question_configs",
1268            &self.generative_question_configs,
1269        );
1270        if !self._unknown_fields.is_empty() {
1271            debug_struct.field("_unknown_fields", &self._unknown_fields);
1272        }
1273        debug_struct.finish()
1274    }
1275}
1276
1277impl std::fmt::Debug for super::GcsSource {
1278    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1279        let mut debug_struct = f.debug_struct("GcsSource");
1280        debug_struct.field("input_uris", &self.input_uris);
1281        debug_struct.field("data_schema", &self.data_schema);
1282        if !self._unknown_fields.is_empty() {
1283            debug_struct.field("_unknown_fields", &self._unknown_fields);
1284        }
1285        debug_struct.finish()
1286    }
1287}
1288
1289impl std::fmt::Debug for super::BigQuerySource {
1290    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1291        let mut debug_struct = f.debug_struct("BigQuerySource");
1292        debug_struct.field("project_id", &self.project_id);
1293        debug_struct.field("dataset_id", &self.dataset_id);
1294        debug_struct.field("table_id", &self.table_id);
1295        debug_struct.field("gcs_staging_dir", &self.gcs_staging_dir);
1296        debug_struct.field("data_schema", &self.data_schema);
1297        debug_struct.field("partition", &self.partition);
1298        if !self._unknown_fields.is_empty() {
1299            debug_struct.field("_unknown_fields", &self._unknown_fields);
1300        }
1301        debug_struct.finish()
1302    }
1303}
1304
1305impl std::fmt::Debug for super::ProductInlineSource {
1306    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1307        let mut debug_struct = f.debug_struct("ProductInlineSource");
1308        debug_struct.field("products", &self.products);
1309        if !self._unknown_fields.is_empty() {
1310            debug_struct.field("_unknown_fields", &self._unknown_fields);
1311        }
1312        debug_struct.finish()
1313    }
1314}
1315
1316impl std::fmt::Debug for super::UserEventInlineSource {
1317    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1318        let mut debug_struct = f.debug_struct("UserEventInlineSource");
1319        debug_struct.field("user_events", &self.user_events);
1320        if !self._unknown_fields.is_empty() {
1321            debug_struct.field("_unknown_fields", &self._unknown_fields);
1322        }
1323        debug_struct.finish()
1324    }
1325}
1326
1327impl std::fmt::Debug for super::ImportErrorsConfig {
1328    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1329        let mut debug_struct = f.debug_struct("ImportErrorsConfig");
1330        debug_struct.field("destination", &self.destination);
1331        if !self._unknown_fields.is_empty() {
1332            debug_struct.field("_unknown_fields", &self._unknown_fields);
1333        }
1334        debug_struct.finish()
1335    }
1336}
1337
1338impl std::fmt::Debug for super::ImportProductsRequest {
1339    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1340        let mut debug_struct = f.debug_struct("ImportProductsRequest");
1341        debug_struct.field("parent", &self.parent);
1342        debug_struct.field("request_id", &self.request_id);
1343        debug_struct.field("input_config", &self.input_config);
1344        debug_struct.field("errors_config", &self.errors_config);
1345        debug_struct.field("update_mask", &self.update_mask);
1346        debug_struct.field("reconciliation_mode", &self.reconciliation_mode);
1347        debug_struct.field("notification_pubsub_topic", &self.notification_pubsub_topic);
1348        if !self._unknown_fields.is_empty() {
1349            debug_struct.field("_unknown_fields", &self._unknown_fields);
1350        }
1351        debug_struct.finish()
1352    }
1353}
1354
1355impl std::fmt::Debug for super::ImportUserEventsRequest {
1356    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1357        let mut debug_struct = f.debug_struct("ImportUserEventsRequest");
1358        debug_struct.field("parent", &self.parent);
1359        debug_struct.field("input_config", &self.input_config);
1360        debug_struct.field("errors_config", &self.errors_config);
1361        if !self._unknown_fields.is_empty() {
1362            debug_struct.field("_unknown_fields", &self._unknown_fields);
1363        }
1364        debug_struct.finish()
1365    }
1366}
1367
1368impl std::fmt::Debug for super::ImportCompletionDataRequest {
1369    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1370        let mut debug_struct = f.debug_struct("ImportCompletionDataRequest");
1371        debug_struct.field("parent", &self.parent);
1372        debug_struct.field("input_config", &self.input_config);
1373        debug_struct.field("notification_pubsub_topic", &self.notification_pubsub_topic);
1374        if !self._unknown_fields.is_empty() {
1375            debug_struct.field("_unknown_fields", &self._unknown_fields);
1376        }
1377        debug_struct.finish()
1378    }
1379}
1380
1381impl std::fmt::Debug for super::ProductInputConfig {
1382    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1383        let mut debug_struct = f.debug_struct("ProductInputConfig");
1384        debug_struct.field("source", &self.source);
1385        if !self._unknown_fields.is_empty() {
1386            debug_struct.field("_unknown_fields", &self._unknown_fields);
1387        }
1388        debug_struct.finish()
1389    }
1390}
1391
1392impl std::fmt::Debug for super::UserEventInputConfig {
1393    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1394        let mut debug_struct = f.debug_struct("UserEventInputConfig");
1395        debug_struct.field("source", &self.source);
1396        if !self._unknown_fields.is_empty() {
1397            debug_struct.field("_unknown_fields", &self._unknown_fields);
1398        }
1399        debug_struct.finish()
1400    }
1401}
1402
1403impl std::fmt::Debug for super::CompletionDataInputConfig {
1404    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1405        let mut debug_struct = f.debug_struct("CompletionDataInputConfig");
1406        debug_struct.field("source", &self.source);
1407        if !self._unknown_fields.is_empty() {
1408            debug_struct.field("_unknown_fields", &self._unknown_fields);
1409        }
1410        debug_struct.finish()
1411    }
1412}
1413
1414impl std::fmt::Debug for super::ImportMetadata {
1415    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1416        let mut debug_struct = f.debug_struct("ImportMetadata");
1417        debug_struct.field("create_time", &self.create_time);
1418        debug_struct.field("update_time", &self.update_time);
1419        debug_struct.field("success_count", &self.success_count);
1420        debug_struct.field("failure_count", &self.failure_count);
1421        debug_struct.field("request_id", &self.request_id);
1422        debug_struct.field("notification_pubsub_topic", &self.notification_pubsub_topic);
1423        if !self._unknown_fields.is_empty() {
1424            debug_struct.field("_unknown_fields", &self._unknown_fields);
1425        }
1426        debug_struct.finish()
1427    }
1428}
1429
1430impl std::fmt::Debug for super::ImportProductsResponse {
1431    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1432        let mut debug_struct = f.debug_struct("ImportProductsResponse");
1433        debug_struct.field("error_samples", &self.error_samples);
1434        debug_struct.field("errors_config", &self.errors_config);
1435        if !self._unknown_fields.is_empty() {
1436            debug_struct.field("_unknown_fields", &self._unknown_fields);
1437        }
1438        debug_struct.finish()
1439    }
1440}
1441
1442impl std::fmt::Debug for super::ImportUserEventsResponse {
1443    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1444        let mut debug_struct = f.debug_struct("ImportUserEventsResponse");
1445        debug_struct.field("error_samples", &self.error_samples);
1446        debug_struct.field("errors_config", &self.errors_config);
1447        debug_struct.field("import_summary", &self.import_summary);
1448        if !self._unknown_fields.is_empty() {
1449            debug_struct.field("_unknown_fields", &self._unknown_fields);
1450        }
1451        debug_struct.finish()
1452    }
1453}
1454
1455impl std::fmt::Debug for super::UserEventImportSummary {
1456    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1457        let mut debug_struct = f.debug_struct("UserEventImportSummary");
1458        debug_struct.field("joined_events_count", &self.joined_events_count);
1459        debug_struct.field("unjoined_events_count", &self.unjoined_events_count);
1460        if !self._unknown_fields.is_empty() {
1461            debug_struct.field("_unknown_fields", &self._unknown_fields);
1462        }
1463        debug_struct.finish()
1464    }
1465}
1466
1467impl std::fmt::Debug for super::ImportCompletionDataResponse {
1468    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1469        let mut debug_struct = f.debug_struct("ImportCompletionDataResponse");
1470        debug_struct.field("error_samples", &self.error_samples);
1471        if !self._unknown_fields.is_empty() {
1472            debug_struct.field("_unknown_fields", &self._unknown_fields);
1473        }
1474        debug_struct.finish()
1475    }
1476}
1477
1478impl std::fmt::Debug for super::Model {
1479    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1480        let mut debug_struct = f.debug_struct("Model");
1481        debug_struct.field("name", &self.name);
1482        debug_struct.field("display_name", &self.display_name);
1483        debug_struct.field("training_state", &self.training_state);
1484        debug_struct.field("serving_state", &self.serving_state);
1485        debug_struct.field("create_time", &self.create_time);
1486        debug_struct.field("update_time", &self.update_time);
1487        debug_struct.field("r#type", &self.r#type);
1488        debug_struct.field("optimization_objective", &self.optimization_objective);
1489        debug_struct.field("periodic_tuning_state", &self.periodic_tuning_state);
1490        debug_struct.field("last_tune_time", &self.last_tune_time);
1491        debug_struct.field("tuning_operation", &self.tuning_operation);
1492        debug_struct.field("data_state", &self.data_state);
1493        debug_struct.field("filtering_option", &self.filtering_option);
1494        debug_struct.field("serving_config_lists", &self.serving_config_lists);
1495        debug_struct.field("model_features_config", &self.model_features_config);
1496        if !self._unknown_fields.is_empty() {
1497            debug_struct.field("_unknown_fields", &self._unknown_fields);
1498        }
1499        debug_struct.finish()
1500    }
1501}
1502
1503impl std::fmt::Debug for super::model::ServingConfigList {
1504    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1505        let mut debug_struct = f.debug_struct("ServingConfigList");
1506        debug_struct.field("serving_config_ids", &self.serving_config_ids);
1507        if !self._unknown_fields.is_empty() {
1508            debug_struct.field("_unknown_fields", &self._unknown_fields);
1509        }
1510        debug_struct.finish()
1511    }
1512}
1513
1514impl std::fmt::Debug for super::model::FrequentlyBoughtTogetherFeaturesConfig {
1515    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1516        let mut debug_struct = f.debug_struct("FrequentlyBoughtTogetherFeaturesConfig");
1517        debug_struct.field("context_products_type", &self.context_products_type);
1518        if !self._unknown_fields.is_empty() {
1519            debug_struct.field("_unknown_fields", &self._unknown_fields);
1520        }
1521        debug_struct.finish()
1522    }
1523}
1524
1525impl std::fmt::Debug for super::model::ModelFeaturesConfig {
1526    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1527        let mut debug_struct = f.debug_struct("ModelFeaturesConfig");
1528        debug_struct.field("type_dedicated_config", &self.type_dedicated_config);
1529        if !self._unknown_fields.is_empty() {
1530            debug_struct.field("_unknown_fields", &self._unknown_fields);
1531        }
1532        debug_struct.finish()
1533    }
1534}
1535
1536impl std::fmt::Debug for super::CreateModelRequest {
1537    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1538        let mut debug_struct = f.debug_struct("CreateModelRequest");
1539        debug_struct.field("parent", &self.parent);
1540        debug_struct.field("model", &self.model);
1541        debug_struct.field("dry_run", &self.dry_run);
1542        if !self._unknown_fields.is_empty() {
1543            debug_struct.field("_unknown_fields", &self._unknown_fields);
1544        }
1545        debug_struct.finish()
1546    }
1547}
1548
1549impl std::fmt::Debug for super::UpdateModelRequest {
1550    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1551        let mut debug_struct = f.debug_struct("UpdateModelRequest");
1552        debug_struct.field("model", &self.model);
1553        debug_struct.field("update_mask", &self.update_mask);
1554        if !self._unknown_fields.is_empty() {
1555            debug_struct.field("_unknown_fields", &self._unknown_fields);
1556        }
1557        debug_struct.finish()
1558    }
1559}
1560
1561impl std::fmt::Debug for super::GetModelRequest {
1562    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1563        let mut debug_struct = f.debug_struct("GetModelRequest");
1564        debug_struct.field("name", &self.name);
1565        if !self._unknown_fields.is_empty() {
1566            debug_struct.field("_unknown_fields", &self._unknown_fields);
1567        }
1568        debug_struct.finish()
1569    }
1570}
1571
1572impl std::fmt::Debug for super::PauseModelRequest {
1573    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1574        let mut debug_struct = f.debug_struct("PauseModelRequest");
1575        debug_struct.field("name", &self.name);
1576        if !self._unknown_fields.is_empty() {
1577            debug_struct.field("_unknown_fields", &self._unknown_fields);
1578        }
1579        debug_struct.finish()
1580    }
1581}
1582
1583impl std::fmt::Debug for super::ResumeModelRequest {
1584    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1585        let mut debug_struct = f.debug_struct("ResumeModelRequest");
1586        debug_struct.field("name", &self.name);
1587        if !self._unknown_fields.is_empty() {
1588            debug_struct.field("_unknown_fields", &self._unknown_fields);
1589        }
1590        debug_struct.finish()
1591    }
1592}
1593
1594impl std::fmt::Debug for super::ListModelsRequest {
1595    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1596        let mut debug_struct = f.debug_struct("ListModelsRequest");
1597        debug_struct.field("parent", &self.parent);
1598        debug_struct.field("page_size", &self.page_size);
1599        debug_struct.field("page_token", &self.page_token);
1600        if !self._unknown_fields.is_empty() {
1601            debug_struct.field("_unknown_fields", &self._unknown_fields);
1602        }
1603        debug_struct.finish()
1604    }
1605}
1606
1607impl std::fmt::Debug for super::DeleteModelRequest {
1608    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1609        let mut debug_struct = f.debug_struct("DeleteModelRequest");
1610        debug_struct.field("name", &self.name);
1611        if !self._unknown_fields.is_empty() {
1612            debug_struct.field("_unknown_fields", &self._unknown_fields);
1613        }
1614        debug_struct.finish()
1615    }
1616}
1617
1618impl std::fmt::Debug for super::ListModelsResponse {
1619    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1620        let mut debug_struct = f.debug_struct("ListModelsResponse");
1621        debug_struct.field("models", &self.models);
1622        debug_struct.field("next_page_token", &self.next_page_token);
1623        if !self._unknown_fields.is_empty() {
1624            debug_struct.field("_unknown_fields", &self._unknown_fields);
1625        }
1626        debug_struct.finish()
1627    }
1628}
1629
1630impl std::fmt::Debug for super::TuneModelRequest {
1631    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1632        let mut debug_struct = f.debug_struct("TuneModelRequest");
1633        debug_struct.field("name", &self.name);
1634        if !self._unknown_fields.is_empty() {
1635            debug_struct.field("_unknown_fields", &self._unknown_fields);
1636        }
1637        debug_struct.finish()
1638    }
1639}
1640
1641impl std::fmt::Debug for super::CreateModelMetadata {
1642    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1643        let mut debug_struct = f.debug_struct("CreateModelMetadata");
1644        debug_struct.field("model", &self.model);
1645        if !self._unknown_fields.is_empty() {
1646            debug_struct.field("_unknown_fields", &self._unknown_fields);
1647        }
1648        debug_struct.finish()
1649    }
1650}
1651
1652impl std::fmt::Debug for super::TuneModelMetadata {
1653    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1654        let mut debug_struct = f.debug_struct("TuneModelMetadata");
1655        debug_struct.field("model", &self.model);
1656        if !self._unknown_fields.is_empty() {
1657            debug_struct.field("_unknown_fields", &self._unknown_fields);
1658        }
1659        debug_struct.finish()
1660    }
1661}
1662
1663impl std::fmt::Debug for super::TuneModelResponse {
1664    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1665        let mut debug_struct = f.debug_struct("TuneModelResponse");
1666        if !self._unknown_fields.is_empty() {
1667            debug_struct.field("_unknown_fields", &self._unknown_fields);
1668        }
1669        debug_struct.finish()
1670    }
1671}
1672
1673impl std::fmt::Debug for super::PredictRequest {
1674    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1675        let mut debug_struct = f.debug_struct("PredictRequest");
1676        debug_struct.field("placement", &self.placement);
1677        debug_struct.field("user_event", &self.user_event);
1678        debug_struct.field("page_size", &self.page_size);
1679        debug_struct.field("page_token", &self.page_token);
1680        debug_struct.field("filter", &self.filter);
1681        debug_struct.field("validate_only", &self.validate_only);
1682        debug_struct.field("params", &self.params);
1683        debug_struct.field("labels", &self.labels);
1684        if !self._unknown_fields.is_empty() {
1685            debug_struct.field("_unknown_fields", &self._unknown_fields);
1686        }
1687        debug_struct.finish()
1688    }
1689}
1690
1691impl std::fmt::Debug for super::PredictResponse {
1692    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1693        let mut debug_struct = f.debug_struct("PredictResponse");
1694        debug_struct.field("results", &self.results);
1695        debug_struct.field("attribution_token", &self.attribution_token);
1696        debug_struct.field("missing_ids", &self.missing_ids);
1697        debug_struct.field("validate_only", &self.validate_only);
1698        if !self._unknown_fields.is_empty() {
1699            debug_struct.field("_unknown_fields", &self._unknown_fields);
1700        }
1701        debug_struct.finish()
1702    }
1703}
1704
1705impl std::fmt::Debug for super::predict_response::PredictionResult {
1706    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1707        let mut debug_struct = f.debug_struct("PredictionResult");
1708        debug_struct.field("id", &self.id);
1709        debug_struct.field("metadata", &self.metadata);
1710        if !self._unknown_fields.is_empty() {
1711            debug_struct.field("_unknown_fields", &self._unknown_fields);
1712        }
1713        debug_struct.finish()
1714    }
1715}
1716
1717impl std::fmt::Debug for super::Product {
1718    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1719        let mut debug_struct = f.debug_struct("Product");
1720        debug_struct.field("name", &self.name);
1721        debug_struct.field("id", &self.id);
1722        debug_struct.field("r#type", &self.r#type);
1723        debug_struct.field("primary_product_id", &self.primary_product_id);
1724        debug_struct.field("collection_member_ids", &self.collection_member_ids);
1725        debug_struct.field("gtin", &self.gtin);
1726        debug_struct.field("categories", &self.categories);
1727        debug_struct.field("title", &self.title);
1728        debug_struct.field("brands", &self.brands);
1729        debug_struct.field("description", &self.description);
1730        debug_struct.field("language_code", &self.language_code);
1731        debug_struct.field("attributes", &self.attributes);
1732        debug_struct.field("tags", &self.tags);
1733        debug_struct.field("price_info", &self.price_info);
1734        debug_struct.field("rating", &self.rating);
1735        debug_struct.field("available_time", &self.available_time);
1736        debug_struct.field("availability", &self.availability);
1737        debug_struct.field("available_quantity", &self.available_quantity);
1738        debug_struct.field("fulfillment_info", &self.fulfillment_info);
1739        debug_struct.field("uri", &self.uri);
1740        debug_struct.field("images", &self.images);
1741        debug_struct.field("audience", &self.audience);
1742        debug_struct.field("color_info", &self.color_info);
1743        debug_struct.field("sizes", &self.sizes);
1744        debug_struct.field("materials", &self.materials);
1745        debug_struct.field("patterns", &self.patterns);
1746        debug_struct.field("conditions", &self.conditions);
1747        debug_struct.field("promotions", &self.promotions);
1748        debug_struct.field("publish_time", &self.publish_time);
1749        debug_struct.field("retrievable_fields", &self.retrievable_fields);
1750        debug_struct.field("variants", &self.variants);
1751        debug_struct.field("local_inventories", &self.local_inventories);
1752        debug_struct.field("expiration", &self.expiration);
1753        if !self._unknown_fields.is_empty() {
1754            debug_struct.field("_unknown_fields", &self._unknown_fields);
1755        }
1756        debug_struct.finish()
1757    }
1758}
1759
1760impl std::fmt::Debug for super::CreateProductRequest {
1761    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1762        let mut debug_struct = f.debug_struct("CreateProductRequest");
1763        debug_struct.field("parent", &self.parent);
1764        debug_struct.field("product", &self.product);
1765        debug_struct.field("product_id", &self.product_id);
1766        if !self._unknown_fields.is_empty() {
1767            debug_struct.field("_unknown_fields", &self._unknown_fields);
1768        }
1769        debug_struct.finish()
1770    }
1771}
1772
1773impl std::fmt::Debug for super::GetProductRequest {
1774    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1775        let mut debug_struct = f.debug_struct("GetProductRequest");
1776        debug_struct.field("name", &self.name);
1777        if !self._unknown_fields.is_empty() {
1778            debug_struct.field("_unknown_fields", &self._unknown_fields);
1779        }
1780        debug_struct.finish()
1781    }
1782}
1783
1784impl std::fmt::Debug for super::UpdateProductRequest {
1785    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1786        let mut debug_struct = f.debug_struct("UpdateProductRequest");
1787        debug_struct.field("product", &self.product);
1788        debug_struct.field("update_mask", &self.update_mask);
1789        debug_struct.field("allow_missing", &self.allow_missing);
1790        if !self._unknown_fields.is_empty() {
1791            debug_struct.field("_unknown_fields", &self._unknown_fields);
1792        }
1793        debug_struct.finish()
1794    }
1795}
1796
1797impl std::fmt::Debug for super::DeleteProductRequest {
1798    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1799        let mut debug_struct = f.debug_struct("DeleteProductRequest");
1800        debug_struct.field("name", &self.name);
1801        if !self._unknown_fields.is_empty() {
1802            debug_struct.field("_unknown_fields", &self._unknown_fields);
1803        }
1804        debug_struct.finish()
1805    }
1806}
1807
1808impl std::fmt::Debug for super::ListProductsRequest {
1809    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1810        let mut debug_struct = f.debug_struct("ListProductsRequest");
1811        debug_struct.field("parent", &self.parent);
1812        debug_struct.field("page_size", &self.page_size);
1813        debug_struct.field("page_token", &self.page_token);
1814        debug_struct.field("filter", &self.filter);
1815        debug_struct.field("read_mask", &self.read_mask);
1816        if !self._unknown_fields.is_empty() {
1817            debug_struct.field("_unknown_fields", &self._unknown_fields);
1818        }
1819        debug_struct.finish()
1820    }
1821}
1822
1823impl std::fmt::Debug for super::ListProductsResponse {
1824    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1825        let mut debug_struct = f.debug_struct("ListProductsResponse");
1826        debug_struct.field("products", &self.products);
1827        debug_struct.field("next_page_token", &self.next_page_token);
1828        if !self._unknown_fields.is_empty() {
1829            debug_struct.field("_unknown_fields", &self._unknown_fields);
1830        }
1831        debug_struct.finish()
1832    }
1833}
1834
1835impl std::fmt::Debug for super::SetInventoryRequest {
1836    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1837        let mut debug_struct = f.debug_struct("SetInventoryRequest");
1838        debug_struct.field("inventory", &self.inventory);
1839        debug_struct.field("set_mask", &self.set_mask);
1840        debug_struct.field("set_time", &self.set_time);
1841        debug_struct.field("allow_missing", &self.allow_missing);
1842        if !self._unknown_fields.is_empty() {
1843            debug_struct.field("_unknown_fields", &self._unknown_fields);
1844        }
1845        debug_struct.finish()
1846    }
1847}
1848
1849impl std::fmt::Debug for super::SetInventoryMetadata {
1850    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1851        let mut debug_struct = f.debug_struct("SetInventoryMetadata");
1852        if !self._unknown_fields.is_empty() {
1853            debug_struct.field("_unknown_fields", &self._unknown_fields);
1854        }
1855        debug_struct.finish()
1856    }
1857}
1858
1859impl std::fmt::Debug for super::SetInventoryResponse {
1860    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1861        let mut debug_struct = f.debug_struct("SetInventoryResponse");
1862        if !self._unknown_fields.is_empty() {
1863            debug_struct.field("_unknown_fields", &self._unknown_fields);
1864        }
1865        debug_struct.finish()
1866    }
1867}
1868
1869impl std::fmt::Debug for super::AddFulfillmentPlacesRequest {
1870    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1871        let mut debug_struct = f.debug_struct("AddFulfillmentPlacesRequest");
1872        debug_struct.field("product", &self.product);
1873        debug_struct.field("r#type", &self.r#type);
1874        debug_struct.field("place_ids", &self.place_ids);
1875        debug_struct.field("add_time", &self.add_time);
1876        debug_struct.field("allow_missing", &self.allow_missing);
1877        if !self._unknown_fields.is_empty() {
1878            debug_struct.field("_unknown_fields", &self._unknown_fields);
1879        }
1880        debug_struct.finish()
1881    }
1882}
1883
1884impl std::fmt::Debug for super::AddFulfillmentPlacesMetadata {
1885    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1886        let mut debug_struct = f.debug_struct("AddFulfillmentPlacesMetadata");
1887        if !self._unknown_fields.is_empty() {
1888            debug_struct.field("_unknown_fields", &self._unknown_fields);
1889        }
1890        debug_struct.finish()
1891    }
1892}
1893
1894impl std::fmt::Debug for super::AddFulfillmentPlacesResponse {
1895    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1896        let mut debug_struct = f.debug_struct("AddFulfillmentPlacesResponse");
1897        if !self._unknown_fields.is_empty() {
1898            debug_struct.field("_unknown_fields", &self._unknown_fields);
1899        }
1900        debug_struct.finish()
1901    }
1902}
1903
1904impl std::fmt::Debug for super::AddLocalInventoriesRequest {
1905    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1906        let mut debug_struct = f.debug_struct("AddLocalInventoriesRequest");
1907        debug_struct.field("product", &self.product);
1908        debug_struct.field("local_inventories", &self.local_inventories);
1909        debug_struct.field("add_mask", &self.add_mask);
1910        debug_struct.field("add_time", &self.add_time);
1911        debug_struct.field("allow_missing", &self.allow_missing);
1912        if !self._unknown_fields.is_empty() {
1913            debug_struct.field("_unknown_fields", &self._unknown_fields);
1914        }
1915        debug_struct.finish()
1916    }
1917}
1918
1919impl std::fmt::Debug for super::AddLocalInventoriesMetadata {
1920    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1921        let mut debug_struct = f.debug_struct("AddLocalInventoriesMetadata");
1922        if !self._unknown_fields.is_empty() {
1923            debug_struct.field("_unknown_fields", &self._unknown_fields);
1924        }
1925        debug_struct.finish()
1926    }
1927}
1928
1929impl std::fmt::Debug for super::AddLocalInventoriesResponse {
1930    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1931        let mut debug_struct = f.debug_struct("AddLocalInventoriesResponse");
1932        if !self._unknown_fields.is_empty() {
1933            debug_struct.field("_unknown_fields", &self._unknown_fields);
1934        }
1935        debug_struct.finish()
1936    }
1937}
1938
1939impl std::fmt::Debug for super::RemoveLocalInventoriesRequest {
1940    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1941        let mut debug_struct = f.debug_struct("RemoveLocalInventoriesRequest");
1942        debug_struct.field("product", &self.product);
1943        debug_struct.field("place_ids", &self.place_ids);
1944        debug_struct.field("remove_time", &self.remove_time);
1945        debug_struct.field("allow_missing", &self.allow_missing);
1946        if !self._unknown_fields.is_empty() {
1947            debug_struct.field("_unknown_fields", &self._unknown_fields);
1948        }
1949        debug_struct.finish()
1950    }
1951}
1952
1953impl std::fmt::Debug for super::RemoveLocalInventoriesMetadata {
1954    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1955        let mut debug_struct = f.debug_struct("RemoveLocalInventoriesMetadata");
1956        if !self._unknown_fields.is_empty() {
1957            debug_struct.field("_unknown_fields", &self._unknown_fields);
1958        }
1959        debug_struct.finish()
1960    }
1961}
1962
1963impl std::fmt::Debug for super::RemoveLocalInventoriesResponse {
1964    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1965        let mut debug_struct = f.debug_struct("RemoveLocalInventoriesResponse");
1966        if !self._unknown_fields.is_empty() {
1967            debug_struct.field("_unknown_fields", &self._unknown_fields);
1968        }
1969        debug_struct.finish()
1970    }
1971}
1972
1973impl std::fmt::Debug for super::RemoveFulfillmentPlacesRequest {
1974    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1975        let mut debug_struct = f.debug_struct("RemoveFulfillmentPlacesRequest");
1976        debug_struct.field("product", &self.product);
1977        debug_struct.field("r#type", &self.r#type);
1978        debug_struct.field("place_ids", &self.place_ids);
1979        debug_struct.field("remove_time", &self.remove_time);
1980        debug_struct.field("allow_missing", &self.allow_missing);
1981        if !self._unknown_fields.is_empty() {
1982            debug_struct.field("_unknown_fields", &self._unknown_fields);
1983        }
1984        debug_struct.finish()
1985    }
1986}
1987
1988impl std::fmt::Debug for super::RemoveFulfillmentPlacesMetadata {
1989    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1990        let mut debug_struct = f.debug_struct("RemoveFulfillmentPlacesMetadata");
1991        if !self._unknown_fields.is_empty() {
1992            debug_struct.field("_unknown_fields", &self._unknown_fields);
1993        }
1994        debug_struct.finish()
1995    }
1996}
1997
1998impl std::fmt::Debug for super::RemoveFulfillmentPlacesResponse {
1999    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2000        let mut debug_struct = f.debug_struct("RemoveFulfillmentPlacesResponse");
2001        if !self._unknown_fields.is_empty() {
2002            debug_struct.field("_unknown_fields", &self._unknown_fields);
2003        }
2004        debug_struct.finish()
2005    }
2006}
2007
2008impl std::fmt::Debug for super::Promotion {
2009    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2010        let mut debug_struct = f.debug_struct("Promotion");
2011        debug_struct.field("promotion_id", &self.promotion_id);
2012        if !self._unknown_fields.is_empty() {
2013            debug_struct.field("_unknown_fields", &self._unknown_fields);
2014        }
2015        debug_struct.finish()
2016    }
2017}
2018
2019impl std::fmt::Debug for super::PurgeMetadata {
2020    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2021        let mut debug_struct = f.debug_struct("PurgeMetadata");
2022        if !self._unknown_fields.is_empty() {
2023            debug_struct.field("_unknown_fields", &self._unknown_fields);
2024        }
2025        debug_struct.finish()
2026    }
2027}
2028
2029impl std::fmt::Debug for super::PurgeProductsMetadata {
2030    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2031        let mut debug_struct = f.debug_struct("PurgeProductsMetadata");
2032        debug_struct.field("create_time", &self.create_time);
2033        debug_struct.field("update_time", &self.update_time);
2034        debug_struct.field("success_count", &self.success_count);
2035        debug_struct.field("failure_count", &self.failure_count);
2036        if !self._unknown_fields.is_empty() {
2037            debug_struct.field("_unknown_fields", &self._unknown_fields);
2038        }
2039        debug_struct.finish()
2040    }
2041}
2042
2043impl std::fmt::Debug for super::PurgeProductsRequest {
2044    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2045        let mut debug_struct = f.debug_struct("PurgeProductsRequest");
2046        debug_struct.field("parent", &self.parent);
2047        debug_struct.field("filter", &self.filter);
2048        debug_struct.field("force", &self.force);
2049        if !self._unknown_fields.is_empty() {
2050            debug_struct.field("_unknown_fields", &self._unknown_fields);
2051        }
2052        debug_struct.finish()
2053    }
2054}
2055
2056impl std::fmt::Debug for super::PurgeProductsResponse {
2057    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2058        let mut debug_struct = f.debug_struct("PurgeProductsResponse");
2059        debug_struct.field("purge_count", &self.purge_count);
2060        debug_struct.field("purge_sample", &self.purge_sample);
2061        if !self._unknown_fields.is_empty() {
2062            debug_struct.field("_unknown_fields", &self._unknown_fields);
2063        }
2064        debug_struct.finish()
2065    }
2066}
2067
2068impl std::fmt::Debug for super::PurgeUserEventsRequest {
2069    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2070        let mut debug_struct = f.debug_struct("PurgeUserEventsRequest");
2071        debug_struct.field("parent", &self.parent);
2072        debug_struct.field("filter", &self.filter);
2073        debug_struct.field("force", &self.force);
2074        if !self._unknown_fields.is_empty() {
2075            debug_struct.field("_unknown_fields", &self._unknown_fields);
2076        }
2077        debug_struct.finish()
2078    }
2079}
2080
2081impl std::fmt::Debug for super::PurgeUserEventsResponse {
2082    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2083        let mut debug_struct = f.debug_struct("PurgeUserEventsResponse");
2084        debug_struct.field("purged_events_count", &self.purged_events_count);
2085        if !self._unknown_fields.is_empty() {
2086            debug_struct.field("_unknown_fields", &self._unknown_fields);
2087        }
2088        debug_struct.finish()
2089    }
2090}
2091
2092impl std::fmt::Debug for super::SafetySetting {
2093    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2094        let mut debug_struct = f.debug_struct("SafetySetting");
2095        debug_struct.field("category", &self.category);
2096        debug_struct.field("threshold", &self.threshold);
2097        debug_struct.field("method", &self.method);
2098        if !self._unknown_fields.is_empty() {
2099            debug_struct.field("_unknown_fields", &self._unknown_fields);
2100        }
2101        debug_struct.finish()
2102    }
2103}
2104
2105impl std::fmt::Debug for super::ProductAttributeValue {
2106    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2107        let mut debug_struct = f.debug_struct("ProductAttributeValue");
2108        debug_struct.field("name", &self.name);
2109        debug_struct.field("value", &self.value);
2110        if !self._unknown_fields.is_empty() {
2111            debug_struct.field("_unknown_fields", &self._unknown_fields);
2112        }
2113        debug_struct.finish()
2114    }
2115}
2116
2117impl std::fmt::Debug for super::ProductAttributeInterval {
2118    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2119        let mut debug_struct = f.debug_struct("ProductAttributeInterval");
2120        debug_struct.field("name", &self.name);
2121        debug_struct.field("interval", &self.interval);
2122        if !self._unknown_fields.is_empty() {
2123            debug_struct.field("_unknown_fields", &self._unknown_fields);
2124        }
2125        debug_struct.finish()
2126    }
2127}
2128
2129impl std::fmt::Debug for super::Tile {
2130    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2131        let mut debug_struct = f.debug_struct("Tile");
2132        debug_struct.field("representative_product_id", &self.representative_product_id);
2133        debug_struct.field("product_attribute", &self.product_attribute);
2134        if !self._unknown_fields.is_empty() {
2135            debug_struct.field("_unknown_fields", &self._unknown_fields);
2136        }
2137        debug_struct.finish()
2138    }
2139}
2140
2141impl std::fmt::Debug for super::SearchRequest {
2142    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2143        let mut debug_struct = f.debug_struct("SearchRequest");
2144        debug_struct.field("placement", &self.placement);
2145        debug_struct.field("branch", &self.branch);
2146        debug_struct.field("query", &self.query);
2147        debug_struct.field("visitor_id", &self.visitor_id);
2148        debug_struct.field("user_info", &self.user_info);
2149        debug_struct.field("page_size", &self.page_size);
2150        debug_struct.field("page_token", &self.page_token);
2151        debug_struct.field("offset", &self.offset);
2152        debug_struct.field("filter", &self.filter);
2153        debug_struct.field("canonical_filter", &self.canonical_filter);
2154        debug_struct.field("order_by", &self.order_by);
2155        debug_struct.field("facet_specs", &self.facet_specs);
2156        debug_struct.field("dynamic_facet_spec", &self.dynamic_facet_spec);
2157        debug_struct.field("boost_spec", &self.boost_spec);
2158        debug_struct.field("query_expansion_spec", &self.query_expansion_spec);
2159        debug_struct.field("variant_rollup_keys", &self.variant_rollup_keys);
2160        debug_struct.field("page_categories", &self.page_categories);
2161        debug_struct.field("search_mode", &self.search_mode);
2162        debug_struct.field("personalization_spec", &self.personalization_spec);
2163        debug_struct.field("labels", &self.labels);
2164        debug_struct.field("spell_correction_spec", &self.spell_correction_spec);
2165        debug_struct.field("entity", &self.entity);
2166        debug_struct.field(
2167            "conversational_search_spec",
2168            &self.conversational_search_spec,
2169        );
2170        debug_struct.field("tile_navigation_spec", &self.tile_navigation_spec);
2171        debug_struct.field("language_code", &self.language_code);
2172        debug_struct.field("region_code", &self.region_code);
2173        debug_struct.field("place_id", &self.place_id);
2174        debug_struct.field("user_attributes", &self.user_attributes);
2175        if !self._unknown_fields.is_empty() {
2176            debug_struct.field("_unknown_fields", &self._unknown_fields);
2177        }
2178        debug_struct.finish()
2179    }
2180}
2181
2182impl std::fmt::Debug for super::search_request::FacetSpec {
2183    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2184        let mut debug_struct = f.debug_struct("FacetSpec");
2185        debug_struct.field("facet_key", &self.facet_key);
2186        debug_struct.field("limit", &self.limit);
2187        debug_struct.field("excluded_filter_keys", &self.excluded_filter_keys);
2188        debug_struct.field("enable_dynamic_position", &self.enable_dynamic_position);
2189        if !self._unknown_fields.is_empty() {
2190            debug_struct.field("_unknown_fields", &self._unknown_fields);
2191        }
2192        debug_struct.finish()
2193    }
2194}
2195
2196impl std::fmt::Debug for super::search_request::facet_spec::FacetKey {
2197    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2198        let mut debug_struct = f.debug_struct("FacetKey");
2199        debug_struct.field("key", &self.key);
2200        debug_struct.field("intervals", &self.intervals);
2201        debug_struct.field("restricted_values", &self.restricted_values);
2202        debug_struct.field("prefixes", &self.prefixes);
2203        debug_struct.field("contains", &self.contains);
2204        debug_struct.field("case_insensitive", &self.case_insensitive);
2205        debug_struct.field("order_by", &self.order_by);
2206        debug_struct.field("query", &self.query);
2207        debug_struct.field("return_min_max", &self.return_min_max);
2208        if !self._unknown_fields.is_empty() {
2209            debug_struct.field("_unknown_fields", &self._unknown_fields);
2210        }
2211        debug_struct.finish()
2212    }
2213}
2214
2215impl std::fmt::Debug for super::search_request::DynamicFacetSpec {
2216    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2217        let mut debug_struct = f.debug_struct("DynamicFacetSpec");
2218        debug_struct.field("mode", &self.mode);
2219        if !self._unknown_fields.is_empty() {
2220            debug_struct.field("_unknown_fields", &self._unknown_fields);
2221        }
2222        debug_struct.finish()
2223    }
2224}
2225
2226impl std::fmt::Debug for super::search_request::BoostSpec {
2227    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2228        let mut debug_struct = f.debug_struct("BoostSpec");
2229        debug_struct.field("condition_boost_specs", &self.condition_boost_specs);
2230        debug_struct.field(
2231            "skip_boost_spec_validation",
2232            &self.skip_boost_spec_validation,
2233        );
2234        if !self._unknown_fields.is_empty() {
2235            debug_struct.field("_unknown_fields", &self._unknown_fields);
2236        }
2237        debug_struct.finish()
2238    }
2239}
2240
2241impl std::fmt::Debug for super::search_request::boost_spec::ConditionBoostSpec {
2242    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2243        let mut debug_struct = f.debug_struct("ConditionBoostSpec");
2244        debug_struct.field("condition", &self.condition);
2245        debug_struct.field("boost", &self.boost);
2246        if !self._unknown_fields.is_empty() {
2247            debug_struct.field("_unknown_fields", &self._unknown_fields);
2248        }
2249        debug_struct.finish()
2250    }
2251}
2252
2253impl std::fmt::Debug for super::search_request::QueryExpansionSpec {
2254    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2255        let mut debug_struct = f.debug_struct("QueryExpansionSpec");
2256        debug_struct.field("condition", &self.condition);
2257        debug_struct.field("pin_unexpanded_results", &self.pin_unexpanded_results);
2258        if !self._unknown_fields.is_empty() {
2259            debug_struct.field("_unknown_fields", &self._unknown_fields);
2260        }
2261        debug_struct.finish()
2262    }
2263}
2264
2265impl std::fmt::Debug for super::search_request::PersonalizationSpec {
2266    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2267        let mut debug_struct = f.debug_struct("PersonalizationSpec");
2268        debug_struct.field("mode", &self.mode);
2269        if !self._unknown_fields.is_empty() {
2270            debug_struct.field("_unknown_fields", &self._unknown_fields);
2271        }
2272        debug_struct.finish()
2273    }
2274}
2275
2276impl std::fmt::Debug for super::search_request::SpellCorrectionSpec {
2277    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2278        let mut debug_struct = f.debug_struct("SpellCorrectionSpec");
2279        debug_struct.field("mode", &self.mode);
2280        if !self._unknown_fields.is_empty() {
2281            debug_struct.field("_unknown_fields", &self._unknown_fields);
2282        }
2283        debug_struct.finish()
2284    }
2285}
2286
2287impl std::fmt::Debug for super::search_request::ConversationalSearchSpec {
2288    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2289        let mut debug_struct = f.debug_struct("ConversationalSearchSpec");
2290        debug_struct.field(
2291            "followup_conversation_requested",
2292            &self.followup_conversation_requested,
2293        );
2294        debug_struct.field("conversation_id", &self.conversation_id);
2295        debug_struct.field("user_answer", &self.user_answer);
2296        if !self._unknown_fields.is_empty() {
2297            debug_struct.field("_unknown_fields", &self._unknown_fields);
2298        }
2299        debug_struct.finish()
2300    }
2301}
2302
2303impl std::fmt::Debug for super::search_request::conversational_search_spec::UserAnswer {
2304    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2305        let mut debug_struct = f.debug_struct("UserAnswer");
2306        debug_struct.field("r#type", &self.r#type);
2307        if !self._unknown_fields.is_empty() {
2308            debug_struct.field("_unknown_fields", &self._unknown_fields);
2309        }
2310        debug_struct.finish()
2311    }
2312}
2313
2314impl std::fmt::Debug
2315    for super::search_request::conversational_search_spec::user_answer::SelectedAnswer
2316{
2317    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2318        let mut debug_struct = f.debug_struct("SelectedAnswer");
2319        debug_struct.field("product_attribute_values", &self.product_attribute_values);
2320        debug_struct.field("product_attribute_value", &self.product_attribute_value);
2321        if !self._unknown_fields.is_empty() {
2322            debug_struct.field("_unknown_fields", &self._unknown_fields);
2323        }
2324        debug_struct.finish()
2325    }
2326}
2327
2328impl std::fmt::Debug for super::search_request::TileNavigationSpec {
2329    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2330        let mut debug_struct = f.debug_struct("TileNavigationSpec");
2331        debug_struct.field("tile_navigation_requested", &self.tile_navigation_requested);
2332        debug_struct.field("applied_tiles", &self.applied_tiles);
2333        if !self._unknown_fields.is_empty() {
2334            debug_struct.field("_unknown_fields", &self._unknown_fields);
2335        }
2336        debug_struct.finish()
2337    }
2338}
2339
2340impl std::fmt::Debug for super::SearchResponse {
2341    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2342        let mut debug_struct = f.debug_struct("SearchResponse");
2343        debug_struct.field("results", &self.results);
2344        debug_struct.field("facets", &self.facets);
2345        debug_struct.field("total_size", &self.total_size);
2346        debug_struct.field("corrected_query", &self.corrected_query);
2347        debug_struct.field("attribution_token", &self.attribution_token);
2348        debug_struct.field("next_page_token", &self.next_page_token);
2349        debug_struct.field("query_expansion_info", &self.query_expansion_info);
2350        debug_struct.field("redirect_uri", &self.redirect_uri);
2351        debug_struct.field("applied_controls", &self.applied_controls);
2352        debug_struct.field("pin_control_metadata", &self.pin_control_metadata);
2353        debug_struct.field(
2354            "invalid_condition_boost_specs",
2355            &self.invalid_condition_boost_specs,
2356        );
2357        debug_struct.field("experiment_info", &self.experiment_info);
2358        debug_struct.field(
2359            "conversational_search_result",
2360            &self.conversational_search_result,
2361        );
2362        debug_struct.field("tile_navigation_result", &self.tile_navigation_result);
2363        if !self._unknown_fields.is_empty() {
2364            debug_struct.field("_unknown_fields", &self._unknown_fields);
2365        }
2366        debug_struct.finish()
2367    }
2368}
2369
2370impl std::fmt::Debug for super::search_response::SearchResult {
2371    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2372        let mut debug_struct = f.debug_struct("SearchResult");
2373        debug_struct.field("id", &self.id);
2374        debug_struct.field("product", &self.product);
2375        debug_struct.field("matching_variant_count", &self.matching_variant_count);
2376        debug_struct.field("matching_variant_fields", &self.matching_variant_fields);
2377        debug_struct.field("variant_rollup_values", &self.variant_rollup_values);
2378        debug_struct.field("personal_labels", &self.personal_labels);
2379        debug_struct.field("model_scores", &self.model_scores);
2380        if !self._unknown_fields.is_empty() {
2381            debug_struct.field("_unknown_fields", &self._unknown_fields);
2382        }
2383        debug_struct.finish()
2384    }
2385}
2386
2387impl std::fmt::Debug for super::search_response::Facet {
2388    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2389        let mut debug_struct = f.debug_struct("Facet");
2390        debug_struct.field("key", &self.key);
2391        debug_struct.field("values", &self.values);
2392        debug_struct.field("dynamic_facet", &self.dynamic_facet);
2393        if !self._unknown_fields.is_empty() {
2394            debug_struct.field("_unknown_fields", &self._unknown_fields);
2395        }
2396        debug_struct.finish()
2397    }
2398}
2399
2400impl std::fmt::Debug for super::search_response::facet::FacetValue {
2401    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2402        let mut debug_struct = f.debug_struct("FacetValue");
2403        debug_struct.field("count", &self.count);
2404        debug_struct.field("min_value", &self.min_value);
2405        debug_struct.field("max_value", &self.max_value);
2406        debug_struct.field("facet_value", &self.facet_value);
2407        if !self._unknown_fields.is_empty() {
2408            debug_struct.field("_unknown_fields", &self._unknown_fields);
2409        }
2410        debug_struct.finish()
2411    }
2412}
2413
2414impl std::fmt::Debug for super::search_response::QueryExpansionInfo {
2415    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2416        let mut debug_struct = f.debug_struct("QueryExpansionInfo");
2417        debug_struct.field("expanded_query", &self.expanded_query);
2418        debug_struct.field("pinned_result_count", &self.pinned_result_count);
2419        if !self._unknown_fields.is_empty() {
2420            debug_struct.field("_unknown_fields", &self._unknown_fields);
2421        }
2422        debug_struct.finish()
2423    }
2424}
2425
2426impl std::fmt::Debug for super::search_response::ConversationalSearchResult {
2427    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2428        let mut debug_struct = f.debug_struct("ConversationalSearchResult");
2429        debug_struct.field("conversation_id", &self.conversation_id);
2430        debug_struct.field("refined_query", &self.refined_query);
2431        debug_struct.field("additional_filters", &self.additional_filters);
2432        debug_struct.field("followup_question", &self.followup_question);
2433        debug_struct.field("suggested_answers", &self.suggested_answers);
2434        debug_struct.field("additional_filter", &self.additional_filter);
2435        if !self._unknown_fields.is_empty() {
2436            debug_struct.field("_unknown_fields", &self._unknown_fields);
2437        }
2438        debug_struct.finish()
2439    }
2440}
2441
2442impl std::fmt::Debug for super::search_response::conversational_search_result::SuggestedAnswer {
2443    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2444        let mut debug_struct = f.debug_struct("SuggestedAnswer");
2445        debug_struct.field("product_attribute_value", &self.product_attribute_value);
2446        if !self._unknown_fields.is_empty() {
2447            debug_struct.field("_unknown_fields", &self._unknown_fields);
2448        }
2449        debug_struct.finish()
2450    }
2451}
2452
2453impl std::fmt::Debug for super::search_response::conversational_search_result::AdditionalFilter {
2454    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2455        let mut debug_struct = f.debug_struct("AdditionalFilter");
2456        debug_struct.field("product_attribute_value", &self.product_attribute_value);
2457        if !self._unknown_fields.is_empty() {
2458            debug_struct.field("_unknown_fields", &self._unknown_fields);
2459        }
2460        debug_struct.finish()
2461    }
2462}
2463
2464impl std::fmt::Debug for super::search_response::TileNavigationResult {
2465    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2466        let mut debug_struct = f.debug_struct("TileNavigationResult");
2467        debug_struct.field("tiles", &self.tiles);
2468        if !self._unknown_fields.is_empty() {
2469            debug_struct.field("_unknown_fields", &self._unknown_fields);
2470        }
2471        debug_struct.finish()
2472    }
2473}
2474
2475impl std::fmt::Debug for super::ExperimentInfo {
2476    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2477        let mut debug_struct = f.debug_struct("ExperimentInfo");
2478        debug_struct.field("experiment", &self.experiment);
2479        debug_struct.field("experiment_metadata", &self.experiment_metadata);
2480        if !self._unknown_fields.is_empty() {
2481            debug_struct.field("_unknown_fields", &self._unknown_fields);
2482        }
2483        debug_struct.finish()
2484    }
2485}
2486
2487impl std::fmt::Debug for super::experiment_info::ServingConfigExperiment {
2488    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2489        let mut debug_struct = f.debug_struct("ServingConfigExperiment");
2490        debug_struct.field("original_serving_config", &self.original_serving_config);
2491        debug_struct.field("experiment_serving_config", &self.experiment_serving_config);
2492        if !self._unknown_fields.is_empty() {
2493            debug_struct.field("_unknown_fields", &self._unknown_fields);
2494        }
2495        debug_struct.finish()
2496    }
2497}
2498
2499impl std::fmt::Debug for super::ServingConfig {
2500    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2501        let mut debug_struct = f.debug_struct("ServingConfig");
2502        debug_struct.field("name", &self.name);
2503        debug_struct.field("display_name", &self.display_name);
2504        debug_struct.field("model_id", &self.model_id);
2505        debug_struct.field("price_reranking_level", &self.price_reranking_level);
2506        debug_struct.field("facet_control_ids", &self.facet_control_ids);
2507        debug_struct.field("dynamic_facet_spec", &self.dynamic_facet_spec);
2508        debug_struct.field("boost_control_ids", &self.boost_control_ids);
2509        debug_struct.field("filter_control_ids", &self.filter_control_ids);
2510        debug_struct.field("redirect_control_ids", &self.redirect_control_ids);
2511        debug_struct.field(
2512            "twoway_synonyms_control_ids",
2513            &self.twoway_synonyms_control_ids,
2514        );
2515        debug_struct.field(
2516            "oneway_synonyms_control_ids",
2517            &self.oneway_synonyms_control_ids,
2518        );
2519        debug_struct.field(
2520            "do_not_associate_control_ids",
2521            &self.do_not_associate_control_ids,
2522        );
2523        debug_struct.field("replacement_control_ids", &self.replacement_control_ids);
2524        debug_struct.field("ignore_control_ids", &self.ignore_control_ids);
2525        debug_struct.field("diversity_level", &self.diversity_level);
2526        debug_struct.field("diversity_type", &self.diversity_type);
2527        debug_struct.field(
2528            "enable_category_filter_level",
2529            &self.enable_category_filter_level,
2530        );
2531        debug_struct.field("ignore_recs_denylist", &self.ignore_recs_denylist);
2532        debug_struct.field("personalization_spec", &self.personalization_spec);
2533        debug_struct.field("solution_types", &self.solution_types);
2534        if !self._unknown_fields.is_empty() {
2535            debug_struct.field("_unknown_fields", &self._unknown_fields);
2536        }
2537        debug_struct.finish()
2538    }
2539}
2540
2541impl std::fmt::Debug for super::CreateServingConfigRequest {
2542    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2543        let mut debug_struct = f.debug_struct("CreateServingConfigRequest");
2544        debug_struct.field("parent", &self.parent);
2545        debug_struct.field("serving_config", &self.serving_config);
2546        debug_struct.field("serving_config_id", &self.serving_config_id);
2547        if !self._unknown_fields.is_empty() {
2548            debug_struct.field("_unknown_fields", &self._unknown_fields);
2549        }
2550        debug_struct.finish()
2551    }
2552}
2553
2554impl std::fmt::Debug for super::UpdateServingConfigRequest {
2555    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2556        let mut debug_struct = f.debug_struct("UpdateServingConfigRequest");
2557        debug_struct.field("serving_config", &self.serving_config);
2558        debug_struct.field("update_mask", &self.update_mask);
2559        if !self._unknown_fields.is_empty() {
2560            debug_struct.field("_unknown_fields", &self._unknown_fields);
2561        }
2562        debug_struct.finish()
2563    }
2564}
2565
2566impl std::fmt::Debug for super::DeleteServingConfigRequest {
2567    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2568        let mut debug_struct = f.debug_struct("DeleteServingConfigRequest");
2569        debug_struct.field("name", &self.name);
2570        if !self._unknown_fields.is_empty() {
2571            debug_struct.field("_unknown_fields", &self._unknown_fields);
2572        }
2573        debug_struct.finish()
2574    }
2575}
2576
2577impl std::fmt::Debug for super::GetServingConfigRequest {
2578    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2579        let mut debug_struct = f.debug_struct("GetServingConfigRequest");
2580        debug_struct.field("name", &self.name);
2581        if !self._unknown_fields.is_empty() {
2582            debug_struct.field("_unknown_fields", &self._unknown_fields);
2583        }
2584        debug_struct.finish()
2585    }
2586}
2587
2588impl std::fmt::Debug for super::ListServingConfigsRequest {
2589    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2590        let mut debug_struct = f.debug_struct("ListServingConfigsRequest");
2591        debug_struct.field("parent", &self.parent);
2592        debug_struct.field("page_size", &self.page_size);
2593        debug_struct.field("page_token", &self.page_token);
2594        if !self._unknown_fields.is_empty() {
2595            debug_struct.field("_unknown_fields", &self._unknown_fields);
2596        }
2597        debug_struct.finish()
2598    }
2599}
2600
2601impl std::fmt::Debug for super::ListServingConfigsResponse {
2602    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2603        let mut debug_struct = f.debug_struct("ListServingConfigsResponse");
2604        debug_struct.field("serving_configs", &self.serving_configs);
2605        debug_struct.field("next_page_token", &self.next_page_token);
2606        if !self._unknown_fields.is_empty() {
2607            debug_struct.field("_unknown_fields", &self._unknown_fields);
2608        }
2609        debug_struct.finish()
2610    }
2611}
2612
2613impl std::fmt::Debug for super::AddControlRequest {
2614    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2615        let mut debug_struct = f.debug_struct("AddControlRequest");
2616        debug_struct.field("serving_config", &self.serving_config);
2617        debug_struct.field("control_id", &self.control_id);
2618        if !self._unknown_fields.is_empty() {
2619            debug_struct.field("_unknown_fields", &self._unknown_fields);
2620        }
2621        debug_struct.finish()
2622    }
2623}
2624
2625impl std::fmt::Debug for super::RemoveControlRequest {
2626    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2627        let mut debug_struct = f.debug_struct("RemoveControlRequest");
2628        debug_struct.field("serving_config", &self.serving_config);
2629        debug_struct.field("control_id", &self.control_id);
2630        if !self._unknown_fields.is_empty() {
2631            debug_struct.field("_unknown_fields", &self._unknown_fields);
2632        }
2633        debug_struct.finish()
2634    }
2635}
2636
2637impl std::fmt::Debug for super::UserEvent {
2638    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2639        let mut debug_struct = f.debug_struct("UserEvent");
2640        debug_struct.field("event_type", &self.event_type);
2641        debug_struct.field("visitor_id", &self.visitor_id);
2642        debug_struct.field("session_id", &self.session_id);
2643        debug_struct.field("event_time", &self.event_time);
2644        debug_struct.field("experiment_ids", &self.experiment_ids);
2645        debug_struct.field("attribution_token", &self.attribution_token);
2646        debug_struct.field("product_details", &self.product_details);
2647        debug_struct.field("completion_detail", &self.completion_detail);
2648        debug_struct.field("attributes", &self.attributes);
2649        debug_struct.field("cart_id", &self.cart_id);
2650        debug_struct.field("purchase_transaction", &self.purchase_transaction);
2651        debug_struct.field("search_query", &self.search_query);
2652        debug_struct.field("filter", &self.filter);
2653        debug_struct.field("order_by", &self.order_by);
2654        debug_struct.field("offset", &self.offset);
2655        debug_struct.field("page_categories", &self.page_categories);
2656        debug_struct.field("user_info", &self.user_info);
2657        debug_struct.field("uri", &self.uri);
2658        debug_struct.field("referrer_uri", &self.referrer_uri);
2659        debug_struct.field("page_view_id", &self.page_view_id);
2660        debug_struct.field("entity", &self.entity);
2661        if !self._unknown_fields.is_empty() {
2662            debug_struct.field("_unknown_fields", &self._unknown_fields);
2663        }
2664        debug_struct.finish()
2665    }
2666}
2667
2668impl std::fmt::Debug for super::ProductDetail {
2669    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2670        let mut debug_struct = f.debug_struct("ProductDetail");
2671        debug_struct.field("product", &self.product);
2672        debug_struct.field("quantity", &self.quantity);
2673        if !self._unknown_fields.is_empty() {
2674            debug_struct.field("_unknown_fields", &self._unknown_fields);
2675        }
2676        debug_struct.finish()
2677    }
2678}
2679
2680impl std::fmt::Debug for super::CompletionDetail {
2681    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2682        let mut debug_struct = f.debug_struct("CompletionDetail");
2683        debug_struct.field(
2684            "completion_attribution_token",
2685            &self.completion_attribution_token,
2686        );
2687        debug_struct.field("selected_suggestion", &self.selected_suggestion);
2688        debug_struct.field("selected_position", &self.selected_position);
2689        if !self._unknown_fields.is_empty() {
2690            debug_struct.field("_unknown_fields", &self._unknown_fields);
2691        }
2692        debug_struct.finish()
2693    }
2694}
2695
2696impl std::fmt::Debug for super::PurchaseTransaction {
2697    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2698        let mut debug_struct = f.debug_struct("PurchaseTransaction");
2699        debug_struct.field("id", &self.id);
2700        debug_struct.field("revenue", &self.revenue);
2701        debug_struct.field("tax", &self.tax);
2702        debug_struct.field("cost", &self.cost);
2703        debug_struct.field("currency_code", &self.currency_code);
2704        if !self._unknown_fields.is_empty() {
2705            debug_struct.field("_unknown_fields", &self._unknown_fields);
2706        }
2707        debug_struct.finish()
2708    }
2709}
2710
2711impl std::fmt::Debug for super::WriteUserEventRequest {
2712    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2713        let mut debug_struct = f.debug_struct("WriteUserEventRequest");
2714        debug_struct.field("parent", &self.parent);
2715        debug_struct.field("user_event", &self.user_event);
2716        debug_struct.field("write_async", &self.write_async);
2717        if !self._unknown_fields.is_empty() {
2718            debug_struct.field("_unknown_fields", &self._unknown_fields);
2719        }
2720        debug_struct.finish()
2721    }
2722}
2723
2724impl std::fmt::Debug for super::CollectUserEventRequest {
2725    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2726        let mut debug_struct = f.debug_struct("CollectUserEventRequest");
2727        debug_struct.field("parent", &self.parent);
2728        debug_struct.field("user_event", &self.user_event);
2729        debug_struct.field("uri", &self.uri);
2730        debug_struct.field("ets", &self.ets);
2731        debug_struct.field("raw_json", &self.raw_json);
2732        debug_struct.field("conversion_rule", &self.conversion_rule);
2733        if !self._unknown_fields.is_empty() {
2734            debug_struct.field("_unknown_fields", &self._unknown_fields);
2735        }
2736        debug_struct.finish()
2737    }
2738}
2739
2740impl std::fmt::Debug for super::RejoinUserEventsRequest {
2741    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2742        let mut debug_struct = f.debug_struct("RejoinUserEventsRequest");
2743        debug_struct.field("parent", &self.parent);
2744        debug_struct.field("user_event_rejoin_scope", &self.user_event_rejoin_scope);
2745        if !self._unknown_fields.is_empty() {
2746            debug_struct.field("_unknown_fields", &self._unknown_fields);
2747        }
2748        debug_struct.finish()
2749    }
2750}
2751
2752impl std::fmt::Debug for super::RejoinUserEventsResponse {
2753    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2754        let mut debug_struct = f.debug_struct("RejoinUserEventsResponse");
2755        debug_struct.field(
2756            "rejoined_user_events_count",
2757            &self.rejoined_user_events_count,
2758        );
2759        if !self._unknown_fields.is_empty() {
2760            debug_struct.field("_unknown_fields", &self._unknown_fields);
2761        }
2762        debug_struct.finish()
2763    }
2764}
2765
2766impl std::fmt::Debug for super::RejoinUserEventsMetadata {
2767    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2768        let mut debug_struct = f.debug_struct("RejoinUserEventsMetadata");
2769        if !self._unknown_fields.is_empty() {
2770            debug_struct.field("_unknown_fields", &self._unknown_fields);
2771        }
2772        debug_struct.finish()
2773    }
2774}