aws_sdk_sagemaker/protocol_serde/
shape_describe_model_package.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_describe_model_package_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<
8 crate::operation::describe_model_package::DescribeModelPackageOutput,
9 crate::operation::describe_model_package::DescribeModelPackageError,
10> {
11 #[allow(unused_mut)]
12 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13 .map_err(crate::operation::describe_model_package::DescribeModelPackageError::unhandled)?;
14 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15 let generic = generic_builder.build();
16 Err(crate::operation::describe_model_package::DescribeModelPackageError::generic(generic))
17}
18
19#[allow(clippy::unnecessary_wraps)]
20pub fn de_describe_model_package_http_response(
21 _response_status: u16,
22 _response_headers: &::aws_smithy_runtime_api::http::Headers,
23 _response_body: &[u8],
24) -> std::result::Result<
25 crate::operation::describe_model_package::DescribeModelPackageOutput,
26 crate::operation::describe_model_package::DescribeModelPackageError,
27> {
28 Ok({
29 #[allow(unused_mut)]
30 let mut output = crate::operation::describe_model_package::builders::DescribeModelPackageOutputBuilder::default();
31 output = crate::protocol_serde::shape_describe_model_package::de_describe_model_package(_response_body, output)
32 .map_err(crate::operation::describe_model_package::DescribeModelPackageError::unhandled)?;
33 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
34 crate::serde_util::describe_model_package_output_output_correct_errors(output).build()
35 })
36}
37
38pub fn ser_describe_model_package_input(
39 input: &crate::operation::describe_model_package::DescribeModelPackageInput,
40) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
41 let mut out = String::new();
42 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
43 crate::protocol_serde::shape_describe_model_package_input::ser_describe_model_package_input_input(&mut object, input)?;
44 object.finish();
45 Ok(::aws_smithy_types::body::SdkBody::from(out))
46}
47
48pub(crate) fn de_describe_model_package(
49 value: &[u8],
50 mut builder: crate::operation::describe_model_package::builders::DescribeModelPackageOutputBuilder,
51) -> ::std::result::Result<
52 crate::operation::describe_model_package::builders::DescribeModelPackageOutputBuilder,
53 ::aws_smithy_json::deserialize::error::DeserializeError,
54> {
55 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
56 let tokens = &mut tokens_owned;
57 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
58 loop {
59 match tokens.next().transpose()? {
60 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
61 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
62 "ModelPackageName" => {
63 builder = builder.set_model_package_name(
64 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
65 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
66 .transpose()?,
67 );
68 }
69 "ModelPackageGroupName" => {
70 builder = builder.set_model_package_group_name(
71 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
72 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
73 .transpose()?,
74 );
75 }
76 "ModelPackageVersion" => {
77 builder = builder.set_model_package_version(
78 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
79 .map(i32::try_from)
80 .transpose()?,
81 );
82 }
83 "ModelPackageArn" => {
84 builder = builder.set_model_package_arn(
85 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
86 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
87 .transpose()?,
88 );
89 }
90 "ModelPackageDescription" => {
91 builder = builder.set_model_package_description(
92 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
93 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
94 .transpose()?,
95 );
96 }
97 "CreationTime" => {
98 builder = builder.set_creation_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
99 tokens.next(),
100 ::aws_smithy_types::date_time::Format::EpochSeconds,
101 )?);
102 }
103 "InferenceSpecification" => {
104 builder = builder
105 .set_inference_specification(crate::protocol_serde::shape_inference_specification::de_inference_specification(tokens)?);
106 }
107 "SourceAlgorithmSpecification" => {
108 builder = builder.set_source_algorithm_specification(
109 crate::protocol_serde::shape_source_algorithm_specification::de_source_algorithm_specification(tokens)?,
110 );
111 }
112 "ValidationSpecification" => {
113 builder = builder.set_validation_specification(
114 crate::protocol_serde::shape_model_package_validation_specification::de_model_package_validation_specification(tokens)?,
115 );
116 }
117 "ModelPackageStatus" => {
118 builder = builder.set_model_package_status(
119 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
120 .map(|s| s.to_unescaped().map(|u| crate::types::ModelPackageStatus::from(u.as_ref())))
121 .transpose()?,
122 );
123 }
124 "ModelPackageStatusDetails" => {
125 builder = builder.set_model_package_status_details(
126 crate::protocol_serde::shape_model_package_status_details::de_model_package_status_details(tokens)?,
127 );
128 }
129 "CertifyForMarketplace" => {
130 builder = builder.set_certify_for_marketplace(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
131 }
132 "ModelApprovalStatus" => {
133 builder = builder.set_model_approval_status(
134 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
135 .map(|s| s.to_unescaped().map(|u| crate::types::ModelApprovalStatus::from(u.as_ref())))
136 .transpose()?,
137 );
138 }
139 "CreatedBy" => {
140 builder = builder.set_created_by(crate::protocol_serde::shape_user_context::de_user_context(tokens)?);
141 }
142 "MetadataProperties" => {
143 builder = builder.set_metadata_properties(crate::protocol_serde::shape_metadata_properties::de_metadata_properties(tokens)?);
144 }
145 "ModelMetrics" => {
146 builder = builder.set_model_metrics(crate::protocol_serde::shape_model_metrics::de_model_metrics(tokens)?);
147 }
148 "LastModifiedTime" => {
149 builder = builder.set_last_modified_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
150 tokens.next(),
151 ::aws_smithy_types::date_time::Format::EpochSeconds,
152 )?);
153 }
154 "LastModifiedBy" => {
155 builder = builder.set_last_modified_by(crate::protocol_serde::shape_user_context::de_user_context(tokens)?);
156 }
157 "ApprovalDescription" => {
158 builder = builder.set_approval_description(
159 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
160 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
161 .transpose()?,
162 );
163 }
164 "Domain" => {
165 builder = builder.set_domain(
166 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
167 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
168 .transpose()?,
169 );
170 }
171 "Task" => {
172 builder = builder.set_task(
173 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
174 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
175 .transpose()?,
176 );
177 }
178 "SamplePayloadUrl" => {
179 builder = builder.set_sample_payload_url(
180 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
181 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
182 .transpose()?,
183 );
184 }
185 "CustomerMetadataProperties" => {
186 builder = builder
187 .set_customer_metadata_properties(crate::protocol_serde::shape_customer_metadata_map::de_customer_metadata_map(tokens)?);
188 }
189 "DriftCheckBaselines" => {
190 builder =
191 builder.set_drift_check_baselines(crate::protocol_serde::shape_drift_check_baselines::de_drift_check_baselines(tokens)?);
192 }
193 "AdditionalInferenceSpecifications" => {
194 builder = builder.set_additional_inference_specifications(
195 crate::protocol_serde::shape_additional_inference_specifications::de_additional_inference_specifications(tokens)?,
196 );
197 }
198 "SkipModelValidation" => {
199 builder = builder.set_skip_model_validation(
200 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
201 .map(|s| s.to_unescaped().map(|u| crate::types::SkipModelValidation::from(u.as_ref())))
202 .transpose()?,
203 );
204 }
205 "SourceUri" => {
206 builder = builder.set_source_uri(
207 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
208 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
209 .transpose()?,
210 );
211 }
212 "SecurityConfig" => {
213 builder = builder
214 .set_security_config(crate::protocol_serde::shape_model_package_security_config::de_model_package_security_config(tokens)?);
215 }
216 "ModelCard" => {
217 builder = builder.set_model_card(crate::protocol_serde::shape_model_package_model_card::de_model_package_model_card(
218 tokens,
219 )?);
220 }
221 "ModelLifeCycle" => {
222 builder = builder.set_model_life_cycle(crate::protocol_serde::shape_model_life_cycle::de_model_life_cycle(tokens)?);
223 }
224 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
225 },
226 other => {
227 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
228 "expected object key or end object, found: {:?}",
229 other
230 )))
231 }
232 }
233 }
234 if tokens.next().is_some() {
235 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
236 "found more JSON tokens after completing parsing",
237 ));
238 }
239 Ok(builder)
240}