All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
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.
com.pulumi.cloudflare.kotlin.inputs.TeamsRuleRuleSettingsArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.cloudflare.kotlin.inputs
import com.pulumi.cloudflare.inputs.TeamsRuleRuleSettingsArgs.builder
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.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property addHeaders Add custom headers to allowed requests in the form of key-value pairs.
* @property allowChildBypass Allow parent MSP accounts to enable bypass their children's rules.
* @property auditSsh Settings for auditing SSH usage.
* @property bisoAdminControls Configure how browser isolation behaves.
* @property blockPageEnabled Indicator of block page enablement.
* @property blockPageReason The displayed reason for a user being blocked.
* @property bypassParentRule Allow child MSP accounts to bypass their parent's rule.
* @property checkSession Configure how session check behaves.
* @property dnsResolvers Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
* @property egress Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
* @property ignoreCnameCategoryMatches Set to true, to ignore the category matches at CNAME domains in a response.
* @property insecureDisableDnssecValidation Disable DNSSEC validation (must be Allow rule).
* @property ipCategories Turns on IP category based filter on dns if the rule contains dns category checks.
* @property l4override Settings to forward layer 4 traffic.
* @property notificationSettings Notification settings on a block rule.
* @property overrideHost The host to override matching DNS queries with.
* @property overrideIps The IPs to override matching DNS queries with.
* @property payloadLog Configure DLP Payload Logging settings for this rule.
* @property resolveDnsThroughCloudflare Enable sending queries that match the resolver policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when `dns_resolvers` are specified.
* @property untrustedCert Configure untrusted certificate settings for this rule.
*/
public data class TeamsRuleRuleSettingsArgs(
public val addHeaders: Output>? = null,
public val allowChildBypass: Output? = null,
public val auditSsh: Output? = null,
public val bisoAdminControls: Output? = null,
public val blockPageEnabled: Output? = null,
public val blockPageReason: Output? = null,
public val bypassParentRule: Output? = null,
public val checkSession: Output? = null,
public val dnsResolvers: Output? = null,
public val egress: Output? = null,
public val ignoreCnameCategoryMatches: Output? = null,
public val insecureDisableDnssecValidation: Output? = null,
public val ipCategories: Output? = null,
public val l4override: Output? = null,
public val notificationSettings: Output? = null,
public val overrideHost: Output? = null,
public val overrideIps: Output>? = null,
public val payloadLog: Output? = null,
public val resolveDnsThroughCloudflare: Output? = null,
public val untrustedCert: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.cloudflare.inputs.TeamsRuleRuleSettingsArgs =
com.pulumi.cloudflare.inputs.TeamsRuleRuleSettingsArgs.builder()
.addHeaders(
addHeaders?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.allowChildBypass(allowChildBypass?.applyValue({ args0 -> args0 }))
.auditSsh(auditSsh?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.bisoAdminControls(bisoAdminControls?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.blockPageEnabled(blockPageEnabled?.applyValue({ args0 -> args0 }))
.blockPageReason(blockPageReason?.applyValue({ args0 -> args0 }))
.bypassParentRule(bypassParentRule?.applyValue({ args0 -> args0 }))
.checkSession(checkSession?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dnsResolvers(dnsResolvers?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.egress(egress?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.ignoreCnameCategoryMatches(ignoreCnameCategoryMatches?.applyValue({ args0 -> args0 }))
.insecureDisableDnssecValidation(insecureDisableDnssecValidation?.applyValue({ args0 -> args0 }))
.ipCategories(ipCategories?.applyValue({ args0 -> args0 }))
.l4override(l4override?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.notificationSettings(
notificationSettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.overrideHost(overrideHost?.applyValue({ args0 -> args0 }))
.overrideIps(overrideIps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.payloadLog(payloadLog?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.resolveDnsThroughCloudflare(resolveDnsThroughCloudflare?.applyValue({ args0 -> args0 }))
.untrustedCert(untrustedCert?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [TeamsRuleRuleSettingsArgs].
*/
@PulumiTagMarker
public class TeamsRuleRuleSettingsArgsBuilder internal constructor() {
private var addHeaders: Output>? = null
private var allowChildBypass: Output? = null
private var auditSsh: Output? = null
private var bisoAdminControls: Output? = null
private var blockPageEnabled: Output? = null
private var blockPageReason: Output? = null
private var bypassParentRule: Output? = null
private var checkSession: Output? = null
private var dnsResolvers: Output? = null
private var egress: Output? = null
private var ignoreCnameCategoryMatches: Output? = null
private var insecureDisableDnssecValidation: Output? = null
private var ipCategories: Output? = null
private var l4override: Output? = null
private var notificationSettings: Output? = null
private var overrideHost: Output? = null
private var overrideIps: Output>? = null
private var payloadLog: Output? = null
private var resolveDnsThroughCloudflare: Output? = null
private var untrustedCert: Output? = null
/**
* @param value Add custom headers to allowed requests in the form of key-value pairs.
*/
@JvmName("dyubnawavajqcino")
public suspend fun addHeaders(`value`: Output>) {
this.addHeaders = value
}
/**
* @param value Allow parent MSP accounts to enable bypass their children's rules.
*/
@JvmName("knqnvkyxuiqidifo")
public suspend fun allowChildBypass(`value`: Output) {
this.allowChildBypass = value
}
/**
* @param value Settings for auditing SSH usage.
*/
@JvmName("qyvadrmtbokofdpr")
public suspend fun auditSsh(`value`: Output) {
this.auditSsh = value
}
/**
* @param value Configure how browser isolation behaves.
*/
@JvmName("fkdfgogiullmfkvq")
public suspend fun bisoAdminControls(`value`: Output) {
this.bisoAdminControls = value
}
/**
* @param value Indicator of block page enablement.
*/
@JvmName("iwuckqwgrxsrmpor")
public suspend fun blockPageEnabled(`value`: Output) {
this.blockPageEnabled = value
}
/**
* @param value The displayed reason for a user being blocked.
*/
@JvmName("ucvwuwaqltmackkc")
public suspend fun blockPageReason(`value`: Output) {
this.blockPageReason = value
}
/**
* @param value Allow child MSP accounts to bypass their parent's rule.
*/
@JvmName("udbusssekafochun")
public suspend fun bypassParentRule(`value`: Output) {
this.bypassParentRule = value
}
/**
* @param value Configure how session check behaves.
*/
@JvmName("wrpjicstruoecell")
public suspend fun checkSession(`value`: Output) {
this.checkSession = value
}
/**
* @param value Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
*/
@JvmName("pwtlokqsnfutdpyn")
public suspend fun dnsResolvers(`value`: Output) {
this.dnsResolvers = value
}
/**
* @param value Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
*/
@JvmName("rurhkvbbwurdnqfc")
public suspend fun egress(`value`: Output) {
this.egress = value
}
/**
* @param value Set to true, to ignore the category matches at CNAME domains in a response.
*/
@JvmName("mqtcyktegcdondiv")
public suspend fun ignoreCnameCategoryMatches(`value`: Output) {
this.ignoreCnameCategoryMatches = value
}
/**
* @param value Disable DNSSEC validation (must be Allow rule).
*/
@JvmName("yfvykmgglvdxeuls")
public suspend fun insecureDisableDnssecValidation(`value`: Output) {
this.insecureDisableDnssecValidation = value
}
/**
* @param value Turns on IP category based filter on dns if the rule contains dns category checks.
*/
@JvmName("esrfbkbuqiyjiurb")
public suspend fun ipCategories(`value`: Output) {
this.ipCategories = value
}
/**
* @param value Settings to forward layer 4 traffic.
*/
@JvmName("koyuxevctbpcpxnt")
public suspend fun l4override(`value`: Output) {
this.l4override = value
}
/**
* @param value Notification settings on a block rule.
*/
@JvmName("bgmjogjjuixqnukb")
public suspend fun notificationSettings(`value`: Output) {
this.notificationSettings = value
}
/**
* @param value The host to override matching DNS queries with.
*/
@JvmName("qygbnumpwkwbgxxm")
public suspend fun overrideHost(`value`: Output) {
this.overrideHost = value
}
/**
* @param value The IPs to override matching DNS queries with.
*/
@JvmName("lvfgusaprrgtxbgg")
public suspend fun overrideIps(`value`: Output>) {
this.overrideIps = value
}
@JvmName("fappyykdyaniqhjw")
public suspend fun overrideIps(vararg values: Output) {
this.overrideIps = Output.all(values.asList())
}
/**
* @param values The IPs to override matching DNS queries with.
*/
@JvmName("waccfvompmjwajow")
public suspend fun overrideIps(values: List>) {
this.overrideIps = Output.all(values)
}
/**
* @param value Configure DLP Payload Logging settings for this rule.
*/
@JvmName("rpfigisbwhfkmxna")
public suspend fun payloadLog(`value`: Output) {
this.payloadLog = value
}
/**
* @param value Enable sending queries that match the resolver policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when `dns_resolvers` are specified.
*/
@JvmName("ylbujhhguioumokt")
public suspend fun resolveDnsThroughCloudflare(`value`: Output) {
this.resolveDnsThroughCloudflare = value
}
/**
* @param value Configure untrusted certificate settings for this rule.
*/
@JvmName("csmorvjipwckoiwv")
public suspend fun untrustedCert(`value`: Output) {
this.untrustedCert = value
}
/**
* @param value Add custom headers to allowed requests in the form of key-value pairs.
*/
@JvmName("vbsqoeqdhbaqrgol")
public suspend fun addHeaders(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.addHeaders = mapped
}
/**
* @param values Add custom headers to allowed requests in the form of key-value pairs.
*/
@JvmName("oflpkbjyygxhjrah")
public fun addHeaders(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.addHeaders = mapped
}
/**
* @param value Allow parent MSP accounts to enable bypass their children's rules.
*/
@JvmName("rmdaykknwoiodytu")
public suspend fun allowChildBypass(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowChildBypass = mapped
}
/**
* @param value Settings for auditing SSH usage.
*/
@JvmName("uoodfxlwfyguyyfo")
public suspend fun auditSsh(`value`: TeamsRuleRuleSettingsAuditSshArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.auditSsh = mapped
}
/**
* @param argument Settings for auditing SSH usage.
*/
@JvmName("fqqesbdejtrbcgfo")
public suspend fun auditSsh(argument: suspend TeamsRuleRuleSettingsAuditSshArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsAuditSshArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.auditSsh = mapped
}
/**
* @param value Configure how browser isolation behaves.
*/
@JvmName("ubvrtlnnnjjrxeia")
public suspend fun bisoAdminControls(`value`: TeamsRuleRuleSettingsBisoAdminControlsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bisoAdminControls = mapped
}
/**
* @param argument Configure how browser isolation behaves.
*/
@JvmName("xmixnlxosvrjsqvw")
public suspend fun bisoAdminControls(argument: suspend TeamsRuleRuleSettingsBisoAdminControlsArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsBisoAdminControlsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.bisoAdminControls = mapped
}
/**
* @param value Indicator of block page enablement.
*/
@JvmName("mtnrrxmcllctmgrj")
public suspend fun blockPageEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.blockPageEnabled = mapped
}
/**
* @param value The displayed reason for a user being blocked.
*/
@JvmName("hmomuqtuhnvlpvja")
public suspend fun blockPageReason(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.blockPageReason = mapped
}
/**
* @param value Allow child MSP accounts to bypass their parent's rule.
*/
@JvmName("weyglnlermkdfkun")
public suspend fun bypassParentRule(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bypassParentRule = mapped
}
/**
* @param value Configure how session check behaves.
*/
@JvmName("nokppqiuyesaulba")
public suspend fun checkSession(`value`: TeamsRuleRuleSettingsCheckSessionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.checkSession = mapped
}
/**
* @param argument Configure how session check behaves.
*/
@JvmName("rncwjmypunkjexhd")
public suspend fun checkSession(argument: suspend TeamsRuleRuleSettingsCheckSessionArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsCheckSessionArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.checkSession = mapped
}
/**
* @param value Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
*/
@JvmName("ogxhqnaxbvjohhye")
public suspend fun dnsResolvers(`value`: TeamsRuleRuleSettingsDnsResolversArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dnsResolvers = mapped
}
/**
* @param argument Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
*/
@JvmName("ddflhftlkhpywucd")
public suspend fun dnsResolvers(argument: suspend TeamsRuleRuleSettingsDnsResolversArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsDnsResolversArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.dnsResolvers = mapped
}
/**
* @param value Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
*/
@JvmName("xuobnwikgecunuxi")
public suspend fun egress(`value`: TeamsRuleRuleSettingsEgressArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.egress = mapped
}
/**
* @param argument Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
*/
@JvmName("vfcuhysqhvgfyaic")
public suspend fun egress(argument: suspend TeamsRuleRuleSettingsEgressArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsEgressArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.egress = mapped
}
/**
* @param value Set to true, to ignore the category matches at CNAME domains in a response.
*/
@JvmName("ldpjkeqjaaqkfdpr")
public suspend fun ignoreCnameCategoryMatches(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ignoreCnameCategoryMatches = mapped
}
/**
* @param value Disable DNSSEC validation (must be Allow rule).
*/
@JvmName("jmpbaakiksjirqcd")
public suspend fun insecureDisableDnssecValidation(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.insecureDisableDnssecValidation = mapped
}
/**
* @param value Turns on IP category based filter on dns if the rule contains dns category checks.
*/
@JvmName("okpckjieukqxxpyf")
public suspend fun ipCategories(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ipCategories = mapped
}
/**
* @param value Settings to forward layer 4 traffic.
*/
@JvmName("psvsghcqrtjhssgp")
public suspend fun l4override(`value`: TeamsRuleRuleSettingsL4overrideArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.l4override = mapped
}
/**
* @param argument Settings to forward layer 4 traffic.
*/
@JvmName("yevnhhvubntgvtyn")
public suspend fun l4override(argument: suspend TeamsRuleRuleSettingsL4overrideArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsL4overrideArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.l4override = mapped
}
/**
* @param value Notification settings on a block rule.
*/
@JvmName("nufuejwcxuahoekw")
public suspend fun notificationSettings(`value`: TeamsRuleRuleSettingsNotificationSettingsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.notificationSettings = mapped
}
/**
* @param argument Notification settings on a block rule.
*/
@JvmName("esjtntiaqwnikehd")
public suspend fun notificationSettings(argument: suspend TeamsRuleRuleSettingsNotificationSettingsArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsNotificationSettingsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.notificationSettings = mapped
}
/**
* @param value The host to override matching DNS queries with.
*/
@JvmName("wsvhlxqlsuwsrdgj")
public suspend fun overrideHost(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.overrideHost = mapped
}
/**
* @param value The IPs to override matching DNS queries with.
*/
@JvmName("bpqwqnspogbvnxpu")
public suspend fun overrideIps(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.overrideIps = mapped
}
/**
* @param values The IPs to override matching DNS queries with.
*/
@JvmName("xfbxsmymwpdhfyke")
public suspend fun overrideIps(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.overrideIps = mapped
}
/**
* @param value Configure DLP Payload Logging settings for this rule.
*/
@JvmName("nptyachiotcujtiq")
public suspend fun payloadLog(`value`: TeamsRuleRuleSettingsPayloadLogArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.payloadLog = mapped
}
/**
* @param argument Configure DLP Payload Logging settings for this rule.
*/
@JvmName("mjgkvxfglmxjdrkb")
public suspend fun payloadLog(argument: suspend TeamsRuleRuleSettingsPayloadLogArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsPayloadLogArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.payloadLog = mapped
}
/**
* @param value Enable sending queries that match the resolver policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when `dns_resolvers` are specified.
*/
@JvmName("qywbfglmqpfiqyrl")
public suspend fun resolveDnsThroughCloudflare(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resolveDnsThroughCloudflare = mapped
}
/**
* @param value Configure untrusted certificate settings for this rule.
*/
@JvmName("xehjhgljubnjuyxb")
public suspend fun untrustedCert(`value`: TeamsRuleRuleSettingsUntrustedCertArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.untrustedCert = mapped
}
/**
* @param argument Configure untrusted certificate settings for this rule.
*/
@JvmName("nyviarlkwpjbsenm")
public suspend fun untrustedCert(argument: suspend TeamsRuleRuleSettingsUntrustedCertArgsBuilder.() -> Unit) {
val toBeMapped = TeamsRuleRuleSettingsUntrustedCertArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.untrustedCert = mapped
}
internal fun build(): TeamsRuleRuleSettingsArgs = TeamsRuleRuleSettingsArgs(
addHeaders = addHeaders,
allowChildBypass = allowChildBypass,
auditSsh = auditSsh,
bisoAdminControls = bisoAdminControls,
blockPageEnabled = blockPageEnabled,
blockPageReason = blockPageReason,
bypassParentRule = bypassParentRule,
checkSession = checkSession,
dnsResolvers = dnsResolvers,
egress = egress,
ignoreCnameCategoryMatches = ignoreCnameCategoryMatches,
insecureDisableDnssecValidation = insecureDisableDnssecValidation,
ipCategories = ipCategories,
l4override = l4override,
notificationSettings = notificationSettings,
overrideHost = overrideHost,
overrideIps = overrideIps,
payloadLog = payloadLog,
resolveDnsThroughCloudflare = resolveDnsThroughCloudflare,
untrustedCert = untrustedCert,
)
}