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

com.pulumi.azurenative.education.kotlin.inputs.GetLabPlainArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.education.kotlin.inputs

import com.pulumi.azurenative.education.inputs.GetLabPlainArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property billingAccountName The ID that uniquely identifies a billing account.
 * @property billingProfileName The ID that uniquely identifies a billing profile.
 * @property includeBudget May be used to include budget information.
 * @property invoiceSectionName The ID that uniquely identifies an invoice section.
 */
public data class GetLabPlainArgs(
    public val billingAccountName: String,
    public val billingProfileName: String,
    public val includeBudget: Boolean? = null,
    public val invoiceSectionName: String,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.education.inputs.GetLabPlainArgs =
        com.pulumi.azurenative.education.inputs.GetLabPlainArgs.builder()
            .billingAccountName(billingAccountName.let({ args0 -> args0 }))
            .billingProfileName(billingProfileName.let({ args0 -> args0 }))
            .includeBudget(includeBudget?.let({ args0 -> args0 }))
            .invoiceSectionName(invoiceSectionName.let({ args0 -> args0 })).build()
}

/**
 * Builder for [GetLabPlainArgs].
 */
@PulumiTagMarker
public class GetLabPlainArgsBuilder internal constructor() {
    private var billingAccountName: String? = null

    private var billingProfileName: String? = null

    private var includeBudget: Boolean? = null

    private var invoiceSectionName: String? = null

    /**
     * @param value The ID that uniquely identifies a billing account.
     */
    @JvmName("kgkpeujdgwtplvhw")
    public suspend fun billingAccountName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.billingAccountName = mapped
    }

    /**
     * @param value The ID that uniquely identifies a billing profile.
     */
    @JvmName("hddiylpbeffqjgpn")
    public suspend fun billingProfileName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.billingProfileName = mapped
    }

    /**
     * @param value May be used to include budget information.
     */
    @JvmName("piqmjkkdbgnscumu")
    public suspend fun includeBudget(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> args0 })
        this.includeBudget = mapped
    }

    /**
     * @param value The ID that uniquely identifies an invoice section.
     */
    @JvmName("dwqburjxleowurps")
    public suspend fun invoiceSectionName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.invoiceSectionName = mapped
    }

    internal fun build(): GetLabPlainArgs = GetLabPlainArgs(
        billingAccountName = billingAccountName ?: throw PulumiNullFieldException("billingAccountName"),
        billingProfileName = billingProfileName ?: throw PulumiNullFieldException("billingProfileName"),
        includeBudget = includeBudget,
        invoiceSectionName = invoiceSectionName ?: throw PulumiNullFieldException("invoiceSectionName"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy