Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.network.kotlin.inputs.ExpressRouteCircuitPeeringArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.network.kotlin.inputs
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitPeeringArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.ExpressRoutePeeringState
import com.pulumi.azurenative.network.kotlin.enums.ExpressRoutePeeringType
import com.pulumi.core.Either
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
/**
* Peering in an ExpressRouteCircuit resource.
* @property azureASN The Azure ASN.
* @property connections The list of circuit connections associated with Azure Private Peering for this circuit.
* @property gatewayManagerEtag The GatewayManager Etag.
* @property id Resource ID.
* @property ipv6PeeringConfig The IPv6 peering configuration.
* @property microsoftPeeringConfig The Microsoft peering configuration.
* @property name The name of the resource that is unique within a resource group. This name can be used to access the resource.
* @property peerASN The peer ASN.
* @property peeringType The peering type.
* @property primaryAzurePort The primary port.
* @property primaryPeerAddressPrefix The primary address prefix.
* @property routeFilter The reference to the RouteFilter resource.
* @property secondaryAzurePort The secondary port.
* @property secondaryPeerAddressPrefix The secondary address prefix.
* @property sharedKey The shared key.
* @property state The peering state.
* @property stats The peering stats of express route circuit.
* @property vlanId The VLAN ID.
*/
public data class ExpressRouteCircuitPeeringArgs(
public val azureASN: Output? = null,
public val connections: Output>? = null,
public val gatewayManagerEtag: Output? = null,
public val id: Output? = null,
public val ipv6PeeringConfig: Output? = null,
public val microsoftPeeringConfig: Output? = null,
public val name: Output? = null,
public val peerASN: Output? = null,
public val peeringType: Output>? = null,
public val primaryAzurePort: Output? = null,
public val primaryPeerAddressPrefix: Output? = null,
public val routeFilter: Output? = null,
public val secondaryAzurePort: Output? = null,
public val secondaryPeerAddressPrefix: Output? = null,
public val sharedKey: Output? = null,
public val state: Output>? = null,
public val stats: Output? = null,
public val vlanId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.network.inputs.ExpressRouteCircuitPeeringArgs =
com.pulumi.azurenative.network.inputs.ExpressRouteCircuitPeeringArgs.builder()
.azureASN(azureASN?.applyValue({ args0 -> args0 }))
.connections(
connections?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.gatewayManagerEtag(gatewayManagerEtag?.applyValue({ args0 -> args0 }))
.id(id?.applyValue({ args0 -> args0 }))
.ipv6PeeringConfig(ipv6PeeringConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.microsoftPeeringConfig(
microsoftPeeringConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.name(name?.applyValue({ args0 -> args0 }))
.peerASN(peerASN?.applyValue({ args0 -> args0 }))
.peeringType(
peeringType?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.primaryAzurePort(primaryAzurePort?.applyValue({ args0 -> args0 }))
.primaryPeerAddressPrefix(primaryPeerAddressPrefix?.applyValue({ args0 -> args0 }))
.routeFilter(routeFilter?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.secondaryAzurePort(secondaryAzurePort?.applyValue({ args0 -> args0 }))
.secondaryPeerAddressPrefix(secondaryPeerAddressPrefix?.applyValue({ args0 -> args0 }))
.sharedKey(sharedKey?.applyValue({ args0 -> args0 }))
.state(
state?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.stats(stats?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.vlanId(vlanId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ExpressRouteCircuitPeeringArgs].
*/
@PulumiTagMarker
public class ExpressRouteCircuitPeeringArgsBuilder internal constructor() {
private var azureASN: Output? = null
private var connections: Output>? = null
private var gatewayManagerEtag: Output? = null
private var id: Output? = null
private var ipv6PeeringConfig: Output? = null
private var microsoftPeeringConfig: Output? = null
private var name: Output? = null
private var peerASN: Output? = null
private var peeringType: Output>? = null
private var primaryAzurePort: Output? = null
private var primaryPeerAddressPrefix: Output? = null
private var routeFilter: Output? = null
private var secondaryAzurePort: Output? = null
private var secondaryPeerAddressPrefix: Output? = null
private var sharedKey: Output? = null
private var state: Output>? = null
private var stats: Output? = null
private var vlanId: Output? = null
/**
* @param value The Azure ASN.
*/
@JvmName("nhadkdluampxxcns")
public suspend fun azureASN(`value`: Output) {
this.azureASN = value
}
/**
* @param value The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("jalpwnvrldsehpvv")
public suspend fun connections(`value`: Output>) {
this.connections = value
}
@JvmName("mumfdeglntfsshhu")
public suspend fun connections(vararg values: Output) {
this.connections = Output.all(values.asList())
}
/**
* @param values The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("bbxxrvnvlbbiuflt")
public suspend fun connections(values: List>) {
this.connections = Output.all(values)
}
/**
* @param value The GatewayManager Etag.
*/
@JvmName("svsilchicykhgbdd")
public suspend fun gatewayManagerEtag(`value`: Output) {
this.gatewayManagerEtag = value
}
/**
* @param value Resource ID.
*/
@JvmName("qqalbhsswrhujive")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value The IPv6 peering configuration.
*/
@JvmName("conpuuugkfdrjyms")
public suspend fun ipv6PeeringConfig(`value`: Output) {
this.ipv6PeeringConfig = value
}
/**
* @param value The Microsoft peering configuration.
*/
@JvmName("dridufvjdfksduhh")
public suspend fun microsoftPeeringConfig(`value`: Output) {
this.microsoftPeeringConfig = value
}
/**
* @param value The name of the resource that is unique within a resource group. This name can be used to access the resource.
*/
@JvmName("mmcssukvsjlsqbdu")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The peer ASN.
*/
@JvmName("bunknenxsourbwvo")
public suspend fun peerASN(`value`: Output) {
this.peerASN = value
}
/**
* @param value The peering type.
*/
@JvmName("nohnmjhnfaaqvfba")
public suspend fun peeringType(`value`: Output>) {
this.peeringType = value
}
/**
* @param value The primary port.
*/
@JvmName("tcuhcgubsbyhxovt")
public suspend fun primaryAzurePort(`value`: Output) {
this.primaryAzurePort = value
}
/**
* @param value The primary address prefix.
*/
@JvmName("kfwfxbachgicxwhj")
public suspend fun primaryPeerAddressPrefix(`value`: Output) {
this.primaryPeerAddressPrefix = value
}
/**
* @param value The reference to the RouteFilter resource.
*/
@JvmName("aunifuyqyxafnpmn")
public suspend fun routeFilter(`value`: Output) {
this.routeFilter = value
}
/**
* @param value The secondary port.
*/
@JvmName("rayjkekymawkunjy")
public suspend fun secondaryAzurePort(`value`: Output) {
this.secondaryAzurePort = value
}
/**
* @param value The secondary address prefix.
*/
@JvmName("okdwcbmigubyoeed")
public suspend fun secondaryPeerAddressPrefix(`value`: Output) {
this.secondaryPeerAddressPrefix = value
}
/**
* @param value The shared key.
*/
@JvmName("svveaebtvjugiyos")
public suspend fun sharedKey(`value`: Output) {
this.sharedKey = value
}
/**
* @param value The peering state.
*/
@JvmName("ubgvibbmvlhjjofb")
public suspend fun state(`value`: Output>) {
this.state = value
}
/**
* @param value The peering stats of express route circuit.
*/
@JvmName("jdgwjtyaqrpyebeu")
public suspend fun stats(`value`: Output) {
this.stats = value
}
/**
* @param value The VLAN ID.
*/
@JvmName("xtcuttebsdyyyvtb")
public suspend fun vlanId(`value`: Output) {
this.vlanId = value
}
/**
* @param value The Azure ASN.
*/
@JvmName("trffvejssewqengc")
public suspend fun azureASN(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.azureASN = mapped
}
/**
* @param value The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("timxeyuhxlynsbtk")
public suspend fun connections(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connections = mapped
}
/**
* @param argument The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("llrtdhnlpyiauptn")
public suspend fun connections(argument: List Unit>) {
val toBeMapped = argument.toList().map {
ExpressRouteCircuitConnectionArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.connections = mapped
}
/**
* @param argument The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("gyymaopqoygsdnji")
public suspend fun connections(vararg argument: suspend ExpressRouteCircuitConnectionArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
ExpressRouteCircuitConnectionArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.connections = mapped
}
/**
* @param argument The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("wobxtavghfseqekt")
public suspend fun connections(argument: suspend ExpressRouteCircuitConnectionArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
ExpressRouteCircuitConnectionArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.connections = mapped
}
/**
* @param values The list of circuit connections associated with Azure Private Peering for this circuit.
*/
@JvmName("sfgksjrlapwwdlye")
public suspend fun connections(vararg values: ExpressRouteCircuitConnectionArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.connections = mapped
}
/**
* @param value The GatewayManager Etag.
*/
@JvmName("rmaewvberuyvaybd")
public suspend fun gatewayManagerEtag(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gatewayManagerEtag = mapped
}
/**
* @param value Resource ID.
*/
@JvmName("qciplpewjnathyyl")
public suspend fun id(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.id = mapped
}
/**
* @param value The IPv6 peering configuration.
*/
@JvmName("wphgyypwkgjhtfrt")
public suspend fun ipv6PeeringConfig(`value`: Ipv6ExpressRouteCircuitPeeringConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ipv6PeeringConfig = mapped
}
/**
* @param argument The IPv6 peering configuration.
*/
@JvmName("tqniacipelaqciku")
public suspend fun ipv6PeeringConfig(argument: suspend Ipv6ExpressRouteCircuitPeeringConfigArgsBuilder.() -> Unit) {
val toBeMapped = Ipv6ExpressRouteCircuitPeeringConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.ipv6PeeringConfig = mapped
}
/**
* @param value The Microsoft peering configuration.
*/
@JvmName("ebwndcnurpqunbrt")
public suspend fun microsoftPeeringConfig(`value`: ExpressRouteCircuitPeeringConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.microsoftPeeringConfig = mapped
}
/**
* @param argument The Microsoft peering configuration.
*/
@JvmName("qfbwatlsofrhltqs")
public suspend fun microsoftPeeringConfig(argument: suspend ExpressRouteCircuitPeeringConfigArgsBuilder.() -> Unit) {
val toBeMapped = ExpressRouteCircuitPeeringConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.microsoftPeeringConfig = mapped
}
/**
* @param value The name of the resource that is unique within a resource group. This name can be used to access the resource.
*/
@JvmName("kqtubxbtjdmhyput")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The peer ASN.
*/
@JvmName("cxviklbbrvogpjoa")
public suspend fun peerASN(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.peerASN = mapped
}
/**
* @param value The peering type.
*/
@JvmName("tloeogwsocqvitbq")
public suspend fun peeringType(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.peeringType = mapped
}
/**
* @param value The peering type.
*/
@JvmName("wndbrmmnahpehaen")
public fun peeringType(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.peeringType = mapped
}
/**
* @param value The peering type.
*/
@JvmName("vtllhsvtjjgqhhsc")
public fun peeringType(`value`: ExpressRoutePeeringType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.peeringType = mapped
}
/**
* @param value The primary port.
*/
@JvmName("wsqqldtamfrxwmft")
public suspend fun primaryAzurePort(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.primaryAzurePort = mapped
}
/**
* @param value The primary address prefix.
*/
@JvmName("oswggmiuuhtexuys")
public suspend fun primaryPeerAddressPrefix(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.primaryPeerAddressPrefix = mapped
}
/**
* @param value The reference to the RouteFilter resource.
*/
@JvmName("xxgmngovubcelffs")
public suspend fun routeFilter(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.routeFilter = mapped
}
/**
* @param argument The reference to the RouteFilter resource.
*/
@JvmName("qbwjlhcfowugfefd")
public suspend fun routeFilter(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.routeFilter = mapped
}
/**
* @param value The secondary port.
*/
@JvmName("wlfrhwgqwbqyqpbl")
public suspend fun secondaryAzurePort(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.secondaryAzurePort = mapped
}
/**
* @param value The secondary address prefix.
*/
@JvmName("coibprvdkshuxmxc")
public suspend fun secondaryPeerAddressPrefix(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.secondaryPeerAddressPrefix = mapped
}
/**
* @param value The shared key.
*/
@JvmName("cmdrndtllpwpgowx")
public suspend fun sharedKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sharedKey = mapped
}
/**
* @param value The peering state.
*/
@JvmName("amqiggqbehwyiksh")
public suspend fun state(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.state = mapped
}
/**
* @param value The peering state.
*/
@JvmName("kkscrcikebqbahsw")
public fun state(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.state = mapped
}
/**
* @param value The peering state.
*/
@JvmName("icgwawsyhreqdpsh")
public fun state(`value`: ExpressRoutePeeringState) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.state = mapped
}
/**
* @param value The peering stats of express route circuit.
*/
@JvmName("gcykpooskqykgldf")
public suspend fun stats(`value`: ExpressRouteCircuitStatsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.stats = mapped
}
/**
* @param argument The peering stats of express route circuit.
*/
@JvmName("hsysiuxbsvyrauos")
public suspend fun stats(argument: suspend ExpressRouteCircuitStatsArgsBuilder.() -> Unit) {
val toBeMapped = ExpressRouteCircuitStatsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.stats = mapped
}
/**
* @param value The VLAN ID.
*/
@JvmName("tjdftdqfnjlkcwtw")
public suspend fun vlanId(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vlanId = mapped
}
internal fun build(): ExpressRouteCircuitPeeringArgs = ExpressRouteCircuitPeeringArgs(
azureASN = azureASN,
connections = connections,
gatewayManagerEtag = gatewayManagerEtag,
id = id,
ipv6PeeringConfig = ipv6PeeringConfig,
microsoftPeeringConfig = microsoftPeeringConfig,
name = name,
peerASN = peerASN,
peeringType = peeringType,
primaryAzurePort = primaryAzurePort,
primaryPeerAddressPrefix = primaryPeerAddressPrefix,
routeFilter = routeFilter,
secondaryAzurePort = secondaryAzurePort,
secondaryPeerAddressPrefix = secondaryPeerAddressPrefix,
sharedKey = sharedKey,
state = state,
stats = stats,
vlanId = vlanId,
)
}