aws_sdk_sagemaker/protocol_serde/
shape_create_notebook_instance_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub fn ser_create_notebook_instance_input_input(
3    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4    input: &crate::operation::create_notebook_instance::CreateNotebookInstanceInput,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6    if let Some(var_1) = &input.notebook_instance_name {
7        object.key("NotebookInstanceName").string(var_1.as_str());
8    }
9    if let Some(var_2) = &input.instance_type {
10        object.key("InstanceType").string(var_2.as_str());
11    }
12    if let Some(var_3) = &input.subnet_id {
13        object.key("SubnetId").string(var_3.as_str());
14    }
15    if let Some(var_4) = &input.security_group_ids {
16        let mut array_5 = object.key("SecurityGroupIds").start_array();
17        for item_6 in var_4 {
18            {
19                array_5.value().string(item_6.as_str());
20            }
21        }
22        array_5.finish();
23    }
24    if let Some(var_7) = &input.role_arn {
25        object.key("RoleArn").string(var_7.as_str());
26    }
27    if let Some(var_8) = &input.kms_key_id {
28        object.key("KmsKeyId").string(var_8.as_str());
29    }
30    if let Some(var_9) = &input.tags {
31        let mut array_10 = object.key("Tags").start_array();
32        for item_11 in var_9 {
33            {
34                #[allow(unused_mut)]
35                let mut object_12 = array_10.value().start_object();
36                crate::protocol_serde::shape_tag::ser_tag(&mut object_12, item_11)?;
37                object_12.finish();
38            }
39        }
40        array_10.finish();
41    }
42    if let Some(var_13) = &input.lifecycle_config_name {
43        object.key("LifecycleConfigName").string(var_13.as_str());
44    }
45    if let Some(var_14) = &input.direct_internet_access {
46        object.key("DirectInternetAccess").string(var_14.as_str());
47    }
48    if let Some(var_15) = &input.volume_size_in_gb {
49        object.key("VolumeSizeInGB").number(
50            #[allow(clippy::useless_conversion)]
51            ::aws_smithy_types::Number::NegInt((*var_15).into()),
52        );
53    }
54    if let Some(var_16) = &input.accelerator_types {
55        let mut array_17 = object.key("AcceleratorTypes").start_array();
56        for item_18 in var_16 {
57            {
58                array_17.value().string(item_18.as_str());
59            }
60        }
61        array_17.finish();
62    }
63    if let Some(var_19) = &input.default_code_repository {
64        object.key("DefaultCodeRepository").string(var_19.as_str());
65    }
66    if let Some(var_20) = &input.additional_code_repositories {
67        let mut array_21 = object.key("AdditionalCodeRepositories").start_array();
68        for item_22 in var_20 {
69            {
70                array_21.value().string(item_22.as_str());
71            }
72        }
73        array_21.finish();
74    }
75    if let Some(var_23) = &input.root_access {
76        object.key("RootAccess").string(var_23.as_str());
77    }
78    if let Some(var_24) = &input.platform_identifier {
79        object.key("PlatformIdentifier").string(var_24.as_str());
80    }
81    if let Some(var_25) = &input.instance_metadata_service_configuration {
82        #[allow(unused_mut)]
83        let mut object_26 = object.key("InstanceMetadataServiceConfiguration").start_object();
84        crate::protocol_serde::shape_instance_metadata_service_configuration::ser_instance_metadata_service_configuration(&mut object_26, var_25)?;
85        object_26.finish();
86    }
87    Ok(())
88}