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

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

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

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



/**
 * Settings for the "switch input" action: to switch from ingesting one input to ingesting another input.
 */
public class InputSwitchScheduleActionSettings private constructor(builder: Builder) {
    /**
     * The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration.
     */
    public val inputAttachmentNameReference: kotlin.String? = builder.inputAttachmentNameReference
    /**
     * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file.
     */
    public val inputClippingSettings: aws.sdk.kotlin.services.medialive.model.InputClippingSettings? = builder.inputClippingSettings
    /**
     * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source.
     */
    public val urlPath: List? = builder.urlPath

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

    override fun toString(): kotlin.String = buildString {
        append("InputSwitchScheduleActionSettings(")
        append("inputAttachmentNameReference=$inputAttachmentNameReference,")
        append("inputClippingSettings=$inputClippingSettings,")
        append("urlPath=$urlPath")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = inputAttachmentNameReference?.hashCode() ?: 0
        result = 31 * result + (inputClippingSettings?.hashCode() ?: 0)
        result = 31 * result + (urlPath?.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 InputSwitchScheduleActionSettings

        if (inputAttachmentNameReference != other.inputAttachmentNameReference) return false
        if (inputClippingSettings != other.inputClippingSettings) return false
        if (urlPath != other.urlPath) return false

        return true
    }

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

    public class Builder {
        /**
         * The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration.
         */
        public var inputAttachmentNameReference: kotlin.String? = null
        /**
         * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file.
         */
        public var inputClippingSettings: aws.sdk.kotlin.services.medialive.model.InputClippingSettings? = null
        /**
         * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source.
         */
        public var urlPath: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.InputSwitchScheduleActionSettings) : this() {
            this.inputAttachmentNameReference = x.inputAttachmentNameReference
            this.inputClippingSettings = x.inputClippingSettings
            this.urlPath = x.urlPath
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy