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

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

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

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

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

/**
 *
 * @property dnsZoneId
 * @property dnsZoneIds Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
 * @property webAppRoutingIdentities A `web_app_routing_identity` block is exported. The exported attributes are defined below.
 */
public data class KubernetesClusterWebAppRoutingArgs(
    @Deprecated(
        message = """
  `dns_zone_id` has been deprecated in favor of `dns_zone_ids` and will be removed in v4.0 of the
      AzureRM Provider.
  """,
    )
    public val dnsZoneId: Output? = null,
    public val dnsZoneIds: Output>? = null,
    public val webAppRoutingIdentities: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.containerservice.inputs.KubernetesClusterWebAppRoutingArgs = com.pulumi.azure.containerservice.inputs.KubernetesClusterWebAppRoutingArgs.builder()
        .dnsZoneId(dnsZoneId?.applyValue({ args0 -> args0 }))
        .dnsZoneIds(dnsZoneIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
        .webAppRoutingIdentities(
            webAppRoutingIdentities?.applyValue({ args0 ->
                args0.map({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                })
            }),
        ).build()
}

/**
 * Builder for [KubernetesClusterWebAppRoutingArgs].
 */
@PulumiTagMarker
public class KubernetesClusterWebAppRoutingArgsBuilder internal constructor() {
    private var dnsZoneId: Output? = null

    private var dnsZoneIds: Output>? = null

    private var webAppRoutingIdentities:
        Output>? = null

    /**
     * @param value
     */
    @Deprecated(
        message = """
  `dns_zone_id` has been deprecated in favor of `dns_zone_ids` and will be removed in v4.0 of the
      AzureRM Provider.
  """,
    )
    @JvmName("faqtjbukfbvhtnqs")
    public suspend fun dnsZoneId(`value`: Output) {
        this.dnsZoneId = value
    }

    /**
     * @param value Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
     */
    @JvmName("cerherhpsaacrstu")
    public suspend fun dnsZoneIds(`value`: Output>) {
        this.dnsZoneIds = value
    }

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

    /**
     * @param values Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
     */
    @JvmName("lohbvdtymugvyggv")
    public suspend fun dnsZoneIds(values: List>) {
        this.dnsZoneIds = Output.all(values)
    }

    /**
     * @param value A `web_app_routing_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("nehcymsxalvriyfj")
    public suspend fun webAppRoutingIdentities(`value`: Output>) {
        this.webAppRoutingIdentities = value
    }

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

    /**
     * @param values A `web_app_routing_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("vbnahblwlffrckfc")
    public suspend fun webAppRoutingIdentities(values: List>) {
        this.webAppRoutingIdentities = Output.all(values)
    }

    /**
     * @param value
     */
    @Deprecated(
        message = """
  `dns_zone_id` has been deprecated in favor of `dns_zone_ids` and will be removed in v4.0 of the
      AzureRM Provider.
  """,
    )
    @JvmName("thtfkqdnevuvkiip")
    public suspend fun dnsZoneId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dnsZoneId = mapped
    }

    /**
     * @param value Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
     */
    @JvmName("pipsrduqpsbuauxa")
    public suspend fun dnsZoneIds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dnsZoneIds = mapped
    }

    /**
     * @param values Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
     */
    @JvmName("upkvbdiwyouvcyfc")
    public suspend fun dnsZoneIds(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.dnsZoneIds = mapped
    }

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

    /**
     * @param argument A `web_app_routing_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("xlkmqsgvcsinofec")
    public suspend fun webAppRoutingIdentities(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.webAppRoutingIdentities = mapped
    }

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

    /**
     * @param argument A `web_app_routing_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("ymhkvoemqfqkaymw")
    public suspend fun webAppRoutingIdentities(argument: suspend KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.webAppRoutingIdentities = mapped
    }

    /**
     * @param values A `web_app_routing_identity` block is exported. The exported attributes are defined below.
     */
    @JvmName("xofnscmvqmhnhcch")
    public suspend fun webAppRoutingIdentities(vararg values: KubernetesClusterWebAppRoutingWebAppRoutingIdentityArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.webAppRoutingIdentities = mapped
    }

    internal fun build(): KubernetesClusterWebAppRoutingArgs = KubernetesClusterWebAppRoutingArgs(
        dnsZoneId = dnsZoneId,
        dnsZoneIds = dnsZoneIds,
        webAppRoutingIdentities = webAppRoutingIdentities,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy