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

com.pulumi.azurenative.migrate.kotlin.inputs.LBFrontendIPConfigurationResourceSettingsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.migrate.kotlin.inputs

import com.pulumi.azurenative.migrate.inputs.LBFrontendIPConfigurationResourceSettingsArgs.builder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Defines load balancer frontend IP configuration properties.
 * @property name Gets or sets the frontend IP configuration name.
 * @property privateIpAddress Gets or sets the IP address of the Load Balancer.This is only specified if a specific
 * private IP address shall be allocated from the subnet specified in subnetRef.
 * @property privateIpAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic).
 * @property subnet Defines reference to subnet.
 * @property zones Gets or sets the csv list of zones.
 */
public data class LBFrontendIPConfigurationResourceSettingsArgs(
    public val name: Output? = null,
    public val privateIpAddress: Output? = null,
    public val privateIpAllocationMethod: Output? = null,
    public val subnet: Output? = null,
    public val zones: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.migrate.inputs.LBFrontendIPConfigurationResourceSettingsArgs =
        com.pulumi.azurenative.migrate.inputs.LBFrontendIPConfigurationResourceSettingsArgs.builder()
            .name(name?.applyValue({ args0 -> args0 }))
            .privateIpAddress(privateIpAddress?.applyValue({ args0 -> args0 }))
            .privateIpAllocationMethod(privateIpAllocationMethod?.applyValue({ args0 -> args0 }))
            .subnet(subnet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .zones(zones?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LBFrontendIPConfigurationResourceSettingsArgs].
 */
@PulumiTagMarker
public class LBFrontendIPConfigurationResourceSettingsArgsBuilder internal constructor() {
    private var name: Output? = null

    private var privateIpAddress: Output? = null

    private var privateIpAllocationMethod: Output? = null

    private var subnet: Output? = null

    private var zones: Output? = null

    /**
     * @param value Gets or sets the frontend IP configuration name.
     */
    @JvmName("kbqobhhscqiiyfej")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Gets or sets the IP address of the Load Balancer.This is only specified if a specific
     * private IP address shall be allocated from the subnet specified in subnetRef.
     */
    @JvmName("anernccatptroqxp")
    public suspend fun privateIpAddress(`value`: Output) {
        this.privateIpAddress = value
    }

    /**
     * @param value Gets or sets PrivateIP allocation method (Static/Dynamic).
     */
    @JvmName("jkekssnrqgywmvdg")
    public suspend fun privateIpAllocationMethod(`value`: Output) {
        this.privateIpAllocationMethod = value
    }

    /**
     * @param value Defines reference to subnet.
     */
    @JvmName("bsssqlbnebrenlsr")
    public suspend fun subnet(`value`: Output) {
        this.subnet = value
    }

    /**
     * @param value Gets or sets the csv list of zones.
     */
    @JvmName("cffpkkiupxuammxv")
    public suspend fun zones(`value`: Output) {
        this.zones = value
    }

    /**
     * @param value Gets or sets the frontend IP configuration name.
     */
    @JvmName("unbmfjhysqyybxqk")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Gets or sets the IP address of the Load Balancer.This is only specified if a specific
     * private IP address shall be allocated from the subnet specified in subnetRef.
     */
    @JvmName("rmqlsljebpqttnra")
    public suspend fun privateIpAddress(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateIpAddress = mapped
    }

    /**
     * @param value Gets or sets PrivateIP allocation method (Static/Dynamic).
     */
    @JvmName("reyxtycsyslcalpe")
    public suspend fun privateIpAllocationMethod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateIpAllocationMethod = mapped
    }

    /**
     * @param value Defines reference to subnet.
     */
    @JvmName("yhfpfgbuckmxnrko")
    public suspend fun subnet(`value`: SubnetReferenceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subnet = mapped
    }

    /**
     * @param argument Defines reference to subnet.
     */
    @JvmName("wavgcfbddmuaqqoi")
    public suspend fun subnet(argument: suspend SubnetReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = SubnetReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.subnet = mapped
    }

    /**
     * @param value Gets or sets the csv list of zones.
     */
    @JvmName("jbdhwlopqghxhaal")
    public suspend fun zones(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.zones = mapped
    }

    internal fun build(): LBFrontendIPConfigurationResourceSettingsArgs =
        LBFrontendIPConfigurationResourceSettingsArgs(
            name = name,
            privateIpAddress = privateIpAddress,
            privateIpAllocationMethod = privateIpAllocationMethod,
            subnet = subnet,
            zones = zones,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy