com.pulumi.awsnative.ec2.kotlin.CustomerGatewayArgs.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.CustomerGatewayArgs.builder
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.Double
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Specifies a customer gateway.
* @property bgpAsn For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.
* Default: 65000
* Valid values: ``1`` to ``2,147,483,647``
* @property bgpAsnExtended For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.
* Valid values: ``2,147,483,648`` to ``4,294,967,295``
* @property certificateArn The Amazon Resource Name (ARN) for the customer gateway certificate.
* @property deviceName The name of customer gateway device.
* @property ipAddress IPv4 address for the customer gateway device's outside interface. The address must be static. If ``OutsideIpAddressType`` in your VPN connection options is set to ``PrivateIpv4``, you can use an RFC6598 or RFC1918 private IPv4 address. If ``OutsideIpAddressType`` is set to ``PublicIpv4``, you can use a public IPv4 address.
* @property tags One or more tags for the customer gateway.
* @property type The type of VPN connection that this customer gateway supports (``ipsec.1``).
*/
public data class CustomerGatewayArgs(
public val bgpAsn: Output? = null,
public val bgpAsnExtended: Output? = null,
public val certificateArn: Output? = null,
public val deviceName: Output? = null,
public val ipAddress: Output? = null,
public val tags: Output>? = null,
public val type: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ec2.CustomerGatewayArgs =
com.pulumi.awsnative.ec2.CustomerGatewayArgs.builder()
.bgpAsn(bgpAsn?.applyValue({ args0 -> args0 }))
.bgpAsnExtended(bgpAsnExtended?.applyValue({ args0 -> args0 }))
.certificateArn(certificateArn?.applyValue({ args0 -> args0 }))
.deviceName(deviceName?.applyValue({ args0 -> args0 }))
.ipAddress(ipAddress?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.type(type?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [CustomerGatewayArgs].
*/
@PulumiTagMarker
public class CustomerGatewayArgsBuilder internal constructor() {
private var bgpAsn: Output? = null
private var bgpAsnExtended: Output? = null
private var certificateArn: Output? = null
private var deviceName: Output? = null
private var ipAddress: Output? = null
private var tags: Output>? = null
private var type: Output? = null
/**
* @param value For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.
* Default: 65000
* Valid values: ``1`` to ``2,147,483,647``
*/
@JvmName("dmlchbxljekgvxio")
public suspend fun bgpAsn(`value`: Output) {
this.bgpAsn = value
}
/**
* @param value For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.
* Valid values: ``2,147,483,648`` to ``4,294,967,295``
*/
@JvmName("odbtkpsohurexegu")
public suspend fun bgpAsnExtended(`value`: Output) {
this.bgpAsnExtended = value
}
/**
* @param value The Amazon Resource Name (ARN) for the customer gateway certificate.
*/
@JvmName("yxhjfqvxdhjvldpd")
public suspend fun certificateArn(`value`: Output) {
this.certificateArn = value
}
/**
* @param value The name of customer gateway device.
*/
@JvmName("ejdfbaavsqkaasfx")
public suspend fun deviceName(`value`: Output) {
this.deviceName = value
}
/**
* @param value IPv4 address for the customer gateway device's outside interface. The address must be static. If ``OutsideIpAddressType`` in your VPN connection options is set to ``PrivateIpv4``, you can use an RFC6598 or RFC1918 private IPv4 address. If ``OutsideIpAddressType`` is set to ``PublicIpv4``, you can use a public IPv4 address.
*/
@JvmName("opnkultivptnqdjl")
public suspend fun ipAddress(`value`: Output) {
this.ipAddress = value
}
/**
* @param value One or more tags for the customer gateway.
*/
@JvmName("ssmabnnstbbopmaw")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("tdrvrhkxiemqdaca")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values One or more tags for the customer gateway.
*/
@JvmName("xhcdxbjsrnntkcoo")
public suspend fun tags(values: List