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

com.pulumi.azure.network.kotlin.inputs.PointToPointVpnGatewayConnectionConfigurationRouteArgs.kt Maven / Gradle / Ivy

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

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

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

/**
 *
 * @property associatedRouteTableId The Virtual Hub Route Table resource id associated with this Routing Configuration.
 * @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.
 */
public data class PointToPointVpnGatewayConnectionConfigurationRouteArgs(
    public val associatedRouteTableId: Output,
    public val inboundRouteMapId: Output? = null,
    public val outboundRouteMapId: Output? = null,
    public val propagatedRouteTable:
    Output? = null,
) :
    ConvertibleToJava {
    override fun toJava():
        com.pulumi.azure.network.inputs.PointToPointVpnGatewayConnectionConfigurationRouteArgs =
        com.pulumi.azure.network.inputs.PointToPointVpnGatewayConnectionConfigurationRouteArgs.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()
                    })
                }),
            ).build()
}

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

    private var inboundRouteMapId: Output? = null

    private var outboundRouteMapId: Output? = null

    private var propagatedRouteTable:
        Output? = null

    /**
     * @param value The Virtual Hub Route Table resource id associated with this Routing Configuration.
     */
    @JvmName("scmflgtimipgdpmb")
    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("kenovcytbpwincti")
    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("qibmttqulvyovwpr")
    public suspend fun outboundRouteMapId(`value`: Output) {
        this.outboundRouteMapId = value
    }

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

    /**
     * @param value The Virtual Hub Route Table resource id associated with this Routing Configuration.
     */
    @JvmName("soaqgggjpmnarmxq")
    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("proysdyxtbagxwxu")
    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("hsyrgnpqaviduyvq")
    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("ibartcscryexevmk")
    public suspend
    fun propagatedRouteTable(`value`: PointToPointVpnGatewayConnectionConfigurationRoutePropagatedRouteTableArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.propagatedRouteTable = mapped
    }

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

    internal fun build(): PointToPointVpnGatewayConnectionConfigurationRouteArgs =
        PointToPointVpnGatewayConnectionConfigurationRouteArgs(
            associatedRouteTableId = associatedRouteTableId ?: throw
                PulumiNullFieldException("associatedRouteTableId"),
            inboundRouteMapId = inboundRouteMapId,
            outboundRouteMapId = outboundRouteMapId,
            propagatedRouteTable = propagatedRouteTable,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy