Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.lightsail.kotlin
import com.pulumi.awsnative.lightsail.AlarmArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Double
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::Lightsail::Alarm
* @property alarmName The name for the alarm. Specify the name of an existing alarm to update, and overwrite the previous configuration of the alarm.
* @property comparisonOperator The arithmetic operation to use when comparing the specified statistic to the threshold. The specified statistic value is used as the first operand.
* @property contactProtocols The contact protocols to use for the alarm, such as Email, SMS (text messaging), or both.
* @property datapointsToAlarm The number of data points that must be not within the specified threshold to trigger the alarm. If you are setting an "M out of N" alarm, this value (datapointsToAlarm) is the M.
* @property evaluationPeriods The number of most recent periods over which data is compared to the specified threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods) is the N.
* @property metricName The name of the metric to associate with the alarm.
* @property monitoredResourceName The name of the Lightsail resource that the alarm monitors.
* @property notificationEnabled Indicates whether the alarm is enabled. Notifications are enabled by default if you don't specify this parameter.
* @property notificationTriggers The alarm states that trigger a notification.
* @property threshold The value against which the specified statistic is compared.
* @property treatMissingData Sets how this alarm will handle missing data points.
*/
public data class AlarmArgs(
public val alarmName: Output? = null,
public val comparisonOperator: Output? = null,
public val contactProtocols: Output>? = null,
public val datapointsToAlarm: Output? = null,
public val evaluationPeriods: Output? = null,
public val metricName: Output? = null,
public val monitoredResourceName: Output? = null,
public val notificationEnabled: Output? = null,
public val notificationTriggers: Output>? = null,
public val threshold: Output? = null,
public val treatMissingData: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.lightsail.AlarmArgs =
com.pulumi.awsnative.lightsail.AlarmArgs.builder()
.alarmName(alarmName?.applyValue({ args0 -> args0 }))
.comparisonOperator(comparisonOperator?.applyValue({ args0 -> args0 }))
.contactProtocols(contactProtocols?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.datapointsToAlarm(datapointsToAlarm?.applyValue({ args0 -> args0 }))
.evaluationPeriods(evaluationPeriods?.applyValue({ args0 -> args0 }))
.metricName(metricName?.applyValue({ args0 -> args0 }))
.monitoredResourceName(monitoredResourceName?.applyValue({ args0 -> args0 }))
.notificationEnabled(notificationEnabled?.applyValue({ args0 -> args0 }))
.notificationTriggers(notificationTriggers?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.threshold(threshold?.applyValue({ args0 -> args0 }))
.treatMissingData(treatMissingData?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AlarmArgs].
*/
@PulumiTagMarker
public class AlarmArgsBuilder internal constructor() {
private var alarmName: Output? = null
private var comparisonOperator: Output? = null
private var contactProtocols: Output>? = null
private var datapointsToAlarm: Output? = null
private var evaluationPeriods: Output? = null
private var metricName: Output? = null
private var monitoredResourceName: Output? = null
private var notificationEnabled: Output? = null
private var notificationTriggers: Output>? = null
private var threshold: Output? = null
private var treatMissingData: Output? = null
/**
* @param value The name for the alarm. Specify the name of an existing alarm to update, and overwrite the previous configuration of the alarm.
*/
@JvmName("pkacxvbbjtdejlcs")
public suspend fun alarmName(`value`: Output) {
this.alarmName = value
}
/**
* @param value The arithmetic operation to use when comparing the specified statistic to the threshold. The specified statistic value is used as the first operand.
*/
@JvmName("fhyxwdrpmpfawrma")
public suspend fun comparisonOperator(`value`: Output) {
this.comparisonOperator = value
}
/**
* @param value The contact protocols to use for the alarm, such as Email, SMS (text messaging), or both.
*/
@JvmName("dsyvfjbxhniledmi")
public suspend fun contactProtocols(`value`: Output>) {
this.contactProtocols = value
}
@JvmName("axqjhjrhtleixlms")
public suspend fun contactProtocols(vararg values: Output) {
this.contactProtocols = Output.all(values.asList())
}
/**
* @param values The contact protocols to use for the alarm, such as Email, SMS (text messaging), or both.
*/
@JvmName("hofaclcleadosqpk")
public suspend fun contactProtocols(values: List