// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`GetExperimentDefinition`](crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`application_identifier(impl Into<String>)`](crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder::application_identifier) / [`set_application_identifier(Option<String>)`](crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder::set_application_identifier):<br>required: **true**<br><p>The application ID or name.</p><br>
/// - [`experiment_definition_identifier(impl Into<String>)`](crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder::experiment_definition_identifier) / [`set_experiment_definition_identifier(Option<String>)`](crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder::set_experiment_definition_identifier):<br>required: **true**<br><p>The experiment definition ID or name.</p><br>
/// - On success, responds with [`GetExperimentDefinitionOutput`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput) with field(s):
/// - [`application_id(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::application_id): <p>The application ID.</p>
/// - [`id(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::id): <p>The experiment definition ID.</p>
/// - [`name(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::name): <p>The name of the experiment definition.</p>
/// - [`hypothesis(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::hypothesis): <p>The hypothesis that the experiment is designed to validate.</p>
/// - [`status(Option<ExperimentDefinitionStatus>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::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::get_experiment_definition::GetExperimentDefinitionOutput::configuration_profile_id): <p>The configuration profile ID associated with the experiment.</p>
/// - [`environment_id(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::environment_id): <p>The environment ID where the experiment runs.</p>
/// - [`flag_key(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::flag_key): <p>The key of the feature flag used by the experiment.</p>
/// - [`audience_rule(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::audience_rule): <p>The rule that defines which users are eligible to be assigned to treatments.</p>
/// - [`audience_description(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::audience_description): <p>A description of the intended audience for the experiment.</p>
/// - [`launch_criteria(Option<String>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::launch_criteria): <p>The conditions under which the winning treatment should be launched.</p>
/// - [`treatments(Option<Vec::<Treatment>>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::treatments): <p>The list of treatments defined for the experiment.</p>
/// - [`control(Option<Treatment>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::control): <p>The control treatment used as the baseline for comparison.</p>
/// - [`created_at(Option<DateTime>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::created_at): <p>The date and time the experiment definition was created, in ISO 8601 format.</p>
/// - [`updated_at(Option<DateTime>)`](crate::operation::get_experiment_definition::GetExperimentDefinitionOutput::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::get_experiment_definition::GetExperimentDefinitionOutput::kms_key_identifier): <p>The Amazon Resource Name (ARN) of the KMS key used to encrypt experiment data.</p>
/// - On failure, responds with [`SdkError<GetExperimentDefinitionError>`](crate::operation::get_experiment_definition::GetExperimentDefinitionError)
pub fn get_experiment_definition(&self) -> crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder {
crate::operation::get_experiment_definition::builders::GetExperimentDefinitionFluentBuilder::new(self.handle.clone())
}
}