aws_sdk_sagemaker/client/
create_compilation_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 [`CreateCompilationJob`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`compilation_job_name(impl Into<String>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::compilation_job_name) / [`set_compilation_job_name(Option<String>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_compilation_job_name):<br>required: **true**<br><p>A name for the model compilation job. The name must be unique within the Amazon Web Services Region and within your Amazon Web Services account.</p><br>
7    ///   - [`role_arn(impl Into<String>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::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 compilation, 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_package_version_arn(impl Into<String>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::model_package_version_arn) / [`set_model_package_version_arn(Option<String>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_model_package_version_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of a versioned model package. Provide either a <code>ModelPackageVersionArn</code> or an <code>InputConfig</code> object in the request syntax. The presence of both objects in the <code>CreateCompilationJob</code> request will return an exception.</p><br>
9    ///   - [`input_config(InputConfig)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::input_config) / [`set_input_config(Option<InputConfig>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_input_config):<br>required: **false**<br><p>Provides information about the location of input model artifacts, the name and shape of the expected data inputs, and the framework in which the model was trained.</p><br>
10    ///   - [`output_config(OutputConfig)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::output_config) / [`set_output_config(Option<OutputConfig>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_output_config):<br>required: **true**<br><p>Provides information about the output location for the compiled model and the target device the model runs on.</p><br>
11    ///   - [`vpc_config(NeoVpcConfig)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::vpc_config) / [`set_vpc_config(Option<NeoVpcConfig>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_vpc_config):<br>required: **false**<br><p>A <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html">VpcConfig</a> object that specifies the VPC that you want your compilation job to connect to. Control access to your models by configuring the VPC. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/neo-vpc.html">Protect Compilation Jobs by Using an Amazon Virtual Private Cloud</a>.</p><br>
12    ///   - [`stopping_condition(StoppingCondition)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::stopping_condition) / [`set_stopping_condition(Option<StoppingCondition>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_stopping_condition):<br>required: **true**<br><p>Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker AI ends the compilation job. Use this API to cap model training costs.</p><br>
13    ///   - [`tags(Tag)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::set_tags):<br>required: **false**<br><p>An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services Resources</a>.</p><br>
14    /// - On success, responds with [`CreateCompilationJobOutput`](crate::operation::create_compilation_job::CreateCompilationJobOutput) with field(s):
15    ///   - [`compilation_job_arn(Option<String>)`](crate::operation::create_compilation_job::CreateCompilationJobOutput::compilation_job_arn): <p>If the action is successful, the service sends back an HTTP 200 response. Amazon SageMaker AI returns the following data in JSON format:</p> <ul>  <li>   <p><code>CompilationJobArn</code>: The Amazon Resource Name (ARN) of the compiled job.</p></li> </ul>
16    /// - On failure, responds with [`SdkError<CreateCompilationJobError>`](crate::operation::create_compilation_job::CreateCompilationJobError)
17    pub fn create_compilation_job(&self) -> crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder {
18        crate::operation::create_compilation_job::builders::CreateCompilationJobFluentBuilder::new(self.handle.clone())
19    }
20}