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

commonMain.aws.sdk.kotlin.services.appstream.model.ApplicationSettings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.appstream.model



/**
 * The persistent application settings for users of a stack.
 */
class ApplicationSettings private constructor(builder: Builder) {
    /**
     * Enables or disables persistent application settings for users during their streaming sessions.
     */
    val enabled: kotlin.Boolean = builder.enabled
    /**
     * The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the same settings group for each stack.
     */
    val settingsGroup: kotlin.String? = builder.settingsGroup

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

    override fun toString(): kotlin.String = buildString {
        append("ApplicationSettings(")
        append("enabled=$enabled,")
        append("settingsGroup=$settingsGroup)")
    }

    override fun hashCode(): kotlin.Int {
        var result = enabled.hashCode()
        result = 31 * result + (settingsGroup?.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 ApplicationSettings

        if (enabled != other.enabled) return false
        if (settingsGroup != other.settingsGroup) return false

        return true
    }

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

    class Builder {
        /**
         * Enables or disables persistent application settings for users during their streaming sessions.
         */
        var enabled: kotlin.Boolean = false
        /**
         * The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the same settings group for each stack.
         */
        var settingsGroup: kotlin.String? = null

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.appstream.model.ApplicationSettings) : this() {
            this.enabled = x.enabled
            this.settingsGroup = x.settingsGroup
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.appstream.model.ApplicationSettings = ApplicationSettings(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy