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

com.pulumi.awsnative.ecs.kotlin.inputs.TaskDefinitionFirelensConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.ecs.kotlin.inputs

import com.pulumi.awsnative.ecs.inputs.TaskDefinitionFirelensConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.
 * @property options The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.
 *   If specified, valid option keys are:
 *   +   ``enable-ecs-log-metadata``, which can be ``true`` or ``false``
 *   +   ``config-file-type``, which can be ``s3`` or ``file``
 *   +   ``config-file-value``, which is either an S3 ARN or a file path
 * @property type The log router to use. The valid values are ``fluentd`` or ``fluentbit``.
 */
public data class TaskDefinitionFirelensConfigurationArgs(
    public val options: Output>? = null,
    public val type: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.ecs.inputs.TaskDefinitionFirelensConfigurationArgs =
        com.pulumi.awsnative.ecs.inputs.TaskDefinitionFirelensConfigurationArgs.builder()
            .options(options?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .type(type?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [TaskDefinitionFirelensConfigurationArgs].
 */
@PulumiTagMarker
public class TaskDefinitionFirelensConfigurationArgsBuilder internal constructor() {
    private var options: Output>? = null

    private var type: Output? = null

    /**
     * @param value The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.
     *   If specified, valid option keys are:
     *   +   ``enable-ecs-log-metadata``, which can be ``true`` or ``false``
     *   +   ``config-file-type``, which can be ``s3`` or ``file``
     *   +   ``config-file-value``, which is either an S3 ARN or a file path
     */
    @JvmName("oyjavrwfecluhkws")
    public suspend fun options(`value`: Output>) {
        this.options = value
    }

    /**
     * @param value The log router to use. The valid values are ``fluentd`` or ``fluentbit``.
     */
    @JvmName("ipryevgomxqhlxen")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.
     *   If specified, valid option keys are:
     *   +   ``enable-ecs-log-metadata``, which can be ``true`` or ``false``
     *   +   ``config-file-type``, which can be ``s3`` or ``file``
     *   +   ``config-file-value``, which is either an S3 ARN or a file path
     */
    @JvmName("wbpkwngqamsdxuvn")
    public suspend fun options(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.options = mapped
    }

    /**
     * @param values The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.
     *   If specified, valid option keys are:
     *   +   ``enable-ecs-log-metadata``, which can be ``true`` or ``false``
     *   +   ``config-file-type``, which can be ``s3`` or ``file``
     *   +   ``config-file-value``, which is either an S3 ARN or a file path
     */
    @JvmName("qpqpkepjmoooxxcs")
    public fun options(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.options = mapped
    }

    /**
     * @param value The log router to use. The valid values are ``fluentd`` or ``fluentbit``.
     */
    @JvmName("tumbnrwrtfxiutcu")
    public suspend fun type(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): TaskDefinitionFirelensConfigurationArgs =
        TaskDefinitionFirelensConfigurationArgs(
            options = options,
            type = type,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy