Class: Google::Apis::ComputeBeta::BackendBucketCdnPolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_beta/classes.rb,
generated/google/apis/compute_beta/representations.rb,
generated/google/apis/compute_beta/representations.rb

Overview

Message containing Cloud CDN configuration for a backend bucket.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BackendBucketCdnPolicy

Returns a new instance of BackendBucketCdnPolicy.



2880
2881
2882
# File 'generated/google/apis/compute_beta/classes.rb', line 2880

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

Instance Attribute Details

#bypass_cache_on_request_headersArray<Google::Apis::ComputeBeta::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



2773
2774
2775
# File 'generated/google/apis/compute_beta/classes.rb', line 2773

def bypass_cache_on_request_headers
  @bypass_cache_on_request_headers
end

#cache_modeString

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. Corresponds to the JSON property cacheMode

Returns:

  • (String)


2790
2791
2792
# File 'generated/google/apis/compute_beta/classes.rb', line 2790

def cache_mode
  @cache_mode
end

#client_ttlFixnum

Specifies a separate client (e.g. browser client) TTL, separate from the TTL for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL for both Cloud CDN and the client-facing response. The maximum allowed value is 86400s (1 day). Corresponds to the JSON property clientTtl

Returns:

  • (Fixnum)


2798
2799
2800
# File 'generated/google/apis/compute_beta/classes.rb', line 2798

def client_ttl
  @client_ttl
end

#default_ttlFixnum

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

Returns:

  • (Fixnum)


2810
2811
2812
# File 'generated/google/apis/compute_beta/classes.rb', line 2810

def default_ttl
  @default_ttl
end

#max_ttlFixnum

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

Returns:

  • (Fixnum)


2822
2823
2824
# File 'generated/google/apis/compute_beta/classes.rb', line 2822

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), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy. Corresponds to the JSON property negativeCaching

Returns:

  • (Boolean)


2839
2840
2841
# File 'generated/google/apis/compute_beta/classes.rb', line 2839

def negative_caching
  @negative_caching
end

#negative_caching_policyArray<Google::Apis::ComputeBeta::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



2850
2851
2852
# File 'generated/google/apis/compute_beta/classes.rb', line 2850

def negative_caching_policy
  @negative_caching_policy
end

#serve_while_staleFixnum

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

Returns:

  • (Fixnum)


2862
2863
2864
# File 'generated/google/apis/compute_beta/classes.rb', line 2862

def serve_while_stale
  @serve_while_stale
end

#signed_url_cache_max_age_secFixnum

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

Returns:

  • (Fixnum)


2873
2874
2875
# File 'generated/google/apis/compute_beta/classes.rb', line 2873

def signed_url_cache_max_age_sec
  @signed_url_cache_max_age_sec
end

#signed_url_key_namesArray<String>

[Output Only] Names of the keys for signing request URLs. Corresponds to the JSON property signedUrlKeyNames

Returns:

  • (Array<String>)


2878
2879
2880
# File 'generated/google/apis/compute_beta/classes.rb', line 2878

def signed_url_key_names
  @signed_url_key_names
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
# File 'generated/google/apis/compute_beta/classes.rb', line 2885

def update!(**args)
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
  @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)
  @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