com.pulumi.aws.iot.kotlin.inputs.TopicRuleSnsArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.iot.kotlin.inputs
import com.pulumi.aws.iot.inputs.TopicRuleSnsArgs.builder
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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property messageFormat The message format of the message to publish. Accepted values are "JSON" and "RAW".
* @property roleArn The ARN of the IAM role that grants access.
* @property targetArn The ARN of the SNS topic.
*/
public data class TopicRuleSnsArgs(
public val messageFormat: Output? = null,
public val roleArn: Output,
public val targetArn: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.iot.inputs.TopicRuleSnsArgs =
com.pulumi.aws.iot.inputs.TopicRuleSnsArgs.builder()
.messageFormat(messageFormat?.applyValue({ args0 -> args0 }))
.roleArn(roleArn.applyValue({ args0 -> args0 }))
.targetArn(targetArn.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [TopicRuleSnsArgs].
*/
@PulumiTagMarker
public class TopicRuleSnsArgsBuilder internal constructor() {
private var messageFormat: Output? = null
private var roleArn: Output? = null
private var targetArn: Output? = null
/**
* @param value The message format of the message to publish. Accepted values are "JSON" and "RAW".
*/
@JvmName("otfhaflnijthwpyp")
public suspend fun messageFormat(`value`: Output) {
this.messageFormat = value
}
/**
* @param value The ARN of the IAM role that grants access.
*/
@JvmName("fodmlrajtvxvcqer")
public suspend fun roleArn(`value`: Output) {
this.roleArn = value
}
/**
* @param value The ARN of the SNS topic.
*/
@JvmName("slugubbpbmcxkuws")
public suspend fun targetArn(`value`: Output) {
this.targetArn = value
}
/**
* @param value The message format of the message to publish. Accepted values are "JSON" and "RAW".
*/
@JvmName("ngvbpspkpwljxxie")
public suspend fun messageFormat(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.messageFormat = mapped
}
/**
* @param value The ARN of the IAM role that grants access.
*/
@JvmName("evsuclaifmcgybks")
public suspend fun roleArn(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.roleArn = mapped
}
/**
* @param value The ARN of the SNS topic.
*/
@JvmName("mjeffqmtvtnyixor")
public suspend fun targetArn(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.targetArn = mapped
}
internal fun build(): TopicRuleSnsArgs = TopicRuleSnsArgs(
messageFormat = messageFormat,
roleArn = roleArn ?: throw PulumiNullFieldException("roleArn"),
targetArn = targetArn ?: throw PulumiNullFieldException("targetArn"),
)
}