Class: Google::Apis::ComputeV1::BackendBucketCdnPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::BackendBucketCdnPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Overview
Message containing Cloud CDN configuration for a backend bucket.
Instance Attribute Summary collapse
-
#bypass_cache_on_request_headers ⇒ Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>
Bypass the cache when the specified request headers are matched - e.g.
-
#cache_key_policy ⇒ Google::Apis::ComputeV1::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-max-age).
-
#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::ComputeV1::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.
3100 3101 3102 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3100 def initialize(**args) update!(**args) end |
Instance Attribute Details
#bypass_cache_on_request_headers ⇒ Array<Google::Apis::ComputeV1::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
2975 2976 2977 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2975 def bypass_cache_on_request_headers @bypass_cache_on_request_headers end |
#cache_key_policy ⇒ Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy
Message containing what to include in the cache key for a request for Cloud
CDN.
Corresponds to the JSON property cacheKeyPolicy
2981 2982 2983 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2981 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
2998 2999 3000 |
# File 'lib/google/apis/compute_v1/classes.rb', line 2998 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
3011 3012 3013 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3011 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-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.
Corresponds to the JSON property defaultTtl
3023 3024 3025 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3023 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
3035 3036 3037 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3035 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), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
can be overridden in negative_caching_policy.
Corresponds to the JSON property negativeCaching
3052 3053 3054 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3052 def negative_caching @negative_caching end |
#negative_caching_policy ⇒ Array<Google::Apis::ComputeV1::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
3063 3064 3065 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3063 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
3069 3070 3071 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3069 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-max-age) 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
3082 3083 3084 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3082 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
3093 3094 3095 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3093 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
3098 3099 3100 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3098 def signed_url_key_names @signed_url_key_names end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3105 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 |