com.pulumi.awsnative.ec2.kotlin.TransitGatewayArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ec2.kotlin
import com.pulumi.awsnative.ec2.TransitGatewayArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::EC2::TransitGateway
* @property amazonSideAsn A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs. The default is 64512.
* @property associationDefaultRouteTableId The ID of the default association route table.
* @property autoAcceptSharedAttachments Enable or disable automatic acceptance of attachment requests. Disabled by default.
* @property defaultRouteTableAssociation Enable or disable automatic association with the default association route table. Enabled by default.
* @property defaultRouteTablePropagation Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.
* @property description The description of the transit gateway.
* @property dnsSupport Enable or disable DNS support. Enabled by default.
* @property multicastSupport Indicates whether multicast is enabled on the transit gateway
* @property propagationDefaultRouteTableId The ID of the default propagation route table.
* @property tags The tags for the transit gateway.
* @property transitGatewayCidrBlocks The transit gateway CIDR blocks.
* @property vpnEcmpSupport Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
*/
public data class TransitGatewayArgs(
public val amazonSideAsn: Output? = null,
public val associationDefaultRouteTableId: Output? = null,
public val autoAcceptSharedAttachments: Output? = null,
public val defaultRouteTableAssociation: Output? = null,
public val defaultRouteTablePropagation: Output? = null,
public val description: Output? = null,
public val dnsSupport: Output? = null,
public val multicastSupport: Output? = null,
public val propagationDefaultRouteTableId: Output? = null,
public val tags: Output>? = null,
public val transitGatewayCidrBlocks: Output>? = null,
public val vpnEcmpSupport: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ec2.TransitGatewayArgs =
com.pulumi.awsnative.ec2.TransitGatewayArgs.builder()
.amazonSideAsn(amazonSideAsn?.applyValue({ args0 -> args0 }))
.associationDefaultRouteTableId(associationDefaultRouteTableId?.applyValue({ args0 -> args0 }))
.autoAcceptSharedAttachments(autoAcceptSharedAttachments?.applyValue({ args0 -> args0 }))
.defaultRouteTableAssociation(defaultRouteTableAssociation?.applyValue({ args0 -> args0 }))
.defaultRouteTablePropagation(defaultRouteTablePropagation?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.dnsSupport(dnsSupport?.applyValue({ args0 -> args0 }))
.multicastSupport(multicastSupport?.applyValue({ args0 -> args0 }))
.propagationDefaultRouteTableId(propagationDefaultRouteTableId?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.transitGatewayCidrBlocks(
transitGatewayCidrBlocks?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.vpnEcmpSupport(vpnEcmpSupport?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [TransitGatewayArgs].
*/
@PulumiTagMarker
public class TransitGatewayArgsBuilder internal constructor() {
private var amazonSideAsn: Output? = null
private var associationDefaultRouteTableId: Output? = null
private var autoAcceptSharedAttachments: Output? = null
private var defaultRouteTableAssociation: Output? = null
private var defaultRouteTablePropagation: Output? = null
private var description: Output? = null
private var dnsSupport: Output? = null
private var multicastSupport: Output? = null
private var propagationDefaultRouteTableId: Output? = null
private var tags: Output>? = null
private var transitGatewayCidrBlocks: Output>? = null
private var vpnEcmpSupport: Output? = null
/**
* @param value A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs. The default is 64512.
*/
@JvmName("iyrqhtvpwgsjqcak")
public suspend fun amazonSideAsn(`value`: Output) {
this.amazonSideAsn = value
}
/**
* @param value The ID of the default association route table.
*/
@JvmName("ativfvvuwhdhfioi")
public suspend fun associationDefaultRouteTableId(`value`: Output) {
this.associationDefaultRouteTableId = value
}
/**
* @param value Enable or disable automatic acceptance of attachment requests. Disabled by default.
*/
@JvmName("achwhnysuasremtg")
public suspend fun autoAcceptSharedAttachments(`value`: Output) {
this.autoAcceptSharedAttachments = value
}
/**
* @param value Enable or disable automatic association with the default association route table. Enabled by default.
*/
@JvmName("dvuijnadqnrisyeu")
public suspend fun defaultRouteTableAssociation(`value`: Output) {
this.defaultRouteTableAssociation = value
}
/**
* @param value Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.
*/
@JvmName("oksqbauthfnycpdv")
public suspend fun defaultRouteTablePropagation(`value`: Output) {
this.defaultRouteTablePropagation = value
}
/**
* @param value The description of the transit gateway.
*/
@JvmName("ydserqndottihytv")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Enable or disable DNS support. Enabled by default.
*/
@JvmName("cfturxwiunrhyjqr")
public suspend fun dnsSupport(`value`: Output) {
this.dnsSupport = value
}
/**
* @param value Indicates whether multicast is enabled on the transit gateway
*/
@JvmName("bhacuegcqqdfldtd")
public suspend fun multicastSupport(`value`: Output) {
this.multicastSupport = value
}
/**
* @param value The ID of the default propagation route table.
*/
@JvmName("gfjgmvtjtshkajme")
public suspend fun propagationDefaultRouteTableId(`value`: Output) {
this.propagationDefaultRouteTableId = value
}
/**
* @param value The tags for the transit gateway.
*/
@JvmName("eyueyenpcwtsmrvx")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("xillfcegwljusnqw")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values The tags for the transit gateway.
*/
@JvmName("tbiqgcbcjblndcfd")
public suspend fun tags(values: List