
com.pulumi.awsnative.iotevents.kotlin.outputs.AlarmModelDynamoDb.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-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.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