aws-sdk-appconfig 1.108.0

AWS SDK for Amazon AppConfig
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateExperimentDefinition`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`application_identifier(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::application_identifier) / [`set_application_identifier(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_application_identifier):<br>required: **true**<br><p>The application ID or name.</p><br>
    ///   - [`name(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_name):<br>required: **true**<br><p>A name for the experiment definition.</p><br>
    ///   - [`configuration_profile_identifier(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::configuration_profile_identifier) / [`set_configuration_profile_identifier(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_configuration_profile_identifier):<br>required: **true**<br><p>The configuration profile ID or name that stores the feature flag.</p><br>
    ///   - [`environment_identifier(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::environment_identifier) / [`set_environment_identifier(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_environment_identifier):<br>required: **true**<br><p>The environment ID or name where the experiment will run.</p><br>
    ///   - [`flag_key(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::flag_key) / [`set_flag_key(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_flag_key):<br>required: **true**<br><p>The key of the existing feature flag to use with the experiment.</p><br>
    ///   - [`treatments(TreatmentInput)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::treatments) / [`set_treatments(Option<Vec::<TreatmentInput>>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_treatments):<br>required: **true**<br><p>A list of treatments to evaluate during the experiment. Each treatment defines a distinct variation compared to the control.</p><br>
    ///   - [`control(TreatmentInput)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::control) / [`set_control(Option<TreatmentInput>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_control):<br>required: **true**<br><p>The control treatment that represents the baseline experience for comparison.</p><br>
    ///   - [`audience_rule(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::audience_rule) / [`set_audience_rule(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_audience_rule):<br>required: **true**<br><p>A rule that defines which users are eligible to be assigned to treatments during the experiment.</p><br>
    ///   - [`hypothesis(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::hypothesis) / [`set_hypothesis(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_hypothesis):<br>required: **false**<br><p>A description of the goal or hypothesis the experiment is designed to validate.</p><br>
    ///   - [`audience_description(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::audience_description) / [`set_audience_description(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_audience_description):<br>required: **false**<br><p>A description of the intended audience for the experiment.</p><br>
    ///   - [`launch_criteria(impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::launch_criteria) / [`set_launch_criteria(Option<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_launch_criteria):<br>required: **false**<br><p>Information about the conditions under which you would launch the winning treatment.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to assign to the experiment definition. Tags help organize and categorize your AppConfig resources.</p><br>
    /// - On success, responds with [`CreateExperimentDefinitionOutput`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput) with field(s):
    ///   - [`application_id(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::application_id): <p>The application ID.</p>
    ///   - [`id(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::id): <p>The experiment definition ID.</p>
    ///   - [`name(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::name): <p>The name of the experiment definition.</p>
    ///   - [`hypothesis(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::hypothesis): <p>The hypothesis that the experiment is designed to validate.</p>
    ///   - [`status(Option<ExperimentDefinitionStatus>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::status): <p>The current status of the experiment definition. Valid values: <code>ACTIVE</code>, <code>IDLE</code>, <code>ARCHIVED</code>.</p>
    ///   - [`configuration_profile_id(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::configuration_profile_id): <p>The configuration profile ID associated with the experiment.</p>
    ///   - [`environment_id(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::environment_id): <p>The environment ID where the experiment runs.</p>
    ///   - [`flag_key(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::flag_key): <p>The key of the feature flag used by the experiment.</p>
    ///   - [`audience_rule(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::audience_rule): <p>The rule that defines which users are eligible to be assigned to treatments.</p>
    ///   - [`audience_description(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::audience_description): <p>A description of the intended audience for the experiment.</p>
    ///   - [`launch_criteria(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::launch_criteria): <p>The conditions under which the winning treatment should be launched.</p>
    ///   - [`treatments(Option<Vec::<Treatment>>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::treatments): <p>The list of treatments defined for the experiment.</p>
    ///   - [`control(Option<Treatment>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::control): <p>The control treatment used as the baseline for comparison.</p>
    ///   - [`created_at(Option<DateTime>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::created_at): <p>The date and time the experiment definition was created, in ISO 8601 format.</p>
    ///   - [`updated_at(Option<DateTime>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::updated_at): <p>The date and time the experiment definition was last updated, in ISO 8601 format.</p>
    ///   - [`kms_key_identifier(Option<String>)`](crate::operation::create_experiment_definition::CreateExperimentDefinitionOutput::kms_key_identifier): <p>The Amazon Resource Name (ARN) of the KMS key used to encrypt experiment data.</p>
    /// - On failure, responds with [`SdkError<CreateExperimentDefinitionError>`](crate::operation::create_experiment_definition::CreateExperimentDefinitionError)
    pub fn create_experiment_definition(&self) -> crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder {
        crate::operation::create_experiment_definition::builders::CreateExperimentDefinitionFluentBuilder::new(self.handle.clone())
    }
}