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

com.pulumi.azure.monitoring.kotlin.inputs.DataCollectionRuleDataSourcesSyslogArgs.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.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.monitoring.kotlin.inputs

import com.pulumi.azure.monitoring.inputs.DataCollectionRuleDataSourcesSyslogArgs.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.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property facilityNames Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are `alert`, `*`, `audit`, `auth`, `authpriv`, `clock`, `cron`, `daemon`, `ftp`, `kern`, `local5`, `local4`, `local1`, `local7`, `local6`, `local3`, `local2`, `local0`, `lpr`, `mail`, `mark`, `news`, `nopri`, `ntp`, `syslog`, `user` and `uucp`.
 * @property logLevels Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`, `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.
 * @property name The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
 * @property streams Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Syslog`,and `Microsoft-CiscoAsa`, and `Microsoft-CommonSecurityLog`.
 * > **Note:** In 4.0 or later version of the provider, `streams` will be required. In 3.x version of provider, if `streams` is not specified in creation, it is default to `["Microsoft-Syslog"]`. if `streams` need to be modified (include change other value to the default value), it must be explicitly specified.
 */
public data class DataCollectionRuleDataSourcesSyslogArgs(
    public val facilityNames: Output>,
    public val logLevels: Output>,
    public val name: Output,
    public val streams: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.monitoring.inputs.DataCollectionRuleDataSourcesSyslogArgs = com.pulumi.azure.monitoring.inputs.DataCollectionRuleDataSourcesSyslogArgs.builder()
        .facilityNames(facilityNames.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
        .logLevels(logLevels.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
        .name(name.applyValue({ args0 -> args0 }))
        .streams(streams?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

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

    private var logLevels: Output>? = null

    private var name: Output? = null

    private var streams: Output>? = null

    /**
     * @param value Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are `alert`, `*`, `audit`, `auth`, `authpriv`, `clock`, `cron`, `daemon`, `ftp`, `kern`, `local5`, `local4`, `local1`, `local7`, `local6`, `local3`, `local2`, `local0`, `lpr`, `mail`, `mark`, `news`, `nopri`, `ntp`, `syslog`, `user` and `uucp`.
     */
    @JvmName("mjytudojonfjnito")
    public suspend fun facilityNames(`value`: Output>) {
        this.facilityNames = value
    }

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

    /**
     * @param values Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are `alert`, `*`, `audit`, `auth`, `authpriv`, `clock`, `cron`, `daemon`, `ftp`, `kern`, `local5`, `local4`, `local1`, `local7`, `local6`, `local3`, `local2`, `local0`, `lpr`, `mail`, `mark`, `news`, `nopri`, `ntp`, `syslog`, `user` and `uucp`.
     */
    @JvmName("abpybfwilwkeoaja")
    public suspend fun facilityNames(values: List>) {
        this.facilityNames = Output.all(values)
    }

    /**
     * @param value Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`, `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.
     */
    @JvmName("ninkxbohuqsljspw")
    public suspend fun logLevels(`value`: Output>) {
        this.logLevels = value
    }

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

    /**
     * @param values Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`, `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.
     */
    @JvmName("bwpakvxtqxqwevcy")
    public suspend fun logLevels(values: List>) {
        this.logLevels = Output.all(values)
    }

    /**
     * @param value The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
     */
    @JvmName("vidikllqphpwhobb")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Syslog`,and `Microsoft-CiscoAsa`, and `Microsoft-CommonSecurityLog`.
     * > **Note:** In 4.0 or later version of the provider, `streams` will be required. In 3.x version of provider, if `streams` is not specified in creation, it is default to `["Microsoft-Syslog"]`. if `streams` need to be modified (include change other value to the default value), it must be explicitly specified.
     */
    @JvmName("swxabivchuhwxfue")
    public suspend fun streams(`value`: Output>) {
        this.streams = value
    }

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

    /**
     * @param values Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Syslog`,and `Microsoft-CiscoAsa`, and `Microsoft-CommonSecurityLog`.
     * > **Note:** In 4.0 or later version of the provider, `streams` will be required. In 3.x version of provider, if `streams` is not specified in creation, it is default to `["Microsoft-Syslog"]`. if `streams` need to be modified (include change other value to the default value), it must be explicitly specified.
     */
    @JvmName("urfsvtrjafxgymmd")
    public suspend fun streams(values: List>) {
        this.streams = Output.all(values)
    }

    /**
     * @param value Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are `alert`, `*`, `audit`, `auth`, `authpriv`, `clock`, `cron`, `daemon`, `ftp`, `kern`, `local5`, `local4`, `local1`, `local7`, `local6`, `local3`, `local2`, `local0`, `lpr`, `mail`, `mark`, `news`, `nopri`, `ntp`, `syslog`, `user` and `uucp`.
     */
    @JvmName("nswftgdschtaaaaf")
    public suspend fun facilityNames(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.facilityNames = mapped
    }

    /**
     * @param values Specifies a list of facility names. Use a wildcard `*` to collect logs for all facility names. Possible values are `alert`, `*`, `audit`, `auth`, `authpriv`, `clock`, `cron`, `daemon`, `ftp`, `kern`, `local5`, `local4`, `local1`, `local7`, `local6`, `local3`, `local2`, `local0`, `lpr`, `mail`, `mark`, `news`, `nopri`, `ntp`, `syslog`, `user` and `uucp`.
     */
    @JvmName("opulgsbojfwjpilo")
    public suspend fun facilityNames(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.facilityNames = mapped
    }

    /**
     * @param value Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`, `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.
     */
    @JvmName("wbbyerlllesrctvd")
    public suspend fun logLevels(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.logLevels = mapped
    }

    /**
     * @param values Specifies a list of log levels. Use a wildcard `*` to collect logs for all log levels. Possible values are `Debug`, `Info`, `Notice`, `Warning`, `Error`, `Critical`, `Alert`, `Emergency`,and `*`.
     */
    @JvmName("rehysmjprvdseykx")
    public suspend fun logLevels(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.logLevels = mapped
    }

    /**
     * @param value The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
     */
    @JvmName("iexqmoyedyeaxgri")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Syslog`,and `Microsoft-CiscoAsa`, and `Microsoft-CommonSecurityLog`.
     * > **Note:** In 4.0 or later version of the provider, `streams` will be required. In 3.x version of provider, if `streams` is not specified in creation, it is default to `["Microsoft-Syslog"]`. if `streams` need to be modified (include change other value to the default value), it must be explicitly specified.
     */
    @JvmName("slyahhiabqqnchfx")
    public suspend fun streams(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.streams = mapped
    }

    /**
     * @param values Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to `Microsoft-Syslog`,and `Microsoft-CiscoAsa`, and `Microsoft-CommonSecurityLog`.
     * > **Note:** In 4.0 or later version of the provider, `streams` will be required. In 3.x version of provider, if `streams` is not specified in creation, it is default to `["Microsoft-Syslog"]`. if `streams` need to be modified (include change other value to the default value), it must be explicitly specified.
     */
    @JvmName("hnhtupfhgejoqtvw")
    public suspend fun streams(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.streams = mapped
    }

    internal fun build(): DataCollectionRuleDataSourcesSyslogArgs =
        DataCollectionRuleDataSourcesSyslogArgs(
            facilityNames = facilityNames ?: throw PulumiNullFieldException("facilityNames"),
            logLevels = logLevels ?: throw PulumiNullFieldException("logLevels"),
            name = name ?: throw PulumiNullFieldException("name"),
            streams = streams,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy