![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.costmanagement.kotlin.ReportByBillingAccountArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-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.azurenative.costmanagement.kotlin
import com.pulumi.azurenative.costmanagement.ReportByBillingAccountArgs.builder
import com.pulumi.azurenative.costmanagement.kotlin.enums.FormatType
import com.pulumi.azurenative.costmanagement.kotlin.inputs.ReportDefinitionArgs
import com.pulumi.azurenative.costmanagement.kotlin.inputs.ReportDefinitionArgsBuilder
import com.pulumi.azurenative.costmanagement.kotlin.inputs.ReportDeliveryInfoArgs
import com.pulumi.azurenative.costmanagement.kotlin.inputs.ReportDeliveryInfoArgsBuilder
import com.pulumi.azurenative.costmanagement.kotlin.inputs.ReportScheduleArgs
import com.pulumi.azurenative.costmanagement.kotlin.inputs.ReportScheduleArgsBuilder
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* A report resource.
* Azure REST API version: 2018-08-01-preview. Prior API version in Azure Native 1.x: 2018-08-01-preview.
* @property billingAccountId BillingAccount ID
* @property definition Has definition for the report.
* @property deliveryInfo Has delivery information for the report.
* @property format The format of the report being delivered.
* @property reportName Report Name.
* @property schedule Has schedule information for the report.
*/
public data class ReportByBillingAccountArgs(
public val billingAccountId: Output? = null,
public val definition: Output? = null,
public val deliveryInfo: Output? = null,
public val format: Output>? = null,
public val reportName: Output? = null,
public val schedule: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.costmanagement.ReportByBillingAccountArgs =
com.pulumi.azurenative.costmanagement.ReportByBillingAccountArgs.builder()
.billingAccountId(billingAccountId?.applyValue({ args0 -> args0 }))
.definition(definition?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.deliveryInfo(deliveryInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.format(
format?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.reportName(reportName?.applyValue({ args0 -> args0 }))
.schedule(schedule?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [ReportByBillingAccountArgs].
*/
@PulumiTagMarker
public class ReportByBillingAccountArgsBuilder internal constructor() {
private var billingAccountId: Output? = null
private var definition: Output? = null
private var deliveryInfo: Output? = null
private var format: Output>? = null
private var reportName: Output? = null
private var schedule: Output? = null
/**
* @param value BillingAccount ID
*/
@JvmName("sxvdldgndxtkfeks")
public suspend fun billingAccountId(`value`: Output) {
this.billingAccountId = value
}
/**
* @param value Has definition for the report.
*/
@JvmName("rcqymtwroxalfkmn")
public suspend fun definition(`value`: Output) {
this.definition = value
}
/**
* @param value Has delivery information for the report.
*/
@JvmName("teffhyplndakjjpq")
public suspend fun deliveryInfo(`value`: Output) {
this.deliveryInfo = value
}
/**
* @param value The format of the report being delivered.
*/
@JvmName("hepdcwlbbhtxhjae")
public suspend fun format(`value`: Output>) {
this.format = value
}
/**
* @param value Report Name.
*/
@JvmName("oetwdfqmneqonrhh")
public suspend fun reportName(`value`: Output) {
this.reportName = value
}
/**
* @param value Has schedule information for the report.
*/
@JvmName("lcbotwxiarrhocih")
public suspend fun schedule(`value`: Output) {
this.schedule = value
}
/**
* @param value BillingAccount ID
*/
@JvmName("dmjuryviutdvpnmi")
public suspend fun billingAccountId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.billingAccountId = mapped
}
/**
* @param value Has definition for the report.
*/
@JvmName("kjpwkuhydpuidyum")
public suspend fun definition(`value`: ReportDefinitionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.definition = mapped
}
/**
* @param argument Has definition for the report.
*/
@JvmName("waeqjhwgfdmfbufj")
public suspend fun definition(argument: suspend ReportDefinitionArgsBuilder.() -> Unit) {
val toBeMapped = ReportDefinitionArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.definition = mapped
}
/**
* @param value Has delivery information for the report.
*/
@JvmName("ajudynvkxucjbkca")
public suspend fun deliveryInfo(`value`: ReportDeliveryInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deliveryInfo = mapped
}
/**
* @param argument Has delivery information for the report.
*/
@JvmName("qqgidsfpbvsmxdyv")
public suspend fun deliveryInfo(argument: suspend ReportDeliveryInfoArgsBuilder.() -> Unit) {
val toBeMapped = ReportDeliveryInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.deliveryInfo = mapped
}
/**
* @param value The format of the report being delivered.
*/
@JvmName("xmwgfbwdwyweexws")
public suspend fun format(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.format = mapped
}
/**
* @param value The format of the report being delivered.
*/
@JvmName("dhdunjolsxsjwxyv")
public fun format(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.format = mapped
}
/**
* @param value The format of the report being delivered.
*/
@JvmName("lwcjhqawkfdcavab")
public fun format(`value`: FormatType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.format = mapped
}
/**
* @param value Report Name.
*/
@JvmName("vrjiaherxbsrfwqa")
public suspend fun reportName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.reportName = mapped
}
/**
* @param value Has schedule information for the report.
*/
@JvmName("ndryeoautqryfvfs")
public suspend fun schedule(`value`: ReportScheduleArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.schedule = mapped
}
/**
* @param argument Has schedule information for the report.
*/
@JvmName("plbmnbgaykqpwcrx")
public suspend fun schedule(argument: suspend ReportScheduleArgsBuilder.() -> Unit) {
val toBeMapped = ReportScheduleArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.schedule = mapped
}
internal fun build(): ReportByBillingAccountArgs = ReportByBillingAccountArgs(
billingAccountId = billingAccountId,
definition = definition,
deliveryInfo = deliveryInfo,
format = format,
reportName = reportName,
schedule = schedule,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy