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

com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.VpnConfigurationPropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.managednetworkfabric.kotlin.inputs

import com.pulumi.azurenative.managednetworkfabric.inputs.VpnConfigurationPropertiesArgs.builder
import com.pulumi.azurenative.managednetworkfabric.kotlin.enums.PeeringOption
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.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Configuration for infrastructure vpn.
 * @property optionAProperties option A properties
 * @property optionBProperties option B properties
 * @property peeringOption Peering option list.
 */
public data class VpnConfigurationPropertiesArgs(
    public val optionAProperties: Output? = null,
    public val optionBProperties: Output? = null,
    public val peeringOption: Output>,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.managednetworkfabric.inputs.VpnConfigurationPropertiesArgs =
        com.pulumi.azurenative.managednetworkfabric.inputs.VpnConfigurationPropertiesArgs.builder()
            .optionAProperties(optionAProperties?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .optionBProperties(optionBProperties?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .peeringOption(
                peeringOption.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [VpnConfigurationPropertiesArgs].
 */
@PulumiTagMarker
public class VpnConfigurationPropertiesArgsBuilder internal constructor() {
    private var optionAProperties: Output? = null

    private var optionBProperties: Output? = null

    private var peeringOption: Output>? = null

    /**
     * @param value option A properties
     */
    @JvmName("lqkeljksktyshggy")
    public suspend fun optionAProperties(`value`: Output) {
        this.optionAProperties = value
    }

    /**
     * @param value option B properties
     */
    @JvmName("uasdjgwyjcewpkrv")
    public suspend fun optionBProperties(`value`: Output) {
        this.optionBProperties = value
    }

    /**
     * @param value Peering option list.
     */
    @JvmName("shlubtqaiaykrtaw")
    public suspend fun peeringOption(`value`: Output>) {
        this.peeringOption = value
    }

    /**
     * @param value option A properties
     */
    @JvmName("mxkndmslowtjxuyn")
    public suspend fun optionAProperties(`value`: OptionAPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.optionAProperties = mapped
    }

    /**
     * @param argument option A properties
     */
    @JvmName("ctbvvsxwtjxshvyk")
    public suspend fun optionAProperties(argument: suspend OptionAPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = OptionAPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.optionAProperties = mapped
    }

    /**
     * @param value option B properties
     */
    @JvmName("aeqxisoamaatotbj")
    public suspend fun optionBProperties(`value`: FabricOptionBPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.optionBProperties = mapped
    }

    /**
     * @param argument option B properties
     */
    @JvmName("mnrayictsnpwacgm")
    public suspend fun optionBProperties(argument: suspend FabricOptionBPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = FabricOptionBPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.optionBProperties = mapped
    }

    /**
     * @param value Peering option list.
     */
    @JvmName("hrmtbywvdmqxlqfd")
    public suspend fun peeringOption(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.peeringOption = mapped
    }

    /**
     * @param value Peering option list.
     */
    @JvmName("hkaoooksevwxqwas")
    public fun peeringOption(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.peeringOption = mapped
    }

    /**
     * @param value Peering option list.
     */
    @JvmName("sofqxxdqtarlxmnd")
    public fun peeringOption(`value`: PeeringOption) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.peeringOption = mapped
    }

    internal fun build(): VpnConfigurationPropertiesArgs = VpnConfigurationPropertiesArgs(
        optionAProperties = optionAProperties,
        optionBProperties = optionBProperties,
        peeringOption = peeringOption ?: throw PulumiNullFieldException("peeringOption"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy