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

aws.sdk.kotlin.services.sagemaker.model.DescribeExperimentResponse.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 DescribeExperimentResponse private constructor(builder: BuilderImpl) {
    /**
     * Who created the experiment.
     */
    val createdBy: UserContext? = builder.createdBy
    /**
     * When the experiment was created.
     */
    val creationTime: Instant? = builder.creationTime
    /**
     * The description of the experiment.
     */
    val description: String? = builder.description
    /**
     * The name of the experiment as displayed. If DisplayName isn't specified,
     * ExperimentName is displayed.
     */
    val displayName: String? = builder.displayName
    /**
     * The Amazon Resource Name (ARN) of the experiment.
     */
    val experimentArn: String? = builder.experimentArn
    /**
     * The name of the experiment.
     */
    val experimentName: String? = builder.experimentName
    /**
     * Who last modified the experiment.
     */
    val lastModifiedBy: UserContext? = builder.lastModifiedBy
    /**
     * When the experiment was last modified.
     */
    val lastModifiedTime: Instant? = builder.lastModifiedTime
    /**
     * The ARN of the source and, optionally, the type.
     */
    val source: ExperimentSource? = builder.source

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

        internal fun builder(): DslBuilder = BuilderImpl()

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

    }

    override fun toString(): kotlin.String = buildString {
        append("DescribeExperimentResponse(")
        append("createdBy=$createdBy,")
        append("creationTime=$creationTime,")
        append("description=$description,")
        append("displayName=$displayName,")
        append("experimentArn=$experimentArn,")
        append("experimentName=$experimentName,")
        append("lastModifiedBy=$lastModifiedBy,")
        append("lastModifiedTime=$lastModifiedTime,")
        append("source=$source)")
    }

    override fun hashCode(): kotlin.Int {
        var result = createdBy?.hashCode() ?: 0
        result = 31 * result + (creationTime?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (displayName?.hashCode() ?: 0)
        result = 31 * result + (experimentArn?.hashCode() ?: 0)
        result = 31 * result + (experimentName?.hashCode() ?: 0)
        result = 31 * result + (lastModifiedBy?.hashCode() ?: 0)
        result = 31 * result + (lastModifiedTime?.hashCode() ?: 0)
        result = 31 * result + (source?.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 DescribeExperimentResponse

        if (createdBy != other.createdBy) return false
        if (creationTime != other.creationTime) return false
        if (description != other.description) return false
        if (displayName != other.displayName) return false
        if (experimentArn != other.experimentArn) return false
        if (experimentName != other.experimentName) return false
        if (lastModifiedBy != other.lastModifiedBy) return false
        if (lastModifiedTime != other.lastModifiedTime) return false
        if (source != other.source) return false

        return true
    }

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

    interface FluentBuilder {
        fun build(): DescribeExperimentResponse
        /**
         * Who created the experiment.
         */
        fun createdBy(createdBy: UserContext): FluentBuilder
        /**
         * When the experiment was created.
         */
        fun creationTime(creationTime: Instant): FluentBuilder
        /**
         * The description of the experiment.
         */
        fun description(description: String): FluentBuilder
        /**
         * The name of the experiment as displayed. If DisplayName isn't specified,
         * ExperimentName is displayed.
         */
        fun displayName(displayName: String): FluentBuilder
        /**
         * The Amazon Resource Name (ARN) of the experiment.
         */
        fun experimentArn(experimentArn: String): FluentBuilder
        /**
         * The name of the experiment.
         */
        fun experimentName(experimentName: String): FluentBuilder
        /**
         * Who last modified the experiment.
         */
        fun lastModifiedBy(lastModifiedBy: UserContext): FluentBuilder
        /**
         * When the experiment was last modified.
         */
        fun lastModifiedTime(lastModifiedTime: Instant): FluentBuilder
        /**
         * The ARN of the source and, optionally, the type.
         */
        fun source(source: ExperimentSource): FluentBuilder
    }

    interface DslBuilder {
        /**
         * Who created the experiment.
         */
        var createdBy: UserContext?
        /**
         * When the experiment was created.
         */
        var creationTime: Instant?
        /**
         * The description of the experiment.
         */
        var description: String?
        /**
         * The name of the experiment as displayed. If DisplayName isn't specified,
         * ExperimentName is displayed.
         */
        var displayName: String?
        /**
         * The Amazon Resource Name (ARN) of the experiment.
         */
        var experimentArn: String?
        /**
         * The name of the experiment.
         */
        var experimentName: String?
        /**
         * Who last modified the experiment.
         */
        var lastModifiedBy: UserContext?
        /**
         * When the experiment was last modified.
         */
        var lastModifiedTime: Instant?
        /**
         * The ARN of the source and, optionally, the type.
         */
        var source: ExperimentSource?

        fun build(): DescribeExperimentResponse
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.UserContext] inside the given [block]
         */
        fun createdBy(block: UserContext.DslBuilder.() -> kotlin.Unit) {
            this.createdBy = UserContext.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.UserContext] inside the given [block]
         */
        fun lastModifiedBy(block: UserContext.DslBuilder.() -> kotlin.Unit) {
            this.lastModifiedBy = UserContext.invoke(block)
        }
        /**
         * construct an [aws.sdk.kotlin.services.sagemaker.model.ExperimentSource] inside the given [block]
         */
        fun source(block: ExperimentSource.DslBuilder.() -> kotlin.Unit) {
            this.source = ExperimentSource.invoke(block)
        }
    }

    private class BuilderImpl() : FluentBuilder, DslBuilder {
        override var createdBy: UserContext? = null
        override var creationTime: Instant? = null
        override var description: String? = null
        override var displayName: String? = null
        override var experimentArn: String? = null
        override var experimentName: String? = null
        override var lastModifiedBy: UserContext? = null
        override var lastModifiedTime: Instant? = null
        override var source: ExperimentSource? = null

        constructor(x: DescribeExperimentResponse) : this() {
            this.createdBy = x.createdBy
            this.creationTime = x.creationTime
            this.description = x.description
            this.displayName = x.displayName
            this.experimentArn = x.experimentArn
            this.experimentName = x.experimentName
            this.lastModifiedBy = x.lastModifiedBy
            this.lastModifiedTime = x.lastModifiedTime
            this.source = x.source
        }

        override fun build(): DescribeExperimentResponse = DescribeExperimentResponse(this)
        override fun createdBy(createdBy: UserContext): FluentBuilder = apply { this.createdBy = createdBy }
        override fun creationTime(creationTime: Instant): FluentBuilder = apply { this.creationTime = creationTime }
        override fun description(description: String): FluentBuilder = apply { this.description = description }
        override fun displayName(displayName: String): FluentBuilder = apply { this.displayName = displayName }
        override fun experimentArn(experimentArn: String): FluentBuilder = apply { this.experimentArn = experimentArn }
        override fun experimentName(experimentName: String): FluentBuilder = apply { this.experimentName = experimentName }
        override fun lastModifiedBy(lastModifiedBy: UserContext): FluentBuilder = apply { this.lastModifiedBy = lastModifiedBy }
        override fun lastModifiedTime(lastModifiedTime: Instant): FluentBuilder = apply { this.lastModifiedTime = lastModifiedTime }
        override fun source(source: ExperimentSource): FluentBuilder = apply { this.source = source }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy