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

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.appstream.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The persistent application settings for users of a stack.
 */
public class ApplicationSettings private constructor(builder: Builder) {
    /**
     * Enables or disables persistent application settings for users during their streaming sessions.
     */
    public 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.
     */
    public val settingsGroup: kotlin.String? = builder.settingsGroup

    public companion object {
        public 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")
        append(")")
    }

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

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

    @SdkDsl
    public class Builder {
        /**
         * Enables or disables persistent application settings for users during their streaming sessions.
         */
        public var enabled: kotlin.Boolean? = null
        /**
         * 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.
         */
        public var settingsGroup: kotlin.String? = null

        @PublishedApi
        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)

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy