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

com.pulumi.awsnative.ses.kotlin.EmailIdentityArgs.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.EmailIdentityArgs.builder
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityConfigurationSetAttributesArgs
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityConfigurationSetAttributesArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityDkimAttributesArgs
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityDkimAttributesArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityDkimSigningAttributesArgs
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityDkimSigningAttributesArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityFeedbackAttributesArgs
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityFeedbackAttributesArgsBuilder
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityMailFromAttributesArgs
import com.pulumi.awsnative.ses.kotlin.inputs.EmailIdentityMailFromAttributesArgsBuilder
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 Type definition for AWS::SES::EmailIdentity
 * @property configurationSetAttributes Used to associate a configuration set with an email identity.
 * @property dkimAttributes An object that contains information about the DKIM attributes for the identity.
 * @property dkimSigningAttributes If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .
 * You can only specify this object if the email identity is a domain, as opposed to an address.
 * @property emailIdentity The email address or domain to verify.
 * @property feedbackAttributes Used to enable or disable feedback forwarding for an identity.
 * @property mailFromAttributes Used to enable or disable the custom Mail-From domain configuration for an email identity.
 */
public data class EmailIdentityArgs(
    public val configurationSetAttributes: Output? =
        null,
    public val dkimAttributes: Output? = null,
    public val dkimSigningAttributes: Output? = null,
    public val emailIdentity: Output? = null,
    public val feedbackAttributes: Output? = null,
    public val mailFromAttributes: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.ses.EmailIdentityArgs =
        com.pulumi.awsnative.ses.EmailIdentityArgs.builder()
            .configurationSetAttributes(
                configurationSetAttributes?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .dkimAttributes(dkimAttributes?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .dkimSigningAttributes(
                dkimSigningAttributes?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .emailIdentity(emailIdentity?.applyValue({ args0 -> args0 }))
            .feedbackAttributes(
                feedbackAttributes?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .mailFromAttributes(
                mailFromAttributes?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [EmailIdentityArgs].
 */
@PulumiTagMarker
public class EmailIdentityArgsBuilder internal constructor() {
    private var configurationSetAttributes: Output? =
        null

    private var dkimAttributes: Output? = null

    private var dkimSigningAttributes: Output? = null

    private var emailIdentity: Output? = null

    private var feedbackAttributes: Output? = null

    private var mailFromAttributes: Output? = null

    /**
     * @param value Used to associate a configuration set with an email identity.
     */
    @JvmName("unxkupvbiagvxhhx")
    public suspend fun configurationSetAttributes(`value`: Output) {
        this.configurationSetAttributes = value
    }

    /**
     * @param value An object that contains information about the DKIM attributes for the identity.
     */
    @JvmName("nunwmgdkacxcufje")
    public suspend fun dkimAttributes(`value`: Output) {
        this.dkimAttributes = value
    }

    /**
     * @param value If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .
     * You can only specify this object if the email identity is a domain, as opposed to an address.
     */
    @JvmName("lvmcsakglphxryid")
    public suspend fun dkimSigningAttributes(`value`: Output) {
        this.dkimSigningAttributes = value
    }

    /**
     * @param value The email address or domain to verify.
     */
    @JvmName("dgjamybcydrcehgq")
    public suspend fun emailIdentity(`value`: Output) {
        this.emailIdentity = value
    }

    /**
     * @param value Used to enable or disable feedback forwarding for an identity.
     */
    @JvmName("evmtgukgcdpsnync")
    public suspend fun feedbackAttributes(`value`: Output) {
        this.feedbackAttributes = value
    }

    /**
     * @param value Used to enable or disable the custom Mail-From domain configuration for an email identity.
     */
    @JvmName("csbgugasifqjdqpq")
    public suspend fun mailFromAttributes(`value`: Output) {
        this.mailFromAttributes = value
    }

    /**
     * @param value Used to associate a configuration set with an email identity.
     */
    @JvmName("tqtrkmdmbwdaxvla")
    public suspend fun configurationSetAttributes(`value`: EmailIdentityConfigurationSetAttributesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.configurationSetAttributes = mapped
    }

    /**
     * @param argument Used to associate a configuration set with an email identity.
     */
    @JvmName("olownnkgqyadpfkg")
    public suspend fun configurationSetAttributes(argument: suspend EmailIdentityConfigurationSetAttributesArgsBuilder.() -> Unit) {
        val toBeMapped = EmailIdentityConfigurationSetAttributesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.configurationSetAttributes = mapped
    }

    /**
     * @param value An object that contains information about the DKIM attributes for the identity.
     */
    @JvmName("mowkjndftgtreabu")
    public suspend fun dkimAttributes(`value`: EmailIdentityDkimAttributesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dkimAttributes = mapped
    }

    /**
     * @param argument An object that contains information about the DKIM attributes for the identity.
     */
    @JvmName("xsksisiggcxnkpxf")
    public suspend fun dkimAttributes(argument: suspend EmailIdentityDkimAttributesArgsBuilder.() -> Unit) {
        val toBeMapped = EmailIdentityDkimAttributesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.dkimAttributes = mapped
    }

    /**
     * @param value If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .
     * You can only specify this object if the email identity is a domain, as opposed to an address.
     */
    @JvmName("nfjcqgkaaudndano")
    public suspend fun dkimSigningAttributes(`value`: EmailIdentityDkimSigningAttributesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dkimSigningAttributes = mapped
    }

    /**
     * @param argument If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .
     * You can only specify this object if the email identity is a domain, as opposed to an address.
     */
    @JvmName("etdjsvtyykhiwdgx")
    public suspend fun dkimSigningAttributes(argument: suspend EmailIdentityDkimSigningAttributesArgsBuilder.() -> Unit) {
        val toBeMapped = EmailIdentityDkimSigningAttributesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.dkimSigningAttributes = mapped
    }

    /**
     * @param value The email address or domain to verify.
     */
    @JvmName("lonbywxqolegnsdb")
    public suspend fun emailIdentity(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.emailIdentity = mapped
    }

    /**
     * @param value Used to enable or disable feedback forwarding for an identity.
     */
    @JvmName("slwgrxtseccsterv")
    public suspend fun feedbackAttributes(`value`: EmailIdentityFeedbackAttributesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.feedbackAttributes = mapped
    }

    /**
     * @param argument Used to enable or disable feedback forwarding for an identity.
     */
    @JvmName("wgyfrjcbabwuuoel")
    public suspend fun feedbackAttributes(argument: suspend EmailIdentityFeedbackAttributesArgsBuilder.() -> Unit) {
        val toBeMapped = EmailIdentityFeedbackAttributesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.feedbackAttributes = mapped
    }

    /**
     * @param value Used to enable or disable the custom Mail-From domain configuration for an email identity.
     */
    @JvmName("fgqqgivepqphnlom")
    public suspend fun mailFromAttributes(`value`: EmailIdentityMailFromAttributesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mailFromAttributes = mapped
    }

    /**
     * @param argument Used to enable or disable the custom Mail-From domain configuration for an email identity.
     */
    @JvmName("uehkmirpkwfsjcnr")
    public suspend fun mailFromAttributes(argument: suspend EmailIdentityMailFromAttributesArgsBuilder.() -> Unit) {
        val toBeMapped = EmailIdentityMailFromAttributesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.mailFromAttributes = mapped
    }

    internal fun build(): EmailIdentityArgs = EmailIdentityArgs(
        configurationSetAttributes = configurationSetAttributes,
        dkimAttributes = dkimAttributes,
        dkimSigningAttributes = dkimSigningAttributes,
        emailIdentity = emailIdentity,
        feedbackAttributes = feedbackAttributes,
        mailFromAttributes = mailFromAttributes,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy