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

com.pulumi.awsnative.ses.kotlin.ConfigurationSetArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 0.122.0.0
Show newest version
@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,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy