blob: 5ae7561068278ffa46b9951a1543f539e481f2c9 [file] [log] [blame]
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +01001// Copyright 2016 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
Copybara854996b2021-09-07 19:36:02 +00003// found in the LICENSE file.
4
5// Schemas for monorail api client configs.
6// Command to generate api_clients_config_pb2.py: in monorail/ directory:
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +01007// protoc ./mrproto/api_clients_config.proto --proto_path=./mrproto/ --python_out=./mrproto
Copybara854996b2021-09-07 19:36:02 +00008
9
10syntax = "proto2";
11
12package monorail;
13
14message ProjectPermission {
15 enum Role {
16 committer = 1;
17 contributor = 2;
18 }
19
20 optional string project = 1;
21 optional Role role = 2 [default = contributor];
22 repeated string extra_permissions = 3;
23}
24
25// Next available tag: 11
26message Client {
27 optional string client_email = 1;
28 optional string display_name = 2;
29 optional string client_id = 3;
30 repeated string allowed_origins = 10;
31 optional string description = 4;
32 repeated ProjectPermission project_permissions = 5;
33 optional int32 period_limit = 6 [default = 100000];
34 optional int32 lifetime_limit = 7 [default = 1000000];
35 repeated string contacts = 8;
36 optional int32 qpm_limit = 9 [default = 100];
37}
38
39message ClientCfg {
40 repeated Client clients = 1;
41}