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"),
)
}