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

com.pulumi.azure.compute.kotlin.outputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.compute.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration(
    public val applicationGatewayBackendAddressPoolIds: List? = null,
    public val applicationSecurityGroupIds: List? = null,
    public val loadBalancerBackendAddressPoolIds: List? = null,
    public val loadBalancerInboundNatRulesIds: List? = null,
    public val name: String,
    public val primary: Boolean? = null,
    public val publicIpAddresses:
    List? = null,
    public val subnetId: String? = null,
    public val version: String? = null,
) {
    public companion object {
        public
        fun toKotlin(javaType: com.pulumi.azure.compute.outputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration):
            LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration =
            LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration(
                applicationGatewayBackendAddressPoolIds = javaType.applicationGatewayBackendAddressPoolIds().map({ args0 ->
                    args0
                }),
                applicationSecurityGroupIds = javaType.applicationSecurityGroupIds().map({ args0 -> args0 }),
                loadBalancerBackendAddressPoolIds = javaType.loadBalancerBackendAddressPoolIds().map({ args0 ->
                    args0
                }),
                loadBalancerInboundNatRulesIds = javaType.loadBalancerInboundNatRulesIds().map({ args0 -> args0 }),
                name = javaType.name(),
                primary = javaType.primary().map({ args0 -> args0 }).orElse(null),
                publicIpAddresses = javaType.publicIpAddresses().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.compute.kotlin.outputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress.Companion.toKotlin(args0)
                    })
                }),
                subnetId = javaType.subnetId().map({ args0 -> args0 }).orElse(null),
                version = javaType.version().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy