All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aws.sdk.kotlin.services.sagemaker.model.TransformOutput.kt Maven / Gradle / Ivy

There is a newer version: 1.3.99
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.sagemaker.model



/**
 * Describes the results of a transform job.
 */
class TransformOutput private constructor(builder: BuilderImpl) {
    /**
     * The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http
     * call to transfer data from the transform job.
     */
    val accept: String? = builder.accept
    /**
     * Defines how to assemble the results of the transform job as a single S3 object. Choose
     * a format that is most convenient to you. To concatenate the results in binary format,
     * specify None. To add a newline character at the end of every transformed
     * record, specify
     * Line.
     */
    val assembleWith: AssemblyType? = builder.assembleWith
    /**
     * The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using
     * Amazon S3 server-side encryption. The KmsKeyId can be any of the following
     * formats:
     * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
     * Key ARN:
     * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
     * Alias name: alias/ExampleAlias
     * Alias name ARN:
     * arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
     * If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your
     * role's account. For more information, see KMS-Managed Encryption Keys in the
     * Amazon Simple Storage Service
     * Developer Guide.
     * The KMS key policy must grant permission to the IAM role that you specify in your
     * CreateModel request. For more information, see Using
     * Key Policies in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer
     * Guide.
     */
    val kmsKeyId: String? = builder.kmsKeyId
    /**
     * The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For
     * example, s3://bucket-name/key-name-prefix.
     * For every S3 object used as input for the transform job, batch transform stores the
     * transformed data with an .out suffix in a corresponding subfolder in the
     * location in the output prefix. For example, for the input data stored at
     * s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform
     * stores the transformed data at
     * s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out.
     * Batch transform doesn't upload partially processed objects. For an input S3 object that
     * contains multiple records, it creates an .out file only if the transform
     * job succeeds on the entire file. When the input contains multiple S3 objects, the batch
     * transform job processes the listed S3 objects and uploads only the output for
     * successfully processed objects. If any object fails in the transform job batch transform
     * marks the job as failed to prompt investigation.
     */
    val s3OutputPath: String? = builder.s3OutputPath

    companion object {
        @JvmStatic
        fun fluentBuilder(): FluentBuilder = BuilderImpl()

        internal fun builder(): DslBuilder = BuilderImpl()

        operator fun invoke(block: DslBuilder.() -> kotlin.Unit): TransformOutput = BuilderImpl().apply(block).build()

    }

    override fun toString(): kotlin.String = buildString {
        append("TransformOutput(")
        append("accept=$accept,")
        append("assembleWith=$assembleWith,")
        append("kmsKeyId=$kmsKeyId,")
        append("s3OutputPath=$s3OutputPath)")
    }

    override fun hashCode(): kotlin.Int {
        var result = accept?.hashCode() ?: 0
        result = 31 * result + (assembleWith?.hashCode() ?: 0)
        result = 31 * result + (kmsKeyId?.hashCode() ?: 0)
        result = 31 * result + (s3OutputPath?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (javaClass != other?.javaClass) return false

        other as TransformOutput

        if (accept != other.accept) return false
        if (assembleWith != other.assembleWith) return false
        if (kmsKeyId != other.kmsKeyId) return false
        if (s3OutputPath != other.s3OutputPath) return false

        return true
    }

    fun copy(block: DslBuilder.() -> kotlin.Unit = {}): TransformOutput = BuilderImpl(this).apply(block).build()

    interface FluentBuilder {
        fun build(): TransformOutput
        /**
         * The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http
         * call to transfer data from the transform job.
         */
        fun accept(accept: String): FluentBuilder
        /**
         * Defines how to assemble the results of the transform job as a single S3 object. Choose
         * a format that is most convenient to you. To concatenate the results in binary format,
         * specify None. To add a newline character at the end of every transformed
         * record, specify
         * Line.
         */
        fun assembleWith(assembleWith: AssemblyType): FluentBuilder
        /**
         * The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using
         * Amazon S3 server-side encryption. The KmsKeyId can be any of the following
         * formats:
         * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
         * Key ARN:
         * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
         * Alias name: alias/ExampleAlias
         * Alias name ARN:
         * arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
         * If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your
         * role's account. For more information, see KMS-Managed Encryption Keys in the
         * Amazon Simple Storage Service
         * Developer Guide.
         * The KMS key policy must grant permission to the IAM role that you specify in your
         * CreateModel request. For more information, see Using
         * Key Policies in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer
         * Guide.
         */
        fun kmsKeyId(kmsKeyId: String): FluentBuilder
        /**
         * The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For
         * example, s3://bucket-name/key-name-prefix.
         * For every S3 object used as input for the transform job, batch transform stores the
         * transformed data with an .out suffix in a corresponding subfolder in the
         * location in the output prefix. For example, for the input data stored at
         * s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform
         * stores the transformed data at
         * s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out.
         * Batch transform doesn't upload partially processed objects. For an input S3 object that
         * contains multiple records, it creates an .out file only if the transform
         * job succeeds on the entire file. When the input contains multiple S3 objects, the batch
         * transform job processes the listed S3 objects and uploads only the output for
         * successfully processed objects. If any object fails in the transform job batch transform
         * marks the job as failed to prompt investigation.
         */
        fun s3OutputPath(s3OutputPath: String): FluentBuilder
    }

    interface DslBuilder {
        /**
         * The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http
         * call to transfer data from the transform job.
         */
        var accept: String?
        /**
         * Defines how to assemble the results of the transform job as a single S3 object. Choose
         * a format that is most convenient to you. To concatenate the results in binary format,
         * specify None. To add a newline character at the end of every transformed
         * record, specify
         * Line.
         */
        var assembleWith: AssemblyType?
        /**
         * The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using
         * Amazon S3 server-side encryption. The KmsKeyId can be any of the following
         * formats:
         * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
         * Key ARN:
         * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
         * Alias name: alias/ExampleAlias
         * Alias name ARN:
         * arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
         * If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your
         * role's account. For more information, see KMS-Managed Encryption Keys in the
         * Amazon Simple Storage Service
         * Developer Guide.
         * The KMS key policy must grant permission to the IAM role that you specify in your
         * CreateModel request. For more information, see Using
         * Key Policies in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer
         * Guide.
         */
        var kmsKeyId: String?
        /**
         * The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For
         * example, s3://bucket-name/key-name-prefix.
         * For every S3 object used as input for the transform job, batch transform stores the
         * transformed data with an .out suffix in a corresponding subfolder in the
         * location in the output prefix. For example, for the input data stored at
         * s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform
         * stores the transformed data at
         * s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out.
         * Batch transform doesn't upload partially processed objects. For an input S3 object that
         * contains multiple records, it creates an .out file only if the transform
         * job succeeds on the entire file. When the input contains multiple S3 objects, the batch
         * transform job processes the listed S3 objects and uploads only the output for
         * successfully processed objects. If any object fails in the transform job batch transform
         * marks the job as failed to prompt investigation.
         */
        var s3OutputPath: String?

        fun build(): TransformOutput
    }

    private class BuilderImpl() : FluentBuilder, DslBuilder {
        override var accept: String? = null
        override var assembleWith: AssemblyType? = null
        override var kmsKeyId: String? = null
        override var s3OutputPath: String? = null

        constructor(x: TransformOutput) : this() {
            this.accept = x.accept
            this.assembleWith = x.assembleWith
            this.kmsKeyId = x.kmsKeyId
            this.s3OutputPath = x.s3OutputPath
        }

        override fun build(): TransformOutput = TransformOutput(this)
        override fun accept(accept: String): FluentBuilder = apply { this.accept = accept }
        override fun assembleWith(assembleWith: AssemblyType): FluentBuilder = apply { this.assembleWith = assembleWith }
        override fun kmsKeyId(kmsKeyId: String): FluentBuilder = apply { this.kmsKeyId = kmsKeyId }
        override fun s3OutputPath(s3OutputPath: String): FluentBuilder = apply { this.s3OutputPath = s3OutputPath }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy