// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateExperiment`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`project(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::project) / [`set_project(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_project): <p>The name or ARN of the project that contains the experiment that you want to update.</p>
/// - [`experiment(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::experiment) / [`set_experiment(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_experiment): <p>The name of the experiment to update.</p>
/// - [`description(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_description): <p>An optional description of the experiment.</p>
/// - [`treatments(Vec<TreatmentConfig>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::treatments) / [`set_treatments(Option<Vec<TreatmentConfig>>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_treatments): <p>An array of structures that define the variations being tested in the experiment.</p>
/// - [`metric_goals(Vec<MetricGoalConfig>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::metric_goals) / [`set_metric_goals(Option<Vec<MetricGoalConfig>>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_metric_goals): <p>An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.</p>
/// - [`randomization_salt(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::randomization_salt) / [`set_randomization_salt(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_randomization_salt): <p>When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and <code>randomizationSalt</code>. If you omit <code>randomizationSalt</code>, Evidently uses the experiment name as the <code>randomizationSalt</code>.</p>
/// - [`sampling_rate(i64)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::sampling_rate) / [`set_sampling_rate(Option<i64>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_sampling_rate): <p>The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.</p> <p>This is represented in thousandths of a percent. For example, specify 20,000 to allocate 20% of the available audience.</p>
/// - [`segment(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::segment) / [`set_segment(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_segment): <p>Adds an audience <i>segment</i> to an experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment. You can't use this parameter if the experiment is currently running.</p>
/// - [`remove_segment(bool)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::remove_segment) / [`set_remove_segment(bool)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_remove_segment): <p>Removes a segment from being used in an experiment. You can't use this parameter if the experiment is currently running.</p>
/// - [`online_ab_config(OnlineAbConfig)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::online_ab_config) / [`set_online_ab_config(Option<OnlineAbConfig>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_online_ab_config): <p>A structure that contains the configuration of which variation o use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.</p>
/// - On success, responds with [`UpdateExperimentOutput`](crate::operation::update_experiment::UpdateExperimentOutput) with field(s):
/// - [`experiment(Option<Experiment>)`](crate::operation::update_experiment::UpdateExperimentOutput::experiment): <p>A structure containing the configuration details of the experiment that was updated.</p>
/// - On failure, responds with [`SdkError<UpdateExperimentError>`](crate::operation::update_experiment::UpdateExperimentError)
pub fn update_experiment(
&self,
) -> crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder {
crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::new(
self.handle.clone(),
)
}
}