aws_sdk_sagemaker/protocol_serde/
shape_cluster_instance_group_specification.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub fn ser_cluster_instance_group_specification(
3    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4    input: &crate::types::ClusterInstanceGroupSpecification,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6    if let Some(var_1) = &input.instance_count {
7        object.key("InstanceCount").number(
8            #[allow(clippy::useless_conversion)]
9            ::aws_smithy_types::Number::NegInt((*var_1).into()),
10        );
11    }
12    if let Some(var_2) = &input.instance_group_name {
13        object.key("InstanceGroupName").string(var_2.as_str());
14    }
15    if let Some(var_3) = &input.instance_type {
16        object.key("InstanceType").string(var_3.as_str());
17    }
18    if let Some(var_4) = &input.life_cycle_config {
19        #[allow(unused_mut)]
20        let mut object_5 = object.key("LifeCycleConfig").start_object();
21        crate::protocol_serde::shape_cluster_life_cycle_config::ser_cluster_life_cycle_config(&mut object_5, var_4)?;
22        object_5.finish();
23    }
24    if let Some(var_6) = &input.execution_role {
25        object.key("ExecutionRole").string(var_6.as_str());
26    }
27    if let Some(var_7) = &input.threads_per_core {
28        object.key("ThreadsPerCore").number(
29            #[allow(clippy::useless_conversion)]
30            ::aws_smithy_types::Number::NegInt((*var_7).into()),
31        );
32    }
33    if let Some(var_8) = &input.instance_storage_configs {
34        let mut array_9 = object.key("InstanceStorageConfigs").start_array();
35        for item_10 in var_8 {
36            {
37                #[allow(unused_mut)]
38                let mut object_11 = array_9.value().start_object();
39                crate::protocol_serde::shape_cluster_instance_storage_config::ser_cluster_instance_storage_config(&mut object_11, item_10)?;
40                object_11.finish();
41            }
42        }
43        array_9.finish();
44    }
45    if let Some(var_12) = &input.on_start_deep_health_checks {
46        let mut array_13 = object.key("OnStartDeepHealthChecks").start_array();
47        for item_14 in var_12 {
48            {
49                array_13.value().string(item_14.as_str());
50            }
51        }
52        array_13.finish();
53    }
54    if let Some(var_15) = &input.training_plan_arn {
55        object.key("TrainingPlanArn").string(var_15.as_str());
56    }
57    if let Some(var_16) = &input.override_vpc_config {
58        #[allow(unused_mut)]
59        let mut object_17 = object.key("OverrideVpcConfig").start_object();
60        crate::protocol_serde::shape_vpc_config::ser_vpc_config(&mut object_17, var_16)?;
61        object_17.finish();
62    }
63    if let Some(var_18) = &input.scheduled_update_config {
64        #[allow(unused_mut)]
65        let mut object_19 = object.key("ScheduledUpdateConfig").start_object();
66        crate::protocol_serde::shape_scheduled_update_config::ser_scheduled_update_config(&mut object_19, var_18)?;
67        object_19.finish();
68    }
69    Ok(())
70}