| // 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; |
| } |