
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