aws_sdk_redshift/protocol_serde/
shape_parameter.rs1#[allow(unused_mut)]
3pub fn ser_parameter(
4 mut writer: ::aws_smithy_query::QueryValueWriter,
5 input: &crate::types::Parameter,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7 #[allow(unused_mut)]
8 let mut scope_1 = writer.prefix("ParameterName");
9 if let Some(var_2) = &input.parameter_name {
10 scope_1.string(var_2);
11 }
12 #[allow(unused_mut)]
13 let mut scope_3 = writer.prefix("ParameterValue");
14 if let Some(var_4) = &input.parameter_value {
15 scope_3.string(var_4);
16 }
17 #[allow(unused_mut)]
18 let mut scope_5 = writer.prefix("Description");
19 if let Some(var_6) = &input.description {
20 scope_5.string(var_6);
21 }
22 #[allow(unused_mut)]
23 let mut scope_7 = writer.prefix("Source");
24 if let Some(var_8) = &input.source {
25 scope_7.string(var_8);
26 }
27 #[allow(unused_mut)]
28 let mut scope_9 = writer.prefix("DataType");
29 if let Some(var_10) = &input.data_type {
30 scope_9.string(var_10);
31 }
32 #[allow(unused_mut)]
33 let mut scope_11 = writer.prefix("AllowedValues");
34 if let Some(var_12) = &input.allowed_values {
35 scope_11.string(var_12);
36 }
37 #[allow(unused_mut)]
38 let mut scope_13 = writer.prefix("ApplyType");
39 if let Some(var_14) = &input.apply_type {
40 scope_13.string(var_14.as_str());
41 }
42 #[allow(unused_mut)]
43 let mut scope_15 = writer.prefix("IsModifiable");
44 if let Some(var_16) = &input.is_modifiable {
45 scope_15.boolean(*var_16);
46 }
47 #[allow(unused_mut)]
48 let mut scope_17 = writer.prefix("MinimumEngineVersion");
49 if let Some(var_18) = &input.minimum_engine_version {
50 scope_17.string(var_18);
51 }
52 Ok(())
53}
54
55#[allow(clippy::needless_question_mark)]
56pub fn de_parameter(
57 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
58) -> ::std::result::Result<crate::types::Parameter, ::aws_smithy_xml::decode::XmlDecodeError> {
59 #[allow(unused_mut)]
60 let mut builder = crate::types::Parameter::builder();
61 while let Some(mut tag) = decoder.next_tag() {
62 match tag.start_el() {
63 s if s.matches("ParameterName") => {
64 let var_19 =
65 Some(
66 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
67 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
68 .into()
69 )
70 ?
71 )
72 ;
73 builder = builder.set_parameter_name(var_19);
74 }
75 ,
76 s if s.matches("ParameterValue") => {
77 let var_20 =
78 Some(
79 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
80 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
81 .into()
82 )
83 ?
84 )
85 ;
86 builder = builder.set_parameter_value(var_20);
87 }
88 ,
89 s if s.matches("Description") => {
90 let var_21 =
91 Some(
92 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
93 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
94 .into()
95 )
96 ?
97 )
98 ;
99 builder = builder.set_description(var_21);
100 }
101 ,
102 s if s.matches("Source") => {
103 let var_22 =
104 Some(
105 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
106 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
107 .into()
108 )
109 ?
110 )
111 ;
112 builder = builder.set_source(var_22);
113 }
114 ,
115 s if s.matches("DataType") => {
116 let var_23 =
117 Some(
118 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
119 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
120 .into()
121 )
122 ?
123 )
124 ;
125 builder = builder.set_data_type(var_23);
126 }
127 ,
128 s if s.matches("AllowedValues") => {
129 let var_24 =
130 Some(
131 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
132 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
133 .into()
134 )
135 ?
136 )
137 ;
138 builder = builder.set_allowed_values(var_24);
139 }
140 ,
141 s if s.matches("ApplyType") => {
142 let var_25 =
143 Some(
144 Result::<crate::types::ParameterApplyType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
145 crate::types::ParameterApplyType::from(
146 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
147 )
148 )
149 ?
150 )
151 ;
152 builder = builder.set_apply_type(var_25);
153 }
154 ,
155 s if s.matches("IsModifiable") => {
156 let var_26 =
157 Some(
158 {
159 <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
160 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
161 )
162 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.redshift#Boolean`)"))
163 }
164 ?
165 )
166 ;
167 builder = builder.set_is_modifiable(var_26);
168 }
169 ,
170 s if s.matches("MinimumEngineVersion") => {
171 let var_27 =
172 Some(
173 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
174 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
175 .into()
176 )
177 ?
178 )
179 ;
180 builder = builder.set_minimum_engine_version(var_27);
181 }
182 ,
183 _ => {}
184 }
185 }
186 Ok(builder.build())
187}