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

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

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

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



/**
 * A request to update a channel.
 */
public class UpdateChannelRequest private constructor(builder: Builder) {
    /**
     * Specification of CDI inputs for this channel
     */
    public val cdiInputSpecification: aws.sdk.kotlin.services.medialive.model.CdiInputSpecification? = builder.cdiInputSpecification
    /**
     * channel ID
     */
    public val channelId: kotlin.String? = requireNotNull(builder.channelId) { "A non-null value must be provided for channelId" }
    /**
     * A list of output destinations for this channel.
     */
    public val destinations: List? = builder.destinations
    /**
     * The encoder settings for this channel.
     */
    public val encoderSettings: aws.sdk.kotlin.services.medialive.model.EncoderSettings? = builder.encoderSettings
    /**
     * Placeholder documentation for __listOfInputAttachment
     */
    public val inputAttachments: List? = builder.inputAttachments
    /**
     * Specification of network and file inputs for this channel
     */
    public val inputSpecification: aws.sdk.kotlin.services.medialive.model.InputSpecification? = builder.inputSpecification
    /**
     * The log level to write to CloudWatch Logs.
     */
    public val logLevel: aws.sdk.kotlin.services.medialive.model.LogLevel? = builder.logLevel
    /**
     * Maintenance settings for this channel.
     */
    public val maintenance: aws.sdk.kotlin.services.medialive.model.MaintenanceUpdateSettings? = builder.maintenance
    /**
     * The name of the channel.
     */
    public val name: kotlin.String? = builder.name
    /**
     * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed.
     */
    public val roleArn: kotlin.String? = builder.roleArn

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateChannelRequest(")
        append("cdiInputSpecification=$cdiInputSpecification,")
        append("channelId=$channelId,")
        append("destinations=$destinations,")
        append("encoderSettings=$encoderSettings,")
        append("inputAttachments=$inputAttachments,")
        append("inputSpecification=$inputSpecification,")
        append("logLevel=$logLevel,")
        append("maintenance=$maintenance,")
        append("name=$name,")
        append("roleArn=$roleArn")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = cdiInputSpecification?.hashCode() ?: 0
        result = 31 * result + (channelId?.hashCode() ?: 0)
        result = 31 * result + (destinations?.hashCode() ?: 0)
        result = 31 * result + (encoderSettings?.hashCode() ?: 0)
        result = 31 * result + (inputAttachments?.hashCode() ?: 0)
        result = 31 * result + (inputSpecification?.hashCode() ?: 0)
        result = 31 * result + (logLevel?.hashCode() ?: 0)
        result = 31 * result + (maintenance?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (roleArn?.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 UpdateChannelRequest

        if (cdiInputSpecification != other.cdiInputSpecification) return false
        if (channelId != other.channelId) return false
        if (destinations != other.destinations) return false
        if (encoderSettings != other.encoderSettings) return false
        if (inputAttachments != other.inputAttachments) return false
        if (inputSpecification != other.inputSpecification) return false
        if (logLevel != other.logLevel) return false
        if (maintenance != other.maintenance) return false
        if (name != other.name) return false
        if (roleArn != other.roleArn) return false

        return true
    }

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

    public class Builder {
        /**
         * Specification of CDI inputs for this channel
         */
        public var cdiInputSpecification: aws.sdk.kotlin.services.medialive.model.CdiInputSpecification? = null
        /**
         * channel ID
         */
        public var channelId: kotlin.String? = null
        /**
         * A list of output destinations for this channel.
         */
        public var destinations: List? = null
        /**
         * The encoder settings for this channel.
         */
        public var encoderSettings: aws.sdk.kotlin.services.medialive.model.EncoderSettings? = null
        /**
         * Placeholder documentation for __listOfInputAttachment
         */
        public var inputAttachments: List? = null
        /**
         * Specification of network and file inputs for this channel
         */
        public var inputSpecification: aws.sdk.kotlin.services.medialive.model.InputSpecification? = null
        /**
         * The log level to write to CloudWatch Logs.
         */
        public var logLevel: aws.sdk.kotlin.services.medialive.model.LogLevel? = null
        /**
         * Maintenance settings for this channel.
         */
        public var maintenance: aws.sdk.kotlin.services.medialive.model.MaintenanceUpdateSettings? = null
        /**
         * The name of the channel.
         */
        public var name: kotlin.String? = null
        /**
         * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed.
         */
        public var roleArn: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.UpdateChannelRequest) : this() {
            this.cdiInputSpecification = x.cdiInputSpecification
            this.channelId = x.channelId
            this.destinations = x.destinations
            this.encoderSettings = x.encoderSettings
            this.inputAttachments = x.inputAttachments
            this.inputSpecification = x.inputSpecification
            this.logLevel = x.logLevel
            this.maintenance = x.maintenance
            this.name = x.name
            this.roleArn = x.roleArn
        }

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy