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

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

There is a newer version: 1.3.34
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

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

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues.
 */
public class ReservationPlanSettings private constructor(builder: Builder) {
    /**
     * The length of the term of your reserved queue pricing plan commitment.
     */
    public val commitment: aws.sdk.kotlin.services.mediaconvert.model.Commitment? = builder.commitment
    /**
     * Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your term is auto renewed, you extend your commitment by 12 months from the auto renew date. You can cancel this commitment.
     */
    public val renewalType: aws.sdk.kotlin.services.mediaconvert.model.RenewalType? = builder.renewalType
    /**
     * Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. You can't decrease the number of RTS in your reserved queue. You can increase the number of RTS by extending your existing commitment with a new 12-month commitment for the larger number. The new commitment begins when you purchase the additional capacity. You can't cancel your commitment or revert to your original commitment after you increase the capacity.
     */
    public val reservedSlots: kotlin.Int? = builder.reservedSlots

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

    override fun toString(): kotlin.String = buildString {
        append("ReservationPlanSettings(")
        append("commitment=$commitment,")
        append("renewalType=$renewalType,")
        append("reservedSlots=$reservedSlots")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = commitment?.hashCode() ?: 0
        result = 31 * result + (renewalType?.hashCode() ?: 0)
        result = 31 * result + (reservedSlots ?: 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 ReservationPlanSettings

        if (commitment != other.commitment) return false
        if (renewalType != other.renewalType) return false
        if (reservedSlots != other.reservedSlots) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The length of the term of your reserved queue pricing plan commitment.
         */
        public var commitment: aws.sdk.kotlin.services.mediaconvert.model.Commitment? = null
        /**
         * Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your term is auto renewed, you extend your commitment by 12 months from the auto renew date. You can cancel this commitment.
         */
        public var renewalType: aws.sdk.kotlin.services.mediaconvert.model.RenewalType? = null
        /**
         * Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. You can't decrease the number of RTS in your reserved queue. You can increase the number of RTS by extending your existing commitment with a new 12-month commitment for the larger number. The new commitment begins when you purchase the additional capacity. You can't cancel your commitment or revert to your original commitment after you increase the capacity.
         */
        public var reservedSlots: kotlin.Int? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.ReservationPlanSettings) : this() {
            this.commitment = x.commitment
            this.renewalType = x.renewalType
            this.reservedSlots = x.reservedSlots
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy