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

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

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

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



/**
 * Hls Cdn Settings
 */
public class HlsCdnSettings private constructor(builder: Builder) {
    /**
     * Hls Akamai Settings
     */
    public val hlsAkamaiSettings: aws.sdk.kotlin.services.medialive.model.HlsAkamaiSettings? = builder.hlsAkamaiSettings
    /**
     * Hls Basic Put Settings
     */
    public val hlsBasicPutSettings: aws.sdk.kotlin.services.medialive.model.HlsBasicPutSettings? = builder.hlsBasicPutSettings
    /**
     * Hls Media Store Settings
     */
    public val hlsMediaStoreSettings: aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings? = builder.hlsMediaStoreSettings
    /**
     * Hls S3 Settings
     */
    public val hlsS3Settings: aws.sdk.kotlin.services.medialive.model.HlsS3Settings? = builder.hlsS3Settings
    /**
     * Hls Webdav Settings
     */
    public val hlsWebdavSettings: aws.sdk.kotlin.services.medialive.model.HlsWebdavSettings? = builder.hlsWebdavSettings

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

    override fun toString(): kotlin.String = buildString {
        append("HlsCdnSettings(")
        append("hlsAkamaiSettings=$hlsAkamaiSettings,")
        append("hlsBasicPutSettings=$hlsBasicPutSettings,")
        append("hlsMediaStoreSettings=$hlsMediaStoreSettings,")
        append("hlsS3Settings=$hlsS3Settings,")
        append("hlsWebdavSettings=$hlsWebdavSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = hlsAkamaiSettings?.hashCode() ?: 0
        result = 31 * result + (hlsBasicPutSettings?.hashCode() ?: 0)
        result = 31 * result + (hlsMediaStoreSettings?.hashCode() ?: 0)
        result = 31 * result + (hlsS3Settings?.hashCode() ?: 0)
        result = 31 * result + (hlsWebdavSettings?.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 HlsCdnSettings

        if (hlsAkamaiSettings != other.hlsAkamaiSettings) return false
        if (hlsBasicPutSettings != other.hlsBasicPutSettings) return false
        if (hlsMediaStoreSettings != other.hlsMediaStoreSettings) return false
        if (hlsS3Settings != other.hlsS3Settings) return false
        if (hlsWebdavSettings != other.hlsWebdavSettings) return false

        return true
    }

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

    public class Builder {
        /**
         * Hls Akamai Settings
         */
        public var hlsAkamaiSettings: aws.sdk.kotlin.services.medialive.model.HlsAkamaiSettings? = null
        /**
         * Hls Basic Put Settings
         */
        public var hlsBasicPutSettings: aws.sdk.kotlin.services.medialive.model.HlsBasicPutSettings? = null
        /**
         * Hls Media Store Settings
         */
        public var hlsMediaStoreSettings: aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings? = null
        /**
         * Hls S3 Settings
         */
        public var hlsS3Settings: aws.sdk.kotlin.services.medialive.model.HlsS3Settings? = null
        /**
         * Hls Webdav Settings
         */
        public var hlsWebdavSettings: aws.sdk.kotlin.services.medialive.model.HlsWebdavSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.HlsCdnSettings) : this() {
            this.hlsAkamaiSettings = x.hlsAkamaiSettings
            this.hlsBasicPutSettings = x.hlsBasicPutSettings
            this.hlsMediaStoreSettings = x.hlsMediaStoreSettings
            this.hlsS3Settings = x.hlsS3Settings
            this.hlsWebdavSettings = x.hlsWebdavSettings
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.HlsAkamaiSettings] inside the given [block]
         */
        public fun hlsAkamaiSettings(block: aws.sdk.kotlin.services.medialive.model.HlsAkamaiSettings.Builder.() -> kotlin.Unit) {
            this.hlsAkamaiSettings = aws.sdk.kotlin.services.medialive.model.HlsAkamaiSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.HlsBasicPutSettings] inside the given [block]
         */
        public fun hlsBasicPutSettings(block: aws.sdk.kotlin.services.medialive.model.HlsBasicPutSettings.Builder.() -> kotlin.Unit) {
            this.hlsBasicPutSettings = aws.sdk.kotlin.services.medialive.model.HlsBasicPutSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings] inside the given [block]
         */
        public fun hlsMediaStoreSettings(block: aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings.Builder.() -> kotlin.Unit) {
            this.hlsMediaStoreSettings = aws.sdk.kotlin.services.medialive.model.HlsMediaStoreSettings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.HlsS3Settings] inside the given [block]
         */
        public fun hlsS3Settings(block: aws.sdk.kotlin.services.medialive.model.HlsS3Settings.Builder.() -> kotlin.Unit) {
            this.hlsS3Settings = aws.sdk.kotlin.services.medialive.model.HlsS3Settings.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.HlsWebdavSettings] inside the given [block]
         */
        public fun hlsWebdavSettings(block: aws.sdk.kotlin.services.medialive.model.HlsWebdavSettings.Builder.() -> kotlin.Unit) {
            this.hlsWebdavSettings = aws.sdk.kotlin.services.medialive.model.HlsWebdavSettings.invoke(block)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy