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

com.pulumi.cloudflare.kotlin.outputs.PageRuleActions.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: 5.40.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.outputs

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

/**
 *
 * @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 PageRuleActions(
    public val alwaysUseHttps: Boolean? = null,
    public val automaticHttpsRewrites: String? = null,
    public val browserCacheTtl: String? = null,
    public val browserCheck: String? = null,
    public val bypassCacheOnCookie: String? = null,
    public val cacheByDeviceType: String? = null,
    public val cacheDeceptionArmor: String? = null,
    public val cacheKeyFields: PageRuleActionsCacheKeyFields? = null,
    public val cacheLevel: String? = null,
    public val cacheOnCookie: String? = null,
    public val cacheTtlByStatuses: List? = null,
    public val disableApps: Boolean? = null,
    public val disablePerformance: Boolean? = null,
    public val disableRailgun: Boolean? = null,
    public val disableSecurity: Boolean? = null,
    public val disableZaraz: Boolean? = null,
    public val edgeCacheTtl: Int? = null,
    public val emailObfuscation: String? = null,
    public val explicitCacheControl: String? = null,
    public val forwardingUrl: PageRuleActionsForwardingUrl? = null,
    public val hostHeaderOverride: String? = null,
    public val ipGeolocation: String? = null,
    public val minifies: List? = null,
    public val mirage: String? = null,
    public val opportunisticEncryption: String? = null,
    public val originErrorPagePassThru: String? = null,
    public val polish: String? = null,
    public val resolveOverride: String? = null,
    public val respectStrongEtag: String? = null,
    public val responseBuffering: String? = null,
    public val rocketLoader: String? = null,
    public val securityLevel: String? = null,
    public val serverSideExclude: String? = null,
    public val sortQueryStringForCache: String? = null,
    public val ssl: String? = null,
    public val trueClientIpHeader: String? = null,
    public val waf: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.PageRuleActions): PageRuleActions =
            PageRuleActions(
                alwaysUseHttps = javaType.alwaysUseHttps().map({ args0 -> args0 }).orElse(null),
                automaticHttpsRewrites = javaType.automaticHttpsRewrites().map({ args0 -> args0 }).orElse(null),
                browserCacheTtl = javaType.browserCacheTtl().map({ args0 -> args0 }).orElse(null),
                browserCheck = javaType.browserCheck().map({ args0 -> args0 }).orElse(null),
                bypassCacheOnCookie = javaType.bypassCacheOnCookie().map({ args0 -> args0 }).orElse(null),
                cacheByDeviceType = javaType.cacheByDeviceType().map({ args0 -> args0 }).orElse(null),
                cacheDeceptionArmor = javaType.cacheDeceptionArmor().map({ args0 -> args0 }).orElse(null),
                cacheKeyFields = javaType.cacheKeyFields().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.cloudflare.kotlin.outputs.PageRuleActionsCacheKeyFields.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                cacheLevel = javaType.cacheLevel().map({ args0 -> args0 }).orElse(null),
                cacheOnCookie = javaType.cacheOnCookie().map({ args0 -> args0 }).orElse(null),
                cacheTtlByStatuses = javaType.cacheTtlByStatuses().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.cloudflare.kotlin.outputs.PageRuleActionsCacheTtlByStatus.Companion.toKotlin(args0)
                    })
                }),
                disableApps = javaType.disableApps().map({ args0 -> args0 }).orElse(null),
                disablePerformance = javaType.disablePerformance().map({ args0 -> args0 }).orElse(null),
                disableRailgun = javaType.disableRailgun().map({ args0 -> args0 }).orElse(null),
                disableSecurity = javaType.disableSecurity().map({ args0 -> args0 }).orElse(null),
                disableZaraz = javaType.disableZaraz().map({ args0 -> args0 }).orElse(null),
                edgeCacheTtl = javaType.edgeCacheTtl().map({ args0 -> args0 }).orElse(null),
                emailObfuscation = javaType.emailObfuscation().map({ args0 -> args0 }).orElse(null),
                explicitCacheControl = javaType.explicitCacheControl().map({ args0 -> args0 }).orElse(null),
                forwardingUrl = javaType.forwardingUrl().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.cloudflare.kotlin.outputs.PageRuleActionsForwardingUrl.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                hostHeaderOverride = javaType.hostHeaderOverride().map({ args0 -> args0 }).orElse(null),
                ipGeolocation = javaType.ipGeolocation().map({ args0 -> args0 }).orElse(null),
                minifies = javaType.minifies().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.cloudflare.kotlin.outputs.PageRuleActionsMinify.Companion.toKotlin(args0)
                    })
                }),
                mirage = javaType.mirage().map({ args0 -> args0 }).orElse(null),
                opportunisticEncryption = javaType.opportunisticEncryption().map({ args0 -> args0 }).orElse(null),
                originErrorPagePassThru = javaType.originErrorPagePassThru().map({ args0 -> args0 }).orElse(null),
                polish = javaType.polish().map({ args0 -> args0 }).orElse(null),
                resolveOverride = javaType.resolveOverride().map({ args0 -> args0 }).orElse(null),
                respectStrongEtag = javaType.respectStrongEtag().map({ args0 -> args0 }).orElse(null),
                responseBuffering = javaType.responseBuffering().map({ args0 -> args0 }).orElse(null),
                rocketLoader = javaType.rocketLoader().map({ args0 -> args0 }).orElse(null),
                securityLevel = javaType.securityLevel().map({ args0 -> args0 }).orElse(null),
                serverSideExclude = javaType.serverSideExclude().map({ args0 -> args0 }).orElse(null),
                sortQueryStringForCache = javaType.sortQueryStringForCache().map({ args0 -> args0 }).orElse(null),
                ssl = javaType.ssl().map({ args0 -> args0 }).orElse(null),
                trueClientIpHeader = javaType.trueClientIpHeader().map({ args0 -> args0 }).orElse(null),
                waf = javaType.waf().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy