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

com.pulumi.awsnative.s3.kotlin.outputs.BucketTopicConfiguration.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.s3.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 * A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.
 * @property event The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.
 * @property filter The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.
 * @property topic The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.
 */
public data class BucketTopicConfiguration(
    public val event: String,
    public val filter: BucketNotificationFilter? = null,
    public val topic: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.s3.outputs.BucketTopicConfiguration): BucketTopicConfiguration = BucketTopicConfiguration(
            event = javaType.event(),
            filter = javaType.filter().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.s3.kotlin.outputs.BucketNotificationFilter.Companion.toKotlin(args0)
                })
            }).orElse(null),
            topic = javaType.topic(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy