com.pulumi.awsnative.ec2.kotlin.VpnConnectionArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ec2.kotlin
import com.pulumi.awsnative.ec2.VpnConnectionArgs.builder
import com.pulumi.awsnative.ec2.kotlin.inputs.VpnConnectionVpnTunnelOptionsSpecificationArgs
import com.pulumi.awsnative.ec2.kotlin.inputs.VpnConnectionVpnTunnelOptionsSpecificationArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::EC2::VPNConnection
* @property customerGatewayId The ID of the customer gateway at your end of the VPN connection.
* @property staticRoutesOnly Indicates whether the VPN connection uses static routes only.
* @property tags Any tags assigned to the VPN connection.
* @property transitGatewayId The ID of the transit gateway associated with the VPN connection.
* @property type The type of VPN connection.
* @property vpnGatewayId The ID of the virtual private gateway at the AWS side of the VPN connection.
* @property vpnTunnelOptionsSpecifications The tunnel options for the VPN connection.
*/
public data class VpnConnectionArgs(
public val customerGatewayId: Output? = null,
public val staticRoutesOnly: Output? = null,
public val tags: Output>? = null,
public val transitGatewayId: Output? = null,
public val type: Output? = null,
public val vpnGatewayId: Output? = null,
public val vpnTunnelOptionsSpecifications: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ec2.VpnConnectionArgs =
com.pulumi.awsnative.ec2.VpnConnectionArgs.builder()
.customerGatewayId(customerGatewayId?.applyValue({ args0 -> args0 }))
.staticRoutesOnly(staticRoutesOnly?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.transitGatewayId(transitGatewayId?.applyValue({ args0 -> args0 }))
.type(type?.applyValue({ args0 -> args0 }))
.vpnGatewayId(vpnGatewayId?.applyValue({ args0 -> args0 }))
.vpnTunnelOptionsSpecifications(
vpnTunnelOptionsSpecifications?.applyValue({ args0 ->
args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
).build()
}
/**
* Builder for [VpnConnectionArgs].
*/
@PulumiTagMarker
public class VpnConnectionArgsBuilder internal constructor() {
private var customerGatewayId: Output? = null
private var staticRoutesOnly: Output? = null
private var tags: Output>? = null
private var transitGatewayId: Output? = null
private var type: Output? = null
private var vpnGatewayId: Output? = null
private var vpnTunnelOptionsSpecifications:
Output>? = null
/**
* @param value The ID of the customer gateway at your end of the VPN connection.
*/
@JvmName("uyivefglkjdcvdmg")
public suspend fun customerGatewayId(`value`: Output) {
this.customerGatewayId = value
}
/**
* @param value Indicates whether the VPN connection uses static routes only.
*/
@JvmName("gwecuiofksgcrmqo")
public suspend fun staticRoutesOnly(`value`: Output) {
this.staticRoutesOnly = value
}
/**
* @param value Any tags assigned to the VPN connection.
*/
@JvmName("rffgwpsmycpijlhh")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("vnwqftharceapxou")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values Any tags assigned to the VPN connection.
*/
@JvmName("ydulpjwnuggultyk")
public suspend fun tags(values: List