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

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



/**
 * Defines under what conditions SageMaker creates a human loop. Used within . See  for the required
 * format of activation conditions.
 */
class HumanLoopActivationConditionsConfig private constructor(builder: BuilderImpl) {
    /**
     * JSON expressing use-case specific conditions declaratively. If any condition is matched, atomic tasks are created against the configured work team.
     * The set of conditions is different for Rekognition and Textract. For more information about how to structure the JSON, see
     * JSON Schema for Human Loop Activation Conditions in Amazon Augmented AI
     * in the Amazon SageMaker Developer Guide.
     */
    val humanLoopActivationConditions: String? = builder.humanLoopActivationConditions

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

        internal fun builder(): DslBuilder = BuilderImpl()

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

    }

    override fun toString(): kotlin.String = buildString {
        append("HumanLoopActivationConditionsConfig(")
        append("humanLoopActivationConditions=$humanLoopActivationConditions)")
    }

    override fun hashCode(): kotlin.Int {
        var result = humanLoopActivationConditions?.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 HumanLoopActivationConditionsConfig

        if (humanLoopActivationConditions != other.humanLoopActivationConditions) return false

        return true
    }

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

    interface FluentBuilder {
        fun build(): HumanLoopActivationConditionsConfig
        /**
         * JSON expressing use-case specific conditions declaratively. If any condition is matched, atomic tasks are created against the configured work team.
         * The set of conditions is different for Rekognition and Textract. For more information about how to structure the JSON, see
         * JSON Schema for Human Loop Activation Conditions in Amazon Augmented AI
         * in the Amazon SageMaker Developer Guide.
         */
        fun humanLoopActivationConditions(humanLoopActivationConditions: String): FluentBuilder
    }

    interface DslBuilder {
        /**
         * JSON expressing use-case specific conditions declaratively. If any condition is matched, atomic tasks are created against the configured work team.
         * The set of conditions is different for Rekognition and Textract. For more information about how to structure the JSON, see
         * JSON Schema for Human Loop Activation Conditions in Amazon Augmented AI
         * in the Amazon SageMaker Developer Guide.
         */
        var humanLoopActivationConditions: String?

        fun build(): HumanLoopActivationConditionsConfig
    }

    private class BuilderImpl() : FluentBuilder, DslBuilder {
        override var humanLoopActivationConditions: String? = null

        constructor(x: HumanLoopActivationConditionsConfig) : this() {
            this.humanLoopActivationConditions = x.humanLoopActivationConditions
        }

        override fun build(): HumanLoopActivationConditionsConfig = HumanLoopActivationConditionsConfig(this)
        override fun humanLoopActivationConditions(humanLoopActivationConditions: String): FluentBuilder = apply { this.humanLoopActivationConditions = humanLoopActivationConditions }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy