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

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

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

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



/**
 * Action to prepare an input for a future immediate input switch.
 */
public class InputPrepareScheduleActionSettings private constructor(builder: Builder) {
    /**
     * The name of the input attachment that should be prepared by this action. If no name is provided, the action will stop the most recent prepare (if any) when activated.
     */
    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.InputPrepareScheduleActionSettings = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("InputPrepareScheduleActionSettings(")
        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 InputPrepareScheduleActionSettings

        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.InputPrepareScheduleActionSettings = Builder(this).apply(block).build()

    public class Builder {
        /**
         * The name of the input attachment that should be prepared by this action. If no name is provided, the action will stop the most recent prepare (if any) when activated.
         */
        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.InputPrepareScheduleActionSettings) : this() {
            this.inputAttachmentNameReference = x.inputAttachmentNameReference
            this.inputClippingSettings = x.inputClippingSettings
            this.urlPath = x.urlPath
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.medialive.model.InputPrepareScheduleActionSettings = InputPrepareScheduleActionSettings(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