EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs

data class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs(val addSignatures: Output<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgs>? = null, val cacheKeyPolicy: Output<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgs>? = null, val cacheMode: Output<String>? = null, val clientTtl: Output<String>? = null, val defaultTtl: Output<String>? = null, val maxTtl: Output<String>? = null, val negativeCaching: Output<Boolean>? = null, val negativeCachingPolicy: Output<Map<String, String>>? = null, val signedRequestKeyset: Output<String>? = null, val signedRequestMaximumExpirationTtl: Output<String>? = null, val signedRequestMode: Output<String>? = null, val signedTokenOptions: Output<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgs>? = null) : ConvertibleToJava<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs>

Constructors

constructor(addSignatures: Output<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgs>? = null, cacheKeyPolicy: Output<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgs>? = null, cacheMode: Output<String>? = null, clientTtl: Output<String>? = null, defaultTtl: Output<String>? = null, maxTtl: Output<String>? = null, negativeCaching: Output<Boolean>? = null, negativeCachingPolicy: Output<Map<String, String>>? = null, signedRequestKeyset: Output<String>? = null, signedRequestMaximumExpirationTtl: Output<String>? = null, signedRequestMode: Output<String>? = null, signedTokenOptions: Output<EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgs>? = null)

Properties

Link copied to clipboard

Enable signature generation or propagation on this route. This field may only be specified when signedRequestMode is set to REQUIRE_TOKENS. Structure is documented below.

Link copied to clipboard

Defines the request parameters that contribute to the cache key. Structure is documented below.

Link copied to clipboard
val cacheMode: Output<String>? = null

Cache modes allow users to control the behaviour of the cache, what content it should cache automatically, whether to respect origin headers, or whether to unconditionally cache all responses. For all cache modes, Cache-Control headers will be passed to the client. Use clientTtl to override what is sent to the client. Possible values are: CACHE_ALL_STATIC, USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, BYPASS_CACHE.

Link copied to clipboard
val clientTtl: Output<String>? = null

Specifies a separate client (e.g. browser client) TTL, separate from the TTL used by the edge caches. Leaving this empty will use the same cache TTL for both the CDN and the client-facing response.

Link copied to clipboard
val defaultTtl: Output<String>? = null

Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Defaults to 3600s (1 hour).

Link copied to clipboard
val maxTtl: Output<String>? = null

Specifies the maximum allowed TTL for cached content served by this origin. Defaults to 86400s (1 day). Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTtl seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive.

Link copied to clipboard
val negativeCaching: Output<Boolean>? = null

Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. By default, the CDNPolicy will apply the following default TTLs to these status codes:

Link copied to clipboard
val negativeCachingPolicy: Output<Map<String, String>>? = null

Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.

Link copied to clipboard
val signedRequestKeyset: Output<String>? = null

The EdgeCacheKeyset containing the set of public keys used to validate signed requests at the edge.

Link copied to clipboard

Limit how far into the future the expiration time of a signed request may be. When set, a signed request is rejected if its expiration time is later than now + signedRequestMaximumExpirationTtl, where now is the time at which the signed request is first handled by the CDN.

Link copied to clipboard
val signedRequestMode: Output<String>? = null

Whether to enforce signed requests. The default value is DISABLED, which means all content is public, and does not authorize access. You must also set a signedRequestKeyset to enable signed requests. When set to REQUIRE_SIGNATURES, all matching requests will have their signature validated. Requests that were not signed with the corresponding private key, or that are otherwise invalid (expired, do not match the signature, IP address, or header) will be rejected with a HTTP 403 and (if enabled) logged. Possible values are: DISABLED, REQUIRE_SIGNATURES, REQUIRE_TOKENS.

Link copied to clipboard

Additional options for signed tokens. signedTokenOptions may only be specified when signedRequestMode is REQUIRE_TOKENS. Structure is documented below.

Functions

Link copied to clipboard
open override fun toJava(): EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs