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

com.pulumi.awsnative.iot.kotlin.inputs.TopicRuleDynamoDBv2ActionArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.iot.kotlin.inputs

import com.pulumi.awsnative.iot.inputs.TopicRuleDynamoDBv2ActionArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property putItem Specifies the DynamoDB table to which the message data will be written. For example:
 * `{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }`
 * Each attribute in the message payload will be written to a separate column in the DynamoDB database.
 * @property roleArn The ARN of the IAM role that grants access to the DynamoDB table.
 */
public data class TopicRuleDynamoDBv2ActionArgs(
    public val putItem: Output? = null,
    public val roleArn: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.iot.inputs.TopicRuleDynamoDBv2ActionArgs =
        com.pulumi.awsnative.iot.inputs.TopicRuleDynamoDBv2ActionArgs.builder()
            .putItem(putItem?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [TopicRuleDynamoDBv2ActionArgs].
 */
@PulumiTagMarker
public class TopicRuleDynamoDBv2ActionArgsBuilder internal constructor() {
    private var putItem: Output? = null

    private var roleArn: Output? = null

    /**
     * @param value Specifies the DynamoDB table to which the message data will be written. For example:
     * `{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }`
     * Each attribute in the message payload will be written to a separate column in the DynamoDB database.
     */
    @JvmName("gwsypcwtjgaaoejw")
    public suspend fun putItem(`value`: Output) {
        this.putItem = value
    }

    /**
     * @param value The ARN of the IAM role that grants access to the DynamoDB table.
     */
    @JvmName("parcvphqayakphdp")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value Specifies the DynamoDB table to which the message data will be written. For example:
     * `{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }`
     * Each attribute in the message payload will be written to a separate column in the DynamoDB database.
     */
    @JvmName("pvpvuaoqrpnatpwu")
    public suspend fun putItem(`value`: TopicRulePutItemInputArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.putItem = mapped
    }

    /**
     * @param argument Specifies the DynamoDB table to which the message data will be written. For example:
     * `{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }`
     * Each attribute in the message payload will be written to a separate column in the DynamoDB database.
     */
    @JvmName("lltpwupfrncklwmg")
    public suspend fun putItem(argument: suspend TopicRulePutItemInputArgsBuilder.() -> Unit) {
        val toBeMapped = TopicRulePutItemInputArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.putItem = mapped
    }

    /**
     * @param value The ARN of the IAM role that grants access to the DynamoDB table.
     */
    @JvmName("shamgqmyyiukokim")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    internal fun build(): TopicRuleDynamoDBv2ActionArgs = TopicRuleDynamoDBv2ActionArgs(
        putItem = putItem,
        roleArn = roleArn,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy