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

com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParameters.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
import kotlin.collections.Map

/**
 *
 * @property additionalCacheablePorts Specifies uncommon ports to allow cacheable assets to be served from.
 * @property algorithms Compression algorithms to use in order of preference.
 * @property automaticHttpsRewrites Turn on or off Cloudflare Automatic HTTPS rewrites.
 * @property autominifies Indicate which file extensions to minify automatically.
 * @property bic Inspect the visitor's browser for headers commonly associated with spammers and certain bots.
 * @property browserTtl List of browser TTL parameters to apply to the request.
 * @property cache Whether to cache if expression matches.
 * @property cacheKey List of cache key parameters to apply to the request.
 * @property content Content of the custom error response.
 * @property contentType Content-Type of the custom error response.
 * @property cookieFields List of cookie values to include as part of custom fields logging.
 * @property disableApps Turn off all active Cloudflare Apps.
 * @property disableRailgun Turn off railgun feature of the Cloudflare Speed app.
 * @property disableRum Turn off RUM feature.
 * @property disableZaraz Turn off zaraz feature.
 * @property edgeTtl List of edge TTL parameters to apply to the request.
 * @property emailObfuscation Turn on or off the Cloudflare Email Obfuscation feature of the Cloudflare Scrape Shield app.
 * @property fonts Toggle fonts.
 * @property fromList Use a list to lookup information for the action.
 * @property fromValue Use a value to lookup information for the action.
 * @property headers List of HTTP header modifications to perform in the ruleset rule. Note: Headers are order dependent and must be provided sorted alphabetically ascending based on the `name` value.
 * @property hostHeader Host Header that request origin receives.
 * @property hotlinkProtection Turn on or off the hotlink protection feature.
 * @property id Identifier of the action parameter to modify.
 * @property increment
 * @property matchedData List of properties to configure WAF payload logging.
 * @property mirage Turn on or off Cloudflare Mirage of the Cloudflare Speed app.
 * @property opportunisticEncryption Turn on or off the Cloudflare Opportunistic Encryption feature of the Edge Certificates tab in the Cloudflare SSL/TLS app.
 * @property origin List of properties to change request origin.
 * @property originCacheControl Enable or disable the use of a more compliant Cache Control parsing mechanism, enabled by default for most zones.
 * @property originErrorPagePassthru Pass-through error page for origin.
 * @property overrides List of override configurations to apply to the ruleset.
 * @property phases Point in the request/response lifecycle where the ruleset will be created. Available values: `ddos_l4`, `ddos_l7`, `http_config_settings`, `http_custom_errors`, `http_log_custom_fields`, `http_ratelimit`, `http_request_cache_settings`, `http_request_dynamic_redirect`, `http_request_firewall_custom`, `http_request_firewall_managed`, `http_request_late_transform`, `http_request_origin`, `http_request_redirect`, `http_request_sanitize`, `http_request_sbfm`, `http_request_transform`, `http_response_compression`, `http_response_firewall_managed`, `http_response_headers_transform`, `magic_transit`.
 * @property polish Apply options from the Polish feature of the Cloudflare Speed app.
 * @property products Products to target with the actions. Available values: `bic`, `hot`, `ratelimit`, `securityLevel`, `uablock`, `waf`, `zonelockdown`.
 * @property readTimeout Specifies a maximum timeout for reading content from an origin server.
 * @property requestFields List of request headers to include as part of custom fields logging, in lowercase.
 * @property respectStrongEtags Respect strong ETags.
 * @property responseFields List of response headers to include as part of custom fields logging, in lowercase.
 * @property responses List of parameters that configure the response given to end users.
 * @property rocketLoader Turn on or off Cloudflare Rocket Loader in the Cloudflare Speed app.
 * @property rules Map of managed WAF rule ID to comma-delimited string of ruleset rule IDs. Example: `rules = { "efb7b8c949ac4650a09736fc376e9aee" = "5de7edfa648c4d6891dc3e7f84534ffa,e3a567afc347477d9702d9047e97d760" }`.
 * @property ruleset Which ruleset ID to target.
 * @property rulesets List of managed WAF rule IDs to target. Only valid when the `"action"` is set to skip.
 * @property securityLevel Control options for the Security Level feature from the Security app.
 * @property serveStale List of serve stale parameters to apply to the request.
 * @property serverSideExcludes Turn on or off the Server Side Excludes feature of the Cloudflare Scrape Shield app.
 * @property sni List of properties to manange Server Name Indication.
 * @property ssl Control options for the SSL feature of the Edge Certificates tab in the Cloudflare SSL/TLS app.
 * @property statusCode HTTP status code of the custom error response.
 * @property sxg Turn on or off the SXG feature.
 * @property uri List of URI properties to configure for the ruleset rule when performing URL rewrite transformations.
 * @property version Version of the ruleset to deploy.
 */
public data class RulesetRuleActionParameters(
    public val additionalCacheablePorts: List? = null,
    public val algorithms: List? = null,
    public val automaticHttpsRewrites: Boolean? = null,
    public val autominifies: List? = null,
    public val bic: Boolean? = null,
    public val browserTtl: RulesetRuleActionParametersBrowserTtl? = null,
    public val cache: Boolean? = null,
    public val cacheKey: RulesetRuleActionParametersCacheKey? = null,
    public val content: String? = null,
    public val contentType: String? = null,
    public val cookieFields: List? = null,
    public val disableApps: Boolean? = null,
    public val disableRailgun: Boolean? = null,
    public val disableRum: Boolean? = null,
    public val disableZaraz: Boolean? = null,
    public val edgeTtl: RulesetRuleActionParametersEdgeTtl? = null,
    public val emailObfuscation: Boolean? = null,
    public val fonts: Boolean? = null,
    public val fromList: RulesetRuleActionParametersFromList? = null,
    public val fromValue: RulesetRuleActionParametersFromValue? = null,
    public val headers: List? = null,
    public val hostHeader: String? = null,
    public val hotlinkProtection: Boolean? = null,
    public val id: String? = null,
    public val increment: Int? = null,
    public val matchedData: RulesetRuleActionParametersMatchedData? = null,
    public val mirage: Boolean? = null,
    public val opportunisticEncryption: Boolean? = null,
    public val origin: RulesetRuleActionParametersOrigin? = null,
    public val originCacheControl: Boolean? = null,
    public val originErrorPagePassthru: Boolean? = null,
    public val overrides: RulesetRuleActionParametersOverrides? = null,
    public val phases: List? = null,
    public val polish: String? = null,
    public val products: List? = null,
    public val readTimeout: Int? = null,
    public val requestFields: List? = null,
    public val respectStrongEtags: Boolean? = null,
    public val responseFields: List? = null,
    public val responses: List? = null,
    public val rocketLoader: Boolean? = null,
    public val rules: Map? = null,
    public val ruleset: String? = null,
    public val rulesets: List? = null,
    public val securityLevel: String? = null,
    public val serveStale: RulesetRuleActionParametersServeStale? = null,
    public val serverSideExcludes: Boolean? = null,
    public val sni: RulesetRuleActionParametersSni? = null,
    public val ssl: String? = null,
    public val statusCode: Int? = null,
    public val sxg: Boolean? = null,
    public val uri: RulesetRuleActionParametersUri? = null,
    public val version: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.RulesetRuleActionParameters): RulesetRuleActionParameters = RulesetRuleActionParameters(
            additionalCacheablePorts = javaType.additionalCacheablePorts().map({ args0 -> args0 }),
            algorithms = javaType.algorithms().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersAlgorithm.Companion.toKotlin(args0)
                })
            }),
            automaticHttpsRewrites = javaType.automaticHttpsRewrites().map({ args0 -> args0 }).orElse(null),
            autominifies = javaType.autominifies().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersAutominify.Companion.toKotlin(args0)
                })
            }),
            bic = javaType.bic().map({ args0 -> args0 }).orElse(null),
            browserTtl = javaType.browserTtl().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersBrowserTtl.Companion.toKotlin(args0)
                })
            }).orElse(null),
            cache = javaType.cache().map({ args0 -> args0 }).orElse(null),
            cacheKey = javaType.cacheKey().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersCacheKey.Companion.toKotlin(args0)
                })
            }).orElse(null),
            content = javaType.content().map({ args0 -> args0 }).orElse(null),
            contentType = javaType.contentType().map({ args0 -> args0 }).orElse(null),
            cookieFields = javaType.cookieFields().map({ args0 -> args0 }),
            disableApps = javaType.disableApps().map({ args0 -> args0 }).orElse(null),
            disableRailgun = javaType.disableRailgun().map({ args0 -> args0 }).orElse(null),
            disableRum = javaType.disableRum().map({ args0 -> args0 }).orElse(null),
            disableZaraz = javaType.disableZaraz().map({ args0 -> args0 }).orElse(null),
            edgeTtl = javaType.edgeTtl().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersEdgeTtl.Companion.toKotlin(args0)
                })
            }).orElse(null),
            emailObfuscation = javaType.emailObfuscation().map({ args0 -> args0 }).orElse(null),
            fonts = javaType.fonts().map({ args0 -> args0 }).orElse(null),
            fromList = javaType.fromList().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersFromList.Companion.toKotlin(args0)
                })
            }).orElse(null),
            fromValue = javaType.fromValue().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersFromValue.Companion.toKotlin(args0)
                })
            }).orElse(null),
            headers = javaType.headers().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersHeader.Companion.toKotlin(args0)
                })
            }),
            hostHeader = javaType.hostHeader().map({ args0 -> args0 }).orElse(null),
            hotlinkProtection = javaType.hotlinkProtection().map({ args0 -> args0 }).orElse(null),
            id = javaType.id().map({ args0 -> args0 }).orElse(null),
            increment = javaType.increment().map({ args0 -> args0 }).orElse(null),
            matchedData = javaType.matchedData().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersMatchedData.Companion.toKotlin(args0)
                })
            }).orElse(null),
            mirage = javaType.mirage().map({ args0 -> args0 }).orElse(null),
            opportunisticEncryption = javaType.opportunisticEncryption().map({ args0 -> args0 }).orElse(null),
            origin = javaType.origin().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersOrigin.Companion.toKotlin(args0)
                })
            }).orElse(null),
            originCacheControl = javaType.originCacheControl().map({ args0 -> args0 }).orElse(null),
            originErrorPagePassthru = javaType.originErrorPagePassthru().map({ args0 -> args0 }).orElse(null),
            overrides = javaType.overrides().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersOverrides.Companion.toKotlin(args0)
                })
            }).orElse(null),
            phases = javaType.phases().map({ args0 -> args0 }),
            polish = javaType.polish().map({ args0 -> args0 }).orElse(null),
            products = javaType.products().map({ args0 -> args0 }),
            readTimeout = javaType.readTimeout().map({ args0 -> args0 }).orElse(null),
            requestFields = javaType.requestFields().map({ args0 -> args0 }),
            respectStrongEtags = javaType.respectStrongEtags().map({ args0 -> args0 }).orElse(null),
            responseFields = javaType.responseFields().map({ args0 -> args0 }),
            responses = javaType.responses().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersResponse.Companion.toKotlin(args0)
                })
            }),
            rocketLoader = javaType.rocketLoader().map({ args0 -> args0 }).orElse(null),
            rules = javaType.rules().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            ruleset = javaType.ruleset().map({ args0 -> args0 }).orElse(null),
            rulesets = javaType.rulesets().map({ args0 -> args0 }),
            securityLevel = javaType.securityLevel().map({ args0 -> args0 }).orElse(null),
            serveStale = javaType.serveStale().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersServeStale.Companion.toKotlin(args0)
                })
            }).orElse(null),
            serverSideExcludes = javaType.serverSideExcludes().map({ args0 -> args0 }).orElse(null),
            sni = javaType.sni().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersSni.Companion.toKotlin(args0)
                })
            }).orElse(null),
            ssl = javaType.ssl().map({ args0 -> args0 }).orElse(null),
            statusCode = javaType.statusCode().map({ args0 -> args0 }).orElse(null),
            sxg = javaType.sxg().map({ args0 -> args0 }).orElse(null),
            uri = javaType.uri().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParametersUri.Companion.toKotlin(args0)
                })
            }).orElse(null),
            version = javaType.version().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy