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

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

import aws.smithy.kotlin.runtime.time.Instant

class DescribeModelQualityJobDefinitionResponse private constructor(builder: BuilderImpl) {
    /**
     * The time at which the model quality job was created.
     */
    val creationTime: Instant? = builder.creationTime
    /**
     * The Amazon Resource Name (ARN) of the model quality job.
     */
    val jobDefinitionArn: String? = builder.jobDefinitionArn
    /**
     * The name of the quality job definition. The name must be unique within an Amazon Web Services Region in
     * the Amazon Web Services account.
     */
    val jobDefinitionName: String? = builder.jobDefinitionName
    /**
     * Identifies the resources to deploy for a monitoring job.
     */
    val jobResources: MonitoringResources? = builder.jobResources
    /**
     * Configures the model quality job to run a specified Docker container image.
     */
    val modelQualityAppSpecification: ModelQualityAppSpecification? = builder.modelQualityAppSpecification
    /**
     * The baseline configuration for a model quality job.
     */
    val modelQualityBaselineConfig: ModelQualityBaselineConfig? = builder.modelQualityBaselineConfig
    /**
     * Inputs for the model quality job.
     */
    val modelQualityJobInput: ModelQualityJobInput? = builder.modelQualityJobInput
    /**
     * The output configuration for monitoring jobs.
     */
    val modelQualityJobOutputConfig: MonitoringOutputConfig? = builder.modelQualityJobOutputConfig
    /**
     * Networking options for a model quality job.
     */
    val networkConfig: MonitoringNetworkConfig? = builder.networkConfig
    /**
     * The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
     * perform tasks on your behalf.
     */
    val roleArn: String? = builder.roleArn
    /**
     * A time limit for how long the monitoring job is allowed to run before stopping.
     */
    val stoppingCondition: MonitoringStoppingCondition? = builder.stoppingCondition

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

        internal fun builder(): DslBuilder = BuilderImpl()

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

    }

    override fun toString(): kotlin.String = buildString {
        append("DescribeModelQualityJobDefinitionResponse(")
        append("creationTime=$creationTime,")
        append("jobDefinitionArn=$jobDefinitionArn,")
        append("jobDefinitionName=$jobDefinitionName,")
        append("jobResources=$jobResources,")
        append("modelQualityAppSpecification=$modelQualityAppSpecification,")
        append("modelQualityBaselineConfig=$modelQualityBaselineConfig,")
        append("modelQualityJobInput=$modelQualityJobInput,")
        append("modelQualityJobOutputConfig=$modelQualityJobOutputConfig,")
        append("networkConfig=$networkConfig,")
        append("roleArn=$roleArn,")
        append("stoppingCondition=$stoppingCondition)")
    }

    override fun hashCode(): kotlin.Int {
        var result = creationTime?.hashCode() ?: 0
        result = 31 * result + (jobDefinitionArn?.hashCode() ?: 0)
        result = 31 * result + (jobDefinitionName?.hashCode() ?: 0)
        result = 31 * result + (jobResources?.hashCode() ?: 0)
        result = 31 * result + (modelQualityAppSpecification?.hashCode() ?: 0)
        result = 31 * result + (modelQualityBaselineConfig?.hashCode() ?: 0)
        result = 31 * result + (modelQualityJobInput?.hashCode() ?: 0)
        result = 31 * result + (modelQualityJobOutputConfig?.hashCode() ?: 0)
        result = 31 * result + (networkConfig?.hashCode() ?: 0)
        result = 31 * result + (roleArn?.hashCode() ?: 0)
        result = 31 * result + (stoppingCondition?.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 DescribeModelQualityJobDefinitionResponse

        if (creationTime != other.creationTime) return false
        if (jobDefinitionArn != other.jobDefinitionArn) return false
        if (jobDefinitionName != other.jobDefinitionName) return false
        if (jobResources != other.jobResources) return false
        if (modelQualityAppSpecification != other.modelQualityAppSpecification) return false
        if (modelQualityBaselineConfig != other.modelQualityBaselineConfig) return false
        if (modelQualityJobInput != other.modelQualityJobInput) return false
        if (modelQualityJobOutputConfig != other.modelQualityJobOutputConfig) return false
        if (networkConfig != other.networkConfig) return false
        if (roleArn != other.roleArn) return false
        if (stoppingCondition != other.stoppingCondition) return false

        return true
    }

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

    interface FluentBuilder {
        fun build(): DescribeModelQualityJobDefinitionResponse
        /**
         * The time at which the model quality job was created.
         */
        fun creationTime(creationTime: Instant): FluentBuilder
        /**
         * The Amazon Resource Name (ARN) of the model quality job.
         */
        fun jobDefinitionArn(jobDefinitionArn: String): FluentBuilder
        /**
         * The name of the quality job definition. The name must be unique within an Amazon Web Services Region in
         * the Amazon Web Services account.
         */
        fun jobDefinitionName(jobDefinitionName: String): FluentBuilder
        /**
         * Identifies the resources to deploy for a monitoring job.
         */
        fun jobResources(jobResources: MonitoringResources): FluentBuilder
        /**
         * Configures the model quality job to run a specified Docker container image.
         */
        fun modelQualityAppSpecification(modelQualityAppSpecification: ModelQualityAppSpecification): FluentBuilder
        /**
         * The baseline configuration for a model quality job.
         */
        fun modelQualityBaselineConfig(modelQualityBaselineConfig: ModelQualityBaselineConfig): FluentBuilder
        /**
         * Inputs for the model quality job.
         */
        fun modelQualityJobInput(modelQualityJobInput: ModelQualityJobInput): FluentBuilder
        /**
         * The output configuration for monitoring jobs.
         */
        fun modelQualityJobOutputConfig(modelQualityJobOutputConfig: MonitoringOutputConfig): FluentBuilder
        /**
         * Networking options for a model quality job.
         */
        fun networkConfig(networkConfig: MonitoringNetworkConfig): FluentBuilder
        /**
         * The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
         * perform tasks on your behalf.
         */
        fun roleArn(roleArn: String): FluentBuilder
        /**
         * A time limit for how long the monitoring job is allowed to run before stopping.
         */
        fun stoppingCondition(stoppingCondition: MonitoringStoppingCondition): FluentBuilder
    }

    interface DslBuilder {
        /**
         * The time at which the model quality job was created.
         */
        var creationTime: Instant?
        /**
         * The Amazon Resource Name (ARN) of the model quality job.
         */
        var jobDefinitionArn: String?
        /**
         * The name of the quality job definition. The name must be unique within an Amazon Web Services Region in
         * the Amazon Web Services account.
         */
        var jobDefinitionName: String?
        /**
         * Identifies the resources to deploy for a monitoring job.
         */
        var jobResources: MonitoringResources?
        /**
         * Configures the model quality job to run a specified Docker container image.
         */
        var modelQualityAppSpecification: ModelQualityAppSpecification?
        /**
         * The baseline configuration for a model quality job.
         */
        var modelQualityBaselineConfig: ModelQualityBaselineConfig?
        /**
         * Inputs for the model quality job.
         */
        var modelQualityJobInput: ModelQualityJobInput?
        /**
         * The output configuration for monitoring jobs.
         */
        var modelQualityJobOutputConfig: MonitoringOutputConfig?
        /**
         * Networking options for a model quality job.
         */
        var networkConfig: MonitoringNetworkConfig?
        /**
         * The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
         * perform tasks on your behalf.
         */
        var roleArn: String?
        /**
         * A time limit for how long the monitoring job is allowed to run before stopping.
         */
        var stoppingCondition: MonitoringStoppingCondition?

        fun build(): DescribeModelQualityJobDefinitionResponse
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringResources] inside the given [block]
         */
        fun jobResources(block: MonitoringResources.DslBuilder.() -> kotlin.Unit) {
            this.jobResources = MonitoringResources.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.ModelQualityAppSpecification] inside the given [block]
         */
        fun modelQualityAppSpecification(block: ModelQualityAppSpecification.DslBuilder.() -> kotlin.Unit) {
            this.modelQualityAppSpecification = ModelQualityAppSpecification.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.ModelQualityBaselineConfig] inside the given [block]
         */
        fun modelQualityBaselineConfig(block: ModelQualityBaselineConfig.DslBuilder.() -> kotlin.Unit) {
            this.modelQualityBaselineConfig = ModelQualityBaselineConfig.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.ModelQualityJobInput] inside the given [block]
         */
        fun modelQualityJobInput(block: ModelQualityJobInput.DslBuilder.() -> kotlin.Unit) {
            this.modelQualityJobInput = ModelQualityJobInput.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringOutputConfig] inside the given [block]
         */
        fun modelQualityJobOutputConfig(block: MonitoringOutputConfig.DslBuilder.() -> kotlin.Unit) {
            this.modelQualityJobOutputConfig = MonitoringOutputConfig.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringNetworkConfig] inside the given [block]
         */
        fun networkConfig(block: MonitoringNetworkConfig.DslBuilder.() -> kotlin.Unit) {
            this.networkConfig = MonitoringNetworkConfig.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringStoppingCondition] inside the given [block]
         */
        fun stoppingCondition(block: MonitoringStoppingCondition.DslBuilder.() -> kotlin.Unit) {
            this.stoppingCondition = MonitoringStoppingCondition.invoke(block)
        }
    }

    private class BuilderImpl() : FluentBuilder, DslBuilder {
        override var creationTime: Instant? = null
        override var jobDefinitionArn: String? = null
        override var jobDefinitionName: String? = null
        override var jobResources: MonitoringResources? = null
        override var modelQualityAppSpecification: ModelQualityAppSpecification? = null
        override var modelQualityBaselineConfig: ModelQualityBaselineConfig? = null
        override var modelQualityJobInput: ModelQualityJobInput? = null
        override var modelQualityJobOutputConfig: MonitoringOutputConfig? = null
        override var networkConfig: MonitoringNetworkConfig? = null
        override var roleArn: String? = null
        override var stoppingCondition: MonitoringStoppingCondition? = null

        constructor(x: DescribeModelQualityJobDefinitionResponse) : this() {
            this.creationTime = x.creationTime
            this.jobDefinitionArn = x.jobDefinitionArn
            this.jobDefinitionName = x.jobDefinitionName
            this.jobResources = x.jobResources
            this.modelQualityAppSpecification = x.modelQualityAppSpecification
            this.modelQualityBaselineConfig = x.modelQualityBaselineConfig
            this.modelQualityJobInput = x.modelQualityJobInput
            this.modelQualityJobOutputConfig = x.modelQualityJobOutputConfig
            this.networkConfig = x.networkConfig
            this.roleArn = x.roleArn
            this.stoppingCondition = x.stoppingCondition
        }

        override fun build(): DescribeModelQualityJobDefinitionResponse = DescribeModelQualityJobDefinitionResponse(this)
        override fun creationTime(creationTime: Instant): FluentBuilder = apply { this.creationTime = creationTime }
        override fun jobDefinitionArn(jobDefinitionArn: String): FluentBuilder = apply { this.jobDefinitionArn = jobDefinitionArn }
        override fun jobDefinitionName(jobDefinitionName: String): FluentBuilder = apply { this.jobDefinitionName = jobDefinitionName }
        override fun jobResources(jobResources: MonitoringResources): FluentBuilder = apply { this.jobResources = jobResources }
        override fun modelQualityAppSpecification(modelQualityAppSpecification: ModelQualityAppSpecification): FluentBuilder = apply { this.modelQualityAppSpecification = modelQualityAppSpecification }
        override fun modelQualityBaselineConfig(modelQualityBaselineConfig: ModelQualityBaselineConfig): FluentBuilder = apply { this.modelQualityBaselineConfig = modelQualityBaselineConfig }
        override fun modelQualityJobInput(modelQualityJobInput: ModelQualityJobInput): FluentBuilder = apply { this.modelQualityJobInput = modelQualityJobInput }
        override fun modelQualityJobOutputConfig(modelQualityJobOutputConfig: MonitoringOutputConfig): FluentBuilder = apply { this.modelQualityJobOutputConfig = modelQualityJobOutputConfig }
        override fun networkConfig(networkConfig: MonitoringNetworkConfig): FluentBuilder = apply { this.networkConfig = networkConfig }
        override fun roleArn(roleArn: String): FluentBuilder = apply { this.roleArn = roleArn }
        override fun stoppingCondition(stoppingCondition: MonitoringStoppingCondition): FluentBuilder = apply { this.stoppingCondition = stoppingCondition }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy