Class: Google::Apis::ComputeAlpha::BackendBucketCdnPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::BackendBucketCdnPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
Message containing Cloud CDN configuration for a backend bucket.
Instance Attribute Summary collapse
-
#bypass_cache_on_request_headers ⇒ Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>
Bypass the cache when the specified request headers are matched - e.g.
-
#cache_key_policy ⇒ Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy
Message containing what to include in the cache key for a request for Cloud CDN.
-
#cache_mode ⇒ String
Specifies the cache setting for all responses from this backend.
-
#client_ttl ⇒ Fixnum
Specifies a separate client (e.g. browser client) maximum TTL.
-
#default_ttl ⇒ Fixnum
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-maxage).
-
#max_ttl ⇒ Fixnum
Specifies the maximum allowed TTL for cached content served by this origin.
-
#negative_caching ⇒ Boolean
(also: #negative_caching?)
Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
-
#negative_caching_policy ⇒ Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyNegativeCachingPolicy>
Sets a cache TTL for the specified HTTP status code.
-
#request_coalescing ⇒ Boolean
(also: #request_coalescing?)
If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
-
#serve_while_stale ⇒ Fixnum
Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
-
#signed_url_cache_max_age_sec ⇒ Fixnum
Maximum number of seconds the response to a signed URL request will be considered fresh.
-
#signed_url_key_names ⇒ Array<String>
[Output Only] Names of the keys for signing request URLs.
Instance Method Summary collapse
-
#initialize(**args) ⇒ BackendBucketCdnPolicy
constructor
A new instance of BackendBucketCdnPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ BackendBucketCdnPolicy
Returns a new instance of BackendBucketCdnPolicy.
4130 4131 4132 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4130 def initialize(**args) update!(**args) end |
Instance Attribute Details
#bypass_cache_on_request_headers ⇒ Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>
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.
Corresponds to the JSON property bypassCacheOnRequestHeaders
3986 3987 3988 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3986 def bypass_cache_on_request_headers @bypass_cache_on_request_headers end |
#cache_key_policy ⇒ Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy
Message containing what to include in the cache key for a request for
Cloud CDN.
Corresponds to the JSON property cacheKeyPolicy
3992 3993 3994 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3992 def cache_key_policy @cache_key_policy end |
#cache_mode ⇒ 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.
If no value is provided for cdnPolicy.cacheMode, it defaults
to CACHE_ALL_STATIC.
Corresponds to the JSON property cacheMode
4013 4014 4015 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4013 def cache_mode @cache_mode end |
#client_ttl ⇒ Fixnum
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).
Corresponds to the JSON property clientTtl
4027 4028 4029 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4027 def client_ttl @client_ttl end |
#default_ttl ⇒ Fixnum
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-maxage).
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.
Corresponds to the JSON property defaultTtl
4040 4041 4042 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4040 def default_ttl @default_ttl end |
#max_ttl ⇒ Fixnum
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.
Corresponds to the JSON property maxTtl
4055 4056 4057 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4055 def max_ttl @max_ttl end |
#negative_caching ⇒ Boolean Also known as: negative_caching?
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), 501 (Not Implemented): 60s.
These defaults can be overridden in negative_caching_policy.
Corresponds to the JSON property negativeCaching
4076 4077 4078 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4076 def negative_caching @negative_caching end |
#negative_caching_policy ⇒ Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyNegativeCachingPolicy>
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.
Corresponds to the JSON property negativeCachingPolicy
4089 4090 4091 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4089 def negative_caching_policy @negative_caching_policy end |
#request_coalescing ⇒ Boolean Also known as: request_coalescing?
If true then Cloud CDN will combine multiple concurrent cache fill
requests into a small number of requests to the origin.
Corresponds to the JSON property requestCoalescing
4095 4096 4097 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4095 def request_coalescing @request_coalescing end |
#serve_while_stale ⇒ Fixnum
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-maxage) of a cached
response.
The maximum allowed value is 604800 (1 week).
Set this to zero (0) to disable serve-while-stale.
Corresponds to the JSON property serveWhileStale
4111 4112 4113 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4111 def serve_while_stale @serve_while_stale end |
#signed_url_cache_max_age_sec ⇒ Fixnum
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.
Corresponds to the JSON property signedUrlCacheMaxAgeSec
4123 4124 4125 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4123 def signed_url_cache_max_age_sec @signed_url_cache_max_age_sec end |
#signed_url_key_names ⇒ Array<String>
[Output Only] Names of the keys for signing request URLs.
Corresponds to the JSON property signedUrlKeyNames
4128 4129 4130 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4128 def signed_url_key_names @signed_url_key_names end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 4135 def update!(**args) @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers) @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy) @cache_mode = args[:cache_mode] if args.key?(:cache_mode) @client_ttl = args[:client_ttl] if args.key?(:client_ttl) @default_ttl = args[:default_ttl] if args.key?(:default_ttl) @max_ttl = args[:max_ttl] if args.key?(:max_ttl) @negative_caching = args[:negative_caching] if args.key?(:negative_caching) @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy) @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing) @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale) @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec) @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names) end |