1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_project_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_project::CreateProjectInput,
) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.name {
        object.key("name").string(var_1.as_str());
    }
    if let Some(var_2) = &input.description {
        object.key("description").string(var_2.as_str());
    }
    if let Some(var_3) = &input.source {
        #[allow(unused_mut)]
        let mut object_4 = object.key("source").start_object();
        crate::protocol_serde::shape_project_source::ser_project_source(&mut object_4, var_3)?;
        object_4.finish();
    }
    if let Some(var_5) = &input.secondary_sources {
        let mut array_6 = object.key("secondarySources").start_array();
        for item_7 in var_5 {
            {
                #[allow(unused_mut)]
                let mut object_8 = array_6.value().start_object();
                crate::protocol_serde::shape_project_source::ser_project_source(&mut object_8, item_7)?;
                object_8.finish();
            }
        }
        array_6.finish();
    }
    if let Some(var_9) = &input.source_version {
        object.key("sourceVersion").string(var_9.as_str());
    }
    if let Some(var_10) = &input.secondary_source_versions {
        let mut array_11 = object.key("secondarySourceVersions").start_array();
        for item_12 in var_10 {
            {
                #[allow(unused_mut)]
                let mut object_13 = array_11.value().start_object();
                crate::protocol_serde::shape_project_source_version::ser_project_source_version(&mut object_13, item_12)?;
                object_13.finish();
            }
        }
        array_11.finish();
    }
    if let Some(var_14) = &input.artifacts {
        #[allow(unused_mut)]
        let mut object_15 = object.key("artifacts").start_object();
        crate::protocol_serde::shape_project_artifacts::ser_project_artifacts(&mut object_15, var_14)?;
        object_15.finish();
    }
    if let Some(var_16) = &input.secondary_artifacts {
        let mut array_17 = object.key("secondaryArtifacts").start_array();
        for item_18 in var_16 {
            {
                #[allow(unused_mut)]
                let mut object_19 = array_17.value().start_object();
                crate::protocol_serde::shape_project_artifacts::ser_project_artifacts(&mut object_19, item_18)?;
                object_19.finish();
            }
        }
        array_17.finish();
    }
    if let Some(var_20) = &input.cache {
        #[allow(unused_mut)]
        let mut object_21 = object.key("cache").start_object();
        crate::protocol_serde::shape_project_cache::ser_project_cache(&mut object_21, var_20)?;
        object_21.finish();
    }
    if let Some(var_22) = &input.environment {
        #[allow(unused_mut)]
        let mut object_23 = object.key("environment").start_object();
        crate::protocol_serde::shape_project_environment::ser_project_environment(&mut object_23, var_22)?;
        object_23.finish();
    }
    if let Some(var_24) = &input.service_role {
        object.key("serviceRole").string(var_24.as_str());
    }
    if let Some(var_25) = &input.timeout_in_minutes {
        object.key("timeoutInMinutes").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_25).into()),
        );
    }
    if let Some(var_26) = &input.queued_timeout_in_minutes {
        object.key("queuedTimeoutInMinutes").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_26).into()),
        );
    }
    if let Some(var_27) = &input.encryption_key {
        object.key("encryptionKey").string(var_27.as_str());
    }
    if let Some(var_28) = &input.tags {
        let mut array_29 = object.key("tags").start_array();
        for item_30 in var_28 {
            {
                #[allow(unused_mut)]
                let mut object_31 = array_29.value().start_object();
                crate::protocol_serde::shape_tag::ser_tag(&mut object_31, item_30)?;
                object_31.finish();
            }
        }
        array_29.finish();
    }
    if let Some(var_32) = &input.vpc_config {
        #[allow(unused_mut)]
        let mut object_33 = object.key("vpcConfig").start_object();
        crate::protocol_serde::shape_vpc_config::ser_vpc_config(&mut object_33, var_32)?;
        object_33.finish();
    }
    if let Some(var_34) = &input.badge_enabled {
        object.key("badgeEnabled").boolean(*var_34);
    }
    if let Some(var_35) = &input.logs_config {
        #[allow(unused_mut)]
        let mut object_36 = object.key("logsConfig").start_object();
        crate::protocol_serde::shape_logs_config::ser_logs_config(&mut object_36, var_35)?;
        object_36.finish();
    }
    if let Some(var_37) = &input.file_system_locations {
        let mut array_38 = object.key("fileSystemLocations").start_array();
        for item_39 in var_37 {
            {
                #[allow(unused_mut)]
                let mut object_40 = array_38.value().start_object();
                crate::protocol_serde::shape_project_file_system_location::ser_project_file_system_location(&mut object_40, item_39)?;
                object_40.finish();
            }
        }
        array_38.finish();
    }
    if let Some(var_41) = &input.build_batch_config {
        #[allow(unused_mut)]
        let mut object_42 = object.key("buildBatchConfig").start_object();
        crate::protocol_serde::shape_project_build_batch_config::ser_project_build_batch_config(&mut object_42, var_41)?;
        object_42.finish();
    }
    if let Some(var_43) = &input.concurrent_build_limit {
        object.key("concurrentBuildLimit").number(
            #[allow(clippy::useless_conversion)]
            ::aws_smithy_types::Number::NegInt((*var_43).into()),
        );
    }
    Ok(())
}