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

com.pulumi.azurenative.logic.kotlin.inputs.X12AgreementContentArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.logic.kotlin.inputs

import com.pulumi.azurenative.logic.inputs.X12AgreementContentArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * The X12 agreement content.
 * @property receiveAgreement The X12 one-way receive agreement.
 * @property sendAgreement The X12 one-way send agreement.
 */
public data class X12AgreementContentArgs(
    public val receiveAgreement: Output,
    public val sendAgreement: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.logic.inputs.X12AgreementContentArgs =
        com.pulumi.azurenative.logic.inputs.X12AgreementContentArgs.builder()
            .receiveAgreement(receiveAgreement.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .sendAgreement(sendAgreement.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [X12AgreementContentArgs].
 */
@PulumiTagMarker
public class X12AgreementContentArgsBuilder internal constructor() {
    private var receiveAgreement: Output? = null

    private var sendAgreement: Output? = null

    /**
     * @param value The X12 one-way receive agreement.
     */
    @JvmName("tlbtitmcnxkjdsep")
    public suspend fun receiveAgreement(`value`: Output) {
        this.receiveAgreement = value
    }

    /**
     * @param value The X12 one-way send agreement.
     */
    @JvmName("qsnlhtluuppfxkjt")
    public suspend fun sendAgreement(`value`: Output) {
        this.sendAgreement = value
    }

    /**
     * @param value The X12 one-way receive agreement.
     */
    @JvmName("tgtgikulojxsncgh")
    public suspend fun receiveAgreement(`value`: X12OneWayAgreementArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.receiveAgreement = mapped
    }

    /**
     * @param argument The X12 one-way receive agreement.
     */
    @JvmName("ufledfpjvqirugyj")
    public suspend fun receiveAgreement(argument: suspend X12OneWayAgreementArgsBuilder.() -> Unit) {
        val toBeMapped = X12OneWayAgreementArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.receiveAgreement = mapped
    }

    /**
     * @param value The X12 one-way send agreement.
     */
    @JvmName("kemqcbuectxrureb")
    public suspend fun sendAgreement(`value`: X12OneWayAgreementArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sendAgreement = mapped
    }

    /**
     * @param argument The X12 one-way send agreement.
     */
    @JvmName("anbwynvokelkklho")
    public suspend fun sendAgreement(argument: suspend X12OneWayAgreementArgsBuilder.() -> Unit) {
        val toBeMapped = X12OneWayAgreementArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.sendAgreement = mapped
    }

    internal fun build(): X12AgreementContentArgs = X12AgreementContentArgs(
        receiveAgreement = receiveAgreement ?: throw PulumiNullFieldException("receiveAgreement"),
        sendAgreement = sendAgreement ?: throw PulumiNullFieldException("sendAgreement"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy