aws_sdk_sagemaker/protocol_serde/
shape_describe_model_package.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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}