Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.compute.kotlin.inputs
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.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.collections.List
import kotlin.jvm.JvmName
/**
*
* @property applicationGatewayBackendAddressPoolIds A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
* @property applicationSecurityGroupIds A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
* @property loadBalancerBackendAddressPoolIds A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
* > **Note:** When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. `Basic` or `Standard`). Alternatively, you may use the `public_ip_prefix_id` field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the **az vmss list-instance-public-ips --resource-group `ResourceGroupName` --name `VirtualMachineScaleSetName`** CLI command.
* > **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a `depends_on` between this resource and the Load Balancer Rule.
* @property loadBalancerInboundNatRulesIds A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
* > **Note:** When using this field you'll also need to configure a Rule for the Load Balancer, and use a `depends_on` between this resource and the Load Balancer Rule.
* @property name The Name which should be used for this IP Configuration.
* @property primary Is this the Primary IP Configuration for this Network Interface? Defaults to `false`.
* > **Note:** One `ip_configuration` block must be marked as Primary for each Network Interface.
* @property publicIpAddresses A `public_ip_address` block as defined below.
* @property subnetId The ID of the Subnet which this IP Configuration should be connected to.
* > `subnet_id` is required if `version` is set to `IPv4`.
* @property version The Internet Protocol Version which should be used for this IP Configuration. Possible values are `IPv4` and `IPv6`. Defaults to `IPv4`.
*/
public data class LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs(
public val applicationGatewayBackendAddressPoolIds: Output>? = null,
public val applicationSecurityGroupIds: Output>? = null,
public val loadBalancerBackendAddressPoolIds: Output>? = null,
public val loadBalancerInboundNatRulesIds: Output>? = null,
public val name: Output,
public val primary: Output? = null,
public val publicIpAddresses: Output>? =
null,
public val subnetId: Output? = null,
public val version: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs =
com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
.applicationGatewayBackendAddressPoolIds(
applicationGatewayBackendAddressPoolIds?.applyValue({ args0 ->
args0.map({ args0 -> args0 })
}),
)
.applicationSecurityGroupIds(
applicationSecurityGroupIds?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.loadBalancerBackendAddressPoolIds(
loadBalancerBackendAddressPoolIds?.applyValue({ args0 ->
args0.map({ args0 -> args0 })
}),
)
.loadBalancerInboundNatRulesIds(
loadBalancerInboundNatRulesIds?.applyValue({ args0 ->
args0.map({ args0 -> args0 })
}),
)
.name(name.applyValue({ args0 -> args0 }))
.primary(primary?.applyValue({ args0 -> args0 }))
.publicIpAddresses(
publicIpAddresses?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.subnetId(subnetId?.applyValue({ args0 -> args0 }))
.version(version?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs].
*/
@PulumiTagMarker
public class LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgsBuilder internal constructor() {
private var applicationGatewayBackendAddressPoolIds: Output>? = null
private var applicationSecurityGroupIds: Output>? = null
private var loadBalancerBackendAddressPoolIds: Output>? = null
private var loadBalancerInboundNatRulesIds: Output>? = null
private var name: Output? = null
private var primary: Output? = null
private var publicIpAddresses:
Output>? =
null
private var subnetId: Output? = null
private var version: Output? = null
/**
* @param value A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
*/
@JvmName("ayweyamyihsyjhty")
public suspend fun applicationGatewayBackendAddressPoolIds(`value`: Output>) {
this.applicationGatewayBackendAddressPoolIds = value
}
@JvmName("cdxmmmxphwnjbjfn")
public suspend fun applicationGatewayBackendAddressPoolIds(vararg values: Output) {
this.applicationGatewayBackendAddressPoolIds = Output.all(values.asList())
}
/**
* @param values A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
*/
@JvmName("xewatffatystcvxg")
public suspend fun applicationGatewayBackendAddressPoolIds(values: List