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

com.pulumi.awsnative.iotsitewise.kotlin.inputs.AlarmsPropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.iotsitewise.kotlin.inputs

import com.pulumi.awsnative.iotsitewise.inputs.AlarmsPropertiesArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range.
 * @property alarmRoleArn The ARN of the IAM role that allows the alarm to perform actions and access AWS resources and services, such as AWS IoT Events.
 * @property notificationLambdaArn The ARN of the AWS Lambda function that manages alarm notifications. For more information, see Managing alarm notifications in the AWS IoT Events Developer Guide.
 */
public data class AlarmsPropertiesArgs(
    public val alarmRoleArn: Output? = null,
    public val notificationLambdaArn: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.iotsitewise.inputs.AlarmsPropertiesArgs =
        com.pulumi.awsnative.iotsitewise.inputs.AlarmsPropertiesArgs.builder()
            .alarmRoleArn(alarmRoleArn?.applyValue({ args0 -> args0 }))
            .notificationLambdaArn(notificationLambdaArn?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AlarmsPropertiesArgs].
 */
@PulumiTagMarker
public class AlarmsPropertiesArgsBuilder internal constructor() {
    private var alarmRoleArn: Output? = null

    private var notificationLambdaArn: Output? = null

    /**
     * @param value The ARN of the IAM role that allows the alarm to perform actions and access AWS resources and services, such as AWS IoT Events.
     */
    @JvmName("pwhecxooiiuytbry")
    public suspend fun alarmRoleArn(`value`: Output) {
        this.alarmRoleArn = value
    }

    /**
     * @param value The ARN of the AWS Lambda function that manages alarm notifications. For more information, see Managing alarm notifications in the AWS IoT Events Developer Guide.
     */
    @JvmName("xlddknapkpcdumkk")
    public suspend fun notificationLambdaArn(`value`: Output) {
        this.notificationLambdaArn = value
    }

    /**
     * @param value The ARN of the IAM role that allows the alarm to perform actions and access AWS resources and services, such as AWS IoT Events.
     */
    @JvmName("fgwrhfuqppqwxwcs")
    public suspend fun alarmRoleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alarmRoleArn = mapped
    }

    /**
     * @param value The ARN of the AWS Lambda function that manages alarm notifications. For more information, see Managing alarm notifications in the AWS IoT Events Developer Guide.
     */
    @JvmName("ojsbcnfquhleorjd")
    public suspend fun notificationLambdaArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.notificationLambdaArn = mapped
    }

    internal fun build(): AlarmsPropertiesArgs = AlarmsPropertiesArgs(
        alarmRoleArn = alarmRoleArn,
        notificationLambdaArn = notificationLambdaArn,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy