commonMain.aws.sdk.kotlin.services.comprehend.model.DocumentClassifierOutputDataConfig.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of comprehend-jvm Show documentation
Show all versions of comprehend-jvm Show documentation
The AWS SDK for Kotlin client for Comprehend
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.comprehend.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Provide the location for output data from a custom classifier job. This field is mandatory if you are training a native document model.
*/
public class DocumentClassifierOutputDataConfig private constructor(builder: Builder) {
/**
* The Amazon S3 prefix for the data lake location of the flywheel statistics.
*/
public val flywheelStatsS3Prefix: kotlin.String? = builder.flywheelStatsS3Prefix
/**
* ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:
* + KMS Key ID: `"1234abcd-12ab-34cd-56ef-1234567890ab"`
* + Amazon Resource Name (ARN) of a KMS Key: `"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"`
* + KMS Key Alias: `"alias/ExampleAlias"`
* + ARN of a KMS Key Alias: `"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias"`
*/
public val kmsKeyId: kotlin.String? = builder.kmsKeyId
/**
* When you use the `OutputDataConfig` object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix and other output files. The URI must be in the same Region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.
*
* When the custom classifier job is finished, the service creates the output file in a directory specific to the job. The `S3Uri` field contains the location of the output file, called `output.tar.gz`. It is a compressed archive that contains the confusion matrix.
*/
public val s3Uri: kotlin.String? = builder.s3Uri
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.comprehend.model.DocumentClassifierOutputDataConfig = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("DocumentClassifierOutputDataConfig(")
append("flywheelStatsS3Prefix=$flywheelStatsS3Prefix,")
append("kmsKeyId=$kmsKeyId,")
append("s3Uri=$s3Uri")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = flywheelStatsS3Prefix?.hashCode() ?: 0
result = 31 * result + (kmsKeyId?.hashCode() ?: 0)
result = 31 * result + (s3Uri?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as DocumentClassifierOutputDataConfig
if (flywheelStatsS3Prefix != other.flywheelStatsS3Prefix) return false
if (kmsKeyId != other.kmsKeyId) return false
if (s3Uri != other.s3Uri) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.comprehend.model.DocumentClassifierOutputDataConfig = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The Amazon S3 prefix for the data lake location of the flywheel statistics.
*/
public var flywheelStatsS3Prefix: kotlin.String? = null
/**
* ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:
* + KMS Key ID: `"1234abcd-12ab-34cd-56ef-1234567890ab"`
* + Amazon Resource Name (ARN) of a KMS Key: `"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"`
* + KMS Key Alias: `"alias/ExampleAlias"`
* + ARN of a KMS Key Alias: `"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias"`
*/
public var kmsKeyId: kotlin.String? = null
/**
* When you use the `OutputDataConfig` object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix and other output files. The URI must be in the same Region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.
*
* When the custom classifier job is finished, the service creates the output file in a directory specific to the job. The `S3Uri` field contains the location of the output file, called `output.tar.gz`. It is a compressed archive that contains the confusion matrix.
*/
public var s3Uri: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.comprehend.model.DocumentClassifierOutputDataConfig) : this() {
this.flywheelStatsS3Prefix = x.flywheelStatsS3Prefix
this.kmsKeyId = x.kmsKeyId
this.s3Uri = x.s3Uri
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.comprehend.model.DocumentClassifierOutputDataConfig = DocumentClassifierOutputDataConfig(this)
internal fun correctErrors(): Builder {
return this
}
}
}