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

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

package com.pulumi.azurenative.network.kotlin.inputs

import com.pulumi.azurenative.network.inputs.VpnSiteLinkConnectionArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.VirtualNetworkGatewayConnectionProtocol
import com.pulumi.azurenative.network.kotlin.enums.VpnLinkConnectionMode
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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * VpnSiteLinkConnection Resource.
 * @property connectionBandwidth Expected bandwidth in MBPS.
 * @property egressNatRules List of egress NatRules.
 * @property enableBgp EnableBgp flag.
 * @property enableRateLimiting EnableBgp flag.
 * @property id Resource ID.
 * @property ingressNatRules List of ingress NatRules.
 * @property ipsecPolicies The IPSec Policies to be considered by this connection.
 * @property name The name of the resource that is unique within a resource group. This name can be used to access the resource.
 * @property routingWeight Routing weight for vpn connection.
 * @property sharedKey SharedKey for the vpn connection.
 * @property useLocalAzureIpAddress Use local azure ip to initiate connection.
 * @property usePolicyBasedTrafficSelectors Enable policy-based traffic selectors.
 * @property vpnConnectionProtocolType Connection protocol used for this connection.
 * @property vpnGatewayCustomBgpAddresses vpnGatewayCustomBgpAddresses used by this connection.
 * @property vpnLinkConnectionMode Vpn link connection mode.
 * @property vpnSiteLink Id of the connected vpn site link.
 */
public data class VpnSiteLinkConnectionArgs(
    public val connectionBandwidth: Output? = null,
    public val egressNatRules: Output>? = null,
    public val enableBgp: Output? = null,
    public val enableRateLimiting: Output? = null,
    public val id: Output? = null,
    public val ingressNatRules: Output>? = null,
    public val ipsecPolicies: Output>? = null,
    public val name: Output? = null,
    public val routingWeight: Output? = null,
    public val sharedKey: Output? = null,
    public val useLocalAzureIpAddress: Output? = null,
    public val usePolicyBasedTrafficSelectors: Output? = null,
    public val vpnConnectionProtocolType: Output>? = null,
    public val vpnGatewayCustomBgpAddresses: Output>? = null,
    public val vpnLinkConnectionMode: Output>? = null,
    public val vpnSiteLink: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.network.inputs.VpnSiteLinkConnectionArgs =
        com.pulumi.azurenative.network.inputs.VpnSiteLinkConnectionArgs.builder()
            .connectionBandwidth(connectionBandwidth?.applyValue({ args0 -> args0 }))
            .egressNatRules(
                egressNatRules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .enableBgp(enableBgp?.applyValue({ args0 -> args0 }))
            .enableRateLimiting(enableRateLimiting?.applyValue({ args0 -> args0 }))
            .id(id?.applyValue({ args0 -> args0 }))
            .ingressNatRules(
                ingressNatRules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .ipsecPolicies(
                ipsecPolicies?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .name(name?.applyValue({ args0 -> args0 }))
            .routingWeight(routingWeight?.applyValue({ args0 -> args0 }))
            .sharedKey(sharedKey?.applyValue({ args0 -> args0 }))
            .useLocalAzureIpAddress(useLocalAzureIpAddress?.applyValue({ args0 -> args0 }))
            .usePolicyBasedTrafficSelectors(usePolicyBasedTrafficSelectors?.applyValue({ args0 -> args0 }))
            .vpnConnectionProtocolType(
                vpnConnectionProtocolType?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .vpnGatewayCustomBgpAddresses(
                vpnGatewayCustomBgpAddresses?.applyValue({ args0 ->
                    args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .vpnLinkConnectionMode(
                vpnLinkConnectionMode?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .vpnSiteLink(vpnSiteLink?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [VpnSiteLinkConnectionArgs].
 */
@PulumiTagMarker
public class VpnSiteLinkConnectionArgsBuilder internal constructor() {
    private var connectionBandwidth: Output? = null

    private var egressNatRules: Output>? = null

    private var enableBgp: Output? = null

    private var enableRateLimiting: Output? = null

    private var id: Output? = null

    private var ingressNatRules: Output>? = null

    private var ipsecPolicies: Output>? = null

    private var name: Output? = null

    private var routingWeight: Output? = null

    private var sharedKey: Output? = null

    private var useLocalAzureIpAddress: Output? = null

    private var usePolicyBasedTrafficSelectors: Output? = null

    private var vpnConnectionProtocolType:
        Output>? = null

    private var vpnGatewayCustomBgpAddresses:
        Output>? = null

    private var vpnLinkConnectionMode: Output>? = null

    private var vpnSiteLink: Output? = null

    /**
     * @param value Expected bandwidth in MBPS.
     */
    @JvmName("ilwnfhsgqwbsmeyh")
    public suspend fun connectionBandwidth(`value`: Output) {
        this.connectionBandwidth = value
    }

    /**
     * @param value List of egress NatRules.
     */
    @JvmName("hadvnluvjfniulbc")
    public suspend fun egressNatRules(`value`: Output>) {
        this.egressNatRules = value
    }

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

    /**
     * @param values List of egress NatRules.
     */
    @JvmName("btdphbcjkqsidfgs")
    public suspend fun egressNatRules(values: List>) {
        this.egressNatRules = Output.all(values)
    }

    /**
     * @param value EnableBgp flag.
     */
    @JvmName("eoxehlwaoqwetoag")
    public suspend fun enableBgp(`value`: Output) {
        this.enableBgp = value
    }

    /**
     * @param value EnableBgp flag.
     */
    @JvmName("dyyhglbvtgdfindn")
    public suspend fun enableRateLimiting(`value`: Output) {
        this.enableRateLimiting = value
    }

    /**
     * @param value Resource ID.
     */
    @JvmName("dswysqiwvfdeapcb")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value List of ingress NatRules.
     */
    @JvmName("uwusbykuapmdryno")
    public suspend fun ingressNatRules(`value`: Output>) {
        this.ingressNatRules = value
    }

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

    /**
     * @param values List of ingress NatRules.
     */
    @JvmName("ufpkxkplfsqpqkpk")
    public suspend fun ingressNatRules(values: List>) {
        this.ingressNatRules = Output.all(values)
    }

    /**
     * @param value The IPSec Policies to be considered by this connection.
     */
    @JvmName("yyshqeahaqpiibfx")
    public suspend fun ipsecPolicies(`value`: Output>) {
        this.ipsecPolicies = value
    }

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

    /**
     * @param values The IPSec Policies to be considered by this connection.
     */
    @JvmName("dvjrkrmqdkdcrjke")
    public suspend fun ipsecPolicies(values: List>) {
        this.ipsecPolicies = Output.all(values)
    }

    /**
     * @param value The name of the resource that is unique within a resource group. This name can be used to access the resource.
     */
    @JvmName("xsblplklqstitubm")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Routing weight for vpn connection.
     */
    @JvmName("qhwldxvlfsikrjnh")
    public suspend fun routingWeight(`value`: Output) {
        this.routingWeight = value
    }

    /**
     * @param value SharedKey for the vpn connection.
     */
    @JvmName("vrkaxeehyorsbdje")
    public suspend fun sharedKey(`value`: Output) {
        this.sharedKey = value
    }

    /**
     * @param value Use local azure ip to initiate connection.
     */
    @JvmName("eltccphlfjupfhpk")
    public suspend fun useLocalAzureIpAddress(`value`: Output) {
        this.useLocalAzureIpAddress = value
    }

    /**
     * @param value Enable policy-based traffic selectors.
     */
    @JvmName("rfodxybuavpbckdy")
    public suspend fun usePolicyBasedTrafficSelectors(`value`: Output) {
        this.usePolicyBasedTrafficSelectors = value
    }

    /**
     * @param value Connection protocol used for this connection.
     */
    @JvmName("phsewxqfjknutind")
    public suspend fun vpnConnectionProtocolType(`value`: Output>) {
        this.vpnConnectionProtocolType = value
    }

    /**
     * @param value vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("aqoypsgldkvocisc")
    public suspend fun vpnGatewayCustomBgpAddresses(`value`: Output>) {
        this.vpnGatewayCustomBgpAddresses = value
    }

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

    /**
     * @param values vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("gohejtcilxwlpyik")
    public suspend fun vpnGatewayCustomBgpAddresses(values: List>) {
        this.vpnGatewayCustomBgpAddresses = Output.all(values)
    }

    /**
     * @param value Vpn link connection mode.
     */
    @JvmName("qdraxjqmbsculuqc")
    public suspend fun vpnLinkConnectionMode(`value`: Output>) {
        this.vpnLinkConnectionMode = value
    }

    /**
     * @param value Id of the connected vpn site link.
     */
    @JvmName("ivdtqtvdghxuwihy")
    public suspend fun vpnSiteLink(`value`: Output) {
        this.vpnSiteLink = value
    }

    /**
     * @param value Expected bandwidth in MBPS.
     */
    @JvmName("tqjffxcagvuveutw")
    public suspend fun connectionBandwidth(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectionBandwidth = mapped
    }

    /**
     * @param value List of egress NatRules.
     */
    @JvmName("mskaeusnvxjamfen")
    public suspend fun egressNatRules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.egressNatRules = mapped
    }

    /**
     * @param argument List of egress NatRules.
     */
    @JvmName("hjcfsyybgdvylasg")
    public suspend fun egressNatRules(argument: List Unit>) {
        val toBeMapped = argument.toList().map { SubResourceArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.egressNatRules = mapped
    }

    /**
     * @param argument List of egress NatRules.
     */
    @JvmName("augyfpxqonnflces")
    public suspend fun egressNatRules(vararg argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { SubResourceArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.egressNatRules = mapped
    }

    /**
     * @param argument List of egress NatRules.
     */
    @JvmName("gqpcctsbkffybqvs")
    public suspend fun egressNatRules(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(SubResourceArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.egressNatRules = mapped
    }

    /**
     * @param values List of egress NatRules.
     */
    @JvmName("sbvxulhqlbjcqcuu")
    public suspend fun egressNatRules(vararg values: SubResourceArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.egressNatRules = mapped
    }

    /**
     * @param value EnableBgp flag.
     */
    @JvmName("roceyjkabdvfigli")
    public suspend fun enableBgp(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableBgp = mapped
    }

    /**
     * @param value EnableBgp flag.
     */
    @JvmName("ewjjvtmwpwyajqxm")
    public suspend fun enableRateLimiting(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableRateLimiting = mapped
    }

    /**
     * @param value Resource ID.
     */
    @JvmName("ukitnecmtujdamus")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value List of ingress NatRules.
     */
    @JvmName("nanmiotdlpyeiilv")
    public suspend fun ingressNatRules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ingressNatRules = mapped
    }

    /**
     * @param argument List of ingress NatRules.
     */
    @JvmName("kgukddvvfnthqill")
    public suspend fun ingressNatRules(argument: List Unit>) {
        val toBeMapped = argument.toList().map { SubResourceArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.ingressNatRules = mapped
    }

    /**
     * @param argument List of ingress NatRules.
     */
    @JvmName("fymkbjccvoufapwf")
    public suspend fun ingressNatRules(vararg argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { SubResourceArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.ingressNatRules = mapped
    }

    /**
     * @param argument List of ingress NatRules.
     */
    @JvmName("gcumjvxhqekoidct")
    public suspend fun ingressNatRules(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(SubResourceArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.ingressNatRules = mapped
    }

    /**
     * @param values List of ingress NatRules.
     */
    @JvmName("gtfuwlpqivpxnutt")
    public suspend fun ingressNatRules(vararg values: SubResourceArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ingressNatRules = mapped
    }

    /**
     * @param value The IPSec Policies to be considered by this connection.
     */
    @JvmName("wwiqvebqypydgxtq")
    public suspend fun ipsecPolicies(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ipsecPolicies = mapped
    }

    /**
     * @param argument The IPSec Policies to be considered by this connection.
     */
    @JvmName("oufbndomtnwyjpui")
    public suspend fun ipsecPolicies(argument: List Unit>) {
        val toBeMapped = argument.toList().map { IpsecPolicyArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.ipsecPolicies = mapped
    }

    /**
     * @param argument The IPSec Policies to be considered by this connection.
     */
    @JvmName("gxajyxnjjgmygban")
    public suspend fun ipsecPolicies(vararg argument: suspend IpsecPolicyArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { IpsecPolicyArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.ipsecPolicies = mapped
    }

    /**
     * @param argument The IPSec Policies to be considered by this connection.
     */
    @JvmName("glxyhivwrihujqnl")
    public suspend fun ipsecPolicies(argument: suspend IpsecPolicyArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(IpsecPolicyArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.ipsecPolicies = mapped
    }

    /**
     * @param values The IPSec Policies to be considered by this connection.
     */
    @JvmName("kccexalksupomtsm")
    public suspend fun ipsecPolicies(vararg values: IpsecPolicyArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ipsecPolicies = mapped
    }

    /**
     * @param value The name of the resource that is unique within a resource group. This name can be used to access the resource.
     */
    @JvmName("jfcgskkliyejecqg")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Routing weight for vpn connection.
     */
    @JvmName("heagwfuveqxmpnmc")
    public suspend fun routingWeight(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.routingWeight = mapped
    }

    /**
     * @param value SharedKey for the vpn connection.
     */
    @JvmName("gbhocuadocmjthrh")
    public suspend fun sharedKey(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sharedKey = mapped
    }

    /**
     * @param value Use local azure ip to initiate connection.
     */
    @JvmName("gthdkmlfanmwkinq")
    public suspend fun useLocalAzureIpAddress(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useLocalAzureIpAddress = mapped
    }

    /**
     * @param value Enable policy-based traffic selectors.
     */
    @JvmName("ffewfvboqqabmmig")
    public suspend fun usePolicyBasedTrafficSelectors(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.usePolicyBasedTrafficSelectors = mapped
    }

    /**
     * @param value Connection protocol used for this connection.
     */
    @JvmName("ewhvkuofpwqnqoag")
    public suspend fun vpnConnectionProtocolType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vpnConnectionProtocolType = mapped
    }

    /**
     * @param value Connection protocol used for this connection.
     */
    @JvmName("wadtlcnnggnaueal")
    public fun vpnConnectionProtocolType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpnConnectionProtocolType = mapped
    }

    /**
     * @param value Connection protocol used for this connection.
     */
    @JvmName("ucvlywsmnhnfoigy")
    public fun vpnConnectionProtocolType(`value`: VirtualNetworkGatewayConnectionProtocol) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpnConnectionProtocolType = mapped
    }

    /**
     * @param value vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("ddfeqsnpbdlqmxbc")
    public suspend fun vpnGatewayCustomBgpAddresses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vpnGatewayCustomBgpAddresses = mapped
    }

    /**
     * @param argument vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("kpfnlkysaprwiaou")
    public suspend fun vpnGatewayCustomBgpAddresses(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            GatewayCustomBgpIpAddressIpConfigurationArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.vpnGatewayCustomBgpAddresses = mapped
    }

    /**
     * @param argument vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("rcosowvqjmrmmpdd")
    public suspend fun vpnGatewayCustomBgpAddresses(vararg argument: suspend GatewayCustomBgpIpAddressIpConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            GatewayCustomBgpIpAddressIpConfigurationArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.vpnGatewayCustomBgpAddresses = mapped
    }

    /**
     * @param argument vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("hpxyekwbfvwhxcte")
    public suspend fun vpnGatewayCustomBgpAddresses(argument: suspend GatewayCustomBgpIpAddressIpConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            GatewayCustomBgpIpAddressIpConfigurationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.vpnGatewayCustomBgpAddresses = mapped
    }

    /**
     * @param values vpnGatewayCustomBgpAddresses used by this connection.
     */
    @JvmName("ameecofkokaaugwo")
    public suspend fun vpnGatewayCustomBgpAddresses(vararg values: GatewayCustomBgpIpAddressIpConfigurationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpnGatewayCustomBgpAddresses = mapped
    }

    /**
     * @param value Vpn link connection mode.
     */
    @JvmName("jfudhqnulsjqwckb")
    public suspend fun vpnLinkConnectionMode(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vpnLinkConnectionMode = mapped
    }

    /**
     * @param value Vpn link connection mode.
     */
    @JvmName("xmhocwgtyqdgakht")
    public fun vpnLinkConnectionMode(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpnLinkConnectionMode = mapped
    }

    /**
     * @param value Vpn link connection mode.
     */
    @JvmName("pqmprlxshkaojjxq")
    public fun vpnLinkConnectionMode(`value`: VpnLinkConnectionMode) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpnLinkConnectionMode = mapped
    }

    /**
     * @param value Id of the connected vpn site link.
     */
    @JvmName("qymemgylbawgedcc")
    public suspend fun vpnSiteLink(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vpnSiteLink = mapped
    }

    /**
     * @param argument Id of the connected vpn site link.
     */
    @JvmName("fuymgntjasntlove")
    public suspend fun vpnSiteLink(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.vpnSiteLink = mapped
    }

    internal fun build(): VpnSiteLinkConnectionArgs = VpnSiteLinkConnectionArgs(
        connectionBandwidth = connectionBandwidth,
        egressNatRules = egressNatRules,
        enableBgp = enableBgp,
        enableRateLimiting = enableRateLimiting,
        id = id,
        ingressNatRules = ingressNatRules,
        ipsecPolicies = ipsecPolicies,
        name = name,
        routingWeight = routingWeight,
        sharedKey = sharedKey,
        useLocalAzureIpAddress = useLocalAzureIpAddress,
        usePolicyBasedTrafficSelectors = usePolicyBasedTrafficSelectors,
        vpnConnectionProtocolType = vpnConnectionProtocolType,
        vpnGatewayCustomBgpAddresses = vpnGatewayCustomBgpAddresses,
        vpnLinkConnectionMode = vpnLinkConnectionMode,
        vpnSiteLink = vpnSiteLink,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy