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

com.pulumi.awsnative.iotevents.kotlin.outputs.AlarmModelDynamoDb.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.iotevents.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 * Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.
 * @property hashKeyField The name of the hash key (also called the partition key).
 * @property hashKeyType The data type for the hash key (also called the partition key). You can specify the following values:
 * * `STRING` - The hash key is a string.
 * * `NUMBER` - The hash key is a number.
 * If you don't specify `hashKeyType`, the default value is `STRING`.
 * @property hashKeyValue The value of the hash key (also called the partition key).
 * @property operation The type of operation to perform. You can specify the following values:
 * * `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
 * * `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
 * * `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
 * If you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.
 * @property payload
 * @property payloadField The name of the DynamoDB column that receives the action payload.
 * If you don't specify this parameter, the name of the DynamoDB column is `payload`.
 * @property rangeKeyField The name of the range key (also called the sort key).
 * @property rangeKeyType The data type for the range key (also called the sort key), You can specify the following values:
 * * `STRING` - The range key is a string.
 * * `NUMBER` - The range key is number.
 * If you don't specify `rangeKeyField`, the default value is `STRING`.
 * @property rangeKeyValue The value of the range key (also called the sort key).
 * @property tableName The name of the DynamoDB table.
 */
public data class AlarmModelDynamoDb(
    public val hashKeyField: String,
    public val hashKeyType: String? = null,
    public val hashKeyValue: String,
    public val operation: String? = null,
    public val payload: AlarmModelPayload? = null,
    public val payloadField: String? = null,
    public val rangeKeyField: String? = null,
    public val rangeKeyType: String? = null,
    public val rangeKeyValue: String? = null,
    public val tableName: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.iotevents.outputs.AlarmModelDynamoDb): AlarmModelDynamoDb = AlarmModelDynamoDb(
            hashKeyField = javaType.hashKeyField(),
            hashKeyType = javaType.hashKeyType().map({ args0 -> args0 }).orElse(null),
            hashKeyValue = javaType.hashKeyValue(),
            operation = javaType.operation().map({ args0 -> args0 }).orElse(null),
            payload = javaType.payload().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.iotevents.kotlin.outputs.AlarmModelPayload.Companion.toKotlin(args0)
                })
            }).orElse(null),
            payloadField = javaType.payloadField().map({ args0 -> args0 }).orElse(null),
            rangeKeyField = javaType.rangeKeyField().map({ args0 -> args0 }).orElse(null),
            rangeKeyType = javaType.rangeKeyType().map({ args0 -> args0 }).orElse(null),
            rangeKeyValue = javaType.rangeKeyValue().map({ args0 -> args0 }).orElse(null),
            tableName = javaType.tableName(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy