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

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

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

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



/**
 * Output Group Settings
 */
public class OutputGroupSettings private constructor(builder: Builder) {
    /**
     * Archive Group Settings
     */
    public val archiveGroupSettings: aws.sdk.kotlin.services.medialive.model.ArchiveGroupSettings? = builder.archiveGroupSettings
    /**
     * Frame Capture Group Settings
     */
    public val frameCaptureGroupSettings: aws.sdk.kotlin.services.medialive.model.FrameCaptureGroupSettings? = builder.frameCaptureGroupSettings
    /**
     * Hls Group Settings
     */
    public val hlsGroupSettings: aws.sdk.kotlin.services.medialive.model.HlsGroupSettings? = builder.hlsGroupSettings
    /**
     * Media Package Group Settings
     */
    public val mediaPackageGroupSettings: aws.sdk.kotlin.services.medialive.model.MediaPackageGroupSettings? = builder.mediaPackageGroupSettings
    /**
     * Ms Smooth Group Settings
     */
    public val msSmoothGroupSettings: aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings? = builder.msSmoothGroupSettings
    /**
     * Multiplex Group Settings
     */
    public val multiplexGroupSettings: aws.sdk.kotlin.services.medialive.model.MultiplexGroupSettings? = builder.multiplexGroupSettings
    /**
     * Rtmp Group Settings
     */
    public val rtmpGroupSettings: aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings? = builder.rtmpGroupSettings
    /**
     * Udp Group Settings
     */
    public val udpGroupSettings: aws.sdk.kotlin.services.medialive.model.UdpGroupSettings? = builder.udpGroupSettings

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

    override fun toString(): kotlin.String = buildString {
        append("OutputGroupSettings(")
        append("archiveGroupSettings=$archiveGroupSettings,")
        append("frameCaptureGroupSettings=$frameCaptureGroupSettings,")
        append("hlsGroupSettings=$hlsGroupSettings,")
        append("mediaPackageGroupSettings=$mediaPackageGroupSettings,")
        append("msSmoothGroupSettings=$msSmoothGroupSettings,")
        append("multiplexGroupSettings=$multiplexGroupSettings,")
        append("rtmpGroupSettings=$rtmpGroupSettings,")
        append("udpGroupSettings=$udpGroupSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = archiveGroupSettings?.hashCode() ?: 0
        result = 31 * result + (frameCaptureGroupSettings?.hashCode() ?: 0)
        result = 31 * result + (hlsGroupSettings?.hashCode() ?: 0)
        result = 31 * result + (mediaPackageGroupSettings?.hashCode() ?: 0)
        result = 31 * result + (msSmoothGroupSettings?.hashCode() ?: 0)
        result = 31 * result + (multiplexGroupSettings?.hashCode() ?: 0)
        result = 31 * result + (rtmpGroupSettings?.hashCode() ?: 0)
        result = 31 * result + (udpGroupSettings?.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 OutputGroupSettings

        if (archiveGroupSettings != other.archiveGroupSettings) return false
        if (frameCaptureGroupSettings != other.frameCaptureGroupSettings) return false
        if (hlsGroupSettings != other.hlsGroupSettings) return false
        if (mediaPackageGroupSettings != other.mediaPackageGroupSettings) return false
        if (msSmoothGroupSettings != other.msSmoothGroupSettings) return false
        if (multiplexGroupSettings != other.multiplexGroupSettings) return false
        if (rtmpGroupSettings != other.rtmpGroupSettings) return false
        if (udpGroupSettings != other.udpGroupSettings) return false

        return true
    }

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

    public class Builder {
        /**
         * Archive Group Settings
         */
        public var archiveGroupSettings: aws.sdk.kotlin.services.medialive.model.ArchiveGroupSettings? = null
        /**
         * Frame Capture Group Settings
         */
        public var frameCaptureGroupSettings: aws.sdk.kotlin.services.medialive.model.FrameCaptureGroupSettings? = null
        /**
         * Hls Group Settings
         */
        public var hlsGroupSettings: aws.sdk.kotlin.services.medialive.model.HlsGroupSettings? = null
        /**
         * Media Package Group Settings
         */
        public var mediaPackageGroupSettings: aws.sdk.kotlin.services.medialive.model.MediaPackageGroupSettings? = null
        /**
         * Ms Smooth Group Settings
         */
        public var msSmoothGroupSettings: aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings? = null
        /**
         * Multiplex Group Settings
         */
        public var multiplexGroupSettings: aws.sdk.kotlin.services.medialive.model.MultiplexGroupSettings? = null
        /**
         * Rtmp Group Settings
         */
        public var rtmpGroupSettings: aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings? = null
        /**
         * Udp Group Settings
         */
        public var udpGroupSettings: aws.sdk.kotlin.services.medialive.model.UdpGroupSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.OutputGroupSettings) : this() {
            this.archiveGroupSettings = x.archiveGroupSettings
            this.frameCaptureGroupSettings = x.frameCaptureGroupSettings
            this.hlsGroupSettings = x.hlsGroupSettings
            this.mediaPackageGroupSettings = x.mediaPackageGroupSettings
            this.msSmoothGroupSettings = x.msSmoothGroupSettings
            this.multiplexGroupSettings = x.multiplexGroupSettings
            this.rtmpGroupSettings = x.rtmpGroupSettings
            this.udpGroupSettings = x.udpGroupSettings
        }

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

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

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

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

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy