aws_sdk_sagemaker/client/create_optimization_job.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateOptimizationJob`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`optimization_job_name(impl Into<String>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::optimization_job_name) / [`set_optimization_job_name(Option<String>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_optimization_job_name):<br>required: **true**<br><p>A custom name for the new optimization job.</p><br>
7 /// - [`role_arn(impl Into<String>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_role_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker AI to perform tasks on your behalf.</p> <p>During model optimization, Amazon SageMaker AI needs your permission to:</p> <ul> <li> <p>Read input data from an S3 bucket</p></li> <li> <p>Write model artifacts to an S3 bucket</p></li> <li> <p>Write logs to Amazon CloudWatch Logs</p></li> <li> <p>Publish metrics to Amazon CloudWatch</p></li> </ul> <p>You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker AI, the caller of this API must have the <code>iam:PassRole</code> permission. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">Amazon SageMaker AI Roles.</a></p><br>
8 /// - [`model_source(OptimizationJobModelSource)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::model_source) / [`set_model_source(Option<OptimizationJobModelSource>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_model_source):<br>required: **true**<br><p>The location of the source model to optimize with an optimization job.</p><br>
9 /// - [`deployment_instance_type(OptimizationJobDeploymentInstanceType)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::deployment_instance_type) / [`set_deployment_instance_type(Option<OptimizationJobDeploymentInstanceType>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_deployment_instance_type):<br>required: **true**<br><p>The type of instance that hosts the optimized model that you create with the optimization job.</p><br>
10 /// - [`optimization_environment(impl Into<String>, impl Into<String>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::optimization_environment) / [`set_optimization_environment(Option<HashMap::<String, String>>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_optimization_environment):<br>required: **false**<br><p>The environment variables to set in the model container.</p><br>
11 /// - [`optimization_configs(OptimizationConfig)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::optimization_configs) / [`set_optimization_configs(Option<Vec::<OptimizationConfig>>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_optimization_configs):<br>required: **true**<br><p>Settings for each of the optimization techniques that the job applies.</p><br>
12 /// - [`output_config(OptimizationJobOutputConfig)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::output_config) / [`set_output_config(Option<OptimizationJobOutputConfig>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_output_config):<br>required: **true**<br><p>Details for where to store the optimized model that you create with the optimization job.</p><br>
13 /// - [`stopping_condition(StoppingCondition)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::stopping_condition) / [`set_stopping_condition(Option<StoppingCondition>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_stopping_condition):<br>required: **true**<br><p>Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.</p> <p>To stop a training job, SageMaker sends the algorithm the <code>SIGTERM</code> signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.</p> <p>The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with <code>CreateModel</code>.</p><note> <p>The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.</p> </note><br>
14 /// - [`tags(Tag)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs associated with the optimization job. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a> in the <i>Amazon Web Services General Reference Guide</i>.</p><br>
15 /// - [`vpc_config(OptimizationVpcConfig)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::vpc_config) / [`set_vpc_config(Option<OptimizationVpcConfig>)`](crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::set_vpc_config):<br>required: **false**<br><p>A VPC in Amazon VPC that your optimized model has access to.</p><br>
16 /// - On success, responds with [`CreateOptimizationJobOutput`](crate::operation::create_optimization_job::CreateOptimizationJobOutput) with field(s):
17 /// - [`optimization_job_arn(Option<String>)`](crate::operation::create_optimization_job::CreateOptimizationJobOutput::optimization_job_arn): <p>The Amazon Resource Name (ARN) of the optimization job.</p>
18 /// - On failure, responds with [`SdkError<CreateOptimizationJobError>`](crate::operation::create_optimization_job::CreateOptimizationJobError)
19 pub fn create_optimization_job(&self) -> crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder {
20 crate::operation::create_optimization_job::builders::CreateOptimizationJobFluentBuilder::new(self.handle.clone())
21 }
22}