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

aws.sdk.kotlin.services.sagemaker.model.CandidateProperties.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



/**
 * The properties of an AutoML candidate job.
 */
class CandidateProperties private constructor(builder: BuilderImpl) {
    /**
     * The Amazon S3 prefix to the artifacts generated for an AutoML candidate.
     */
    val candidateArtifactLocations: CandidateArtifactLocations? = builder.candidateArtifactLocations
    /**
     * Information about the candidate metrics for an AutoML job.
     */
    val candidateMetrics: List? = builder.candidateMetrics

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

        internal fun builder(): DslBuilder = BuilderImpl()

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

    }

    override fun toString(): kotlin.String = buildString {
        append("CandidateProperties(")
        append("candidateArtifactLocations=$candidateArtifactLocations,")
        append("candidateMetrics=$candidateMetrics)")
    }

    override fun hashCode(): kotlin.Int {
        var result = candidateArtifactLocations?.hashCode() ?: 0
        result = 31 * result + (candidateMetrics?.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 CandidateProperties

        if (candidateArtifactLocations != other.candidateArtifactLocations) return false
        if (candidateMetrics != other.candidateMetrics) return false

        return true
    }

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

    interface FluentBuilder {
        fun build(): CandidateProperties
        /**
         * The Amazon S3 prefix to the artifacts generated for an AutoML candidate.
         */
        fun candidateArtifactLocations(candidateArtifactLocations: CandidateArtifactLocations): FluentBuilder
        /**
         * Information about the candidate metrics for an AutoML job.
         */
        fun candidateMetrics(candidateMetrics: List): FluentBuilder
    }

    interface DslBuilder {
        /**
         * The Amazon S3 prefix to the artifacts generated for an AutoML candidate.
         */
        var candidateArtifactLocations: CandidateArtifactLocations?
        /**
         * Information about the candidate metrics for an AutoML job.
         */
        var candidateMetrics: List?

        fun build(): CandidateProperties
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.CandidateArtifactLocations] inside the given [block]
         */
        fun candidateArtifactLocations(block: CandidateArtifactLocations.DslBuilder.() -> kotlin.Unit) {
            this.candidateArtifactLocations = CandidateArtifactLocations.invoke(block)
        }
    }

    private class BuilderImpl() : FluentBuilder, DslBuilder {
        override var candidateArtifactLocations: CandidateArtifactLocations? = null
        override var candidateMetrics: List? = null

        constructor(x: CandidateProperties) : this() {
            this.candidateArtifactLocations = x.candidateArtifactLocations
            this.candidateMetrics = x.candidateMetrics
        }

        override fun build(): CandidateProperties = CandidateProperties(this)
        override fun candidateArtifactLocations(candidateArtifactLocations: CandidateArtifactLocations): FluentBuilder = apply { this.candidateArtifactLocations = candidateArtifactLocations }
        override fun candidateMetrics(candidateMetrics: List): FluentBuilder = apply { this.candidateMetrics = candidateMetrics }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy