Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.network.kotlin.inputs
import com.pulumi.azurenative.network.inputs.VpnConnectionArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.VirtualNetworkGatewayConnectionProtocol
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
/**
* VpnConnection Resource.
* @property connectionBandwidth Expected bandwidth in MBPS.
* @property dpdTimeoutSeconds DPD timeout in seconds for vpn connection.
* @property enableBgp EnableBgp flag.
* @property enableInternetSecurity Enable internet security.
* @property enableRateLimiting EnableBgp flag.
* @property id Resource ID.
* @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 remoteVpnSite Id of the connected vpn site.
* @property routingConfiguration The Routing Configuration indicating the associated and propagated route tables on this connection.
* @property routingWeight Routing weight for vpn connection.
* @property sharedKey SharedKey for the vpn connection.
* @property trafficSelectorPolicies The Traffic Selector Policies to be considered by this 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 vpnLinkConnections List of all vpn site link connections to the gateway.
*/
public data class VpnConnectionArgs(
public val connectionBandwidth: Output? = null,
public val dpdTimeoutSeconds: Output? = null,
public val enableBgp: Output? = null,
public val enableInternetSecurity: Output? = null,
public val enableRateLimiting: Output? = null,
public val id: Output? = null,
public val ipsecPolicies: Output>? = null,
public val name: Output? = null,
public val remoteVpnSite: Output? = null,
public val routingConfiguration: Output? = null,
public val routingWeight: Output? = null,
public val sharedKey: Output? = null,
public val trafficSelectorPolicies: Output>? = null,
public val useLocalAzureIpAddress: Output? = null,
public val usePolicyBasedTrafficSelectors: Output? = null,
public val vpnConnectionProtocolType: Output>? = null,
public val vpnLinkConnections: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.network.inputs.VpnConnectionArgs =
com.pulumi.azurenative.network.inputs.VpnConnectionArgs.builder()
.connectionBandwidth(connectionBandwidth?.applyValue({ args0 -> args0 }))
.dpdTimeoutSeconds(dpdTimeoutSeconds?.applyValue({ args0 -> args0 }))
.enableBgp(enableBgp?.applyValue({ args0 -> args0 }))
.enableInternetSecurity(enableInternetSecurity?.applyValue({ args0 -> args0 }))
.enableRateLimiting(enableRateLimiting?.applyValue({ args0 -> args0 }))
.id(id?.applyValue({ args0 -> args0 }))
.ipsecPolicies(
ipsecPolicies?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.name(name?.applyValue({ args0 -> args0 }))
.remoteVpnSite(remoteVpnSite?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.routingConfiguration(
routingConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.routingWeight(routingWeight?.applyValue({ args0 -> args0 }))
.sharedKey(sharedKey?.applyValue({ args0 -> args0 }))
.trafficSelectorPolicies(
trafficSelectorPolicies?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.useLocalAzureIpAddress(useLocalAzureIpAddress?.applyValue({ args0 -> args0 }))
.usePolicyBasedTrafficSelectors(usePolicyBasedTrafficSelectors?.applyValue({ args0 -> args0 }))
.vpnConnectionProtocolType(
vpnConnectionProtocolType?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.vpnLinkConnections(
vpnLinkConnections?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
).build()
}
/**
* Builder for [VpnConnectionArgs].
*/
@PulumiTagMarker
public class VpnConnectionArgsBuilder internal constructor() {
private var connectionBandwidth: Output? = null
private var dpdTimeoutSeconds: Output? = null
private var enableBgp: Output? = null
private var enableInternetSecurity: Output? = null
private var enableRateLimiting: Output? = null
private var id: Output? = null
private var ipsecPolicies: Output>? = null
private var name: Output? = null
private var remoteVpnSite: Output? = null
private var routingConfiguration: Output? = null
private var routingWeight: Output? = null
private var sharedKey: Output? = null
private var trafficSelectorPolicies: Output>? = null
private var useLocalAzureIpAddress: Output? = null
private var usePolicyBasedTrafficSelectors: Output? = null
private var vpnConnectionProtocolType:
Output>? = null
private var vpnLinkConnections: Output>? = null
/**
* @param value Expected bandwidth in MBPS.
*/
@JvmName("sbinmtuvwrclowku")
public suspend fun connectionBandwidth(`value`: Output) {
this.connectionBandwidth = value
}
/**
* @param value DPD timeout in seconds for vpn connection.
*/
@JvmName("exnukykfgdxhqrmb")
public suspend fun dpdTimeoutSeconds(`value`: Output) {
this.dpdTimeoutSeconds = value
}
/**
* @param value EnableBgp flag.
*/
@JvmName("pqnsrtipvxxcfmhl")
public suspend fun enableBgp(`value`: Output) {
this.enableBgp = value
}
/**
* @param value Enable internet security.
*/
@JvmName("vllqmtcrleptnybu")
public suspend fun enableInternetSecurity(`value`: Output) {
this.enableInternetSecurity = value
}
/**
* @param value EnableBgp flag.
*/
@JvmName("qbxxymmvcrovvtad")
public suspend fun enableRateLimiting(`value`: Output) {
this.enableRateLimiting = value
}
/**
* @param value Resource ID.
*/
@JvmName("bxspgjbiueofdmmb")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value The IPSec Policies to be considered by this connection.
*/
@JvmName("gmjqnhajwctqmyab")
public suspend fun ipsecPolicies(`value`: Output>) {
this.ipsecPolicies = value
}
@JvmName("jvrlfehupvslrsea")
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("vosdlksyokoiiesb")
public suspend fun ipsecPolicies(values: List