com.pulumi.gcp.billing.kotlin.inputs.BudgetAllUpdatesRuleArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.billing.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.billing.inputs.BudgetAllUpdatesRuleArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property disableDefaultIamRecipients Boolean. When set to true, disables default notifications sent
* when a threshold is exceeded. Default recipients are
* those with Billing Account Administrators and Billing
* Account Users IAM roles for the target account.
* @property monitoringNotificationChannels The full resource name of a monitoring notification
* channel in the form
* projects/{project_id}/notificationChannels/{channel_id}.
* A maximum of 5 channels are allowed.
* @property pubsubTopic The name of the Cloud Pub/Sub topic where budget related
* messages will be published, in the form
* projects/{project_id}/topics/{topic_id}. Updates are sent
* at regular intervals to the topic.
* @property schemaVersion The schema version of the notification. Only "1.0" is
* accepted. It represents the JSON schema as defined in
* https://cloud.google.com/billing/docs/how-to/budgets#notification_format.
*/
public data class BudgetAllUpdatesRuleArgs(
public val disableDefaultIamRecipients: Output? = null,
public val monitoringNotificationChannels: Output>? = null,
public val pubsubTopic: Output? = null,
public val schemaVersion: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.billing.inputs.BudgetAllUpdatesRuleArgs =
com.pulumi.gcp.billing.inputs.BudgetAllUpdatesRuleArgs.builder()
.disableDefaultIamRecipients(disableDefaultIamRecipients?.applyValue({ args0 -> args0 }))
.monitoringNotificationChannels(
monitoringNotificationChannels?.applyValue({ args0 ->
args0.map({ args0 -> args0 })
}),
)
.pubsubTopic(pubsubTopic?.applyValue({ args0 -> args0 }))
.schemaVersion(schemaVersion?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BudgetAllUpdatesRuleArgs].
*/
@PulumiTagMarker
public class BudgetAllUpdatesRuleArgsBuilder internal constructor() {
private var disableDefaultIamRecipients: Output? = null
private var monitoringNotificationChannels: Output>? = null
private var pubsubTopic: Output? = null
private var schemaVersion: Output? = null
/**
* @param value Boolean. When set to true, disables default notifications sent
* when a threshold is exceeded. Default recipients are
* those with Billing Account Administrators and Billing
* Account Users IAM roles for the target account.
*/
@JvmName("pwocyhrgpvmabgua")
public suspend fun disableDefaultIamRecipients(`value`: Output) {
this.disableDefaultIamRecipients = value
}
/**
* @param value The full resource name of a monitoring notification
* channel in the form
* projects/{project_id}/notificationChannels/{channel_id}.
* A maximum of 5 channels are allowed.
*/
@JvmName("kttewiyosgabqjtp")
public suspend fun monitoringNotificationChannels(`value`: Output>) {
this.monitoringNotificationChannels = value
}
@JvmName("ynahsjxuyaertges")
public suspend fun monitoringNotificationChannels(vararg values: Output) {
this.monitoringNotificationChannels = Output.all(values.asList())
}
/**
* @param values The full resource name of a monitoring notification
* channel in the form
* projects/{project_id}/notificationChannels/{channel_id}.
* A maximum of 5 channels are allowed.
*/
@JvmName("mxbbmhfkybledusc")
public suspend fun monitoringNotificationChannels(values: List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy