All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.compute.model.BackendBucketCdnPolicy Maven / Gradle / Ivy

/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.compute.model;

/**
 * Message containing Cloud CDN configuration for a backend bucket.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Compute Engine API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class BackendBucketCdnPolicy extends com.google.api.client.json.GenericJson { /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List bypassCacheOnRequestHeaders; /** * The CacheKeyPolicy for this CdnPolicy. * The value may be {@code null}. */ @com.google.api.client.util.Key private BackendBucketCdnPolicyCacheKeyPolicy cacheKeyPolicy; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String cacheMode; /** * 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 31,622,400s * (1 year). * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer clientTtl; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer defaultTtl; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer maxTtl; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean negativeCaching; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List negativeCachingPolicy; /** * If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number * of requests to the origin. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean requestCoalescing; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer serveWhileStale; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key @com.google.api.client.json.JsonString private java.lang.Long signedUrlCacheMaxAgeSec; /** * [Output Only] Names of the keys for signing request URLs. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List signedUrlKeyNames; /** * 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. * @return value or {@code null} for none */ public java.util.List getBypassCacheOnRequestHeaders() { return bypassCacheOnRequestHeaders; } /** * 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. * @param bypassCacheOnRequestHeaders bypassCacheOnRequestHeaders or {@code null} for none */ public BackendBucketCdnPolicy setBypassCacheOnRequestHeaders(java.util.List bypassCacheOnRequestHeaders) { this.bypassCacheOnRequestHeaders = bypassCacheOnRequestHeaders; return this; } /** * The CacheKeyPolicy for this CdnPolicy. * @return value or {@code null} for none */ public BackendBucketCdnPolicyCacheKeyPolicy getCacheKeyPolicy() { return cacheKeyPolicy; } /** * The CacheKeyPolicy for this CdnPolicy. * @param cacheKeyPolicy cacheKeyPolicy or {@code null} for none */ public BackendBucketCdnPolicy setCacheKeyPolicy(BackendBucketCdnPolicyCacheKeyPolicy cacheKeyPolicy) { this.cacheKeyPolicy = cacheKeyPolicy; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getCacheMode() { return cacheMode; } /** * 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. * @param cacheMode cacheMode or {@code null} for none */ public BackendBucketCdnPolicy setCacheMode(java.lang.String cacheMode) { this.cacheMode = cacheMode; return this; } /** * 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 31,622,400s * (1 year). * @return value or {@code null} for none */ public java.lang.Integer getClientTtl() { return clientTtl; } /** * 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 31,622,400s * (1 year). * @param clientTtl clientTtl or {@code null} for none */ public BackendBucketCdnPolicy setClientTtl(java.lang.Integer clientTtl) { this.clientTtl = clientTtl; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getDefaultTtl() { return defaultTtl; } /** * 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. * @param defaultTtl defaultTtl or {@code null} for none */ public BackendBucketCdnPolicy setDefaultTtl(java.lang.Integer defaultTtl) { this.defaultTtl = defaultTtl; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getMaxTtl() { return maxTtl; } /** * 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. * @param maxTtl maxTtl or {@code null} for none */ public BackendBucketCdnPolicy setMaxTtl(java.lang.Integer maxTtl) { this.maxTtl = maxTtl; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Boolean getNegativeCaching() { return negativeCaching; } /** * 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. * @param negativeCaching negativeCaching or {@code null} for none */ public BackendBucketCdnPolicy setNegativeCaching(java.lang.Boolean negativeCaching) { this.negativeCaching = negativeCaching; return this; } /** * 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. * @return value or {@code null} for none */ public java.util.List getNegativeCachingPolicy() { return negativeCachingPolicy; } /** * 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. * @param negativeCachingPolicy negativeCachingPolicy or {@code null} for none */ public BackendBucketCdnPolicy setNegativeCachingPolicy(java.util.List negativeCachingPolicy) { this.negativeCachingPolicy = negativeCachingPolicy; return this; } /** * If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number * of requests to the origin. * @return value or {@code null} for none */ public java.lang.Boolean getRequestCoalescing() { return requestCoalescing; } /** * If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number * of requests to the origin. * @param requestCoalescing requestCoalescing or {@code null} for none */ public BackendBucketCdnPolicy setRequestCoalescing(java.lang.Boolean requestCoalescing) { this.requestCoalescing = requestCoalescing; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getServeWhileStale() { return serveWhileStale; } /** * 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. * @param serveWhileStale serveWhileStale or {@code null} for none */ public BackendBucketCdnPolicy setServeWhileStale(java.lang.Integer serveWhileStale) { this.serveWhileStale = serveWhileStale; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Long getSignedUrlCacheMaxAgeSec() { return signedUrlCacheMaxAgeSec; } /** * 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. * @param signedUrlCacheMaxAgeSec signedUrlCacheMaxAgeSec or {@code null} for none */ public BackendBucketCdnPolicy setSignedUrlCacheMaxAgeSec(java.lang.Long signedUrlCacheMaxAgeSec) { this.signedUrlCacheMaxAgeSec = signedUrlCacheMaxAgeSec; return this; } /** * [Output Only] Names of the keys for signing request URLs. * @return value or {@code null} for none */ public java.util.List getSignedUrlKeyNames() { return signedUrlKeyNames; } /** * [Output Only] Names of the keys for signing request URLs. * @param signedUrlKeyNames signedUrlKeyNames or {@code null} for none */ public BackendBucketCdnPolicy setSignedUrlKeyNames(java.util.List signedUrlKeyNames) { this.signedUrlKeyNames = signedUrlKeyNames; return this; } @Override public BackendBucketCdnPolicy set(String fieldName, Object value) { return (BackendBucketCdnPolicy) super.set(fieldName, value); } @Override public BackendBucketCdnPolicy clone() { return (BackendBucketCdnPolicy) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy