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

com.pulumi.azurenative.network.kotlin.outputs.ApplicationRuleResponse.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.network.kotlin.outputs

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

/**
 * Rule of type application.
 * @property description Description of the rule.
 * @property destinationAddresses List of destination IP addresses or Service Tags.
 * @property fqdnTags List of FQDN Tags for this rule.
 * @property httpHeadersToInsert List of HTTP/S headers to insert.
 * @property name Name of the rule.
 * @property protocols Array of Application Protocols.
 * @property ruleType Rule Type.
 * Expected value is 'ApplicationRule'.
 * @property sourceAddresses List of source IP addresses for this rule.
 * @property sourceIpGroups List of source IpGroups for this rule.
 * @property targetFqdns List of FQDNs for this rule.
 * @property targetUrls List of Urls for this rule condition.
 * @property terminateTLS Terminate TLS connections for this rule.
 * @property webCategories List of destination azure web categories.
 */
public data class ApplicationRuleResponse(
    public val description: String? = null,
    public val destinationAddresses: List? = null,
    public val fqdnTags: List? = null,
    public val httpHeadersToInsert: List? = null,
    public val name: String? = null,
    public val protocols: List? = null,
    public val ruleType: String,
    public val sourceAddresses: List? = null,
    public val sourceIpGroups: List? = null,
    public val targetFqdns: List? = null,
    public val targetUrls: List? = null,
    public val terminateTLS: Boolean? = null,
    public val webCategories: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azurenative.network.outputs.ApplicationRuleResponse): ApplicationRuleResponse = ApplicationRuleResponse(
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            destinationAddresses = javaType.destinationAddresses().map({ args0 -> args0 }),
            fqdnTags = javaType.fqdnTags().map({ args0 -> args0 }),
            httpHeadersToInsert = javaType.httpHeadersToInsert().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.network.kotlin.outputs.FirewallPolicyHttpHeaderToInsertResponse.Companion.toKotlin(args0)
                })
            }),
            name = javaType.name().map({ args0 -> args0 }).orElse(null),
            protocols = javaType.protocols().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.network.kotlin.outputs.FirewallPolicyRuleApplicationProtocolResponse.Companion.toKotlin(args0)
                })
            }),
            ruleType = javaType.ruleType(),
            sourceAddresses = javaType.sourceAddresses().map({ args0 -> args0 }),
            sourceIpGroups = javaType.sourceIpGroups().map({ args0 -> args0 }),
            targetFqdns = javaType.targetFqdns().map({ args0 -> args0 }),
            targetUrls = javaType.targetUrls().map({ args0 -> args0 }),
            terminateTLS = javaType.terminateTLS().map({ args0 -> args0 }).orElse(null),
            webCategories = javaType.webCategories().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy