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

com.pulumi.aws.budgets.kotlin.outputs.GetBudgetNotification.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.budgets.kotlin.outputs

import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property comparisonOperator (Required) Comparison operator to use to evaluate the condition. Can be `LESS_THAN`, `EQUAL_TO` or `GREATER_THAN`.
 * @property notificationType (Required) What kind of budget value to notify on. Can be `ACTUAL` or `FORECASTED`.
 * @property subscriberEmailAddresses (Optional) E-Mail addresses to notify. Either this or `subscriber_sns_topic_arns` is required.
 * @property subscriberSnsTopicArns (Optional) SNS topics to notify. Either this or `subscriber_email_addresses` is required.
 * @property threshold (Required) Threshold when the notification should be sent.
 * @property thresholdType (Required) What kind of threshold is defined. Can be `PERCENTAGE` OR `ABSOLUTE_VALUE`.
 */
public data class GetBudgetNotification(
    public val comparisonOperator: String,
    public val notificationType: String,
    public val subscriberEmailAddresses: List,
    public val subscriberSnsTopicArns: List,
    public val threshold: Double,
    public val thresholdType: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.aws.budgets.outputs.GetBudgetNotification): GetBudgetNotification = GetBudgetNotification(
            comparisonOperator = javaType.comparisonOperator(),
            notificationType = javaType.notificationType(),
            subscriberEmailAddresses = javaType.subscriberEmailAddresses().map({ args0 -> args0 }),
            subscriberSnsTopicArns = javaType.subscriberSnsTopicArns().map({ args0 -> args0 }),
            threshold = javaType.threshold(),
            thresholdType = javaType.thresholdType(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy