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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_crawler_input_input(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::operation::create_crawler::CreateCrawlerInput,
) -> 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.role {
        object.key("Role").string(var_2.as_str());
    }
    if let Some(var_3) = &input.database_name {
        object.key("DatabaseName").string(var_3.as_str());
    }
    if let Some(var_4) = &input.description {
        object.key("Description").string(var_4.as_str());
    }
    if let Some(var_5) = &input.targets {
        #[allow(unused_mut)]
        let mut object_6 = object.key("Targets").start_object();
        crate::protocol_serde::shape_crawler_targets::ser_crawler_targets(&mut object_6, var_5)?;
        object_6.finish();
    }
    if let Some(var_7) = &input.schedule {
        object.key("Schedule").string(var_7.as_str());
    }
    if let Some(var_8) = &input.classifiers {
        let mut array_9 = object.key("Classifiers").start_array();
        for item_10 in var_8 {
            {
                array_9.value().string(item_10.as_str());
            }
        }
        array_9.finish();
    }
    if let Some(var_11) = &input.table_prefix {
        object.key("TablePrefix").string(var_11.as_str());
    }
    if let Some(var_12) = &input.schema_change_policy {
        #[allow(unused_mut)]
        let mut object_13 = object.key("SchemaChangePolicy").start_object();
        crate::protocol_serde::shape_schema_change_policy::ser_schema_change_policy(&mut object_13, var_12)?;
        object_13.finish();
    }
    if let Some(var_14) = &input.recrawl_policy {
        #[allow(unused_mut)]
        let mut object_15 = object.key("RecrawlPolicy").start_object();
        crate::protocol_serde::shape_recrawl_policy::ser_recrawl_policy(&mut object_15, var_14)?;
        object_15.finish();
    }
    if let Some(var_16) = &input.lineage_configuration {
        #[allow(unused_mut)]
        let mut object_17 = object.key("LineageConfiguration").start_object();
        crate::protocol_serde::shape_lineage_configuration::ser_lineage_configuration(&mut object_17, var_16)?;
        object_17.finish();
    }
    if let Some(var_18) = &input.lake_formation_configuration {
        #[allow(unused_mut)]
        let mut object_19 = object.key("LakeFormationConfiguration").start_object();
        crate::protocol_serde::shape_lake_formation_configuration::ser_lake_formation_configuration(&mut object_19, var_18)?;
        object_19.finish();
    }
    if let Some(var_20) = &input.configuration {
        object.key("Configuration").string(var_20.as_str());
    }
    if let Some(var_21) = &input.crawler_security_configuration {
        object.key("CrawlerSecurityConfiguration").string(var_21.as_str());
    }
    if let Some(var_22) = &input.tags {
        #[allow(unused_mut)]
        let mut object_23 = object.key("Tags").start_object();
        for (key_24, value_25) in var_22 {
            {
                object_23.key(key_24.as_str()).string(value_25.as_str());
            }
        }
        object_23.finish();
    }
    Ok(())
}