
commonMain.aws.sdk.kotlin.services.medialive.model.ScheduleActionStartSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Settings to specify when an action should occur. Only one of the options must be selected.
*/
public class ScheduleActionStartSettings private constructor(builder: Builder) {
/**
* Option for specifying the start time for an action.
*/
public val fixedModeScheduleActionStartSettings: aws.sdk.kotlin.services.medialive.model.FixedModeScheduleActionStartSettings? = builder.fixedModeScheduleActionStartSettings
/**
* Option for specifying an action as relative to another action.
*/
public val followModeScheduleActionStartSettings: aws.sdk.kotlin.services.medialive.model.FollowModeScheduleActionStartSettings? = builder.followModeScheduleActionStartSettings
/**
* Option for specifying an action that should be applied immediately.
*/
public val immediateModeScheduleActionStartSettings: aws.sdk.kotlin.services.medialive.model.ImmediateModeScheduleActionStartSettings? = builder.immediateModeScheduleActionStartSettings
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.ScheduleActionStartSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("ScheduleActionStartSettings(")
append("fixedModeScheduleActionStartSettings=$fixedModeScheduleActionStartSettings,")
append("followModeScheduleActionStartSettings=$followModeScheduleActionStartSettings,")
append("immediateModeScheduleActionStartSettings=$immediateModeScheduleActionStartSettings")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = fixedModeScheduleActionStartSettings?.hashCode() ?: 0
result = 31 * result + (followModeScheduleActionStartSettings?.hashCode() ?: 0)
result = 31 * result + (immediateModeScheduleActionStartSettings?.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 ScheduleActionStartSettings
if (fixedModeScheduleActionStartSettings != other.fixedModeScheduleActionStartSettings) return false
if (followModeScheduleActionStartSettings != other.followModeScheduleActionStartSettings) return false
if (immediateModeScheduleActionStartSettings != other.immediateModeScheduleActionStartSettings) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.ScheduleActionStartSettings = Builder(this).apply(block).build()
public class Builder {
/**
* Option for specifying the start time for an action.
*/
public var fixedModeScheduleActionStartSettings: aws.sdk.kotlin.services.medialive.model.FixedModeScheduleActionStartSettings? = null
/**
* Option for specifying an action as relative to another action.
*/
public var followModeScheduleActionStartSettings: aws.sdk.kotlin.services.medialive.model.FollowModeScheduleActionStartSettings? = null
/**
* Option for specifying an action that should be applied immediately.
*/
public var immediateModeScheduleActionStartSettings: aws.sdk.kotlin.services.medialive.model.ImmediateModeScheduleActionStartSettings? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.ScheduleActionStartSettings) : this() {
this.fixedModeScheduleActionStartSettings = x.fixedModeScheduleActionStartSettings
this.followModeScheduleActionStartSettings = x.followModeScheduleActionStartSettings
this.immediateModeScheduleActionStartSettings = x.immediateModeScheduleActionStartSettings
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.ScheduleActionStartSettings = ScheduleActionStartSettings(this)
/**
* construct an [aws.sdk.kotlin.services.medialive.model.FixedModeScheduleActionStartSettings] inside the given [block]
*/
public fun fixedModeScheduleActionStartSettings(block: aws.sdk.kotlin.services.medialive.model.FixedModeScheduleActionStartSettings.Builder.() -> kotlin.Unit) {
this.fixedModeScheduleActionStartSettings = aws.sdk.kotlin.services.medialive.model.FixedModeScheduleActionStartSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.FollowModeScheduleActionStartSettings] inside the given [block]
*/
public fun followModeScheduleActionStartSettings(block: aws.sdk.kotlin.services.medialive.model.FollowModeScheduleActionStartSettings.Builder.() -> kotlin.Unit) {
this.followModeScheduleActionStartSettings = aws.sdk.kotlin.services.medialive.model.FollowModeScheduleActionStartSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.ImmediateModeScheduleActionStartSettings] inside the given [block]
*/
public fun immediateModeScheduleActionStartSettings(block: aws.sdk.kotlin.services.medialive.model.ImmediateModeScheduleActionStartSettings.Builder.() -> kotlin.Unit) {
this.immediateModeScheduleActionStartSettings = aws.sdk.kotlin.services.medialive.model.ImmediateModeScheduleActionStartSettings.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy