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

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

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

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



/**
 * Output Settings
 */
public class OutputSettings private constructor(builder: Builder) {
    /**
     * Archive Output Settings
     */
    public val archiveOutputSettings: aws.sdk.kotlin.services.medialive.model.ArchiveOutputSettings? = builder.archiveOutputSettings
    /**
     * Frame Capture Output Settings
     */
    public val frameCaptureOutputSettings: aws.sdk.kotlin.services.medialive.model.FrameCaptureOutputSettings? = builder.frameCaptureOutputSettings
    /**
     * Hls Output Settings
     */
    public val hlsOutputSettings: aws.sdk.kotlin.services.medialive.model.HlsOutputSettings? = builder.hlsOutputSettings
    /**
     * Media Package Output Settings
     */
    public val mediaPackageOutputSettings: aws.sdk.kotlin.services.medialive.model.MediaPackageOutputSettings? = builder.mediaPackageOutputSettings
    /**
     * Ms Smooth Output Settings
     */
    public val msSmoothOutputSettings: aws.sdk.kotlin.services.medialive.model.MsSmoothOutputSettings? = builder.msSmoothOutputSettings
    /**
     * Multiplex Output Settings
     */
    public val multiplexOutputSettings: aws.sdk.kotlin.services.medialive.model.MultiplexOutputSettings? = builder.multiplexOutputSettings
    /**
     * Rtmp Output Settings
     */
    public val rtmpOutputSettings: aws.sdk.kotlin.services.medialive.model.RtmpOutputSettings? = builder.rtmpOutputSettings
    /**
     * Udp Output Settings
     */
    public val udpOutputSettings: aws.sdk.kotlin.services.medialive.model.UdpOutputSettings? = builder.udpOutputSettings

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

    override fun toString(): kotlin.String = buildString {
        append("OutputSettings(")
        append("archiveOutputSettings=$archiveOutputSettings,")
        append("frameCaptureOutputSettings=$frameCaptureOutputSettings,")
        append("hlsOutputSettings=$hlsOutputSettings,")
        append("mediaPackageOutputSettings=$mediaPackageOutputSettings,")
        append("msSmoothOutputSettings=$msSmoothOutputSettings,")
        append("multiplexOutputSettings=$multiplexOutputSettings,")
        append("rtmpOutputSettings=$rtmpOutputSettings,")
        append("udpOutputSettings=$udpOutputSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = archiveOutputSettings?.hashCode() ?: 0
        result = 31 * result + (frameCaptureOutputSettings?.hashCode() ?: 0)
        result = 31 * result + (hlsOutputSettings?.hashCode() ?: 0)
        result = 31 * result + (mediaPackageOutputSettings?.hashCode() ?: 0)
        result = 31 * result + (msSmoothOutputSettings?.hashCode() ?: 0)
        result = 31 * result + (multiplexOutputSettings?.hashCode() ?: 0)
        result = 31 * result + (rtmpOutputSettings?.hashCode() ?: 0)
        result = 31 * result + (udpOutputSettings?.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 OutputSettings

        if (archiveOutputSettings != other.archiveOutputSettings) return false
        if (frameCaptureOutputSettings != other.frameCaptureOutputSettings) return false
        if (hlsOutputSettings != other.hlsOutputSettings) return false
        if (mediaPackageOutputSettings != other.mediaPackageOutputSettings) return false
        if (msSmoothOutputSettings != other.msSmoothOutputSettings) return false
        if (multiplexOutputSettings != other.multiplexOutputSettings) return false
        if (rtmpOutputSettings != other.rtmpOutputSettings) return false
        if (udpOutputSettings != other.udpOutputSettings) return false

        return true
    }

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

    public class Builder {
        /**
         * Archive Output Settings
         */
        public var archiveOutputSettings: aws.sdk.kotlin.services.medialive.model.ArchiveOutputSettings? = null
        /**
         * Frame Capture Output Settings
         */
        public var frameCaptureOutputSettings: aws.sdk.kotlin.services.medialive.model.FrameCaptureOutputSettings? = null
        /**
         * Hls Output Settings
         */
        public var hlsOutputSettings: aws.sdk.kotlin.services.medialive.model.HlsOutputSettings? = null
        /**
         * Media Package Output Settings
         */
        public var mediaPackageOutputSettings: aws.sdk.kotlin.services.medialive.model.MediaPackageOutputSettings? = null
        /**
         * Ms Smooth Output Settings
         */
        public var msSmoothOutputSettings: aws.sdk.kotlin.services.medialive.model.MsSmoothOutputSettings? = null
        /**
         * Multiplex Output Settings
         */
        public var multiplexOutputSettings: aws.sdk.kotlin.services.medialive.model.MultiplexOutputSettings? = null
        /**
         * Rtmp Output Settings
         */
        public var rtmpOutputSettings: aws.sdk.kotlin.services.medialive.model.RtmpOutputSettings? = null
        /**
         * Udp Output Settings
         */
        public var udpOutputSettings: aws.sdk.kotlin.services.medialive.model.UdpOutputSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.OutputSettings) : this() {
            this.archiveOutputSettings = x.archiveOutputSettings
            this.frameCaptureOutputSettings = x.frameCaptureOutputSettings
            this.hlsOutputSettings = x.hlsOutputSettings
            this.mediaPackageOutputSettings = x.mediaPackageOutputSettings
            this.msSmoothOutputSettings = x.msSmoothOutputSettings
            this.multiplexOutputSettings = x.multiplexOutputSettings
            this.rtmpOutputSettings = x.rtmpOutputSettings
            this.udpOutputSettings = x.udpOutputSettings
        }

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

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

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

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

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy