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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.network.kotlin.inputs
import com.pulumi.azurenative.network.inputs.RoutingRuleArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.FrontDoorProtocol
import com.pulumi.azurenative.network.kotlin.enums.RoutingRuleEnabledState
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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* A routing rule represents a specification for traffic to treat and where to send it, along with health probe information.
* @property acceptedProtocols Protocol schemes to match for this rule
* @property enabledState Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'
* @property frontendEndpoints Frontend endpoints associated with this rule
* @property id Resource ID.
* @property name Resource name.
* @property patternsToMatch The route patterns of the rule.
* @property routeConfiguration A reference to the routing configuration.
* @property rulesEngine A reference to a specific Rules Engine Configuration to apply to this route.
* @property webApplicationFirewallPolicyLink Defines the Web Application Firewall policy for each routing rule (if applicable)
*/
public data class RoutingRuleArgs(
public val acceptedProtocols: Output>>? = null,
public val enabledState: Output>? = null,
public val frontendEndpoints: Output>? = null,
public val id: Output? = null,
public val name: Output? = null,
public val patternsToMatch: Output>? = null,
public val routeConfiguration: Output>? = null,
public val rulesEngine: Output? = null,
public val webApplicationFirewallPolicyLink: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.network.inputs.RoutingRuleArgs =
com.pulumi.azurenative.network.inputs.RoutingRuleArgs.builder()
.acceptedProtocols(
acceptedProtocols?.applyValue({ args0 ->
args0.map({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
})
}),
)
.enabledState(
enabledState?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.frontendEndpoints(
frontendEndpoints?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.id(id?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.patternsToMatch(patternsToMatch?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.routeConfiguration(
routeConfiguration?.applyValue({ args0 ->
args0.transform({ args0 ->
args0.let({ args0 -> args0.toJava() })
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.rulesEngine(rulesEngine?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.webApplicationFirewallPolicyLink(
webApplicationFirewallPolicyLink?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
).build()
}
/**
* Builder for [RoutingRuleArgs].
*/
@PulumiTagMarker
public class RoutingRuleArgsBuilder internal constructor() {
private var acceptedProtocols: Output>>? = null
private var enabledState: Output>? = null
private var frontendEndpoints: Output>? = null
private var id: Output? = null
private var name: Output? = null
private var patternsToMatch: Output>? = null
private var routeConfiguration:
Output>? = null
private var rulesEngine: Output? = null
private var webApplicationFirewallPolicyLink:
Output? = null
/**
* @param value Protocol schemes to match for this rule
*/
@JvmName("otfmhlslmgjctynl")
public suspend fun acceptedProtocols(`value`: Output>>) {
this.acceptedProtocols = value
}
@JvmName("jjxcvccqnayejprs")
public suspend fun acceptedProtocols(vararg values: Output>) {
this.acceptedProtocols = Output.all(values.asList())
}
/**
* @param values Protocol schemes to match for this rule
*/
@JvmName("escqoqutindrngta")
public suspend fun acceptedProtocols(values: List