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

com.pulumi.azure.network.kotlin.outputs.FirewallIpConfiguration.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.network.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property name Specifies the name of the IP Configuration.
 * @property privateIpAddress The private IP address associated with the Firewall.
 * @property publicIpAddressId The ID of the Public IP Address associated with the firewall.
 * > **NOTE** A public ip address is required unless a `management_ip_configuration` block is specified.
 * > **NOTE** When multiple `ip_configuration` blocks with `public_ip_address_id` are configured, `pulumi up` will raise an error when one or some of these `ip_configuration` blocks are removed. because the `public_ip_address_id` is still used by the `firewall` resource until the `firewall` resource is updated. and the destruction of `azure.network.PublicIp` happens before the update of firewall by default. to destroy of `azure.network.PublicIp` will cause the error. The workaround is to set `create_before_destroy=true` to the `azure.network.PublicIp` resource `lifecycle` block. See more detail: destroying.md#create-before-destroy
 * > **NOTE** The Public IP must have a `Static` allocation and `Standard` SKU.
 * @property subnetId Reference to the subnet associated with the IP Configuration. Changing this forces a new resource to be created.
 * > **NOTE** The Subnet used for the Firewall must have the name `AzureFirewallSubnet` and the subnet mask must be at least a `/26`.
 * > **NOTE** At least one and only one `ip_configuration` block may contain a `subnet_id`.
 */
public data class FirewallIpConfiguration(
    public val name: String,
    public val privateIpAddress: String? = null,
    public val publicIpAddressId: String? = null,
    public val subnetId: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.network.outputs.FirewallIpConfiguration): FirewallIpConfiguration = FirewallIpConfiguration(
            name = javaType.name(),
            privateIpAddress = javaType.privateIpAddress().map({ args0 -> args0 }).orElse(null),
            publicIpAddressId = javaType.publicIpAddressId().map({ args0 -> args0 }).orElse(null),
            subnetId = javaType.subnetId().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy