Struct google_api_proto::google::cloud::compute::v1::BackendServiceCdnPolicy
source · pub struct BackendServiceCdnPolicy {
pub bypass_cache_on_request_headers: Vec<BackendServiceCdnPolicyBypassCacheOnRequestHeader>,
pub cache_key_policy: Option<CacheKeyPolicy>,
pub cache_mode: Option<String>,
pub client_ttl: Option<i32>,
pub default_ttl: Option<i32>,
pub max_ttl: Option<i32>,
pub negative_caching: Option<bool>,
pub negative_caching_policy: Vec<BackendServiceCdnPolicyNegativeCachingPolicy>,
pub request_coalescing: Option<bool>,
pub serve_while_stale: Option<i32>,
pub signed_url_cache_max_age_sec: Option<i64>,
pub signed_url_key_names: Vec<String>,
}
Expand description
Message containing Cloud CDN configuration for a backend service.
Fields§
§bypass_cache_on_request_headers: Vec<BackendServiceCdnPolicyBypassCacheOnRequestHeader>
Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.
cache_key_policy: Option<CacheKeyPolicy>
The CacheKeyPolicy for this CdnPolicy.
cache_mode: Option<String>
Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google’s edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any “private”, “no-store” or “no-cache” directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. Check the CacheMode enum for the list of possible values.
client_ttl: Option<i32>
Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a “public” directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a “public” cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).
default_ttl: Option<i32>
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). Setting a TTL of “0” means “always revalidate”. The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
max_ttl: Option<i32>
Specifies the maximum allowed TTL for cached content served by this origin. 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. Headers sent to the client will not be modified. Setting a TTL of “0” means “always revalidate”. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
negative_caching: Option<bool>
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. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.
negative_caching_policy: Vec<BackendServiceCdnPolicyNegativeCachingPolicy>
Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN’s default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.
request_coalescing: Option<bool>
If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
serve_while_stale: Option<i32>
Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default “max-stale” duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
signed_url_cache_max_age_sec: Option<i64>
Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a “Cache-Control: public, max-age=[TTL]” header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.
signed_url_key_names: Vec<String>
[Output Only] Names of the keys for signing request URLs.
Implementations§
source§impl BackendServiceCdnPolicy
impl BackendServiceCdnPolicy
sourcepub fn cache_mode(&self) -> &str
pub fn cache_mode(&self) -> &str
Returns the value of cache_mode
, or the default value if cache_mode
is unset.
sourcepub fn client_ttl(&self) -> i32
pub fn client_ttl(&self) -> i32
Returns the value of client_ttl
, or the default value if client_ttl
is unset.
sourcepub fn default_ttl(&self) -> i32
pub fn default_ttl(&self) -> i32
Returns the value of default_ttl
, or the default value if default_ttl
is unset.
sourcepub fn serve_while_stale(&self) -> i32
pub fn serve_while_stale(&self) -> i32
Returns the value of serve_while_stale
, or the default value if serve_while_stale
is unset.
sourcepub fn signed_url_cache_max_age_sec(&self) -> i64
pub fn signed_url_cache_max_age_sec(&self) -> i64
Returns the value of signed_url_cache_max_age_sec
, or the default value if signed_url_cache_max_age_sec
is unset.
sourcepub fn max_ttl(&self) -> i32
pub fn max_ttl(&self) -> i32
Returns the value of max_ttl
, or the default value if max_ttl
is unset.
sourcepub fn negative_caching(&self) -> bool
pub fn negative_caching(&self) -> bool
Returns the value of negative_caching
, or the default value if negative_caching
is unset.
sourcepub fn request_coalescing(&self) -> bool
pub fn request_coalescing(&self) -> bool
Returns the value of request_coalescing
, or the default value if request_coalescing
is unset.
Trait Implementations§
source§impl Clone for BackendServiceCdnPolicy
impl Clone for BackendServiceCdnPolicy
source§fn clone(&self) -> BackendServiceCdnPolicy
fn clone(&self) -> BackendServiceCdnPolicy
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BackendServiceCdnPolicy
impl Debug for BackendServiceCdnPolicy
source§impl Default for BackendServiceCdnPolicy
impl Default for BackendServiceCdnPolicy
source§impl Message for BackendServiceCdnPolicy
impl Message for BackendServiceCdnPolicy
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for BackendServiceCdnPolicy
impl PartialEq for BackendServiceCdnPolicy
source§fn eq(&self, other: &BackendServiceCdnPolicy) -> bool
fn eq(&self, other: &BackendServiceCdnPolicy) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for BackendServiceCdnPolicy
Auto Trait Implementations§
impl Freeze for BackendServiceCdnPolicy
impl RefUnwindSafe for BackendServiceCdnPolicy
impl Send for BackendServiceCdnPolicy
impl Sync for BackendServiceCdnPolicy
impl Unpin for BackendServiceCdnPolicy
impl UnwindSafe for BackendServiceCdnPolicy
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request