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

com.pulumi.azure.containerservice.kotlin.inputs.KubernetesClusterOmsAgentArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.containerservice.kotlin.inputs

import com.pulumi.azure.containerservice.inputs.KubernetesClusterOmsAgentArgs.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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property logAnalyticsWorkspaceId The ID of the Log Analytics Workspace which the OMS Agent should send data to.
 * @property msiAuthForMonitoringEnabled Is managed identity authentication for monitoring enabled?
 * @property omsAgentIdentities An `oms_agent_identity` block is exported. The exported attributes are defined below.
 */
public data class KubernetesClusterOmsAgentArgs(
    public val logAnalyticsWorkspaceId: Output,
    public val msiAuthForMonitoringEnabled: Output? = null,
    public val omsAgentIdentities: Output>? =
        null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.containerservice.inputs.KubernetesClusterOmsAgentArgs =
        com.pulumi.azure.containerservice.inputs.KubernetesClusterOmsAgentArgs.builder()
            .logAnalyticsWorkspaceId(logAnalyticsWorkspaceId.applyValue({ args0 -> args0 }))
            .msiAuthForMonitoringEnabled(msiAuthForMonitoringEnabled?.applyValue({ args0 -> args0 }))
            .omsAgentIdentities(
                omsAgentIdentities?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [KubernetesClusterOmsAgentArgs].
 */
@PulumiTagMarker
public class KubernetesClusterOmsAgentArgsBuilder internal constructor() {
    private var logAnalyticsWorkspaceId: Output? = null

    private var msiAuthForMonitoringEnabled: Output? = null

    private var omsAgentIdentities: Output>? =
        null

    /**
     * @param value The ID of the Log Analytics Workspace which the OMS Agent should send data to.
     */
    @JvmName("qqoshrvmebknkupo")
    public suspend fun logAnalyticsWorkspaceId(`value`: Output) {
        this.logAnalyticsWorkspaceId = value
    }

    /**
     * @param value Is managed identity authentication for monitoring enabled?
     */
    @JvmName("lxtlsbaqxtwmlhnn")
    public suspend fun msiAuthForMonitoringEnabled(`value`: Output) {
        this.msiAuthForMonitoringEnabled = value
    }

    /**
     * @param value An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("kxpqqjkcvqlywcne")
    public suspend fun omsAgentIdentities(`value`: Output>) {
        this.omsAgentIdentities = value
    }

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

    /**
     * @param values An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("cschehrltbppexqg")
    public suspend fun omsAgentIdentities(values: List>) {
        this.omsAgentIdentities = Output.all(values)
    }

    /**
     * @param value The ID of the Log Analytics Workspace which the OMS Agent should send data to.
     */
    @JvmName("nnjjitiwnfdyxdpw")
    public suspend fun logAnalyticsWorkspaceId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.logAnalyticsWorkspaceId = mapped
    }

    /**
     * @param value Is managed identity authentication for monitoring enabled?
     */
    @JvmName("ahojcpqsfowefscd")
    public suspend fun msiAuthForMonitoringEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.msiAuthForMonitoringEnabled = mapped
    }

    /**
     * @param value An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("eclmtkrxykdonatq")
    public suspend fun omsAgentIdentities(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.omsAgentIdentities = mapped
    }

    /**
     * @param argument An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("odxrlhtegmelvlri")
    public suspend fun omsAgentIdentities(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            KubernetesClusterOmsAgentOmsAgentIdentityArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.omsAgentIdentities = mapped
    }

    /**
     * @param argument An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("kxbqgnolfjjnplgx")
    public suspend fun omsAgentIdentities(vararg argument: suspend KubernetesClusterOmsAgentOmsAgentIdentityArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            KubernetesClusterOmsAgentOmsAgentIdentityArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.omsAgentIdentities = mapped
    }

    /**
     * @param argument An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("rdefwtcwjmilpife")
    public suspend fun omsAgentIdentities(argument: suspend KubernetesClusterOmsAgentOmsAgentIdentityArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            KubernetesClusterOmsAgentOmsAgentIdentityArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.omsAgentIdentities = mapped
    }

    /**
     * @param values An `oms_agent_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("kuapcwhxjnjfpuns")
    public suspend fun omsAgentIdentities(vararg values: KubernetesClusterOmsAgentOmsAgentIdentityArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.omsAgentIdentities = mapped
    }

    internal fun build(): KubernetesClusterOmsAgentArgs = KubernetesClusterOmsAgentArgs(
        logAnalyticsWorkspaceId = logAnalyticsWorkspaceId ?: throw
            PulumiNullFieldException("logAnalyticsWorkspaceId"),
        msiAuthForMonitoringEnabled = msiAuthForMonitoringEnabled,
        omsAgentIdentities = omsAgentIdentities,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy