# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: scalekit/v1/roles/roles.proto
# Protobuf Python Version: 5.26.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
from scalekit.v1.commons import commons_pb2 as scalekit_dot_v1_dot_commons_dot_commons__pb2
from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dscalekit/v1/roles/roles.proto\x12\x11scalekit.v1.roles\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a!scalekit/v1/options/options.proto\"\x8b\r\n\x04Role\x12y\n\x02id\x18\x01 \x01(\tBi\x92\x41\x63\x32HUnique system-generated identifier for the role. Immutable once created.J\x17\"role_1234abcd5678efgh\"\xe0\x41\x03R\x02id\x12\x95\x01\n\x04name\x18\x02 \x01(\tB\x80\x01\x92\x41q2]Unique name identifier for the role. Must be alphanumeric with underscores, 1-100 characters.J\x10\"content_editor\"\xbaH\tr\x04\x10\x01\x18\x64\xc8\x01\x01R\x04name\x12\x94\x01\n\x0c\x64isplay_name\x18\x03 \x01(\tBq\x92\x41\x62\x32NHuman-readable display name for the role. Used in user interfaces and reports.J\x10\"Content Editor\"\xbaH\tr\x04\x10\x01\x18\x64\xc8\x01\x01R\x0b\x64isplayName\x12\xc9\x01\n\x0b\x64\x65scription\x18\x04 \x01(\tB\xa6\x01\x92\x41\xa2\x01\x32UDetailed description of the role\'s purpose and capabilities. Maximum 2000 characters.JI\"Can create, edit, and publish content but cannot delete or manage users\"R\x0b\x64\x65scription\x12}\n\x0f\x64\x65\x66\x61ult_creator\x18\x06 \x01(\x08\x42T\x92\x41Q2IIndicates if this role is the default creator role for new organizations.J\x04trueR\x0e\x64\x65\x66\x61ultCreator\x12r\n\x0e\x64\x65\x66\x61ult_member\x18\x07 \x01(\x08\x42K\x92\x41H2@Indicates if this role is the default member role for new users.J\x04trueR\rdefaultMember\x12\xa6\x01\n\x07\x65xtends\x18\x08 \x01(\tB\x86\x01\x92\x41\x64\x32TName of the base role that this role extends. Enables hierarchical role inheritance.J\x0c\"admin_role\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x00R\x07\x65xtends\x88\x01\x01\x12\xef\x02\n\x0bpermissions\x18\t \x03(\x0b\x32!.scalekit.v1.roles.RolePermissionB\xa9\x02\x92\x41\xa5\x02\x32uList of permissions with role source information. Only included when \'include\' parameter is specified in the request.J\xab\x01[{\"name\": \"read:content\", \"description\": \"Read Content\", \"role_name\": \"admin_role\"}, {\"name\": \"write:content\", \"description\": \"Write Content\", \"role_name\": \"editor_role\"}]R\x0bpermissions\x12\x90\x01\n\x15\x64\x65pendent_roles_count\x18\n \x01(\x05\x42\\\x92\x41Y2TNumber of roles that extend from this role (dependent roles count). Read-only field.J\x01\x33R\x13\x64\x65pendentRolesCount\x12Z\n\x0bis_org_role\x18\x0b \x01(\x08\x42:\x92\x41\x37\x32/Indicates if this role is an organization role.J\x04trueR\tisOrgRoleB\n\n\x08_extendsJ\x04\x08\x05\x10\x06\"\xce\t\n\nCreateRole\x12\xf1\x01\n\x04name\x18\x02 \x01(\tB\xdc\x01\x92\x41\xb6\x01\x32\xa1\x01Unique name identifier for the role. Must be alphanumeric with underscores, 1-64 characters. This name is used in API calls and cannot be changed after creation.J\x10\"content_editor\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x04name\x12\xb2\x01\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x8e\x01\x92\x41\x7f\x32kHuman-readable display name for the role. Used in user interfaces, reports, and user-facing communications.J\x10\"Content Editor\"\xbaH\tr\x04\x10\x01\x18\x64\xc8\x01\x01R\x0b\x64isplayName\x12\xfb\x01\n\x0b\x64\x65scription\x18\x04 \x01(\tB\xd3\x01\x92\x41\xc7\x01\x32jDetailed description of the role\'s purpose, capabilities, and intended use cases. Maximum 2000 characters.JY\"Can create, edit, and publish content but cannot delete content or manage user accounts\"\xbaH\x05r\x03\x18\xd0\x0fH\x00R\x0b\x64\x65scription\x88\x01\x01\x12\xe0\x01\n\x07\x65xtends\x18\x08 \x01(\tB\xc0\x01\x92\x41\x9d\x01\x32\x90\x01Name of the base role that this role extends. Enables hierarchical role inheritance where this role inherits all permissions from the base role.J\x08\"viewer\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x01R\x07\x65xtends\x88\x01\x01\x12\x87\x02\n\x0bpermissions\x18\t \x03(\tB\xe4\x01\x92\x41\xbe\x01\x32\x85\x01List of permission names to assign to this role. Permissions must exist in the current environment. Maximum 100 permissions per role.J4[\"read:content\", \"write:content\", \"publish:content\"]\xbaH\x1f\x92\x01\x1c\x10\x64\"\x18r\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$R\x0bpermissionsB\x0e\n\x0c_descriptionB\n\n\x08_extendsJ\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"\xa4\x06\n\x16\x43reateOrganizationRole\x12t\n\x04name\x18\x02 \x01(\tB`\x92\x41;2&Unique name of the organization\'s roleJ\x11\"org_viewer_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x04name\x12w\n\x0c\x64isplay_name\x18\x03 \x01(\tBT\x92\x41\x45\x32\'Display name of the organization\'s roleJ\x1a\"Organization Viewer Role\"\xbaH\tr\x04\x10\x01\x18\x64\xc8\x01\x01R\x0b\x64isplayName\x12\xa0\x01\n\x0b\x64\x65scription\x18\x04 \x01(\tBy\x92\x41n2&Description of the organization\'s roleJD\"Organization Viewer Role will be used only for viewing the objects\"\xbaH\x05r\x03\x18\xd0\x0fH\x00R\x0b\x64\x65scription\x88\x01\x01\x12v\n\x07\x65xtends\x18\x08 \x01(\tBW\x92\x41\x35\x32%Base role name for hierarchical rolesJ\x0c\"admin_role\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x01R\x07\x65xtends\x88\x01\x01\x12\xd1\x01\n\x0bpermissions\x18\t \x03(\tB\xae\x01\x92\x41\x88\x01\x32\x63List of permission names to assign to this role. Permissions must exist in the current environment.J![\"read:users\", \"write:documents\"]\xbaH\x1f\x92\x01\x1c\x10\x64\"\x18r\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$R\x0bpermissionsB\x0e\n\x0c_descriptionB\n\n\x08_extendsJ\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"\xdc\x02\n\x11\x43reateRoleRequest\x12\xc0\x02\n\x04role\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.roles.CreateRoleB\x8c\x02\x92\x41\x82\x02\x32lRole configuration details including name, display name, description, permissions, and inheritance settings.J\x91\x01{\"name\": \"content_editor\", \"display_name\": \"Content Editor\", \"description\": \"Can edit content\", \"permissions\": [\"read:content\", \"write:content\"]}\xbaH\x03\xc8\x01\x01R\x04roleJ\x04\x08\x01\x10\x02\"\x9a\x02\n\x12\x43reateRoleResponse\x12\x83\x02\n\x04role\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleB\xd5\x01\x92\x41\xd1\x01\x32OThe created role object with system-generated ID and all configuration details.J~{\"id\": \"role_1234abcd5678efgh\", \"name\": \"content_editor\", \"display_name\": \"Content Editor\", \"description\": \"Can edit content\"}R\x04role\"\xe7\x03\n\x0eGetRoleRequest\x12\xbe\x01\n\trole_name\x18\x02 \x01(\tB\xa0\x01\x92\x41{2gUnique name identifier of the role to retrieve. Must be alphanumeric with underscores, 1-64 characters.J\x10\"content_editor\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12\x81\x02\n\x07include\x18\x03 \x01(\tB\xe1\x01\x92\x41\xb8\x01\x32\xa6\x01Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions from role hierarchy)J\r\"permissions\"\xbaH\"r R\x00R\x0bpermissionsR\x0fpermissions:allH\x00R\x07include\x88\x01\x01\x42\n\n\x08_includeJ\x04\x08\x01\x10\x02\"\xbe\x02\n\x0fGetRoleResponse\x12\xaa\x02\n\x04role\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleB\xfc\x01\x92\x41\xf8\x01\x32QThe complete role object with all metadata, permissions, and inheritance details.J\xa2\x01{\"id\": \"role_1234abcd5678efgh\", \"name\": \"content_editor\", \"display_name\": \"Content Editor\", \"permissions\": [{\"name\": \"read:content\"}], \"dependent_roles_count\": 2}R\x04role\"\xa8\x02\n\x10ListRolesRequest\x12\x81\x02\n\x07include\x18\x02 \x01(\tB\xe1\x01\x92\x41\xb8\x01\x32\xa6\x01Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions from role hierarchy)J\r\"permissions\"\xbaH\"r R\x00R\x0bpermissionsR\x0fpermissions:allH\x00R\x07include\x88\x01\x01\x42\n\n\x08_includeJ\x04\x08\x01\x10\x02\"\xc9\x02\n\x11ListRolesResponse\x12\xb3\x02\n\x05roles\x18\x01 \x03(\x0b\x32\x17.scalekit.v1.roles.RoleB\x83\x02\x92\x41\xff\x01\x32ZList of all roles in the environment with their metadata and optionally their permissions.J\xa0\x01[{\"id\": \"role_1234abcd5678efgh\", \"name\": \"admin\", \"display_name\": \"Administrator\"}, {\"id\": \"role_9876zyxw5432vuts\", \"name\": \"viewer\", \"display_name\": \"Viewer\"}]R\x05roles\"\xdd\x08\n\nUpdateRole\x12\xbc\x01\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x93\x01\x92\x41\x86\x01\x32kHuman-readable display name for the role. Used in user interfaces, reports, and user-facing communications.J\x17\"Senior Content Editor\"\xbaH\x06r\x04\x10\x01\x18\x64H\x00R\x0b\x64isplayName\x88\x01\x01\x12\x84\x02\n\x0b\x64\x65scription\x18\x02 \x01(\tB\xdc\x01\x92\x41\xce\x01\x32jDetailed description of the role\'s purpose, capabilities, and intended use cases. Maximum 2000 characters.J`\"Can create, edit, publish, and approve content. Cannot delete content or manage user accounts.\"\xbaH\x07r\x05\x10\x01\x18\xd0\x0fH\x01R\x0b\x64\x65scription\x88\x01\x01\x12\xe8\x01\n\x07\x65xtends\x18\x06 \x01(\tB\xc8\x01\x92\x41\xa5\x01\x32\x90\x01Name of the base role that this role extends. Enables hierarchical role inheritance where this role inherits all permissions from the base role.J\x10\"content_editor\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x02R\x07\x65xtends\x88\x01\x01\x12\xde\x02\n\x0bpermissions\x18\x07 \x03(\tB\xbb\x02\x92\x41\x95\x02\x32\xc9\x01List of permission names to assign to this role. When provided, this replaces all existing role-permission mappings. Permissions must exist in the current environment. Maximum 100 permissions per role.JG[\"read:content\", \"write:content\", \"publish:content\", \"approve:content\"]\xbaH\x1f\x92\x01\x1c\x10\x64\"\x18r\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$R\x0bpermissionsB\x0f\n\r_display_nameB\x0e\n\x0c_descriptionB\n\n\x08_extendsJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"\xab\x03\n\x11UpdateRoleRequest\x12\xbc\x01\n\trole_name\x18\x02 \x01(\tB\x9e\x01\x92\x41y2eUnique name identifier of the role to update. Must be alphanumeric with underscores, 1-64 characters.J\x10\"content_editor\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12\xd0\x01\n\x04role\x18\x03 \x01(\x0b\x32\x1d.scalekit.v1.roles.UpdateRoleB\x9c\x01\x92\x41\x92\x01\x32>Role fields to update. Only specified fields will be modified.JP{\"display_name\": \"Senior Editor\", \"description\": \"Can edit and approve content\"}\xbaH\x03\xc8\x01\x01R\x04roleJ\x04\x08\x01\x10\x02\"\x96\x02\n\x12UpdateRoleResponse\x12\xff\x01\n\x04role\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleB\xd1\x01\x92\x41\xcd\x01\x32?The updated role object with all current configuration details.J\x89\x01{\"id\": \"role_1234abcd5678efgh\", \"name\": \"content_editor\", \"display_name\": \"Senior Editor\", \"description\": \"Can edit and approve content\"}R\x04role\"\xba\x04\n\x11\x44\x65leteRoleRequest\x12\xb6\x01\n\trole_name\x18\x02 \x01(\tB\x98\x01\x92\x41s2eUnique name identifier of the role to delete. Must be alphanumeric with underscores, 1-64 characters.J\n\"old_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12\x9a\x01\n\x10reassign_role_id\x18\x03 \x01(\tBk\x18\x01\x92\x41G26Role name to reassign users to when deleting this roleJ\r\"member_role\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x00R\x0ereassignRoleId\x88\x01\x01\x12\x9c\x01\n\x12reassign_role_name\x18\x04 \x01(\tBi\x92\x41G26Role name to reassign users to when deleting this roleJ\r\"member_role\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x01R\x10reassignRoleName\x88\x01\x01\x42\x13\n\x11_reassign_role_idB\x15\n\x13_reassign_role_nameJ\x04\x08\x01\x10\x02\"\xec\x01\n\x1d\x43reateOrganizationRoleRequest\x12\x66\n\x06org_id\x18\x01 \x01(\tBO\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0br\t\x10\x01\x18 :\x03orgR\x05orgId\x12\x63\n\x04role\x18\x02 \x01(\x0b\x32).scalekit.v1.roles.CreateOrganizationRoleB$\x92\x41\x1b\x32\x19Organization role details\xbaH\x03\xc8\x01\x01R\x04role\"M\n\x1e\x43reateOrganizationRoleResponse\x12+\n\x04role\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleR\x04role\"\xeb\x03\n\x1aGetOrganizationRoleRequest\x12\x66\n\x06org_id\x18\x01 \x01(\tBO\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0br\t\x10\x01\x18 :\x03orgR\x05orgId\x12i\n\trole_name\x18\x02 \x01(\tBL\x92\x41\'2\x17Unique name of the roleJ\x0c\"admin_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12\xed\x01\n\x07include\x18\x03 \x01(\tB\xcd\x01\x92\x41\xa4\x01\x32\x92\x01Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions)J\r\"permissions\"\xbaH\"r R\x00R\x0bpermissionsR\x0fpermissions:allH\x00R\x07include\x88\x01\x01\x42\n\n\x08_include\"J\n\x1bGetOrganizationRoleResponse\x12+\n\x04role\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleR\x04role\"\xe2\x04\n\x1cListOrganizationRolesRequest\x12i\n\x06org_id\x18\x01 \x01(\tBR\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0er\t\x10\x01\x18 :\x03org\xc8\x01\x01R\x05orgId\x12\xed\x01\n\x07include\x18\x02 \x01(\tB\xcd\x01\x92\x41\xa4\x01\x32\x92\x01Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions)J\r\"permissions\"\xbaH\"r R\x00R\x0bpermissionsR\x0fpermissions:allH\x00R\x07include\x88\x01\x01:\xda\x01\x92\x41\xd6\x01\n\xb0\x01*\x17List organization roles2\x8b\x01Retrieves a paginated list of all roles within the organization. Use the page_token from the response to access subsequent pages of results\xd2\x01\x06org_id2!{\"org_id\" : \"org_8756865685762\" }B\n\n\x08_include\"j\n\x1dListOrganizationRolesResponse\x12I\n\x05roles\x18\x01 \x03(\x0b\x32\x17.scalekit.v1.roles.RoleB\x1a\x92\x41\x17\x32\x15List of roles objectsR\x05roles\"\xcb\x02\n\x1dUpdateOrganizationRoleRequest\x12\x66\n\x06org_id\x18\x01 \x01(\tBO\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0br\t\x10\x01\x18 :\x03orgR\x05orgId\x12i\n\trole_name\x18\x02 \x01(\tBL\x92\x41\'2\x17Unique name of the roleJ\x0c\"admin_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12W\n\x04role\x18\x03 \x01(\x0b\x32\x1d.scalekit.v1.roles.UpdateRoleB$\x92\x41\x1b\x32\x19Organization role details\xbaH\x03\xc8\x01\x01R\x04role\"M\n\x1eUpdateOrganizationRoleResponse\x12+\n\x04role\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleR\x04role\"\xa8\x03\n\x1d\x44\x65leteOrganizationRoleRequest\x12\x66\n\x06org_id\x18\x01 \x01(\tBO\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0br\t\x10\x01\x18 :\x03orgR\x05orgId\x12i\n\trole_name\x18\x02 \x01(\tBL\x92\x41\'2\x17Unique name of the roleJ\x0c\"admin_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12\x9c\x01\n\x12reassign_role_name\x18\x03 \x01(\tBi\x92\x41G26Role name to reassign users to when deleting this roleJ\r\"member_role\"\xbaH\x1cr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x00R\x10reassignRoleName\x88\x01\x01\x42\x15\n\x13_reassign_role_name\"\x8b\x01\n\x18GetRoleUsersCountRequest\x12i\n\trole_name\x18\x02 \x01(\tBL\x92\x41\'2\x17Unique name of the roleJ\x0c\"admin_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleNameJ\x04\x08\x01\x10\x02\"k\n\x19GetRoleUsersCountResponse\x12N\n\x05\x63ount\x18\x01 \x01(\x03\x42\x38\x92\x41.2(Number of users associated with the roleJ\x02\x31\x30\xbaH\x04\x1a\x02 \x00R\x05\x63ount\"\xff\x01\n$GetOrganizationRoleUsersCountRequest\x12_\n\x06org_id\x18\x01 \x01(\tBH\x92\x41\x39\x32%Unique identifier of the organizationJ\x10\"org_1234567890\"\xbaH\tr\x04\x10\x01\x18\x64\xc8\x01\x01R\x05orgId\x12v\n\trole_name\x18\x02 \x01(\tBY\x92\x41\x34\x32$Unique name of the organization roleJ\x0c\"admin_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\"\x83\x01\n%GetOrganizationRoleUsersCountResponse\x12Z\n\x05\x63ount\x18\x01 \x01(\x03\x42\x44\x92\x41:25Number of users associated with the organization roleJ\x01\x35\xbaH\x04\x1a\x02 \x00R\x05\x63ount\"\xf0\t\n\x19UpdateDefaultRolesRequest\x12\x9e\x02\n\x0f\x64\x65\x66\x61ult_creator\x18\x02 \x01(\x0b\x32$.scalekit.v1.roles.UpdateDefaultRoleB\xce\x01\x18\x01\x92\x41\xc8\x01\x32JDefault creator role (deprecated - use default_creator_role field instead)Jz{\"id\": \"role_1234567890\", \"name\": \"creator\", \"display_name\": \"Creator Role\", \"description\": \"Role for creating resources\"}R\x0e\x64\x65\x66\x61ultCreator\x12\x95\x02\n\x0e\x64\x65\x66\x61ult_member\x18\x03 \x01(\x0b\x32$.scalekit.v1.roles.UpdateDefaultRoleB\xc7\x01\x18\x01\x92\x41\xc1\x01\x32HDefault member role (deprecated - use default_member_role field instead)Ju{\"id\": \"role_0987654321\", \"name\": \"member\", \"display_name\": \"Member Role\", \"description\": \"Role for regular members\"}R\rdefaultMember\x12\xb6\x02\n\x14\x64\x65\x66\x61ult_creator_role\x18\x04 \x01(\tB\xfe\x01\x92\x41\xdb\x01\x32\xcd\x01Name of the role to set as the default creator role. This role will be automatically assigned to users who create new resources in the environment. Must be a valid role name that exists in the environment.J\t\"creator\"\xbaH\x1cr\x1a\x10\x00\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x00R\x12\x64\x65\x66\x61ultCreatorRole\x88\x01\x01\x12\xa9\x02\n\x13\x64\x65\x66\x61ult_member_role\x18\x05 \x01(\tB\xf3\x01\x92\x41\xd0\x01\x32\xc3\x01Name of the role to set as the default member role. This role will be automatically assigned to new users when they join the environment. Must be a valid role name that exists in the environment.J\x08\"member\"\xbaH\x1cr\x1a\x10\x00\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x01R\x11\x64\x65\x66\x61ultMemberRole\x88\x01\x01\x42\x17\n\x15_default_creator_roleB\x16\n\x14_default_member_roleJ\x04\x08\x01\x10\x02\"\x9c\x02\n%UpdateDefaultOrganizationRolesRequest\x12i\n\x06org_id\x18\x01 \x01(\tBR\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0er\t\x10\x01\x18 :\x03org\xc8\x01\x01R\x05orgId\x12\x87\x01\n\x13\x64\x65\x66\x61ult_member_role\x18\x02 \x01(\tBW\x92\x41\x32\x32&Unique name of the default member roleJ\x08\"member\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x11\x64\x65\x66\x61ultMemberRole\"\xc6\x05\n\x1aUpdateDefaultRolesResponse\x12\xd6\x02\n\x0f\x64\x65\x66\x61ult_creator\x18\x01 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleB\x93\x02\x92\x41\x8f\x02\x32\x90\x01The role that is now set as the default creator role for the environment. Contains complete role information including permissions and metadata.Jz{\"id\": \"role_1234567890\", \"name\": \"creator\", \"display_name\": \"Creator Role\", \"description\": \"Role for creating resources\"}R\x0e\x64\x65\x66\x61ultCreator\x12\xce\x02\n\x0e\x64\x65\x66\x61ult_member\x18\x02 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleB\x8d\x02\x92\x41\x89\x02\x32\x8f\x01The role that is now set as the default member role for the environment. Contains complete role information including permissions and metadata.Ju{\"id\": \"role_0987654321\", \"name\": \"member\", \"display_name\": \"Member Role\", \"description\": \"Role for regular members\"}R\rdefaultMember\"\x84\x02\n&UpdateDefaultOrganizationRolesResponse\x12\xd9\x01\n\x0e\x64\x65\x66\x61ult_member\x18\x02 \x01(\x0b\x32\x17.scalekit.v1.roles.RoleB\x98\x01\x92\x41\x94\x01\x32\x1bUpdated default member roleJu{\"id\": \"role_0987654321\", \"name\": \"member\", \"display_name\": \"Member Role\", \"description\": \"Role for regular members\"}R\rdefaultMember\"\x9e\x01\n\x11UpdateDefaultRole\x12\x1f\n\x02id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04roleR\x02id\x12_\n\x04name\x18\x02 \x01(\tBF\x92\x41$2\x17Unique name of the roleJ\t\"creator\"\xbaH\x1cr\x1a\x10\x00\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$H\x00R\x04name\x88\x01\x01\x42\x07\n\x05_name\"\x87\x02\n\nPermission\x12\x1f\n\x02id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04permR\x02id\x12\x32\n\x04name\x18\x02 \x01(\tB\x1e\xbaH\x1br\x16\x10\x01\x18\x64\x32\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\xd0\x0fR\x0b\x64\x65scription\x12;\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nupdateTime\"\x97\x03\n\x0eRolePermission\x12\x1f\n\x02id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04permR\x02id\x12\x32\n\x04name\x18\x02 \x01(\tB\x1e\xbaH\x1br\x16\x10\x01\x18\x64\x32\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\xd0\x0fR\x0b\x64\x65scription\x12;\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nupdateTime\x12\x89\x01\n\trole_name\x18\x06 \x01(\tBl\x92\x41G27Name of the role from which this permission was sourcedJ\x0c\"admin_role\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\"\x81\x02\n\x10\x43reatePermission\x12n\n\x04name\x18\x01 \x01(\tBZ\x92\x41\x34\x32 Unique name/ID of the permissionJ\x10\"read:documents\"\xbaH r\x1b\x10\x01\x18\x64\x32\x15^[a-zA-Z0-9_:]{1,64}$\xc8\x01\x01R\x04name\x12}\n\x0b\x64\x65scription\x18\x02 \x01(\tB[\x92\x41P2\x1d\x44\x65scription of the permissionJ/\"Allows user to read documents from the system\"\xbaH\x05r\x03\x18\xd0\x0fR\x0b\x64\x65scription\"f\n\x17\x43reatePermissionRequest\x12K\n\npermission\x18\x01 \x01(\x0b\x32#.scalekit.v1.roles.CreatePermissionB\x06\xbaH\x03\xc8\x01\x01R\npermission\"Y\n\x18\x43reatePermissionResponse\x12=\n\npermission\x18\x01 \x01(\x0b\x32\x1d.scalekit.v1.roles.PermissionR\npermission\"\x88\x01\n\x14GetPermissionRequest\x12p\n\x0fpermission_name\x18\x01 \x01(\tBG\x92\x41&2\x16Name of the permissionJ\x0c\"read:users\"\xbaH\x1br\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x0epermissionName\"V\n\x15GetPermissionResponse\x12=\n\npermission\x18\x01 \x01(\x0b\x32\x1d.scalekit.v1.roles.PermissionR\npermission\"\xd8\x01\n\x17UpdatePermissionRequest\x12p\n\x0fpermission_name\x18\x01 \x01(\tBG\x92\x41&2\x16Name of the permissionJ\x0c\"read_users\"\xbaH\x1br\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x0epermissionName\x12K\n\npermission\x18\x03 \x01(\x0b\x32#.scalekit.v1.roles.CreatePermissionB\x06\xbaH\x03\xc8\x01\x01R\npermission\"Y\n\x18UpdatePermissionResponse\x12=\n\npermission\x18\x01 \x01(\x0b\x32\x1d.scalekit.v1.roles.PermissionR\npermission\"\x83\x02\n\x16ListPermissionsRequest\x12\x64\n\npage_token\x18\x01 \x01(\tB@\x92\x41=2+Page token to retrieve next page of resultsJ\x0e\"token_abc123\"H\x00R\tpageToken\x88\x01\x01\x12\x66\n\tpage_size\x18\x02 \x01(\rBD\x92\x41\x38\x32\x32Number of permissions to return per page (max 100)J\x02\x35\x30\xbaH\x06*\x04\x18\x64(\x01H\x01R\x08pageSize\x88\x01\x01\x42\r\n\x0b_page_tokenB\x0c\n\n_page_size\"\xf8\x02\n\x17ListPermissionsResponse\x12?\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x1d.scalekit.v1.roles.PermissionR\x0bpermissions\x12g\n\x0fprev_page_token\x18\x02 \x01(\tB?\x92\x41<2*Token to retrieve previous page of resultsJ\x0e\"token_def456\"R\rprevPageToken\x12\x63\n\x0fnext_page_token\x18\x03 \x01(\tB;\x92\x41\x38\x32&Token to retrieve next page of resultsJ\x0e\"token_def456\"R\rnextPageToken\x12N\n\ntotal_size\x18\x04 \x01(\rB/\x92\x41,2%Total number of permissions availableJ\x03\x31\x35\x30R\ttotalSize\"\x8b\x01\n\x17\x44\x65letePermissionRequest\x12p\n\x0fpermission_name\x18\x01 \x01(\tBG\x92\x41&2\x16Name of the permissionJ\x0c\"read_users\"\xbaH\x1br\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x0epermissionName\"u\n\x1aListRolePermissionsRequest\x12W\n\trole_name\x18\x01 \x01(\tB:\x92\x41\x19\x32\x10Name of the roleJ\x05\x61\x64min\xbaH\x1br\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_-]+$\xc8\x01\x01R\x08roleName\"\x96\x01\n\x1bListRolePermissionsResponse\x12w\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x1d.scalekit.v1.roles.PermissionB6\x92\x41\x33\x32\x31List of permissions directly assigned to the roleR\x0bpermissions\"\xfb\x01\n\x1b\x41\x64\x64PermissionsToRoleRequest\x12W\n\trole_name\x18\x01 \x01(\tB:\x92\x41\x19\x32\x10Name of the roleJ\x05\x61\x64min\xbaH\x1br\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x08roleName\x12\x82\x01\n\x10permission_names\x18\x02 \x03(\tBW\x92\x41-2+List of permission names to add to the role\xbaH$\x92\x01\x1e\x08\x01\x10\x64\"\x18r\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x0fpermissionNames\"\xa3\x01\n\x1c\x41\x64\x64PermissionsToRoleResponse\x12\x82\x01\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x1d.scalekit.v1.roles.PermissionBA\x92\x41>2<List of all permissions belonging to the role after additionR\x0bpermissions\"\xf3\x01\n\x1fRemovePermissionFromRoleRequest\x12V\n\trole_name\x18\x01 \x01(\tB9\x92\x41\x19\x32\x10Name of the roleJ\x05\x61\x64min\xbaH\x1ar\x15\x10\x01\x18@2\x0f^[a-zA-Z0-9_]+$\xc8\x01\x01R\x08roleName\x12x\n\x0fpermission_name\x18\x02 \x01(\tBO\x92\x41.2 Name of the permission to removeJ\nread_users\xbaH\x1br\x16\x10\x01\x18@2\x10^[a-zA-Z0-9_:]+$\xc8\x01\x01R\x0epermissionName\"}\n#ListEffectiveRolePermissionsRequest\x12V\n\trole_name\x18\x01 \x01(\tB9\x92\x41\x19\x32\x10Name of the roleJ\x05\x61\x64min\xbaH\x1ar\x15\x10\x01\x18@2\x0f^[a-zA-Z0-9_]+$\xc8\x01\x01R\x08roleName\"\xba\x01\n$ListEffectiveRolePermissionsResponse\x12\x91\x01\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x1d.scalekit.v1.roles.PermissionBP\x92\x41M2KList of all effective permissions including those inherited from base rolesR\x0bpermissions\"x\n\x19ListDependentRolesRequest\x12[\n\trole_name\x18\x01 \x01(\tB>\x92\x41\x1e\x32\x15Name of the base roleJ\x05\x61\x64min\xbaH\x1ar\x15\x10\x01\x18@2\x0f^[a-zA-Z0-9_]+$\xc8\x01\x01R\x08roleName\"i\n\x1aListDependentRolesResponse\x12K\n\x05roles\x18\x01 \x03(\x0b\x32\x17.scalekit.v1.roles.RoleB\x1c\x92\x41\x19\x32\x17List of dependent rolesR\x05roles\"\xfd\x01\n\x15\x44\x65leteRoleBaseRequest\x12\xe3\x01\n\trole_name\x18\x01 \x01(\tB\xc5\x01\x92\x41\xa4\x01\x32\x91\x01Unique name identifier of the role whose base inheritance relationship should be removed. Must be alphanumeric with underscores, 1-64 characters.J\x0e\x63ontent_editor\xbaH\x1ar\x15\x10\x01\x18@2\x0f^[a-zA-Z0-9_]+$\xc8\x01\x01R\x08roleName\"\x88\x02\n!DeleteOrganizationRoleBaseRequest\x12\x65\n\x06org_id\x18\x01 \x01(\tBN\x92\x41=2$Unique identifier to an OrganizationJ\x15\"org_121312434123312\"\xbaH\x0br\t\x10\x01\x18 :\x03orgR\x05orgId\x12|\n\trole_name\x18\x02 \x01(\tB_\x92\x41:21Name of the organization role to remove base fromJ\x05\x61\x64min\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName2\xe4x\n\x0cRolesService\x12\x87\x08\n\nCreateRole\x12$.scalekit.v1.roles.CreateRoleRequest\x1a%.scalekit.v1.roles.CreateRoleResponse\"\xab\x07\x92\x41\x86\x07\n\x05Roles\x12\x1e\x43reate new role in environment\x1a\x88\x03\x43reates a new role within the environment with specified permissions and metadata. Use this endpoint to define custom roles that can be assigned to users or groups. You can create hierarchical roles by extending existing roles, assign specific permissions, and configure display information. Roles are the foundation of your access control system and determine what actions users can perform.J\x99\x01\n\x03\x32\x30\x31\x12\x91\x01\ndRole created successfully. Returns the complete role object with system-generated ID and timestamps.\x12)\n\'\x1a%.scalekit.v1.roles.CreateRoleResponsej\xb5\x02\n\rx-codeSamples\x12\xa3\x02\x32\xa0\x02\n\x9d\x02*\x9a\x02\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\xee\x01\n\x06source\x12\xe3\x01\x1a\xe0\x01\x66rom scalekit.v1.roles.roles_pb2 import CreateRole\n\nrole = CreateRole(\n    name=\"viewer\",\n    display_name=\"Viewer\",\n    description=\"Read-only access\",\n)\ncreate_response = scalekit_client.roles.create_role(\n    role=role,\n)\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\x15\"\r/api/v1/roles:\x04role\x12\x96\x08\n\nUpdateRole\x12$.scalekit.v1.roles.UpdateRoleRequest\x1a%.scalekit.v1.roles.UpdateRoleResponse\"\xba\x07\x92\x41\x89\x07\n\x05Roles\x12\x17Update role information\x1a\xf6\x02Modifies an existing role\'s properties including display name, description, permissions, and inheritance. Use this endpoint to update role metadata, change permission assignments, or modify role hierarchy. Only the fields you specify will be updated, leaving other properties unchanged. When updating permissions, the new list replaces all existing permissions for the role.J\x89\x01\n\x03\x32\x30\x30\x12\x81\x01\nTRole updated successfully. Returns the modified role object with updated timestamps.\x12)\n\'\x1a%.scalekit.v1.roles.UpdateRoleResponsej\xe1\x02\n\rx-codeSamples\x12\xcf\x02\x32\xcc\x02\n\xc9\x02*\xc6\x02\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\x9a\x02\n\x06source\x12\x8f\x02\x1a\x8c\x02\x66rom scalekit.v1.roles.roles_pb2 import UpdateRole\n\nupdate_role = UpdateRole(\n    display_name=\"Viewer (Limited)\",\n    description=\"Read-only access, no billing\",\n)\nupdated_role = scalekit_client.roles.update_role(\n    role_id=\"role_123456789\",\n    role=update_role,\n)\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02!\x1a\x19/api/v1/roles/{role_name}:\x04role\x12\xa3\x06\n\x07GetRole\x12!.scalekit.v1.roles.GetRoleRequest\x1a\".scalekit.v1.roles.GetRoleResponse\"\xd0\x05\x92\x41\xa5\x05\n\x05Roles\x12\x10Get role details\x1a\xa9\x02Retrieves complete information for a specific role including metadata and inheritance details (base role and dependent role count). Use this endpoint to audit role configuration and understand the role\'s place in the hierarchy. To view the role\'s permissions, use the ListRolePermissions endpoint.J\xb9\x01\n\x03\x32\x30\x30\x12\xb1\x01\n\x86\x01Successfully retrieved role details. Returns the role object including metadata and inheritance details. Permissions are not included.\x12&\n$\x1a\".scalekit.v1.roles.GetRoleResponsej\xa1\x01\n\rx-codeSamples\x12\x8f\x01\x32\x8c\x01\n\x89\x01*\x86\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n[\n\x06source\x12Q\x1aOrole_response = scalekit_client.roles.get_role(\n    role_id=\"role_123456789\",\n)\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\x1b\x12\x19/api/v1/roles/{role_name}\x12\xc0\x06\n\tListRoles\x12#.scalekit.v1.roles.ListRolesRequest\x1a$.scalekit.v1.roles.ListRolesResponse\"\xe7\x05\x92\x41\xc8\x05\n\x05Roles\x12\x1dList all roles in environment\x1a\xf7\x02Retrieves a comprehensive list of all roles available within the environment. Use this endpoint to view all role definitions, including system default roles and custom roles. You can optionally include permission details for each role to understand their capabilities. This is useful for role management, auditing, or understanding the available access levels in your system.J\xa1\x01\n\x03\x32\x30\x30\x12\x99\x01\nmSuccessfully retrieved list of roles. Returns all roles with their metadata and optionally their permissions.\x12(\n&\x1a$.scalekit.v1.roles.ListRolesResponsej\x81\x01\n\rx-codeSamples\x12p2n\nl*j\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n?\n\x06source\x12\x35\x1a\x33roles_response = scalekit_client.roles.list_roles()\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02\x0f\x12\r/api/v1/roles\x12\xbf\x07\n\nDeleteRole\x12$.scalekit.v1.roles.DeleteRoleRequest\x1a\x16.google.protobuf.Empty\"\xf2\x06\x92\x41\xc7\x06\n\x05Roles\x12\x1e\x44\x65lete role and reassign users\x1a\xbb\x04Permanently removes a role from the environment and reassigns users who had that role to a different role. Use this endpoint when you need to clean up unused roles or restructure your access control system. The role cannot be deleted if it has dependent roles (roles that extend it) unless you specify a replacement role. If users are assigned to the role being deleted, you must provide a reassign_role_name to move those users to a different role before deletion can proceed. This action cannot be undone, so ensure no critical users depend on the role before deletion.JM\n\x03\x32\x30\x30\x12\x46\nDRole successfully deleted and users reassigned. No content returned.j\x90\x01\n\rx-codeSamples\x12\x7f\x32}\n{*y\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\nN\n\x06source\x12\x44\x1a\x42scalekit_client.roles.delete_role(\n    role_id=\"role_123456789\",\n)\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\x1b*\x19/api/v1/roles/{role_name}\x12\xb1\x03\n\x16\x43reateOrganizationRole\x12\x30.scalekit.v1.roles.CreateOrganizationRoleRequest\x1a\x31.scalekit.v1.roles.CreateOrganizationRoleResponse\"\xb1\x02\x92\x41\xe6\x01\n\x05Roles\x12\x1e\x43reate a new organization role\x1aUCreates a new organization role to represent a specific role within the organization.Jf\n\x03\x32\x30\x31\x12_\n&Organization role created successfully\x12\x35\n3\x1a\x31.scalekit.v1.roles.CreateOrganizationRoleResponse\x82\xb5\x18\x02\x18T\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02,\"$/api/v1/organizations/{org_id}/roles:\x04role\x12\xb0\x03\n\x16UpdateOrganizationRole\x12\x30.scalekit.v1.roles.UpdateOrganizationRoleRequest\x1a\x31.scalekit.v1.roles.UpdateOrganizationRoleResponse\"\xb0\x02\x92\x41\xd9\x01\n\x05Roles\x12$Update an existing organization role\x1a\x42Updates an existing organization role using its unique identifier.Jf\n\x03\x32\x30\x30\x12_\n&Organization role updated successfully\x12\x35\n3\x1a\x31.scalekit.v1.roles.UpdateOrganizationRoleResponse\x82\xb5\x18\x02\x18T\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x38\x1a\x30/api/v1/organizations/{org_id}/roles/{role_name}:\x04role\x12\xb6\x03\n\x13GetOrganizationRole\x12-.scalekit.v1.roles.GetOrganizationRoleRequest\x1a..scalekit.v1.roles.GetOrganizationRoleResponse\"\xbf\x02\x92\x41\xee\x01\n\x05Roles\x12\x1aRetrieve organization role\x1aZFetch detailed information about a specific organization role using its unique identifier.Jm\n\x03\x32\x30\x30\x12\x66\n0Successfully retrieved organization role details\x12\x32\n0\x1a..scalekit.v1.roles.GetOrganizationRoleResponse\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x32\x12\x30/api/v1/organizations/{org_id}/roles/{role_name}\x12\xfd\x03\n\x15ListOrganizationRoles\x12/.scalekit.v1.roles.ListOrganizationRolesRequest\x1a\x30.scalekit.v1.roles.ListOrganizationRolesResponse\"\x80\x03\x92\x41\xbb\x02\n\x05Roles\x12\x1bList all organization roles\x1a\x8c\x01Retrieves a paginated list of all roles within the organization. Use the page_token from the response to access subsequent pages of results.J\x85\x01\n\x03\x32\x30\x30\x12~\nFSuccessfully retrieved the list of roles within the given organization\x12\x34\n2\x1a\x30.scalekit.v1.roles.ListOrganizationRolesResponse\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02&\x12$/api/v1/organizations/{org_id}/roles\x12\xc6\x02\n\x16\x44\x65leteOrganizationRole\x12\x30.scalekit.v1.roles.DeleteOrganizationRoleRequest\x1a\x16.google.protobuf.Empty\"\xe1\x01\x92\x41\x90\x01\n\x05Roles\x12\x1b\x44\x65lete an organization role\x1aKRemoves an existing role from the organization using its unique identifier.J\x1d\n\x03\x32\x30\x30\x12\x16\n\x14\x44\x65leted successfully\x82\xb5\x18\x02\x18T\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x32*0/api/v1/organizations/{org_id}/roles/{role_name}\x12\x99\x05\n\x11GetRoleUsersCount\x12+.scalekit.v1.roles.GetRoleUsersCountRequest\x1a,.scalekit.v1.roles.GetRoleUsersCountResponse\"\xa8\x04\x92\x41\xf1\x03\n\x05Roles\x12\x1cRetrieve user count for role\x1a\xd4\x02Retrieves the total number of users currently assigned to the specified role. Use this endpoint to monitor role usage or enforce limits based on user assignments. Provide the role\'s unique name as a path parameter. The response includes the user count for the requested role. This operation does not modify any data and has no side effects.Js\n\x03\x32\x30\x30\x12l\n8Successfully retrieved user count for the specified role\x12\x30\n.\x1a,.scalekit.v1.roles.GetRoleUsersCountResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\'\x12%/api/v1/roles/{role_name}/users:count\x12\xbc\x06\n\x1dGetOrganizationRoleUsersCount\x12\x37.scalekit.v1.roles.GetOrganizationRoleUsersCountRequest\x1a\x38.scalekit.v1.roles.GetOrganizationRoleUsersCountResponse\"\xa7\x05\x92\x41\xca\x04\n\x05Roles\x12)Retrieve user count for organization role\x1a\x85\x03Retrieves the total number of users currently assigned to the specified organization role. Use this endpoint to monitor organization role usage or enforce limits based on user assignments. Provide the organization ID and role name as path parameters. The response includes the user count for the requested organization role. This operation does not modify any data and has no side effects.J\x8d\x01\n\x03\x32\x30\x30\x12\x85\x01\nESuccessfully retrieved user count for the specified organization role\x12<\n:\x1a\x38.scalekit.v1.roles.GetOrganizationRoleUsersCountResponse\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02>\x12</api/v1/organizations/{org_id}/roles/{role_name}/users:count\x12\x9e\x06\n\x12UpdateDefaultRoles\x12,.scalekit.v1.roles.UpdateDefaultRolesRequest\x1a-.scalekit.v1.roles.UpdateDefaultRolesResponse\"\xaa\x05\x92\x41\xdf\x04\n\x05Roles\x12$Set default creator and member roles\x1a\xcf\x03Updates the default creator and member roles for the current environment. Use this endpoint to configure which roles are automatically assigned to new users when they join the environment. You can specify role names for both creator and member default roles. The system will validate that the specified roles exist and update the environment settings accordingly. Returns the updated default role objects including their complete role information and permissions.J^\n\x03\x32\x30\x30\x12W\n\"Default roles updated successfully\x12\x31\n/\x1a-.scalekit.v1.roles.UpdateDefaultRolesResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02;2\x1a/api/v1/roles:set_defaults:\x01*Z\x1a\x32\x15/api/v1/roles/default:\x01*\x12\xb8\x03\n\x1eUpdateDefaultOrganizationRoles\x12\x38.scalekit.v1.roles.UpdateDefaultOrganizationRolesRequest\x1a\x39.scalekit.v1.roles.UpdateDefaultOrganizationRolesResponse\"\xa0\x02\x92\x41\xcb\x01\n\x05Roles\x12!Update default organization roles\x1a\x33Update the default member role for the organizationJj\n\x03\x32\x30\x30\x12\x63\n\"Default roles updated successfully\x12=\n;\x1a\x39.scalekit.v1.roles.UpdateDefaultOrganizationRolesResponse\x82\xb5\x18\x02\x18T\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x36\x32\x31/api/v1/organizations/{org_id}/roles:set_defaults:\x01*\x12\xea\x02\n\x12ListDependentRoles\x12,.scalekit.v1.roles.ListDependentRolesRequest\x1a-.scalekit.v1.roles.ListDependentRolesResponse\"\xf6\x01\x92\x41\xc0\x01\n\x05Roles\x12\x14List dependent roles\x1a=Retrieves roles that directly extend the specified base role.Jb\n\x03\x32\x30\x30\x12[\n&Successfully retrieved dependent roles\x12\x31\n/\x1a-.scalekit.v1.roles.ListDependentRolesResponse\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02&\x12$/api/v1/roles/{role_name}/dependents\x12\xb7\x06\n\x0e\x44\x65leteRoleBase\x12(.scalekit.v1.roles.DeleteRoleBaseRequest\x1a\x16.google.protobuf.Empty\"\xe2\x05\x92\x41\xb2\x05\n\x05Roles\x12$Delete role inheritance relationship\x1a\x86\x04Removes the base role inheritance relationship for a specified role, effectively eliminating all inherited permissions from the base role. Use this endpoint when you want to break the hierarchical relationship between roles and remove inherited permissions. The role will retain only its directly assigned permissions after this operation. This action cannot be undone, so ensure the role has sufficient direct permissions before removing inheritance. Returns no content on successful removal of the base relationship.Jz\n\x03\x32\x30\x30\x12s\nqBase role inheritance relationship successfully removed. The role now has only its directly assigned permissions.\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02 *\x1e/api/v1/roles/{role_name}/base\x12\xe8\x02\n\x1a\x44\x65leteOrganizationRoleBase\x12\x34.scalekit.v1.roles.DeleteOrganizationRoleBaseRequest\x1a\x16.google.protobuf.Empty\"\xfb\x01\x92\x41\xa5\x01\n\x05Roles\x12*Delete organization role base relationship\x1a?Remove the base role relationship for a given organization roleJ/\n\x03\x32\x30\x30\x12(\n&Base relationship deleted successfully\x82\xb5\x18\x02\x18T\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x37*5/api/v1/organizations/{org_id}/roles/{role_name}/base\x12\xdf\x03\n\x10\x43reatePermission\x12*.scalekit.v1.roles.CreatePermissionRequest\x1a+.scalekit.v1.roles.CreatePermissionResponse\"\xf1\x02\x92\x41\xc0\x02\n\x0bPermissions\x12\x17\x43reate a new permission\x1a\xbc\x01\x43reates a permission that represents a specific action users can perform. Provide a unique name (for example, \'read:documents\') and an optional description. Returns the created permission.JY\n\x03\x32\x30\x31\x12R\n\x1fPermission created successfully\x12/\n-\x1a+.scalekit.v1.roles.CreatePermissionResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02!\"\x13/api/v1/permissions:\npermission\x12\xf5\x02\n\rGetPermission\x12\'.scalekit.v1.roles.GetPermissionRequest\x1a(.scalekit.v1.roles.GetPermissionResponse\"\x90\x02\x92\x41\xd9\x01\n\x0bPermissions\x12\x13Retrieve permission\x1aSFetch detailed information about a specific permission using its unique identifier.J`\n\x03\x32\x30\x30\x12Y\n)Successfully retrieved permission details\x12,\n*\x1a(.scalekit.v1.roles.GetPermissionResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\'\x12%/api/v1/permissions/{permission_name}\x12\xc7\x03\n\x10UpdatePermission\x12*.scalekit.v1.roles.UpdatePermissionRequest\x1a+.scalekit.v1.roles.UpdatePermissionResponse\"\xd9\x02\x92\x41\x96\x02\n\x0bPermissions\x12\x1dUpdate an existing permission\x1a\x8c\x01Updates a permission\'s attributes such as description. The permission is identified by its name in the path. Returns the updated permission.JY\n\x03\x32\x30\x30\x12R\n\x1fPermission updated successfully\x12/\n-\x1a+.scalekit.v1.roles.UpdatePermissionResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\x33\x1a%/api/v1/permissions/{permission_name}:\npermission\x12\xb0\x03\n\x0fListPermissions\x12).scalekit.v1.roles.ListPermissionsRequest\x1a*.scalekit.v1.roles.ListPermissionsResponse\"\xc5\x02\x92\x41\xa0\x02\n\x0bPermissions\x12\x14List all permissions\x1a\x91\x01Retrieves a paginated list of all permissions within the environment. Use the page_token from the response to access subsequent pages of results.Jg\n\x03\x32\x30\x30\x12`\n.Successfully retrieved the list of permissions\x12.\n,\x1a*.scalekit.v1.roles.ListPermissionsResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/permissions\x12\x8d\x02\n\x10\x44\x65letePermission\x12*.scalekit.v1.roles.DeletePermissionRequest\x1a\x16.google.protobuf.Empty\"\xb4\x01\x92\x41~\n\x0bPermissions\x12\x13\x44\x65lete a permission\x1a;Removes an existing permission using its unique identifier.J\x1d\n\x03\x32\x30\x30\x12\x16\n\x14\x44\x65leted successfully\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\'*%/api/v1/permissions/{permission_name}\x12\xa6\x03\n\x13ListRolePermissions\x12-.scalekit.v1.roles.ListRolePermissionsRequest\x1a..scalekit.v1.roles.ListRolePermissionsResponse\"\xaf\x02\x92\x41\xf8\x01\n\x05Roles\x12\x15List role permissions\x1arLists permissions directly assigned to the specified role. Inherited permissions from base roles are not included.Jd\n\x03\x32\x30\x30\x12]\n\'Successfully retrieved role permissions\x12\x32\n0\x1a..scalekit.v1.roles.ListRolePermissionsResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\'\x12%/api/v1/roles/{role_name}/permissions\x12\x93\x03\n\x14\x41\x64\x64PermissionsToRole\x12..scalekit.v1.roles.AddPermissionsToRoleRequest\x1a/.scalekit.v1.roles.AddPermissionsToRoleResponse\"\x99\x02\x92\x41\xdf\x01\n\x05Roles\x12\x17\x41\x64\x64 permissions to role\x1aWAdds one or more permissions to the specified role. Existing assignments are preserved.Jd\n\x03\x32\x30\x30\x12]\n&Permissions added to role successfully\x12\x33\n1\x1a/.scalekit.v1.roles.AddPermissionsToRoleResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02*\"%/api/v1/roles/{role_name}/permissions:\x01*\x12\xb4\x02\n\x18RemovePermissionFromRole\x12\x32.scalekit.v1.roles.RemovePermissionFromRoleRequest\x1a\x16.google.protobuf.Empty\"\xcb\x01\x92\x41\x82\x01\n\x05Roles\x12\x1bRemove permission from role\x1a(Remove a specific permission from a roleJ2\n\x03\x32\x30\x30\x12+\n)Permission removed from role successfully\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02\x39*7/api/v1/roles/{role_name}/permissions/{permission_name}\x12\x91\x06\n\x1cListEffectiveRolePermissions\x12\x36.scalekit.v1.roles.ListEffectiveRolePermissionsRequest\x1a\x37.scalekit.v1.roles.ListEffectiveRolePermissionsResponse\"\xff\x04\x92\x41\xc4\x04\n\x05Roles\x12#List effective permissions for role\x1a\x97\x03Retrieves all effective permissions assigned to a role, including permissions inherited from any base roles. Use this endpoint to view the complete set of permissions that apply to a role, accounting for both direct assignments and inherited permissions. Provide the role name as a path parameter. Returns a list of permission names representing the full set of effective permissions for the specified role.J|\n\x03\x32\x30\x30\x12u\n6Returns the list of effective permissions for the role\x12;\n9\x1a\x37.scalekit.v1.roles.ListEffectiveRolePermissionsResponse\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02+\x12)/api/v1/roles/{role_name}/permissions:all\x1a\xe2\x02\x92\x41\xde\x02\n\x05Roles\x12\xd4\x02Role-based access control (RBAC) for defining and managing permissions in an environment. Create and update custom roles with explicit permissions, model role hierarchies through inheritance, view dependent roles, manage role-permission assignments, and list roles and permissions. Also provides a utility to count users assigned to a role.B1Z/github.com/scalekit-inc/scalekit/pkg/grpc/rolesb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'scalekit.v1.roles.roles_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'Z/github.com/scalekit-inc/scalekit/pkg/grpc/roles'
  _globals['_ROLE'].fields_by_name['id']._loaded_options = None
  _globals['_ROLE'].fields_by_name['id']._serialized_options = b'\222Ac2HUnique system-generated identifier for the role. Immutable once created.J\027\"role_1234abcd5678efgh\"\340A\003'
  _globals['_ROLE'].fields_by_name['name']._loaded_options = None
  _globals['_ROLE'].fields_by_name['name']._serialized_options = b'\222Aq2]Unique name identifier for the role. Must be alphanumeric with underscores, 1-100 characters.J\020\"content_editor\"\272H\tr\004\020\001\030d\310\001\001'
  _globals['_ROLE'].fields_by_name['display_name']._loaded_options = None
  _globals['_ROLE'].fields_by_name['display_name']._serialized_options = b'\222Ab2NHuman-readable display name for the role. Used in user interfaces and reports.J\020\"Content Editor\"\272H\tr\004\020\001\030d\310\001\001'
  _globals['_ROLE'].fields_by_name['description']._loaded_options = None
  _globals['_ROLE'].fields_by_name['description']._serialized_options = b'\222A\242\0012UDetailed description of the role\'s purpose and capabilities. Maximum 2000 characters.JI\"Can create, edit, and publish content but cannot delete or manage users\"'
  _globals['_ROLE'].fields_by_name['default_creator']._loaded_options = None
  _globals['_ROLE'].fields_by_name['default_creator']._serialized_options = b'\222AQ2IIndicates if this role is the default creator role for new organizations.J\004true'
  _globals['_ROLE'].fields_by_name['default_member']._loaded_options = None
  _globals['_ROLE'].fields_by_name['default_member']._serialized_options = b'\222AH2@Indicates if this role is the default member role for new users.J\004true'
  _globals['_ROLE'].fields_by_name['extends']._loaded_options = None
  _globals['_ROLE'].fields_by_name['extends']._serialized_options = b'\222Ad2TName of the base role that this role extends. Enables hierarchical role inheritance.J\014\"admin_role\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_ROLE'].fields_by_name['permissions']._loaded_options = None
  _globals['_ROLE'].fields_by_name['permissions']._serialized_options = b'\222A\245\0022uList of permissions with role source information. Only included when \'include\' parameter is specified in the request.J\253\001[{\"name\": \"read:content\", \"description\": \"Read Content\", \"role_name\": \"admin_role\"}, {\"name\": \"write:content\", \"description\": \"Write Content\", \"role_name\": \"editor_role\"}]'
  _globals['_ROLE'].fields_by_name['dependent_roles_count']._loaded_options = None
  _globals['_ROLE'].fields_by_name['dependent_roles_count']._serialized_options = b'\222AY2TNumber of roles that extend from this role (dependent roles count). Read-only field.J\0013'
  _globals['_ROLE'].fields_by_name['is_org_role']._loaded_options = None
  _globals['_ROLE'].fields_by_name['is_org_role']._serialized_options = b'\222A72/Indicates if this role is an organization role.J\004true'
  _globals['_CREATEROLE'].fields_by_name['name']._loaded_options = None
  _globals['_CREATEROLE'].fields_by_name['name']._serialized_options = b'\222A\266\0012\241\001Unique name identifier for the role. Must be alphanumeric with underscores, 1-64 characters. This name is used in API calls and cannot be changed after creation.J\020\"content_editor\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_CREATEROLE'].fields_by_name['display_name']._loaded_options = None
  _globals['_CREATEROLE'].fields_by_name['display_name']._serialized_options = b'\222A\1772kHuman-readable display name for the role. Used in user interfaces, reports, and user-facing communications.J\020\"Content Editor\"\272H\tr\004\020\001\030d\310\001\001'
  _globals['_CREATEROLE'].fields_by_name['description']._loaded_options = None
  _globals['_CREATEROLE'].fields_by_name['description']._serialized_options = b'\222A\307\0012jDetailed description of the role\'s purpose, capabilities, and intended use cases. Maximum 2000 characters.JY\"Can create, edit, and publish content but cannot delete content or manage user accounts\"\272H\005r\003\030\320\017'
  _globals['_CREATEROLE'].fields_by_name['extends']._loaded_options = None
  _globals['_CREATEROLE'].fields_by_name['extends']._serialized_options = b'\222A\235\0012\220\001Name of the base role that this role extends. Enables hierarchical role inheritance where this role inherits all permissions from the base role.J\010\"viewer\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_CREATEROLE'].fields_by_name['permissions']._loaded_options = None
  _globals['_CREATEROLE'].fields_by_name['permissions']._serialized_options = b'\222A\276\0012\205\001List of permission names to assign to this role. Permissions must exist in the current environment. Maximum 100 permissions per role.J4[\"read:content\", \"write:content\", \"publish:content\"]\272H\037\222\001\034\020d\"\030r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$'
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['name']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['name']._serialized_options = b'\222A;2&Unique name of the organization\'s roleJ\021\"org_viewer_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['display_name']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['display_name']._serialized_options = b'\222AE2\'Display name of the organization\'s roleJ\032\"Organization Viewer Role\"\272H\tr\004\020\001\030d\310\001\001'
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['description']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['description']._serialized_options = b'\222An2&Description of the organization\'s roleJD\"Organization Viewer Role will be used only for viewing the objects\"\272H\005r\003\030\320\017'
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['extends']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['extends']._serialized_options = b'\222A52%Base role name for hierarchical rolesJ\014\"admin_role\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['permissions']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLE'].fields_by_name['permissions']._serialized_options = b'\222A\210\0012cList of permission names to assign to this role. Permissions must exist in the current environment.J![\"read:users\", \"write:documents\"]\272H\037\222\001\034\020d\"\030r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$'
  _globals['_CREATEROLEREQUEST'].fields_by_name['role']._loaded_options = None
  _globals['_CREATEROLEREQUEST'].fields_by_name['role']._serialized_options = b'\222A\202\0022lRole configuration details including name, display name, description, permissions, and inheritance settings.J\221\001{\"name\": \"content_editor\", \"display_name\": \"Content Editor\", \"description\": \"Can edit content\", \"permissions\": [\"read:content\", \"write:content\"]}\272H\003\310\001\001'
  _globals['_CREATEROLERESPONSE'].fields_by_name['role']._loaded_options = None
  _globals['_CREATEROLERESPONSE'].fields_by_name['role']._serialized_options = b'\222A\321\0012OThe created role object with system-generated ID and all configuration details.J~{\"id\": \"role_1234abcd5678efgh\", \"name\": \"content_editor\", \"display_name\": \"Content Editor\", \"description\": \"Can edit content\"}'
  _globals['_GETROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_GETROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A{2gUnique name identifier of the role to retrieve. Must be alphanumeric with underscores, 1-64 characters.J\020\"content_editor\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_GETROLEREQUEST'].fields_by_name['include']._loaded_options = None
  _globals['_GETROLEREQUEST'].fields_by_name['include']._serialized_options = b'\222A\270\0012\246\001Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions from role hierarchy)J\r\"permissions\"\272H\"r R\000R\013permissionsR\017permissions:all'
  _globals['_GETROLERESPONSE'].fields_by_name['role']._loaded_options = None
  _globals['_GETROLERESPONSE'].fields_by_name['role']._serialized_options = b'\222A\370\0012QThe complete role object with all metadata, permissions, and inheritance details.J\242\001{\"id\": \"role_1234abcd5678efgh\", \"name\": \"content_editor\", \"display_name\": \"Content Editor\", \"permissions\": [{\"name\": \"read:content\"}], \"dependent_roles_count\": 2}'
  _globals['_LISTROLESREQUEST'].fields_by_name['include']._loaded_options = None
  _globals['_LISTROLESREQUEST'].fields_by_name['include']._serialized_options = b'\222A\270\0012\246\001Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions from role hierarchy)J\r\"permissions\"\272H\"r R\000R\013permissionsR\017permissions:all'
  _globals['_LISTROLESRESPONSE'].fields_by_name['roles']._loaded_options = None
  _globals['_LISTROLESRESPONSE'].fields_by_name['roles']._serialized_options = b'\222A\377\0012ZList of all roles in the environment with their metadata and optionally their permissions.J\240\001[{\"id\": \"role_1234abcd5678efgh\", \"name\": \"admin\", \"display_name\": \"Administrator\"}, {\"id\": \"role_9876zyxw5432vuts\", \"name\": \"viewer\", \"display_name\": \"Viewer\"}]'
  _globals['_UPDATEROLE'].fields_by_name['display_name']._loaded_options = None
  _globals['_UPDATEROLE'].fields_by_name['display_name']._serialized_options = b'\222A\206\0012kHuman-readable display name for the role. Used in user interfaces, reports, and user-facing communications.J\027\"Senior Content Editor\"\272H\006r\004\020\001\030d'
  _globals['_UPDATEROLE'].fields_by_name['description']._loaded_options = None
  _globals['_UPDATEROLE'].fields_by_name['description']._serialized_options = b'\222A\316\0012jDetailed description of the role\'s purpose, capabilities, and intended use cases. Maximum 2000 characters.J`\"Can create, edit, publish, and approve content. Cannot delete content or manage user accounts.\"\272H\007r\005\020\001\030\320\017'
  _globals['_UPDATEROLE'].fields_by_name['extends']._loaded_options = None
  _globals['_UPDATEROLE'].fields_by_name['extends']._serialized_options = b'\222A\245\0012\220\001Name of the base role that this role extends. Enables hierarchical role inheritance where this role inherits all permissions from the base role.J\020\"content_editor\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_UPDATEROLE'].fields_by_name['permissions']._loaded_options = None
  _globals['_UPDATEROLE'].fields_by_name['permissions']._serialized_options = b'\222A\225\0022\311\001List of permission names to assign to this role. When provided, this replaces all existing role-permission mappings. Permissions must exist in the current environment. Maximum 100 permissions per role.JG[\"read:content\", \"write:content\", \"publish:content\", \"approve:content\"]\272H\037\222\001\034\020d\"\030r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$'
  _globals['_UPDATEROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_UPDATEROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222Ay2eUnique name identifier of the role to update. Must be alphanumeric with underscores, 1-64 characters.J\020\"content_editor\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_UPDATEROLEREQUEST'].fields_by_name['role']._loaded_options = None
  _globals['_UPDATEROLEREQUEST'].fields_by_name['role']._serialized_options = b'\222A\222\0012>Role fields to update. Only specified fields will be modified.JP{\"display_name\": \"Senior Editor\", \"description\": \"Can edit and approve content\"}\272H\003\310\001\001'
  _globals['_UPDATEROLERESPONSE'].fields_by_name['role']._loaded_options = None
  _globals['_UPDATEROLERESPONSE'].fields_by_name['role']._serialized_options = b'\222A\315\0012?The updated role object with all current configuration details.J\211\001{\"id\": \"role_1234abcd5678efgh\", \"name\": \"content_editor\", \"display_name\": \"Senior Editor\", \"description\": \"Can edit and approve content\"}'
  _globals['_DELETEROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_DELETEROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222As2eUnique name identifier of the role to delete. Must be alphanumeric with underscores, 1-64 characters.J\n\"old_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_DELETEROLEREQUEST'].fields_by_name['reassign_role_id']._loaded_options = None
  _globals['_DELETEROLEREQUEST'].fields_by_name['reassign_role_id']._serialized_options = b'\030\001\222AG26Role name to reassign users to when deleting this roleJ\r\"member_role\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_DELETEROLEREQUEST'].fields_by_name['reassign_role_name']._loaded_options = None
  _globals['_DELETEROLEREQUEST'].fields_by_name['reassign_role_name']._serialized_options = b'\222AG26Role name to reassign users to when deleting this roleJ\r\"member_role\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_CREATEORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\013r\t\020\001\030 :\003org'
  _globals['_CREATEORGANIZATIONROLEREQUEST'].fields_by_name['role']._loaded_options = None
  _globals['_CREATEORGANIZATIONROLEREQUEST'].fields_by_name['role']._serialized_options = b'\222A\0332\031Organization role details\272H\003\310\001\001'
  _globals['_GETORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_GETORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\013r\t\020\001\030 :\003org'
  _globals['_GETORGANIZATIONROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_GETORGANIZATIONROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\'2\027Unique name of the roleJ\014\"admin_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_GETORGANIZATIONROLEREQUEST'].fields_by_name['include']._loaded_options = None
  _globals['_GETORGANIZATIONROLEREQUEST'].fields_by_name['include']._serialized_options = b'\222A\244\0012\222\001Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions)J\r\"permissions\"\272H\"r R\000R\013permissionsR\017permissions:all'
  _globals['_LISTORGANIZATIONROLESREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_LISTORGANIZATIONROLESREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\016r\t\020\001\030 :\003org\310\001\001'
  _globals['_LISTORGANIZATIONROLESREQUEST'].fields_by_name['include']._loaded_options = None
  _globals['_LISTORGANIZATIONROLESREQUEST'].fields_by_name['include']._serialized_options = b'\222A\244\0012\222\001Include additional data in the response. Valid values: \'permissions\' (direct permissions only), \'permissions:all\' (includes inherited permissions)J\r\"permissions\"\272H\"r R\000R\013permissionsR\017permissions:all'
  _globals['_LISTORGANIZATIONROLESREQUEST']._loaded_options = None
  _globals['_LISTORGANIZATIONROLESREQUEST']._serialized_options = b'\222A\326\001\n\260\001*\027List organization roles2\213\001Retrieves a paginated list of all roles within the organization. Use the page_token from the response to access subsequent pages of results\322\001\006org_id2!{\"org_id\" : \"org_8756865685762\" }'
  _globals['_LISTORGANIZATIONROLESRESPONSE'].fields_by_name['roles']._loaded_options = None
  _globals['_LISTORGANIZATIONROLESRESPONSE'].fields_by_name['roles']._serialized_options = b'\222A\0272\025List of roles objects'
  _globals['_UPDATEORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_UPDATEORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\013r\t\020\001\030 :\003org'
  _globals['_UPDATEORGANIZATIONROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_UPDATEORGANIZATIONROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\'2\027Unique name of the roleJ\014\"admin_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_UPDATEORGANIZATIONROLEREQUEST'].fields_by_name['role']._loaded_options = None
  _globals['_UPDATEORGANIZATIONROLEREQUEST'].fields_by_name['role']._serialized_options = b'\222A\0332\031Organization role details\272H\003\310\001\001'
  _globals['_DELETEORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_DELETEORGANIZATIONROLEREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\013r\t\020\001\030 :\003org'
  _globals['_DELETEORGANIZATIONROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_DELETEORGANIZATIONROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\'2\027Unique name of the roleJ\014\"admin_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_DELETEORGANIZATIONROLEREQUEST'].fields_by_name['reassign_role_name']._loaded_options = None
  _globals['_DELETEORGANIZATIONROLEREQUEST'].fields_by_name['reassign_role_name']._serialized_options = b'\222AG26Role name to reassign users to when deleting this roleJ\r\"member_role\"\272H\034r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_GETROLEUSERSCOUNTREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_GETROLEUSERSCOUNTREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\'2\027Unique name of the roleJ\014\"admin_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_GETROLEUSERSCOUNTRESPONSE'].fields_by_name['count']._loaded_options = None
  _globals['_GETROLEUSERSCOUNTRESPONSE'].fields_by_name['count']._serialized_options = b'\222A.2(Number of users associated with the roleJ\00210\272H\004\032\002 \000'
  _globals['_GETORGANIZATIONROLEUSERSCOUNTREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_GETORGANIZATIONROLEUSERSCOUNTREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A92%Unique identifier of the organizationJ\020\"org_1234567890\"\272H\tr\004\020\001\030d\310\001\001'
  _globals['_GETORGANIZATIONROLEUSERSCOUNTREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_GETORGANIZATIONROLEUSERSCOUNTREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A42$Unique name of the organization roleJ\014\"admin_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_GETORGANIZATIONROLEUSERSCOUNTRESPONSE'].fields_by_name['count']._loaded_options = None
  _globals['_GETORGANIZATIONROLEUSERSCOUNTRESPONSE'].fields_by_name['count']._serialized_options = b'\222A:25Number of users associated with the organization roleJ\0015\272H\004\032\002 \000'
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_creator']._loaded_options = None
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_creator']._serialized_options = b'\030\001\222A\310\0012JDefault creator role (deprecated - use default_creator_role field instead)Jz{\"id\": \"role_1234567890\", \"name\": \"creator\", \"display_name\": \"Creator Role\", \"description\": \"Role for creating resources\"}'
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_member']._loaded_options = None
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_member']._serialized_options = b'\030\001\222A\301\0012HDefault member role (deprecated - use default_member_role field instead)Ju{\"id\": \"role_0987654321\", \"name\": \"member\", \"display_name\": \"Member Role\", \"description\": \"Role for regular members\"}'
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_creator_role']._loaded_options = None
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_creator_role']._serialized_options = b'\222A\333\0012\315\001Name of the role to set as the default creator role. This role will be automatically assigned to users who create new resources in the environment. Must be a valid role name that exists in the environment.J\t\"creator\"\272H\034r\032\020\000\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_member_role']._loaded_options = None
  _globals['_UPDATEDEFAULTROLESREQUEST'].fields_by_name['default_member_role']._serialized_options = b'\222A\320\0012\303\001Name of the role to set as the default member role. This role will be automatically assigned to new users when they join the environment. Must be a valid role name that exists in the environment.J\010\"member\"\272H\034r\032\020\000\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_UPDATEDEFAULTORGANIZATIONROLESREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_UPDATEDEFAULTORGANIZATIONROLESREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\016r\t\020\001\030 :\003org\310\001\001'
  _globals['_UPDATEDEFAULTORGANIZATIONROLESREQUEST'].fields_by_name['default_member_role']._loaded_options = None
  _globals['_UPDATEDEFAULTORGANIZATIONROLESREQUEST'].fields_by_name['default_member_role']._serialized_options = b'\222A22&Unique name of the default member roleJ\010\"member\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_UPDATEDEFAULTROLESRESPONSE'].fields_by_name['default_creator']._loaded_options = None
  _globals['_UPDATEDEFAULTROLESRESPONSE'].fields_by_name['default_creator']._serialized_options = b'\222A\217\0022\220\001The role that is now set as the default creator role for the environment. Contains complete role information including permissions and metadata.Jz{\"id\": \"role_1234567890\", \"name\": \"creator\", \"display_name\": \"Creator Role\", \"description\": \"Role for creating resources\"}'
  _globals['_UPDATEDEFAULTROLESRESPONSE'].fields_by_name['default_member']._loaded_options = None
  _globals['_UPDATEDEFAULTROLESRESPONSE'].fields_by_name['default_member']._serialized_options = b'\222A\211\0022\217\001The role that is now set as the default member role for the environment. Contains complete role information including permissions and metadata.Ju{\"id\": \"role_0987654321\", \"name\": \"member\", \"display_name\": \"Member Role\", \"description\": \"Role for regular members\"}'
  _globals['_UPDATEDEFAULTORGANIZATIONROLESRESPONSE'].fields_by_name['default_member']._loaded_options = None
  _globals['_UPDATEDEFAULTORGANIZATIONROLESRESPONSE'].fields_by_name['default_member']._serialized_options = b'\222A\224\0012\033Updated default member roleJu{\"id\": \"role_0987654321\", \"name\": \"member\", \"display_name\": \"Member Role\", \"description\": \"Role for regular members\"}'
  _globals['_UPDATEDEFAULTROLE'].fields_by_name['id']._loaded_options = None
  _globals['_UPDATEDEFAULTROLE'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004role'
  _globals['_UPDATEDEFAULTROLE'].fields_by_name['name']._loaded_options = None
  _globals['_UPDATEDEFAULTROLE'].fields_by_name['name']._serialized_options = b'\222A$2\027Unique name of the roleJ\t\"creator\"\272H\034r\032\020\000\030d2\024^[a-zA-Z0-9_]{1,64}$'
  _globals['_PERMISSION'].fields_by_name['id']._loaded_options = None
  _globals['_PERMISSION'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004perm'
  _globals['_PERMISSION'].fields_by_name['name']._loaded_options = None
  _globals['_PERMISSION'].fields_by_name['name']._serialized_options = b'\272H\033r\026\020\001\030d2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_PERMISSION'].fields_by_name['description']._loaded_options = None
  _globals['_PERMISSION'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\320\017'
  _globals['_ROLEPERMISSION'].fields_by_name['id']._loaded_options = None
  _globals['_ROLEPERMISSION'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004perm'
  _globals['_ROLEPERMISSION'].fields_by_name['name']._loaded_options = None
  _globals['_ROLEPERMISSION'].fields_by_name['name']._serialized_options = b'\272H\033r\026\020\001\030d2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_ROLEPERMISSION'].fields_by_name['description']._loaded_options = None
  _globals['_ROLEPERMISSION'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\320\017'
  _globals['_ROLEPERMISSION'].fields_by_name['role_name']._loaded_options = None
  _globals['_ROLEPERMISSION'].fields_by_name['role_name']._serialized_options = b'\222AG27Name of the role from which this permission was sourcedJ\014\"admin_role\"\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_CREATEPERMISSION'].fields_by_name['name']._loaded_options = None
  _globals['_CREATEPERMISSION'].fields_by_name['name']._serialized_options = b'\222A42 Unique name/ID of the permissionJ\020\"read:documents\"\272H r\033\020\001\030d2\025^[a-zA-Z0-9_:]{1,64}$\310\001\001'
  _globals['_CREATEPERMISSION'].fields_by_name['description']._loaded_options = None
  _globals['_CREATEPERMISSION'].fields_by_name['description']._serialized_options = b'\222AP2\035Description of the permissionJ/\"Allows user to read documents from the system\"\272H\005r\003\030\320\017'
  _globals['_CREATEPERMISSIONREQUEST'].fields_by_name['permission']._loaded_options = None
  _globals['_CREATEPERMISSIONREQUEST'].fields_by_name['permission']._serialized_options = b'\272H\003\310\001\001'
  _globals['_GETPERMISSIONREQUEST'].fields_by_name['permission_name']._loaded_options = None
  _globals['_GETPERMISSIONREQUEST'].fields_by_name['permission_name']._serialized_options = b'\222A&2\026Name of the permissionJ\014\"read:users\"\272H\033r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_UPDATEPERMISSIONREQUEST'].fields_by_name['permission_name']._loaded_options = None
  _globals['_UPDATEPERMISSIONREQUEST'].fields_by_name['permission_name']._serialized_options = b'\222A&2\026Name of the permissionJ\014\"read_users\"\272H\033r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_UPDATEPERMISSIONREQUEST'].fields_by_name['permission']._loaded_options = None
  _globals['_UPDATEPERMISSIONREQUEST'].fields_by_name['permission']._serialized_options = b'\272H\003\310\001\001'
  _globals['_LISTPERMISSIONSREQUEST'].fields_by_name['page_token']._loaded_options = None
  _globals['_LISTPERMISSIONSREQUEST'].fields_by_name['page_token']._serialized_options = b'\222A=2+Page token to retrieve next page of resultsJ\016\"token_abc123\"'
  _globals['_LISTPERMISSIONSREQUEST'].fields_by_name['page_size']._loaded_options = None
  _globals['_LISTPERMISSIONSREQUEST'].fields_by_name['page_size']._serialized_options = b'\222A822Number of permissions to return per page (max 100)J\00250\272H\006*\004\030d(\001'
  _globals['_LISTPERMISSIONSRESPONSE'].fields_by_name['prev_page_token']._loaded_options = None
  _globals['_LISTPERMISSIONSRESPONSE'].fields_by_name['prev_page_token']._serialized_options = b'\222A<2*Token to retrieve previous page of resultsJ\016\"token_def456\"'
  _globals['_LISTPERMISSIONSRESPONSE'].fields_by_name['next_page_token']._loaded_options = None
  _globals['_LISTPERMISSIONSRESPONSE'].fields_by_name['next_page_token']._serialized_options = b'\222A82&Token to retrieve next page of resultsJ\016\"token_def456\"'
  _globals['_LISTPERMISSIONSRESPONSE'].fields_by_name['total_size']._loaded_options = None
  _globals['_LISTPERMISSIONSRESPONSE'].fields_by_name['total_size']._serialized_options = b'\222A,2%Total number of permissions availableJ\003150'
  _globals['_DELETEPERMISSIONREQUEST'].fields_by_name['permission_name']._loaded_options = None
  _globals['_DELETEPERMISSIONREQUEST'].fields_by_name['permission_name']._serialized_options = b'\222A&2\026Name of the permissionJ\014\"read_users\"\272H\033r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_LISTROLEPERMISSIONSREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_LISTROLEPERMISSIONSREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\0312\020Name of the roleJ\005admin\272H\033r\026\020\001\030@2\020^[a-zA-Z0-9_-]+$\310\001\001'
  _globals['_LISTROLEPERMISSIONSRESPONSE'].fields_by_name['permissions']._loaded_options = None
  _globals['_LISTROLEPERMISSIONSRESPONSE'].fields_by_name['permissions']._serialized_options = b'\222A321List of permissions directly assigned to the role'
  _globals['_ADDPERMISSIONSTOROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_ADDPERMISSIONSTOROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\0312\020Name of the roleJ\005admin\272H\033r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_ADDPERMISSIONSTOROLEREQUEST'].fields_by_name['permission_names']._loaded_options = None
  _globals['_ADDPERMISSIONSTOROLEREQUEST'].fields_by_name['permission_names']._serialized_options = b'\222A-2+List of permission names to add to the role\272H$\222\001\036\010\001\020d\"\030r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_ADDPERMISSIONSTOROLERESPONSE'].fields_by_name['permissions']._loaded_options = None
  _globals['_ADDPERMISSIONSTOROLERESPONSE'].fields_by_name['permissions']._serialized_options = b'\222A>2<List of all permissions belonging to the role after addition'
  _globals['_REMOVEPERMISSIONFROMROLEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_REMOVEPERMISSIONFROMROLEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\0312\020Name of the roleJ\005admin\272H\032r\025\020\001\030@2\017^[a-zA-Z0-9_]+$\310\001\001'
  _globals['_REMOVEPERMISSIONFROMROLEREQUEST'].fields_by_name['permission_name']._loaded_options = None
  _globals['_REMOVEPERMISSIONFROMROLEREQUEST'].fields_by_name['permission_name']._serialized_options = b'\222A.2 Name of the permission to removeJ\nread_users\272H\033r\026\020\001\030@2\020^[a-zA-Z0-9_:]+$\310\001\001'
  _globals['_LISTEFFECTIVEROLEPERMISSIONSREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_LISTEFFECTIVEROLEPERMISSIONSREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\0312\020Name of the roleJ\005admin\272H\032r\025\020\001\030@2\017^[a-zA-Z0-9_]+$\310\001\001'
  _globals['_LISTEFFECTIVEROLEPERMISSIONSRESPONSE'].fields_by_name['permissions']._loaded_options = None
  _globals['_LISTEFFECTIVEROLEPERMISSIONSRESPONSE'].fields_by_name['permissions']._serialized_options = b'\222AM2KList of all effective permissions including those inherited from base roles'
  _globals['_LISTDEPENDENTROLESREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_LISTDEPENDENTROLESREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\0362\025Name of the base roleJ\005admin\272H\032r\025\020\001\030@2\017^[a-zA-Z0-9_]+$\310\001\001'
  _globals['_LISTDEPENDENTROLESRESPONSE'].fields_by_name['roles']._loaded_options = None
  _globals['_LISTDEPENDENTROLESRESPONSE'].fields_by_name['roles']._serialized_options = b'\222A\0312\027List of dependent roles'
  _globals['_DELETEROLEBASEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_DELETEROLEBASEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A\244\0012\221\001Unique name identifier of the role whose base inheritance relationship should be removed. Must be alphanumeric with underscores, 1-64 characters.J\016content_editor\272H\032r\025\020\001\030@2\017^[a-zA-Z0-9_]+$\310\001\001'
  _globals['_DELETEORGANIZATIONROLEBASEREQUEST'].fields_by_name['org_id']._loaded_options = None
  _globals['_DELETEORGANIZATIONROLEBASEREQUEST'].fields_by_name['org_id']._serialized_options = b'\222A=2$Unique identifier to an OrganizationJ\025\"org_121312434123312\"\272H\013r\t\020\001\030 :\003org'
  _globals['_DELETEORGANIZATIONROLEBASEREQUEST'].fields_by_name['role_name']._loaded_options = None
  _globals['_DELETEORGANIZATIONROLEBASEREQUEST'].fields_by_name['role_name']._serialized_options = b'\222A:21Name of the organization role to remove base fromJ\005admin\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_ROLESSERVICE']._loaded_options = None
  _globals['_ROLESSERVICE']._serialized_options = b'\222A\336\002\n\005Roles\022\324\002Role-based access control (RBAC) for defining and managing permissions in an environment. Create and update custom roles with explicit permissions, model role hierarchies through inheritance, view dependent roles, manage role-permission assignments, and list roles and permissions. Also provides a utility to count users assigned to a role.'
  _globals['_ROLESSERVICE'].methods_by_name['CreateRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['CreateRole']._serialized_options = b'\222A\206\007\n\005Roles\022\036Create new role in environment\032\210\003Creates a new role within the environment with specified permissions and metadata. Use this endpoint to define custom roles that can be assigned to users or groups. You can create hierarchical roles by extending existing roles, assign specific permissions, and configure display information. Roles are the foundation of your access control system and determine what actions users can perform.J\231\001\n\003201\022\221\001\ndRole created successfully. Returns the complete role object with system-generated ID and timestamps.\022)\n\'\032%.scalekit.v1.roles.CreateRoleResponsej\265\002\n\rx-codeSamples\022\243\0022\240\002\n\235\002*\232\002\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\356\001\n\006source\022\343\001\032\340\001from scalekit.v1.roles.roles_pb2 import CreateRole\n\nrole = CreateRole(\n    name=\"viewer\",\n    display_name=\"Viewer\",\n    description=\"Read-only access\",\n)\ncreate_response = scalekit_client.roles.create_role(\n    role=role,\n)\202\265\030\002\030T\202\323\344\223\002\025\"\r/api/v1/roles:\004role'
  _globals['_ROLESSERVICE'].methods_by_name['UpdateRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['UpdateRole']._serialized_options = b'\222A\211\007\n\005Roles\022\027Update role information\032\366\002Modifies an existing role\'s properties including display name, description, permissions, and inheritance. Use this endpoint to update role metadata, change permission assignments, or modify role hierarchy. Only the fields you specify will be updated, leaving other properties unchanged. When updating permissions, the new list replaces all existing permissions for the role.J\211\001\n\003200\022\201\001\nTRole updated successfully. Returns the modified role object with updated timestamps.\022)\n\'\032%.scalekit.v1.roles.UpdateRoleResponsej\341\002\n\rx-codeSamples\022\317\0022\314\002\n\311\002*\306\002\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\232\002\n\006source\022\217\002\032\214\002from scalekit.v1.roles.roles_pb2 import UpdateRole\n\nupdate_role = UpdateRole(\n    display_name=\"Viewer (Limited)\",\n    description=\"Read-only access, no billing\",\n)\nupdated_role = scalekit_client.roles.update_role(\n    role_id=\"role_123456789\",\n    role=update_role,\n)\202\265\030\002\030T\202\323\344\223\002!\032\031/api/v1/roles/{role_name}:\004role'
  _globals['_ROLESSERVICE'].methods_by_name['GetRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['GetRole']._serialized_options = b'\222A\245\005\n\005Roles\022\020Get role details\032\251\002Retrieves complete information for a specific role including metadata and inheritance details (base role and dependent role count). Use this endpoint to audit role configuration and understand the role\'s place in the hierarchy. To view the role\'s permissions, use the ListRolePermissions endpoint.J\271\001\n\003200\022\261\001\n\206\001Successfully retrieved role details. Returns the role object including metadata and inheritance details. Permissions are not included.\022&\n$\032\".scalekit.v1.roles.GetRoleResponsej\241\001\n\rx-codeSamples\022\217\0012\214\001\n\211\001*\206\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n[\n\006source\022Q\032Orole_response = scalekit_client.roles.get_role(\n    role_id=\"role_123456789\",\n)\202\265\030\002\030T\202\323\344\223\002\033\022\031/api/v1/roles/{role_name}'
  _globals['_ROLESSERVICE'].methods_by_name['ListRoles']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['ListRoles']._serialized_options = b'\222A\310\005\n\005Roles\022\035List all roles in environment\032\367\002Retrieves a comprehensive list of all roles available within the environment. Use this endpoint to view all role definitions, including system default roles and custom roles. You can optionally include permission details for each role to understand their capabilities. This is useful for role management, auditing, or understanding the available access levels in your system.J\241\001\n\003200\022\231\001\nmSuccessfully retrieved list of roles. Returns all roles with their metadata and optionally their permissions.\022(\n&\032$.scalekit.v1.roles.ListRolesResponsej\201\001\n\rx-codeSamples\022p2n\nl*j\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n?\n\006source\0225\0323roles_response = scalekit_client.roles.list_roles()\202\265\030\002\030t\202\323\344\223\002\017\022\r/api/v1/roles'
  _globals['_ROLESSERVICE'].methods_by_name['DeleteRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['DeleteRole']._serialized_options = b'\222A\307\006\n\005Roles\022\036Delete role and reassign users\032\273\004Permanently removes a role from the environment and reassigns users who had that role to a different role. Use this endpoint when you need to clean up unused roles or restructure your access control system. The role cannot be deleted if it has dependent roles (roles that extend it) unless you specify a replacement role. If users are assigned to the role being deleted, you must provide a reassign_role_name to move those users to a different role before deletion can proceed. This action cannot be undone, so ensure no critical users depend on the role before deletion.JM\n\003200\022F\nDRole successfully deleted and users reassigned. No content returned.j\220\001\n\rx-codeSamples\022\1772}\n{*y\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\nN\n\006source\022D\032Bscalekit_client.roles.delete_role(\n    role_id=\"role_123456789\",\n)\202\265\030\002\030T\202\323\344\223\002\033*\031/api/v1/roles/{role_name}'
  _globals['_ROLESSERVICE'].methods_by_name['CreateOrganizationRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['CreateOrganizationRole']._serialized_options = b'\222A\346\001\n\005Roles\022\036Create a new organization role\032UCreates a new organization role to represent a specific role within the organization.Jf\n\003201\022_\n&Organization role created successfully\0225\n3\0321.scalekit.v1.roles.CreateOrganizationRoleResponse\202\265\030\002\030T\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002,\"$/api/v1/organizations/{org_id}/roles:\004role'
  _globals['_ROLESSERVICE'].methods_by_name['UpdateOrganizationRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['UpdateOrganizationRole']._serialized_options = b'\222A\331\001\n\005Roles\022$Update an existing organization role\032BUpdates an existing organization role using its unique identifier.Jf\n\003200\022_\n&Organization role updated successfully\0225\n3\0321.scalekit.v1.roles.UpdateOrganizationRoleResponse\202\265\030\002\030T\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\0028\0320/api/v1/organizations/{org_id}/roles/{role_name}:\004role'
  _globals['_ROLESSERVICE'].methods_by_name['GetOrganizationRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['GetOrganizationRole']._serialized_options = b'\222A\356\001\n\005Roles\022\032Retrieve organization role\032ZFetch detailed information about a specific organization role using its unique identifier.Jm\n\003200\022f\n0Successfully retrieved organization role details\0222\n0\032..scalekit.v1.roles.GetOrganizationRoleResponse\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\0022\0220/api/v1/organizations/{org_id}/roles/{role_name}'
  _globals['_ROLESSERVICE'].methods_by_name['ListOrganizationRoles']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['ListOrganizationRoles']._serialized_options = b'\222A\273\002\n\005Roles\022\033List all organization roles\032\214\001Retrieves a paginated list of all roles within the organization. Use the page_token from the response to access subsequent pages of results.J\205\001\n\003200\022~\nFSuccessfully retrieved the list of roles within the given organization\0224\n2\0320.scalekit.v1.roles.ListOrganizationRolesResponse\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002&\022$/api/v1/organizations/{org_id}/roles'
  _globals['_ROLESSERVICE'].methods_by_name['DeleteOrganizationRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['DeleteOrganizationRole']._serialized_options = b'\222A\220\001\n\005Roles\022\033Delete an organization role\032KRemoves an existing role from the organization using its unique identifier.J\035\n\003200\022\026\n\024Deleted successfully\202\265\030\002\030T\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\0022*0/api/v1/organizations/{org_id}/roles/{role_name}'
  _globals['_ROLESSERVICE'].methods_by_name['GetRoleUsersCount']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['GetRoleUsersCount']._serialized_options = b'\222A\361\003\n\005Roles\022\034Retrieve user count for role\032\324\002Retrieves the total number of users currently assigned to the specified role. Use this endpoint to monitor role usage or enforce limits based on user assignments. Provide the role\'s unique name as a path parameter. The response includes the user count for the requested role. This operation does not modify any data and has no side effects.Js\n\003200\022l\n8Successfully retrieved user count for the specified role\0220\n.\032,.scalekit.v1.roles.GetRoleUsersCountResponse\202\265\030\002\030T\202\323\344\223\002\'\022%/api/v1/roles/{role_name}/users:count'
  _globals['_ROLESSERVICE'].methods_by_name['GetOrganizationRoleUsersCount']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['GetOrganizationRoleUsersCount']._serialized_options = b'\222A\312\004\n\005Roles\022)Retrieve user count for organization role\032\205\003Retrieves the total number of users currently assigned to the specified organization role. Use this endpoint to monitor organization role usage or enforce limits based on user assignments. Provide the organization ID and role name as path parameters. The response includes the user count for the requested organization role. This operation does not modify any data and has no side effects.J\215\001\n\003200\022\205\001\nESuccessfully retrieved user count for the specified organization role\022<\n:\0328.scalekit.v1.roles.GetOrganizationRoleUsersCountResponse\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002>\022</api/v1/organizations/{org_id}/roles/{role_name}/users:count'
  _globals['_ROLESSERVICE'].methods_by_name['UpdateDefaultRoles']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['UpdateDefaultRoles']._serialized_options = b'\222A\337\004\n\005Roles\022$Set default creator and member roles\032\317\003Updates the default creator and member roles for the current environment. Use this endpoint to configure which roles are automatically assigned to new users when they join the environment. You can specify role names for both creator and member default roles. The system will validate that the specified roles exist and update the environment settings accordingly. Returns the updated default role objects including their complete role information and permissions.J^\n\003200\022W\n\"Default roles updated successfully\0221\n/\032-.scalekit.v1.roles.UpdateDefaultRolesResponse\202\265\030\002\030T\202\323\344\223\002;2\032/api/v1/roles:set_defaults:\001*Z\0322\025/api/v1/roles/default:\001*'
  _globals['_ROLESSERVICE'].methods_by_name['UpdateDefaultOrganizationRoles']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['UpdateDefaultOrganizationRoles']._serialized_options = b'\222A\313\001\n\005Roles\022!Update default organization roles\0323Update the default member role for the organizationJj\n\003200\022c\n\"Default roles updated successfully\022=\n;\0329.scalekit.v1.roles.UpdateDefaultOrganizationRolesResponse\202\265\030\002\030T\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002621/api/v1/organizations/{org_id}/roles:set_defaults:\001*'
  _globals['_ROLESSERVICE'].methods_by_name['ListDependentRoles']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['ListDependentRoles']._serialized_options = b'\222A\300\001\n\005Roles\022\024List dependent roles\032=Retrieves roles that directly extend the specified base role.Jb\n\003200\022[\n&Successfully retrieved dependent roles\0221\n/\032-.scalekit.v1.roles.ListDependentRolesResponse\202\265\030\002\030t\202\323\344\223\002&\022$/api/v1/roles/{role_name}/dependents'
  _globals['_ROLESSERVICE'].methods_by_name['DeleteRoleBase']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['DeleteRoleBase']._serialized_options = b'\222A\262\005\n\005Roles\022$Delete role inheritance relationship\032\206\004Removes the base role inheritance relationship for a specified role, effectively eliminating all inherited permissions from the base role. Use this endpoint when you want to break the hierarchical relationship between roles and remove inherited permissions. The role will retain only its directly assigned permissions after this operation. This action cannot be undone, so ensure the role has sufficient direct permissions before removing inheritance. Returns no content on successful removal of the base relationship.Jz\n\003200\022s\nqBase role inheritance relationship successfully removed. The role now has only its directly assigned permissions.\202\265\030\002\030T\202\323\344\223\002 *\036/api/v1/roles/{role_name}/base'
  _globals['_ROLESSERVICE'].methods_by_name['DeleteOrganizationRoleBase']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['DeleteOrganizationRoleBase']._serialized_options = b'\222A\245\001\n\005Roles\022*Delete organization role base relationship\032?Remove the base role relationship for a given organization roleJ/\n\003200\022(\n&Base relationship deleted successfully\202\265\030\002\030T\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\0027*5/api/v1/organizations/{org_id}/roles/{role_name}/base'
  _globals['_ROLESSERVICE'].methods_by_name['CreatePermission']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['CreatePermission']._serialized_options = b'\222A\300\002\n\013Permissions\022\027Create a new permission\032\274\001Creates a permission that represents a specific action users can perform. Provide a unique name (for example, \'read:documents\') and an optional description. Returns the created permission.JY\n\003201\022R\n\037Permission created successfully\022/\n-\032+.scalekit.v1.roles.CreatePermissionResponse\202\265\030\002\030T\202\323\344\223\002!\"\023/api/v1/permissions:\npermission'
  _globals['_ROLESSERVICE'].methods_by_name['GetPermission']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['GetPermission']._serialized_options = b'\222A\331\001\n\013Permissions\022\023Retrieve permission\032SFetch detailed information about a specific permission using its unique identifier.J`\n\003200\022Y\n)Successfully retrieved permission details\022,\n*\032(.scalekit.v1.roles.GetPermissionResponse\202\265\030\002\030T\202\323\344\223\002\'\022%/api/v1/permissions/{permission_name}'
  _globals['_ROLESSERVICE'].methods_by_name['UpdatePermission']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['UpdatePermission']._serialized_options = b'\222A\226\002\n\013Permissions\022\035Update an existing permission\032\214\001Updates a permission\'s attributes such as description. The permission is identified by its name in the path. Returns the updated permission.JY\n\003200\022R\n\037Permission updated successfully\022/\n-\032+.scalekit.v1.roles.UpdatePermissionResponse\202\265\030\002\030T\202\323\344\223\0023\032%/api/v1/permissions/{permission_name}:\npermission'
  _globals['_ROLESSERVICE'].methods_by_name['ListPermissions']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['ListPermissions']._serialized_options = b'\222A\240\002\n\013Permissions\022\024List all permissions\032\221\001Retrieves a paginated list of all permissions within the environment. Use the page_token from the response to access subsequent pages of results.Jg\n\003200\022`\n.Successfully retrieved the list of permissions\022.\n,\032*.scalekit.v1.roles.ListPermissionsResponse\202\265\030\002\030T\202\323\344\223\002\025\022\023/api/v1/permissions'
  _globals['_ROLESSERVICE'].methods_by_name['DeletePermission']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['DeletePermission']._serialized_options = b'\222A~\n\013Permissions\022\023Delete a permission\032;Removes an existing permission using its unique identifier.J\035\n\003200\022\026\n\024Deleted successfully\202\265\030\002\030T\202\323\344\223\002\'*%/api/v1/permissions/{permission_name}'
  _globals['_ROLESSERVICE'].methods_by_name['ListRolePermissions']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['ListRolePermissions']._serialized_options = b'\222A\370\001\n\005Roles\022\025List role permissions\032rLists permissions directly assigned to the specified role. Inherited permissions from base roles are not included.Jd\n\003200\022]\n\'Successfully retrieved role permissions\0222\n0\032..scalekit.v1.roles.ListRolePermissionsResponse\202\265\030\002\030T\202\323\344\223\002\'\022%/api/v1/roles/{role_name}/permissions'
  _globals['_ROLESSERVICE'].methods_by_name['AddPermissionsToRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['AddPermissionsToRole']._serialized_options = b'\222A\337\001\n\005Roles\022\027Add permissions to role\032WAdds one or more permissions to the specified role. Existing assignments are preserved.Jd\n\003200\022]\n&Permissions added to role successfully\0223\n1\032/.scalekit.v1.roles.AddPermissionsToRoleResponse\202\265\030\002\030T\202\323\344\223\002*\"%/api/v1/roles/{role_name}/permissions:\001*'
  _globals['_ROLESSERVICE'].methods_by_name['RemovePermissionFromRole']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['RemovePermissionFromRole']._serialized_options = b'\222A\202\001\n\005Roles\022\033Remove permission from role\032(Remove a specific permission from a roleJ2\n\003200\022+\n)Permission removed from role successfully\202\265\030\002\030T\202\323\344\223\0029*7/api/v1/roles/{role_name}/permissions/{permission_name}'
  _globals['_ROLESSERVICE'].methods_by_name['ListEffectiveRolePermissions']._loaded_options = None
  _globals['_ROLESSERVICE'].methods_by_name['ListEffectiveRolePermissions']._serialized_options = b'\222A\304\004\n\005Roles\022#List effective permissions for role\032\227\003Retrieves all effective permissions assigned to a role, including permissions inherited from any base roles. Use this endpoint to view the complete set of permissions that apply to a role, accounting for both direct assignments and inherited permissions. Provide the role name as a path parameter. Returns a list of permission names representing the full set of effective permissions for the specified role.J|\n\003200\022u\n6Returns the list of effective permissions for the role\022;\n9\0327.scalekit.v1.roles.ListEffectiveRolePermissionsResponse\202\265\030\002\030T\202\323\344\223\002+\022)/api/v1/roles/{role_name}/permissions:all'
  _globals['_ROLE']._serialized_start=443
  _globals['_ROLE']._serialized_end=2118
  _globals['_CREATEROLE']._serialized_start=2121
  _globals['_CREATEROLE']._serialized_end=3351
  _globals['_CREATEORGANIZATIONROLE']._serialized_start=3354
  _globals['_CREATEORGANIZATIONROLE']._serialized_end=4158
  _globals['_CREATEROLEREQUEST']._serialized_start=4161
  _globals['_CREATEROLEREQUEST']._serialized_end=4509
  _globals['_CREATEROLERESPONSE']._serialized_start=4512
  _globals['_CREATEROLERESPONSE']._serialized_end=4794
  _globals['_GETROLEREQUEST']._serialized_start=4797
  _globals['_GETROLEREQUEST']._serialized_end=5284
  _globals['_GETROLERESPONSE']._serialized_start=5287
  _globals['_GETROLERESPONSE']._serialized_end=5605
  _globals['_LISTROLESREQUEST']._serialized_start=5608
  _globals['_LISTROLESREQUEST']._serialized_end=5904
  _globals['_LISTROLESRESPONSE']._serialized_start=5907
  _globals['_LISTROLESRESPONSE']._serialized_end=6236
  _globals['_UPDATEROLE']._serialized_start=6239
  _globals['_UPDATEROLE']._serialized_end=7356
  _globals['_UPDATEROLEREQUEST']._serialized_start=7359
  _globals['_UPDATEROLEREQUEST']._serialized_end=7786
  _globals['_UPDATEROLERESPONSE']._serialized_start=7789
  _globals['_UPDATEROLERESPONSE']._serialized_end=8067
  _globals['_DELETEROLEREQUEST']._serialized_start=8070
  _globals['_DELETEROLEREQUEST']._serialized_end=8640
  _globals['_CREATEORGANIZATIONROLEREQUEST']._serialized_start=8643
  _globals['_CREATEORGANIZATIONROLEREQUEST']._serialized_end=8879
  _globals['_CREATEORGANIZATIONROLERESPONSE']._serialized_start=8881
  _globals['_CREATEORGANIZATIONROLERESPONSE']._serialized_end=8958
  _globals['_GETORGANIZATIONROLEREQUEST']._serialized_start=8961
  _globals['_GETORGANIZATIONROLEREQUEST']._serialized_end=9452
  _globals['_GETORGANIZATIONROLERESPONSE']._serialized_start=9454
  _globals['_GETORGANIZATIONROLERESPONSE']._serialized_end=9528
  _globals['_LISTORGANIZATIONROLESREQUEST']._serialized_start=9531
  _globals['_LISTORGANIZATIONROLESREQUEST']._serialized_end=10141
  _globals['_LISTORGANIZATIONROLESRESPONSE']._serialized_start=10143
  _globals['_LISTORGANIZATIONROLESRESPONSE']._serialized_end=10249
  _globals['_UPDATEORGANIZATIONROLEREQUEST']._serialized_start=10252
  _globals['_UPDATEORGANIZATIONROLEREQUEST']._serialized_end=10583
  _globals['_UPDATEORGANIZATIONROLERESPONSE']._serialized_start=10585
  _globals['_UPDATEORGANIZATIONROLERESPONSE']._serialized_end=10662
  _globals['_DELETEORGANIZATIONROLEREQUEST']._serialized_start=10665
  _globals['_DELETEORGANIZATIONROLEREQUEST']._serialized_end=11089
  _globals['_GETROLEUSERSCOUNTREQUEST']._serialized_start=11092
  _globals['_GETROLEUSERSCOUNTREQUEST']._serialized_end=11231
  _globals['_GETROLEUSERSCOUNTRESPONSE']._serialized_start=11233
  _globals['_GETROLEUSERSCOUNTRESPONSE']._serialized_end=11340
  _globals['_GETORGANIZATIONROLEUSERSCOUNTREQUEST']._serialized_start=11343
  _globals['_GETORGANIZATIONROLEUSERSCOUNTREQUEST']._serialized_end=11598
  _globals['_GETORGANIZATIONROLEUSERSCOUNTRESPONSE']._serialized_start=11601
  _globals['_GETORGANIZATIONROLEUSERSCOUNTRESPONSE']._serialized_end=11732
  _globals['_UPDATEDEFAULTROLESREQUEST']._serialized_start=11735
  _globals['_UPDATEDEFAULTROLESREQUEST']._serialized_end=12999
  _globals['_UPDATEDEFAULTORGANIZATIONROLESREQUEST']._serialized_start=13002
  _globals['_UPDATEDEFAULTORGANIZATIONROLESREQUEST']._serialized_end=13286
  _globals['_UPDATEDEFAULTROLESRESPONSE']._serialized_start=13289
  _globals['_UPDATEDEFAULTROLESRESPONSE']._serialized_end=13999
  _globals['_UPDATEDEFAULTORGANIZATIONROLESRESPONSE']._serialized_start=14002
  _globals['_UPDATEDEFAULTORGANIZATIONROLESRESPONSE']._serialized_end=14262
  _globals['_UPDATEDEFAULTROLE']._serialized_start=14265
  _globals['_UPDATEDEFAULTROLE']._serialized_end=14423
  _globals['_PERMISSION']._serialized_start=14426
  _globals['_PERMISSION']._serialized_end=14689
  _globals['_ROLEPERMISSION']._serialized_start=14692
  _globals['_ROLEPERMISSION']._serialized_end=15099
  _globals['_CREATEPERMISSION']._serialized_start=15102
  _globals['_CREATEPERMISSION']._serialized_end=15359
  _globals['_CREATEPERMISSIONREQUEST']._serialized_start=15361
  _globals['_CREATEPERMISSIONREQUEST']._serialized_end=15463
  _globals['_CREATEPERMISSIONRESPONSE']._serialized_start=15465
  _globals['_CREATEPERMISSIONRESPONSE']._serialized_end=15554
  _globals['_GETPERMISSIONREQUEST']._serialized_start=15557
  _globals['_GETPERMISSIONREQUEST']._serialized_end=15693
  _globals['_GETPERMISSIONRESPONSE']._serialized_start=15695
  _globals['_GETPERMISSIONRESPONSE']._serialized_end=15781
  _globals['_UPDATEPERMISSIONREQUEST']._serialized_start=15784
  _globals['_UPDATEPERMISSIONREQUEST']._serialized_end=16000
  _globals['_UPDATEPERMISSIONRESPONSE']._serialized_start=16002
  _globals['_UPDATEPERMISSIONRESPONSE']._serialized_end=16091
  _globals['_LISTPERMISSIONSREQUEST']._serialized_start=16094
  _globals['_LISTPERMISSIONSREQUEST']._serialized_end=16353
  _globals['_LISTPERMISSIONSRESPONSE']._serialized_start=16356
  _globals['_LISTPERMISSIONSRESPONSE']._serialized_end=16732
  _globals['_DELETEPERMISSIONREQUEST']._serialized_start=16735
  _globals['_DELETEPERMISSIONREQUEST']._serialized_end=16874
  _globals['_LISTROLEPERMISSIONSREQUEST']._serialized_start=16876
  _globals['_LISTROLEPERMISSIONSREQUEST']._serialized_end=16993
  _globals['_LISTROLEPERMISSIONSRESPONSE']._serialized_start=16996
  _globals['_LISTROLEPERMISSIONSRESPONSE']._serialized_end=17146
  _globals['_ADDPERMISSIONSTOROLEREQUEST']._serialized_start=17149
  _globals['_ADDPERMISSIONSTOROLEREQUEST']._serialized_end=17400
  _globals['_ADDPERMISSIONSTOROLERESPONSE']._serialized_start=17403
  _globals['_ADDPERMISSIONSTOROLERESPONSE']._serialized_end=17566
  _globals['_REMOVEPERMISSIONFROMROLEREQUEST']._serialized_start=17569
  _globals['_REMOVEPERMISSIONFROMROLEREQUEST']._serialized_end=17812
  _globals['_LISTEFFECTIVEROLEPERMISSIONSREQUEST']._serialized_start=17814
  _globals['_LISTEFFECTIVEROLEPERMISSIONSREQUEST']._serialized_end=17939
  _globals['_LISTEFFECTIVEROLEPERMISSIONSRESPONSE']._serialized_start=17942
  _globals['_LISTEFFECTIVEROLEPERMISSIONSRESPONSE']._serialized_end=18128
  _globals['_LISTDEPENDENTROLESREQUEST']._serialized_start=18130
  _globals['_LISTDEPENDENTROLESREQUEST']._serialized_end=18250
  _globals['_LISTDEPENDENTROLESRESPONSE']._serialized_start=18252
  _globals['_LISTDEPENDENTROLESRESPONSE']._serialized_end=18357
  _globals['_DELETEROLEBASEREQUEST']._serialized_start=18360
  _globals['_DELETEROLEBASEREQUEST']._serialized_end=18613
  _globals['_DELETEORGANIZATIONROLEBASEREQUEST']._serialized_start=18616
  _globals['_DELETEORGANIZATIONROLEBASEREQUEST']._serialized_end=18880
  _globals['_ROLESSERVICE']._serialized_start=18883
  _globals['_ROLESSERVICE']._serialized_end=34343
# @@protoc_insertion_point(module_scope)
