Class: Google::Apis::ComputeAlpha::CachePolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::CachePolicy
- 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 CachePolicy configuration for URL Map's Route Action.
Instance Attribute Summary collapse
-
#cache_bypass_request_header_names ⇒ Array<String>
Bypass the cache when the specified request headers are matched by name, e.g.
-
#cache_key_policy ⇒ Google::Apis::ComputeAlpha::CachePolicyCacheKeyPolicy
Message containing what to include in the cache key for a request for Cache Policy defined on Route Action.
-
#cache_mode ⇒ String
Specifies the cache setting for all responses from this route.
-
#client_ttl ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#default_ttl ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#max_ttl ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#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::CachePolicyNegativeCachingPolicy>
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 ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
Instance Method Summary collapse
-
#initialize(**args) ⇒ CachePolicy
constructor
A new instance of CachePolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ CachePolicy
Returns a new instance of CachePolicy.
8052 8053 8054 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8052 def initialize(**args) update!(**args) end |
Instance Attribute Details
#cache_bypass_request_header_names ⇒ Array<String>
Bypass the cache when the specified request headers are matched by name,
e.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5
header names can be specified. The cache is bypassed for all cacheMode
values.
Corresponds to the JSON property cacheBypassRequestHeaderNames
7966 7967 7968 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 7966 def cache_bypass_request_header_names @cache_bypass_request_header_names end |
#cache_key_policy ⇒ Google::Apis::ComputeAlpha::CachePolicyCacheKeyPolicy
Message containing what to include in the cache key for a request for Cache
Policy defined on Route Action.
Corresponds to the JSON property cacheKeyPolicy
7972 7973 7974 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 7972 def cache_key_policy @cache_key_policy end |
#cache_mode ⇒ String
Specifies the cache setting for all responses from this route. If not
specified, Cloud CDN uses CACHE_ALL_STATIC mode.
Corresponds to the JSON property cacheMode
7978 7979 7980 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 7978 def cache_mode @cache_mode end |
#client_ttl ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property clientTtl
7986 7987 7988 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 7986 def client_ttl @client_ttl end |
#default_ttl ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property defaultTtl
7994 7995 7996 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 7994 def default_ttl @default_ttl end |
#max_ttl ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property maxTtl
8002 8003 8004 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8002 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 cacheMode 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 cacheMode is set to
FORCE_CACHE_ALL, negative caching applies to all responses
with the specified response code, and overrides any caching headers. By
default, Cloud CDN applies the following TTLs to these HTTP status codes:
- 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m
- 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s
- 405 (Method Not Found), 501 (Not Implemented): 60s
These defaults can be overridden in
negativeCachingPolicy. If not specified, Cloud CDN applies negative caching by default. Corresponds to the JSON propertynegativeCaching
8022 8023 8024 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8022 def negative_caching @negative_caching end |
#negative_caching_policy ⇒ Array<Google::Apis::ComputeAlpha::CachePolicyNegativeCachingPolicy>
Sets a cache TTL for the specified HTTP status code.
negativeCaching must be enabled to configure negativeCachingPolicy.
Omitting the policy and leaving negativeCaching enabled will use Cloud
CDN's default cache TTLs. Note that when specifying an explicit
negativeCachingPolicy, 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
8034 8035 8036 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8034 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. If not specified,
Cloud CDN applies request coalescing by default.
Corresponds to the JSON property requestCoalescing
8041 8042 8043 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8041 def request_coalescing @request_coalescing end |
#serve_while_stale ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property serveWhileStale
8050 8051 8052 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8050 def serve_while_stale @serve_while_stale end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 8057 def update!(**args) @cache_bypass_request_header_names = args[:cache_bypass_request_header_names] if args.key?(:cache_bypass_request_header_names) @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) end |