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

com.pulumi.azurenative.dashboard.kotlin.inputs.ManagedGrafanaPropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.dashboard.kotlin.inputs

import com.pulumi.azurenative.dashboard.inputs.ManagedGrafanaPropertiesArgs.builder
import com.pulumi.azurenative.dashboard.kotlin.enums.ApiKey
import com.pulumi.azurenative.dashboard.kotlin.enums.AutoGeneratedDomainNameLabelScope
import com.pulumi.azurenative.dashboard.kotlin.enums.DeterministicOutboundIP
import com.pulumi.azurenative.dashboard.kotlin.enums.PublicNetworkAccess
import com.pulumi.azurenative.dashboard.kotlin.enums.ZoneRedundancy
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Properties specific to the grafana resource.
 * @property apiKey The api key setting of the Grafana instance.
 * @property autoGeneratedDomainNameLabelScope Scope for dns deterministic name hash calculation.
 * @property deterministicOutboundIP Whether a Grafana instance uses deterministic outbound IPs.
 * @property grafanaIntegrations GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
 * @property publicNetworkAccess Indicate the state for enable or disable traffic over the public interface.
 * @property zoneRedundancy The zone redundancy setting of the Grafana instance.
 */
public data class ManagedGrafanaPropertiesArgs(
    public val apiKey: Output>? = null,
    public val autoGeneratedDomainNameLabelScope: Output>? = null,
    public val deterministicOutboundIP: Output>? = null,
    public val grafanaIntegrations: Output? = null,
    public val publicNetworkAccess: Output>? = null,
    public val zoneRedundancy: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.dashboard.inputs.ManagedGrafanaPropertiesArgs =
        com.pulumi.azurenative.dashboard.inputs.ManagedGrafanaPropertiesArgs.builder()
            .apiKey(
                apiKey?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .autoGeneratedDomainNameLabelScope(
                autoGeneratedDomainNameLabelScope?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .deterministicOutboundIP(
                deterministicOutboundIP?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .grafanaIntegrations(
                grafanaIntegrations?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .publicNetworkAccess(
                publicNetworkAccess?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .zoneRedundancy(
                zoneRedundancy?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

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

    private var autoGeneratedDomainNameLabelScope:
        Output>? = null

    private var deterministicOutboundIP: Output>? = null

    private var grafanaIntegrations: Output? = null

    private var publicNetworkAccess: Output>? = null

    private var zoneRedundancy: Output>? = null

    /**
     * @param value The api key setting of the Grafana instance.
     */
    @JvmName("urmvctufgggrajkw")
    public suspend fun apiKey(`value`: Output>) {
        this.apiKey = value
    }

    /**
     * @param value Scope for dns deterministic name hash calculation.
     */
    @JvmName("apkjwgymyosseidd")
    public suspend fun autoGeneratedDomainNameLabelScope(`value`: Output>) {
        this.autoGeneratedDomainNameLabelScope = value
    }

    /**
     * @param value Whether a Grafana instance uses deterministic outbound IPs.
     */
    @JvmName("kinkqlnfwkjnacmm")
    public suspend fun deterministicOutboundIP(`value`: Output>) {
        this.deterministicOutboundIP = value
    }

    /**
     * @param value GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
     */
    @JvmName("hggrcnxmwsoshqjw")
    public suspend fun grafanaIntegrations(`value`: Output) {
        this.grafanaIntegrations = value
    }

    /**
     * @param value Indicate the state for enable or disable traffic over the public interface.
     */
    @JvmName("staahkytsuqpdufy")
    public suspend fun publicNetworkAccess(`value`: Output>) {
        this.publicNetworkAccess = value
    }

    /**
     * @param value The zone redundancy setting of the Grafana instance.
     */
    @JvmName("nqlgcudahfflulxs")
    public suspend fun zoneRedundancy(`value`: Output>) {
        this.zoneRedundancy = value
    }

    /**
     * @param value The api key setting of the Grafana instance.
     */
    @JvmName("xcqejnquqxmyymuf")
    public suspend fun apiKey(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.apiKey = mapped
    }

    /**
     * @param value The api key setting of the Grafana instance.
     */
    @JvmName("hsserjnaigjfhjsp")
    public fun apiKey(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.apiKey = mapped
    }

    /**
     * @param value The api key setting of the Grafana instance.
     */
    @JvmName("qxvjftexosomcmxq")
    public fun apiKey(`value`: ApiKey) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.apiKey = mapped
    }

    /**
     * @param value Scope for dns deterministic name hash calculation.
     */
    @JvmName("ecfdotwrcatwufnu")
    public suspend fun autoGeneratedDomainNameLabelScope(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.autoGeneratedDomainNameLabelScope = mapped
    }

    /**
     * @param value Scope for dns deterministic name hash calculation.
     */
    @JvmName("timagmxtenoxuljo")
    public fun autoGeneratedDomainNameLabelScope(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.autoGeneratedDomainNameLabelScope = mapped
    }

    /**
     * @param value Scope for dns deterministic name hash calculation.
     */
    @JvmName("ilxvggbkfjgmcbbd")
    public fun autoGeneratedDomainNameLabelScope(`value`: AutoGeneratedDomainNameLabelScope) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.autoGeneratedDomainNameLabelScope = mapped
    }

    /**
     * @param value Whether a Grafana instance uses deterministic outbound IPs.
     */
    @JvmName("uuuynfjlnvnhgfky")
    public suspend fun deterministicOutboundIP(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deterministicOutboundIP = mapped
    }

    /**
     * @param value Whether a Grafana instance uses deterministic outbound IPs.
     */
    @JvmName("axpjhlqrnbbfxixa")
    public fun deterministicOutboundIP(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.deterministicOutboundIP = mapped
    }

    /**
     * @param value Whether a Grafana instance uses deterministic outbound IPs.
     */
    @JvmName("xgnitgkpscqdoavy")
    public fun deterministicOutboundIP(`value`: DeterministicOutboundIP) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.deterministicOutboundIP = mapped
    }

    /**
     * @param value GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
     */
    @JvmName("tllvdhyhkrlytvph")
    public suspend fun grafanaIntegrations(`value`: GrafanaIntegrationsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.grafanaIntegrations = mapped
    }

    /**
     * @param argument GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
     */
    @JvmName("sonwmduokbiwvggq")
    public suspend fun grafanaIntegrations(argument: suspend GrafanaIntegrationsArgsBuilder.() -> Unit) {
        val toBeMapped = GrafanaIntegrationsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.grafanaIntegrations = mapped
    }

    /**
     * @param value Indicate the state for enable or disable traffic over the public interface.
     */
    @JvmName("tqxewewtkhjimcgo")
    public suspend fun publicNetworkAccess(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Indicate the state for enable or disable traffic over the public interface.
     */
    @JvmName("uychsgdukpriqtdx")
    public fun publicNetworkAccess(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Indicate the state for enable or disable traffic over the public interface.
     */
    @JvmName("oloilegiajjfsjmv")
    public fun publicNetworkAccess(`value`: PublicNetworkAccess) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value The zone redundancy setting of the Grafana instance.
     */
    @JvmName("hnecycjdbnslccng")
    public suspend fun zoneRedundancy(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.zoneRedundancy = mapped
    }

    /**
     * @param value The zone redundancy setting of the Grafana instance.
     */
    @JvmName("gajeuaaksimsyccs")
    public fun zoneRedundancy(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.zoneRedundancy = mapped
    }

    /**
     * @param value The zone redundancy setting of the Grafana instance.
     */
    @JvmName("voakqkisxmvfncnd")
    public fun zoneRedundancy(`value`: ZoneRedundancy) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.zoneRedundancy = mapped
    }

    internal fun build(): ManagedGrafanaPropertiesArgs = ManagedGrafanaPropertiesArgs(
        apiKey = apiKey,
        autoGeneratedDomainNameLabelScope = autoGeneratedDomainNameLabelScope,
        deterministicOutboundIP = deterministicOutboundIP,
        grafanaIntegrations = grafanaIntegrations,
        publicNetworkAccess = publicNetworkAccess,
        zoneRedundancy = zoneRedundancy,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy