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

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

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

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



public class CreateJobTemplateRequest private constructor(builder: Builder) {
    /**
     * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide.
     */
    public val accelerationSettings: aws.sdk.kotlin.services.mediaconvert.model.AccelerationSettings? = builder.accelerationSettings
    /**
     * Optional. A category for the job template you are creating
     */
    public val category: kotlin.String? = builder.category
    /**
     * Optional. A description of the job template you are creating.
     */
    public val description: kotlin.String? = builder.description
    /**
     * Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide.
     */
    public val hopDestinations: List? = builder.hopDestinations
    /**
     * The name of the job template you are creating.
     */
    public val name: kotlin.String? = builder.name
    /**
     * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0.
     */
    public val priority: kotlin.Int? = builder.priority
    /**
     * Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue.
     */
    public val queue: kotlin.String? = builder.queue
    /**
     * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it.
     */
    public val settings: aws.sdk.kotlin.services.mediaconvert.model.JobTemplateSettings? = builder.settings
    /**
     * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.
     */
    public val statusUpdateInterval: aws.sdk.kotlin.services.mediaconvert.model.StatusUpdateInterval? = builder.statusUpdateInterval
    /**
     * The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.
     */
    public val tags: Map? = builder.tags

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

    override fun toString(): kotlin.String = buildString {
        append("CreateJobTemplateRequest(")
        append("accelerationSettings=$accelerationSettings,")
        append("category=$category,")
        append("description=$description,")
        append("hopDestinations=$hopDestinations,")
        append("name=$name,")
        append("priority=$priority,")
        append("queue=$queue,")
        append("settings=$settings,")
        append("statusUpdateInterval=$statusUpdateInterval,")
        append("tags=$tags")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = accelerationSettings?.hashCode() ?: 0
        result = 31 * result + (category?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (hopDestinations?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (priority ?: 0)
        result = 31 * result + (queue?.hashCode() ?: 0)
        result = 31 * result + (settings?.hashCode() ?: 0)
        result = 31 * result + (statusUpdateInterval?.hashCode() ?: 0)
        result = 31 * result + (tags?.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 CreateJobTemplateRequest

        if (accelerationSettings != other.accelerationSettings) return false
        if (category != other.category) return false
        if (description != other.description) return false
        if (hopDestinations != other.hopDestinations) return false
        if (name != other.name) return false
        if (priority != other.priority) return false
        if (queue != other.queue) return false
        if (settings != other.settings) return false
        if (statusUpdateInterval != other.statusUpdateInterval) return false
        if (tags != other.tags) return false

        return true
    }

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

    public class Builder {
        /**
         * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide.
         */
        public var accelerationSettings: aws.sdk.kotlin.services.mediaconvert.model.AccelerationSettings? = null
        /**
         * Optional. A category for the job template you are creating
         */
        public var category: kotlin.String? = null
        /**
         * Optional. A description of the job template you are creating.
         */
        public var description: kotlin.String? = null
        /**
         * Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide.
         */
        public var hopDestinations: List? = null
        /**
         * The name of the job template you are creating.
         */
        public var name: kotlin.String? = null
        /**
         * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0.
         */
        public var priority: kotlin.Int? = null
        /**
         * Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue.
         */
        public var queue: kotlin.String? = null
        /**
         * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it.
         */
        public var settings: aws.sdk.kotlin.services.mediaconvert.model.JobTemplateSettings? = null
        /**
         * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.
         */
        public var statusUpdateInterval: aws.sdk.kotlin.services.mediaconvert.model.StatusUpdateInterval? = null
        /**
         * The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.
         */
        public var tags: Map? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.CreateJobTemplateRequest) : this() {
            this.accelerationSettings = x.accelerationSettings
            this.category = x.category
            this.description = x.description
            this.hopDestinations = x.hopDestinations
            this.name = x.name
            this.priority = x.priority
            this.queue = x.queue
            this.settings = x.settings
            this.statusUpdateInterval = x.statusUpdateInterval
            this.tags = x.tags
        }

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy