![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.MqttToKafkaRoutesArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.iotoperationsmq.kotlin.inputs
import com.pulumi.azurenative.iotoperationsmq.inputs.MqttToKafkaRoutesArgs.builder
import com.pulumi.azurenative.iotoperationsmq.kotlin.enums.KafkaAcks
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Mqtt to Kafka route properties
* @property kafkaAcks The kafka acks to use.
* @property kafkaTopic The kafka topic to publish to.
* @property mqttTopic The mqtt topic to pull from.
* @property name The name of the route.
* @property qos The qos to use for mqtt.
* @property sharedSubscription The properties for shared subscription.
*/
public data class MqttToKafkaRoutesArgs(
public val kafkaAcks: Output>,
public val kafkaTopic: Output,
public val mqttTopic: Output,
public val name: Output,
public val qos: Output? = null,
public val sharedSubscription: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.iotoperationsmq.inputs.MqttToKafkaRoutesArgs =
com.pulumi.azurenative.iotoperationsmq.inputs.MqttToKafkaRoutesArgs.builder()
.kafkaAcks(
kafkaAcks.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.kafkaTopic(kafkaTopic.applyValue({ args0 -> args0 }))
.mqttTopic(mqttTopic.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.qos(qos?.applyValue({ args0 -> args0 }))
.sharedSubscription(
sharedSubscription?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [MqttToKafkaRoutesArgs].
*/
@PulumiTagMarker
public class MqttToKafkaRoutesArgsBuilder internal constructor() {
private var kafkaAcks: Output>? = null
private var kafkaTopic: Output? = null
private var mqttTopic: Output? = null
private var name: Output? = null
private var qos: Output? = null
private var sharedSubscription: Output? = null
/**
* @param value The kafka acks to use.
*/
@JvmName("gdjlaggaebmuftta")
public suspend fun kafkaAcks(`value`: Output>) {
this.kafkaAcks = value
}
/**
* @param value The kafka topic to publish to.
*/
@JvmName("ondillpusmoigxty")
public suspend fun kafkaTopic(`value`: Output) {
this.kafkaTopic = value
}
/**
* @param value The mqtt topic to pull from.
*/
@JvmName("gxwdfupqrjneexpk")
public suspend fun mqttTopic(`value`: Output) {
this.mqttTopic = value
}
/**
* @param value The name of the route.
*/
@JvmName("tenddlnbvqncudpj")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The qos to use for mqtt.
*/
@JvmName("daivsppyuldajdib")
public suspend fun qos(`value`: Output) {
this.qos = value
}
/**
* @param value The properties for shared subscription.
*/
@JvmName("yrwaaawphypmaplw")
public suspend fun sharedSubscription(`value`: Output) {
this.sharedSubscription = value
}
/**
* @param value The kafka acks to use.
*/
@JvmName("ntnvnlmqatqtiqpt")
public suspend fun kafkaAcks(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kafkaAcks = mapped
}
/**
* @param value The kafka acks to use.
*/
@JvmName("fklgphptckaptkti")
public fun kafkaAcks(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kafkaAcks = mapped
}
/**
* @param value The kafka acks to use.
*/
@JvmName("txlandswyrpryvws")
public fun kafkaAcks(`value`: KafkaAcks) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kafkaAcks = mapped
}
/**
* @param value The kafka topic to publish to.
*/
@JvmName("ultxvuwfujfqbfkp")
public suspend fun kafkaTopic(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kafkaTopic = mapped
}
/**
* @param value The mqtt topic to pull from.
*/
@JvmName("mgbkriavmbxlxjei")
public suspend fun mqttTopic(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.mqttTopic = mapped
}
/**
* @param value The name of the route.
*/
@JvmName("vxotihtbgwwobcev")
public suspend fun name(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The qos to use for mqtt.
*/
@JvmName("qayckuiqgnhmmnxo")
public suspend fun qos(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.qos = mapped
}
/**
* @param value The properties for shared subscription.
*/
@JvmName("mmbpjmjipyslmchn")
public suspend fun sharedSubscription(`value`: KafkaSharedSubscriptionPropertiesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sharedSubscription = mapped
}
/**
* @param argument The properties for shared subscription.
*/
@JvmName("ntyyybianmgjrclm")
public suspend fun sharedSubscription(argument: suspend KafkaSharedSubscriptionPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = KafkaSharedSubscriptionPropertiesArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.sharedSubscription = mapped
}
internal fun build(): MqttToKafkaRoutesArgs = MqttToKafkaRoutesArgs(
kafkaAcks = kafkaAcks ?: throw PulumiNullFieldException("kafkaAcks"),
kafkaTopic = kafkaTopic ?: throw PulumiNullFieldException("kafkaTopic"),
mqttTopic = mqttTopic ?: throw PulumiNullFieldException("mqttTopic"),
name = name ?: throw PulumiNullFieldException("name"),
qos = qos,
sharedSubscription = sharedSubscription,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy