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.IpsecPolicyArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.DhGroup
import com.pulumi.azurenative.network.kotlin.enums.IkeEncryption
import com.pulumi.azurenative.network.kotlin.enums.IkeIntegrity
import com.pulumi.azurenative.network.kotlin.enums.IpsecEncryption
import com.pulumi.azurenative.network.kotlin.enums.IpsecIntegrity
import com.pulumi.azurenative.network.kotlin.enums.PfsGroup
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.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* An IPSec Policy configuration for a virtual network gateway connection.
* @property dhGroup The DH Group used in IKE Phase 1 for initial SA.
* @property ikeEncryption The IKE encryption algorithm (IKE phase 2).
* @property ikeIntegrity The IKE integrity algorithm (IKE phase 2).
* @property ipsecEncryption The IPSec encryption algorithm (IKE phase 1).
* @property ipsecIntegrity The IPSec integrity algorithm (IKE phase 1).
* @property pfsGroup The Pfs Group used in IKE Phase 2 for new child SA.
* @property saDataSizeKilobytes The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel.
* @property saLifeTimeSeconds The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel.
*/
public data class IpsecPolicyArgs(
public val dhGroup: Output>,
public val ikeEncryption: Output>,
public val ikeIntegrity: Output>,
public val ipsecEncryption: Output>,
public val ipsecIntegrity: Output>,
public val pfsGroup: Output>,
public val saDataSizeKilobytes: Output,
public val saLifeTimeSeconds: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.network.inputs.IpsecPolicyArgs =
com.pulumi.azurenative.network.inputs.IpsecPolicyArgs.builder()
.dhGroup(
dhGroup.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.ikeEncryption(
ikeEncryption.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.ikeIntegrity(
ikeIntegrity.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.ipsecEncryption(
ipsecEncryption.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.ipsecIntegrity(
ipsecIntegrity.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.pfsGroup(
pfsGroup.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.saDataSizeKilobytes(saDataSizeKilobytes.applyValue({ args0 -> args0 }))
.saLifeTimeSeconds(saLifeTimeSeconds.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [IpsecPolicyArgs].
*/
@PulumiTagMarker
public class IpsecPolicyArgsBuilder internal constructor() {
private var dhGroup: Output>? = null
private var ikeEncryption: Output>? = null
private var ikeIntegrity: Output>? = null
private var ipsecEncryption: Output>? = null
private var ipsecIntegrity: Output>? = null
private var pfsGroup: Output>? = null
private var saDataSizeKilobytes: Output? = null
private var saLifeTimeSeconds: Output? = null
/**
* @param value The DH Group used in IKE Phase 1 for initial SA.
*/
@JvmName("bgcjeoevcxgjdyhc")
public suspend fun dhGroup(`value`: Output>) {
this.dhGroup = value
}
/**
* @param value The IKE encryption algorithm (IKE phase 2).
*/
@JvmName("hdsblctqxkbbovjk")
public suspend fun ikeEncryption(`value`: Output>) {
this.ikeEncryption = value
}
/**
* @param value The IKE integrity algorithm (IKE phase 2).
*/
@JvmName("eegwbbxvnhjjypko")
public suspend fun ikeIntegrity(`value`: Output>) {
this.ikeIntegrity = value
}
/**
* @param value The IPSec encryption algorithm (IKE phase 1).
*/
@JvmName("aplpyhiioddiswlg")
public suspend fun ipsecEncryption(`value`: Output>) {
this.ipsecEncryption = value
}
/**
* @param value The IPSec integrity algorithm (IKE phase 1).
*/
@JvmName("nwjrxbfulxbfthui")
public suspend fun ipsecIntegrity(`value`: Output>) {
this.ipsecIntegrity = value
}
/**
* @param value The Pfs Group used in IKE Phase 2 for new child SA.
*/
@JvmName("hqwjegqwfkbhesvc")
public suspend fun pfsGroup(`value`: Output>) {
this.pfsGroup = value
}
/**
* @param value The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel.
*/
@JvmName("hinkxbaxgunsjvmy")
public suspend fun saDataSizeKilobytes(`value`: Output) {
this.saDataSizeKilobytes = value
}
/**
* @param value The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel.
*/
@JvmName("tgpbkgvndxauqnbj")
public suspend fun saLifeTimeSeconds(`value`: Output) {
this.saLifeTimeSeconds = value
}
/**
* @param value The DH Group used in IKE Phase 1 for initial SA.
*/
@JvmName("igkumgvdfwjxpuka")
public suspend fun dhGroup(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dhGroup = mapped
}
/**
* @param value The DH Group used in IKE Phase 1 for initial SA.
*/
@JvmName("ojgcymyluonnqrho")
public fun dhGroup(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dhGroup = mapped
}
/**
* @param value The DH Group used in IKE Phase 1 for initial SA.
*/
@JvmName("obgqnrscjuahbobi")
public fun dhGroup(`value`: DhGroup) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dhGroup = mapped
}
/**
* @param value The IKE encryption algorithm (IKE phase 2).
*/
@JvmName("oshahyjcwhbmcpsa")
public suspend fun ikeEncryption(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ikeEncryption = mapped
}
/**
* @param value The IKE encryption algorithm (IKE phase 2).
*/
@JvmName("ryoooyrijwdjwawg")
public fun ikeEncryption(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ikeEncryption = mapped
}
/**
* @param value The IKE encryption algorithm (IKE phase 2).
*/
@JvmName("pkmbuqrhyckaajch")
public fun ikeEncryption(`value`: IkeEncryption) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ikeEncryption = mapped
}
/**
* @param value The IKE integrity algorithm (IKE phase 2).
*/
@JvmName("mhlglaqyotjyqaji")
public suspend fun ikeIntegrity(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ikeIntegrity = mapped
}
/**
* @param value The IKE integrity algorithm (IKE phase 2).
*/
@JvmName("rvlgpjtqvkxgspdj")
public fun ikeIntegrity(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ikeIntegrity = mapped
}
/**
* @param value The IKE integrity algorithm (IKE phase 2).
*/
@JvmName("rddwwgwnhvvqbcsu")
public fun ikeIntegrity(`value`: IkeIntegrity) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ikeIntegrity = mapped
}
/**
* @param value The IPSec encryption algorithm (IKE phase 1).
*/
@JvmName("mikxhvksilpfsvgo")
public suspend fun ipsecEncryption(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ipsecEncryption = mapped
}
/**
* @param value The IPSec encryption algorithm (IKE phase 1).
*/
@JvmName("kpedaajfabgeufdt")
public fun ipsecEncryption(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ipsecEncryption = mapped
}
/**
* @param value The IPSec encryption algorithm (IKE phase 1).
*/
@JvmName("jxoahembjgncyknu")
public fun ipsecEncryption(`value`: IpsecEncryption) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ipsecEncryption = mapped
}
/**
* @param value The IPSec integrity algorithm (IKE phase 1).
*/
@JvmName("meogmpxvpwnahisr")
public suspend fun ipsecIntegrity(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ipsecIntegrity = mapped
}
/**
* @param value The IPSec integrity algorithm (IKE phase 1).
*/
@JvmName("wfrnadcivuwhcdot")
public fun ipsecIntegrity(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ipsecIntegrity = mapped
}
/**
* @param value The IPSec integrity algorithm (IKE phase 1).
*/
@JvmName("toonqutnsicxrirj")
public fun ipsecIntegrity(`value`: IpsecIntegrity) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ipsecIntegrity = mapped
}
/**
* @param value The Pfs Group used in IKE Phase 2 for new child SA.
*/
@JvmName("upmftcluilrrwill")
public suspend fun pfsGroup(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pfsGroup = mapped
}
/**
* @param value The Pfs Group used in IKE Phase 2 for new child SA.
*/
@JvmName("fxjtddnjnflgwfev")
public fun pfsGroup(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pfsGroup = mapped
}
/**
* @param value The Pfs Group used in IKE Phase 2 for new child SA.
*/
@JvmName("aymotcpglfunmbiu")
public fun pfsGroup(`value`: PfsGroup) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pfsGroup = mapped
}
/**
* @param value The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel.
*/
@JvmName("nqynklwrpultbdkk")
public suspend fun saDataSizeKilobytes(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.saDataSizeKilobytes = mapped
}
/**
* @param value The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel.
*/
@JvmName("gwcykjcbvpinxhac")
public suspend fun saLifeTimeSeconds(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.saLifeTimeSeconds = mapped
}
internal fun build(): IpsecPolicyArgs = IpsecPolicyArgs(
dhGroup = dhGroup ?: throw PulumiNullFieldException("dhGroup"),
ikeEncryption = ikeEncryption ?: throw PulumiNullFieldException("ikeEncryption"),
ikeIntegrity = ikeIntegrity ?: throw PulumiNullFieldException("ikeIntegrity"),
ipsecEncryption = ipsecEncryption ?: throw PulumiNullFieldException("ipsecEncryption"),
ipsecIntegrity = ipsecIntegrity ?: throw PulumiNullFieldException("ipsecIntegrity"),
pfsGroup = pfsGroup ?: throw PulumiNullFieldException("pfsGroup"),
saDataSizeKilobytes = saDataSizeKilobytes ?: throw PulumiNullFieldException("saDataSizeKilobytes"),
saLifeTimeSeconds = saLifeTimeSeconds ?: throw PulumiNullFieldException("saLifeTimeSeconds"),
)
}