Class: Google::Apis::ComputeAlpha::BackendServiceCdnPolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
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

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

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_policyGoogle::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_modeString

Corresponds to the JSON property cacheMode

Returns:

  • (String)

3596
3597
3598
# File 'generated/google/apis/compute_alpha/classes.rb', line 3596

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)

3604
3605
3606
# File 'generated/google/apis/compute_alpha/classes.rb', line 3604

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" 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

Returns:

  • (Fixnum)

3616
3617
3618
# File 'generated/google/apis/compute_alpha/classes.rb', line 3616

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. 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

Returns:

  • (Fixnum)

3628
3629
3630
# File 'generated/google/apis/compute_alpha/classes.rb', line 3628

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. 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

Returns:

  • (Boolean)

3640
3641
3642
# File 'generated/google/apis/compute_alpha/classes.rb', line 3640

def negative_caching
  @negative_caching
end

#negative_caching_policyArray<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_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)

3657
3658
3659
# File 'generated/google/apis/compute_alpha/classes.rb', line 3657

def request_coalescing
  @request_coalescing
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)

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_namesArray<String>

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

Returns:

  • (Array<String>)

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