com.pulumi.aws.ec2.kotlin.inputs.RouteTableRouteArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-kotlin Show documentation
Show all versions of pulumi-aws-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.aws.ec2.kotlin.inputs
import com.pulumi.aws.ec2.inputs.RouteTableRouteArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property carrierGatewayId Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone.
* @property cidrBlock The CIDR block of the route.
* @property coreNetworkArn The Amazon Resource Name (ARN) of a core network.
* @property destinationPrefixListId The ID of a managed prefix list destination of the route.
* One of the following target arguments must be supplied:
* @property egressOnlyGatewayId Identifier of a VPC Egress Only Internet Gateway.
* @property gatewayId Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above.
* @property ipv6CidrBlock The Ipv6 CIDR block of the route.
* @property localGatewayId Identifier of a Outpost local gateway.
* @property natGatewayId Identifier of a VPC NAT gateway.
* @property networkInterfaceId Identifier of an EC2 network interface.
* @property transitGatewayId Identifier of an EC2 Transit Gateway.
* @property vpcEndpointId Identifier of a VPC Endpoint.
* @property vpcPeeringConnectionId Identifier of a VPC peering connection.
* Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified.
*/
public data class RouteTableRouteArgs(
public val carrierGatewayId: Output? = null,
public val cidrBlock: Output? = null,
public val coreNetworkArn: Output? = null,
public val destinationPrefixListId: Output? = null,
public val egressOnlyGatewayId: Output? = null,
public val gatewayId: Output? = null,
public val ipv6CidrBlock: Output? = null,
public val localGatewayId: Output? = null,
public val natGatewayId: Output? = null,
public val networkInterfaceId: Output? = null,
public val transitGatewayId: Output? = null,
public val vpcEndpointId: Output? = null,
public val vpcPeeringConnectionId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.ec2.inputs.RouteTableRouteArgs =
com.pulumi.aws.ec2.inputs.RouteTableRouteArgs.builder()
.carrierGatewayId(carrierGatewayId?.applyValue({ args0 -> args0 }))
.cidrBlock(cidrBlock?.applyValue({ args0 -> args0 }))
.coreNetworkArn(coreNetworkArn?.applyValue({ args0 -> args0 }))
.destinationPrefixListId(destinationPrefixListId?.applyValue({ args0 -> args0 }))
.egressOnlyGatewayId(egressOnlyGatewayId?.applyValue({ args0 -> args0 }))
.gatewayId(gatewayId?.applyValue({ args0 -> args0 }))
.ipv6CidrBlock(ipv6CidrBlock?.applyValue({ args0 -> args0 }))
.localGatewayId(localGatewayId?.applyValue({ args0 -> args0 }))
.natGatewayId(natGatewayId?.applyValue({ args0 -> args0 }))
.networkInterfaceId(networkInterfaceId?.applyValue({ args0 -> args0 }))
.transitGatewayId(transitGatewayId?.applyValue({ args0 -> args0 }))
.vpcEndpointId(vpcEndpointId?.applyValue({ args0 -> args0 }))
.vpcPeeringConnectionId(vpcPeeringConnectionId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RouteTableRouteArgs].
*/
@PulumiTagMarker
public class RouteTableRouteArgsBuilder internal constructor() {
private var carrierGatewayId: Output? = null
private var cidrBlock: Output? = null
private var coreNetworkArn: Output? = null
private var destinationPrefixListId: Output? = null
private var egressOnlyGatewayId: Output? = null
private var gatewayId: Output? = null
private var ipv6CidrBlock: Output? = null
private var localGatewayId: Output? = null
private var natGatewayId: Output? = null
private var networkInterfaceId: Output? = null
private var transitGatewayId: Output? = null
private var vpcEndpointId: Output? = null
private var vpcPeeringConnectionId: Output? = null
/**
* @param value Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone.
*/
@JvmName("lcuswirqkmksyugv")
public suspend fun carrierGatewayId(`value`: Output) {
this.carrierGatewayId = value
}
/**
* @param value The CIDR block of the route.
*/
@JvmName("aaoiyxdikidoitrk")
public suspend fun cidrBlock(`value`: Output) {
this.cidrBlock = value
}
/**
* @param value The Amazon Resource Name (ARN) of a core network.
*/
@JvmName("bkurpdjbydywubil")
public suspend fun coreNetworkArn(`value`: Output) {
this.coreNetworkArn = value
}
/**
* @param value The ID of a managed prefix list destination of the route.
* One of the following target arguments must be supplied:
*/
@JvmName("rndpxrpotujjosji")
public suspend fun destinationPrefixListId(`value`: Output) {
this.destinationPrefixListId = value
}
/**
* @param value Identifier of a VPC Egress Only Internet Gateway.
*/
@JvmName("fqjtiajdqtxxictc")
public suspend fun egressOnlyGatewayId(`value`: Output) {
this.egressOnlyGatewayId = value
}
/**
* @param value Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above.
*/
@JvmName("rdcroeplvbrjlmpq")
public suspend fun gatewayId(`value`: Output) {
this.gatewayId = value
}
/**
* @param value The Ipv6 CIDR block of the route.
*/
@JvmName("mumpmmuluqqflyrp")
public suspend fun ipv6CidrBlock(`value`: Output) {
this.ipv6CidrBlock = value
}
/**
* @param value Identifier of a Outpost local gateway.
*/
@JvmName("crtpfigiitfkhqtf")
public suspend fun localGatewayId(`value`: Output) {
this.localGatewayId = value
}
/**
* @param value Identifier of a VPC NAT gateway.
*/
@JvmName("nqlfdxiconlptxyd")
public suspend fun natGatewayId(`value`: Output) {
this.natGatewayId = value
}
/**
* @param value Identifier of an EC2 network interface.
*/
@JvmName("rdrljwwpedjjmbyg")
public suspend fun networkInterfaceId(`value`: Output) {
this.networkInterfaceId = value
}
/**
* @param value Identifier of an EC2 Transit Gateway.
*/
@JvmName("vfnildaugfckrxbk")
public suspend fun transitGatewayId(`value`: Output) {
this.transitGatewayId = value
}
/**
* @param value Identifier of a VPC Endpoint.
*/
@JvmName("vypuqxnkwvmnrysd")
public suspend fun vpcEndpointId(`value`: Output) {
this.vpcEndpointId = value
}
/**
* @param value Identifier of a VPC peering connection.
* Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified.
*/
@JvmName("glhapdccfhuyaoor")
public suspend fun vpcPeeringConnectionId(`value`: Output) {
this.vpcPeeringConnectionId = value
}
/**
* @param value Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone.
*/
@JvmName("drqwvrufblnckgeg")
public suspend fun carrierGatewayId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.carrierGatewayId = mapped
}
/**
* @param value The CIDR block of the route.
*/
@JvmName("rnvycanwlfblcbce")
public suspend fun cidrBlock(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cidrBlock = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of a core network.
*/
@JvmName("dwvqkjkbhrengcnr")
public suspend fun coreNetworkArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.coreNetworkArn = mapped
}
/**
* @param value The ID of a managed prefix list destination of the route.
* One of the following target arguments must be supplied:
*/
@JvmName("bjjyjsjmlgiwwaip")
public suspend fun destinationPrefixListId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destinationPrefixListId = mapped
}
/**
* @param value Identifier of a VPC Egress Only Internet Gateway.
*/
@JvmName("lbllxgxcufgybwlx")
public suspend fun egressOnlyGatewayId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.egressOnlyGatewayId = mapped
}
/**
* @param value Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above.
*/
@JvmName("lfgyuarkiqdolfux")
public suspend fun gatewayId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gatewayId = mapped
}
/**
* @param value The Ipv6 CIDR block of the route.
*/
@JvmName("srjqlnukmruxkkgu")
public suspend fun ipv6CidrBlock(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ipv6CidrBlock = mapped
}
/**
* @param value Identifier of a Outpost local gateway.
*/
@JvmName("nuafftgwfryafmvv")
public suspend fun localGatewayId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.localGatewayId = mapped
}
/**
* @param value Identifier of a VPC NAT gateway.
*/
@JvmName("tqpxurtsrvxdbire")
public suspend fun natGatewayId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.natGatewayId = mapped
}
/**
* @param value Identifier of an EC2 network interface.
*/
@JvmName("mmeigsckeloaljxx")
public suspend fun networkInterfaceId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.networkInterfaceId = mapped
}
/**
* @param value Identifier of an EC2 Transit Gateway.
*/
@JvmName("dkuymlsxcgrelobm")
public suspend fun transitGatewayId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.transitGatewayId = mapped
}
/**
* @param value Identifier of a VPC Endpoint.
*/
@JvmName("okyhsmvdyvradstc")
public suspend fun vpcEndpointId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcEndpointId = mapped
}
/**
* @param value Identifier of a VPC peering connection.
* Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified.
*/
@JvmName("eqdakaygvjggebby")
public suspend fun vpcPeeringConnectionId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcPeeringConnectionId = mapped
}
internal fun build(): RouteTableRouteArgs = RouteTableRouteArgs(
carrierGatewayId = carrierGatewayId,
cidrBlock = cidrBlock,
coreNetworkArn = coreNetworkArn,
destinationPrefixListId = destinationPrefixListId,
egressOnlyGatewayId = egressOnlyGatewayId,
gatewayId = gatewayId,
ipv6CidrBlock = ipv6CidrBlock,
localGatewayId = localGatewayId,
natGatewayId = natGatewayId,
networkInterfaceId = networkInterfaceId,
transitGatewayId = transitGatewayId,
vpcEndpointId = vpcEndpointId,
vpcPeeringConnectionId = vpcPeeringConnectionId,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy