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

com.pulumi.aws.pinpoint.kotlin.inputs.EmailTemplateEmailTemplateArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.pinpoint.kotlin.inputs

import com.pulumi.aws.pinpoint.inputs.EmailTemplateEmailTemplateArgs.builder
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.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property defaultSubstitutions JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.
 * @property description
 * @property headers
 * @property htmlPart The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.
 * @property recommenderId The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.
 * @property subject Subject line, or title, to use in email messages that are based on the message template.
 * @property textPart Message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.
 */
public data class EmailTemplateEmailTemplateArgs(
    public val defaultSubstitutions: Output? = null,
    public val description: Output? = null,
    public val headers: Output>? = null,
    public val htmlPart: Output? = null,
    public val recommenderId: Output? = null,
    public val subject: Output? = null,
    public val textPart: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.pinpoint.inputs.EmailTemplateEmailTemplateArgs =
        com.pulumi.aws.pinpoint.inputs.EmailTemplateEmailTemplateArgs.builder()
            .defaultSubstitutions(defaultSubstitutions?.applyValue({ args0 -> args0 }))
            .description(description?.applyValue({ args0 -> args0 }))
            .headers(
                headers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .htmlPart(htmlPart?.applyValue({ args0 -> args0 }))
            .recommenderId(recommenderId?.applyValue({ args0 -> args0 }))
            .subject(subject?.applyValue({ args0 -> args0 }))
            .textPart(textPart?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [EmailTemplateEmailTemplateArgs].
 */
@PulumiTagMarker
public class EmailTemplateEmailTemplateArgsBuilder internal constructor() {
    private var defaultSubstitutions: Output? = null

    private var description: Output? = null

    private var headers: Output>? = null

    private var htmlPart: Output? = null

    private var recommenderId: Output? = null

    private var subject: Output? = null

    private var textPart: Output? = null

    /**
     * @param value JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.
     */
    @JvmName("bjgimuilnqgvouye")
    public suspend fun defaultSubstitutions(`value`: Output) {
        this.defaultSubstitutions = value
    }

    /**
     * @param value
     */
    @JvmName("jxtkmjraojabxamu")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value
     */
    @JvmName("kycyfoqoxfdlbwcu")
    public suspend fun headers(`value`: Output>) {
        this.headers = value
    }

    @JvmName("nhmbnbuaelsepxgp")
    public suspend fun headers(vararg values: Output) {
        this.headers = Output.all(values.asList())
    }

    /**
     * @param values
     */
    @JvmName("friaguxodoitmpfn")
    public suspend fun headers(values: List>) {
        this.headers = Output.all(values)
    }

    /**
     * @param value The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.
     */
    @JvmName("fihwnccmvehawkoo")
    public suspend fun htmlPart(`value`: Output) {
        this.htmlPart = value
    }

    /**
     * @param value The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.
     */
    @JvmName("mvkmpmjnnupndyge")
    public suspend fun recommenderId(`value`: Output) {
        this.recommenderId = value
    }

    /**
     * @param value Subject line, or title, to use in email messages that are based on the message template.
     */
    @JvmName("ajbyqftbvatxldob")
    public suspend fun subject(`value`: Output) {
        this.subject = value
    }

    /**
     * @param value Message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.
     */
    @JvmName("oamqpploblcrkyau")
    public suspend fun textPart(`value`: Output) {
        this.textPart = value
    }

    /**
     * @param value JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.
     */
    @JvmName("ufhrqwgefrjplmhs")
    public suspend fun defaultSubstitutions(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultSubstitutions = mapped
    }

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

    /**
     * @param value
     */
    @JvmName("aerpdifmlecuqxdy")
    public suspend fun headers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param argument
     */
    @JvmName("sevynhrqjptswtpb")
    public suspend fun headers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EmailTemplateEmailTemplateHeaderArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param argument
     */
    @JvmName("kqagaqltrfgshrwa")
    public suspend fun headers(vararg argument: suspend EmailTemplateEmailTemplateHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EmailTemplateEmailTemplateHeaderArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param argument
     */
    @JvmName("oghreteyrhchvdfj")
    public suspend fun headers(argument: suspend EmailTemplateEmailTemplateHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EmailTemplateEmailTemplateHeaderArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param values
     */
    @JvmName("oknnqggyegbwtkbx")
    public suspend fun headers(vararg values: EmailTemplateEmailTemplateHeaderArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param value The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.
     */
    @JvmName("kxcxxungftbbpbdr")
    public suspend fun htmlPart(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.htmlPart = mapped
    }

    /**
     * @param value The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.
     */
    @JvmName("klmaqvprcidepmiw")
    public suspend fun recommenderId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.recommenderId = mapped
    }

    /**
     * @param value Subject line, or title, to use in email messages that are based on the message template.
     */
    @JvmName("pomroyhbeunurxpe")
    public suspend fun subject(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subject = mapped
    }

    /**
     * @param value Message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.
     */
    @JvmName("jjwpooqfxuoptpxe")
    public suspend fun textPart(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.textPart = mapped
    }

    internal fun build(): EmailTemplateEmailTemplateArgs = EmailTemplateEmailTemplateArgs(
        defaultSubstitutions = defaultSubstitutions,
        description = description,
        headers = headers,
        htmlPart = htmlPart,
        recommenderId = recommenderId,
        subject = subject,
        textPart = textPart,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy