
com.pulumi.azurenative.compute.kotlin.inputs.VirtualMachineScaleSetIPConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.compute.kotlin.inputs
import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetIPConfigurationArgs.builder
import com.pulumi.azurenative.compute.kotlin.enums.IPVersion
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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Describes a virtual machine scale set network profile's IP configuration.
* @property applicationGatewayBackendAddressPools Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
* @property applicationSecurityGroups Specifies an array of references to application security group.
* @property loadBalancerBackendAddressPools Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
* @property loadBalancerInboundNatPools Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
* @property name The IP configuration name.
* @property primary Specifies the primary network interface in case the virtual machine has more than 1 network interface.
* @property privateIPAddressVersion Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
* @property publicIPAddressConfiguration The publicIPAddressConfiguration.
* @property subnet Specifies the identifier of the subnet.
*/
public data class VirtualMachineScaleSetIPConfigurationArgs(
public val applicationGatewayBackendAddressPools: Output>? = null,
public val applicationSecurityGroups: Output>? = null,
public val loadBalancerBackendAddressPools: Output>? = null,
public val loadBalancerInboundNatPools: Output>? = null,
public val name: Output,
public val primary: Output? = null,
public val privateIPAddressVersion: Output>? = null,
public val publicIPAddressConfiguration: Output? = null,
public val subnet: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetIPConfigurationArgs =
com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetIPConfigurationArgs.builder()
.applicationGatewayBackendAddressPools(
applicationGatewayBackendAddressPools?.applyValue({ args0 ->
args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.applicationSecurityGroups(
applicationSecurityGroups?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.loadBalancerBackendAddressPools(
loadBalancerBackendAddressPools?.applyValue({ args0 ->
args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.loadBalancerInboundNatPools(
loadBalancerInboundNatPools?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.name(name.applyValue({ args0 -> args0 }))
.primary(primary?.applyValue({ args0 -> args0 }))
.privateIPAddressVersion(
privateIPAddressVersion?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.publicIPAddressConfiguration(
publicIPAddressConfiguration?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.subnet(subnet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [VirtualMachineScaleSetIPConfigurationArgs].
*/
@PulumiTagMarker
public class VirtualMachineScaleSetIPConfigurationArgsBuilder internal constructor() {
private var applicationGatewayBackendAddressPools: Output>? = null
private var applicationSecurityGroups: Output>? = null
private var loadBalancerBackendAddressPools: Output>? = null
private var loadBalancerInboundNatPools: Output>? = null
private var name: Output? = null
private var primary: Output? = null
private var privateIPAddressVersion: Output>? = null
private var publicIPAddressConfiguration:
Output? = null
private var subnet: Output? = null
/**
* @param value Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
*/
@JvmName("ctxvuykrneeacfoc")
public suspend fun applicationGatewayBackendAddressPools(`value`: Output>) {
this.applicationGatewayBackendAddressPools = value
}
@JvmName("nmwtnrlkpliuwnie")
public suspend fun applicationGatewayBackendAddressPools(vararg values: Output) {
this.applicationGatewayBackendAddressPools = Output.all(values.asList())
}
/**
* @param values Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
*/
@JvmName("uflwhlfsbcectegg")
public suspend fun applicationGatewayBackendAddressPools(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy