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

com.pulumi.azurenative.network.kotlin.inputs.AddressPrefixItemArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.network.kotlin.inputs

import com.pulumi.azurenative.network.inputs.AddressPrefixItemArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.AddressPrefixType
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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Address prefix item.
 * @property addressPrefix Address prefix.
 * @property addressPrefixType Address prefix type.
 */
public data class AddressPrefixItemArgs(
    public val addressPrefix: Output? = null,
    public val addressPrefixType: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.network.inputs.AddressPrefixItemArgs =
        com.pulumi.azurenative.network.inputs.AddressPrefixItemArgs.builder()
            .addressPrefix(addressPrefix?.applyValue({ args0 -> args0 }))
            .addressPrefixType(
                addressPrefixType?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            ).build()
}

/**
 * Builder for [AddressPrefixItemArgs].
 */
@PulumiTagMarker
public class AddressPrefixItemArgsBuilder internal constructor() {
    private var addressPrefix: Output? = null

    private var addressPrefixType: Output>? = null

    /**
     * @param value Address prefix.
     */
    @JvmName("coanqinsqldkoblh")
    public suspend fun addressPrefix(`value`: Output) {
        this.addressPrefix = value
    }

    /**
     * @param value Address prefix type.
     */
    @JvmName("yylsejbwvwfmjemk")
    public suspend fun addressPrefixType(`value`: Output>) {
        this.addressPrefixType = value
    }

    /**
     * @param value Address prefix.
     */
    @JvmName("cgbmmunyoenikupj")
    public suspend fun addressPrefix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.addressPrefix = mapped
    }

    /**
     * @param value Address prefix type.
     */
    @JvmName("bbegvigowxpfedqy")
    public suspend fun addressPrefixType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.addressPrefixType = mapped
    }

    /**
     * @param value Address prefix type.
     */
    @JvmName("smuwfvqwpdrkhkkg")
    public fun addressPrefixType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.addressPrefixType = mapped
    }

    /**
     * @param value Address prefix type.
     */
    @JvmName("bbyysfotswyvgrfv")
    public fun addressPrefixType(`value`: AddressPrefixType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.addressPrefixType = mapped
    }

    internal fun build(): AddressPrefixItemArgs = AddressPrefixItemArgs(
        addressPrefix = addressPrefix,
        addressPrefixType = addressPrefixType,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy