@google-cloud/logging-api 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -0
- package/build/protos/google/logging/type/http_request.proto +95 -0
- package/build/protos/google/logging/type/log_severity.proto +71 -0
- package/build/protos/google/logging/v2/log_entry.proto +280 -0
- package/build/protos/google/logging/v2/logging.proto +483 -0
- package/build/protos/google/logging/v2/logging_config.proto +2317 -0
- package/build/protos/google/logging/v2/logging_metrics.proto +339 -0
- package/build/protos/protos.d.ts +19677 -0
- package/build/protos/protos.js +1 -0
- package/build/protos/protos.json +1 -0
- package/build/src/index.d.ts +17 -0
- package/build/src/index.js +32 -0
- package/build/src/index.js.map +1 -0
- package/build/src/v2/config_service_v2_client.d.ts +2879 -0
- package/build/src/v2/config_service_v2_client.js +3801 -0
- package/build/src/v2/config_service_v2_client.js.map +1 -0
- package/build/src/v2/config_service_v2_client_config.json +169 -0
- package/build/src/v2/config_service_v2_proto_list.json +8 -0
- package/build/src/v2/gapic_metadata.json +512 -0
- package/build/src/v2/index.d.ts +3 -0
- package/build/src/v2/index.js +27 -0
- package/build/src/v2/index.js.map +1 -0
- package/build/src/v2/logging_service_v2_client.d.ts +1617 -0
- package/build/src/v2/logging_service_v2_client.js +2177 -0
- package/build/src/v2/logging_service_v2_client.js.map +1 -0
- package/build/src/v2/logging_service_v2_client_config.json +61 -0
- package/build/src/v2/logging_service_v2_proto_list.json +8 -0
- package/build/src/v2/metrics_service_v2_client.d.ts +1249 -0
- package/build/src/v2/metrics_service_v2_client.js +1911 -0
- package/build/src/v2/metrics_service_v2_client.js.map +1 -0
- package/build/src/v2/metrics_service_v2_client_config.json +56 -0
- package/build/src/v2/metrics_service_v2_proto_list.json +8 -0
- package/package.json +67 -0
|
@@ -0,0 +1,2317 @@
|
|
|
1
|
+
// Copyright 2025 Google LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
syntax = "proto3";
|
|
16
|
+
|
|
17
|
+
package google.logging.v2;
|
|
18
|
+
|
|
19
|
+
import "google/api/annotations.proto";
|
|
20
|
+
import "google/api/client.proto";
|
|
21
|
+
import "google/api/field_behavior.proto";
|
|
22
|
+
import "google/api/resource.proto";
|
|
23
|
+
import "google/longrunning/operations.proto";
|
|
24
|
+
import "google/protobuf/empty.proto";
|
|
25
|
+
import "google/protobuf/field_mask.proto";
|
|
26
|
+
import "google/protobuf/timestamp.proto";
|
|
27
|
+
|
|
28
|
+
option cc_enable_arenas = true;
|
|
29
|
+
option csharp_namespace = "Google.Cloud.Logging.V2";
|
|
30
|
+
option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb";
|
|
31
|
+
option java_multiple_files = true;
|
|
32
|
+
option java_outer_classname = "LoggingConfigProto";
|
|
33
|
+
option java_package = "com.google.logging.v2";
|
|
34
|
+
option php_namespace = "Google\\Cloud\\Logging\\V2";
|
|
35
|
+
option ruby_package = "Google::Cloud::Logging::V2";
|
|
36
|
+
option (google.api.resource_definition) = {
|
|
37
|
+
type: "logging.googleapis.com/OrganizationLocation"
|
|
38
|
+
pattern: "organizations/{organization}/locations/{location}"
|
|
39
|
+
};
|
|
40
|
+
option (google.api.resource_definition) = {
|
|
41
|
+
type: "logging.googleapis.com/FolderLocation"
|
|
42
|
+
pattern: "folders/{folder}/locations/{location}"
|
|
43
|
+
};
|
|
44
|
+
option (google.api.resource_definition) = {
|
|
45
|
+
type: "logging.googleapis.com/BillingAccountLocation"
|
|
46
|
+
pattern: "billingAccounts/{billing_account}/locations/{location}"
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// Service for configuring sinks used to route log entries.
|
|
50
|
+
service ConfigServiceV2 {
|
|
51
|
+
option (google.api.default_host) = "logging.googleapis.com";
|
|
52
|
+
option (google.api.oauth_scopes) =
|
|
53
|
+
"https://www.googleapis.com/auth/cloud-platform,"
|
|
54
|
+
"https://www.googleapis.com/auth/cloud-platform.read-only,"
|
|
55
|
+
"https://www.googleapis.com/auth/logging.admin,"
|
|
56
|
+
"https://www.googleapis.com/auth/logging.read";
|
|
57
|
+
|
|
58
|
+
// Lists log buckets.
|
|
59
|
+
rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse) {
|
|
60
|
+
option (google.api.http) = {
|
|
61
|
+
get: "/v2/{parent=*/*/locations/*}/buckets"
|
|
62
|
+
additional_bindings { get: "/v2/{parent=projects/*/locations/*}/buckets" }
|
|
63
|
+
additional_bindings {
|
|
64
|
+
get: "/v2/{parent=organizations/*/locations/*}/buckets"
|
|
65
|
+
}
|
|
66
|
+
additional_bindings { get: "/v2/{parent=folders/*/locations/*}/buckets" }
|
|
67
|
+
additional_bindings {
|
|
68
|
+
get: "/v2/{parent=billingAccounts/*/locations/*}/buckets"
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
option (google.api.method_signature) = "parent";
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Gets a log bucket.
|
|
75
|
+
rpc GetBucket(GetBucketRequest) returns (LogBucket) {
|
|
76
|
+
option (google.api.http) = {
|
|
77
|
+
get: "/v2/{name=*/*/locations/*/buckets/*}"
|
|
78
|
+
additional_bindings { get: "/v2/{name=projects/*/locations/*/buckets/*}" }
|
|
79
|
+
additional_bindings {
|
|
80
|
+
get: "/v2/{name=organizations/*/locations/*/buckets/*}"
|
|
81
|
+
}
|
|
82
|
+
additional_bindings { get: "/v2/{name=folders/*/locations/*/buckets/*}" }
|
|
83
|
+
additional_bindings {
|
|
84
|
+
get: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Creates a log bucket asynchronously that can be used to store log entries.
|
|
90
|
+
//
|
|
91
|
+
// After a bucket has been created, the bucket's location cannot be changed.
|
|
92
|
+
rpc CreateBucketAsync(CreateBucketRequest)
|
|
93
|
+
returns (google.longrunning.Operation) {
|
|
94
|
+
option (google.api.http) = {
|
|
95
|
+
post: "/v2/{parent=*/*/locations/*}/buckets:createAsync"
|
|
96
|
+
body: "bucket"
|
|
97
|
+
additional_bindings {
|
|
98
|
+
post: "/v2/{parent=projects/*/locations/*}/buckets:createAsync"
|
|
99
|
+
body: "bucket"
|
|
100
|
+
}
|
|
101
|
+
additional_bindings {
|
|
102
|
+
post: "/v2/{parent=organizations/*/locations/*}/buckets:createAsync"
|
|
103
|
+
body: "bucket"
|
|
104
|
+
}
|
|
105
|
+
additional_bindings {
|
|
106
|
+
post: "/v2/{parent=folders/*/locations/*}/buckets:createAsync"
|
|
107
|
+
body: "bucket"
|
|
108
|
+
}
|
|
109
|
+
additional_bindings {
|
|
110
|
+
post: "/v2/{parent=billingAccounts/*/locations/*}/buckets:createAsync"
|
|
111
|
+
body: "bucket"
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
option (google.longrunning.operation_info) = {
|
|
115
|
+
response_type: "LogBucket"
|
|
116
|
+
metadata_type: "BucketMetadata"
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Updates a log bucket asynchronously.
|
|
121
|
+
//
|
|
122
|
+
// If the bucket has a `lifecycle_state` of `DELETE_REQUESTED`, then
|
|
123
|
+
// `FAILED_PRECONDITION` will be returned.
|
|
124
|
+
//
|
|
125
|
+
// After a bucket has been created, the bucket's location cannot be changed.
|
|
126
|
+
rpc UpdateBucketAsync(UpdateBucketRequest)
|
|
127
|
+
returns (google.longrunning.Operation) {
|
|
128
|
+
option (google.api.http) = {
|
|
129
|
+
post: "/v2/{name=*/*/locations/*/buckets/*}:updateAsync"
|
|
130
|
+
body: "bucket"
|
|
131
|
+
additional_bindings {
|
|
132
|
+
post: "/v2/{name=projects/*/locations/*/buckets/*}:updateAsync"
|
|
133
|
+
body: "bucket"
|
|
134
|
+
}
|
|
135
|
+
additional_bindings {
|
|
136
|
+
post: "/v2/{name=organizations/*/locations/*/buckets/*}:updateAsync"
|
|
137
|
+
body: "bucket"
|
|
138
|
+
}
|
|
139
|
+
additional_bindings {
|
|
140
|
+
post: "/v2/{name=folders/*/locations/*/buckets/*}:updateAsync"
|
|
141
|
+
body: "bucket"
|
|
142
|
+
}
|
|
143
|
+
additional_bindings {
|
|
144
|
+
post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:updateAsync"
|
|
145
|
+
body: "bucket"
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
option (google.longrunning.operation_info) = {
|
|
149
|
+
response_type: "LogBucket"
|
|
150
|
+
metadata_type: "BucketMetadata"
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Creates a log bucket that can be used to store log entries. After a bucket
|
|
155
|
+
// has been created, the bucket's location cannot be changed.
|
|
156
|
+
rpc CreateBucket(CreateBucketRequest) returns (LogBucket) {
|
|
157
|
+
option (google.api.http) = {
|
|
158
|
+
post: "/v2/{parent=*/*/locations/*}/buckets"
|
|
159
|
+
body: "bucket"
|
|
160
|
+
additional_bindings {
|
|
161
|
+
post: "/v2/{parent=projects/*/locations/*}/buckets"
|
|
162
|
+
body: "bucket"
|
|
163
|
+
}
|
|
164
|
+
additional_bindings {
|
|
165
|
+
post: "/v2/{parent=organizations/*/locations/*}/buckets"
|
|
166
|
+
body: "bucket"
|
|
167
|
+
}
|
|
168
|
+
additional_bindings {
|
|
169
|
+
post: "/v2/{parent=folders/*/locations/*}/buckets"
|
|
170
|
+
body: "bucket"
|
|
171
|
+
}
|
|
172
|
+
additional_bindings {
|
|
173
|
+
post: "/v2/{parent=billingAccounts/*/locations/*}/buckets"
|
|
174
|
+
body: "bucket"
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Updates a log bucket.
|
|
180
|
+
//
|
|
181
|
+
// If the bucket has a `lifecycle_state` of `DELETE_REQUESTED`, then
|
|
182
|
+
// `FAILED_PRECONDITION` will be returned.
|
|
183
|
+
//
|
|
184
|
+
// After a bucket has been created, the bucket's location cannot be changed.
|
|
185
|
+
rpc UpdateBucket(UpdateBucketRequest) returns (LogBucket) {
|
|
186
|
+
option (google.api.http) = {
|
|
187
|
+
patch: "/v2/{name=*/*/locations/*/buckets/*}"
|
|
188
|
+
body: "bucket"
|
|
189
|
+
additional_bindings {
|
|
190
|
+
patch: "/v2/{name=projects/*/locations/*/buckets/*}"
|
|
191
|
+
body: "bucket"
|
|
192
|
+
}
|
|
193
|
+
additional_bindings {
|
|
194
|
+
patch: "/v2/{name=organizations/*/locations/*/buckets/*}"
|
|
195
|
+
body: "bucket"
|
|
196
|
+
}
|
|
197
|
+
additional_bindings {
|
|
198
|
+
patch: "/v2/{name=folders/*/locations/*/buckets/*}"
|
|
199
|
+
body: "bucket"
|
|
200
|
+
}
|
|
201
|
+
additional_bindings {
|
|
202
|
+
patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
|
|
203
|
+
body: "bucket"
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Deletes a log bucket.
|
|
209
|
+
//
|
|
210
|
+
// Changes the bucket's `lifecycle_state` to the `DELETE_REQUESTED` state.
|
|
211
|
+
// After 7 days, the bucket will be purged and all log entries in the bucket
|
|
212
|
+
// will be permanently deleted.
|
|
213
|
+
rpc DeleteBucket(DeleteBucketRequest) returns (google.protobuf.Empty) {
|
|
214
|
+
option (google.api.http) = {
|
|
215
|
+
delete: "/v2/{name=*/*/locations/*/buckets/*}"
|
|
216
|
+
additional_bindings {
|
|
217
|
+
delete: "/v2/{name=projects/*/locations/*/buckets/*}"
|
|
218
|
+
}
|
|
219
|
+
additional_bindings {
|
|
220
|
+
delete: "/v2/{name=organizations/*/locations/*/buckets/*}"
|
|
221
|
+
}
|
|
222
|
+
additional_bindings {
|
|
223
|
+
delete: "/v2/{name=folders/*/locations/*/buckets/*}"
|
|
224
|
+
}
|
|
225
|
+
additional_bindings {
|
|
226
|
+
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// Undeletes a log bucket. A bucket that has been deleted can be undeleted
|
|
232
|
+
// within the grace period of 7 days.
|
|
233
|
+
rpc UndeleteBucket(UndeleteBucketRequest) returns (google.protobuf.Empty) {
|
|
234
|
+
option (google.api.http) = {
|
|
235
|
+
post: "/v2/{name=*/*/locations/*/buckets/*}:undelete"
|
|
236
|
+
body: "*"
|
|
237
|
+
additional_bindings {
|
|
238
|
+
post: "/v2/{name=projects/*/locations/*/buckets/*}:undelete"
|
|
239
|
+
body: "*"
|
|
240
|
+
}
|
|
241
|
+
additional_bindings {
|
|
242
|
+
post: "/v2/{name=organizations/*/locations/*/buckets/*}:undelete"
|
|
243
|
+
body: "*"
|
|
244
|
+
}
|
|
245
|
+
additional_bindings {
|
|
246
|
+
post: "/v2/{name=folders/*/locations/*/buckets/*}:undelete"
|
|
247
|
+
body: "*"
|
|
248
|
+
}
|
|
249
|
+
additional_bindings {
|
|
250
|
+
post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:undelete"
|
|
251
|
+
body: "*"
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Lists views on a log bucket.
|
|
257
|
+
rpc ListViews(ListViewsRequest) returns (ListViewsResponse) {
|
|
258
|
+
option (google.api.http) = {
|
|
259
|
+
get: "/v2/{parent=*/*/locations/*/buckets/*}/views"
|
|
260
|
+
additional_bindings {
|
|
261
|
+
get: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
|
|
262
|
+
}
|
|
263
|
+
additional_bindings {
|
|
264
|
+
get: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
|
|
265
|
+
}
|
|
266
|
+
additional_bindings {
|
|
267
|
+
get: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
|
|
268
|
+
}
|
|
269
|
+
additional_bindings {
|
|
270
|
+
get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
option (google.api.method_signature) = "parent";
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// Gets a view on a log bucket..
|
|
277
|
+
rpc GetView(GetViewRequest) returns (LogView) {
|
|
278
|
+
option (google.api.http) = {
|
|
279
|
+
get: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
|
|
280
|
+
additional_bindings {
|
|
281
|
+
get: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
|
|
282
|
+
}
|
|
283
|
+
additional_bindings {
|
|
284
|
+
get: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
|
|
285
|
+
}
|
|
286
|
+
additional_bindings {
|
|
287
|
+
get: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
|
|
288
|
+
}
|
|
289
|
+
additional_bindings {
|
|
290
|
+
get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// Creates a view over log entries in a log bucket. A bucket may contain a
|
|
296
|
+
// maximum of 30 views.
|
|
297
|
+
rpc CreateView(CreateViewRequest) returns (LogView) {
|
|
298
|
+
option (google.api.http) = {
|
|
299
|
+
post: "/v2/{parent=*/*/locations/*/buckets/*}/views"
|
|
300
|
+
body: "view"
|
|
301
|
+
additional_bindings {
|
|
302
|
+
post: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
|
|
303
|
+
body: "view"
|
|
304
|
+
}
|
|
305
|
+
additional_bindings {
|
|
306
|
+
post: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
|
|
307
|
+
body: "view"
|
|
308
|
+
}
|
|
309
|
+
additional_bindings {
|
|
310
|
+
post: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
|
|
311
|
+
body: "view"
|
|
312
|
+
}
|
|
313
|
+
additional_bindings {
|
|
314
|
+
post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
|
|
315
|
+
body: "view"
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// Updates a view on a log bucket. This method replaces the following fields
|
|
321
|
+
// in the existing view with values from the new view: `filter`.
|
|
322
|
+
// If an `UNAVAILABLE` error is returned, this indicates that system is not in
|
|
323
|
+
// a state where it can update the view. If this occurs, please try again in a
|
|
324
|
+
// few minutes.
|
|
325
|
+
rpc UpdateView(UpdateViewRequest) returns (LogView) {
|
|
326
|
+
option (google.api.http) = {
|
|
327
|
+
patch: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
|
|
328
|
+
body: "view"
|
|
329
|
+
additional_bindings {
|
|
330
|
+
patch: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
|
|
331
|
+
body: "view"
|
|
332
|
+
}
|
|
333
|
+
additional_bindings {
|
|
334
|
+
patch: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
|
|
335
|
+
body: "view"
|
|
336
|
+
}
|
|
337
|
+
additional_bindings {
|
|
338
|
+
patch: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
|
|
339
|
+
body: "view"
|
|
340
|
+
}
|
|
341
|
+
additional_bindings {
|
|
342
|
+
patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
|
|
343
|
+
body: "view"
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
// Deletes a view on a log bucket.
|
|
349
|
+
// If an `UNAVAILABLE` error is returned, this indicates that system is not in
|
|
350
|
+
// a state where it can delete the view. If this occurs, please try again in a
|
|
351
|
+
// few minutes.
|
|
352
|
+
rpc DeleteView(DeleteViewRequest) returns (google.protobuf.Empty) {
|
|
353
|
+
option (google.api.http) = {
|
|
354
|
+
delete: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
|
|
355
|
+
additional_bindings {
|
|
356
|
+
delete: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
|
|
357
|
+
}
|
|
358
|
+
additional_bindings {
|
|
359
|
+
delete: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
|
|
360
|
+
}
|
|
361
|
+
additional_bindings {
|
|
362
|
+
delete: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
|
|
363
|
+
}
|
|
364
|
+
additional_bindings {
|
|
365
|
+
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
|
|
366
|
+
}
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// Lists sinks.
|
|
371
|
+
rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) {
|
|
372
|
+
option (google.api.http) = {
|
|
373
|
+
get: "/v2/{parent=*/*}/sinks"
|
|
374
|
+
additional_bindings { get: "/v2/{parent=projects/*}/sinks" }
|
|
375
|
+
additional_bindings { get: "/v2/{parent=organizations/*}/sinks" }
|
|
376
|
+
additional_bindings { get: "/v2/{parent=folders/*}/sinks" }
|
|
377
|
+
additional_bindings { get: "/v2/{parent=billingAccounts/*}/sinks" }
|
|
378
|
+
};
|
|
379
|
+
option (google.api.method_signature) = "parent";
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// Gets a sink.
|
|
383
|
+
rpc GetSink(GetSinkRequest) returns (LogSink) {
|
|
384
|
+
option (google.api.http) = {
|
|
385
|
+
get: "/v2/{sink_name=*/*/sinks/*}"
|
|
386
|
+
additional_bindings { get: "/v2/{sink_name=projects/*/sinks/*}" }
|
|
387
|
+
additional_bindings { get: "/v2/{sink_name=organizations/*/sinks/*}" }
|
|
388
|
+
additional_bindings { get: "/v2/{sink_name=folders/*/sinks/*}" }
|
|
389
|
+
additional_bindings { get: "/v2/{sink_name=billingAccounts/*/sinks/*}" }
|
|
390
|
+
};
|
|
391
|
+
option (google.api.method_signature) = "sink_name";
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// Creates a sink that exports specified log entries to a destination. The
|
|
395
|
+
// export of newly-ingested log entries begins immediately, unless the sink's
|
|
396
|
+
// `writer_identity` is not permitted to write to the destination. A sink can
|
|
397
|
+
// export log entries only from the resource owning the sink.
|
|
398
|
+
rpc CreateSink(CreateSinkRequest) returns (LogSink) {
|
|
399
|
+
option (google.api.http) = {
|
|
400
|
+
post: "/v2/{parent=*/*}/sinks"
|
|
401
|
+
body: "sink"
|
|
402
|
+
additional_bindings { post: "/v2/{parent=projects/*}/sinks" body: "sink" }
|
|
403
|
+
additional_bindings {
|
|
404
|
+
post: "/v2/{parent=organizations/*}/sinks"
|
|
405
|
+
body: "sink"
|
|
406
|
+
}
|
|
407
|
+
additional_bindings { post: "/v2/{parent=folders/*}/sinks" body: "sink" }
|
|
408
|
+
additional_bindings {
|
|
409
|
+
post: "/v2/{parent=billingAccounts/*}/sinks"
|
|
410
|
+
body: "sink"
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
option (google.api.method_signature) = "parent,sink";
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// Updates a sink. This method replaces the following fields in the existing
|
|
417
|
+
// sink with values from the new sink: `destination`, and `filter`.
|
|
418
|
+
//
|
|
419
|
+
// The updated sink might also have a new `writer_identity`; see the
|
|
420
|
+
// `unique_writer_identity` field.
|
|
421
|
+
rpc UpdateSink(UpdateSinkRequest) returns (LogSink) {
|
|
422
|
+
option (google.api.http) = {
|
|
423
|
+
put: "/v2/{sink_name=*/*/sinks/*}"
|
|
424
|
+
body: "sink"
|
|
425
|
+
additional_bindings {
|
|
426
|
+
put: "/v2/{sink_name=projects/*/sinks/*}"
|
|
427
|
+
body: "sink"
|
|
428
|
+
}
|
|
429
|
+
additional_bindings {
|
|
430
|
+
put: "/v2/{sink_name=organizations/*/sinks/*}"
|
|
431
|
+
body: "sink"
|
|
432
|
+
}
|
|
433
|
+
additional_bindings {
|
|
434
|
+
put: "/v2/{sink_name=folders/*/sinks/*}"
|
|
435
|
+
body: "sink"
|
|
436
|
+
}
|
|
437
|
+
additional_bindings {
|
|
438
|
+
put: "/v2/{sink_name=billingAccounts/*/sinks/*}"
|
|
439
|
+
body: "sink"
|
|
440
|
+
}
|
|
441
|
+
additional_bindings {
|
|
442
|
+
patch: "/v2/{sink_name=projects/*/sinks/*}"
|
|
443
|
+
body: "sink"
|
|
444
|
+
}
|
|
445
|
+
additional_bindings {
|
|
446
|
+
patch: "/v2/{sink_name=organizations/*/sinks/*}"
|
|
447
|
+
body: "sink"
|
|
448
|
+
}
|
|
449
|
+
additional_bindings {
|
|
450
|
+
patch: "/v2/{sink_name=folders/*/sinks/*}"
|
|
451
|
+
body: "sink"
|
|
452
|
+
}
|
|
453
|
+
additional_bindings {
|
|
454
|
+
patch: "/v2/{sink_name=billingAccounts/*/sinks/*}"
|
|
455
|
+
body: "sink"
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
option (google.api.method_signature) = "sink_name,sink,update_mask";
|
|
459
|
+
option (google.api.method_signature) = "sink_name,sink";
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
// Deletes a sink. If the sink has a unique `writer_identity`, then that
|
|
463
|
+
// service account is also deleted.
|
|
464
|
+
rpc DeleteSink(DeleteSinkRequest) returns (google.protobuf.Empty) {
|
|
465
|
+
option (google.api.http) = {
|
|
466
|
+
delete: "/v2/{sink_name=*/*/sinks/*}"
|
|
467
|
+
additional_bindings { delete: "/v2/{sink_name=projects/*/sinks/*}" }
|
|
468
|
+
additional_bindings { delete: "/v2/{sink_name=organizations/*/sinks/*}" }
|
|
469
|
+
additional_bindings { delete: "/v2/{sink_name=folders/*/sinks/*}" }
|
|
470
|
+
additional_bindings {
|
|
471
|
+
delete: "/v2/{sink_name=billingAccounts/*/sinks/*}"
|
|
472
|
+
}
|
|
473
|
+
};
|
|
474
|
+
option (google.api.method_signature) = "sink_name";
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
// Asynchronously creates a linked dataset in BigQuery which makes it possible
|
|
478
|
+
// to use BigQuery to read the logs stored in the log bucket. A log bucket may
|
|
479
|
+
// currently only contain one link.
|
|
480
|
+
rpc CreateLink(CreateLinkRequest) returns (google.longrunning.Operation) {
|
|
481
|
+
option (google.api.http) = {
|
|
482
|
+
post: "/v2/{parent=*/*/locations/*/buckets/*}/links"
|
|
483
|
+
body: "link"
|
|
484
|
+
additional_bindings {
|
|
485
|
+
post: "/v2/{parent=projects/*/locations/*/buckets/*}/links"
|
|
486
|
+
body: "link"
|
|
487
|
+
}
|
|
488
|
+
additional_bindings {
|
|
489
|
+
post: "/v2/{parent=organizations/*/locations/*/buckets/*}/links"
|
|
490
|
+
body: "link"
|
|
491
|
+
}
|
|
492
|
+
additional_bindings {
|
|
493
|
+
post: "/v2/{parent=folders/*/locations/*/buckets/*}/links"
|
|
494
|
+
body: "link"
|
|
495
|
+
}
|
|
496
|
+
additional_bindings {
|
|
497
|
+
post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links"
|
|
498
|
+
body: "link"
|
|
499
|
+
}
|
|
500
|
+
};
|
|
501
|
+
option (google.api.method_signature) = "parent,link,link_id";
|
|
502
|
+
option (google.longrunning.operation_info) = {
|
|
503
|
+
response_type: "Link"
|
|
504
|
+
metadata_type: "LinkMetadata"
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
// Deletes a link. This will also delete the corresponding BigQuery linked
|
|
509
|
+
// dataset.
|
|
510
|
+
rpc DeleteLink(DeleteLinkRequest) returns (google.longrunning.Operation) {
|
|
511
|
+
option (google.api.http) = {
|
|
512
|
+
delete: "/v2/{name=*/*/locations/*/buckets/*/links/*}"
|
|
513
|
+
additional_bindings {
|
|
514
|
+
delete: "/v2/{name=projects/*/locations/*/buckets/*/links/*}"
|
|
515
|
+
}
|
|
516
|
+
additional_bindings {
|
|
517
|
+
delete: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}"
|
|
518
|
+
}
|
|
519
|
+
additional_bindings {
|
|
520
|
+
delete: "/v2/{name=folders/*/locations/*/buckets/*/links/*}"
|
|
521
|
+
}
|
|
522
|
+
additional_bindings {
|
|
523
|
+
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}"
|
|
524
|
+
}
|
|
525
|
+
};
|
|
526
|
+
option (google.api.method_signature) = "name";
|
|
527
|
+
option (google.longrunning.operation_info) = {
|
|
528
|
+
response_type: "google.protobuf.Empty"
|
|
529
|
+
metadata_type: "LinkMetadata"
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
// Lists links.
|
|
534
|
+
rpc ListLinks(ListLinksRequest) returns (ListLinksResponse) {
|
|
535
|
+
option (google.api.http) = {
|
|
536
|
+
get: "/v2/{parent=*/*/locations/*/buckets/*}/links"
|
|
537
|
+
additional_bindings {
|
|
538
|
+
get: "/v2/{parent=projects/*/locations/*/buckets/*}/links"
|
|
539
|
+
}
|
|
540
|
+
additional_bindings {
|
|
541
|
+
get: "/v2/{parent=organizations/*/locations/*/buckets/*}/links"
|
|
542
|
+
}
|
|
543
|
+
additional_bindings {
|
|
544
|
+
get: "/v2/{parent=folders/*/locations/*/buckets/*}/links"
|
|
545
|
+
}
|
|
546
|
+
additional_bindings {
|
|
547
|
+
get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links"
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
option (google.api.method_signature) = "parent";
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
// Gets a link.
|
|
554
|
+
rpc GetLink(GetLinkRequest) returns (Link) {
|
|
555
|
+
option (google.api.http) = {
|
|
556
|
+
get: "/v2/{name=*/*/locations/*/buckets/*/links/*}"
|
|
557
|
+
additional_bindings {
|
|
558
|
+
get: "/v2/{name=projects/*/locations/*/buckets/*/links/*}"
|
|
559
|
+
}
|
|
560
|
+
additional_bindings {
|
|
561
|
+
get: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}"
|
|
562
|
+
}
|
|
563
|
+
additional_bindings {
|
|
564
|
+
get: "/v2/{name=folders/*/locations/*/buckets/*/links/*}"
|
|
565
|
+
}
|
|
566
|
+
additional_bindings {
|
|
567
|
+
get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}"
|
|
568
|
+
}
|
|
569
|
+
};
|
|
570
|
+
option (google.api.method_signature) = "name";
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
// Lists all the exclusions on the _Default sink in a parent resource.
|
|
574
|
+
rpc ListExclusions(ListExclusionsRequest) returns (ListExclusionsResponse) {
|
|
575
|
+
option (google.api.http) = {
|
|
576
|
+
get: "/v2/{parent=*/*}/exclusions"
|
|
577
|
+
additional_bindings { get: "/v2/{parent=projects/*}/exclusions" }
|
|
578
|
+
additional_bindings { get: "/v2/{parent=organizations/*}/exclusions" }
|
|
579
|
+
additional_bindings { get: "/v2/{parent=folders/*}/exclusions" }
|
|
580
|
+
additional_bindings { get: "/v2/{parent=billingAccounts/*}/exclusions" }
|
|
581
|
+
};
|
|
582
|
+
option (google.api.method_signature) = "parent";
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// Gets the description of an exclusion in the _Default sink.
|
|
586
|
+
rpc GetExclusion(GetExclusionRequest) returns (LogExclusion) {
|
|
587
|
+
option (google.api.http) = {
|
|
588
|
+
get: "/v2/{name=*/*/exclusions/*}"
|
|
589
|
+
additional_bindings { get: "/v2/{name=projects/*/exclusions/*}" }
|
|
590
|
+
additional_bindings { get: "/v2/{name=organizations/*/exclusions/*}" }
|
|
591
|
+
additional_bindings { get: "/v2/{name=folders/*/exclusions/*}" }
|
|
592
|
+
additional_bindings { get: "/v2/{name=billingAccounts/*/exclusions/*}" }
|
|
593
|
+
};
|
|
594
|
+
option (google.api.method_signature) = "name";
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// Creates a new exclusion in the _Default sink in a specified parent
|
|
598
|
+
// resource. Only log entries belonging to that resource can be excluded. You
|
|
599
|
+
// can have up to 10 exclusions in a resource.
|
|
600
|
+
rpc CreateExclusion(CreateExclusionRequest) returns (LogExclusion) {
|
|
601
|
+
option (google.api.http) = {
|
|
602
|
+
post: "/v2/{parent=*/*}/exclusions"
|
|
603
|
+
body: "exclusion"
|
|
604
|
+
additional_bindings {
|
|
605
|
+
post: "/v2/{parent=projects/*}/exclusions"
|
|
606
|
+
body: "exclusion"
|
|
607
|
+
}
|
|
608
|
+
additional_bindings {
|
|
609
|
+
post: "/v2/{parent=organizations/*}/exclusions"
|
|
610
|
+
body: "exclusion"
|
|
611
|
+
}
|
|
612
|
+
additional_bindings {
|
|
613
|
+
post: "/v2/{parent=folders/*}/exclusions"
|
|
614
|
+
body: "exclusion"
|
|
615
|
+
}
|
|
616
|
+
additional_bindings {
|
|
617
|
+
post: "/v2/{parent=billingAccounts/*}/exclusions"
|
|
618
|
+
body: "exclusion"
|
|
619
|
+
}
|
|
620
|
+
};
|
|
621
|
+
option (google.api.method_signature) = "parent,exclusion";
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
// Changes one or more properties of an existing exclusion in the _Default
|
|
625
|
+
// sink.
|
|
626
|
+
rpc UpdateExclusion(UpdateExclusionRequest) returns (LogExclusion) {
|
|
627
|
+
option (google.api.http) = {
|
|
628
|
+
patch: "/v2/{name=*/*/exclusions/*}"
|
|
629
|
+
body: "exclusion"
|
|
630
|
+
additional_bindings {
|
|
631
|
+
patch: "/v2/{name=projects/*/exclusions/*}"
|
|
632
|
+
body: "exclusion"
|
|
633
|
+
}
|
|
634
|
+
additional_bindings {
|
|
635
|
+
patch: "/v2/{name=organizations/*/exclusions/*}"
|
|
636
|
+
body: "exclusion"
|
|
637
|
+
}
|
|
638
|
+
additional_bindings {
|
|
639
|
+
patch: "/v2/{name=folders/*/exclusions/*}"
|
|
640
|
+
body: "exclusion"
|
|
641
|
+
}
|
|
642
|
+
additional_bindings {
|
|
643
|
+
patch: "/v2/{name=billingAccounts/*/exclusions/*}"
|
|
644
|
+
body: "exclusion"
|
|
645
|
+
}
|
|
646
|
+
};
|
|
647
|
+
option (google.api.method_signature) = "name,exclusion,update_mask";
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
// Deletes an exclusion in the _Default sink.
|
|
651
|
+
rpc DeleteExclusion(DeleteExclusionRequest) returns (google.protobuf.Empty) {
|
|
652
|
+
option (google.api.http) = {
|
|
653
|
+
delete: "/v2/{name=*/*/exclusions/*}"
|
|
654
|
+
additional_bindings { delete: "/v2/{name=projects/*/exclusions/*}" }
|
|
655
|
+
additional_bindings { delete: "/v2/{name=organizations/*/exclusions/*}" }
|
|
656
|
+
additional_bindings { delete: "/v2/{name=folders/*/exclusions/*}" }
|
|
657
|
+
additional_bindings {
|
|
658
|
+
delete: "/v2/{name=billingAccounts/*/exclusions/*}"
|
|
659
|
+
}
|
|
660
|
+
};
|
|
661
|
+
option (google.api.method_signature) = "name";
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
// Gets the Logging CMEK settings for the given resource.
|
|
665
|
+
//
|
|
666
|
+
// Note: CMEK for the Log Router can be configured for Google Cloud projects,
|
|
667
|
+
// folders, organizations and billing accounts. Once configured for an
|
|
668
|
+
// organization, it applies to all projects and folders in the Google Cloud
|
|
669
|
+
// organization.
|
|
670
|
+
//
|
|
671
|
+
// See [Enabling CMEK for Log
|
|
672
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
673
|
+
// for more information.
|
|
674
|
+
rpc GetCmekSettings(GetCmekSettingsRequest) returns (CmekSettings) {
|
|
675
|
+
option (google.api.http) = {
|
|
676
|
+
get: "/v2/{name=*/*}/cmekSettings"
|
|
677
|
+
additional_bindings { get: "/v2/{name=projects/*}/cmekSettings" }
|
|
678
|
+
additional_bindings { get: "/v2/{name=organizations/*}/cmekSettings" }
|
|
679
|
+
additional_bindings { get: "/v2/{name=folders/*}/cmekSettings" }
|
|
680
|
+
additional_bindings { get: "/v2/{name=billingAccounts/*}/cmekSettings" }
|
|
681
|
+
};
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
// Updates the Log Router CMEK settings for the given resource.
|
|
685
|
+
//
|
|
686
|
+
// Note: CMEK for the Log Router can currently only be configured for Google
|
|
687
|
+
// Cloud organizations. Once configured, it applies to all projects and
|
|
688
|
+
// folders in the Google Cloud organization.
|
|
689
|
+
//
|
|
690
|
+
// [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings]
|
|
691
|
+
// will fail if 1) `kms_key_name` is invalid, or 2) the associated service
|
|
692
|
+
// account does not have the required
|
|
693
|
+
// `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or
|
|
694
|
+
// 3) access to the key is disabled.
|
|
695
|
+
//
|
|
696
|
+
// See [Enabling CMEK for Log
|
|
697
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
698
|
+
// for more information.
|
|
699
|
+
rpc UpdateCmekSettings(UpdateCmekSettingsRequest) returns (CmekSettings) {
|
|
700
|
+
option (google.api.http) = {
|
|
701
|
+
patch: "/v2/{name=*/*}/cmekSettings"
|
|
702
|
+
body: "cmek_settings"
|
|
703
|
+
additional_bindings {
|
|
704
|
+
patch: "/v2/{name=organizations/*}/cmekSettings"
|
|
705
|
+
body: "cmek_settings"
|
|
706
|
+
}
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
// Gets the Log Router settings for the given resource.
|
|
711
|
+
//
|
|
712
|
+
// Note: Settings for the Log Router can be get for Google Cloud projects,
|
|
713
|
+
// folders, organizations and billing accounts. Currently it can only be
|
|
714
|
+
// configured for organizations. Once configured for an organization, it
|
|
715
|
+
// applies to all projects and folders in the Google Cloud organization.
|
|
716
|
+
//
|
|
717
|
+
// See [Enabling CMEK for Log
|
|
718
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
719
|
+
// for more information.
|
|
720
|
+
rpc GetSettings(GetSettingsRequest) returns (Settings) {
|
|
721
|
+
option (google.api.http) = {
|
|
722
|
+
get: "/v2/{name=*/*}/settings"
|
|
723
|
+
additional_bindings { get: "/v2/{name=projects/*}/settings" }
|
|
724
|
+
additional_bindings { get: "/v2/{name=organizations/*}/settings" }
|
|
725
|
+
additional_bindings { get: "/v2/{name=folders/*}/settings" }
|
|
726
|
+
additional_bindings { get: "/v2/{name=billingAccounts/*}/settings" }
|
|
727
|
+
};
|
|
728
|
+
option (google.api.method_signature) = "name";
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
// Updates the Log Router settings for the given resource.
|
|
732
|
+
//
|
|
733
|
+
// Note: Settings for the Log Router can currently only be configured for
|
|
734
|
+
// Google Cloud organizations. Once configured, it applies to all projects and
|
|
735
|
+
// folders in the Google Cloud organization.
|
|
736
|
+
//
|
|
737
|
+
// [UpdateSettings][google.logging.v2.ConfigServiceV2.UpdateSettings]
|
|
738
|
+
// will fail if 1) `kms_key_name` is invalid, or 2) the associated service
|
|
739
|
+
// account does not have the required
|
|
740
|
+
// `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or
|
|
741
|
+
// 3) access to the key is disabled. 4) `location_id` is not supported by
|
|
742
|
+
// Logging. 5) `location_id` violate OrgPolicy.
|
|
743
|
+
//
|
|
744
|
+
// See [Enabling CMEK for Log
|
|
745
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
746
|
+
// for more information.
|
|
747
|
+
rpc UpdateSettings(UpdateSettingsRequest) returns (Settings) {
|
|
748
|
+
option (google.api.http) = {
|
|
749
|
+
patch: "/v2/{name=*/*}/settings"
|
|
750
|
+
body: "settings"
|
|
751
|
+
additional_bindings {
|
|
752
|
+
patch: "/v2/{name=organizations/*}/settings"
|
|
753
|
+
body: "settings"
|
|
754
|
+
}
|
|
755
|
+
additional_bindings {
|
|
756
|
+
patch: "/v2/{name=folders/*}/settings"
|
|
757
|
+
body: "settings"
|
|
758
|
+
}
|
|
759
|
+
};
|
|
760
|
+
option (google.api.method_signature) = "settings,update_mask";
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
// Copies a set of log entries from a log bucket to a Cloud Storage bucket.
|
|
764
|
+
rpc CopyLogEntries(CopyLogEntriesRequest)
|
|
765
|
+
returns (google.longrunning.Operation) {
|
|
766
|
+
option (google.api.http) = {
|
|
767
|
+
post: "/v2/entries:copy"
|
|
768
|
+
body: "*"
|
|
769
|
+
};
|
|
770
|
+
option (google.longrunning.operation_info) = {
|
|
771
|
+
response_type: "CopyLogEntriesResponse"
|
|
772
|
+
metadata_type: "CopyLogEntriesMetadata"
|
|
773
|
+
};
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
// Configuration for an indexed field.
|
|
778
|
+
message IndexConfig {
|
|
779
|
+
// Required. The LogEntry field path to index.
|
|
780
|
+
//
|
|
781
|
+
// Note that some paths are automatically indexed, and other paths are not
|
|
782
|
+
// eligible for indexing. See [indexing documentation](
|
|
783
|
+
// https://cloud.google.com/logging/docs/view/advanced-queries#indexed-fields)
|
|
784
|
+
// for details.
|
|
785
|
+
//
|
|
786
|
+
// For example: `jsonPayload.request.status`
|
|
787
|
+
string field_path = 1 [(google.api.field_behavior) = REQUIRED];
|
|
788
|
+
|
|
789
|
+
// Required. The type of data in this index.
|
|
790
|
+
IndexType type = 2 [(google.api.field_behavior) = REQUIRED];
|
|
791
|
+
|
|
792
|
+
// Output only. The timestamp when the index was last modified.
|
|
793
|
+
//
|
|
794
|
+
// This is used to return the timestamp, and will be ignored if supplied
|
|
795
|
+
// during update.
|
|
796
|
+
google.protobuf.Timestamp create_time = 3
|
|
797
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
// Describes a repository in which log entries are stored.
|
|
801
|
+
message LogBucket {
|
|
802
|
+
option (google.api.resource) = {
|
|
803
|
+
type: "logging.googleapis.com/LogBucket"
|
|
804
|
+
pattern: "projects/{project}/locations/{location}/buckets/{bucket}"
|
|
805
|
+
pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}"
|
|
806
|
+
pattern: "folders/{folder}/locations/{location}/buckets/{bucket}"
|
|
807
|
+
pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}"
|
|
808
|
+
};
|
|
809
|
+
|
|
810
|
+
// Output only. The resource name of the bucket.
|
|
811
|
+
//
|
|
812
|
+
// For example:
|
|
813
|
+
//
|
|
814
|
+
// `projects/my-project/locations/global/buckets/my-bucket`
|
|
815
|
+
//
|
|
816
|
+
// For a list of supported locations, see [Supported
|
|
817
|
+
// Regions](https://cloud.google.com/logging/docs/region-support)
|
|
818
|
+
//
|
|
819
|
+
// For the location of `global` it is unspecified where log entries are
|
|
820
|
+
// actually stored.
|
|
821
|
+
//
|
|
822
|
+
// After a bucket has been created, the location cannot be changed.
|
|
823
|
+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
824
|
+
|
|
825
|
+
// Describes this bucket.
|
|
826
|
+
string description = 3;
|
|
827
|
+
|
|
828
|
+
// Output only. The creation timestamp of the bucket. This is not set for any
|
|
829
|
+
// of the default buckets.
|
|
830
|
+
google.protobuf.Timestamp create_time = 4
|
|
831
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
832
|
+
|
|
833
|
+
// Output only. The last update timestamp of the bucket.
|
|
834
|
+
google.protobuf.Timestamp update_time = 5
|
|
835
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
836
|
+
|
|
837
|
+
// Logs will be retained by default for this amount of time, after which they
|
|
838
|
+
// will automatically be deleted. The minimum retention period is 1 day. If
|
|
839
|
+
// this value is set to zero at bucket creation time, the default time of 30
|
|
840
|
+
// days will be used.
|
|
841
|
+
int32 retention_days = 11;
|
|
842
|
+
|
|
843
|
+
// Whether the bucket is locked.
|
|
844
|
+
//
|
|
845
|
+
// The retention period on a locked bucket cannot be changed. Locked buckets
|
|
846
|
+
// may only be deleted if they are empty.
|
|
847
|
+
bool locked = 9;
|
|
848
|
+
|
|
849
|
+
// Output only. The bucket lifecycle state.
|
|
850
|
+
LifecycleState lifecycle_state = 12
|
|
851
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
852
|
+
|
|
853
|
+
// Whether log analytics is enabled for this bucket.
|
|
854
|
+
//
|
|
855
|
+
// Once enabled, log analytics features cannot be disabled.
|
|
856
|
+
bool analytics_enabled = 14;
|
|
857
|
+
|
|
858
|
+
// Log entry field paths that are denied access in this bucket.
|
|
859
|
+
//
|
|
860
|
+
// The following fields and their children are eligible: `textPayload`,
|
|
861
|
+
// `jsonPayload`, `protoPayload`, `httpRequest`, `labels`, `sourceLocation`.
|
|
862
|
+
//
|
|
863
|
+
// Restricting a repeated field will restrict all values. Adding a parent will
|
|
864
|
+
// block all child fields. (e.g. `foo.bar` will block `foo.bar.baz`)
|
|
865
|
+
repeated string restricted_fields = 15;
|
|
866
|
+
|
|
867
|
+
// A list of indexed fields and related configuration data.
|
|
868
|
+
repeated IndexConfig index_configs = 17;
|
|
869
|
+
|
|
870
|
+
// The CMEK settings of the log bucket. If present, new log entries written to
|
|
871
|
+
// this log bucket are encrypted using the CMEK key provided in this
|
|
872
|
+
// configuration. If a log bucket has CMEK settings, the CMEK settings cannot
|
|
873
|
+
// be disabled later by updating the log bucket. Changing the KMS key is
|
|
874
|
+
// allowed.
|
|
875
|
+
CmekSettings cmek_settings = 19;
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
// Describes a view over log entries in a bucket.
|
|
879
|
+
message LogView {
|
|
880
|
+
option (google.api.resource) = {
|
|
881
|
+
type: "logging.googleapis.com/LogView"
|
|
882
|
+
pattern: "projects/{project}/locations/{location}/buckets/{bucket}/views/{view}"
|
|
883
|
+
pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}"
|
|
884
|
+
pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}"
|
|
885
|
+
pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"
|
|
886
|
+
};
|
|
887
|
+
|
|
888
|
+
// The resource name of the view.
|
|
889
|
+
//
|
|
890
|
+
// For example:
|
|
891
|
+
//
|
|
892
|
+
// `projects/my-project/locations/global/buckets/my-bucket/views/my-view`
|
|
893
|
+
string name = 1;
|
|
894
|
+
|
|
895
|
+
// Describes this view.
|
|
896
|
+
string description = 3;
|
|
897
|
+
|
|
898
|
+
// Output only. The creation timestamp of the view.
|
|
899
|
+
google.protobuf.Timestamp create_time = 4
|
|
900
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
901
|
+
|
|
902
|
+
// Output only. The last update timestamp of the view.
|
|
903
|
+
google.protobuf.Timestamp update_time = 5
|
|
904
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
905
|
+
|
|
906
|
+
// Filter that restricts which log entries in a bucket are visible in this
|
|
907
|
+
// view.
|
|
908
|
+
//
|
|
909
|
+
// Filters are restricted to be a logical AND of ==/!= of any of the
|
|
910
|
+
// following:
|
|
911
|
+
//
|
|
912
|
+
// - originating project/folder/organization/billing account.
|
|
913
|
+
// - resource type
|
|
914
|
+
// - log id
|
|
915
|
+
//
|
|
916
|
+
// For example:
|
|
917
|
+
//
|
|
918
|
+
// SOURCE("projects/myproject") AND resource.type = "gce_instance"
|
|
919
|
+
// AND LOG_ID("stdout")
|
|
920
|
+
string filter = 7;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
// Describes a sink used to export log entries to one of the following
|
|
924
|
+
// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a
|
|
925
|
+
// Pub/Sub topic or a Cloud Logging log bucket. A logs filter controls which log
|
|
926
|
+
// entries are exported. The sink must be created within a project,
|
|
927
|
+
// organization, billing account, or folder.
|
|
928
|
+
message LogSink {
|
|
929
|
+
option (google.api.resource) = {
|
|
930
|
+
type: "logging.googleapis.com/LogSink"
|
|
931
|
+
pattern: "projects/{project}/sinks/{sink}"
|
|
932
|
+
pattern: "organizations/{organization}/sinks/{sink}"
|
|
933
|
+
pattern: "folders/{folder}/sinks/{sink}"
|
|
934
|
+
pattern: "billingAccounts/{billing_account}/sinks/{sink}"
|
|
935
|
+
};
|
|
936
|
+
|
|
937
|
+
// Deprecated. This is unused.
|
|
938
|
+
enum VersionFormat {
|
|
939
|
+
// An unspecified format version that will default to V2.
|
|
940
|
+
VERSION_FORMAT_UNSPECIFIED = 0;
|
|
941
|
+
|
|
942
|
+
// `LogEntry` version 2 format.
|
|
943
|
+
V2 = 1;
|
|
944
|
+
|
|
945
|
+
// `LogEntry` version 1 format.
|
|
946
|
+
V1 = 2;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
// Required. The client-assigned sink identifier, unique within the project.
|
|
950
|
+
//
|
|
951
|
+
// For example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited
|
|
952
|
+
// to 100 characters and can include only the following characters: upper and
|
|
953
|
+
// lower-case alphanumeric characters, underscores, hyphens, and periods.
|
|
954
|
+
// First character has to be alphanumeric.
|
|
955
|
+
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
956
|
+
|
|
957
|
+
// Required. The export destination:
|
|
958
|
+
//
|
|
959
|
+
// "storage.googleapis.com/[GCS_BUCKET]"
|
|
960
|
+
// "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
|
|
961
|
+
// "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
|
|
962
|
+
//
|
|
963
|
+
// The sink's `writer_identity`, set when the sink is created, must have
|
|
964
|
+
// permission to write to the destination or else the log entries are not
|
|
965
|
+
// exported. For more information, see
|
|
966
|
+
// [Exporting Logs with
|
|
967
|
+
// Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
|
|
968
|
+
string destination = 3 [
|
|
969
|
+
(google.api.field_behavior) = REQUIRED,
|
|
970
|
+
(google.api.resource_reference) = { type: "*" }
|
|
971
|
+
];
|
|
972
|
+
|
|
973
|
+
// Optional. An [advanced logs
|
|
974
|
+
// filter](https://cloud.google.com/logging/docs/view/advanced-queries). The
|
|
975
|
+
// only exported log entries are those that are in the resource owning the
|
|
976
|
+
// sink and that match the filter.
|
|
977
|
+
//
|
|
978
|
+
// For example:
|
|
979
|
+
//
|
|
980
|
+
// `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR`
|
|
981
|
+
string filter = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
982
|
+
|
|
983
|
+
// Optional. A description of this sink.
|
|
984
|
+
//
|
|
985
|
+
// The maximum length of the description is 8000 characters.
|
|
986
|
+
string description = 18 [(google.api.field_behavior) = OPTIONAL];
|
|
987
|
+
|
|
988
|
+
// Optional. If set to true, then this sink is disabled and it does not export
|
|
989
|
+
// any log entries.
|
|
990
|
+
bool disabled = 19 [(google.api.field_behavior) = OPTIONAL];
|
|
991
|
+
|
|
992
|
+
// Optional. Log entries that match any of these exclusion filters will not be
|
|
993
|
+
// exported.
|
|
994
|
+
//
|
|
995
|
+
// If a log entry is matched by both `filter` and one of `exclusion_filters`
|
|
996
|
+
// it will not be exported.
|
|
997
|
+
repeated LogExclusion exclusions = 16
|
|
998
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
999
|
+
|
|
1000
|
+
// Deprecated. This field is unused.
|
|
1001
|
+
VersionFormat output_version_format = 6 [deprecated = true];
|
|
1002
|
+
|
|
1003
|
+
// Output only. An IAM identity—a service account or group—under
|
|
1004
|
+
// which Cloud Logging writes the exported log entries to the sink's
|
|
1005
|
+
// destination. This field is either set by specifying
|
|
1006
|
+
// `custom_writer_identity` or set automatically by
|
|
1007
|
+
// [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and
|
|
1008
|
+
// [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the
|
|
1009
|
+
// value of `unique_writer_identity` in those methods.
|
|
1010
|
+
//
|
|
1011
|
+
// Until you grant this identity write-access to the destination, log entry
|
|
1012
|
+
// exports from this sink will fail. For more information, see [Granting
|
|
1013
|
+
// Access for a
|
|
1014
|
+
// Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
|
|
1015
|
+
// Consult the destination service's documentation to determine the
|
|
1016
|
+
// appropriate IAM roles to assign to the identity.
|
|
1017
|
+
//
|
|
1018
|
+
// Sinks that have a destination that is a log bucket in the same project as
|
|
1019
|
+
// the sink cannot have a writer_identity and no additional permissions are
|
|
1020
|
+
// required.
|
|
1021
|
+
string writer_identity = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1022
|
+
|
|
1023
|
+
// Optional. This field applies only to sinks owned by organizations and
|
|
1024
|
+
// folders. If the field is false, the default, only the logs owned by the
|
|
1025
|
+
// sink's parent resource are available for export. If the field is true, then
|
|
1026
|
+
// log entries from all the projects, folders, and billing accounts contained
|
|
1027
|
+
// in the sink's parent resource are also available for export. Whether a
|
|
1028
|
+
// particular log entry from the children is exported depends on the sink's
|
|
1029
|
+
// filter expression.
|
|
1030
|
+
//
|
|
1031
|
+
// For example, if this field is true, then the filter
|
|
1032
|
+
// `resource.type=gce_instance` would export all Compute Engine VM instance
|
|
1033
|
+
// log entries from all projects in the sink's parent.
|
|
1034
|
+
//
|
|
1035
|
+
// To only export entries from certain child projects, filter on the project
|
|
1036
|
+
// part of the log name:
|
|
1037
|
+
//
|
|
1038
|
+
// logName:("projects/test-project1/" OR "projects/test-project2/") AND
|
|
1039
|
+
// resource.type=gce_instance
|
|
1040
|
+
bool include_children = 9 [(google.api.field_behavior) = OPTIONAL];
|
|
1041
|
+
|
|
1042
|
+
// Destination dependent options.
|
|
1043
|
+
oneof options {
|
|
1044
|
+
// Optional. Options that affect sinks exporting data to BigQuery.
|
|
1045
|
+
BigQueryOptions bigquery_options = 12
|
|
1046
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
// Output only. The creation timestamp of the sink.
|
|
1050
|
+
//
|
|
1051
|
+
// This field may not be present for older sinks.
|
|
1052
|
+
google.protobuf.Timestamp create_time = 13
|
|
1053
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1054
|
+
|
|
1055
|
+
// Output only. The last update timestamp of the sink.
|
|
1056
|
+
//
|
|
1057
|
+
// This field may not be present for older sinks.
|
|
1058
|
+
google.protobuf.Timestamp update_time = 14
|
|
1059
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
// Describes a BigQuery dataset that was created by a link.
|
|
1063
|
+
message BigQueryDataset {
|
|
1064
|
+
// Output only. The full resource name of the BigQuery dataset. The DATASET_ID
|
|
1065
|
+
// will match the ID of the link, so the link must match the naming
|
|
1066
|
+
// restrictions of BigQuery datasets (alphanumeric characters and underscores
|
|
1067
|
+
// only).
|
|
1068
|
+
//
|
|
1069
|
+
// The dataset will have a resource path of
|
|
1070
|
+
// "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]"
|
|
1071
|
+
string dataset_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
// Describes a link connected to an analytics enabled bucket.
|
|
1075
|
+
message Link {
|
|
1076
|
+
option (google.api.resource) = {
|
|
1077
|
+
type: "logging.googleapis.com/Link"
|
|
1078
|
+
pattern: "projects/{project}/locations/{location}/buckets/{bucket}/links/{link}"
|
|
1079
|
+
pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/links/{link}"
|
|
1080
|
+
pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/links/{link}"
|
|
1081
|
+
pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}"
|
|
1082
|
+
};
|
|
1083
|
+
|
|
1084
|
+
// The resource name of the link. The name can have up to 100 characters.
|
|
1085
|
+
// A valid link id (at the end of the link name) must only have alphanumeric
|
|
1086
|
+
// characters and underscores within it.
|
|
1087
|
+
//
|
|
1088
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1089
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1090
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1091
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1092
|
+
//
|
|
1093
|
+
// For example:
|
|
1094
|
+
//
|
|
1095
|
+
// `projects/my-project/locations/global/buckets/my-bucket/links/my_link
|
|
1096
|
+
string name = 1;
|
|
1097
|
+
|
|
1098
|
+
// Describes this link.
|
|
1099
|
+
//
|
|
1100
|
+
// The maximum length of the description is 8000 characters.
|
|
1101
|
+
string description = 2;
|
|
1102
|
+
|
|
1103
|
+
// Output only. The creation timestamp of the link.
|
|
1104
|
+
google.protobuf.Timestamp create_time = 3
|
|
1105
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1106
|
+
|
|
1107
|
+
// Output only. The resource lifecycle state.
|
|
1108
|
+
LifecycleState lifecycle_state = 4
|
|
1109
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1110
|
+
|
|
1111
|
+
// The information of a BigQuery Dataset. When a link is created, a BigQuery
|
|
1112
|
+
// dataset is created along with it, in the same project as the LogBucket it's
|
|
1113
|
+
// linked to. This dataset will also have BigQuery Views corresponding to the
|
|
1114
|
+
// LogViews in the bucket.
|
|
1115
|
+
BigQueryDataset bigquery_dataset = 5;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
// Options that change functionality of a sink exporting data to BigQuery.
|
|
1119
|
+
message BigQueryOptions {
|
|
1120
|
+
// Optional. Whether to use [BigQuery's partition
|
|
1121
|
+
// tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By
|
|
1122
|
+
// default, Cloud Logging creates dated tables based on the log entries'
|
|
1123
|
+
// timestamps, e.g. syslog_20170523. With partitioned tables the date suffix
|
|
1124
|
+
// is no longer present and [special query
|
|
1125
|
+
// syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables)
|
|
1126
|
+
// has to be used instead. In both cases, tables are sharded based on UTC
|
|
1127
|
+
// timezone.
|
|
1128
|
+
bool use_partitioned_tables = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
1129
|
+
|
|
1130
|
+
// Output only. True if new timestamp column based partitioning is in use,
|
|
1131
|
+
// false if legacy ingestion-time partitioning is in use.
|
|
1132
|
+
//
|
|
1133
|
+
// All new sinks will have this field set true and will use timestamp column
|
|
1134
|
+
// based partitioning. If use_partitioned_tables is false, this value has no
|
|
1135
|
+
// meaning and will be false. Legacy sinks using partitioned tables will have
|
|
1136
|
+
// this field set to false.
|
|
1137
|
+
bool uses_timestamp_column_partitioning = 3
|
|
1138
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
// The parameters to `ListBuckets`.
|
|
1142
|
+
message ListBucketsRequest {
|
|
1143
|
+
// Required. The parent resource whose buckets are to be listed:
|
|
1144
|
+
//
|
|
1145
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
|
|
1146
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
|
|
1147
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
|
|
1148
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
|
|
1149
|
+
//
|
|
1150
|
+
// Note: The locations portion of the resource must be specified, but
|
|
1151
|
+
// supplying the character `-` in place of [LOCATION_ID] will return all
|
|
1152
|
+
// buckets.
|
|
1153
|
+
string parent = 1 [
|
|
1154
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1155
|
+
(google.api.resource_reference) = {
|
|
1156
|
+
child_type: "logging.googleapis.com/LogBucket"
|
|
1157
|
+
}
|
|
1158
|
+
];
|
|
1159
|
+
|
|
1160
|
+
// Optional. If present, then retrieve the next batch of results from the
|
|
1161
|
+
// preceding call to this method. `pageToken` must be the value of
|
|
1162
|
+
// `nextPageToken` from the previous response. The values of other method
|
|
1163
|
+
// parameters should be identical to those in the previous call.
|
|
1164
|
+
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
1165
|
+
|
|
1166
|
+
// Optional. The maximum number of results to return from this request.
|
|
1167
|
+
// Non-positive values are ignored. The presence of `nextPageToken` in the
|
|
1168
|
+
// response indicates that more results might be available.
|
|
1169
|
+
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
// The response from ListBuckets.
|
|
1173
|
+
message ListBucketsResponse {
|
|
1174
|
+
// A list of buckets.
|
|
1175
|
+
repeated LogBucket buckets = 1;
|
|
1176
|
+
|
|
1177
|
+
// If there might be more results than appear in this response, then
|
|
1178
|
+
// `nextPageToken` is included. To get the next set of results, call the same
|
|
1179
|
+
// method again using the value of `nextPageToken` as `pageToken`.
|
|
1180
|
+
string next_page_token = 2;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
// The parameters to `CreateBucket`.
|
|
1184
|
+
message CreateBucketRequest {
|
|
1185
|
+
// Required. The resource in which to create the log bucket:
|
|
1186
|
+
//
|
|
1187
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
|
|
1188
|
+
//
|
|
1189
|
+
// For example:
|
|
1190
|
+
//
|
|
1191
|
+
// `"projects/my-project/locations/global"`
|
|
1192
|
+
string parent = 1 [
|
|
1193
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1194
|
+
(google.api.resource_reference) = {
|
|
1195
|
+
child_type: "logging.googleapis.com/LogBucket"
|
|
1196
|
+
}
|
|
1197
|
+
];
|
|
1198
|
+
|
|
1199
|
+
// Required. A client-assigned identifier such as `"my-bucket"`. Identifiers
|
|
1200
|
+
// are limited to 100 characters and can include only letters, digits,
|
|
1201
|
+
// underscores, hyphens, and periods.
|
|
1202
|
+
string bucket_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1203
|
+
|
|
1204
|
+
// Required. The new bucket. The region specified in the new bucket must be
|
|
1205
|
+
// compliant with any Location Restriction Org Policy. The name field in the
|
|
1206
|
+
// bucket is ignored.
|
|
1207
|
+
LogBucket bucket = 3 [(google.api.field_behavior) = REQUIRED];
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
// The parameters to `UpdateBucket`.
|
|
1211
|
+
message UpdateBucketRequest {
|
|
1212
|
+
// Required. The full resource name of the bucket to update.
|
|
1213
|
+
//
|
|
1214
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1215
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1216
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1217
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1218
|
+
//
|
|
1219
|
+
// For example:
|
|
1220
|
+
//
|
|
1221
|
+
// `"projects/my-project/locations/global/buckets/my-bucket"`
|
|
1222
|
+
string name = 1 [
|
|
1223
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1224
|
+
(google.api.resource_reference) = {
|
|
1225
|
+
type: "logging.googleapis.com/LogBucket"
|
|
1226
|
+
}
|
|
1227
|
+
];
|
|
1228
|
+
|
|
1229
|
+
// Required. The updated bucket.
|
|
1230
|
+
LogBucket bucket = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1231
|
+
|
|
1232
|
+
// Required. Field mask that specifies the fields in `bucket` that need an
|
|
1233
|
+
// update. A bucket field will be overwritten if, and only if, it is in the
|
|
1234
|
+
// update mask. `name` and output only fields cannot be updated.
|
|
1235
|
+
//
|
|
1236
|
+
// For a detailed `FieldMask` definition, see:
|
|
1237
|
+
// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
|
|
1238
|
+
//
|
|
1239
|
+
// For example: `updateMask=retention_days`
|
|
1240
|
+
google.protobuf.FieldMask update_mask = 4
|
|
1241
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
// The parameters to `GetBucket`.
|
|
1245
|
+
message GetBucketRequest {
|
|
1246
|
+
// Required. The resource name of the bucket:
|
|
1247
|
+
//
|
|
1248
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1249
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1250
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1251
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1252
|
+
//
|
|
1253
|
+
// For example:
|
|
1254
|
+
//
|
|
1255
|
+
// `"projects/my-project/locations/global/buckets/my-bucket"`
|
|
1256
|
+
string name = 1 [
|
|
1257
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1258
|
+
(google.api.resource_reference) = {
|
|
1259
|
+
type: "logging.googleapis.com/LogBucket"
|
|
1260
|
+
}
|
|
1261
|
+
];
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
// The parameters to `DeleteBucket`.
|
|
1265
|
+
message DeleteBucketRequest {
|
|
1266
|
+
// Required. The full resource name of the bucket to delete.
|
|
1267
|
+
//
|
|
1268
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1269
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1270
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1271
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1272
|
+
//
|
|
1273
|
+
// For example:
|
|
1274
|
+
//
|
|
1275
|
+
// `"projects/my-project/locations/global/buckets/my-bucket"`
|
|
1276
|
+
string name = 1 [
|
|
1277
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1278
|
+
(google.api.resource_reference) = {
|
|
1279
|
+
type: "logging.googleapis.com/LogBucket"
|
|
1280
|
+
}
|
|
1281
|
+
];
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
// The parameters to `UndeleteBucket`.
|
|
1285
|
+
message UndeleteBucketRequest {
|
|
1286
|
+
// Required. The full resource name of the bucket to undelete.
|
|
1287
|
+
//
|
|
1288
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1289
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1290
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1291
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1292
|
+
//
|
|
1293
|
+
// For example:
|
|
1294
|
+
//
|
|
1295
|
+
// `"projects/my-project/locations/global/buckets/my-bucket"`
|
|
1296
|
+
string name = 1 [
|
|
1297
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1298
|
+
(google.api.resource_reference) = {
|
|
1299
|
+
type: "logging.googleapis.com/LogBucket"
|
|
1300
|
+
}
|
|
1301
|
+
];
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
// The parameters to `ListViews`.
|
|
1305
|
+
message ListViewsRequest {
|
|
1306
|
+
// Required. The bucket whose views are to be listed:
|
|
1307
|
+
//
|
|
1308
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1309
|
+
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
1310
|
+
|
|
1311
|
+
// Optional. If present, then retrieve the next batch of results from the
|
|
1312
|
+
// preceding call to this method. `pageToken` must be the value of
|
|
1313
|
+
// `nextPageToken` from the previous response. The values of other method
|
|
1314
|
+
// parameters should be identical to those in the previous call.
|
|
1315
|
+
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
1316
|
+
|
|
1317
|
+
// Optional. The maximum number of results to return from this request.
|
|
1318
|
+
//
|
|
1319
|
+
// Non-positive values are ignored. The presence of `nextPageToken` in the
|
|
1320
|
+
// response indicates that more results might be available.
|
|
1321
|
+
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
// The response from ListViews.
|
|
1325
|
+
message ListViewsResponse {
|
|
1326
|
+
// A list of views.
|
|
1327
|
+
repeated LogView views = 1;
|
|
1328
|
+
|
|
1329
|
+
// If there might be more results than appear in this response, then
|
|
1330
|
+
// `nextPageToken` is included. To get the next set of results, call the same
|
|
1331
|
+
// method again using the value of `nextPageToken` as `pageToken`.
|
|
1332
|
+
string next_page_token = 2;
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
// The parameters to `CreateView`.
|
|
1336
|
+
message CreateViewRequest {
|
|
1337
|
+
// Required. The bucket in which to create the view
|
|
1338
|
+
//
|
|
1339
|
+
// `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"`
|
|
1340
|
+
//
|
|
1341
|
+
// For example:
|
|
1342
|
+
//
|
|
1343
|
+
// `"projects/my-project/locations/global/buckets/my-bucket"`
|
|
1344
|
+
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
1345
|
+
|
|
1346
|
+
// Required. A client-assigned identifier such as `"my-view"`. Identifiers are
|
|
1347
|
+
// limited to 100 characters and can include only letters, digits,
|
|
1348
|
+
// underscores, hyphens, and periods.
|
|
1349
|
+
string view_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1350
|
+
|
|
1351
|
+
// Required. The new view.
|
|
1352
|
+
LogView view = 3 [(google.api.field_behavior) = REQUIRED];
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1355
|
+
// The parameters to `UpdateView`.
|
|
1356
|
+
message UpdateViewRequest {
|
|
1357
|
+
// Required. The full resource name of the view to update
|
|
1358
|
+
//
|
|
1359
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
|
|
1360
|
+
//
|
|
1361
|
+
// For example:
|
|
1362
|
+
//
|
|
1363
|
+
// `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
|
|
1364
|
+
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
1365
|
+
|
|
1366
|
+
// Required. The updated view.
|
|
1367
|
+
LogView view = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1368
|
+
|
|
1369
|
+
// Optional. Field mask that specifies the fields in `view` that need
|
|
1370
|
+
// an update. A field will be overwritten if, and only if, it is
|
|
1371
|
+
// in the update mask. `name` and output only fields cannot be updated.
|
|
1372
|
+
//
|
|
1373
|
+
// For a detailed `FieldMask` definition, see
|
|
1374
|
+
// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
|
|
1375
|
+
//
|
|
1376
|
+
// For example: `updateMask=filter`
|
|
1377
|
+
google.protobuf.FieldMask update_mask = 4
|
|
1378
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
// The parameters to `GetView`.
|
|
1382
|
+
message GetViewRequest {
|
|
1383
|
+
// Required. The resource name of the policy:
|
|
1384
|
+
//
|
|
1385
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
|
|
1386
|
+
//
|
|
1387
|
+
// For example:
|
|
1388
|
+
//
|
|
1389
|
+
// `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
|
|
1390
|
+
string name = 1 [
|
|
1391
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1392
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/LogView" }
|
|
1393
|
+
];
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
// The parameters to `DeleteView`.
|
|
1397
|
+
message DeleteViewRequest {
|
|
1398
|
+
// Required. The full resource name of the view to delete:
|
|
1399
|
+
//
|
|
1400
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
|
|
1401
|
+
//
|
|
1402
|
+
// For example:
|
|
1403
|
+
//
|
|
1404
|
+
// `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
|
|
1405
|
+
string name = 1 [
|
|
1406
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1407
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/LogView" }
|
|
1408
|
+
];
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
// The parameters to `ListSinks`.
|
|
1412
|
+
message ListSinksRequest {
|
|
1413
|
+
// Required. The parent resource whose sinks are to be listed:
|
|
1414
|
+
//
|
|
1415
|
+
// "projects/[PROJECT_ID]"
|
|
1416
|
+
// "organizations/[ORGANIZATION_ID]"
|
|
1417
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]"
|
|
1418
|
+
// "folders/[FOLDER_ID]"
|
|
1419
|
+
string parent = 1 [
|
|
1420
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1421
|
+
(google.api.resource_reference) = {
|
|
1422
|
+
child_type: "logging.googleapis.com/LogSink"
|
|
1423
|
+
}
|
|
1424
|
+
];
|
|
1425
|
+
|
|
1426
|
+
// Optional. If present, then retrieve the next batch of results from the
|
|
1427
|
+
// preceding call to this method. `pageToken` must be the value of
|
|
1428
|
+
// `nextPageToken` from the previous response. The values of other method
|
|
1429
|
+
// parameters should be identical to those in the previous call.
|
|
1430
|
+
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
1431
|
+
|
|
1432
|
+
// Optional. The maximum number of results to return from this request.
|
|
1433
|
+
// Non-positive values are ignored. The presence of `nextPageToken` in the
|
|
1434
|
+
// response indicates that more results might be available.
|
|
1435
|
+
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
// Result returned from `ListSinks`.
|
|
1439
|
+
message ListSinksResponse {
|
|
1440
|
+
// A list of sinks.
|
|
1441
|
+
repeated LogSink sinks = 1;
|
|
1442
|
+
|
|
1443
|
+
// If there might be more results than appear in this response, then
|
|
1444
|
+
// `nextPageToken` is included. To get the next set of results, call the same
|
|
1445
|
+
// method again using the value of `nextPageToken` as `pageToken`.
|
|
1446
|
+
string next_page_token = 2;
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
// The parameters to `GetSink`.
|
|
1450
|
+
message GetSinkRequest {
|
|
1451
|
+
// Required. The resource name of the sink:
|
|
1452
|
+
//
|
|
1453
|
+
// "projects/[PROJECT_ID]/sinks/[SINK_ID]"
|
|
1454
|
+
// "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
|
|
1455
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
|
|
1456
|
+
// "folders/[FOLDER_ID]/sinks/[SINK_ID]"
|
|
1457
|
+
//
|
|
1458
|
+
// For example:
|
|
1459
|
+
//
|
|
1460
|
+
// `"projects/my-project/sinks/my-sink"`
|
|
1461
|
+
string sink_name = 1 [
|
|
1462
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1463
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" }
|
|
1464
|
+
];
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
// The parameters to `CreateSink`.
|
|
1468
|
+
message CreateSinkRequest {
|
|
1469
|
+
// Required. The resource in which to create the sink:
|
|
1470
|
+
//
|
|
1471
|
+
// "projects/[PROJECT_ID]"
|
|
1472
|
+
// "organizations/[ORGANIZATION_ID]"
|
|
1473
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]"
|
|
1474
|
+
// "folders/[FOLDER_ID]"
|
|
1475
|
+
//
|
|
1476
|
+
// For examples:
|
|
1477
|
+
//
|
|
1478
|
+
// `"projects/my-project"`
|
|
1479
|
+
// `"organizations/123456789"`
|
|
1480
|
+
string parent = 1 [
|
|
1481
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1482
|
+
(google.api.resource_reference) = {
|
|
1483
|
+
child_type: "logging.googleapis.com/LogSink"
|
|
1484
|
+
}
|
|
1485
|
+
];
|
|
1486
|
+
|
|
1487
|
+
// Required. The new sink, whose `name` parameter is a sink identifier that
|
|
1488
|
+
// is not already in use.
|
|
1489
|
+
LogSink sink = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1490
|
+
|
|
1491
|
+
// Optional. Determines the kind of IAM identity returned as `writer_identity`
|
|
1492
|
+
// in the new sink. If this value is omitted or set to false, and if the
|
|
1493
|
+
// sink's parent is a project, then the value returned as `writer_identity` is
|
|
1494
|
+
// the same group or service account used by Cloud Logging before the addition
|
|
1495
|
+
// of writer identities to this API. The sink's destination must be in the
|
|
1496
|
+
// same project as the sink itself.
|
|
1497
|
+
//
|
|
1498
|
+
// If this field is set to true, or if the sink is owned by a non-project
|
|
1499
|
+
// resource such as an organization, then the value of `writer_identity` will
|
|
1500
|
+
// be a unique service account used only for exports from the new sink. For
|
|
1501
|
+
// more information, see `writer_identity` in
|
|
1502
|
+
// [LogSink][google.logging.v2.LogSink].
|
|
1503
|
+
bool unique_writer_identity = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
// The parameters to `UpdateSink`.
|
|
1507
|
+
message UpdateSinkRequest {
|
|
1508
|
+
// Required. The full resource name of the sink to update, including the
|
|
1509
|
+
// parent resource and the sink identifier:
|
|
1510
|
+
//
|
|
1511
|
+
// "projects/[PROJECT_ID]/sinks/[SINK_ID]"
|
|
1512
|
+
// "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
|
|
1513
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
|
|
1514
|
+
// "folders/[FOLDER_ID]/sinks/[SINK_ID]"
|
|
1515
|
+
//
|
|
1516
|
+
// For example:
|
|
1517
|
+
//
|
|
1518
|
+
// `"projects/my-project/sinks/my-sink"`
|
|
1519
|
+
string sink_name = 1 [
|
|
1520
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1521
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" }
|
|
1522
|
+
];
|
|
1523
|
+
|
|
1524
|
+
// Required. The updated sink, whose name is the same identifier that appears
|
|
1525
|
+
// as part of `sink_name`.
|
|
1526
|
+
LogSink sink = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1527
|
+
|
|
1528
|
+
// Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink]
|
|
1529
|
+
// for a description of this field. When updating a sink, the effect of this
|
|
1530
|
+
// field on the value of `writer_identity` in the updated sink depends on both
|
|
1531
|
+
// the old and new values of this field:
|
|
1532
|
+
//
|
|
1533
|
+
// + If the old and new values of this field are both false or both true,
|
|
1534
|
+
// then there is no change to the sink's `writer_identity`.
|
|
1535
|
+
// + If the old value is false and the new value is true, then
|
|
1536
|
+
// `writer_identity` is changed to a unique service account.
|
|
1537
|
+
// + It is an error if the old value is true and the new value is
|
|
1538
|
+
// set to false or defaulted to false.
|
|
1539
|
+
bool unique_writer_identity = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1540
|
+
|
|
1541
|
+
// Optional. Field mask that specifies the fields in `sink` that need
|
|
1542
|
+
// an update. A sink field will be overwritten if, and only if, it is
|
|
1543
|
+
// in the update mask. `name` and output only fields cannot be updated.
|
|
1544
|
+
//
|
|
1545
|
+
// An empty `updateMask` is temporarily treated as using the following mask
|
|
1546
|
+
// for backwards compatibility purposes:
|
|
1547
|
+
//
|
|
1548
|
+
// `destination,filter,includeChildren`
|
|
1549
|
+
//
|
|
1550
|
+
// At some point in the future, behavior will be removed and specifying an
|
|
1551
|
+
// empty `updateMask` will be an error.
|
|
1552
|
+
//
|
|
1553
|
+
// For a detailed `FieldMask` definition, see
|
|
1554
|
+
// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
|
|
1555
|
+
//
|
|
1556
|
+
// For example: `updateMask=filter`
|
|
1557
|
+
google.protobuf.FieldMask update_mask = 4
|
|
1558
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
// The parameters to `DeleteSink`.
|
|
1562
|
+
message DeleteSinkRequest {
|
|
1563
|
+
// Required. The full resource name of the sink to delete, including the
|
|
1564
|
+
// parent resource and the sink identifier:
|
|
1565
|
+
//
|
|
1566
|
+
// "projects/[PROJECT_ID]/sinks/[SINK_ID]"
|
|
1567
|
+
// "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
|
|
1568
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
|
|
1569
|
+
// "folders/[FOLDER_ID]/sinks/[SINK_ID]"
|
|
1570
|
+
//
|
|
1571
|
+
// For example:
|
|
1572
|
+
//
|
|
1573
|
+
// `"projects/my-project/sinks/my-sink"`
|
|
1574
|
+
string sink_name = 1 [
|
|
1575
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1576
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" }
|
|
1577
|
+
];
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
// The parameters to CreateLink.
|
|
1581
|
+
message CreateLinkRequest {
|
|
1582
|
+
// Required. The full resource name of the bucket to create a link for.
|
|
1583
|
+
//
|
|
1584
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1585
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1586
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1587
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
|
|
1588
|
+
string parent = 1 [
|
|
1589
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1590
|
+
(google.api.resource_reference) = {
|
|
1591
|
+
child_type: "logging.googleapis.com/Link"
|
|
1592
|
+
}
|
|
1593
|
+
];
|
|
1594
|
+
|
|
1595
|
+
// Required. The new link.
|
|
1596
|
+
Link link = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1597
|
+
|
|
1598
|
+
// Required. The ID to use for the link. The link_id can have up to 100
|
|
1599
|
+
// characters. A valid link_id must only have alphanumeric characters and
|
|
1600
|
+
// underscores within it.
|
|
1601
|
+
string link_id = 3 [(google.api.field_behavior) = REQUIRED];
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
// The parameters to DeleteLink.
|
|
1605
|
+
message DeleteLinkRequest {
|
|
1606
|
+
// Required. The full resource name of the link to delete.
|
|
1607
|
+
//
|
|
1608
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1609
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1610
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1611
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1612
|
+
string name = 1 [
|
|
1613
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1614
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/Link" }
|
|
1615
|
+
];
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
// The parameters to ListLinks.
|
|
1619
|
+
message ListLinksRequest {
|
|
1620
|
+
// Required. The parent resource whose links are to be listed:
|
|
1621
|
+
//
|
|
1622
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/"
|
|
1623
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
|
|
1624
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
|
|
1625
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/
|
|
1626
|
+
string parent = 1 [
|
|
1627
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1628
|
+
(google.api.resource_reference) = {
|
|
1629
|
+
child_type: "logging.googleapis.com/Link"
|
|
1630
|
+
}
|
|
1631
|
+
];
|
|
1632
|
+
|
|
1633
|
+
// Optional. If present, then retrieve the next batch of results from the
|
|
1634
|
+
// preceding call to this method. `pageToken` must be the value of
|
|
1635
|
+
// `nextPageToken` from the previous response.
|
|
1636
|
+
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
1637
|
+
|
|
1638
|
+
// Optional. The maximum number of results to return from this request.
|
|
1639
|
+
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
// The response from ListLinks.
|
|
1643
|
+
message ListLinksResponse {
|
|
1644
|
+
// A list of links.
|
|
1645
|
+
repeated Link links = 1;
|
|
1646
|
+
|
|
1647
|
+
// If there might be more results than those appearing in this response, then
|
|
1648
|
+
// `nextPageToken` is included. To get the next set of results, call the same
|
|
1649
|
+
// method again using the value of `nextPageToken` as `pageToken`.
|
|
1650
|
+
string next_page_token = 2;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
// The parameters to GetLink.
|
|
1654
|
+
message GetLinkRequest {
|
|
1655
|
+
// Required. The resource name of the link:
|
|
1656
|
+
//
|
|
1657
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1658
|
+
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1659
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
|
|
1660
|
+
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]
|
|
1661
|
+
string name = 1 [
|
|
1662
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1663
|
+
(google.api.resource_reference) = { type: "logging.googleapis.com/Link" }
|
|
1664
|
+
];
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
// Specifies a set of log entries that are filtered out by a sink. If
|
|
1668
|
+
// your Google Cloud resource receives a large volume of log entries, you can
|
|
1669
|
+
// use exclusions to reduce your chargeable logs. Note that exclusions on
|
|
1670
|
+
// organization-level and folder-level sinks don't apply to child resources.
|
|
1671
|
+
// Note also that you cannot modify the _Required sink or exclude logs from it.
|
|
1672
|
+
message LogExclusion {
|
|
1673
|
+
option (google.api.resource) = {
|
|
1674
|
+
type: "logging.googleapis.com/LogExclusion"
|
|
1675
|
+
pattern: "projects/{project}/exclusions/{exclusion}"
|
|
1676
|
+
pattern: "organizations/{organization}/exclusions/{exclusion}"
|
|
1677
|
+
pattern: "folders/{folder}/exclusions/{exclusion}"
|
|
1678
|
+
pattern: "billingAccounts/{billing_account}/exclusions/{exclusion}"
|
|
1679
|
+
};
|
|
1680
|
+
|
|
1681
|
+
// Required. A client-assigned identifier, such as
|
|
1682
|
+
// `"load-balancer-exclusion"`. Identifiers are limited to 100 characters and
|
|
1683
|
+
// can include only letters, digits, underscores, hyphens, and periods. First
|
|
1684
|
+
// character has to be alphanumeric.
|
|
1685
|
+
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
1686
|
+
|
|
1687
|
+
// Optional. A description of this exclusion.
|
|
1688
|
+
string description = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
1689
|
+
|
|
1690
|
+
// Required. An [advanced logs
|
|
1691
|
+
// filter](https://cloud.google.com/logging/docs/view/advanced-queries) that
|
|
1692
|
+
// matches the log entries to be excluded. By using the [sample
|
|
1693
|
+
// function](https://cloud.google.com/logging/docs/view/advanced-queries#sample),
|
|
1694
|
+
// you can exclude less than 100% of the matching log entries.
|
|
1695
|
+
//
|
|
1696
|
+
// For example, the following query matches 99% of low-severity log entries
|
|
1697
|
+
// from Google Cloud Storage buckets:
|
|
1698
|
+
//
|
|
1699
|
+
// `resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)`
|
|
1700
|
+
string filter = 3 [(google.api.field_behavior) = REQUIRED];
|
|
1701
|
+
|
|
1702
|
+
// Optional. If set to True, then this exclusion is disabled and it does not
|
|
1703
|
+
// exclude any log entries. You can [update an
|
|
1704
|
+
// exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the
|
|
1705
|
+
// value of this field.
|
|
1706
|
+
bool disabled = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
1707
|
+
|
|
1708
|
+
// Output only. The creation timestamp of the exclusion.
|
|
1709
|
+
//
|
|
1710
|
+
// This field may not be present for older exclusions.
|
|
1711
|
+
google.protobuf.Timestamp create_time = 5
|
|
1712
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1713
|
+
|
|
1714
|
+
// Output only. The last update timestamp of the exclusion.
|
|
1715
|
+
//
|
|
1716
|
+
// This field may not be present for older exclusions.
|
|
1717
|
+
google.protobuf.Timestamp update_time = 6
|
|
1718
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1719
|
+
}
|
|
1720
|
+
|
|
1721
|
+
// The parameters to `ListExclusions`.
|
|
1722
|
+
message ListExclusionsRequest {
|
|
1723
|
+
// Required. The parent resource whose exclusions are to be listed.
|
|
1724
|
+
//
|
|
1725
|
+
// "projects/[PROJECT_ID]"
|
|
1726
|
+
// "organizations/[ORGANIZATION_ID]"
|
|
1727
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]"
|
|
1728
|
+
// "folders/[FOLDER_ID]"
|
|
1729
|
+
string parent = 1 [
|
|
1730
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1731
|
+
(google.api.resource_reference) = {
|
|
1732
|
+
child_type: "logging.googleapis.com/LogExclusion"
|
|
1733
|
+
}
|
|
1734
|
+
];
|
|
1735
|
+
|
|
1736
|
+
// Optional. If present, then retrieve the next batch of results from the
|
|
1737
|
+
// preceding call to this method. `pageToken` must be the value of
|
|
1738
|
+
// `nextPageToken` from the previous response. The values of other method
|
|
1739
|
+
// parameters should be identical to those in the previous call.
|
|
1740
|
+
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
1741
|
+
|
|
1742
|
+
// Optional. The maximum number of results to return from this request.
|
|
1743
|
+
// Non-positive values are ignored. The presence of `nextPageToken` in the
|
|
1744
|
+
// response indicates that more results might be available.
|
|
1745
|
+
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1748
|
+
// Result returned from `ListExclusions`.
|
|
1749
|
+
message ListExclusionsResponse {
|
|
1750
|
+
// A list of exclusions.
|
|
1751
|
+
repeated LogExclusion exclusions = 1;
|
|
1752
|
+
|
|
1753
|
+
// If there might be more results than appear in this response, then
|
|
1754
|
+
// `nextPageToken` is included. To get the next set of results, call the same
|
|
1755
|
+
// method again using the value of `nextPageToken` as `pageToken`.
|
|
1756
|
+
string next_page_token = 2;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
// The parameters to `GetExclusion`.
|
|
1760
|
+
message GetExclusionRequest {
|
|
1761
|
+
// Required. The resource name of an existing exclusion:
|
|
1762
|
+
//
|
|
1763
|
+
// "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
|
|
1764
|
+
// "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
|
|
1765
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
|
|
1766
|
+
// "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
|
|
1767
|
+
//
|
|
1768
|
+
// For example:
|
|
1769
|
+
//
|
|
1770
|
+
// `"projects/my-project/exclusions/my-exclusion"`
|
|
1771
|
+
string name = 1 [
|
|
1772
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1773
|
+
(google.api.resource_reference) = {
|
|
1774
|
+
type: "logging.googleapis.com/LogExclusion"
|
|
1775
|
+
}
|
|
1776
|
+
];
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
// The parameters to `CreateExclusion`.
|
|
1780
|
+
message CreateExclusionRequest {
|
|
1781
|
+
// Required. The parent resource in which to create the exclusion:
|
|
1782
|
+
//
|
|
1783
|
+
// "projects/[PROJECT_ID]"
|
|
1784
|
+
// "organizations/[ORGANIZATION_ID]"
|
|
1785
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]"
|
|
1786
|
+
// "folders/[FOLDER_ID]"
|
|
1787
|
+
//
|
|
1788
|
+
// For examples:
|
|
1789
|
+
//
|
|
1790
|
+
// `"projects/my-logging-project"`
|
|
1791
|
+
// `"organizations/123456789"`
|
|
1792
|
+
string parent = 1 [
|
|
1793
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1794
|
+
(google.api.resource_reference) = {
|
|
1795
|
+
child_type: "logging.googleapis.com/LogExclusion"
|
|
1796
|
+
}
|
|
1797
|
+
];
|
|
1798
|
+
|
|
1799
|
+
// Required. The new exclusion, whose `name` parameter is an exclusion name
|
|
1800
|
+
// that is not already used in the parent resource.
|
|
1801
|
+
LogExclusion exclusion = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1804
|
+
// The parameters to `UpdateExclusion`.
|
|
1805
|
+
message UpdateExclusionRequest {
|
|
1806
|
+
// Required. The resource name of the exclusion to update:
|
|
1807
|
+
//
|
|
1808
|
+
// "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
|
|
1809
|
+
// "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
|
|
1810
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
|
|
1811
|
+
// "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
|
|
1812
|
+
//
|
|
1813
|
+
// For example:
|
|
1814
|
+
//
|
|
1815
|
+
// `"projects/my-project/exclusions/my-exclusion"`
|
|
1816
|
+
string name = 1 [
|
|
1817
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1818
|
+
(google.api.resource_reference) = {
|
|
1819
|
+
type: "logging.googleapis.com/LogExclusion"
|
|
1820
|
+
}
|
|
1821
|
+
];
|
|
1822
|
+
|
|
1823
|
+
// Required. New values for the existing exclusion. Only the fields specified
|
|
1824
|
+
// in `update_mask` are relevant.
|
|
1825
|
+
LogExclusion exclusion = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1826
|
+
|
|
1827
|
+
// Required. A non-empty list of fields to change in the existing exclusion.
|
|
1828
|
+
// New values for the fields are taken from the corresponding fields in the
|
|
1829
|
+
// [LogExclusion][google.logging.v2.LogExclusion] included in this request.
|
|
1830
|
+
// Fields not mentioned in `update_mask` are not changed and are ignored in
|
|
1831
|
+
// the request.
|
|
1832
|
+
//
|
|
1833
|
+
// For example, to change the filter and description of an exclusion,
|
|
1834
|
+
// specify an `update_mask` of `"filter,description"`.
|
|
1835
|
+
google.protobuf.FieldMask update_mask = 3
|
|
1836
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
// The parameters to `DeleteExclusion`.
|
|
1840
|
+
message DeleteExclusionRequest {
|
|
1841
|
+
// Required. The resource name of an existing exclusion to delete:
|
|
1842
|
+
//
|
|
1843
|
+
// "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
|
|
1844
|
+
// "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
|
|
1845
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
|
|
1846
|
+
// "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
|
|
1847
|
+
//
|
|
1848
|
+
// For example:
|
|
1849
|
+
//
|
|
1850
|
+
// `"projects/my-project/exclusions/my-exclusion"`
|
|
1851
|
+
string name = 1 [
|
|
1852
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1853
|
+
(google.api.resource_reference) = {
|
|
1854
|
+
type: "logging.googleapis.com/LogExclusion"
|
|
1855
|
+
}
|
|
1856
|
+
];
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1859
|
+
// The parameters to
|
|
1860
|
+
// [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings].
|
|
1861
|
+
//
|
|
1862
|
+
// See [Enabling CMEK for Log
|
|
1863
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
|
|
1864
|
+
// more information.
|
|
1865
|
+
message GetCmekSettingsRequest {
|
|
1866
|
+
// Required. The resource for which to retrieve CMEK settings.
|
|
1867
|
+
//
|
|
1868
|
+
// "projects/[PROJECT_ID]/cmekSettings"
|
|
1869
|
+
// "organizations/[ORGANIZATION_ID]/cmekSettings"
|
|
1870
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
|
|
1871
|
+
// "folders/[FOLDER_ID]/cmekSettings"
|
|
1872
|
+
//
|
|
1873
|
+
// For example:
|
|
1874
|
+
//
|
|
1875
|
+
// `"organizations/12345/cmekSettings"`
|
|
1876
|
+
//
|
|
1877
|
+
// Note: CMEK for the Log Router can be configured for Google Cloud projects,
|
|
1878
|
+
// folders, organizations and billing accounts. Once configured for an
|
|
1879
|
+
// organization, it applies to all projects and folders in the Google Cloud
|
|
1880
|
+
// organization.
|
|
1881
|
+
string name = 1 [
|
|
1882
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1883
|
+
(google.api.resource_reference) = {
|
|
1884
|
+
type: "logging.googleapis.com/CmekSettings"
|
|
1885
|
+
}
|
|
1886
|
+
];
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
// The parameters to
|
|
1890
|
+
// [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings].
|
|
1891
|
+
//
|
|
1892
|
+
// See [Enabling CMEK for Log
|
|
1893
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
|
|
1894
|
+
// more information.
|
|
1895
|
+
message UpdateCmekSettingsRequest {
|
|
1896
|
+
// Required. The resource name for the CMEK settings to update.
|
|
1897
|
+
//
|
|
1898
|
+
// "projects/[PROJECT_ID]/cmekSettings"
|
|
1899
|
+
// "organizations/[ORGANIZATION_ID]/cmekSettings"
|
|
1900
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
|
|
1901
|
+
// "folders/[FOLDER_ID]/cmekSettings"
|
|
1902
|
+
//
|
|
1903
|
+
// For example:
|
|
1904
|
+
//
|
|
1905
|
+
// `"organizations/12345/cmekSettings"`
|
|
1906
|
+
//
|
|
1907
|
+
// Note: CMEK for the Log Router can currently only be configured for Google
|
|
1908
|
+
// Cloud organizations. Once configured, it applies to all projects and
|
|
1909
|
+
// folders in the Google Cloud organization.
|
|
1910
|
+
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
1911
|
+
|
|
1912
|
+
// Required. The CMEK settings to update.
|
|
1913
|
+
//
|
|
1914
|
+
// See [Enabling CMEK for Log
|
|
1915
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
1916
|
+
// for more information.
|
|
1917
|
+
CmekSettings cmek_settings = 2 [(google.api.field_behavior) = REQUIRED];
|
|
1918
|
+
|
|
1919
|
+
// Optional. Field mask identifying which fields from `cmek_settings` should
|
|
1920
|
+
// be updated. A field will be overwritten if and only if it is in the update
|
|
1921
|
+
// mask. Output only fields cannot be updated.
|
|
1922
|
+
//
|
|
1923
|
+
// See [FieldMask][google.protobuf.FieldMask] for more information.
|
|
1924
|
+
//
|
|
1925
|
+
// For example: `"updateMask=kmsKeyName"`
|
|
1926
|
+
google.protobuf.FieldMask update_mask = 3
|
|
1927
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1930
|
+
// Describes the customer-managed encryption key (CMEK) settings associated with
|
|
1931
|
+
// a project, folder, organization, billing account, or flexible resource.
|
|
1932
|
+
//
|
|
1933
|
+
// Note: CMEK for the Log Router can currently only be configured for Google
|
|
1934
|
+
// Cloud organizations. Once configured, it applies to all projects and folders
|
|
1935
|
+
// in the Google Cloud organization.
|
|
1936
|
+
//
|
|
1937
|
+
// See [Enabling CMEK for Log
|
|
1938
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
|
|
1939
|
+
// more information.
|
|
1940
|
+
message CmekSettings {
|
|
1941
|
+
option (google.api.resource) = {
|
|
1942
|
+
type: "logging.googleapis.com/CmekSettings"
|
|
1943
|
+
pattern: "projects/{project}/cmekSettings"
|
|
1944
|
+
pattern: "organizations/{organization}/cmekSettings"
|
|
1945
|
+
pattern: "folders/{folder}/cmekSettings"
|
|
1946
|
+
pattern: "billingAccounts/{billing_account}/cmekSettings"
|
|
1947
|
+
};
|
|
1948
|
+
|
|
1949
|
+
// Output only. The resource name of the CMEK settings.
|
|
1950
|
+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1951
|
+
|
|
1952
|
+
// The resource name for the configured Cloud KMS key.
|
|
1953
|
+
//
|
|
1954
|
+
// KMS key name format:
|
|
1955
|
+
//
|
|
1956
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"
|
|
1957
|
+
//
|
|
1958
|
+
// For example:
|
|
1959
|
+
//
|
|
1960
|
+
// `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"`
|
|
1961
|
+
//
|
|
1962
|
+
//
|
|
1963
|
+
//
|
|
1964
|
+
// To enable CMEK for the Log Router, set this field to a valid
|
|
1965
|
+
// `kms_key_name` for which the associated service account has the required
|
|
1966
|
+
// cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.
|
|
1967
|
+
//
|
|
1968
|
+
// The Cloud KMS key used by the Log Router can be updated by changing the
|
|
1969
|
+
// `kms_key_name` to a new valid key name or disabled by setting the key name
|
|
1970
|
+
// to an empty string. Encryption operations that are in progress will be
|
|
1971
|
+
// completed with the key that was in use when they started. Decryption
|
|
1972
|
+
// operations will be completed using the key that was used at the time of
|
|
1973
|
+
// encryption unless access to that key has been revoked.
|
|
1974
|
+
//
|
|
1975
|
+
// To disable CMEK for the Log Router, set this field to an empty string.
|
|
1976
|
+
//
|
|
1977
|
+
// See [Enabling CMEK for Log
|
|
1978
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
1979
|
+
// for more information.
|
|
1980
|
+
string kms_key_name = 2;
|
|
1981
|
+
|
|
1982
|
+
// The CryptoKeyVersion resource name for the configured Cloud KMS key.
|
|
1983
|
+
//
|
|
1984
|
+
// KMS key name format:
|
|
1985
|
+
//
|
|
1986
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"
|
|
1987
|
+
//
|
|
1988
|
+
// For example:
|
|
1989
|
+
//
|
|
1990
|
+
// `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"`
|
|
1991
|
+
//
|
|
1992
|
+
// This is a read-only field used to convey the specific configured
|
|
1993
|
+
// CryptoKeyVersion of `kms_key` that has been configured. It will be
|
|
1994
|
+
// populated in cases where the CMEK settings are bound to a single key
|
|
1995
|
+
// version.
|
|
1996
|
+
//
|
|
1997
|
+
// If this field is populated, the `kms_key` is tied to a specific
|
|
1998
|
+
// CryptoKeyVersion.
|
|
1999
|
+
string kms_key_version_name = 4;
|
|
2000
|
+
|
|
2001
|
+
// Output only. The service account that will be used by the Log Router to
|
|
2002
|
+
// access your Cloud KMS key.
|
|
2003
|
+
//
|
|
2004
|
+
// Before enabling CMEK for Log Router, you must first assign the
|
|
2005
|
+
// cloudkms.cryptoKeyEncrypterDecrypter role to the service account that
|
|
2006
|
+
// the Log Router will use to access your Cloud KMS key. Use
|
|
2007
|
+
// [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings] to
|
|
2008
|
+
// obtain the service account ID.
|
|
2009
|
+
//
|
|
2010
|
+
// See [Enabling CMEK for Log
|
|
2011
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
2012
|
+
// for more information.
|
|
2013
|
+
string service_account_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
2014
|
+
}
|
|
2015
|
+
|
|
2016
|
+
// The parameters to
|
|
2017
|
+
// [GetSettings][google.logging.v2.ConfigServiceV2.GetSettings].
|
|
2018
|
+
//
|
|
2019
|
+
// See [Enabling CMEK for Log
|
|
2020
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
|
|
2021
|
+
// more information.
|
|
2022
|
+
message GetSettingsRequest {
|
|
2023
|
+
// Required. The resource for which to retrieve settings.
|
|
2024
|
+
//
|
|
2025
|
+
// "projects/[PROJECT_ID]/settings"
|
|
2026
|
+
// "organizations/[ORGANIZATION_ID]/settings"
|
|
2027
|
+
// "billingAccounts/[BILLING_ACCOUNT_ID]/settings"
|
|
2028
|
+
// "folders/[FOLDER_ID]/settings"
|
|
2029
|
+
//
|
|
2030
|
+
// For example:
|
|
2031
|
+
//
|
|
2032
|
+
// `"organizations/12345/settings"`
|
|
2033
|
+
//
|
|
2034
|
+
// Note: Settings for the Log Router can be get for Google Cloud projects,
|
|
2035
|
+
// folders, organizations and billing accounts. Currently it can only be
|
|
2036
|
+
// configured for organizations. Once configured for an organization, it
|
|
2037
|
+
// applies to all projects and folders in the Google Cloud organization.
|
|
2038
|
+
string name = 1 [
|
|
2039
|
+
(google.api.field_behavior) = REQUIRED,
|
|
2040
|
+
(google.api.resource_reference) = {
|
|
2041
|
+
type: "logging.googleapis.com/Settings"
|
|
2042
|
+
}
|
|
2043
|
+
];
|
|
2044
|
+
}
|
|
2045
|
+
|
|
2046
|
+
// The parameters to
|
|
2047
|
+
// [UpdateSettings][google.logging.v2.ConfigServiceV2.UpdateSettings].
|
|
2048
|
+
//
|
|
2049
|
+
// See [Enabling CMEK for Log
|
|
2050
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
|
|
2051
|
+
// more information.
|
|
2052
|
+
message UpdateSettingsRequest {
|
|
2053
|
+
// Required. The resource name for the settings to update.
|
|
2054
|
+
//
|
|
2055
|
+
// "organizations/[ORGANIZATION_ID]/settings"
|
|
2056
|
+
//
|
|
2057
|
+
// For example:
|
|
2058
|
+
//
|
|
2059
|
+
// `"organizations/12345/settings"`
|
|
2060
|
+
//
|
|
2061
|
+
// Note: Settings for the Log Router can currently only be configured for
|
|
2062
|
+
// Google Cloud organizations. Once configured, it applies to all projects and
|
|
2063
|
+
// folders in the Google Cloud organization.
|
|
2064
|
+
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
2065
|
+
|
|
2066
|
+
// Required. The settings to update.
|
|
2067
|
+
//
|
|
2068
|
+
// See [Enabling CMEK for Log
|
|
2069
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
2070
|
+
// for more information.
|
|
2071
|
+
Settings settings = 2 [(google.api.field_behavior) = REQUIRED];
|
|
2072
|
+
|
|
2073
|
+
// Optional. Field mask identifying which fields from `settings` should
|
|
2074
|
+
// be updated. A field will be overwritten if and only if it is in the update
|
|
2075
|
+
// mask. Output only fields cannot be updated.
|
|
2076
|
+
//
|
|
2077
|
+
// See [FieldMask][google.protobuf.FieldMask] for more information.
|
|
2078
|
+
//
|
|
2079
|
+
// For example: `"updateMask=kmsKeyName"`
|
|
2080
|
+
google.protobuf.FieldMask update_mask = 3
|
|
2081
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
// Describes the settings associated with a project, folder, organization,
|
|
2085
|
+
// billing account, or flexible resource.
|
|
2086
|
+
message Settings {
|
|
2087
|
+
option (google.api.resource) = {
|
|
2088
|
+
type: "logging.googleapis.com/Settings"
|
|
2089
|
+
pattern: "projects/{project}/settings"
|
|
2090
|
+
pattern: "organizations/{organization}/settings"
|
|
2091
|
+
pattern: "folders/{folder}/settings"
|
|
2092
|
+
pattern: "billingAccounts/{billing_account}/settings"
|
|
2093
|
+
};
|
|
2094
|
+
|
|
2095
|
+
// Output only. The resource name of the settings.
|
|
2096
|
+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
2097
|
+
|
|
2098
|
+
// Optional. The resource name for the configured Cloud KMS key.
|
|
2099
|
+
//
|
|
2100
|
+
// KMS key name format:
|
|
2101
|
+
//
|
|
2102
|
+
// "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"
|
|
2103
|
+
//
|
|
2104
|
+
// For example:
|
|
2105
|
+
//
|
|
2106
|
+
// `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"`
|
|
2107
|
+
//
|
|
2108
|
+
//
|
|
2109
|
+
//
|
|
2110
|
+
// To enable CMEK for the Log Router, set this field to a valid
|
|
2111
|
+
// `kms_key_name` for which the associated service account has the required
|
|
2112
|
+
// `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key.
|
|
2113
|
+
//
|
|
2114
|
+
// The Cloud KMS key used by the Log Router can be updated by changing the
|
|
2115
|
+
// `kms_key_name` to a new valid key name. Encryption operations that are in
|
|
2116
|
+
// progress will be completed with the key that was in use when they started.
|
|
2117
|
+
// Decryption operations will be completed using the key that was used at the
|
|
2118
|
+
// time of encryption unless access to that key has been revoked.
|
|
2119
|
+
//
|
|
2120
|
+
// To disable CMEK for the Log Router, set this field to an empty string.
|
|
2121
|
+
//
|
|
2122
|
+
// See [Enabling CMEK for Log
|
|
2123
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
2124
|
+
// for more information.
|
|
2125
|
+
string kms_key_name = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
2126
|
+
|
|
2127
|
+
// Output only. The service account that will be used by the Log Router to
|
|
2128
|
+
// access your Cloud KMS key.
|
|
2129
|
+
//
|
|
2130
|
+
// Before enabling CMEK for Log Router, you must first assign the role
|
|
2131
|
+
// `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that
|
|
2132
|
+
// the Log Router will use to access your Cloud KMS key. Use
|
|
2133
|
+
// [GetSettings][google.logging.v2.ConfigServiceV2.GetSettings] to
|
|
2134
|
+
// obtain the service account ID.
|
|
2135
|
+
//
|
|
2136
|
+
// See [Enabling CMEK for Log
|
|
2137
|
+
// Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
|
|
2138
|
+
// for more information.
|
|
2139
|
+
string kms_service_account_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
2140
|
+
|
|
2141
|
+
// Optional. The Cloud region that will be used for _Default and _Required log
|
|
2142
|
+
// buckets for newly created projects and folders. For example `europe-west1`.
|
|
2143
|
+
// This setting does not affect the location of custom log buckets.
|
|
2144
|
+
string storage_location = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
2145
|
+
|
|
2146
|
+
// Optional. If set to true, the _Default sink in newly created projects and
|
|
2147
|
+
// folders will created in a disabled state. This can be used to automatically
|
|
2148
|
+
// disable log ingestion if there is already an aggregated sink configured in
|
|
2149
|
+
// the hierarchy. The _Default sink can be re-enabled manually if needed.
|
|
2150
|
+
bool disable_default_sink = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2153
|
+
// The parameters to CopyLogEntries.
|
|
2154
|
+
message CopyLogEntriesRequest {
|
|
2155
|
+
// Required. Log bucket from which to copy log entries.
|
|
2156
|
+
//
|
|
2157
|
+
// For example:
|
|
2158
|
+
//
|
|
2159
|
+
// `"projects/my-project/locations/global/buckets/my-source-bucket"`
|
|
2160
|
+
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
2161
|
+
|
|
2162
|
+
// Optional. A filter specifying which log entries to copy. The filter must be
|
|
2163
|
+
// no more than 20k characters. An empty filter matches all log entries.
|
|
2164
|
+
string filter = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
2165
|
+
|
|
2166
|
+
// Required. Destination to which to copy log entries.
|
|
2167
|
+
string destination = 4 [(google.api.field_behavior) = REQUIRED];
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
// Metadata for CopyLogEntries long running operations.
|
|
2171
|
+
message CopyLogEntriesMetadata {
|
|
2172
|
+
// The create time of an operation.
|
|
2173
|
+
google.protobuf.Timestamp start_time = 1;
|
|
2174
|
+
|
|
2175
|
+
// The end time of an operation.
|
|
2176
|
+
google.protobuf.Timestamp end_time = 2;
|
|
2177
|
+
|
|
2178
|
+
// State of an operation.
|
|
2179
|
+
OperationState state = 3;
|
|
2180
|
+
|
|
2181
|
+
// Identifies whether the user has requested cancellation of the operation.
|
|
2182
|
+
bool cancellation_requested = 4;
|
|
2183
|
+
|
|
2184
|
+
// CopyLogEntries RPC request.
|
|
2185
|
+
CopyLogEntriesRequest request = 5;
|
|
2186
|
+
|
|
2187
|
+
// Estimated progress of the operation (0 - 100%).
|
|
2188
|
+
int32 progress = 6;
|
|
2189
|
+
|
|
2190
|
+
// The IAM identity of a service account that must be granted access to the
|
|
2191
|
+
// destination.
|
|
2192
|
+
//
|
|
2193
|
+
// If the service account is not granted permission to the destination within
|
|
2194
|
+
// an hour, the operation will be cancelled.
|
|
2195
|
+
//
|
|
2196
|
+
// For example: `"serviceAccount:foo@bar.com"`
|
|
2197
|
+
string writer_identity = 7;
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
// Response type for CopyLogEntries long running operations.
|
|
2201
|
+
message CopyLogEntriesResponse {
|
|
2202
|
+
// Number of log entries copied.
|
|
2203
|
+
int64 log_entries_copied_count = 1;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
// Metadata for LongRunningUpdateBucket Operations.
|
|
2207
|
+
message BucketMetadata {
|
|
2208
|
+
// The create time of an operation.
|
|
2209
|
+
google.protobuf.Timestamp start_time = 1;
|
|
2210
|
+
|
|
2211
|
+
// The end time of an operation.
|
|
2212
|
+
google.protobuf.Timestamp end_time = 2;
|
|
2213
|
+
|
|
2214
|
+
// State of an operation.
|
|
2215
|
+
OperationState state = 3;
|
|
2216
|
+
|
|
2217
|
+
oneof request {
|
|
2218
|
+
// LongRunningCreateBucket RPC request.
|
|
2219
|
+
CreateBucketRequest create_bucket_request = 4;
|
|
2220
|
+
|
|
2221
|
+
// LongRunningUpdateBucket RPC request.
|
|
2222
|
+
UpdateBucketRequest update_bucket_request = 5;
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
// Metadata for long running Link operations.
|
|
2227
|
+
message LinkMetadata {
|
|
2228
|
+
// The start time of an operation.
|
|
2229
|
+
google.protobuf.Timestamp start_time = 1;
|
|
2230
|
+
|
|
2231
|
+
// The end time of an operation.
|
|
2232
|
+
google.protobuf.Timestamp end_time = 2;
|
|
2233
|
+
|
|
2234
|
+
// State of an operation.
|
|
2235
|
+
OperationState state = 3;
|
|
2236
|
+
|
|
2237
|
+
oneof request {
|
|
2238
|
+
// CreateLink RPC request.
|
|
2239
|
+
CreateLinkRequest create_link_request = 4;
|
|
2240
|
+
|
|
2241
|
+
// DeleteLink RPC request.
|
|
2242
|
+
DeleteLinkRequest delete_link_request = 5;
|
|
2243
|
+
}
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
// List of different operation states.
|
|
2247
|
+
// High level state of the operation. This is used to report the job's
|
|
2248
|
+
// current state to the user. Once a long running operation is created,
|
|
2249
|
+
// the current state of the operation can be queried even before the
|
|
2250
|
+
// operation is finished and the final result is available.
|
|
2251
|
+
enum OperationState {
|
|
2252
|
+
// Should not be used.
|
|
2253
|
+
OPERATION_STATE_UNSPECIFIED = 0;
|
|
2254
|
+
|
|
2255
|
+
// The operation is scheduled.
|
|
2256
|
+
OPERATION_STATE_SCHEDULED = 1;
|
|
2257
|
+
|
|
2258
|
+
// Waiting for necessary permissions.
|
|
2259
|
+
OPERATION_STATE_WAITING_FOR_PERMISSIONS = 2;
|
|
2260
|
+
|
|
2261
|
+
// The operation is running.
|
|
2262
|
+
OPERATION_STATE_RUNNING = 3;
|
|
2263
|
+
|
|
2264
|
+
// The operation was completed successfully.
|
|
2265
|
+
OPERATION_STATE_SUCCEEDED = 4;
|
|
2266
|
+
|
|
2267
|
+
// The operation failed.
|
|
2268
|
+
OPERATION_STATE_FAILED = 5;
|
|
2269
|
+
|
|
2270
|
+
// The operation was cancelled by the user.
|
|
2271
|
+
OPERATION_STATE_CANCELLED = 6;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2274
|
+
// LogBucket lifecycle states.
|
|
2275
|
+
enum LifecycleState {
|
|
2276
|
+
// Unspecified state. This is only used/useful for distinguishing unset
|
|
2277
|
+
// values.
|
|
2278
|
+
LIFECYCLE_STATE_UNSPECIFIED = 0;
|
|
2279
|
+
|
|
2280
|
+
// The normal and active state.
|
|
2281
|
+
ACTIVE = 1;
|
|
2282
|
+
|
|
2283
|
+
// The resource has been marked for deletion by the user. For some resources
|
|
2284
|
+
// (e.g. buckets), this can be reversed by an un-delete operation.
|
|
2285
|
+
DELETE_REQUESTED = 2;
|
|
2286
|
+
|
|
2287
|
+
// The resource has been marked for an update by the user. It will remain in
|
|
2288
|
+
// this state until the update is complete.
|
|
2289
|
+
UPDATING = 3;
|
|
2290
|
+
|
|
2291
|
+
// The resource has been marked for creation by the user. It will remain in
|
|
2292
|
+
// this state until the creation is complete.
|
|
2293
|
+
CREATING = 4;
|
|
2294
|
+
|
|
2295
|
+
// The resource is in an INTERNAL error state.
|
|
2296
|
+
FAILED = 5;
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2299
|
+
// IndexType is used for custom indexing. It describes the type of an indexed
|
|
2300
|
+
// field.
|
|
2301
|
+
enum IndexType {
|
|
2302
|
+
// The index's type is unspecified.
|
|
2303
|
+
INDEX_TYPE_UNSPECIFIED = 0;
|
|
2304
|
+
|
|
2305
|
+
// The index is a string-type index.
|
|
2306
|
+
INDEX_TYPE_STRING = 1;
|
|
2307
|
+
|
|
2308
|
+
// The index is a integer-type index.
|
|
2309
|
+
INDEX_TYPE_INTEGER = 2;
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
// Cloud Logging specific location metadata.
|
|
2313
|
+
message LocationMetadata {
|
|
2314
|
+
// Indicates whether or not Log Analytics features are supported in the given
|
|
2315
|
+
// location.
|
|
2316
|
+
bool log_analytics_enabled = 1;
|
|
2317
|
+
}
|