pub fn ser_managed_instance_request(
encoder: &mut ::aws_smithy_cbor::Encoder,
#[allow(unused)] input: &crate::types::ManagedInstanceRequest,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
encoder.begin_map();
if let Some(var_1) = &input.block_device_mappings {
encoder.str("BlockDeviceMappings");
encoder.array((*var_1).len());
for item_2 in var_1 {
{
crate::protocol_serde::shape_block_device_mapping_request::ser_block_device_mapping_request(encoder, item_2)?;
}
}
}
if let Some(var_3) = &input.capacity_reservation_specification {
encoder.str("CapacityReservationSpecification");
crate::protocol_serde::shape_capacity_reservation_specification::ser_capacity_reservation_specification(encoder, var_3)?;
}
if let Some(var_4) = &input.cpu_options {
encoder.str("CpuOptions");
crate::protocol_serde::shape_cpu_options_request::ser_cpu_options_request(encoder, var_4)?;
}
if let Some(var_5) = &input.credit_specification {
encoder.str("CreditSpecification");
crate::protocol_serde::shape_credit_specification_request::ser_credit_specification_request(encoder, var_5)?;
}
if let Some(var_6) = &input.disable_api_stop {
encoder.str("DisableApiStop").boolean(*var_6);
}
if let Some(var_7) = &input.ebs_optimized {
encoder.str("EbsOptimized").boolean(*var_7);
}
if let Some(var_8) = &input.enable_primary_ipv6 {
encoder.str("EnablePrimaryIpv6").boolean(*var_8);
}
if let Some(var_9) = &input.enclave_options {
encoder.str("EnclaveOptions");
crate::protocol_serde::shape_enclave_options_request::ser_enclave_options_request(encoder, var_9)?;
}
if let Some(var_10) = &input.hibernation_options {
encoder.str("HibernationOptions");
crate::protocol_serde::shape_hibernation_options_request::ser_hibernation_options_request(encoder, var_10)?;
}
if let Some(var_11) = &input.iam_instance_profile {
encoder.str("IamInstanceProfile");
crate::protocol_serde::shape_iam_instance_profile_specification::ser_iam_instance_profile_specification(encoder, var_11)?;
}
if let Some(var_12) = &input.image_id {
encoder.str("ImageId").str(var_12.as_str());
}
if let Some(var_13) = &input.instance_market_options {
encoder.str("InstanceMarketOptions");
crate::protocol_serde::shape_instance_market_options_request::ser_instance_market_options_request(encoder, var_13)?;
}
if let Some(var_14) = &input.instance_type {
encoder.str("InstanceType").str(var_14.as_str());
}
if let Some(var_15) = &input.ipv6_addresses {
encoder.str("Ipv6Addresses");
encoder.array((*var_15).len());
for item_16 in var_15 {
{
crate::protocol_serde::shape_instance_ipv6_address::ser_instance_ipv6_address(encoder, item_16)?;
}
}
}
if let Some(var_17) = &input.ipv6_address_count {
encoder.str("Ipv6AddressCount").integer(*var_17);
}
if let Some(var_18) = &input.kernel_id {
encoder.str("KernelId").str(var_18.as_str());
}
if let Some(var_19) = &input.key_name {
encoder.str("KeyName").str(var_19.as_str());
}
if let Some(var_20) = &input.license_specifications {
encoder.str("LicenseSpecifications");
encoder.array((*var_20).len());
for item_21 in var_20 {
{
crate::protocol_serde::shape_license_configuration_request::ser_license_configuration_request(encoder, item_21)?;
}
}
}
if let Some(var_22) = &input.maintenance_options {
encoder.str("MaintenanceOptions");
crate::protocol_serde::shape_instance_maintenance_options_request::ser_instance_maintenance_options_request(encoder, var_22)?;
}
if let Some(var_23) = &input.metadata_options {
encoder.str("MetadataOptions");
crate::protocol_serde::shape_instance_metadata_options_request::ser_instance_metadata_options_request(encoder, var_23)?;
}
if let Some(var_24) = &input.monitoring {
encoder.str("Monitoring");
crate::protocol_serde::shape_run_instances_monitoring_enabled::ser_run_instances_monitoring_enabled(encoder, var_24)?;
}
if let Some(var_25) = &input.network_interfaces {
encoder.str("NetworkInterfaces");
encoder.array((*var_25).len());
for item_26 in var_25 {
{
crate::protocol_serde::shape_instance_network_interface_specification::ser_instance_network_interface_specification(
encoder, item_26,
)?;
}
}
}
if let Some(var_27) = &input.network_performance_options {
encoder.str("NetworkPerformanceOptions");
crate::protocol_serde::shape_instance_network_performance_options_request::ser_instance_network_performance_options_request(encoder, var_27)?;
}
if let Some(var_28) = &input.placement {
encoder.str("Placement");
crate::protocol_serde::shape_placement::ser_placement(encoder, var_28)?;
}
if let Some(var_29) = &input.private_dns_name_options {
encoder.str("PrivateDnsNameOptions");
crate::protocol_serde::shape_private_dns_name_options_request::ser_private_dns_name_options_request(encoder, var_29)?;
}
if let Some(var_30) = &input.private_ip_address {
encoder.str("PrivateIpAddress").str(var_30.as_str());
}
if let Some(var_31) = &input.ramdisk_id {
encoder.str("RamdiskId").str(var_31.as_str());
}
if let Some(var_32) = &input.security_group_ids {
encoder.str("SecurityGroupIds");
encoder.array((*var_32).len());
for item_33 in var_32 {
{
encoder.str(item_33.as_str());
}
}
}
if let Some(var_34) = &input.security_groups {
encoder.str("SecurityGroups");
encoder.array((*var_34).len());
for item_35 in var_34 {
{
encoder.str(item_35.as_str());
}
}
}
if let Some(var_36) = &input.subnet_id {
encoder.str("SubnetId").str(var_36.as_str());
}
if let Some(var_37) = &input.tag_specifications {
encoder.str("TagSpecifications");
encoder.array((*var_37).len());
for item_38 in var_37 {
{
crate::protocol_serde::shape_tag_specification::ser_tag_specification(encoder, item_38)?;
}
}
}
if let Some(var_39) = &input.user_data {
encoder.str("UserData").str(var_39.as_str());
}
encoder.end();
Ok(())
}