pub fn ser_create_model_package_input_input(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::operation::create_model_package::CreateModelPackageInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.model_package_name {
object.key("ModelPackageName").string(var_1.as_str());
}
if let Some(var_2) = &input.model_package_group_name {
object.key("ModelPackageGroupName").string(var_2.as_str());
}
if let Some(var_3) = &input.model_package_description {
object.key("ModelPackageDescription").string(var_3.as_str());
}
if let Some(var_4) = &input.model_package_registration_type {
object.key("ModelPackageRegistrationType").string(var_4.as_str());
}
if let Some(var_5) = &input.inference_specification {
#[allow(unused_mut)]
let mut object_6 = object.key("InferenceSpecification").start_object();
crate::protocol_serde::shape_inference_specification::ser_inference_specification(&mut object_6, var_5)?;
object_6.finish();
}
if let Some(var_7) = &input.validation_specification {
#[allow(unused_mut)]
let mut object_8 = object.key("ValidationSpecification").start_object();
crate::protocol_serde::shape_model_package_validation_specification::ser_model_package_validation_specification(&mut object_8, var_7)?;
object_8.finish();
}
if let Some(var_9) = &input.source_algorithm_specification {
#[allow(unused_mut)]
let mut object_10 = object.key("SourceAlgorithmSpecification").start_object();
crate::protocol_serde::shape_source_algorithm_specification::ser_source_algorithm_specification(&mut object_10, var_9)?;
object_10.finish();
}
if let Some(var_11) = &input.certify_for_marketplace {
object.key("CertifyForMarketplace").boolean(*var_11);
}
if let Some(var_12) = &input.tags {
let mut array_13 = object.key("Tags").start_array();
for item_14 in var_12 {
{
#[allow(unused_mut)]
let mut object_15 = array_13.value().start_object();
crate::protocol_serde::shape_tag::ser_tag(&mut object_15, item_14)?;
object_15.finish();
}
}
array_13.finish();
}
if let Some(var_16) = &input.model_approval_status {
object.key("ModelApprovalStatus").string(var_16.as_str());
}
if let Some(var_17) = &input.metadata_properties {
#[allow(unused_mut)]
let mut object_18 = object.key("MetadataProperties").start_object();
crate::protocol_serde::shape_metadata_properties::ser_metadata_properties(&mut object_18, var_17)?;
object_18.finish();
}
if let Some(var_19) = &input.model_metrics {
#[allow(unused_mut)]
let mut object_20 = object.key("ModelMetrics").start_object();
crate::protocol_serde::shape_model_metrics::ser_model_metrics(&mut object_20, var_19)?;
object_20.finish();
}
if let Some(var_21) = &input.client_token {
object.key("ClientToken").string(var_21.as_str());
}
if let Some(var_22) = &input.domain {
object.key("Domain").string(var_22.as_str());
}
if let Some(var_23) = &input.task {
object.key("Task").string(var_23.as_str());
}
if let Some(var_24) = &input.sample_payload_url {
object.key("SamplePayloadUrl").string(var_24.as_str());
}
if let Some(var_25) = &input.customer_metadata_properties {
#[allow(unused_mut)]
let mut object_26 = object.key("CustomerMetadataProperties").start_object();
for (key_27, value_28) in var_25 {
{
object_26.key(key_27.as_str()).string(value_28.as_str());
}
}
object_26.finish();
}
if let Some(var_29) = &input.drift_check_baselines {
#[allow(unused_mut)]
let mut object_30 = object.key("DriftCheckBaselines").start_object();
crate::protocol_serde::shape_drift_check_baselines::ser_drift_check_baselines(&mut object_30, var_29)?;
object_30.finish();
}
if let Some(var_31) = &input.additional_inference_specifications {
let mut array_32 = object.key("AdditionalInferenceSpecifications").start_array();
for item_33 in var_31 {
{
#[allow(unused_mut)]
let mut object_34 = array_32.value().start_object();
crate::protocol_serde::shape_additional_inference_specification_definition::ser_additional_inference_specification_definition(
&mut object_34,
item_33,
)?;
object_34.finish();
}
}
array_32.finish();
}
if let Some(var_35) = &input.skip_model_validation {
object.key("SkipModelValidation").string(var_35.as_str());
}
if let Some(var_36) = &input.source_uri {
object.key("SourceUri").string(var_36.as_str());
}
if let Some(var_37) = &input.security_config {
#[allow(unused_mut)]
let mut object_38 = object.key("SecurityConfig").start_object();
crate::protocol_serde::shape_model_package_security_config::ser_model_package_security_config(&mut object_38, var_37)?;
object_38.finish();
}
if let Some(var_39) = &input.model_card {
#[allow(unused_mut)]
let mut object_40 = object.key("ModelCard").start_object();
crate::protocol_serde::shape_model_package_model_card::ser_model_package_model_card(&mut object_40, var_39)?;
object_40.finish();
}
if let Some(var_41) = &input.model_life_cycle {
#[allow(unused_mut)]
let mut object_42 = object.key("ModelLifeCycle").start_object();
crate::protocol_serde::shape_model_life_cycle::ser_model_life_cycle(&mut object_42, var_41)?;
object_42.finish();
}
Ok(())
}