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

commonMain.aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.model



/**
 * Hls Media Store Settings
 */
public class HlsMediaStoreSettings private constructor(builder: Builder) {
    /**
     * Number of seconds to wait before retrying connection to the CDN if the connection is lost.
     */
    public val connectionRetryInterval: kotlin.Int = builder.connectionRetryInterval
    /**
     * Size in seconds of file cache for streaming outputs.
     */
    public val filecacheDuration: kotlin.Int = builder.filecacheDuration
    /**
     * When set to temporal, output files are stored in non-persistent memory for faster reading and writing.
     */
    public val mediaStoreStorageClass: aws.sdk.kotlin.services.medialive.model.HlsMediaStoreStorageClass? = builder.mediaStoreStorageClass
    /**
     * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3.
     */
    public val numRetries: kotlin.Int = builder.numRetries
    /**
     * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.
     */
    public val restartDelay: kotlin.Int = builder.restartDelay

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

    override fun toString(): kotlin.String = buildString {
        append("HlsMediaStoreSettings(")
        append("connectionRetryInterval=$connectionRetryInterval,")
        append("filecacheDuration=$filecacheDuration,")
        append("mediaStoreStorageClass=$mediaStoreStorageClass,")
        append("numRetries=$numRetries,")
        append("restartDelay=$restartDelay")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = connectionRetryInterval
        result = 31 * result + (filecacheDuration)
        result = 31 * result + (mediaStoreStorageClass?.hashCode() ?: 0)
        result = 31 * result + (numRetries)
        result = 31 * result + (restartDelay)
        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 HlsMediaStoreSettings

        if (connectionRetryInterval != other.connectionRetryInterval) return false
        if (filecacheDuration != other.filecacheDuration) return false
        if (mediaStoreStorageClass != other.mediaStoreStorageClass) return false
        if (numRetries != other.numRetries) return false
        if (restartDelay != other.restartDelay) return false

        return true
    }

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

    public class Builder {
        /**
         * Number of seconds to wait before retrying connection to the CDN if the connection is lost.
         */
        public var connectionRetryInterval: kotlin.Int = 0
        /**
         * Size in seconds of file cache for streaming outputs.
         */
        public var filecacheDuration: kotlin.Int = 0
        /**
         * When set to temporal, output files are stored in non-persistent memory for faster reading and writing.
         */
        public var mediaStoreStorageClass: aws.sdk.kotlin.services.medialive.model.HlsMediaStoreStorageClass? = null
        /**
         * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3.
         */
        public var numRetries: kotlin.Int = 0
        /**
         * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.
         */
        public var restartDelay: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings) : this() {
            this.connectionRetryInterval = x.connectionRetryInterval
            this.filecacheDuration = x.filecacheDuration
            this.mediaStoreStorageClass = x.mediaStoreStorageClass
            this.numRetries = x.numRetries
            this.restartDelay = x.restartDelay
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy