Class: Google::Apis::ComputeV1::BackendServiceCdnPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::BackendServiceCdnPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Overview
Message containing Cloud CDN configuration for a backend service.
Instance Attribute Summary collapse
-
#cache_key_policy ⇒ Google::Apis::ComputeV1::CacheKeyPolicy
Message containing what to include in the cache key for a request for Cloud CDN.
-
#cache_mode ⇒ String
Specifies the cache setting for all responses from this backend.
-
#client_ttl ⇒ Fixnum
Specifies a separate client (e.g. browser client) maximum TTL.
-
#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.
-
#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.
Constructor Details
#initialize(**args) ⇒ BackendServiceCdnPolicy
Returns a new instance of BackendServiceCdnPolicy.
3277 3278 3279 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3277 def initialize(**args) update!(**args) end |
Instance Attribute Details
#cache_key_policy ⇒ Google::Apis::ComputeV1::CacheKeyPolicy
Message containing what to include in the cache key for a request for Cloud
CDN.
Corresponds to the JSON property cacheKeyPolicy
3205 3206 3207 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3205 def cache_key_policy @cache_key_policy end |
#cache_mode ⇒ String
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
3222 3223 3224 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3222 def cache_mode @cache_mode end |
#client_ttl ⇒ Fixnum
Specifies a separate client (e.g. browser client) maximum TTL. This is used to
clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
the lesser of client_ttl and default_ttl is used for the response max-age
directive, along with a "public" directive. For cacheable content in
CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
specified), or else sets the response max-age directive to the lesser of the
client_ttl and default_ttl, and also ensures a "public" cache-control
directive is present. If a client TTL is not specified, a default value (1
hour) will be used. The maximum allowed value is 86400s (1 day).
Corresponds to the JSON property clientTtl
3235 3236 3237 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3235 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". 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
3247 3248 3249 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3247 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. 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
3259 3260 3261 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3259 def max_ttl @max_ttl 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
3270 3271 3272 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3270 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
3275 3276 3277 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3275 def signed_url_key_names @signed_url_key_names end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3282 3283 3284 3285 3286 3287 3288 3289 3290 |
# File 'lib/google/apis/compute_v1/classes.rb', line 3282 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) @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 |