// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateAdvancedPromptOptimizationJob`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`job_name(impl Into<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::job_name) / [`set_job_name(Option<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_job_name):<br>required: **true**<br><p>A name for the advanced prompt optimization job.</p><br>
/// - [`job_description(impl Into<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::job_description) / [`set_job_description(Option<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_job_description):<br>required: **false**<br><p>A description of the advanced prompt optimization job.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error.</p><br>
/// - [`input_config(AdvancedPromptOptimizationInputConfig)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::input_config) / [`set_input_config(Option<AdvancedPromptOptimizationInputConfig>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_input_config):<br>required: **true**<br><p>Specifies the S3 location of your JSONL input file containing prompt templates and evaluation samples.</p><br>
/// - [`output_config(AdvancedPromptOptimizationOutputConfig)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::output_config) / [`set_output_config(Option<AdvancedPromptOptimizationOutputConfig>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_output_config):<br>required: **true**<br><p>Specifies the S3 location where optimization results will be stored.</p><br>
/// - [`encryption_key_arn(impl Into<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::encryption_key_arn) / [`set_encryption_key_arn(Option<String>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_encryption_key_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the KMS key used for encrypting the output data. If not specified, the output is encrypted with an Amazon-owned KMS key.</p><br>
/// - [`tags(Tag)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_tags):<br>required: **false**<br><p>Tags to associate with the advanced prompt optimization job.</p><br>
/// - [`model_configurations(ModelConfiguration)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::model_configurations) / [`set_model_configurations(Option<Vec::<ModelConfiguration>>)`](crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::set_model_configurations):<br>required: **true**<br><p>A list of model configurations specifying the target models for prompt optimization. You can specify up to 5 models.</p><br>
/// - On success, responds with [`CreateAdvancedPromptOptimizationJobOutput`](crate::operation::create_advanced_prompt_optimization_job::CreateAdvancedPromptOptimizationJobOutput) with field(s):
/// - [`job_arn(String)`](crate::operation::create_advanced_prompt_optimization_job::CreateAdvancedPromptOptimizationJobOutput::job_arn): <p>The Amazon Resource Name (ARN) of the created advanced prompt optimization job.</p>
/// - On failure, responds with [`SdkError<CreateAdvancedPromptOptimizationJobError>`](crate::operation::create_advanced_prompt_optimization_job::CreateAdvancedPromptOptimizationJobError)
pub fn create_advanced_prompt_optimization_job(
&self,
) -> crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder {
crate::operation::create_advanced_prompt_optimization_job::builders::CreateAdvancedPromptOptimizationJobFluentBuilder::new(
self.handle.clone(),
)
}
}