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

com.pulumi.aws.lex.kotlin.inputs.BotAliasConversationLogsLogSettingArgs.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: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.lex.kotlin.inputs

import com.pulumi.aws.lex.inputs.BotAliasConversationLogsLogSettingArgs.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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property destination The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`.
 * @property kmsKeyArn The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. Must be between 20 and 2048 characters in length.
 * @property logType The type of logging that is enabled. Options are `AUDIO` or `TEXT`.
 * @property resourceArn The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. Must be less than or equal to 2048 characters in length.
 * @property resourcePrefix The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs.
 */
public data class BotAliasConversationLogsLogSettingArgs(
    public val destination: Output,
    public val kmsKeyArn: Output? = null,
    public val logType: Output,
    public val resourceArn: Output,
    public val resourcePrefix: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.lex.inputs.BotAliasConversationLogsLogSettingArgs =
        com.pulumi.aws.lex.inputs.BotAliasConversationLogsLogSettingArgs.builder()
            .destination(destination.applyValue({ args0 -> args0 }))
            .kmsKeyArn(kmsKeyArn?.applyValue({ args0 -> args0 }))
            .logType(logType.applyValue({ args0 -> args0 }))
            .resourceArn(resourceArn.applyValue({ args0 -> args0 }))
            .resourcePrefix(resourcePrefix?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [BotAliasConversationLogsLogSettingArgs].
 */
@PulumiTagMarker
public class BotAliasConversationLogsLogSettingArgsBuilder internal constructor() {
    private var destination: Output? = null

    private var kmsKeyArn: Output? = null

    private var logType: Output? = null

    private var resourceArn: Output? = null

    private var resourcePrefix: Output? = null

    /**
     * @param value The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`.
     */
    @JvmName("rdlvtswhrplnqgte")
    public suspend fun destination(`value`: Output) {
        this.destination = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. Must be between 20 and 2048 characters in length.
     */
    @JvmName("ouxgnudcnwrnrmot")
    public suspend fun kmsKeyArn(`value`: Output) {
        this.kmsKeyArn = value
    }

    /**
     * @param value The type of logging that is enabled. Options are `AUDIO` or `TEXT`.
     */
    @JvmName("ujippmennnxesxjo")
    public suspend fun logType(`value`: Output) {
        this.logType = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. Must be less than or equal to 2048 characters in length.
     */
    @JvmName("jbdoptopwslxsrfi")
    public suspend fun resourceArn(`value`: Output) {
        this.resourceArn = value
    }

    /**
     * @param value The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs.
     */
    @JvmName("diythdwjrarsefyh")
    public suspend fun resourcePrefix(`value`: Output) {
        this.resourcePrefix = value
    }

    /**
     * @param value The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`.
     */
    @JvmName("pscyhpwvdexpjydr")
    public suspend fun destination(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.destination = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. Must be between 20 and 2048 characters in length.
     */
    @JvmName("knfejrvqkuwmgqfa")
    public suspend fun kmsKeyArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kmsKeyArn = mapped
    }

    /**
     * @param value The type of logging that is enabled. Options are `AUDIO` or `TEXT`.
     */
    @JvmName("ggwsabcdvnoqrxdm")
    public suspend fun logType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.logType = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. Must be less than or equal to 2048 characters in length.
     */
    @JvmName("qanlrlvwvyouthcw")
    public suspend fun resourceArn(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceArn = mapped
    }

    /**
     * @param value The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs.
     */
    @JvmName("jlvbwtdbmqksmjbi")
    public suspend fun resourcePrefix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourcePrefix = mapped
    }

    internal fun build(): BotAliasConversationLogsLogSettingArgs =
        BotAliasConversationLogsLogSettingArgs(
            destination = destination ?: throw PulumiNullFieldException("destination"),
            kmsKeyArn = kmsKeyArn,
            logType = logType ?: throw PulumiNullFieldException("logType"),
            resourceArn = resourceArn ?: throw PulumiNullFieldException("resourceArn"),
            resourcePrefix = resourcePrefix,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy