1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CopyProjectVersion`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`source_project_arn(impl Into<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::source_project_arn) / [`set_source_project_arn(Option<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_source_project_arn):<br>required: **true**<br><p>The ARN of the source project in the trusting AWS account.</p><br>
    ///   - [`source_project_version_arn(impl Into<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::source_project_version_arn) / [`set_source_project_version_arn(Option<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_source_project_version_arn):<br>required: **true**<br><p>The ARN of the model version in the source project that you want to copy to a destination project.</p><br>
    ///   - [`destination_project_arn(impl Into<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::destination_project_arn) / [`set_destination_project_arn(Option<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_destination_project_arn):<br>required: **true**<br><p>The ARN of the project in the trusted AWS account that you want to copy the model version to. </p><br>
    ///   - [`version_name(impl Into<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::version_name) / [`set_version_name(Option<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_version_name):<br>required: **true**<br><p>A name for the version of the model that's copied to the destination project.</p><br>
    ///   - [`output_config(OutputConfig)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::output_config) / [`set_output_config(Option<OutputConfig>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_output_config):<br>required: **true**<br><p>The S3 bucket and folder location where the training output for the source model version is placed.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_tags):<br>required: **false**<br><p>The key-value tags to assign to the model version. </p><br>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The identifier for your AWS Key Management Service key (AWS KMS key). You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for your KMS key, or an alias ARN. The key is used to encrypt training results and manifest files written to the output Amazon S3 bucket (<code>OutputConfig</code>).</p>  <p>If you choose to use your own KMS key, you need the following permissions on the KMS key.</p>  <ul>   <li> <p>kms:CreateGrant</p> </li>   <li> <p>kms:DescribeKey</p> </li>   <li> <p>kms:GenerateDataKey</p> </li>   <li> <p>kms:Decrypt</p> </li>  </ul>  <p>If you don't specify a value for <code>KmsKeyId</code>, images copied into the service are encrypted using a key that AWS owns and manages.</p><br>
    /// - On success, responds with [`CopyProjectVersionOutput`](crate::operation::copy_project_version::CopyProjectVersionOutput) with field(s):
    ///   - [`project_version_arn(Option<String>)`](crate::operation::copy_project_version::CopyProjectVersionOutput::project_version_arn): <p>The ARN of the copied model version in the destination project. </p>
    /// - On failure, responds with [`SdkError<CopyProjectVersionError>`](crate::operation::copy_project_version::CopyProjectVersionError)
    pub fn copy_project_version(&self) -> crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder {
        crate::operation::copy_project_version::builders::CopyProjectVersionFluentBuilder::new(self.handle.clone())
    }
}