com.pulumi.gcp.networkservices.kotlin.outputs.EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.networkservices.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property excludeHost If true, requests to different hosts will be cached separately.
* Note: this should only be enabled if hosts share the same origin and content. Removing the host from the cache key may inadvertently result in different objects being cached than intended, depending on which route the first user matched.
* @property excludeQueryString If true, exclude query string parameters from the cache key
* If false (the default), include the query string parameters in
* the cache key according to includeQueryParameters and
* excludeQueryParameters. If neither includeQueryParameters nor
* excludeQueryParameters is set, the entire query string will be
* included.
* @property excludedQueryParameters Names of query string parameters to exclude from cache keys. All other parameters will be included.
* Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.
* @property includeProtocol If true, http and https requests will be cached separately.
* @property includedCookieNames Names of Cookies to include in cache keys. The cookie name and cookie value of each cookie named will be used as part of the cache key.
* Cookie names:
* - must be valid RFC 6265 "cookie-name" tokens
* - are case sensitive
* - cannot start with "Edge-Cache-" (case insensitive)
* Note that specifying several cookies, and/or cookies that have a large range of values (e.g., per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.
* You may specify up to three cookie names.
* @property includedHeaderNames Names of HTTP request headers to include in cache keys. The value of the header field will be used as part of the cache key.
* - Header names must be valid HTTP RFC 7230 header field values.
* - Header field names are case insensitive
* - To include the HTTP method, use ":method"
* Note that specifying several headers, and/or headers that have a large range of values (e.g. per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.
* @property includedQueryParameters Names of query string parameters to include in cache keys. All other parameters will be excluded.
* Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.
*/
public data class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy(
public val excludeHost: Boolean? = null,
public val excludeQueryString: Boolean? = null,
public val excludedQueryParameters: List? = null,
public val includeProtocol: Boolean? = null,
public val includedCookieNames: List? = null,
public val includedHeaderNames: List? = null,
public val includedQueryParameters: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.networkservices.outputs.EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy): EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy =
EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy(
excludeHost = javaType.excludeHost().map({ args0 -> args0 }).orElse(null),
excludeQueryString = javaType.excludeQueryString().map({ args0 -> args0 }).orElse(null),
excludedQueryParameters = javaType.excludedQueryParameters().map({ args0 -> args0 }),
includeProtocol = javaType.includeProtocol().map({ args0 -> args0 }).orElse(null),
includedCookieNames = javaType.includedCookieNames().map({ args0 -> args0 }),
includedHeaderNames = javaType.includedHeaderNames().map({ args0 -> args0 }),
includedQueryParameters = javaType.includedQueryParameters().map({ args0 -> args0 }),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy