1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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):<br>required: **true**<br><p>The name or ARN of the project that contains the experiment that you want to update.</p><br>
    ///   - [`experiment(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::experiment) / [`set_experiment(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_experiment):<br>required: **true**<br><p>The name of the experiment to update.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_description):<br>required: **false**<br><p>An optional description of the experiment.</p><br>
    ///   - [`treatments(TreatmentConfig)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::treatments) / [`set_treatments(Option<Vec::<TreatmentConfig>>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_treatments):<br>required: **false**<br><p>An array of structures that define the variations being tested in the experiment.</p><br>
    ///   - [`metric_goals(MetricGoalConfig)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::metric_goals) / [`set_metric_goals(Option<Vec::<MetricGoalConfig>>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_metric_goals):<br>required: **false**<br><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><br>
    ///   - [`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):<br>required: **false**<br><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><br>
    ///   - [`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):<br>required: **false**<br><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><br>
    ///   - [`segment(impl Into<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::segment) / [`set_segment(Option<String>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_segment):<br>required: **false**<br><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><br>
    ///   - [`remove_segment(bool)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::remove_segment) / [`set_remove_segment(Option<bool>)`](crate::operation::update_experiment::builders::UpdateExperimentFluentBuilder::set_remove_segment):<br>required: **false**<br><p>Removes a segment from being used in an experiment. You can't use this parameter if the experiment is currently running.</p><br>
    ///   - [`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):<br>required: **false**<br><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><br>
    /// - 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())
    }
}