aws_sdk_quicksight/protocol_serde/
shape_dashboard_version_definition.rs1pub fn ser_dashboard_version_definition(
3 object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4 input: &crate::types::DashboardVersionDefinition,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6 {
7 let mut array_1 = object.key("DataSetIdentifierDeclarations").start_array();
8 for item_2 in &input.data_set_identifier_declarations {
9 {
10 #[allow(unused_mut)]
11 let mut object_3 = array_1.value().start_object();
12 crate::protocol_serde::shape_data_set_identifier_declaration::ser_data_set_identifier_declaration(&mut object_3, item_2)?;
13 object_3.finish();
14 }
15 }
16 array_1.finish();
17 }
18 if let Some(var_4) = &input.sheets {
19 let mut array_5 = object.key("Sheets").start_array();
20 for item_6 in var_4 {
21 {
22 #[allow(unused_mut)]
23 let mut object_7 = array_5.value().start_object();
24 crate::protocol_serde::shape_sheet_definition::ser_sheet_definition(&mut object_7, item_6)?;
25 object_7.finish();
26 }
27 }
28 array_5.finish();
29 }
30 if let Some(var_8) = &input.tooltip_sheets {
31 let mut array_9 = object.key("TooltipSheets").start_array();
32 for item_10 in var_8 {
33 {
34 #[allow(unused_mut)]
35 let mut object_11 = array_9.value().start_object();
36 crate::protocol_serde::shape_tooltip_sheet_definition::ser_tooltip_sheet_definition(&mut object_11, item_10)?;
37 object_11.finish();
38 }
39 }
40 array_9.finish();
41 }
42 if let Some(var_12) = &input.calculated_fields {
43 let mut array_13 = object.key("CalculatedFields").start_array();
44 for item_14 in var_12 {
45 {
46 #[allow(unused_mut)]
47 let mut object_15 = array_13.value().start_object();
48 crate::protocol_serde::shape_calculated_field::ser_calculated_field(&mut object_15, item_14)?;
49 object_15.finish();
50 }
51 }
52 array_13.finish();
53 }
54 if let Some(var_16) = &input.parameter_declarations {
55 let mut array_17 = object.key("ParameterDeclarations").start_array();
56 for item_18 in var_16 {
57 {
58 #[allow(unused_mut)]
59 let mut object_19 = array_17.value().start_object();
60 crate::protocol_serde::shape_parameter_declaration::ser_parameter_declaration(&mut object_19, item_18)?;
61 object_19.finish();
62 }
63 }
64 array_17.finish();
65 }
66 if let Some(var_20) = &input.filter_groups {
67 let mut array_21 = object.key("FilterGroups").start_array();
68 for item_22 in var_20 {
69 {
70 #[allow(unused_mut)]
71 let mut object_23 = array_21.value().start_object();
72 crate::protocol_serde::shape_filter_group::ser_filter_group(&mut object_23, item_22)?;
73 object_23.finish();
74 }
75 }
76 array_21.finish();
77 }
78 if let Some(var_24) = &input.column_configurations {
79 let mut array_25 = object.key("ColumnConfigurations").start_array();
80 for item_26 in var_24 {
81 {
82 #[allow(unused_mut)]
83 let mut object_27 = array_25.value().start_object();
84 crate::protocol_serde::shape_column_configuration::ser_column_configuration(&mut object_27, item_26)?;
85 object_27.finish();
86 }
87 }
88 array_25.finish();
89 }
90 if let Some(var_28) = &input.analysis_defaults {
91 #[allow(unused_mut)]
92 let mut object_29 = object.key("AnalysisDefaults").start_object();
93 crate::protocol_serde::shape_analysis_defaults::ser_analysis_defaults(&mut object_29, var_28)?;
94 object_29.finish();
95 }
96 if let Some(var_30) = &input.options {
97 #[allow(unused_mut)]
98 let mut object_31 = object.key("Options").start_object();
99 crate::protocol_serde::shape_asset_options::ser_asset_options(&mut object_31, var_30)?;
100 object_31.finish();
101 }
102 if let Some(var_32) = &input.static_files {
103 let mut array_33 = object.key("StaticFiles").start_array();
104 for item_34 in var_32 {
105 {
106 #[allow(unused_mut)]
107 let mut object_35 = array_33.value().start_object();
108 crate::protocol_serde::shape_static_file::ser_static_file(&mut object_35, item_34)?;
109 object_35.finish();
110 }
111 }
112 array_33.finish();
113 }
114 Ok(())
115}
116
117pub(crate) fn de_dashboard_version_definition<'a, I>(
118 tokens: &mut ::std::iter::Peekable<I>,
119 _value: &'a [u8],
120) -> ::std::result::Result<Option<crate::types::DashboardVersionDefinition>, ::aws_smithy_json::deserialize::error::DeserializeError>
121where
122 I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
123{
124 match tokens.next().transpose()? {
125 Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
126 Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
127 #[allow(unused_mut)]
128 let mut builder = crate::types::builders::DashboardVersionDefinitionBuilder::default();
129 loop {
130 match tokens.next().transpose()? {
131 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
132 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
133 "DataSetIdentifierDeclarations" => {
134 builder = builder.set_data_set_identifier_declarations(
135 crate::protocol_serde::shape_data_set_identifier_declaration_list::de_data_set_identifier_declaration_list(
136 tokens, _value,
137 )?,
138 );
139 }
140 "Sheets" => {
141 builder = builder.set_sheets(crate::protocol_serde::shape_sheet_definition_list::de_sheet_definition_list(
142 tokens, _value,
143 )?);
144 }
145 "TooltipSheets" => {
146 builder = builder.set_tooltip_sheets(
147 crate::protocol_serde::shape_tooltip_sheet_definition_list::de_tooltip_sheet_definition_list(tokens, _value)?,
148 );
149 }
150 "CalculatedFields" => {
151 builder =
152 builder.set_calculated_fields(crate::protocol_serde::shape_calculated_fields::de_calculated_fields(tokens, _value)?);
153 }
154 "ParameterDeclarations" => {
155 builder = builder.set_parameter_declarations(
156 crate::protocol_serde::shape_parameter_declaration_list::de_parameter_declaration_list(tokens, _value)?,
157 );
158 }
159 "FilterGroups" => {
160 builder =
161 builder.set_filter_groups(crate::protocol_serde::shape_filter_group_list::de_filter_group_list(tokens, _value)?);
162 }
163 "ColumnConfigurations" => {
164 builder = builder.set_column_configurations(
165 crate::protocol_serde::shape_column_configuration_list::de_column_configuration_list(tokens, _value)?,
166 );
167 }
168 "AnalysisDefaults" => {
169 builder =
170 builder.set_analysis_defaults(crate::protocol_serde::shape_analysis_defaults::de_analysis_defaults(tokens, _value)?);
171 }
172 "Options" => {
173 builder = builder.set_options(crate::protocol_serde::shape_asset_options::de_asset_options(tokens, _value)?);
174 }
175 "StaticFiles" => {
176 builder = builder.set_static_files(crate::protocol_serde::shape_static_file_list::de_static_file_list(tokens, _value)?);
177 }
178 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
179 },
180 other => {
181 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
182 "expected object key or end object, found: {other:?}"
183 )))
184 }
185 }
186 }
187 Ok(Some(
188 crate::serde_util::dashboard_version_definition_correct_errors(builder)
189 .build()
190 .map_err(|err| ::aws_smithy_json::deserialize::error::DeserializeError::custom_source("Response was invalid", err))?,
191 ))
192 }
193 _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
194 "expected start object or null",
195 )),
196 }
197}