aws-sdk-ec2 1.224.0

AWS SDK for Amazon Elastic Compute Cloud
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_create_vpc_endpoint_input_input_input(
    input: &crate::operation::create_vpc_endpoint::CreateVpcEndpointInput,
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
    let mut out = String::new();
    #[allow(unused_mut)]
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "CreateVpcEndpoint", "2016-11-15");
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("DryRun");
    if let Some(var_2) = &input.dry_run {
        scope_1.boolean(*var_2);
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("VpcEndpointType");
    if let Some(var_4) = &input.vpc_endpoint_type {
        scope_3.string(var_4.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("VpcId");
    if let Some(var_6) = &input.vpc_id {
        scope_5.string(var_6);
    }
    #[allow(unused_mut)]
    let mut scope_7 = writer.prefix("ServiceName");
    if let Some(var_8) = &input.service_name {
        scope_7.string(var_8);
    }
    #[allow(unused_mut)]
    let mut scope_9 = writer.prefix("PolicyDocument");
    if let Some(var_10) = &input.policy_document {
        scope_9.string(var_10);
    }
    #[allow(unused_mut)]
    let mut scope_11 = writer.prefix("RouteTableId");
    if let Some(var_12) = &input.route_table_ids {
        if !var_12.is_empty() {
            let mut list_14 = scope_11.start_list(true, Some("item"));
            for item_13 in var_12 {
                #[allow(unused_mut)]
                let mut entry_15 = list_14.entry();
                entry_15.string(item_13);
            }
            list_14.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_16 = writer.prefix("SubnetId");
    if let Some(var_17) = &input.subnet_ids {
        if !var_17.is_empty() {
            let mut list_19 = scope_16.start_list(true, Some("item"));
            for item_18 in var_17 {
                #[allow(unused_mut)]
                let mut entry_20 = list_19.entry();
                entry_20.string(item_18);
            }
            list_19.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_21 = writer.prefix("SecurityGroupId");
    if let Some(var_22) = &input.security_group_ids {
        if !var_22.is_empty() {
            let mut list_24 = scope_21.start_list(true, Some("item"));
            for item_23 in var_22 {
                #[allow(unused_mut)]
                let mut entry_25 = list_24.entry();
                entry_25.string(item_23);
            }
            list_24.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_26 = writer.prefix("IpAddressType");
    if let Some(var_27) = &input.ip_address_type {
        scope_26.string(var_27.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_28 = writer.prefix("DnsOptions");
    if let Some(var_29) = &input.dns_options {
        crate::protocol_serde::shape_dns_options_specification::ser_dns_options_specification(scope_28, var_29)?;
    }
    #[allow(unused_mut)]
    let mut scope_30 = writer.prefix("ClientToken");
    if let Some(var_31) = &input.client_token {
        scope_30.string(var_31);
    }
    #[allow(unused_mut)]
    let mut scope_32 = writer.prefix("PrivateDnsEnabled");
    if let Some(var_33) = &input.private_dns_enabled {
        scope_32.boolean(*var_33);
    }
    #[allow(unused_mut)]
    let mut scope_34 = writer.prefix("TagSpecification");
    if let Some(var_35) = &input.tag_specifications {
        if !var_35.is_empty() {
            let mut list_37 = scope_34.start_list(true, Some("item"));
            for item_36 in var_35 {
                #[allow(unused_mut)]
                let mut entry_38 = list_37.entry();
                crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_38, item_36)?;
            }
            list_37.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_39 = writer.prefix("SubnetConfiguration");
    if let Some(var_40) = &input.subnet_configurations {
        if !var_40.is_empty() {
            let mut list_42 = scope_39.start_list(true, Some("item"));
            for item_41 in var_40 {
                #[allow(unused_mut)]
                let mut entry_43 = list_42.entry();
                crate::protocol_serde::shape_subnet_configuration::ser_subnet_configuration(entry_43, item_41)?;
            }
            list_42.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_44 = writer.prefix("ServiceNetworkArn");
    if let Some(var_45) = &input.service_network_arn {
        scope_44.string(var_45);
    }
    #[allow(unused_mut)]
    let mut scope_46 = writer.prefix("ResourceConfigurationArn");
    if let Some(var_47) = &input.resource_configuration_arn {
        scope_46.string(var_47);
    }
    #[allow(unused_mut)]
    let mut scope_48 = writer.prefix("ServiceRegion");
    if let Some(var_49) = &input.service_region {
        scope_48.string(var_49);
    }
    writer.finish();
    Ok(::aws_smithy_types::body::SdkBody::from(out))
}