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

com.pulumi.gcp.billing.kotlin.outputs.BudgetAllUpdatesRule.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.billing.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 BudgetAllUpdatesRule(
    public val disableDefaultIamRecipients: Boolean? = null,
    public val monitoringNotificationChannels: List? = null,
    public val pubsubTopic: String? = null,
    public val schemaVersion: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.billing.outputs.BudgetAllUpdatesRule): BudgetAllUpdatesRule = BudgetAllUpdatesRule(
            disableDefaultIamRecipients = javaType.disableDefaultIamRecipients().map({ args0 ->
                args0
            }).orElse(null),
            monitoringNotificationChannels = javaType.monitoringNotificationChannels().map({ args0 -> args0 }),
            pubsubTopic = javaType.pubsubTopic().map({ args0 -> args0 }).orElse(null),
            schemaVersion = javaType.schemaVersion().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy