blob: 8f82b7cf1e429579197f355b52bee6b58e35021e [file] [log] [blame]
Scott Baker2d897982019-09-24 11:50:08 -07001syntax = "proto3";
2package authpb;
3
4import "gogoproto/gogo.proto";
5
6option (gogoproto.marshaler_all) = true;
7option (gogoproto.sizer_all) = true;
8option (gogoproto.unmarshaler_all) = true;
9option (gogoproto.goproto_getters_all) = false;
10option (gogoproto.goproto_enum_prefix_all) = false;
11
Scott Baker8487c5d2019-10-18 12:49:46 -070012message UserAddOptions {
13 bool no_password = 1;
14};
15
Scott Baker2d897982019-09-24 11:50:08 -070016// User is a single entry in the bucket authUsers
17message User {
18 bytes name = 1;
19 bytes password = 2;
20 repeated string roles = 3;
Scott Baker8487c5d2019-10-18 12:49:46 -070021 UserAddOptions options = 4;
Scott Baker2d897982019-09-24 11:50:08 -070022}
23
24// Permission is a single entity
25message Permission {
26 enum Type {
27 READ = 0;
28 WRITE = 1;
29 READWRITE = 2;
30 }
31 Type permType = 1;
32
33 bytes key = 2;
34 bytes range_end = 3;
35}
36
37// Role is a single entry in the bucket authRoles
38message Role {
39 bytes name = 1;
40
41 repeated Permission keyPermission = 2;
42}