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

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

package com.pulumi.azure.network.kotlin.inputs

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

/**
 *
 * @property associatedRouteTableId The ID of the route table associated with this Virtual Hub connection.
 * @property inboundRouteMapId The resource ID of the Route Map associated with this Routing Configuration for inbound learned routes.
 * @property outboundRouteMapId The resource ID of the Route Map associated with this Routing Configuration for outbound advertised routes.
 * @property propagatedRouteTable A `propagated_route_table` block as defined below.
 * @property staticVnetLocalRouteOverrideCriteria The static VNet local route override criteria that is used to determine whether NVA in spoke VNet is bypassed for traffic with destination in spoke VNet. Possible values are `Contains` and `Equal`. Defaults to `Contains`. Changing this forces a new resource to be created.
 * @property staticVnetRoutes A `static_vnet_route` block as defined below.
 */
public data class VirtualHubConnectionRoutingArgs(
    public val associatedRouteTableId: Output? = null,
    public val inboundRouteMapId: Output? = null,
    public val outboundRouteMapId: Output? = null,
    public val propagatedRouteTable: Output? =
        null,
    public val staticVnetLocalRouteOverrideCriteria: Output? = null,
    public val staticVnetRoutes: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.network.inputs.VirtualHubConnectionRoutingArgs =
        com.pulumi.azure.network.inputs.VirtualHubConnectionRoutingArgs.builder()
            .associatedRouteTableId(associatedRouteTableId?.applyValue({ args0 -> args0 }))
            .inboundRouteMapId(inboundRouteMapId?.applyValue({ args0 -> args0 }))
            .outboundRouteMapId(outboundRouteMapId?.applyValue({ args0 -> args0 }))
            .propagatedRouteTable(
                propagatedRouteTable?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .staticVnetLocalRouteOverrideCriteria(
                staticVnetLocalRouteOverrideCriteria?.applyValue({ args0 ->
                    args0
                }),
            )
            .staticVnetRoutes(
                staticVnetRoutes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [VirtualHubConnectionRoutingArgs].
 */
@PulumiTagMarker
public class VirtualHubConnectionRoutingArgsBuilder internal constructor() {
    private var associatedRouteTableId: Output? = null

    private var inboundRouteMapId: Output? = null

    private var outboundRouteMapId: Output? = null

    private var propagatedRouteTable: Output? =
        null

    private var staticVnetLocalRouteOverrideCriteria: Output? = null

    private var staticVnetRoutes: Output>? = null

    /**
     * @param value The ID of the route table associated with this Virtual Hub connection.
     */
    @JvmName("dytfelqgecoicvgd")
    public suspend fun associatedRouteTableId(`value`: Output) {
        this.associatedRouteTableId = value
    }

    /**
     * @param value The resource ID of the Route Map associated with this Routing Configuration for inbound learned routes.
     */
    @JvmName("nqhywsdtauuylrda")
    public suspend fun inboundRouteMapId(`value`: Output) {
        this.inboundRouteMapId = value
    }

    /**
     * @param value The resource ID of the Route Map associated with this Routing Configuration for outbound advertised routes.
     */
    @JvmName("carujxihqxoprxmn")
    public suspend fun outboundRouteMapId(`value`: Output) {
        this.outboundRouteMapId = value
    }

    /**
     * @param value A `propagated_route_table` block as defined below.
     */
    @JvmName("nlogxactakrvhuqy")
    public suspend
    fun propagatedRouteTable(`value`: Output) {
        this.propagatedRouteTable = value
    }

    /**
     * @param value The static VNet local route override criteria that is used to determine whether NVA in spoke VNet is bypassed for traffic with destination in spoke VNet. Possible values are `Contains` and `Equal`. Defaults to `Contains`. Changing this forces a new resource to be created.
     */
    @JvmName("wcwdhqagtucsiqaa")
    public suspend fun staticVnetLocalRouteOverrideCriteria(`value`: Output) {
        this.staticVnetLocalRouteOverrideCriteria = value
    }

    /**
     * @param value A `static_vnet_route` block as defined below.
     */
    @JvmName("dnbpheqombqhlwgj")
    public suspend
    fun staticVnetRoutes(`value`: Output>) {
        this.staticVnetRoutes = value
    }

    @JvmName("huyirduhxwhttnvm")
    public suspend fun staticVnetRoutes(
        vararg
        values: Output,
    ) {
        this.staticVnetRoutes = Output.all(values.asList())
    }

    /**
     * @param values A `static_vnet_route` block as defined below.
     */
    @JvmName("bpfmraiewtjrbmgk")
    public suspend
    fun staticVnetRoutes(values: List>) {
        this.staticVnetRoutes = Output.all(values)
    }

    /**
     * @param value The ID of the route table associated with this Virtual Hub connection.
     */
    @JvmName("xeuessepmsovbbuq")
    public suspend fun associatedRouteTableId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.associatedRouteTableId = mapped
    }

    /**
     * @param value The resource ID of the Route Map associated with this Routing Configuration for inbound learned routes.
     */
    @JvmName("momymwnritowjmqv")
    public suspend fun inboundRouteMapId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.inboundRouteMapId = mapped
    }

    /**
     * @param value The resource ID of the Route Map associated with this Routing Configuration for outbound advertised routes.
     */
    @JvmName("bixwcuddqkxihysa")
    public suspend fun outboundRouteMapId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.outboundRouteMapId = mapped
    }

    /**
     * @param value A `propagated_route_table` block as defined below.
     */
    @JvmName("nldkjvcuymuipiuc")
    public suspend
    fun propagatedRouteTable(`value`: VirtualHubConnectionRoutingPropagatedRouteTableArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.propagatedRouteTable = mapped
    }

    /**
     * @param argument A `propagated_route_table` block as defined below.
     */
    @JvmName("ilndfutumdvgisbj")
    public suspend
    fun propagatedRouteTable(argument: suspend VirtualHubConnectionRoutingPropagatedRouteTableArgsBuilder.() -> Unit) {
        val toBeMapped = VirtualHubConnectionRoutingPropagatedRouteTableArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.propagatedRouteTable = mapped
    }

    /**
     * @param value The static VNet local route override criteria that is used to determine whether NVA in spoke VNet is bypassed for traffic with destination in spoke VNet. Possible values are `Contains` and `Equal`. Defaults to `Contains`. Changing this forces a new resource to be created.
     */
    @JvmName("xyegwsdapebongyn")
    public suspend fun staticVnetLocalRouteOverrideCriteria(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.staticVnetLocalRouteOverrideCriteria = mapped
    }

    /**
     * @param value A `static_vnet_route` block as defined below.
     */
    @JvmName("syasvahiarucntav")
    public suspend
    fun staticVnetRoutes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.staticVnetRoutes = mapped
    }

    /**
     * @param argument A `static_vnet_route` block as defined below.
     */
    @JvmName("qiriutekbojfmwkk")
    public suspend
    fun staticVnetRoutes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            VirtualHubConnectionRoutingStaticVnetRouteArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.staticVnetRoutes = mapped
    }

    /**
     * @param argument A `static_vnet_route` block as defined below.
     */
    @JvmName("gyrqoifgchvrptqp")
    public suspend fun staticVnetRoutes(
        vararg
        argument: suspend VirtualHubConnectionRoutingStaticVnetRouteArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            VirtualHubConnectionRoutingStaticVnetRouteArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.staticVnetRoutes = mapped
    }

    /**
     * @param argument A `static_vnet_route` block as defined below.
     */
    @JvmName("brnylqyswfwxyfjm")
    public suspend
    fun staticVnetRoutes(argument: suspend VirtualHubConnectionRoutingStaticVnetRouteArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            VirtualHubConnectionRoutingStaticVnetRouteArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.staticVnetRoutes = mapped
    }

    /**
     * @param values A `static_vnet_route` block as defined below.
     */
    @JvmName("hjladiggdewtegtp")
    public suspend fun staticVnetRoutes(
        vararg
        values: VirtualHubConnectionRoutingStaticVnetRouteArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.staticVnetRoutes = mapped
    }

    internal fun build(): VirtualHubConnectionRoutingArgs = VirtualHubConnectionRoutingArgs(
        associatedRouteTableId = associatedRouteTableId,
        inboundRouteMapId = inboundRouteMapId,
        outboundRouteMapId = outboundRouteMapId,
        propagatedRouteTable = propagatedRouteTable,
        staticVnetLocalRouteOverrideCriteria = staticVnetLocalRouteOverrideCriteria,
        staticVnetRoutes = staticVnetRoutes,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy