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

com.pulumi.awsnative.greengrassv2.kotlin.inputs.ComponentVersionLambdaEventSourceArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.greengrassv2.kotlin.inputs

import com.pulumi.awsnative.greengrassv2.inputs.ComponentVersionLambdaEventSourceArgs.builder
import com.pulumi.awsnative.greengrassv2.kotlin.enums.ComponentVersionLambdaEventSourceType
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property topic The topic to which to subscribe to receive event messages.
 * @property type The type of event source. Choose from the following options:
 * - `PUB_SUB` – Subscribe to local publish/subscribe messages. This event source type doesn't support MQTT wildcards ( `+` and `#` ) in the event source topic.
 * - `IOT_CORE` – Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT wildcards ( `+` and `#` ) in the event source topic.
 */
public data class ComponentVersionLambdaEventSourceArgs(
    public val topic: Output? = null,
    public val type: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.greengrassv2.inputs.ComponentVersionLambdaEventSourceArgs =
        com.pulumi.awsnative.greengrassv2.inputs.ComponentVersionLambdaEventSourceArgs.builder()
            .topic(topic?.applyValue({ args0 -> args0 }))
            .type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [ComponentVersionLambdaEventSourceArgs].
 */
@PulumiTagMarker
public class ComponentVersionLambdaEventSourceArgsBuilder internal constructor() {
    private var topic: Output? = null

    private var type: Output? = null

    /**
     * @param value The topic to which to subscribe to receive event messages.
     */
    @JvmName("tpskpjklyuaswyon")
    public suspend fun topic(`value`: Output) {
        this.topic = value
    }

    /**
     * @param value The type of event source. Choose from the following options:
     * - `PUB_SUB` – Subscribe to local publish/subscribe messages. This event source type doesn't support MQTT wildcards ( `+` and `#` ) in the event source topic.
     * - `IOT_CORE` – Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT wildcards ( `+` and `#` ) in the event source topic.
     */
    @JvmName("ridxhknywynhqoij")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value The topic to which to subscribe to receive event messages.
     */
    @JvmName("ttahavlkimhpided")
    public suspend fun topic(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.topic = mapped
    }

    /**
     * @param value The type of event source. Choose from the following options:
     * - `PUB_SUB` – Subscribe to local publish/subscribe messages. This event source type doesn't support MQTT wildcards ( `+` and `#` ) in the event source topic.
     * - `IOT_CORE` – Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT wildcards ( `+` and `#` ) in the event source topic.
     */
    @JvmName("ubxkwwvsooqpplhx")
    public suspend fun type(`value`: ComponentVersionLambdaEventSourceType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): ComponentVersionLambdaEventSourceArgs =
        ComponentVersionLambdaEventSourceArgs(
            topic = topic,
            type = type,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy