All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.ec2.kotlin.inputs.RouteTableRouteArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.57.0.0
Show newest version
@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