// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateInferenceExperiment`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::set_name):<br>required: **true**<br><p>The name of the inference experiment to be updated.</p><br>
/// - [`schedule(InferenceExperimentSchedule)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::schedule) / [`set_schedule(Option<InferenceExperimentSchedule>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::set_schedule):<br>required: **false**<br><p> The duration for which the inference experiment will run. If the status of the inference experiment is <code>Created</code>, then you can update both the start and end dates. If the status of the inference experiment is <code>Running</code>, then you can update only the end date. </p><br>
/// - [`description(impl Into<String>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::set_description):<br>required: **false**<br><p>The description of the inference experiment.</p><br>
/// - [`model_variants(ModelVariantConfig)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::model_variants) / [`set_model_variants(Option<Vec::<ModelVariantConfig>>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::set_model_variants):<br>required: **false**<br><p> An array of <code>ModelVariantConfig</code> objects. There is one for each variant, whose infrastructure configuration you want to update. </p><br>
/// - [`data_storage_config(InferenceExperimentDataStorageConfig)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::data_storage_config) / [`set_data_storage_config(Option<InferenceExperimentDataStorageConfig>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::set_data_storage_config):<br>required: **false**<br><p>The Amazon S3 location and configuration for storing inference request and response data.</p><br>
/// - [`shadow_mode_config(ShadowModeConfig)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::shadow_mode_config) / [`set_shadow_mode_config(Option<ShadowModeConfig>)`](crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::set_shadow_mode_config):<br>required: **false**<br><p> The configuration of <code>ShadowMode</code> inference experiment type. Use this field to specify a production variant which takes all the inference requests, and a shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant also specify the percentage of requests that Amazon SageMaker replicates. </p><br>
/// - On success, responds with [`UpdateInferenceExperimentOutput`](crate::operation::update_inference_experiment::UpdateInferenceExperimentOutput) with field(s):
/// - [`inference_experiment_arn(Option<String>)`](crate::operation::update_inference_experiment::UpdateInferenceExperimentOutput::inference_experiment_arn): <p>The ARN of the updated inference experiment.</p>
/// - On failure, responds with [`SdkError<UpdateInferenceExperimentError>`](crate::operation::update_inference_experiment::UpdateInferenceExperimentError)
pub fn update_inference_experiment(&self) -> crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder {
crate::operation::update_inference_experiment::builders::UpdateInferenceExperimentFluentBuilder::new(self.handle.clone())
}
}