-
Notifications
You must be signed in to change notification settings - Fork 356
/
common_010.proto
341 lines (298 loc) · 17 KB
/
common_010.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
// Copyright 2023 Google LLC
//
// 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
//
// https://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.
// Generated by the C++ microgenerator.
// If you make any local changes, they will be lost.
// file:///workspace/generator/discovery/compute_public_google_rest_v1.json
// revision: 20230920
syntax = "proto3";
package google.cloud.cpp.compute.v1;
// Represents a Cloud Storage Bucket resource. This Cloud Storage bucket
// resource is referenced by a URL map of a load balancer. For more information,
// read Backend Buckets.
message BackendBucket {
// Cloud Storage bucket name.
optional string bucket_name = 1;
// Cloud CDN configuration for this BackendBucket.
optional BackendBucketCdnPolicy cdn_policy = 2;
// Compress text responses using Brotli or gzip compression, based on the
// client's Accept-Encoding header.
// AUTOMATIC: Automatically uses the best compression based on the
// Accept-Encoding header sent by the client.
// DISABLED: Disables compression. Existing compressed responses cached by
// Cloud CDN will not be served to clients.
optional string compression_mode = 3;
// [Output Only] Creation timestamp in RFC3339 text format.
optional string creation_timestamp = 4;
// Headers that the Application Load Balancer should add to proxied responses.
repeated string custom_response_headers = 5;
// An optional textual description of the resource; provided by the client
// when the resource is created.
optional string description = 6;
// [Output Only] The resource URL for the edge security policy associated with
// this backend bucket.
optional string edge_security_policy = 7;
// If true, enable Cloud CDN for this BackendBucket.
optional bool enable_cdn = 8;
// [Output Only] Unique identifier for the resource; defined by the server.
optional string id = 9;
// Type of the resource.
optional string kind = 10;
// Name of the resource. Provided by the client when the resource is created.
// The name must be 1-63 characters long, and comply with RFC1035.
// Specifically, the name must be 1-63 characters long and match the regular
// expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character
// must be a lowercase letter, and all following characters must be a dash,
// lowercase letter, or digit, except the last character, which cannot be a
// dash.
optional string name = 11;
// [Output Only] Server-defined URL for the resource.
optional string self_link = 12;
}
// Message containing Cloud CDN configuration for a backend bucket.
message BackendBucketCdnPolicy {
// 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.
repeated BackendBucketCdnPolicyBypassCacheOnRequestHeader
bypass_cache_on_request_headers = 1;
// The CacheKeyPolicy for this CdnPolicy.
optional BackendBucketCdnPolicyCacheKeyPolicy cache_key_policy = 2;
// 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.
// 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.
// 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.
// INVALID_CACHE_MODE:
// 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.
optional string cache_mode = 3;
// 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).
optional int32 client_ttl = 4;
// 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.
optional int32 default_ttl = 5;
// 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.
optional int32 max_ttl = 6;
// 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.
optional bool negative_caching = 7;
// 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.
repeated BackendBucketCdnPolicyNegativeCachingPolicy negative_caching_policy =
8;
// If true then Cloud CDN will combine multiple concurrent cache fill requests
// into a small number of requests to the origin.
optional bool request_coalescing = 9;
// 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.
optional int32 serve_while_stale = 10;
// 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.
optional string signed_url_cache_max_age_sec = 11;
// [Output Only] Names of the keys for signing request URLs.
repeated string signed_url_key_names = 12;
}
// Bypass the cache when the specified request headers are present, e.g. Pragma
// or Authorization headers. Values are case insensitive. The presence of such a
// header overrides the cache_mode setting.
message BackendBucketCdnPolicyBypassCacheOnRequestHeader {
// The header field name to match on when bypassing cache. Values are
// case-insensitive.
optional string header_name = 1;
}
// Message containing what to include in the cache key for a request for Cloud
// CDN.
message BackendBucketCdnPolicyCacheKeyPolicy {
// Allows HTTP request headers (by name) to be used in the cache key.
repeated string include_http_headers = 1;
// Names of query string parameters to include in cache keys. Default
// parameters are always included. '&' and '=' will be percent encoded and not
// treated as delimiters.
repeated string query_string_whitelist = 2;
}
// Specify CDN TTLs for response error codes.
message BackendBucketCdnPolicyNegativeCachingPolicy {
// The HTTP status code to define a TTL against. Only HTTP status codes 300,
// 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as
// values, and you cannot specify a status code more than once.
optional int32 code = 1;
// The TTL (in seconds) for which to cache responses with the corresponding
// status code. The maximum allowed value is 1800s (30 minutes), noting that
// infrequently accessed objects may be evicted from the cache before the
// defined TTL.
optional int32 ttl = 2;
}
// Contains a list of BackendBucket resources.
message BackendBucketList {
// [Output Only] Unique identifier for the resource; defined by the server.
optional string id = 1;
// A list of BackendBucket resources.
repeated BackendBucket items = 2;
// Type of resource.
optional string kind = 3;
// [Output Only] This token allows you to get the next page of results for
// list requests. If the number of results is larger than maxResults, use the
// nextPageToken as a value for the query parameter pageToken in the next list
// request. Subsequent list requests will have their own nextPageToken to
// continue paging through the results.
optional string next_page_token = 4;
// [Output Only] Server-defined URL for this resource.
optional string self_link = 5;
message Warning {
// [Output Only] A warning code, if applicable. For example, Compute Engine
// returns NO_RESULTS_ON_PAGE if there are no results in the response.
// CLEANUP_FAILED: Warning about failed cleanup of transient changes made by
// a failed operation.
// DEPRECATED_RESOURCE_USED: A link to a deprecated resource was created.
// DEPRECATED_TYPE_USED: When deploying and at least one of the resources
// has a type marked as deprecated
// DISK_SIZE_LARGER_THAN_IMAGE_SIZE: The user created a boot disk that is
// larger than image size.
// EXPERIMENTAL_TYPE_USED: When deploying and at least one of the resources
// has a type marked as experimental
// EXTERNAL_API_WARNING: Warning that is present in an external api call
// FIELD_VALUE_OVERRIDEN: Warning that value of a field has been overridden.
// Deprecated unused field.
// INJECTED_KERNELS_DEPRECATED: The operation involved use of an injected
// kernel, which is deprecated.
// INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB: A WEIGHTED_MAGLEV backend
// service is associated with a health check that is not of type
// HTTP/HTTPS/HTTP2.
// LARGE_DEPLOYMENT_WARNING: When deploying a deployment with a exceedingly
// large number of resources
// LIST_OVERHEAD_QUOTA_EXCEED: Resource can't be retrieved due to list
// overhead quota exceed which captures the amount of resources filtered out
// by user-defined list filter.
// MISSING_TYPE_DEPENDENCY: A resource depends on a missing type
// NEXT_HOP_ADDRESS_NOT_ASSIGNED: The route's nextHopIp address is not
// assigned to an instance on the network.
// NEXT_HOP_CANNOT_IP_FORWARD: The route's next hop instance cannot ip
// forward.
// NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE: The route's nextHopInstance URL
// refers to an instance that does not have an ipv6 interface on the same
// network as the route.
// NEXT_HOP_INSTANCE_NOT_FOUND: The route's nextHopInstance URL refers to an
// instance that does not exist.
// NEXT_HOP_INSTANCE_NOT_ON_NETWORK: The route's nextHopInstance URL refers
// to an instance that is not on the same network as the route.
// NEXT_HOP_NOT_RUNNING: The route's next hop instance does not have a
// status of RUNNING.
// NOT_CRITICAL_ERROR: Error which is not critical. We decided to continue
// the process despite the mentioned error.
// NO_RESULTS_ON_PAGE: No results are present on a particular list page.
// PARTIAL_SUCCESS: Success is reported, but some results may be missing due
// to errors
// REQUIRED_TOS_AGREEMENT: The user attempted to use a resource that
// requires a TOS they have not accepted.
// RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING: Warning that a resource is in
// use.
// RESOURCE_NOT_DELETED: One or more of the resources set to auto-delete
// could not be deleted because they were in use.
// SCHEMA_VALIDATION_IGNORED: When a resource schema validation is ignored.
// SINGLE_INSTANCE_PROPERTY_TEMPLATE: Instance template used in instance
// group manager is valid as such, but its application does not make a lot
// of sense, because it allows only single instance in instance group.
// UNDECLARED_PROPERTIES: When undeclared properties in the schema are
// present
// UNREACHABLE: A given scope cannot be reached.
optional string code = 1;
message DataItem {
// [Output Only] A key that provides more detail on the warning being
// returned. For example, for warnings where there are no results in a
// list request for a particular zone, this key might be scope and the key
// value might be the zone name. Other examples might be a key indicating
// a deprecated resource and a suggested replacement, or a warning about
// invalid network settings (for example, if an instance attempts to
// perform IP forwarding but is not enabled for IP forwarding).
optional string key = 1;
// [Output Only] A warning data value corresponding to the key.
optional string value = 2;
}
// [Output Only] Metadata about this warning in key: value format. For
// example: "data": [ { "key": "scope", "value": "zones/us-east1-d" }
repeated DataItem data = 2;
// [Output Only] A human-readable description of the warning code.
optional string message = 3;
}
// [Output Only] Informational warning message.
optional Warning warning = 6;
}