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

com.pulumi.awsnative.connectcampaigns.kotlin.inputs.CampaignOutboundCallConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.connectcampaigns.kotlin.inputs

import com.pulumi.awsnative.connectcampaigns.inputs.CampaignOutboundCallConfigArgs.builder
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 com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * The configuration used for outbound calls.
 * @property answerMachineDetectionConfig Whether answering machine detection has been enabled.
 * @property connectContactFlowArn The identifier of the contact flow for the outbound call.
 * @property connectQueueArn The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
 * @property connectSourcePhoneNumber The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
 */
public data class CampaignOutboundCallConfigArgs(
    public val answerMachineDetectionConfig: Output? = null,
    public val connectContactFlowArn: Output,
    public val connectQueueArn: Output? = null,
    public val connectSourcePhoneNumber: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.connectcampaigns.inputs.CampaignOutboundCallConfigArgs = com.pulumi.awsnative.connectcampaigns.inputs.CampaignOutboundCallConfigArgs.builder()
        .answerMachineDetectionConfig(
            answerMachineDetectionConfig?.applyValue({ args0 ->
                args0.let({ args0 -> args0.toJava() })
            }),
        )
        .connectContactFlowArn(connectContactFlowArn.applyValue({ args0 -> args0 }))
        .connectQueueArn(connectQueueArn?.applyValue({ args0 -> args0 }))
        .connectSourcePhoneNumber(connectSourcePhoneNumber?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [CampaignOutboundCallConfigArgs].
 */
@PulumiTagMarker
public class CampaignOutboundCallConfigArgsBuilder internal constructor() {
    private var answerMachineDetectionConfig: Output? = null

    private var connectContactFlowArn: Output? = null

    private var connectQueueArn: Output? = null

    private var connectSourcePhoneNumber: Output? = null

    /**
     * @param value Whether answering machine detection has been enabled.
     */
    @JvmName("dmsrmhoxxclbdxfr")
    public suspend fun answerMachineDetectionConfig(`value`: Output) {
        this.answerMachineDetectionConfig = value
    }

    /**
     * @param value The identifier of the contact flow for the outbound call.
     */
    @JvmName("leuepvwnnsbjifyo")
    public suspend fun connectContactFlowArn(`value`: Output) {
        this.connectContactFlowArn = value
    }

    /**
     * @param value The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
     */
    @JvmName("vdhmnrkrnqsxepdf")
    public suspend fun connectQueueArn(`value`: Output) {
        this.connectQueueArn = value
    }

    /**
     * @param value The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
     */
    @JvmName("swdhxiskfuakwuuj")
    public suspend fun connectSourcePhoneNumber(`value`: Output) {
        this.connectSourcePhoneNumber = value
    }

    /**
     * @param value Whether answering machine detection has been enabled.
     */
    @JvmName("idocjercxujpmkoj")
    public suspend fun answerMachineDetectionConfig(`value`: CampaignAnswerMachineDetectionConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.answerMachineDetectionConfig = mapped
    }

    /**
     * @param argument Whether answering machine detection has been enabled.
     */
    @JvmName("wkmgksundvqpobuc")
    public suspend fun answerMachineDetectionConfig(argument: suspend CampaignAnswerMachineDetectionConfigArgsBuilder.() -> Unit) {
        val toBeMapped = CampaignAnswerMachineDetectionConfigArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.answerMachineDetectionConfig = mapped
    }

    /**
     * @param value The identifier of the contact flow for the outbound call.
     */
    @JvmName("lpfacdpfyabcmqfe")
    public suspend fun connectContactFlowArn(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.connectContactFlowArn = mapped
    }

    /**
     * @param value The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
     */
    @JvmName("mkaotksohlqncakc")
    public suspend fun connectQueueArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectQueueArn = mapped
    }

    /**
     * @param value The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
     */
    @JvmName("fktkqfjvmcuewmjo")
    public suspend fun connectSourcePhoneNumber(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectSourcePhoneNumber = mapped
    }

    internal fun build(): CampaignOutboundCallConfigArgs = CampaignOutboundCallConfigArgs(
        answerMachineDetectionConfig = answerMachineDetectionConfig,
        connectContactFlowArn = connectContactFlowArn ?: throw
            PulumiNullFieldException("connectContactFlowArn"),
        connectQueueArn = connectQueueArn,
        connectSourcePhoneNumber = connectSourcePhoneNumber,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy