Class: Google::Apis::ComputeAlpha::BackendServiceCdnPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::BackendServiceCdnPolicy
- Defined in:
- generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/representations.rb
Overview
Message containing Cloud CDN configuration for a backend service.
Instance Attribute Summary collapse
-
#cache_key_policy ⇒ Google::Apis::ComputeAlpha::CacheKeyPolicy
Message containing what to include in the cache key for a request for Cloud CDN.
-
#cache_mode ⇒ String
Corresponds to the JSON property
cacheMode
. -
#client_ttl ⇒ Fixnum
Specifies a separate client (e.g. browser client) TTL, separate from the TTL for Cloud CDN's edge caches.
-
#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::ComputeAlpha::BackendServiceCdnPolicyNegativeCachingPolicy>
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.
-
#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) ⇒ BackendServiceCdnPolicy
constructor
A new instance of BackendServiceCdnPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ BackendServiceCdnPolicy
Returns a new instance of BackendServiceCdnPolicy.
3676 3677 3678 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3676 def initialize(**args) update!(**args) end |
Instance Attribute Details
#cache_key_policy ⇒ Google::Apis::ComputeAlpha::CacheKeyPolicy
Message containing what to include in the cache key for a request for Cloud
CDN.
Corresponds to the JSON property cacheKeyPolicy
3591 3592 3593 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3591 def cache_key_policy @cache_key_policy end |
#cache_mode ⇒ String
Corresponds to the JSON property cacheMode
3596 3597 3598 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3596 def cache_mode @cache_mode end |
#client_ttl ⇒ Fixnum
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
3604 3605 3606 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3604 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" and a value of "-1" disables
caching for that status code. 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
3616 3617 3618 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3616 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. Setting a TTL of "0" means "always revalidate" and a value of "-1"
disables caching for that status code. 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
3628 3629 3630 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3628 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. 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), 414 (URI Too Long), 501 (Not Implemented): 60s These defaults can
be overridden in negative_caching_policy
Corresponds to the JSON property negativeCaching
3640 3641 3642 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3640 def negative_caching @negative_caching end |
#negative_caching_policy ⇒ Array<Google::Apis::ComputeAlpha::BackendServiceCdnPolicyNegativeCachingPolicy>
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
3651 3652 3653 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3651 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
3657 3658 3659 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3657 def request_coalescing @request_coalescing 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
3669 3670 3671 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3669 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
3674 3675 3676 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3674 def signed_url_key_names @signed_url_key_names end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 3681 def update!(**args) @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) @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 |