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

com.pulumi.azure.network.kotlin.inputs.ExpressRouteCircuitPeeringIpv6Args.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.network.kotlin.inputs

import com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringIpv6Args.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property enabled A boolean value indicating whether the IPv6 peering is enabled. Defaults to `true`.
 * @property microsoftPeering A `microsoft_peering` block as defined below.
 * @property primaryPeerAddressPrefix A subnet for the primary link.
 * @property routeFilterId The ID of the Route Filter. Only available when `peering_type` is set to `MicrosoftPeering`.
 * > **NOTE:** `ipv6` can be specified when `peering_type` is `MicrosoftPeering` or `AzurePrivatePeering`
 * @property secondaryPeerAddressPrefix A subnet for the secondary link.
 */
public data class ExpressRouteCircuitPeeringIpv6Args(
    public val enabled: Output? = null,
    public val microsoftPeering: Output? = null,
    public val primaryPeerAddressPrefix: Output,
    public val routeFilterId: Output? = null,
    public val secondaryPeerAddressPrefix: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringIpv6Args =
        com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringIpv6Args.builder()
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .microsoftPeering(microsoftPeering?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .primaryPeerAddressPrefix(primaryPeerAddressPrefix.applyValue({ args0 -> args0 }))
            .routeFilterId(routeFilterId?.applyValue({ args0 -> args0 }))
            .secondaryPeerAddressPrefix(secondaryPeerAddressPrefix.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ExpressRouteCircuitPeeringIpv6Args].
 */
@PulumiTagMarker
public class ExpressRouteCircuitPeeringIpv6ArgsBuilder internal constructor() {
    private var enabled: Output? = null

    private var microsoftPeering: Output? = null

    private var primaryPeerAddressPrefix: Output? = null

    private var routeFilterId: Output? = null

    private var secondaryPeerAddressPrefix: Output? = null

    /**
     * @param value A boolean value indicating whether the IPv6 peering is enabled. Defaults to `true`.
     */
    @JvmName("msaifxfsspfngkjl")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value A `microsoft_peering` block as defined below.
     */
    @JvmName("uuofubfqdjxoicvt")
    public suspend fun microsoftPeering(`value`: Output) {
        this.microsoftPeering = value
    }

    /**
     * @param value A subnet for the primary link.
     */
    @JvmName("cadjvnhucbdaowuv")
    public suspend fun primaryPeerAddressPrefix(`value`: Output) {
        this.primaryPeerAddressPrefix = value
    }

    /**
     * @param value The ID of the Route Filter. Only available when `peering_type` is set to `MicrosoftPeering`.
     * > **NOTE:** `ipv6` can be specified when `peering_type` is `MicrosoftPeering` or `AzurePrivatePeering`
     */
    @JvmName("krkfdbbgmhbmtyfl")
    public suspend fun routeFilterId(`value`: Output) {
        this.routeFilterId = value
    }

    /**
     * @param value A subnet for the secondary link.
     */
    @JvmName("stahfximxibgsajt")
    public suspend fun secondaryPeerAddressPrefix(`value`: Output) {
        this.secondaryPeerAddressPrefix = value
    }

    /**
     * @param value A boolean value indicating whether the IPv6 peering is enabled. Defaults to `true`.
     */
    @JvmName("qbqnflvwqfyyfhxw")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value A `microsoft_peering` block as defined below.
     */
    @JvmName("jawatcltnltjobua")
    public suspend fun microsoftPeering(`value`: ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.microsoftPeering = mapped
    }

    /**
     * @param argument A `microsoft_peering` block as defined below.
     */
    @JvmName("mfhveckxrfdjyogq")
    public suspend fun microsoftPeering(argument: suspend ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgsBuilder.() -> Unit) {
        val toBeMapped = ExpressRouteCircuitPeeringIpv6MicrosoftPeeringArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.microsoftPeering = mapped
    }

    /**
     * @param value A subnet for the primary link.
     */
    @JvmName("qubshvqkkpnvarva")
    public suspend fun primaryPeerAddressPrefix(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.primaryPeerAddressPrefix = mapped
    }

    /**
     * @param value The ID of the Route Filter. Only available when `peering_type` is set to `MicrosoftPeering`.
     * > **NOTE:** `ipv6` can be specified when `peering_type` is `MicrosoftPeering` or `AzurePrivatePeering`
     */
    @JvmName("lhcubokseetlpgpk")
    public suspend fun routeFilterId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.routeFilterId = mapped
    }

    /**
     * @param value A subnet for the secondary link.
     */
    @JvmName("uqtecthtefojfbge")
    public suspend fun secondaryPeerAddressPrefix(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.secondaryPeerAddressPrefix = mapped
    }

    internal fun build(): ExpressRouteCircuitPeeringIpv6Args = ExpressRouteCircuitPeeringIpv6Args(
        enabled = enabled,
        microsoftPeering = microsoftPeering,
        primaryPeerAddressPrefix = primaryPeerAddressPrefix ?: throw
            PulumiNullFieldException("primaryPeerAddressPrefix"),
        routeFilterId = routeFilterId,
        secondaryPeerAddressPrefix = secondaryPeerAddressPrefix ?: throw
            PulumiNullFieldException("secondaryPeerAddressPrefix"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy