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

commonMain.aws.sdk.kotlin.services.athena.model.EngineVersion.kt Maven / Gradle / Ivy

The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.athena.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The Athena engine version for running queries, or the PySpark engine version for running sessions.
 */
public class EngineVersion private constructor(builder: Builder) {
    /**
     * Read only. The engine version on which the query runs. If the user requests a valid engine version other than Auto, the effective engine version is the same as the engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a `CreateWorkGroup` or `UpdateWorkGroup` operation, the `EffectiveEngineVersion` field is ignored.
     */
    public val effectiveEngineVersion: kotlin.String? = builder.effectiveEngineVersion
    /**
     * The engine version requested by the user. Possible values are determined by the output of `ListEngineVersions`, including AUTO. The default is AUTO.
     */
    public val selectedEngineVersion: kotlin.String? = builder.selectedEngineVersion

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.athena.model.EngineVersion = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("EngineVersion(")
        append("effectiveEngineVersion=$effectiveEngineVersion,")
        append("selectedEngineVersion=$selectedEngineVersion")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = effectiveEngineVersion?.hashCode() ?: 0
        result = 31 * result + (selectedEngineVersion?.hashCode() ?: 0)
        return result
    }

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

        other as EngineVersion

        if (effectiveEngineVersion != other.effectiveEngineVersion) return false
        if (selectedEngineVersion != other.selectedEngineVersion) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.athena.model.EngineVersion = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * Read only. The engine version on which the query runs. If the user requests a valid engine version other than Auto, the effective engine version is the same as the engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a `CreateWorkGroup` or `UpdateWorkGroup` operation, the `EffectiveEngineVersion` field is ignored.
         */
        public var effectiveEngineVersion: kotlin.String? = null
        /**
         * The engine version requested by the user. Possible values are determined by the output of `ListEngineVersions`, including AUTO. The default is AUTO.
         */
        public var selectedEngineVersion: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.athena.model.EngineVersion) : this() {
            this.effectiveEngineVersion = x.effectiveEngineVersion
            this.selectedEngineVersion = x.selectedEngineVersion
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.athena.model.EngineVersion = EngineVersion(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy