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

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

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

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

import com.pulumi.azurenative.logic.inputs.AS2MdnSettingsArgs.builder
import com.pulumi.azurenative.logic.kotlin.enums.HashingAlgorithm
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.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The AS2 agreement mdn settings.
 * @property dispositionNotificationTo The disposition notification to header value.
 * @property mdnText The MDN text.
 * @property micHashingAlgorithm The signing or hashing algorithm.
 * @property needMDN The value indicating whether to send or request a MDN.
 * @property receiptDeliveryUrl The receipt delivery URL.
 * @property sendInboundMDNToMessageBox The value indicating whether to send inbound MDN to message box.
 * @property sendMDNAsynchronously The value indicating whether to send the asynchronous MDN.
 * @property signMDN The value indicating whether the MDN needs to be signed or not.
 * @property signOutboundMDNIfOptional The value indicating whether to sign the outbound MDN if optional.
 */
public data class AS2MdnSettingsArgs(
    public val dispositionNotificationTo: Output? = null,
    public val mdnText: Output? = null,
    public val micHashingAlgorithm: Output>,
    public val needMDN: Output,
    public val receiptDeliveryUrl: Output? = null,
    public val sendInboundMDNToMessageBox: Output,
    public val sendMDNAsynchronously: Output,
    public val signMDN: Output,
    public val signOutboundMDNIfOptional: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.logic.inputs.AS2MdnSettingsArgs =
        com.pulumi.azurenative.logic.inputs.AS2MdnSettingsArgs.builder()
            .dispositionNotificationTo(dispositionNotificationTo?.applyValue({ args0 -> args0 }))
            .mdnText(mdnText?.applyValue({ args0 -> args0 }))
            .micHashingAlgorithm(
                micHashingAlgorithm.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .needMDN(needMDN.applyValue({ args0 -> args0 }))
            .receiptDeliveryUrl(receiptDeliveryUrl?.applyValue({ args0 -> args0 }))
            .sendInboundMDNToMessageBox(sendInboundMDNToMessageBox.applyValue({ args0 -> args0 }))
            .sendMDNAsynchronously(sendMDNAsynchronously.applyValue({ args0 -> args0 }))
            .signMDN(signMDN.applyValue({ args0 -> args0 }))
            .signOutboundMDNIfOptional(signOutboundMDNIfOptional.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AS2MdnSettingsArgs].
 */
@PulumiTagMarker
public class AS2MdnSettingsArgsBuilder internal constructor() {
    private var dispositionNotificationTo: Output? = null

    private var mdnText: Output? = null

    private var micHashingAlgorithm: Output>? = null

    private var needMDN: Output? = null

    private var receiptDeliveryUrl: Output? = null

    private var sendInboundMDNToMessageBox: Output? = null

    private var sendMDNAsynchronously: Output? = null

    private var signMDN: Output? = null

    private var signOutboundMDNIfOptional: Output? = null

    /**
     * @param value The disposition notification to header value.
     */
    @JvmName("usmreakwcjftqppa")
    public suspend fun dispositionNotificationTo(`value`: Output) {
        this.dispositionNotificationTo = value
    }

    /**
     * @param value The MDN text.
     */
    @JvmName("xcisurbnemwrftip")
    public suspend fun mdnText(`value`: Output) {
        this.mdnText = value
    }

    /**
     * @param value The signing or hashing algorithm.
     */
    @JvmName("weahrocauwdqxtny")
    public suspend fun micHashingAlgorithm(`value`: Output>) {
        this.micHashingAlgorithm = value
    }

    /**
     * @param value The value indicating whether to send or request a MDN.
     */
    @JvmName("wqugwegidaaobejc")
    public suspend fun needMDN(`value`: Output) {
        this.needMDN = value
    }

    /**
     * @param value The receipt delivery URL.
     */
    @JvmName("frjhddkiwhmrouoh")
    public suspend fun receiptDeliveryUrl(`value`: Output) {
        this.receiptDeliveryUrl = value
    }

    /**
     * @param value The value indicating whether to send inbound MDN to message box.
     */
    @JvmName("miutqajfyoutoaxa")
    public suspend fun sendInboundMDNToMessageBox(`value`: Output) {
        this.sendInboundMDNToMessageBox = value
    }

    /**
     * @param value The value indicating whether to send the asynchronous MDN.
     */
    @JvmName("erqfstoakcjiwgpa")
    public suspend fun sendMDNAsynchronously(`value`: Output) {
        this.sendMDNAsynchronously = value
    }

    /**
     * @param value The value indicating whether the MDN needs to be signed or not.
     */
    @JvmName("rgcvvehgrxaywlvj")
    public suspend fun signMDN(`value`: Output) {
        this.signMDN = value
    }

    /**
     * @param value The value indicating whether to sign the outbound MDN if optional.
     */
    @JvmName("sujmviuqimaxrjrl")
    public suspend fun signOutboundMDNIfOptional(`value`: Output) {
        this.signOutboundMDNIfOptional = value
    }

    /**
     * @param value The disposition notification to header value.
     */
    @JvmName("fylcdfqepxtokgoc")
    public suspend fun dispositionNotificationTo(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dispositionNotificationTo = mapped
    }

    /**
     * @param value The MDN text.
     */
    @JvmName("opkmlenslfiutorl")
    public suspend fun mdnText(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mdnText = mapped
    }

    /**
     * @param value The signing or hashing algorithm.
     */
    @JvmName("etogvddovlwdyqaa")
    public suspend fun micHashingAlgorithm(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.micHashingAlgorithm = mapped
    }

    /**
     * @param value The signing or hashing algorithm.
     */
    @JvmName("ljsjbfahcfpnfvsw")
    public fun micHashingAlgorithm(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.micHashingAlgorithm = mapped
    }

    /**
     * @param value The signing or hashing algorithm.
     */
    @JvmName("jdoeoebldjgfbaox")
    public fun micHashingAlgorithm(`value`: HashingAlgorithm) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.micHashingAlgorithm = mapped
    }

    /**
     * @param value The value indicating whether to send or request a MDN.
     */
    @JvmName("uquvspexkduejohc")
    public suspend fun needMDN(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.needMDN = mapped
    }

    /**
     * @param value The receipt delivery URL.
     */
    @JvmName("ixugqisjooycrwqf")
    public suspend fun receiptDeliveryUrl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.receiptDeliveryUrl = mapped
    }

    /**
     * @param value The value indicating whether to send inbound MDN to message box.
     */
    @JvmName("fjtlwkvqxikibmre")
    public suspend fun sendInboundMDNToMessageBox(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sendInboundMDNToMessageBox = mapped
    }

    /**
     * @param value The value indicating whether to send the asynchronous MDN.
     */
    @JvmName("iiltvwhwiqjeetub")
    public suspend fun sendMDNAsynchronously(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sendMDNAsynchronously = mapped
    }

    /**
     * @param value The value indicating whether the MDN needs to be signed or not.
     */
    @JvmName("oicawscnpeovxgde")
    public suspend fun signMDN(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.signMDN = mapped
    }

    /**
     * @param value The value indicating whether to sign the outbound MDN if optional.
     */
    @JvmName("fgelsnrpdwjtyteo")
    public suspend fun signOutboundMDNIfOptional(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.signOutboundMDNIfOptional = mapped
    }

    internal fun build(): AS2MdnSettingsArgs = AS2MdnSettingsArgs(
        dispositionNotificationTo = dispositionNotificationTo,
        mdnText = mdnText,
        micHashingAlgorithm = micHashingAlgorithm ?: throw PulumiNullFieldException("micHashingAlgorithm"),
        needMDN = needMDN ?: throw PulumiNullFieldException("needMDN"),
        receiptDeliveryUrl = receiptDeliveryUrl,
        sendInboundMDNToMessageBox = sendInboundMDNToMessageBox ?: throw
            PulumiNullFieldException("sendInboundMDNToMessageBox"),
        sendMDNAsynchronously = sendMDNAsynchronously ?: throw
            PulumiNullFieldException("sendMDNAsynchronously"),
        signMDN = signMDN ?: throw PulumiNullFieldException("signMDN"),
        signOutboundMDNIfOptional = signOutboundMDNIfOptional ?: throw
            PulumiNullFieldException("signOutboundMDNIfOptional"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy