Class: Google::Apis::ComputeV1::BackendBucketCdnPolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/google/apis/compute_v1/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.



2643
2644
2645
# File 'generated/google/apis/compute_v1/classes.rb', line 2643

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

Instance Attribute Details

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


2593
2594
2595
# File 'generated/google/apis/compute_v1/classes.rb', line 2593

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)


2601
2602
2603
# File 'generated/google/apis/compute_v1/classes.rb', line 2601

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)


2613
2614
2615
# File 'generated/google/apis/compute_v1/classes.rb', line 2613

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)


2625
2626
2627
# File 'generated/google/apis/compute_v1/classes.rb', line 2625

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


2636
2637
2638
# File 'generated/google/apis/compute_v1/classes.rb', line 2636

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


2641
2642
2643
# File 'generated/google/apis/compute_v1/classes.rb', line 2641

def signed_url_key_names
  @signed_url_key_names
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2648
2649
2650
2651
2652
2653
2654
2655
# File 'generated/google/apis/compute_v1/classes.rb', line 2648

def update!(**args)
  @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