aws_sdk_sagemaker/protocol_serde/
shape_describe_training_job.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_describe_training_job_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_training_job::DescribeTrainingJobOutput,
9    crate::operation::describe_training_job::DescribeTrainingJobError,
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_training_job::DescribeTrainingJobError::unhandled)?;
14    generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15    let generic = generic_builder.build();
16    let error_code = match generic.code() {
17        Some(code) => code,
18        None => return Err(crate::operation::describe_training_job::DescribeTrainingJobError::unhandled(generic)),
19    };
20
21    let _error_message = generic.message().map(|msg| msg.to_owned());
22    Err(match error_code {
23        "ResourceNotFound" => crate::operation::describe_training_job::DescribeTrainingJobError::ResourceNotFound({
24            #[allow(unused_mut)]
25            let mut tmp = {
26                #[allow(unused_mut)]
27                let mut output = crate::types::error::builders::ResourceNotFoundBuilder::default();
28                output = crate::protocol_serde::shape_resource_not_found::de_resource_not_found_json_err(_response_body, output)
29                    .map_err(crate::operation::describe_training_job::DescribeTrainingJobError::unhandled)?;
30                let output = output.meta(generic);
31                output.build()
32            };
33            if tmp.message.is_none() {
34                tmp.message = _error_message;
35            }
36            tmp
37        }),
38        _ => crate::operation::describe_training_job::DescribeTrainingJobError::generic(generic),
39    })
40}
41
42#[allow(clippy::unnecessary_wraps)]
43pub fn de_describe_training_job_http_response(
44    _response_status: u16,
45    _response_headers: &::aws_smithy_runtime_api::http::Headers,
46    _response_body: &[u8],
47) -> std::result::Result<
48    crate::operation::describe_training_job::DescribeTrainingJobOutput,
49    crate::operation::describe_training_job::DescribeTrainingJobError,
50> {
51    Ok({
52        #[allow(unused_mut)]
53        let mut output = crate::operation::describe_training_job::builders::DescribeTrainingJobOutputBuilder::default();
54        output = crate::protocol_serde::shape_describe_training_job::de_describe_training_job(_response_body, output)
55            .map_err(crate::operation::describe_training_job::DescribeTrainingJobError::unhandled)?;
56        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
57        crate::serde_util::describe_training_job_output_output_correct_errors(output).build()
58    })
59}
60
61pub fn ser_describe_training_job_input(
62    input: &crate::operation::describe_training_job::DescribeTrainingJobInput,
63) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
64    let mut out = String::new();
65    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
66    crate::protocol_serde::shape_describe_training_job_input::ser_describe_training_job_input_input(&mut object, input)?;
67    object.finish();
68    Ok(::aws_smithy_types::body::SdkBody::from(out))
69}
70
71pub(crate) fn de_describe_training_job(
72    value: &[u8],
73    mut builder: crate::operation::describe_training_job::builders::DescribeTrainingJobOutputBuilder,
74) -> ::std::result::Result<
75    crate::operation::describe_training_job::builders::DescribeTrainingJobOutputBuilder,
76    ::aws_smithy_json::deserialize::error::DeserializeError,
77> {
78    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
79    let tokens = &mut tokens_owned;
80    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
81    loop {
82        match tokens.next().transpose()? {
83            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
84            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
85                "TrainingJobName" => {
86                    builder = builder.set_training_job_name(
87                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
88                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
89                            .transpose()?,
90                    );
91                }
92                "TrainingJobArn" => {
93                    builder = builder.set_training_job_arn(
94                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
95                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
96                            .transpose()?,
97                    );
98                }
99                "TuningJobArn" => {
100                    builder = builder.set_tuning_job_arn(
101                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
102                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
103                            .transpose()?,
104                    );
105                }
106                "LabelingJobArn" => {
107                    builder = builder.set_labeling_job_arn(
108                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
109                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
110                            .transpose()?,
111                    );
112                }
113                "AutoMLJobArn" => {
114                    builder = builder.set_auto_ml_job_arn(
115                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
116                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
117                            .transpose()?,
118                    );
119                }
120                "ModelArtifacts" => {
121                    builder = builder.set_model_artifacts(crate::protocol_serde::shape_model_artifacts::de_model_artifacts(tokens)?);
122                }
123                "TrainingJobStatus" => {
124                    builder = builder.set_training_job_status(
125                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
126                            .map(|s| s.to_unescaped().map(|u| crate::types::TrainingJobStatus::from(u.as_ref())))
127                            .transpose()?,
128                    );
129                }
130                "SecondaryStatus" => {
131                    builder = builder.set_secondary_status(
132                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
133                            .map(|s| s.to_unescaped().map(|u| crate::types::SecondaryStatus::from(u.as_ref())))
134                            .transpose()?,
135                    );
136                }
137                "FailureReason" => {
138                    builder = builder.set_failure_reason(
139                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
140                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
141                            .transpose()?,
142                    );
143                }
144                "HyperParameters" => {
145                    builder = builder.set_hyper_parameters(crate::protocol_serde::shape_hyper_parameters::de_hyper_parameters(tokens)?);
146                }
147                "AlgorithmSpecification" => {
148                    builder = builder
149                        .set_algorithm_specification(crate::protocol_serde::shape_algorithm_specification::de_algorithm_specification(tokens)?);
150                }
151                "RoleArn" => {
152                    builder = builder.set_role_arn(
153                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
154                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
155                            .transpose()?,
156                    );
157                }
158                "InputDataConfig" => {
159                    builder = builder.set_input_data_config(crate::protocol_serde::shape_input_data_config::de_input_data_config(tokens)?);
160                }
161                "OutputDataConfig" => {
162                    builder = builder.set_output_data_config(crate::protocol_serde::shape_output_data_config::de_output_data_config(tokens)?);
163                }
164                "ResourceConfig" => {
165                    builder = builder.set_resource_config(crate::protocol_serde::shape_resource_config::de_resource_config(tokens)?);
166                }
167                "WarmPoolStatus" => {
168                    builder = builder.set_warm_pool_status(crate::protocol_serde::shape_warm_pool_status::de_warm_pool_status(tokens)?);
169                }
170                "VpcConfig" => {
171                    builder = builder.set_vpc_config(crate::protocol_serde::shape_vpc_config::de_vpc_config(tokens)?);
172                }
173                "StoppingCondition" => {
174                    builder = builder.set_stopping_condition(crate::protocol_serde::shape_stopping_condition::de_stopping_condition(tokens)?);
175                }
176                "CreationTime" => {
177                    builder = builder.set_creation_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
178                        tokens.next(),
179                        ::aws_smithy_types::date_time::Format::EpochSeconds,
180                    )?);
181                }
182                "TrainingStartTime" => {
183                    builder = builder.set_training_start_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
184                        tokens.next(),
185                        ::aws_smithy_types::date_time::Format::EpochSeconds,
186                    )?);
187                }
188                "TrainingEndTime" => {
189                    builder = builder.set_training_end_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
190                        tokens.next(),
191                        ::aws_smithy_types::date_time::Format::EpochSeconds,
192                    )?);
193                }
194                "LastModifiedTime" => {
195                    builder = builder.set_last_modified_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
196                        tokens.next(),
197                        ::aws_smithy_types::date_time::Format::EpochSeconds,
198                    )?);
199                }
200                "SecondaryStatusTransitions" => {
201                    builder = builder.set_secondary_status_transitions(
202                        crate::protocol_serde::shape_secondary_status_transitions::de_secondary_status_transitions(tokens)?,
203                    );
204                }
205                "FinalMetricDataList" => {
206                    builder =
207                        builder.set_final_metric_data_list(crate::protocol_serde::shape_final_metric_data_list::de_final_metric_data_list(tokens)?);
208                }
209                "EnableNetworkIsolation" => {
210                    builder = builder.set_enable_network_isolation(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
211                }
212                "EnableInterContainerTrafficEncryption" => {
213                    builder = builder
214                        .set_enable_inter_container_traffic_encryption(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
215                }
216                "EnableManagedSpotTraining" => {
217                    builder = builder.set_enable_managed_spot_training(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
218                }
219                "CheckpointConfig" => {
220                    builder = builder.set_checkpoint_config(crate::protocol_serde::shape_checkpoint_config::de_checkpoint_config(tokens)?);
221                }
222                "TrainingTimeInSeconds" => {
223                    builder = builder.set_training_time_in_seconds(
224                        ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
225                            .map(i32::try_from)
226                            .transpose()?,
227                    );
228                }
229                "BillableTimeInSeconds" => {
230                    builder = builder.set_billable_time_in_seconds(
231                        ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
232                            .map(i32::try_from)
233                            .transpose()?,
234                    );
235                }
236                "DebugHookConfig" => {
237                    builder = builder.set_debug_hook_config(crate::protocol_serde::shape_debug_hook_config::de_debug_hook_config(tokens)?);
238                }
239                "ExperimentConfig" => {
240                    builder = builder.set_experiment_config(crate::protocol_serde::shape_experiment_config::de_experiment_config(tokens)?);
241                }
242                "DebugRuleConfigurations" => {
243                    builder = builder.set_debug_rule_configurations(
244                        crate::protocol_serde::shape_debug_rule_configurations::de_debug_rule_configurations(tokens)?,
245                    );
246                }
247                "TensorBoardOutputConfig" => {
248                    builder = builder.set_tensor_board_output_config(
249                        crate::protocol_serde::shape_tensor_board_output_config::de_tensor_board_output_config(tokens)?,
250                    );
251                }
252                "DebugRuleEvaluationStatuses" => {
253                    builder = builder.set_debug_rule_evaluation_statuses(
254                        crate::protocol_serde::shape_debug_rule_evaluation_statuses::de_debug_rule_evaluation_statuses(tokens)?,
255                    );
256                }
257                "ProfilerConfig" => {
258                    builder = builder.set_profiler_config(crate::protocol_serde::shape_profiler_config::de_profiler_config(tokens)?);
259                }
260                "ProfilerRuleConfigurations" => {
261                    builder = builder.set_profiler_rule_configurations(
262                        crate::protocol_serde::shape_profiler_rule_configurations::de_profiler_rule_configurations(tokens)?,
263                    );
264                }
265                "ProfilerRuleEvaluationStatuses" => {
266                    builder = builder.set_profiler_rule_evaluation_statuses(
267                        crate::protocol_serde::shape_profiler_rule_evaluation_statuses::de_profiler_rule_evaluation_statuses(tokens)?,
268                    );
269                }
270                "ProfilingStatus" => {
271                    builder = builder.set_profiling_status(
272                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
273                            .map(|s| s.to_unescaped().map(|u| crate::types::ProfilingStatus::from(u.as_ref())))
274                            .transpose()?,
275                    );
276                }
277                "Environment" => {
278                    builder = builder.set_environment(crate::protocol_serde::shape_training_environment_map::de_training_environment_map(
279                        tokens,
280                    )?);
281                }
282                "RetryStrategy" => {
283                    builder = builder.set_retry_strategy(crate::protocol_serde::shape_retry_strategy::de_retry_strategy(tokens)?);
284                }
285                "RemoteDebugConfig" => {
286                    builder = builder.set_remote_debug_config(crate::protocol_serde::shape_remote_debug_config::de_remote_debug_config(tokens)?);
287                }
288                "InfraCheckConfig" => {
289                    builder = builder.set_infra_check_config(crate::protocol_serde::shape_infra_check_config::de_infra_check_config(tokens)?);
290                }
291                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
292            },
293            other => {
294                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
295                    "expected object key or end object, found: {:?}",
296                    other
297                )))
298            }
299        }
300    }
301    if tokens.next().is_some() {
302        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
303            "found more JSON tokens after completing parsing",
304        ));
305    }
306    Ok(builder)
307}