aws_sdk_sagemaker/protocol_serde/
shape_create_optimization_job_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub fn ser_create_optimization_job_input_input(
3    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4    input: &crate::operation::create_optimization_job::CreateOptimizationJobInput,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6    if let Some(var_1) = &input.optimization_job_name {
7        object.key("OptimizationJobName").string(var_1.as_str());
8    }
9    if let Some(var_2) = &input.role_arn {
10        object.key("RoleArn").string(var_2.as_str());
11    }
12    if let Some(var_3) = &input.model_source {
13        #[allow(unused_mut)]
14        let mut object_4 = object.key("ModelSource").start_object();
15        crate::protocol_serde::shape_optimization_job_model_source::ser_optimization_job_model_source(&mut object_4, var_3)?;
16        object_4.finish();
17    }
18    if let Some(var_5) = &input.deployment_instance_type {
19        object.key("DeploymentInstanceType").string(var_5.as_str());
20    }
21    if let Some(var_6) = &input.optimization_environment {
22        #[allow(unused_mut)]
23        let mut object_7 = object.key("OptimizationEnvironment").start_object();
24        for (key_8, value_9) in var_6 {
25            {
26                object_7.key(key_8.as_str()).string(value_9.as_str());
27            }
28        }
29        object_7.finish();
30    }
31    if let Some(var_10) = &input.optimization_configs {
32        let mut array_11 = object.key("OptimizationConfigs").start_array();
33        for item_12 in var_10 {
34            {
35                #[allow(unused_mut)]
36                let mut object_13 = array_11.value().start_object();
37                crate::protocol_serde::shape_optimization_config::ser_optimization_config(&mut object_13, item_12)?;
38                object_13.finish();
39            }
40        }
41        array_11.finish();
42    }
43    if let Some(var_14) = &input.output_config {
44        #[allow(unused_mut)]
45        let mut object_15 = object.key("OutputConfig").start_object();
46        crate::protocol_serde::shape_optimization_job_output_config::ser_optimization_job_output_config(&mut object_15, var_14)?;
47        object_15.finish();
48    }
49    if let Some(var_16) = &input.stopping_condition {
50        #[allow(unused_mut)]
51        let mut object_17 = object.key("StoppingCondition").start_object();
52        crate::protocol_serde::shape_stopping_condition::ser_stopping_condition(&mut object_17, var_16)?;
53        object_17.finish();
54    }
55    if let Some(var_18) = &input.tags {
56        let mut array_19 = object.key("Tags").start_array();
57        for item_20 in var_18 {
58            {
59                #[allow(unused_mut)]
60                let mut object_21 = array_19.value().start_object();
61                crate::protocol_serde::shape_tag::ser_tag(&mut object_21, item_20)?;
62                object_21.finish();
63            }
64        }
65        array_19.finish();
66    }
67    if let Some(var_22) = &input.vpc_config {
68        #[allow(unused_mut)]
69        let mut object_23 = object.key("VpcConfig").start_object();
70        crate::protocol_serde::shape_optimization_vpc_config::ser_optimization_vpc_config(&mut object_23, var_22)?;
71        object_23.finish();
72    }
73    Ok(())
74}