Merge branch 'main' into avm99963-monorail
Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266
GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/mrproto/api_clients_config.proto b/mrproto/api_clients_config.proto
new file mode 100644
index 0000000..5ae7561
--- /dev/null
+++ b/mrproto/api_clients_config.proto
@@ -0,0 +1,41 @@
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Schemas for monorail api client configs.
+// Command to generate api_clients_config_pb2.py: in monorail/ directory:
+// protoc ./mrproto/api_clients_config.proto --proto_path=./mrproto/ --python_out=./mrproto
+
+
+syntax = "proto2";
+
+package monorail;
+
+message ProjectPermission {
+ enum Role {
+ committer = 1;
+ contributor = 2;
+ }
+
+ optional string project = 1;
+ optional Role role = 2 [default = contributor];
+ repeated string extra_permissions = 3;
+}
+
+// Next available tag: 11
+message Client {
+ optional string client_email = 1;
+ optional string display_name = 2;
+ optional string client_id = 3;
+ repeated string allowed_origins = 10;
+ optional string description = 4;
+ repeated ProjectPermission project_permissions = 5;
+ optional int32 period_limit = 6 [default = 100000];
+ optional int32 lifetime_limit = 7 [default = 1000000];
+ repeated string contacts = 8;
+ optional int32 qpm_limit = 9 [default = 100];
+}
+
+message ClientCfg {
+ repeated Client clients = 1;
+}