Class: Google::Apis::ComputeAlpha::CachePolicy

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ CachePolicy

Returns a new instance of CachePolicy.



8039
8040
8041
# File 'lib/google/apis/compute_alpha/classes.rb', line 8039

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#cache_bypass_request_header_namesArray<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 cachePolicy.cacheMode settings. Corresponds to the JSON property cacheBypassRequestHeaderNames

Returns:

  • (Array<String>)


7952
7953
7954
# File 'lib/google/apis/compute_alpha/classes.rb', line 7952

def cache_bypass_request_header_names
  @cache_bypass_request_header_names
end

#cache_key_policyGoogle::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



7958
7959
7960
# File 'lib/google/apis/compute_alpha/classes.rb', line 7958

def cache_key_policy
  @cache_key_policy
end

#cache_modeString

Specifies the cache setting for all responses from this route. If not specified, the default value is CACHE_ALL_STATIC. Corresponds to the JSON property cacheMode

Returns:

  • (String)


7964
7965
7966
# File 'lib/google/apis/compute_alpha/classes.rb', line 7964

def cache_mode
  @cache_mode
end

#client_ttlGoogle::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



7972
7973
7974
# File 'lib/google/apis/compute_alpha/classes.rb', line 7972

def client_ttl
  @client_ttl
end

#default_ttlGoogle::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



7980
7981
7982
# File 'lib/google/apis/compute_alpha/classes.rb', line 7980

def default_ttl
  @default_ttl
end

#max_ttlGoogle::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



7988
7989
7990
# File 'lib/google/apis/compute_alpha/classes.rb', line 7988

def max_ttl
  @max_ttl
end

#negative_cachingBoolean 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

Returns:

  • (Boolean)


8009
8010
8011
# File 'lib/google/apis/compute_alpha/classes.rb', line 8009

def negative_caching
  @negative_caching
end

#negative_caching_policyArray<Google::Apis::ComputeAlpha::CachePolicyNegativeCachingPolicy>

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



8022
8023
8024
# File 'lib/google/apis/compute_alpha/classes.rb', line 8022

def negative_caching_policy
  @negative_caching_policy
end

#request_coalescingBoolean 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

Returns:

  • (Boolean)


8028
8029
8030
# File 'lib/google/apis/compute_alpha/classes.rb', line 8028

def request_coalescing
  @request_coalescing
end

#serve_while_staleGoogle::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



8037
8038
8039
# File 'lib/google/apis/compute_alpha/classes.rb', line 8037

def serve_while_stale
  @serve_while_stale
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
# File 'lib/google/apis/compute_alpha/classes.rb', line 8044

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