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

commonMain.aws.sdk.kotlin.services.mediaconvert.model.UpdateQueueRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.mediaconvert.model



public class UpdateQueueRequest private constructor(builder: Builder) {
    /**
     * The new description for the queue, if you are changing it.
     */
    public val description: kotlin.String? = builder.description
    /**
     * The name of the queue that you are modifying.
     */
    public val name: kotlin.String? = builder.name
    /**
     * The new details of your pricing plan for your reserved queue. When you set up a new pricing plan to replace an expired one, you enter into another 12-month commitment. When you add capacity to your queue by increasing the number of RTS, you extend the term of your commitment to 12 months from when you add capacity. After you make these commitments, you can't cancel them.
     */
    public val reservationPlanSettings: aws.sdk.kotlin.services.mediaconvert.model.ReservationPlanSettings? = builder.reservationPlanSettings
    /**
     * Pause or activate a queue by changing its status between ACTIVE and PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause the queue continue to run until they finish or result in an error.
     */
    public val status: aws.sdk.kotlin.services.mediaconvert.model.QueueStatus? = builder.status

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateQueueRequest(")
        append("description=$description,")
        append("name=$name,")
        append("reservationPlanSettings=$reservationPlanSettings,")
        append("status=$status")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = description?.hashCode() ?: 0
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (reservationPlanSettings?.hashCode() ?: 0)
        result = 31 * result + (status?.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 UpdateQueueRequest

        if (description != other.description) return false
        if (name != other.name) return false
        if (reservationPlanSettings != other.reservationPlanSettings) return false
        if (status != other.status) return false

        return true
    }

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

    public class Builder {
        /**
         * The new description for the queue, if you are changing it.
         */
        public var description: kotlin.String? = null
        /**
         * The name of the queue that you are modifying.
         */
        public var name: kotlin.String? = null
        /**
         * The new details of your pricing plan for your reserved queue. When you set up a new pricing plan to replace an expired one, you enter into another 12-month commitment. When you add capacity to your queue by increasing the number of RTS, you extend the term of your commitment to 12 months from when you add capacity. After you make these commitments, you can't cancel them.
         */
        public var reservationPlanSettings: aws.sdk.kotlin.services.mediaconvert.model.ReservationPlanSettings? = null
        /**
         * Pause or activate a queue by changing its status between ACTIVE and PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause the queue continue to run until they finish or result in an error.
         */
        public var status: aws.sdk.kotlin.services.mediaconvert.model.QueueStatus? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.UpdateQueueRequest) : this() {
            this.description = x.description
            this.name = x.name
            this.reservationPlanSettings = x.reservationPlanSettings
            this.status = x.status
        }

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

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

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy