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

com.pulumi.gcp.monitoring.kotlin.outputs.AlertPolicyCondition.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.monitoring.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property conditionAbsent A condition that checks that a time series
 * continues to receive new data points.
 * Structure is documented below.
 * @property conditionMatchedLog A condition that checks for log messages matching given constraints.
 * If set, no other conditions can be present.
 * Structure is documented below.
 * @property conditionMonitoringQueryLanguage A Monitoring Query Language query that outputs a boolean stream
 * Structure is documented below.
 * @property conditionPrometheusQueryLanguage A condition type that allows alert policies to be defined using
 * Prometheus Query Language (PromQL).
 * The PrometheusQueryLanguageCondition message contains information
 * from a Prometheus alerting rule and its associated rule group.
 * Structure is documented below.
 * @property conditionThreshold A condition that compares a time series against a
 * threshold.
 * Structure is documented below.
 * @property displayName A short name or phrase used to identify the
 * condition in dashboards, notifications, and
 * incidents. To avoid confusion, don't use the same
 * display name for multiple conditions in the same
 * policy.
 * @property name (Output)
 * The unique resource name for this condition.
 * Its syntax is:
 * projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]
 * [CONDITION_ID] is assigned by Stackdriver Monitoring when
 * the condition is created as part of a new or updated alerting
 * policy.
 */
public data class AlertPolicyCondition(
    public val conditionAbsent: AlertPolicyConditionConditionAbsent? = null,
    public val conditionMatchedLog: AlertPolicyConditionConditionMatchedLog? = null,
    public val conditionMonitoringQueryLanguage: AlertPolicyConditionConditionMonitoringQueryLanguage? =
        null,
    public val conditionPrometheusQueryLanguage: AlertPolicyConditionConditionPrometheusQueryLanguage? =
        null,
    public val conditionThreshold: AlertPolicyConditionConditionThreshold? = null,
    public val displayName: String,
    public val name: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.monitoring.outputs.AlertPolicyCondition): AlertPolicyCondition = AlertPolicyCondition(
            conditionAbsent = javaType.conditionAbsent().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.monitoring.kotlin.outputs.AlertPolicyConditionConditionAbsent.Companion.toKotlin(args0)
                })
            }).orElse(null),
            conditionMatchedLog = javaType.conditionMatchedLog().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.monitoring.kotlin.outputs.AlertPolicyConditionConditionMatchedLog.Companion.toKotlin(args0)
                })
            }).orElse(null),
            conditionMonitoringQueryLanguage = javaType.conditionMonitoringQueryLanguage().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.monitoring.kotlin.outputs.AlertPolicyConditionConditionMonitoringQueryLanguage.Companion.toKotlin(args0)
                })
            }).orElse(null),
            conditionPrometheusQueryLanguage = javaType.conditionPrometheusQueryLanguage().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.monitoring.kotlin.outputs.AlertPolicyConditionConditionPrometheusQueryLanguage.Companion.toKotlin(args0)
                })
            }).orElse(null),
            conditionThreshold = javaType.conditionThreshold().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.monitoring.kotlin.outputs.AlertPolicyConditionConditionThreshold.Companion.toKotlin(args0)
                })
            }).orElse(null),
            displayName = javaType.displayName(),
            name = javaType.name().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy