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

com.pulumi.awsnative.iot.kotlin.LoggingArgs.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.iot.kotlin

import com.pulumi.awsnative.iot.LoggingArgs.builder
import com.pulumi.awsnative.iot.kotlin.enums.LoggingDefaultLogLevel
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service.
 * @property accountId Your 12-digit account ID (used as the primary identifier for the CloudFormation resource).
 * @property defaultLogLevel The log level to use. Valid values are: ERROR, WARN, INFO, DEBUG, or DISABLED.
 * @property roleArn The ARN of the role that allows IoT to write to Cloudwatch logs.
 */
public data class LoggingArgs(
    public val accountId: Output? = null,
    public val defaultLogLevel: Output? = null,
    public val roleArn: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.iot.LoggingArgs =
        com.pulumi.awsnative.iot.LoggingArgs.builder()
            .accountId(accountId?.applyValue({ args0 -> args0 }))
            .defaultLogLevel(defaultLogLevel?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LoggingArgs].
 */
@PulumiTagMarker
public class LoggingArgsBuilder internal constructor() {
    private var accountId: Output? = null

    private var defaultLogLevel: Output? = null

    private var roleArn: Output? = null

    /**
     * @param value Your 12-digit account ID (used as the primary identifier for the CloudFormation resource).
     */
    @JvmName("sjwxypebkutcxpvq")
    public suspend fun accountId(`value`: Output) {
        this.accountId = value
    }

    /**
     * @param value The log level to use. Valid values are: ERROR, WARN, INFO, DEBUG, or DISABLED.
     */
    @JvmName("nfuqmqkptngpvxhq")
    public suspend fun defaultLogLevel(`value`: Output) {
        this.defaultLogLevel = value
    }

    /**
     * @param value The ARN of the role that allows IoT to write to Cloudwatch logs.
     */
    @JvmName("wjvjwcfhxafsuwhi")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value Your 12-digit account ID (used as the primary identifier for the CloudFormation resource).
     */
    @JvmName("qlaxfxavnnadawvq")
    public suspend fun accountId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.accountId = mapped
    }

    /**
     * @param value The log level to use. Valid values are: ERROR, WARN, INFO, DEBUG, or DISABLED.
     */
    @JvmName("rxihhdeibmfyjisi")
    public suspend fun defaultLogLevel(`value`: LoggingDefaultLogLevel?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultLogLevel = mapped
    }

    /**
     * @param value The ARN of the role that allows IoT to write to Cloudwatch logs.
     */
    @JvmName("kefnuxthmqvuvdbb")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    internal fun build(): LoggingArgs = LoggingArgs(
        accountId = accountId,
        defaultLogLevel = defaultLogLevel,
        roleArn = roleArn,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy