@@ -34,6 +34,20 @@ enum OrganizationRole {
3434 ORGANIZATION_ROLE_COLLABORATOR = 3 ;
3535}
3636
37+ // OrganizationPermissions define permissions that are restrictable using RoleRestrictions
38+ enum OrganizationPermission {
39+ ORGANIZATION_PERMISSION_UNSPECIFIED = 0 ;
40+ ORGANIZATION_PERMISSION_START_ARBITRARY_REPOS = 1 ;
41+ }
42+
43+ message RoleRestrictionEntry {
44+ // role is the role that is restricted
45+ OrganizationRole role = 1 ;
46+
47+ // permissions are the permissions that are restricted
48+ repeated OrganizationPermission permissions = 2 ;
49+ }
50+
3751message OrganizationSettings {
3852 bool workspace_sharing_disabled = 1 ;
3953 string default_workspace_image = 2 ;
@@ -42,6 +56,7 @@ message OrganizationSettings {
4256 map <string , string > pinned_editor_versions = 5 ;
4357 string default_role = 6 ;
4458 TimeoutSettings timeout_settings = 7 ;
59+ repeated RoleRestrictionEntry role_restrictions = 8 ;
4560}
4661
4762service OrganizationService {
@@ -159,6 +174,11 @@ message UpdateOrganizationSettingsRequest {
159174
160175 // timeout_settings are the settings for workspace timeouts
161176 optional TimeoutSettings timeout_settings = 11 ;
177+
178+ repeated RoleRestrictionEntry role_restrictions = 12 ;
179+
180+ // Specifies whether role_restrictions should be updated.
181+ optional bool update_role_restrictions = 13 ;
162182}
163183
164184message UpdateOrganizationSettingsResponse {
0 commit comments