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

commonMain.aws.sdk.kotlin.services.elastictranscoder.model.UpdatePipelineNotificationsRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.elastictranscoder.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The `UpdatePipelineNotificationsRequest` structure.
 */
public class UpdatePipelineNotificationsRequest private constructor(builder: Builder) {
    /**
     * The identifier of the pipeline for which you want to change notification settings.
     */
    public val id: kotlin.String? = builder.id
    /**
     * The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.
     *
     * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.
     *
     * + **Progressing**: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
     * + **Complete**: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.
     * + **Warning**: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.
     * + **Error**: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.
     */
    public val notifications: aws.sdk.kotlin.services.elastictranscoder.model.Notifications? = builder.notifications

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

    override fun toString(): kotlin.String = buildString {
        append("UpdatePipelineNotificationsRequest(")
        append("id=$id,")
        append("notifications=$notifications")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = id?.hashCode() ?: 0
        result = 31 * result + (notifications?.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 UpdatePipelineNotificationsRequest

        if (id != other.id) return false
        if (notifications != other.notifications) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The identifier of the pipeline for which you want to change notification settings.
         */
        public var id: kotlin.String? = null
        /**
         * The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.
         *
         * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.
         *
         * + **Progressing**: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
         * + **Complete**: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.
         * + **Warning**: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.
         * + **Error**: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.
         */
        public var notifications: aws.sdk.kotlin.services.elastictranscoder.model.Notifications? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.elastictranscoder.model.UpdatePipelineNotificationsRequest) : this() {
            this.id = x.id
            this.notifications = x.notifications
        }

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy