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