com.pulumi.awsnative.ses.kotlin.ConfigurationSetArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-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.awsnative.ses.kotlin
import com.pulumi.awsnative.ses.ConfigurationSetArgs.builder
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetDeliveryOptionsArgs
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetDeliveryOptionsArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetReputationOptionsArgs
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetReputationOptionsArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetSendingOptionsArgs
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetSendingOptionsArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetSuppressionOptionsArgs
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetSuppressionOptionsArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetTrackingOptionsArgs
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetTrackingOptionsArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetVdmOptionsArgs
import com.pulumi.awsnative.ses.kotlin.inputs.ConfigurationSetVdmOptionsArgsBuilder
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
/**
* Resource schema for AWS::SES::ConfigurationSet.
* ## Example Usage
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* @property deliveryOptions Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
* @property name The name of the configuration set.
* @property reputationOptions An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.
* @property sendingOptions An object that defines whether or not Amazon SES can send email that you send using the configuration set.
* @property suppressionOptions An object that contains information about the suppression list preferences for your account.
* @property trackingOptions An object that defines the open and click tracking options for emails that you send using the configuration set.
* @property vdmOptions The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
*/
public data class ConfigurationSetArgs(
public val deliveryOptions: Output? = null,
public val name: Output? = null,
public val reputationOptions: Output? = null,
public val sendingOptions: Output? = null,
public val suppressionOptions: Output? = null,
public val trackingOptions: Output? = null,
public val vdmOptions: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ses.ConfigurationSetArgs =
com.pulumi.awsnative.ses.ConfigurationSetArgs.builder()
.deliveryOptions(deliveryOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name?.applyValue({ args0 -> args0 }))
.reputationOptions(reputationOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sendingOptions(sendingOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.suppressionOptions(
suppressionOptions?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.trackingOptions(trackingOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.vdmOptions(vdmOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [ConfigurationSetArgs].
*/
@PulumiTagMarker
public class ConfigurationSetArgsBuilder internal constructor() {
private var deliveryOptions: Output? = null
private var name: Output? = null
private var reputationOptions: Output? = null
private var sendingOptions: Output? = null
private var suppressionOptions: Output? = null
private var trackingOptions: Output? = null
private var vdmOptions: Output? = null
/**
* @param value Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
*/
@JvmName("txrumromagebvwli")
public suspend fun deliveryOptions(`value`: Output) {
this.deliveryOptions = value
}
/**
* @param value The name of the configuration set.
*/
@JvmName("oegwphjrhjjpgaqv")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.
*/
@JvmName("xdhxcfrumoakeqdi")
public suspend fun reputationOptions(`value`: Output) {
this.reputationOptions = value
}
/**
* @param value An object that defines whether or not Amazon SES can send email that you send using the configuration set.
*/
@JvmName("smajehpaainbibfa")
public suspend fun sendingOptions(`value`: Output) {
this.sendingOptions = value
}
/**
* @param value An object that contains information about the suppression list preferences for your account.
*/
@JvmName("ysjklnonvwcxkaha")
public suspend fun suppressionOptions(`value`: Output) {
this.suppressionOptions = value
}
/**
* @param value An object that defines the open and click tracking options for emails that you send using the configuration set.
*/
@JvmName("eqkmqjtfvhgycjdx")
public suspend fun trackingOptions(`value`: Output) {
this.trackingOptions = value
}
/**
* @param value The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
*/
@JvmName("lbpfxtorcxdcmfvl")
public suspend fun vdmOptions(`value`: Output) {
this.vdmOptions = value
}
/**
* @param value Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
*/
@JvmName("pcibbriydtvmtowr")
public suspend fun deliveryOptions(`value`: ConfigurationSetDeliveryOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deliveryOptions = mapped
}
/**
* @param argument Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
*/
@JvmName("fvgrgndqfcfphauc")
public suspend fun deliveryOptions(argument: suspend ConfigurationSetDeliveryOptionsArgsBuilder.() -> Unit) {
val toBeMapped = ConfigurationSetDeliveryOptionsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.deliveryOptions = mapped
}
/**
* @param value The name of the configuration set.
*/
@JvmName("gltdjocgcgcxchch")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.
*/
@JvmName("hjngqgnjeejqaobj")
public suspend fun reputationOptions(`value`: ConfigurationSetReputationOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.reputationOptions = mapped
}
/**
* @param argument An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.
*/
@JvmName("pdxjcjpglupxmjge")
public suspend fun reputationOptions(argument: suspend ConfigurationSetReputationOptionsArgsBuilder.() -> Unit) {
val toBeMapped = ConfigurationSetReputationOptionsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.reputationOptions = mapped
}
/**
* @param value An object that defines whether or not Amazon SES can send email that you send using the configuration set.
*/
@JvmName("lersgfdblcqwgtty")
public suspend fun sendingOptions(`value`: ConfigurationSetSendingOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sendingOptions = mapped
}
/**
* @param argument An object that defines whether or not Amazon SES can send email that you send using the configuration set.
*/
@JvmName("dxlkxaabkjgrwryi")
public suspend fun sendingOptions(argument: suspend ConfigurationSetSendingOptionsArgsBuilder.() -> Unit) {
val toBeMapped = ConfigurationSetSendingOptionsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.sendingOptions = mapped
}
/**
* @param value An object that contains information about the suppression list preferences for your account.
*/
@JvmName("fywxayqgcwomphlg")
public suspend fun suppressionOptions(`value`: ConfigurationSetSuppressionOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.suppressionOptions = mapped
}
/**
* @param argument An object that contains information about the suppression list preferences for your account.
*/
@JvmName("qhbmeynxbgctsksu")
public suspend fun suppressionOptions(argument: suspend ConfigurationSetSuppressionOptionsArgsBuilder.() -> Unit) {
val toBeMapped = ConfigurationSetSuppressionOptionsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.suppressionOptions = mapped
}
/**
* @param value An object that defines the open and click tracking options for emails that you send using the configuration set.
*/
@JvmName("nhyrlnrfvtffurli")
public suspend fun trackingOptions(`value`: ConfigurationSetTrackingOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.trackingOptions = mapped
}
/**
* @param argument An object that defines the open and click tracking options for emails that you send using the configuration set.
*/
@JvmName("ctanypkfgmmglmev")
public suspend fun trackingOptions(argument: suspend ConfigurationSetTrackingOptionsArgsBuilder.() -> Unit) {
val toBeMapped = ConfigurationSetTrackingOptionsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.trackingOptions = mapped
}
/**
* @param value The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
*/
@JvmName("xnknkpgmqyshfglp")
public suspend fun vdmOptions(`value`: ConfigurationSetVdmOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vdmOptions = mapped
}
/**
* @param argument The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
*/
@JvmName("trfmaltukacicujt")
public suspend fun vdmOptions(argument: suspend ConfigurationSetVdmOptionsArgsBuilder.() -> Unit) {
val toBeMapped = ConfigurationSetVdmOptionsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.vdmOptions = mapped
}
internal fun build(): ConfigurationSetArgs = ConfigurationSetArgs(
deliveryOptions = deliveryOptions,
name = name,
reputationOptions = reputationOptions,
sendingOptions = sendingOptions,
suppressionOptions = suppressionOptions,
trackingOptions = trackingOptions,
vdmOptions = vdmOptions,
)
}