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

com.pulumi.cloudflare.kotlin.inputs.PageRuleActionsArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.inputs

import com.pulumi.cloudflare.inputs.PageRuleActionsArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property alwaysUseHttps Boolean of whether this action is enabled. Default: false.
 * @property automaticHttpsRewrites Whether this action is `"on"` or `"off"`.
 * @property browserCacheTtl The Time To Live for the browser cache. `0` means 'Respect Existing Headers'
 * @property browserCheck Whether this action is `"on"` or `"off"`.
 * @property bypassCacheOnCookie String value of cookie name to conditionally bypass cache the page.
 * @property cacheByDeviceType Whether this action is `"on"` or `"off"`.
 * @property cacheDeceptionArmor Whether this action is `"on"` or `"off"`.
 * @property cacheKeyFields Controls how Cloudflare creates Cache Keys used to identify files in cache. See below for full description.
 * @property cacheLevel Whether to set the cache level to `"bypass"`, `"basic"`, `"simplified"`, `"aggressive"`, or `"cache_everything"`.
 * @property cacheOnCookie String value of cookie name to conditionally cache the page.
 * @property cacheTtlByStatuses Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
 * @property disableApps Boolean of whether this action is enabled. Default: false.
 * @property disablePerformance Boolean of whether this action is enabled. Default: false.
 * @property disableRailgun Boolean of whether this action is enabled. Default: false.
 * @property disableSecurity Boolean of whether this action is enabled. Default: false.
 * @property disableZaraz Boolean of whether this action is enabled. Default: false.
 * @property edgeCacheTtl The Time To Live for the edge cache.
 * @property emailObfuscation Whether this action is `"on"` or `"off"`.
 * @property explicitCacheControl Whether origin Cache-Control action is `"on"` or `"off"`.
 * @property forwardingUrl The URL to forward to, and with what status. See below.
 * @property hostHeaderOverride Value of the Host header to send.
 * @property ipGeolocation Whether this action is `"on"` or `"off"`.
 * @property minifies The configuration for HTML, CSS and JS minification. See below for full list of options.
 * @property mirage Whether this action is `"on"` or `"off"`.
 * @property opportunisticEncryption Whether this action is `"on"` or `"off"`.
 * @property originErrorPagePassThru Whether this action is `"on"` or `"off"`.
 * @property polish Whether this action is `"off"`, `"lossless"` or `"lossy"`.
 * @property resolveOverride Overridden origin server name.
 * @property respectStrongEtag Whether this action is `"on"` or `"off"`.
 * @property responseBuffering Whether this action is `"on"` or `"off"`.
 * @property rocketLoader Whether to set the rocket loader to `"on"`, `"off"`.
 * @property securityLevel Whether to set the security level to `"off"`, `"essentially_off"`, `"low"`, `"medium"`, `"high"`, or `"under_attack"`.
 * @property serverSideExclude Whether this action is `"on"` or `"off"`.
 * @property sortQueryStringForCache Whether this action is `"on"` or `"off"`.
 * @property ssl Whether to set the SSL mode to `"off"`, `"flexible"`, `"full"`, `"strict"`, or `"origin_pull"`.
 * @property trueClientIpHeader Whether this action is `"on"` or `"off"`.
 * @property waf Whether this action is `"on"` or `"off"`.
 */
public data class PageRuleActionsArgs(
    public val alwaysUseHttps: Output? = null,
    public val automaticHttpsRewrites: Output? = null,
    public val browserCacheTtl: Output? = null,
    public val browserCheck: Output? = null,
    public val bypassCacheOnCookie: Output? = null,
    public val cacheByDeviceType: Output? = null,
    public val cacheDeceptionArmor: Output? = null,
    public val cacheKeyFields: Output? = null,
    public val cacheLevel: Output? = null,
    public val cacheOnCookie: Output? = null,
    public val cacheTtlByStatuses: Output>? = null,
    public val disableApps: Output? = null,
    public val disablePerformance: Output? = null,
    public val disableRailgun: Output? = null,
    public val disableSecurity: Output? = null,
    public val disableZaraz: Output? = null,
    public val edgeCacheTtl: Output? = null,
    public val emailObfuscation: Output? = null,
    public val explicitCacheControl: Output? = null,
    public val forwardingUrl: Output? = null,
    public val hostHeaderOverride: Output? = null,
    public val ipGeolocation: Output? = null,
    public val minifies: Output>? = null,
    public val mirage: Output? = null,
    public val opportunisticEncryption: Output? = null,
    public val originErrorPagePassThru: Output? = null,
    public val polish: Output? = null,
    public val resolveOverride: Output? = null,
    public val respectStrongEtag: Output? = null,
    public val responseBuffering: Output? = null,
    public val rocketLoader: Output? = null,
    public val securityLevel: Output? = null,
    public val serverSideExclude: Output? = null,
    public val sortQueryStringForCache: Output? = null,
    public val ssl: Output? = null,
    public val trueClientIpHeader: Output? = null,
    public val waf: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.cloudflare.inputs.PageRuleActionsArgs =
        com.pulumi.cloudflare.inputs.PageRuleActionsArgs.builder()
            .alwaysUseHttps(alwaysUseHttps?.applyValue({ args0 -> args0 }))
            .automaticHttpsRewrites(automaticHttpsRewrites?.applyValue({ args0 -> args0 }))
            .browserCacheTtl(browserCacheTtl?.applyValue({ args0 -> args0 }))
            .browserCheck(browserCheck?.applyValue({ args0 -> args0 }))
            .bypassCacheOnCookie(bypassCacheOnCookie?.applyValue({ args0 -> args0 }))
            .cacheByDeviceType(cacheByDeviceType?.applyValue({ args0 -> args0 }))
            .cacheDeceptionArmor(cacheDeceptionArmor?.applyValue({ args0 -> args0 }))
            .cacheKeyFields(cacheKeyFields?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .cacheLevel(cacheLevel?.applyValue({ args0 -> args0 }))
            .cacheOnCookie(cacheOnCookie?.applyValue({ args0 -> args0 }))
            .cacheTtlByStatuses(
                cacheTtlByStatuses?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .disableApps(disableApps?.applyValue({ args0 -> args0 }))
            .disablePerformance(disablePerformance?.applyValue({ args0 -> args0 }))
            .disableRailgun(disableRailgun?.applyValue({ args0 -> args0 }))
            .disableSecurity(disableSecurity?.applyValue({ args0 -> args0 }))
            .disableZaraz(disableZaraz?.applyValue({ args0 -> args0 }))
            .edgeCacheTtl(edgeCacheTtl?.applyValue({ args0 -> args0 }))
            .emailObfuscation(emailObfuscation?.applyValue({ args0 -> args0 }))
            .explicitCacheControl(explicitCacheControl?.applyValue({ args0 -> args0 }))
            .forwardingUrl(forwardingUrl?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .hostHeaderOverride(hostHeaderOverride?.applyValue({ args0 -> args0 }))
            .ipGeolocation(ipGeolocation?.applyValue({ args0 -> args0 }))
            .minifies(
                minifies?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .mirage(mirage?.applyValue({ args0 -> args0 }))
            .opportunisticEncryption(opportunisticEncryption?.applyValue({ args0 -> args0 }))
            .originErrorPagePassThru(originErrorPagePassThru?.applyValue({ args0 -> args0 }))
            .polish(polish?.applyValue({ args0 -> args0 }))
            .resolveOverride(resolveOverride?.applyValue({ args0 -> args0 }))
            .respectStrongEtag(respectStrongEtag?.applyValue({ args0 -> args0 }))
            .responseBuffering(responseBuffering?.applyValue({ args0 -> args0 }))
            .rocketLoader(rocketLoader?.applyValue({ args0 -> args0 }))
            .securityLevel(securityLevel?.applyValue({ args0 -> args0 }))
            .serverSideExclude(serverSideExclude?.applyValue({ args0 -> args0 }))
            .sortQueryStringForCache(sortQueryStringForCache?.applyValue({ args0 -> args0 }))
            .ssl(ssl?.applyValue({ args0 -> args0 }))
            .trueClientIpHeader(trueClientIpHeader?.applyValue({ args0 -> args0 }))
            .waf(waf?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [PageRuleActionsArgs].
 */
@PulumiTagMarker
public class PageRuleActionsArgsBuilder internal constructor() {
    private var alwaysUseHttps: Output? = null

    private var automaticHttpsRewrites: Output? = null

    private var browserCacheTtl: Output? = null

    private var browserCheck: Output? = null

    private var bypassCacheOnCookie: Output? = null

    private var cacheByDeviceType: Output? = null

    private var cacheDeceptionArmor: Output? = null

    private var cacheKeyFields: Output? = null

    private var cacheLevel: Output? = null

    private var cacheOnCookie: Output? = null

    private var cacheTtlByStatuses: Output>? = null

    private var disableApps: Output? = null

    private var disablePerformance: Output? = null

    private var disableRailgun: Output? = null

    private var disableSecurity: Output? = null

    private var disableZaraz: Output? = null

    private var edgeCacheTtl: Output? = null

    private var emailObfuscation: Output? = null

    private var explicitCacheControl: Output? = null

    private var forwardingUrl: Output? = null

    private var hostHeaderOverride: Output? = null

    private var ipGeolocation: Output? = null

    private var minifies: Output>? = null

    private var mirage: Output? = null

    private var opportunisticEncryption: Output? = null

    private var originErrorPagePassThru: Output? = null

    private var polish: Output? = null

    private var resolveOverride: Output? = null

    private var respectStrongEtag: Output? = null

    private var responseBuffering: Output? = null

    private var rocketLoader: Output? = null

    private var securityLevel: Output? = null

    private var serverSideExclude: Output? = null

    private var sortQueryStringForCache: Output? = null

    private var ssl: Output? = null

    private var trueClientIpHeader: Output? = null

    private var waf: Output? = null

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("akpqnhvtcisyowpo")
    public suspend fun alwaysUseHttps(`value`: Output) {
        this.alwaysUseHttps = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("venjbocdnwauwocc")
    public suspend fun automaticHttpsRewrites(`value`: Output) {
        this.automaticHttpsRewrites = value
    }

    /**
     * @param value The Time To Live for the browser cache. `0` means 'Respect Existing Headers'
     */
    @JvmName("uwcjimhvqqdrnfmc")
    public suspend fun browserCacheTtl(`value`: Output) {
        this.browserCacheTtl = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("ffduavffwkwbxbmv")
    public suspend fun browserCheck(`value`: Output) {
        this.browserCheck = value
    }

    /**
     * @param value String value of cookie name to conditionally bypass cache the page.
     */
    @JvmName("abcuplkgawysgrym")
    public suspend fun bypassCacheOnCookie(`value`: Output) {
        this.bypassCacheOnCookie = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("cqiapvetnjnrlsco")
    public suspend fun cacheByDeviceType(`value`: Output) {
        this.cacheByDeviceType = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("njbtuadyyigmxvkv")
    public suspend fun cacheDeceptionArmor(`value`: Output) {
        this.cacheDeceptionArmor = value
    }

    /**
     * @param value Controls how Cloudflare creates Cache Keys used to identify files in cache. See below for full description.
     */
    @JvmName("crkltpvovjimhace")
    public suspend fun cacheKeyFields(`value`: Output) {
        this.cacheKeyFields = value
    }

    /**
     * @param value Whether to set the cache level to `"bypass"`, `"basic"`, `"simplified"`, `"aggressive"`, or `"cache_everything"`.
     */
    @JvmName("yyfblsvvwanqmojv")
    public suspend fun cacheLevel(`value`: Output) {
        this.cacheLevel = value
    }

    /**
     * @param value String value of cookie name to conditionally cache the page.
     */
    @JvmName("fnosqtmjxbwjhcre")
    public suspend fun cacheOnCookie(`value`: Output) {
        this.cacheOnCookie = value
    }

    /**
     * @param value Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("qnpiweqojmuxrief")
    public suspend fun cacheTtlByStatuses(`value`: Output>) {
        this.cacheTtlByStatuses = value
    }

    @JvmName("lwyoiislrohnmwpo")
    public suspend fun cacheTtlByStatuses(vararg values: Output) {
        this.cacheTtlByStatuses = Output.all(values.asList())
    }

    /**
     * @param values Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("bopxsywdwkliqvrp")
    public suspend fun cacheTtlByStatuses(values: List>) {
        this.cacheTtlByStatuses = Output.all(values)
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("sxgxbxulljujabov")
    public suspend fun disableApps(`value`: Output) {
        this.disableApps = value
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("rcytdwwcmfnuwtjw")
    public suspend fun disablePerformance(`value`: Output) {
        this.disablePerformance = value
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("aglwbsdeiwfmrthy")
    public suspend fun disableRailgun(`value`: Output) {
        this.disableRailgun = value
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("cqjmebxeqsosnjlv")
    public suspend fun disableSecurity(`value`: Output) {
        this.disableSecurity = value
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("gagkhgvkvqrqlxey")
    public suspend fun disableZaraz(`value`: Output) {
        this.disableZaraz = value
    }

    /**
     * @param value The Time To Live for the edge cache.
     */
    @JvmName("hajgrdhvrtbryccj")
    public suspend fun edgeCacheTtl(`value`: Output) {
        this.edgeCacheTtl = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("bbolyaxnvkpjqddw")
    public suspend fun emailObfuscation(`value`: Output) {
        this.emailObfuscation = value
    }

    /**
     * @param value Whether origin Cache-Control action is `"on"` or `"off"`.
     */
    @JvmName("cpcdidymgpeeqegi")
    public suspend fun explicitCacheControl(`value`: Output) {
        this.explicitCacheControl = value
    }

    /**
     * @param value The URL to forward to, and with what status. See below.
     */
    @JvmName("wsqwsuxyinkhihws")
    public suspend fun forwardingUrl(`value`: Output) {
        this.forwardingUrl = value
    }

    /**
     * @param value Value of the Host header to send.
     */
    @JvmName("hfsnpheepvyxbwpx")
    public suspend fun hostHeaderOverride(`value`: Output) {
        this.hostHeaderOverride = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("tgtqgpbspeffkdfr")
    public suspend fun ipGeolocation(`value`: Output) {
        this.ipGeolocation = value
    }

    /**
     * @param value The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("pnlvwwvikcmfxypr")
    public suspend fun minifies(`value`: Output>) {
        this.minifies = value
    }

    @JvmName("damqdyfnretaxwbb")
    public suspend fun minifies(vararg values: Output) {
        this.minifies = Output.all(values.asList())
    }

    /**
     * @param values The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("civnggdwxtipdppr")
    public suspend fun minifies(values: List>) {
        this.minifies = Output.all(values)
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("lbwfgnqgesspiaxx")
    public suspend fun mirage(`value`: Output) {
        this.mirage = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("bwfocxekbgcxkmsj")
    public suspend fun opportunisticEncryption(`value`: Output) {
        this.opportunisticEncryption = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("qbexlsvxniswgecx")
    public suspend fun originErrorPagePassThru(`value`: Output) {
        this.originErrorPagePassThru = value
    }

    /**
     * @param value Whether this action is `"off"`, `"lossless"` or `"lossy"`.
     */
    @JvmName("lmbofoalqjsnfdyu")
    public suspend fun polish(`value`: Output) {
        this.polish = value
    }

    /**
     * @param value Overridden origin server name.
     */
    @JvmName("vrdxugveebvftjvs")
    public suspend fun resolveOverride(`value`: Output) {
        this.resolveOverride = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("dmuuoeendffkadhe")
    public suspend fun respectStrongEtag(`value`: Output) {
        this.respectStrongEtag = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("iqulbbprpvfekecp")
    public suspend fun responseBuffering(`value`: Output) {
        this.responseBuffering = value
    }

    /**
     * @param value Whether to set the rocket loader to `"on"`, `"off"`.
     */
    @JvmName("cvdlvqyhnmyvdyyn")
    public suspend fun rocketLoader(`value`: Output) {
        this.rocketLoader = value
    }

    /**
     * @param value Whether to set the security level to `"off"`, `"essentially_off"`, `"low"`, `"medium"`, `"high"`, or `"under_attack"`.
     */
    @JvmName("opsissmhtxiauppy")
    public suspend fun securityLevel(`value`: Output) {
        this.securityLevel = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("vwehdmbtxircrksu")
    public suspend fun serverSideExclude(`value`: Output) {
        this.serverSideExclude = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("odkepcihrhnekohm")
    public suspend fun sortQueryStringForCache(`value`: Output) {
        this.sortQueryStringForCache = value
    }

    /**
     * @param value Whether to set the SSL mode to `"off"`, `"flexible"`, `"full"`, `"strict"`, or `"origin_pull"`.
     */
    @JvmName("pwjujwjyrlpvelbc")
    public suspend fun ssl(`value`: Output) {
        this.ssl = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("gdvxqyskgyoqrotu")
    public suspend fun trueClientIpHeader(`value`: Output) {
        this.trueClientIpHeader = value
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("jfbcwjqahfxbwfym")
    public suspend fun waf(`value`: Output) {
        this.waf = value
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("lamjbaspmrdljmvg")
    public suspend fun alwaysUseHttps(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alwaysUseHttps = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("klejydrsfauhqcnv")
    public suspend fun automaticHttpsRewrites(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.automaticHttpsRewrites = mapped
    }

    /**
     * @param value The Time To Live for the browser cache. `0` means 'Respect Existing Headers'
     */
    @JvmName("vfmxnosfaaywpxdj")
    public suspend fun browserCacheTtl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.browserCacheTtl = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("ymdabibyoudpiknc")
    public suspend fun browserCheck(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.browserCheck = mapped
    }

    /**
     * @param value String value of cookie name to conditionally bypass cache the page.
     */
    @JvmName("dbslaxcvwclntddu")
    public suspend fun bypassCacheOnCookie(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bypassCacheOnCookie = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("texvesqoopqvykjv")
    public suspend fun cacheByDeviceType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheByDeviceType = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("fwsqvpqvyhihtkew")
    public suspend fun cacheDeceptionArmor(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheDeceptionArmor = mapped
    }

    /**
     * @param value Controls how Cloudflare creates Cache Keys used to identify files in cache. See below for full description.
     */
    @JvmName("gdawxdfbhgrkqvhb")
    public suspend fun cacheKeyFields(`value`: PageRuleActionsCacheKeyFieldsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheKeyFields = mapped
    }

    /**
     * @param argument Controls how Cloudflare creates Cache Keys used to identify files in cache. See below for full description.
     */
    @JvmName("dkkprtosjvcftbhg")
    public suspend fun cacheKeyFields(argument: suspend PageRuleActionsCacheKeyFieldsArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsCacheKeyFieldsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.cacheKeyFields = mapped
    }

    /**
     * @param value Whether to set the cache level to `"bypass"`, `"basic"`, `"simplified"`, `"aggressive"`, or `"cache_everything"`.
     */
    @JvmName("lthjmfrfxnyrygde")
    public suspend fun cacheLevel(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheLevel = mapped
    }

    /**
     * @param value String value of cookie name to conditionally cache the page.
     */
    @JvmName("bjdtnjlorchrofde")
    public suspend fun cacheOnCookie(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheOnCookie = mapped
    }

    /**
     * @param value Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("uyiihsajmagxehdh")
    public suspend fun cacheTtlByStatuses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cacheTtlByStatuses = mapped
    }

    /**
     * @param argument Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("bhtihiigovaqvqqv")
    public suspend fun cacheTtlByStatuses(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PageRuleActionsCacheTtlByStatusArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.cacheTtlByStatuses = mapped
    }

    /**
     * @param argument Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("lkjyoofbfpjavmyo")
    public suspend fun cacheTtlByStatuses(vararg argument: suspend PageRuleActionsCacheTtlByStatusArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PageRuleActionsCacheTtlByStatusArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.cacheTtlByStatuses = mapped
    }

    /**
     * @param argument Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("caaynslolvrftybv")
    public suspend fun cacheTtlByStatuses(argument: suspend PageRuleActionsCacheTtlByStatusArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PageRuleActionsCacheTtlByStatusArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.cacheTtlByStatuses = mapped
    }

    /**
     * @param values Set cache TTL based on the response status from the origin web server. Can be specified multiple times. See below for full description.
     */
    @JvmName("sweqipxxlxopvuuo")
    public suspend fun cacheTtlByStatuses(vararg values: PageRuleActionsCacheTtlByStatusArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.cacheTtlByStatuses = mapped
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("blynkitdhkdityqs")
    public suspend fun disableApps(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableApps = mapped
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("dnganjrfvptvpakn")
    public suspend fun disablePerformance(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disablePerformance = mapped
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("gyflxfxprhlsduel")
    public suspend fun disableRailgun(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableRailgun = mapped
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("tpeofggcucgnnymw")
    public suspend fun disableSecurity(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableSecurity = mapped
    }

    /**
     * @param value Boolean of whether this action is enabled. Default: false.
     */
    @JvmName("gkoeqjwsejuawvep")
    public suspend fun disableZaraz(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableZaraz = mapped
    }

    /**
     * @param value The Time To Live for the edge cache.
     */
    @JvmName("xpsuyltlotfqwdpv")
    public suspend fun edgeCacheTtl(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.edgeCacheTtl = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("ulhqpyjmqxgjhrvt")
    public suspend fun emailObfuscation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.emailObfuscation = mapped
    }

    /**
     * @param value Whether origin Cache-Control action is `"on"` or `"off"`.
     */
    @JvmName("ioqqvxlknxuckavf")
    public suspend fun explicitCacheControl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.explicitCacheControl = mapped
    }

    /**
     * @param value The URL to forward to, and with what status. See below.
     */
    @JvmName("qewqmgqvjyhmbxkq")
    public suspend fun forwardingUrl(`value`: PageRuleActionsForwardingUrlArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.forwardingUrl = mapped
    }

    /**
     * @param argument The URL to forward to, and with what status. See below.
     */
    @JvmName("vvaqjketstcjuwan")
    public suspend fun forwardingUrl(argument: suspend PageRuleActionsForwardingUrlArgsBuilder.() -> Unit) {
        val toBeMapped = PageRuleActionsForwardingUrlArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.forwardingUrl = mapped
    }

    /**
     * @param value Value of the Host header to send.
     */
    @JvmName("awgitngokkkokjjf")
    public suspend fun hostHeaderOverride(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hostHeaderOverride = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("ljalkejwklffptlv")
    public suspend fun ipGeolocation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ipGeolocation = mapped
    }

    /**
     * @param value The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("pongagymonskaooy")
    public suspend fun minifies(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minifies = mapped
    }

    /**
     * @param argument The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("orssqiicbkcdjcki")
    public suspend fun minifies(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PageRuleActionsMinifyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.minifies = mapped
    }

    /**
     * @param argument The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("ocbmirlsqkqkxnyc")
    public suspend fun minifies(vararg argument: suspend PageRuleActionsMinifyArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PageRuleActionsMinifyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.minifies = mapped
    }

    /**
     * @param argument The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("paypuvpjgvcvdvfe")
    public suspend fun minifies(argument: suspend PageRuleActionsMinifyArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(PageRuleActionsMinifyArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.minifies = mapped
    }

    /**
     * @param values The configuration for HTML, CSS and JS minification. See below for full list of options.
     */
    @JvmName("mkgejolnolcbxwsv")
    public suspend fun minifies(vararg values: PageRuleActionsMinifyArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.minifies = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("uwcxfgudalufwjro")
    public suspend fun mirage(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mirage = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("erjvlbhuwkwqawen")
    public suspend fun opportunisticEncryption(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.opportunisticEncryption = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("ptxkcdjwovsggbgh")
    public suspend fun originErrorPagePassThru(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.originErrorPagePassThru = mapped
    }

    /**
     * @param value Whether this action is `"off"`, `"lossless"` or `"lossy"`.
     */
    @JvmName("megqiyugoqgktony")
    public suspend fun polish(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.polish = mapped
    }

    /**
     * @param value Overridden origin server name.
     */
    @JvmName("mtsvdgmmosffcavj")
    public suspend fun resolveOverride(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resolveOverride = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("wxlbodkhsybnbouc")
    public suspend fun respectStrongEtag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.respectStrongEtag = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("nqjjndhlnnahbgsa")
    public suspend fun responseBuffering(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseBuffering = mapped
    }

    /**
     * @param value Whether to set the rocket loader to `"on"`, `"off"`.
     */
    @JvmName("utojrxaucgsgymhq")
    public suspend fun rocketLoader(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rocketLoader = mapped
    }

    /**
     * @param value Whether to set the security level to `"off"`, `"essentially_off"`, `"low"`, `"medium"`, `"high"`, or `"under_attack"`.
     */
    @JvmName("enbbgpgnnbpbnhpb")
    public suspend fun securityLevel(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.securityLevel = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("envmamkjpgftnvps")
    public suspend fun serverSideExclude(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverSideExclude = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("xuinjrvtwbqgcaev")
    public suspend fun sortQueryStringForCache(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sortQueryStringForCache = mapped
    }

    /**
     * @param value Whether to set the SSL mode to `"off"`, `"flexible"`, `"full"`, `"strict"`, or `"origin_pull"`.
     */
    @JvmName("rrqhvvcernrfdpda")
    public suspend fun ssl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ssl = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("tonuiaqnwpyxmigy")
    public suspend fun trueClientIpHeader(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.trueClientIpHeader = mapped
    }

    /**
     * @param value Whether this action is `"on"` or `"off"`.
     */
    @JvmName("bukijseknwtmotwi")
    public suspend fun waf(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.waf = mapped
    }

    internal fun build(): PageRuleActionsArgs = PageRuleActionsArgs(
        alwaysUseHttps = alwaysUseHttps,
        automaticHttpsRewrites = automaticHttpsRewrites,
        browserCacheTtl = browserCacheTtl,
        browserCheck = browserCheck,
        bypassCacheOnCookie = bypassCacheOnCookie,
        cacheByDeviceType = cacheByDeviceType,
        cacheDeceptionArmor = cacheDeceptionArmor,
        cacheKeyFields = cacheKeyFields,
        cacheLevel = cacheLevel,
        cacheOnCookie = cacheOnCookie,
        cacheTtlByStatuses = cacheTtlByStatuses,
        disableApps = disableApps,
        disablePerformance = disablePerformance,
        disableRailgun = disableRailgun,
        disableSecurity = disableSecurity,
        disableZaraz = disableZaraz,
        edgeCacheTtl = edgeCacheTtl,
        emailObfuscation = emailObfuscation,
        explicitCacheControl = explicitCacheControl,
        forwardingUrl = forwardingUrl,
        hostHeaderOverride = hostHeaderOverride,
        ipGeolocation = ipGeolocation,
        minifies = minifies,
        mirage = mirage,
        opportunisticEncryption = opportunisticEncryption,
        originErrorPagePassThru = originErrorPagePassThru,
        polish = polish,
        resolveOverride = resolveOverride,
        respectStrongEtag = respectStrongEtag,
        responseBuffering = responseBuffering,
        rocketLoader = rocketLoader,
        securityLevel = securityLevel,
        serverSideExclude = serverSideExclude,
        sortQueryStringForCache = sortQueryStringForCache,
        ssl = ssl,
        trueClientIpHeader = trueClientIpHeader,
        waf = waf,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy