Class: Google::Cloud::Compute::V1::CachePolicy
- Inherits:
-
Object
- Object
- Google::Cloud::Compute::V1::CachePolicy
- Extended by:
- Protobuf::MessageExts::ClassMethods
- Includes:
- Protobuf::MessageExts
- Defined in:
- proto_docs/google/cloud/compute/v1/compute.rb
Overview
Message containing CachePolicy configuration for URL Map's Route Action.
Defined Under Namespace
Modules: CacheMode
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::Cloud::Compute::V1::CachePolicyCacheKeyPolicy
The cache key configuration.
-
#cache_mode ⇒ ::String
Specifies the cache setting for all responses from this route.
-
#client_ttl ⇒ ::Google::Cloud::Compute::V1::Duration
Specifies a separate client (e.g. browser client) maximum TTL for cached content.
-
#default_ttl ⇒ ::Google::Cloud::Compute::V1::Duration
Specifies the default TTL for cached content for responses that do not have an existing valid TTL (max-age or s-maxage).
-
#max_ttl ⇒ ::Google::Cloud::Compute::V1::Duration
Specifies the maximum allowed TTL for cached content.
-
#negative_caching ⇒ ::Boolean
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::Cloud::Compute::V1::CachePolicyNegativeCachingPolicy>
Sets a cache TTL for the specified HTTP status code.
-
#request_coalescing ⇒ ::Boolean
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::Cloud::Compute::V1::Duration
Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
Instance Attribute Details
#cache_bypass_request_header_names ⇒ ::Array<::String>
Returns 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.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#cache_key_policy ⇒ ::Google::Cloud::Compute::V1::CachePolicyCacheKeyPolicy
Returns The cache key configuration. If not specified, the default behavior depends on the backend type: for Backend Services, the complete request URI is used; for Backend Buckets, the request URI is used without the protocol or host, and only query parameters known to Cloud Storage are included.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#cache_mode ⇒ ::String
Returns Specifies the cache setting for all responses from this route. If not
specified, Cloud CDN uses CACHE_ALL_STATIC mode.
Check the CacheMode enum for the list of possible values.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#client_ttl ⇒ ::Google::Cloud::Compute::V1::Duration
Returns Specifies a separate client (e.g. browser client) maximum TTL for cached
content. This is used to clamp the max-age (or Expires) value sent to the
client. With FORCE_CACHE_ALL, the lesser of clientTtl and defaultTtl
is used for the response max-age directive, along with a "public"
directive. For cacheable content in CACHE_ALL_STATIC mode, clientTtl
clamps the max-age from the origin (if specified), or else sets the
response max-age directive to the lesser of the clientTtl and
defaultTtl, and also ensures a "public" cache-control directive is
present. The maximum allowed value is 31,622,400s (1 year). If not
specified, Cloud CDN uses 3600s (1 hour) for CACHE_ALL_STATIC mode.
Cannot exceed maxTtl. Cannot be specified when cacheMode is
USE_ORIGIN_HEADERS.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#default_ttl ⇒ ::Google::Cloud::Compute::V1::Duration
Returns Specifies the default TTL for cached content 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. 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). Infrequently
accessed objects may be evicted from the cache before the defined TTL. If
not specified, Cloud CDN uses 3600s (1 hour) for CACHE_ALL_STATIC and
FORCE_CACHE_ALL modes. Cannot be specified when cacheMode is
USE_ORIGIN_HEADERS.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#max_ttl ⇒ ::Google::Cloud::Compute::V1::Duration
Returns Specifies the maximum allowed TTL for cached content. 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).
Infrequently accessed objects may be evicted from the cache before the
defined TTL. If not specified, Cloud CDN uses 86400s (1 day) for
CACHE_ALL_STATIC mode. Can be specified only for CACHE_ALL_STATIC cache
mode.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#negative_caching ⇒ ::Boolean
Returns 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.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#negative_caching_policy ⇒ ::Array<::Google::Cloud::Compute::V1::CachePolicyNegativeCachingPolicy>
Returns 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.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#request_coalescing ⇒ ::Boolean
Returns 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.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |
#serve_while_stale ⇒ ::Google::Cloud::Compute::V1::Duration
Returns 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.
13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 |
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 13156 class CachePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Specifies the cache setting for all responses from this route. If not # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode. module CacheMode # A value indicating that the enum field is not set. UNDEFINED_CACHE_MODE = 0 # 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. CACHE_ALL_STATIC = 355_027_945 # 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. FORCE_CACHE_ALL = 486_026_928 # Requires the origin to set valid caching headers to cache content. # Responses without these headers will not be cached at the edge, and will # require a full trip to the origin on every request, potentially impacting # performance and increasing load on the origin server. USE_ORIGIN_HEADERS = 55_380_261 end end |