com.pulumi.cloudflare.kotlin.outputs.RulesetRuleActionParameters.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-cloudflare-kotlin Show documentation
Show all versions of pulumi-cloudflare-kotlin Show documentation
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.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),
)
}
}