# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: scalekit/v1/directories/directories.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 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 google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__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)scalekit/v1/directories/directories.proto\x12\x17scalekit.v1.directories\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a!scalekit/v1/options/options.proto\"\xdb\x01\n\x13GetDirectoryRequest\x12S\n\x02id\x18\x01 \x01(\tBC\x92\x41\x37\x32\"Unique identifier of the directoryJ\x11\"dir_12131243412\"\xbaH\x06r\x04\x10\x01\x18 R\x02id\x12o\n\x0forganization_id\x18\x02 \x01(\tBF\x92\x41:2%Unique identifier of the organizationJ\x11\"org_12131243412\"\xbaH\x06r\x04\x10\x01\x18 R\x0eorganizationId\"\x91\x01\n\x14GetDirectoryResponse\x12y\n\tdirectory\x18\x01 \x01(\x0b\x32\".scalekit.v1.directories.DirectoryB7\x92\x41\x34\x32\x32\x44\x65tailed information about the requested directoryR\tdirectory\"\xf7\x01\n\x16\x43reateDirectoryRequest\x12w\n\x0forganization_id\x18\x01 \x01(\tBN\x92\x41?2$Unique identifier to an OrganizationJ\x17\"org_12362474900684814\"\xbaH\tr\x04\x10\x01\x18 \xc8\x01\x01R\x0eorganizationId\x12\x64\n\tdirectory\x18\x02 \x01(\x0b\x32(.scalekit.v1.directories.CreateDirectoryB\x1c\x92\x41\x13\x32\x11\x44irectory Details\xbaH\x03\xc8\x01\x01R\tdirectory\"\xf7\x01\n\x0f\x43reateDirectory\x12k\n\x0e\x64irectory_type\x18\x01 \x01(\x0e\x32&.scalekit.v1.directories.DirectoryTypeB\x1c\x92\x41\x0e\x32\x04TypeJ\x06\"SCIM\"\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\rdirectoryType\x12w\n\x12\x64irectory_provider\x18\x02 \x01(\x0e\x32*.scalekit.v1.directories.DirectoryProviderB\x1c\x92\x41\x11\x32\x07ProvideJ\x06\"OKTA\"\xbaH\x05\x82\x01\x02\x10\x01R\x11\x64irectoryProvider\"y\n\x17\x43reateDirectoryResponse\x12^\n\tdirectory\x18\x01 \x01(\x0b\x32\".scalekit.v1.directories.DirectoryB\x1c\x92\x41\x13\x32\x11\x44irectory Details\xbaH\x03\xc8\x01\x01R\tdirectory\"\xd9\x01\n\x16UpdateDirectoryRequest\x12\x1f\n\x02id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x02id\x12\x38\n\x0forganization_id\x18\x02 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x64\n\tdirectory\x18\x03 \x01(\x0b\x32(.scalekit.v1.directories.UpdateDirectoryB\x1c\x92\x41\x13\x32\x11\x44irectory Details\xbaH\x03\xc8\x01\x01R\tdirectory\"\x9a\x06\n\x0fUpdateDirectory\x12\x33\n\x04name\x18\x02 \x01(\tB\x1f\x92\x41\x12\x32\x04NameJ\n\"Azure AD\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x04name\x12h\n\x0e\x64irectory_type\x18\x03 \x01(\x0e\x32&.scalekit.v1.directories.DirectoryTypeB\x19\x92\x41\x0e\x32\x04TypeJ\x06\"SCIM\"\xbaH\x05\x82\x01\x02\x10\x01R\rdirectoryType\x12+\n\x07\x65nabled\x18\x07 \x01(\x08\x42\x11\x92\x41\x0e\x32\x06StatusJ\x04trueR\x07\x65nabled\x12\xec\x01\n\x12\x64irectory_provider\x18\x08 \x01(\x0e\x32*.scalekit.v1.directories.DirectoryProviderB\x90\x01\x92\x41\x84\x01\x32-Identity provider connected to this directoryJS\"OKTA\", \"GOOGLE\", \"MICROSOFT_AD\", \"AUTH0\", \"ONELOGIN\", \"JUMPCLOUD\", \"PING_IDENTITY\"\xbaH\x05\x82\x01\x02\x10\x01R\x11\x64irectoryProvider\x12h\n\x06status\x18\t \x01(\x0e\x32(.scalekit.v1.directories.DirectoryStatusB&\x92\x41\x1b\x32\x0cSetup StatusJ\x0b\"COMPLETED\"\xbaH\x05\x82\x01\x02\x10\x01R\x06status\x12\x45\n\x08mappings\x18\n \x03(\x0b\x32).scalekit.v1.directories.DirectoryMappingR\x08mappings\x12q\n\x06groups\x18\x0f \x03(\x0b\x32&.scalekit.v1.directories.ExternalGroupB1\x92\x41.2,List of groups associated with the directoryR\x06groupsJ\x04\x08\x01\x10\x02J\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0f\"y\n\x17UpdateDirectoryResponse\x12^\n\tdirectory\x18\x01 \x01(\x0b\x32\".scalekit.v1.directories.DirectoryB\x1c\x92\x41\x13\x32\x11\x44irectory Details\xbaH\x03\xc8\x01\x01R\tdirectory\"\xdf\x01\n\x1f\x41ssignGroupsForDirectoryRequest\x12\x1f\n\x02id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x02id\x12\x38\n\x0forganization_id\x18\x02 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x61\n\x0c\x65xternal_ids\x18\x03 \x03(\tB>\x92\x41\x35\x32\x33\x65xternal_ids of groups to be tracked during polling\xbaH\x03\xc8\x01\x01R\x0b\x65xternalIds\"\x92\x01\n\x16ListDirectoriesRequest\x12x\n\x0forganization_id\x18\x01 \x01(\tBO\x92\x41=2%Unique identifier of the organizationJ\x14\"org_12362474900684\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\"\xa1\x01\n\x17ListDirectoriesResponse\x12\x85\x01\n\x0b\x64irectories\x18\x01 \x03(\x0b\x32\".scalekit.v1.directories.DirectoryB?\x92\x41\x36\x32\x34List of directories associated with the organization\xbaH\x03\xc8\x01\x01R\x0b\x64irectories\"\xd6\t\n\x19ListDirectoryUsersRequest\x12x\n\x0forganization_id\x18\x01 \x01(\tBO\x92\x41=2%Unique identifier of the organizationJ\x14\"org_12131243412331\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x87\x01\n\x0c\x64irectory_id\x18\x02 \x01(\tBd\x92\x41R2:Unique identifier of the directory within the organizationJ\x14\"dir_12131243412331\"\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x0b\x64irectoryId\x12\x86\x01\n\tpage_size\x18\x03 \x01(\rBi\x92\x41_2YNumber of users to return per page. Maximum value is 30. If not specified, defaults to 10J\x02\x31\x30\xbaH\x04*\x02\x18\x1eR\x08pageSize\x12\xb0\x01\n\npage_token\x18\x04 \x01(\tB\x90\x01\x92\x41\x8c\x01\x32\x89\x01Token for pagination. Use the value returned in the \'next_page_token\' field of the previous response to retrieve the next page of resultsR\tpageToken\x12\xe1\x01\n\x0einclude_detail\x18\x05 \x01(\x08\x42\xb4\x01\x92\x41\xb0\x01\x32\xa7\x01If set to true, the response will include the full user payload with all available details. If false or not specified, only essential user information will be returnedJ\x04trueH\x00R\rincludeDetail\x88\x01\x01\x12\xa1\x01\n\x12\x64irectory_group_id\x18\x06 \x01(\tBn\x92\x41W2>Filter users by their membership in a specific directory groupJ\x15\"dirgroup_1213124341\"\xbaH\x11r\x0f\x10\x01\x18%:\tdirgroup_H\x01R\x10\x64irectoryGroupId\x88\x01\x01\x12\xb4\x01\n\rupdated_after\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampBn\x92\x41k2QFilter users that were updated after the specified timestamp. Use ISO 8601 formatJ\x16\"2021-01-01T00:00:00Z\"H\x02R\x0cupdatedAfter\x88\x01\x01\x42\x11\n\x0f_include_detailB\x15\n\x13_directory_group_idB\x10\n\x0e_updated_after\"\xe1\x04\n\x1aListDirectoryUsersResponse\x12\x81\x01\n\x05users\x18\x01 \x03(\x0b\x32&.scalekit.v1.directories.DirectoryUserBC\x92\x41@2>List of directory users retrieved from the specified directoryR\x05users\x12t\n\ntotal_size\x18\x02 \x01(\rBU\x92\x41R2PTotal number of users available in the directory that match the request criteriaR\ttotalSize\x12\xa5\x01\n\x0fnext_page_token\x18\x03 \x01(\tB}\x92\x41z2xToken for pagination. Use this token in the \'page_token\' field of the next request to fetch the subsequent page of usersR\rnextPageToken\x12\xa0\x01\n\x0fprev_page_token\x18\x04 \x01(\tBx\x92\x41u2sToken for pagination. Use this token in the \'page_token\' field of the next request to fetch the prior page of usersR\rprevPageToken\"\xb6\x08\n\x1aListDirectoryGroupsRequest\x12y\n\x0forganization_id\x18\x01 \x01(\tBP\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12p\n\x0c\x64irectory_id\x18\x02 \x01(\tBM\x92\x41;2\"Unique identifier of the directoryJ\x15\"dir_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x0b\x64irectoryId\x12\x87\x01\n\tpage_size\x18\x03 \x01(\rBj\x92\x41`2ZNumber of groups to return per page. Maximum value is 30. If not specified, defaults to 10J\x02\x31\x30\xbaH\x04*\x02\x18\x1eR\x08pageSize\x12\x88\x01\n\npage_token\x18\x04 \x01(\tBi\x92\x41\x66\x32\x64Token for pagination. Use the value returned in the \'next_page_token\' field of the previous responseR\tpageToken\x12\xa2\x01\n\rupdated_after\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\\\x92\x41Y2?Filter groups updated after this timestamp. Use ISO 8601 formatJ\x16\"2021-01-01T00:00:00Z\"H\x00R\x0cupdatedAfter\x88\x01\x01\x12\x96\x01\n\x0einclude_detail\x18\x06 \x01(\x08\x42j\x92\x41g2_If true, includes full group details. If false or not specified, returns basic information onlyJ\x04trueH\x01R\rincludeDetail\x88\x01\x01\x12\x96\x01\n\x17include_external_groups\x18\x07 \x01(\x08\x42Y\x92\x41V2NIf true, returns group and its details from external provider (default: false)J\x04trueH\x02R\x15includeExternalGroups\x88\x01\x01\x42\x10\n\x0e_updated_afterB\x11\n\x0f_include_detailB\x1a\n\x18_include_external_groups\"\xcd\x04\n\x1bListDirectoryGroupsResponse\x12\x85\x01\n\x06groups\x18\x01 \x03(\x0b\x32\'.scalekit.v1.directories.DirectoryGroupBD\x92\x41\x41\x32?List of directory groups retrieved from the specified directoryR\x06groups\x12r\n\ntotal_size\x18\x02 \x01(\rBS\x92\x41P2NTotal number of groups matching the request criteria, regardless of paginationR\ttotalSize\x12\x95\x01\n\x0fnext_page_token\x18\x03 \x01(\tBm\x92\x41j2hToken to retrieve the next page of results. Use this token in the \'page_token\' field of the next requestR\rnextPageToken\x12\x99\x01\n\x0fprev_page_token\x18\x04 \x01(\tBq\x92\x41n2lToken to retrieve the previous page of results. Use this token in the \'page_token\' field of the next requestR\rprevPageToken\"\x90\x02\n!ListDirectoryGroupsSummaryRequest\x12y\n\x0forganization_id\x18\x01 \x01(\tBP\x92\x41>2%Unique identifier of the organizationJ\x15\"org_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12p\n\x0c\x64irectory_id\x18\x02 \x01(\tBM\x92\x41;2\"Unique identifier of the directoryJ\x15\"dir_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x0b\x64irectoryId\"\x94\x13\n\tDirectory\x12]\n\x02id\x18\x01 \x01(\tBM\x92\x41;2\"Unique identifier of the directoryJ\x15\"dir_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x02id\x12}\n\x04name\x18\x02 \x01(\tBi\x92\x41\\2NName of the directory, typically representing the connected Directory providerJ\n\"Azure AD\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x04name\x12\xb7\x01\n\x0e\x64irectory_type\x18\x03 \x01(\x0e\x32&.scalekit.v1.directories.DirectoryTypeBh\x92\x41]2SType of the directory, indicating the protocol or standard used for synchronizationJ\x06\"SCIM\"\xbaH\x05\x82\x01\x02\x10\x01R\rdirectoryType\x12\x98\x01\n\x0forganization_id\x18\x04 \x01(\tBo\x92\x41]2DUnique identifier of the organization to which the directory belongsJ\x15\"org_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x85\x01\n\x07\x65nabled\x18\x05 \x01(\x08\x42k\x92\x41h2`Indicates whether the directory is currently enabled and actively synchronizing users and groupsJ\x04trueR\x07\x65nabled\x12\x9d\x01\n\x12\x64irectory_provider\x18\x06 \x01(\x0e\x32*.scalekit.v1.directories.DirectoryProviderBB\x92\x41\x37\x32-Identity provider connected to this directoryJ\x06\"OKTA\"\xbaH\x05\x82\x01\x02\x10\x01R\x11\x64irectoryProvider\x12\xbf\x01\n\x0elast_synced_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB}\x92\x41z2`Timestamp of the last successful synchronization of users and groups from the Directory ProviderJ\x16\"2024-10-01T00:00:00Z\"R\x0clastSyncedAt\x12\xed\x01\n\x12\x64irectory_endpoint\x18\x08 \x01(\tB\xbd\x01\x92\x41\xaf\x01\x32\x65The endpoint URL generated by Scalekit for synchronizing users and groups from the Directory ProviderJF\"https://yourapp.scalekit.com/api/v1/directoies/dir_123212312/scim/v2\"\xbaH\x07r\x05\x10\x01\x18\xd0\x0fR\x11\x64irectoryEndpoint\x12P\n\x0btotal_users\x18\t \x01(\x05\x42/\x92\x41,2&Total number of users in the directoryJ\x02\x31\x30R\ntotalUsers\x12S\n\x0ctotal_groups\x18\n \x01(\x05\x42\x30\x92\x41-2\'Total number of groups in the directoryJ\x02\x31\x30R\x0btotalGroups\x12\x95\x01\n\x07secrets\x18\x0b \x03(\x0b\x32\x1f.scalekit.v1.directories.SecretBZ\x92\x41W2UList of secrets used for authenticating and synchronizing with the Directory ProviderR\x07secrets\x12\x9b\x01\n\x05stats\x18\x0c \x01(\x0b\x32\x1e.scalekit.v1.directories.StatsBe\x92\x41\x62\x32`Statistics and metrics related to the directory, such as synchronization status and error countsR\x05stats\x12\xaf\x01\n\x10role_assignments\x18\r \x01(\x0b\x32(.scalekit.v1.directories.RoleAssignmentsBZ\x92\x41W2URole assignments associated with the directory, defining group based role assignmentsR\x0froleAssignments\x12\xac\x01\n\x12\x61ttribute_mappings\x18\x0e \x01(\x0b\x32*.scalekit.v1.directories.AttributeMappingsBQ\x92\x41N2LMappings between directory attributes and Scalekit user and group attributesR\x11\x61ttributeMappings\x12\x44\n\x06status\x18\x0f \x01(\tB,\x92\x41!2\x10\x44irectory StatusJ\r\"IN_PROGRESS\"\xbaH\x05\x82\x01\x02\x10\x01R\x06status\x12~\n\x05\x65mail\x18\x10 \x01(\tBh\x92\x41\x65\x32HEmail Id associated with Directory whose access will be used for pollingJ\x19\"john.doe@scalekit.cloud\"R\x05\x65mail\x12v\n\x0egroups_tracked\x18\x11 \x01(\tBO\x92\x41L2CIt indicates if all groups are tracked or select groups are trackedJ\x05\"ALL\"R\rgroupsTracked\"\xaf\x03\n\x16ToggleDirectoryRequest\x12\xc8\x01\n\x0forganization_id\x18\x01 \x01(\tB\x9e\x01\x92\x41\x8b\x01\x32rA unique identifier for the organization. The value must begin with \'org_\' and be between 1 and 32 characters longJ\x15\"org_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\xc3\x01\n\x02id\x18\x03 \x01(\tB\xb2\x01\x92\x41\x9f\x01\x32\x85\x01\x41 unique identifier for a directory within the organization. The value must begin with \'dir_\' and be between 1 and 32 characters longJ\x15\"dir_121312434123312\"\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x02idJ\x04\x08\x02\x10\x03\"\xac\x04\n\x17ToggleDirectoryResponse\x12\x96\x02\n\x07\x65nabled\x18\x01 \x01(\x08\x42\xfb\x01\x92\x41\xf7\x01\x32\xee\x01Specifies the directory\'s state after the toggle operation. A value of `true` indicates that the directory is enabled and actively synchronizing users and groups. A value of `false` means the directory is disabled, halting synchronizationJ\x04trueR\x07\x65nabled\x12\xe5\x01\n\rerror_message\x18\x02 \x01(\tB\xba\x01\x92\x41\xb6\x01\x32\x8f\x01\x43ontains a human-readable error message if the toggle operation encountered an issue. If the operation was successful, this field will be emptyJ\"\"The directory is already enabled\"H\x00R\x0c\x65rrorMessage\x88\x01\x01\x42\x10\n\x0e_error_message\"z\n\x10\x44irectoryMapping\x12\x1e\n\x03key\x18\x01 \x01(\tB\x0c\xbaH\tr\x04\x10\x01\x18 \xc8\x01\x01R\x03key\x12#\n\x06map_to\x18\x02 \x01(\tB\x0c\xbaH\tr\x04\x10\x01\x18 \xc8\x01\x01R\x05mapTo\x12!\n\x0c\x64isplay_name\x18\x03 \x01(\tR\x0b\x64isplayName\"\xae\x05\n\rDirectoryUser\x12J\n\x02id\x18\x01 \x01(\tB:\x92\x41$2\x07User IDJ\x19\"diruser_121312434123312\"\xbaH\x10r\x0e\x10\x01\x18$:\x08\x64iruser_R\x02id\x12\x35\n\x05\x65mail\x18\x02 \x01(\tB\x1f\x92\x41\x12\x32\x05\x45mailJ\t\"johndoe\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x05\x65mail\x12[\n\x12preferred_username\x18\x03 \x01(\tB,\x92\x41\x1f\x32\x12Preferred UsernameJ\t\"johndoe\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x11preferredUsername\x12@\n\ngiven_name\x18\x04 \x01(\tB!\x92\x41\x14\x32\nFirst NameJ\x06\"John\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\tgivenName\x12@\n\x0b\x66\x61mily_name\x18\x05 \x01(\tB\x1f\x92\x41\x12\x32\tLast NameJ\x05\"Doe\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\nfamilyName\x12\x62\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\'\x92\x41$2\nUpdated AtJ\x16\"2024-10-01T00:00:00Z\"R\tupdatedAt\x12#\n\x06\x65mails\x18\x10 \x03(\tB\x0b\x92\x41\x08\x32\x06\x45mailsR\x06\x65mails\x12L\n\x06groups\x18\x11 \x03(\x0b\x32\'.scalekit.v1.directories.DirectoryGroupB\x0b\x92\x41\x08\x32\x06GroupsR\x06groups\x12\\\n\x0buser_detail\x18\x12 \x01(\x0b\x32\x17.google.protobuf.StructB\"\x92\x41\x1f\x32\x1d\x43omplete User Details PayloadR\nuserDetailJ\x04\x08\x07\x10\x10\"\xf3\x01\n\rExternalGroup\x12T\n\x0b\x65xternal_id\x18\x01 \x01(\tB3\x92\x41&2\x11\x45xternal Group IDJ\x11\"02y3w247124ccqi\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\nexternalId\x12H\n\x0c\x64isplay_name\x18\x02 \x01(\tB%\x92\x41\x18\x32\x0c\x44isplay NameJ\x08\"Admins\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x0b\x64isplayName\x12\x42\n\x05\x65mail\x18\x03 \x01(\tB,\x92\x41\x1f\x32\x05\x45mailJ\x16\"johndoe@scalekit.com\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x05\x65mail\"\xb2\x03\n\x0e\x44irectoryGroup\x12M\n\x02id\x18\x01 \x01(\tB=\x92\x41&2\x08Group IDJ\x1a\"dirgroup_121312434123312\"\xbaH\x11r\x0f\x10\x01\x18$:\tdirgroup_R\x02id\x12H\n\x0c\x64isplay_name\x18\x02 \x01(\tB%\x92\x41\x18\x32\x0c\x44isplay NameJ\x08\"Admins\"\xbaH\x07r\x05\x10\x01\x18\x80\x02R\x0b\x64isplayName\x12\x42\n\x0btotal_users\x18\x03 \x01(\x05\x42!\x92\x41\x1e\x32\x18Total Users in the GroupJ\x02\x31\x30R\ntotalUsers\x12\x62\n\nupdated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\'\x92\x41$2\nUpdated AtJ\x16\"2024-10-01T00:00:00Z\"R\tupdatedAt\x12_\n\x0cgroup_detail\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB#\x92\x41 2\x1e\x43omplete Group Details PayloadR\x0bgroupDetail\"\xb9\x01\n\x1c\x43reateDirectorySecretRequest\x12\x65\n\x0forganization_id\x18\x01 \x01(\tB<\x92\x41*2\x0fOrganization IDJ\x17\"org_12362474900684814\"\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x32\n\x0c\x64irectory_id\x18\x02 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x0b\x64irectoryId\"\xa4\x02\n\x1d\x43reateDirectorySecretResponse\x12\xb4\x01\n\x0cplain_secret\x18\x01 \x01(\tB\x90\x01\x92\x41\x8c\x01\x32VPlain Secret. This is only returned in Plain Text as response to the Creation Request.J2\"dXNlcm5hbWU6cGFzc3dvcmQ6c2VjcmV0a2V5MTIzNDU2Nzg5\"R\x0bplainSecret\x12L\n\x06secret\x18\x02 \x01(\x0b\x32\x1f.scalekit.v1.directories.SecretB\x13\x92\x41\x10\x32\x0eSecret DetailsR\x06secret\"\x90\x01\n RegenerateDirectorySecretRequest\x12\x38\n\x0forganization_id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x32\n\x0c\x64irectory_id\x18\x02 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x0b\x64irectoryId\"\xa8\x02\n!RegenerateDirectorySecretResponse\x12\xb4\x01\n\x0cplain_secret\x18\x01 \x01(\tB\x90\x01\x92\x41\x8c\x01\x32VPlain Secret. This is only returned in Plain Text as response to the Creation Request.J2\"dXNlcm5hbWU6cGFzc3dvcmQ6c2VjcmV0a2V5MTIzNDU2Nzg5\"R\x0bplainSecret\x12L\n\x06secret\x18\x02 \x01(\x0b\x32\x1f.scalekit.v1.directories.SecretB\x13\x92\x41\x10\x32\x0eSecret DetailsR\x06secret\"\xe6\x04\n\x06Secret\x12\x1f\n\x02id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04sec_R\x02id\x12g\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB*\x92\x41\'2\rCreation TimeJ\x16\"2024-10-01T00:00:00Z\"R\ncreateTime\x12?\n\rsecret_suffix\x18\x04 \x01(\tB\x1a\x92\x41\x17\x32\rSecret SuffixJ\x06\"Nzg5\"R\x0csecretSuffix\x12]\n\x06status\x18\x05 \x01(\x0e\x32%.scalekit.v1.directories.SecretStatusB\x1e\x92\x41\x1b\x32\rSecret StatusJ\n\"INACTIVE\"R\x06status\x12\x65\n\x0b\x65xpire_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB(\x92\x41%2\x0b\x45xpiry TimeJ\x16\"2025-10-01T00:00:00Z\"R\nexpireTime\x12m\n\x0elast_used_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB+\x92\x41(2\x0eLast Used TimeJ\x16\"2024-10-01T00:00:00Z\"R\x0clastUsedTime\x12\\\n\x0c\x64irectory_id\x18\t \x01(\tB9\x92\x41\'2\x0c\x44irectory IDJ\x17\"dir_12362474900684814\"\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x0b\x64irectoryId\"\xb7\x03\n\x05Stats\x12\x46\n\x0btotal_users\x18\x01 \x01(\x05\x42%\x92\x41\"2\x1cTotal Users in the DirectoryJ\x02\x31\x30R\ntotalUsers\x12I\n\x0ctotal_groups\x18\x02 \x01(\x05\x42&\x92\x41#2\x1dTotal Groups in the DirectoryJ\x02\x31\x30R\x0btotalGroups\x12\x8d\x01\n\x10group_updated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBG\x92\x41\x44\x32*Max time of Group Updated At for DirectoryJ\x16\"2024-10-01T00:00:00Z\"R\x0egroupUpdatedAt\x12\x8a\x01\n\x0fuser_updated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampBF\x92\x41\x43\x32)Max time of User Updated At for DirectoryJ\x16\"2024-10-01T00:00:00Z\"R\ruserUpdatedAt\"\xb8\x01\n\x12\x41ssignRolesRequest\x12\x32\n\x0forganization_id\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\x0eorganizationId\x12\x19\n\x02id\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\x02id\x12S\n\x10role_assignments\x18\x03 \x01(\x0b\x32(.scalekit.v1.directories.RoleAssignmentsR\x0froleAssignments\"\\\n\x0fRoleAssignments\x12I\n\x0b\x61ssignments\x18\x01 \x03(\x0b\x32\'.scalekit.v1.directories.RoleAssignmentR\x0b\x61ssignments\"j\n\x13\x41ssignRolesResponse\x12S\n\x10role_assignments\x18\x01 \x01(\x0b\x32(.scalekit.v1.directories.RoleAssignmentsR\x0froleAssignments\"\x99\x02\n\x0eRoleAssignment\x12_\n\x08group_id\x18\x01 \x01(\tBD\x92\x41\x38\x32\x1dgroup ID for the role mappingJ\x17\"dirgroup_121312434123\"\xbaH\x06r\x04\x10\x01\x18 R\x07groupId\x12?\n\trole_name\x18\x02 \x01(\tB\"\xbaH\x1fr\x1a\x10\x01\x18\x64\x32\x14^[a-zA-Z0-9_]{1,64}$\xc8\x01\x01R\x08roleName\x12\x65\n\x07role_id\x18\x03 \x01(\tBL\x92\x41\x33\x32\x1crole ID for the role mappingJ\x13\"role_121312434123\"\xbaH\x04r\x02\x18 \xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEWR\x06roleId\"\xcd\x01\n\x17UpdateAttributesRequest\x12\x38\n\x0forganization_id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x1f\n\x02id\x18\x02 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x02id\x12W\n\x11\x61ttribute_mapping\x18\x03 \x01(\x0b\x32*.scalekit.v1.directories.AttributeMappingsR\x10\x61ttributeMapping\"^\n\x11\x41ttributeMappings\x12I\n\nattributes\x18\x01 \x03(\x0b\x32).scalekit.v1.directories.AttributeMappingR\nattributes\"W\n\x10\x41ttributeMapping\x12\x1e\n\x03key\x18\x01 \x01(\tB\x0c\xbaH\tr\x04\x10\x01\x18 \xc8\x01\x01R\x03key\x12#\n\x06map_to\x18\x02 \x01(\tB\x0c\xbaH\tr\x04\x10\x01\x18 \xc8\x01\x01R\x05mapTo\"u\n\x18UpdateAttributesResponse\x12Y\n\x12\x61ttribute_mappings\x18\x01 \x01(\x0b\x32*.scalekit.v1.directories.AttributeMappingsR\x11\x61ttributeMappings\"y\n\x16\x44\x65leteDirectoryRequest\x12\x38\n\x0forganization_id\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04org_R\x0eorganizationId\x12\x1f\n\x02id\x18\x03 \x01(\tB\x0f\xbaH\x0cr\n\x10\x01\x18 :\x04\x64ir_R\x02idJ\x04\x08\x02\x10\x03\"\xfb\x01\n\x1bTriggerDirectorySyncRequest\x12h\n\x0c\x64irectory_id\x18\x01 \x01(\tBE\x92\x41\x39\x32 Unique identifier of a DirectoryJ\x15\"dir_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0b\x64irectoryId\x12r\n\x0forganization_id\x18\x02 \x01(\tBI\x92\x41=2$Unique identifier to an OrganizationJ\x15\"org_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0eorganizationId*M\n\rDirectoryType\x12\x1e\n\x1a\x44IRECTORY_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04SCIM\x10\x01\x12\x08\n\x04LDAP\x10\x02\x12\x08\n\x04POLL\x10\x03*\x9a\x01\n\x11\x44irectoryProvider\x12\"\n\x1e\x44IRECTORY_PROVIDER_UNSPECIFIED\x10\x00\x12\x08\n\x04OKTA\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x10\n\x0cMICROSOFT_AD\x10\x03\x12\t\n\x05\x41UTH0\x10\x04\x12\x0c\n\x08ONELOGIN\x10\x05\x12\r\n\tJUMPCLOUD\x10\x06\x12\x11\n\rPING_IDENTITY\x10\x07*^\n\x0f\x44irectoryStatus\x12 \n\x1c\x44IRECTORY_STATUS_UNSPECIFIED\x10\x00\x12\t\n\x05\x44RAFT\x10\x01\x12\x0f\n\x0bIN_PROGRESS\x10\x02\x12\r\n\tCOMPLETED\x10\x03*(\n\x0cSecretStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08INACTIVE\x10\x01\x32\xb8R\n\x10\x44irectoryService\x12\xd1\x01\n\x0f\x43reateDirectory\x12/.scalekit.v1.directories.CreateDirectoryRequest\x1a\x30.scalekit.v1.directories.CreateDirectoryResponse\"[\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02@\"3/api/v1/organizations/{organization_id}/directories:\tdirectory\x12\x9e\x02\n\x0f\x44\x65leteDirectory\x12/.scalekit.v1.directories.DeleteDirectoryRequest\x1a\x16.google.protobuf.Empty\"\xc1\x01\x92\x41i\n\tDirectory\x12\x12\x44\x65lete a directory\x1a)Delete a Directory within an organizationJ\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:*8/api/v1/organizations/{organization_id}/directories/{id}\x12\xd6\x01\n\x0fUpdateDirectory\x12/.scalekit.v1.directories.UpdateDirectoryRequest\x1a\x30.scalekit.v1.directories.UpdateDirectoryResponse\"`\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x45\x32\x38/api/v1/organizations/{organization_id}/directories/{id}:\tdirectory\x12\xd4\x01\n\x18\x41ssignGroupsForDirectory\x12\x38.scalekit.v1.directories.AssignGroupsForDirectoryRequest\x1a\x16.google.protobuf.Empty\"f\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02K\x1a\x46/api/v1/organizations/{organization_id}/directories/{id}/groups:assign:\x01*\x12\xe7\x01\n\x0b\x41ssignRoles\x12+.scalekit.v1.directories.AssignRolesRequest\x1a,.scalekit.v1.directories.AssignRolesResponse\"}\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x62\x1aN/api/v1/organizations/{organization_id}/directories/{id}/groups/-/roles:assign:\x10role_assignments\x12\xec\x01\n\x10UpdateAttributes\x12\x30.scalekit.v1.directories.UpdateAttributesRequest\x1a\x31.scalekit.v1.directories.UpdateAttributesResponse\"s\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02X\x1a\x43/api/v1/organizations/{organization_id}/directories/{id}/attributes:\x11\x61ttribute_mapping\x12\xbb\x08\n\x0cGetDirectory\x12,.scalekit.v1.directories.GetDirectoryRequest\x1a-.scalekit.v1.directories.GetDirectoryResponse\"\xcd\x07\x92\x41\x83\x07\n\tDirectory\x12\x15Get directory details\x1aPRetrieves detailed information about a specific directory within an organizationJd\n\x03\x32\x30\x30\x12]\n(Successfully retrieved directory details\x12\x31\n/\x1a-.scalekit.v1.directories.GetDirectoryResponsej\xa6\x05\n\rx-codeSamples\x12\x94\x05\x32\x91\x05\n\x9e\x01*\x9b\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\nk\n\x06source\x12\x61\x1a_const { directory } = await scalekit.directory.getDirectory(\n  organizationId,\n  directoryId\n);\n\xd4\x01*\xd1\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\xa5\x01\n\x06source\x12\x9a\x01\x1a\x97\x01\x64irectory = sc.directory.get_directory(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\nprint(f\'Directory details: {directory}\')\n\x80\x01*~\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n[\n\x06source\x12Q\x1aOdirectory, err := sc.Directory().GetDirectory(ctx, organizationId, directoryId)\n\x93\x01*\x90\x01\n\x13\n\x05label\x12\n\x1a\x08Java SDK\n\x0e\n\x04lang\x12\x06\x1a\x04java\ni\n\x06source\x12_\x1a]Directory directory = scalekitClient.directories().getDirectory(directoryId, organizationId);\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02:\x12\x38/api/v1/organizations/{organization_id}/directories/{id}\x12\xa8\x07\n\x0fListDirectories\x12/.scalekit.v1.directories.ListDirectoriesRequest\x1a\x30.scalekit.v1.directories.ListDirectoriesResponse\"\xb1\x06\x92\x41\xec\x05\n\tDirectory\x12\x1dList organization directoriesJ\x82\x01\n\x03\x32\x30\x30\x12{\nCSuccessfully retrieved the list of directories for the organization\x12\x34\n2\x1a\x30.scalekit.v1.directories.ListDirectoriesResponsej\xba\x04\n\rx-codeSamples\x12\xa8\x04\x32\xa5\x04\n|*z\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\nJ\n\x06source\x12@\x1a>await scalekit.directory.listDirectories(\'<organization_id>\');\n\x92\x01*\x8f\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\nd\n\x06source\x12Z\x1aXdirectories_list = sc.directory.list_directories(\n\torganization_id=\'<organization_id>\'\n)\nw*u\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\nR\n\x06source\x12H\x1a\x46\x64irectories,err := sc.Directory().ListDirectories(ctx, organizationId)\n\x96\x01*\x93\x01\n\x13\n\x05label\x12\n\x1a\x08Java SDK\n\x0e\n\x04lang\x12\x06\x1a\x04java\nl\n\x06source\x12\x62\x1a`ListDirectoriesResponse response = scalekitClient.directories().listDirectories(organizationId);\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02\x35\x12\x33/api/v1/organizations/{organization_id}/directories\x12\xb7\x08\n\x0f\x45nableDirectory\x12/.scalekit.v1.directories.ToggleDirectoryRequest\x1a\x30.scalekit.v1.directories.ToggleDirectoryResponse\"\xc0\x07\x92\x41\xef\x06\n\tDirectory\x12\x12\x45nable a directory\x1a\x7f\x41\x63tivates a directory within an organization, allowing it to synchronize users and groups with the connected Directory providerJF\n\x03\x32\x30\x30\x12?\n\x07Success\x12\x34\n2\x1a\x30.scalekit.v1.directories.ToggleDirectoryResponsej\x84\x05\n\rx-codeSamples\x12\xf2\x04\x32\xef\x04\n\x89\x01*\x86\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\nV\n\x06source\x12L\x1aJawait sc.directory.enableDirectory(\'<organization_id>\', \'<directory_id>\');\n\xb5\x01*\xb2\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\x86\x01\n\x06source\x12|\x1azdirectory_response = sc.directory.enable_directory(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\x7f*}\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\nZ\n\x06source\x12P\x1aNenable,err := sc.Directory().EnableDirectory(ctx, organizationId, directoryId)\n\xa7\x01*\xa4\x01\n\x13\n\x05label\x12\n\x1a\x08Java SDK\n\x0e\n\x04lang\x12\x06\x1a\x04java\n}\n\x06source\x12s\x1aqToggleDirectoryResponse enableResponse = client\n  .directories()\n  .enableDirectory(directoryId, organizationId);\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02\x41\x32?/api/v1/organizations/{organization_id}/directories/{id}:enable\x12\x9e\t\n\x10\x44isableDirectory\x12/.scalekit.v1.directories.ToggleDirectoryRequest\x1a\x30.scalekit.v1.directories.ToggleDirectoryResponse\"\xa6\x08\x92\x41\xd4\x07\n\tDirectory\x12\x13\x44isable a directory\x1a\xaa\x01Stops synchronization of users and groups from a specified directory within an organization. This operation prevents further updates from the connected Directory providerJb\n\x03\x32\x30\x30\x12[\n#Successfully disabled the directory\x12\x34\n2\x1a\x30.scalekit.v1.directories.ToggleDirectoryResponsej\xa0\x05\n\rx-codeSamples\x12\x8e\x05\x32\x8b\x05\n\x96\x01*\x93\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\nc\n\x06source\x12Y\x1aWawait scalekit.directory.disableDirectory(\n  \'<organization_id>\',\n  \'<directory_id>\'\n);\n\xb6\x01*\xb3\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\x87\x01\n\x06source\x12}\x1a{directory_response = sc.directory.disable_directory(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\x81\x01*\x7f\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n\\\n\x06source\x12R\x1aPdisable,err := sc.Directory().DisableDirectory(ctx, organizationId, directoryId)\n\xb2\x01*\xaf\x01\n\x13\n\x05label\x12\n\x1a\x08Java SDK\n\x0e\n\x04lang\x12\x06\x1a\x04java\n\x87\x01\n\x06source\x12}\x1a{ToggleDirectoryResponse disableResponse = scalekitClient\n  .directories()\n  .disableDirectory(directoryId, organizationId);\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02\x42\x32@/api/v1/organizations/{organization_id}/directories/{id}:disable\x12\xe1\x0b\n\x12ListDirectoryUsers\x12\x32.scalekit.v1.directories.ListDirectoryUsersRequest\x1a\x33.scalekit.v1.directories.ListDirectoryUsersResponse\"\xe1\n\x92\x41\x87\n\n\tDirectory\x12\x14List directory users\x1a\xb2\x01Retrieves a list of all users within a specified directory for an organization. This endpoint allows you to view user accounts associated with your connected Directory Providers.J\x88\x01\n\x03\x32\x30\x30\x12\x80\x01\nESuccessfully retrieved the list of users from the specified directory\x12\x37\n5\x1a\x33.scalekit.v1.directories.ListDirectoryUsersResponsej\xa3\x07\n\rx-codeSamples\x12\x91\x07\x32\x8e\x07\n\xaa\x01*\xa7\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\nw\n\x06source\x12m\x1akconst { users } = await scalekit.directory.listDirectoryUsers(\n  \'<organization_id>\',\n  \'<directory_id>\'\n);\n\xb6\x01*\xb3\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\x87\x01\n\x06source\x12}\x1a{directory_users = sc.directory.list_directory_users(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\xe2\x01*\xdf\x01\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n\xbb\x01\n\x06source\x12\xb0\x01\x1a\xad\x01options := &ListDirectoryUsersOptions{\n\t\tPageSize: 10,\n\t\tPageToken: \"\",\n\t}\ndirectoryUsers,err := sc.Directory().ListDirectoryUsers(ctx, organizationId, directoryId, options)\n\xc0\x02*\xbd\x02\n\x13\n\x05label\x12\n\x1a\x08Java SDK\n\x0e\n\x04lang\x12\x06\x1a\x04java\n\x95\x02\n\x06source\x12\x8a\x02\x1a\x87\x02var options = ListDirectoryResourceOptions.builder()\n  .pageSize(10)\n  .pageToken(\"\")\n  .includeDetail(true)\n  .build();\n\nListDirectoryUsersResponse usersResponse = scalekitClient\n  .directories()\n  .listDirectoryUsers(directory.getId(), organizationId, options);\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02J\x12H/api/v1/organizations/{organization_id}/directories/{directory_id}/users\x12\xc3\x0b\n\x13ListDirectoryGroups\x12\x33.scalekit.v1.directories.ListDirectoryGroupsRequest\x1a\x34.scalekit.v1.directories.ListDirectoryGroupsResponse\"\xc0\n\x92\x41\xe5\t\n\tDirectory\x12\x15List directory groups\x1a\x82\x01Retrieves all groups from a specified directory. Use this endpoint to view group structures from your connected identity provider.J\x8a\x01\n\x03\x32\x30\x30\x12\x82\x01\nFSuccessfully retrieved the list of groups from the specified directory\x12\x38\n6\x1a\x34.scalekit.v1.directories.ListDirectoryGroupsResponsej\xae\x07\n\rx-codeSamples\x12\x9c\x07\x32\x99\x07\n\xac\x01*\xa9\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\ny\n\x06source\x12o\x1amconst { groups } = await scalekit.directory.listDirectoryGroups(\n  \'<organization_id>\',\n  \'<directory_id>\'\n);\n\xb8\x01*\xb5\x01\n\x15\n\x05label\x12\x0c\x1a\nPython SDK\n\x10\n\x04lang\x12\x08\x1a\x06python\n\x89\x01\n\x06source\x12\x7f\x1a}directory_groups = sc.directory.list_directory_groups(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\xe6\x01*\xe3\x01\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n\xbf\x01\n\x06source\x12\xb4\x01\x1a\xb1\x01options := &ListDirectoryGroupsOptions{\n\t\tPageSize: 10,\n\t\tPageToken:\"\",\n\t}\n\ndirectoryGroups, err := sc.Directory().ListDirectoryGroups(ctx, organizationId, directoryId, options)\n\xc3\x02*\xc0\x02\n\x13\n\x05label\x12\n\x1a\x08Java SDK\n\x0e\n\x04lang\x12\x06\x1a\x04java\n\x98\x02\n\x06source\x12\x8d\x02\x1a\x8a\x02var options = ListDirectoryResourceOptions.builder()\n  .pageSize(10)\n  .pageToken(\"\")\n  .includeDetail(true)\n  .build();\n\nListDirectoryGroupsResponse groupsResponse = scalekitClient\n  .directories()\n  .listDirectoryGroups(directory.getId(), organizationId, options);\x82\xb5\x18\x02\x18t\x82\xd3\xe4\x93\x02K\x12I/api/v1/organizations/{organization_id}/directories/{directory_id}/groups\x12\xc1\x04\n\x1aListDirectoryGroupsSummary\x12:.scalekit.v1.directories.ListDirectoryGroupsSummaryRequest\x1a\x34.scalekit.v1.directories.ListDirectoryGroupsResponse\"\xb0\x03\x92\x41\xbe\x02\n\tDirectory\x12\x1dList directory groups summary\x1a\x84\x01Retrieves all groups from a specified directory. This is not a paginated api. It gives a summary view with id and name of the group.J\x8a\x01\n\x03\x32\x30\x30\x12\x82\x01\nFSuccessfully retrieved the list of groups from the specified directory\x12\x38\n6\x1a\x34.scalekit.v1.directories.ListDirectoryGroupsResponse\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02S\x12Q/api/v1/organizations/{organization_id}/directories/{directory_id}/groups/summary\x12\xeb\x02\n\x15\x43reateDirectorySecret\x12\x35.scalekit.v1.directories.CreateDirectorySecretRequest\x1a\x36.scalekit.v1.directories.CreateDirectorySecretResponse\"\xe2\x01\x92\x41x\n\tDirectory\x12\x1d\x43reate secret for a directoryJL\n\x03\x32\x30\x30\x12\x45\n\x07Success\x12:\n8\x1a\x36.scalekit.v1.directories.CreateDirectorySecretResponse\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02L\"J/api/v1/organizations/{organization_id}/directories/{directory_id}/secrets\x12\x8b\x03\n\x19RegenerateDirectorySecret\x12\x39.scalekit.v1.directories.RegenerateDirectorySecretRequest\x1a:.scalekit.v1.directories.RegenerateDirectorySecretResponse\"\xf6\x01\x92\x41\x80\x01\n\tDirectory\x12!Regenerate secret for a directoryJP\n\x03\x32\x30\x30\x12I\n\x07Success\x12>\n<\x1a:.scalekit.v1.directories.RegenerateDirectorySecretResponse\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02W\"U/api/v1/organizations/{organization_id}/directories/{directory_id}/secrets:regenerate\x12\xca\x01\n\x14TriggerDirectorySync\x12\x34.scalekit.v1.directories.TriggerDirectorySyncRequest\x1a\x16.google.protobuf.Empty\"d\x82\xb5\x18\x02\x18t\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02I\x12G/api/v1/organizations/{organization_id}/directories/{directory_id}:sync\x1a\xaa\x02\x92\x41\xa6\x02\n\tDirectory\x12\x98\x02\x44irectory management for viewing and controlling external identity provider connections in your Scalekit environment. This service provides endpoints for retrieving directory information, listing directories and their contents, and enabling or disabling directory synchronization.B7Z5github.com/scalekit-inc/scalekit/pkg/grpc/directoriesb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'scalekit.v1.directories.directories_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'Z5github.com/scalekit-inc/scalekit/pkg/grpc/directories'
  _globals['_GETDIRECTORYREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_GETDIRECTORYREQUEST'].fields_by_name['id']._serialized_options = b'\222A72\"Unique identifier of the directoryJ\021\"dir_12131243412\"\272H\006r\004\020\001\030 '
  _globals['_GETDIRECTORYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_GETDIRECTORYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A:2%Unique identifier of the organizationJ\021\"org_12131243412\"\272H\006r\004\020\001\030 '
  _globals['_GETDIRECTORYRESPONSE'].fields_by_name['directory']._loaded_options = None
  _globals['_GETDIRECTORYRESPONSE'].fields_by_name['directory']._serialized_options = b'\222A422Detailed information about the requested directory'
  _globals['_CREATEDIRECTORYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_CREATEDIRECTORYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A?2$Unique identifier to an OrganizationJ\027\"org_12362474900684814\"\272H\tr\004\020\001\030 \310\001\001'
  _globals['_CREATEDIRECTORYREQUEST'].fields_by_name['directory']._loaded_options = None
  _globals['_CREATEDIRECTORYREQUEST'].fields_by_name['directory']._serialized_options = b'\222A\0232\021Directory Details\272H\003\310\001\001'
  _globals['_CREATEDIRECTORY'].fields_by_name['directory_type']._loaded_options = None
  _globals['_CREATEDIRECTORY'].fields_by_name['directory_type']._serialized_options = b'\222A\0162\004TypeJ\006\"SCIM\"\272H\010\202\001\002\020\001\310\001\001'
  _globals['_CREATEDIRECTORY'].fields_by_name['directory_provider']._loaded_options = None
  _globals['_CREATEDIRECTORY'].fields_by_name['directory_provider']._serialized_options = b'\222A\0212\007ProvideJ\006\"OKTA\"\272H\005\202\001\002\020\001'
  _globals['_CREATEDIRECTORYRESPONSE'].fields_by_name['directory']._loaded_options = None
  _globals['_CREATEDIRECTORYRESPONSE'].fields_by_name['directory']._serialized_options = b'\222A\0232\021Directory Details\272H\003\310\001\001'
  _globals['_UPDATEDIRECTORYREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_UPDATEDIRECTORYREQUEST'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004dir_'
  _globals['_UPDATEDIRECTORYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_UPDATEDIRECTORYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004org_'
  _globals['_UPDATEDIRECTORYREQUEST'].fields_by_name['directory']._loaded_options = None
  _globals['_UPDATEDIRECTORYREQUEST'].fields_by_name['directory']._serialized_options = b'\222A\0232\021Directory Details\272H\003\310\001\001'
  _globals['_UPDATEDIRECTORY'].fields_by_name['name']._loaded_options = None
  _globals['_UPDATEDIRECTORY'].fields_by_name['name']._serialized_options = b'\222A\0222\004NameJ\n\"Azure AD\"\272H\007r\005\020\001\030\200\002'
  _globals['_UPDATEDIRECTORY'].fields_by_name['directory_type']._loaded_options = None
  _globals['_UPDATEDIRECTORY'].fields_by_name['directory_type']._serialized_options = b'\222A\0162\004TypeJ\006\"SCIM\"\272H\005\202\001\002\020\001'
  _globals['_UPDATEDIRECTORY'].fields_by_name['enabled']._loaded_options = None
  _globals['_UPDATEDIRECTORY'].fields_by_name['enabled']._serialized_options = b'\222A\0162\006StatusJ\004true'
  _globals['_UPDATEDIRECTORY'].fields_by_name['directory_provider']._loaded_options = None
  _globals['_UPDATEDIRECTORY'].fields_by_name['directory_provider']._serialized_options = b'\222A\204\0012-Identity provider connected to this directoryJS\"OKTA\", \"GOOGLE\", \"MICROSOFT_AD\", \"AUTH0\", \"ONELOGIN\", \"JUMPCLOUD\", \"PING_IDENTITY\"\272H\005\202\001\002\020\001'
  _globals['_UPDATEDIRECTORY'].fields_by_name['status']._loaded_options = None
  _globals['_UPDATEDIRECTORY'].fields_by_name['status']._serialized_options = b'\222A\0332\014Setup StatusJ\013\"COMPLETED\"\272H\005\202\001\002\020\001'
  _globals['_UPDATEDIRECTORY'].fields_by_name['groups']._loaded_options = None
  _globals['_UPDATEDIRECTORY'].fields_by_name['groups']._serialized_options = b'\222A.2,List of groups associated with the directory'
  _globals['_UPDATEDIRECTORYRESPONSE'].fields_by_name['directory']._loaded_options = None
  _globals['_UPDATEDIRECTORYRESPONSE'].fields_by_name['directory']._serialized_options = b'\222A\0232\021Directory Details\272H\003\310\001\001'
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004dir_'
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004org_'
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST'].fields_by_name['external_ids']._loaded_options = None
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST'].fields_by_name['external_ids']._serialized_options = b'\222A523external_ids of groups to be tracked during polling\272H\003\310\001\001'
  _globals['_LISTDIRECTORIESREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_LISTDIRECTORIESREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A=2%Unique identifier of the organizationJ\024\"org_12362474900684\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_LISTDIRECTORIESRESPONSE'].fields_by_name['directories']._loaded_options = None
  _globals['_LISTDIRECTORIESRESPONSE'].fields_by_name['directories']._serialized_options = b'\222A624List of directories associated with the organization\272H\003\310\001\001'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A=2%Unique identifier of the organizationJ\024\"org_12131243412331\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['directory_id']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['directory_id']._serialized_options = b'\222AR2:Unique identifier of the directory within the organizationJ\024\"dir_12131243412331\"\272H\014r\n\020\001\030 :\004dir_'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['page_size']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['page_size']._serialized_options = b'\222A_2YNumber of users to return per page. Maximum value is 30. If not specified, defaults to 10J\00210\272H\004*\002\030\036'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['page_token']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['page_token']._serialized_options = b'\222A\214\0012\211\001Token for pagination. Use the value returned in the \'next_page_token\' field of the previous response to retrieve the next page of results'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['include_detail']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['include_detail']._serialized_options = b'\222A\260\0012\247\001If set to true, the response will include the full user payload with all available details. If false or not specified, only essential user information will be returnedJ\004true'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['directory_group_id']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['directory_group_id']._serialized_options = b'\222AW2>Filter users by their membership in a specific directory groupJ\025\"dirgroup_1213124341\"\272H\021r\017\020\001\030%:\tdirgroup_'
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['updated_after']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSREQUEST'].fields_by_name['updated_after']._serialized_options = b'\222Ak2QFilter users that were updated after the specified timestamp. Use ISO 8601 formatJ\026\"2021-01-01T00:00:00Z\"'
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['users']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['users']._serialized_options = b'\222A@2>List of directory users retrieved from the specified directory'
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['total_size']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['total_size']._serialized_options = b'\222AR2PTotal number of users available in the directory that match the request criteria'
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['next_page_token']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['next_page_token']._serialized_options = b'\222Az2xToken for pagination. Use this token in the \'page_token\' field of the next request to fetch the subsequent page of users'
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['prev_page_token']._loaded_options = None
  _globals['_LISTDIRECTORYUSERSRESPONSE'].fields_by_name['prev_page_token']._serialized_options = b'\222Au2sToken for pagination. Use this token in the \'page_token\' field of the next request to fetch the prior page of users'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['directory_id']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['directory_id']._serialized_options = b'\222A;2\"Unique identifier of the directoryJ\025\"dir_121312434123312\"\272H\014r\n\020\001\030 :\004dir_'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['page_size']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['page_size']._serialized_options = b'\222A`2ZNumber of groups to return per page. Maximum value is 30. If not specified, defaults to 10J\00210\272H\004*\002\030\036'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['page_token']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['page_token']._serialized_options = b'\222Af2dToken for pagination. Use the value returned in the \'next_page_token\' field of the previous response'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['updated_after']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['updated_after']._serialized_options = b'\222AY2?Filter groups updated after this timestamp. Use ISO 8601 formatJ\026\"2021-01-01T00:00:00Z\"'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['include_detail']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['include_detail']._serialized_options = b'\222Ag2_If true, includes full group details. If false or not specified, returns basic information onlyJ\004true'
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['include_external_groups']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSREQUEST'].fields_by_name['include_external_groups']._serialized_options = b'\222AV2NIf true, returns group and its details from external provider (default: false)J\004true'
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['groups']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['groups']._serialized_options = b'\222AA2?List of directory groups retrieved from the specified directory'
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['total_size']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['total_size']._serialized_options = b'\222AP2NTotal number of groups matching the request criteria, regardless of pagination'
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['next_page_token']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['next_page_token']._serialized_options = b'\222Aj2hToken to retrieve the next page of results. Use this token in the \'page_token\' field of the next request'
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['prev_page_token']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSRESPONSE'].fields_by_name['prev_page_token']._serialized_options = b'\222An2lToken to retrieve the previous page of results. Use this token in the \'page_token\' field of the next request'
  _globals['_LISTDIRECTORYGROUPSSUMMARYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSSUMMARYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A>2%Unique identifier of the organizationJ\025\"org_121312434123312\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_LISTDIRECTORYGROUPSSUMMARYREQUEST'].fields_by_name['directory_id']._loaded_options = None
  _globals['_LISTDIRECTORYGROUPSSUMMARYREQUEST'].fields_by_name['directory_id']._serialized_options = b'\222A;2\"Unique identifier of the directoryJ\025\"dir_121312434123312\"\272H\014r\n\020\001\030 :\004dir_'
  _globals['_DIRECTORY'].fields_by_name['id']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['id']._serialized_options = b'\222A;2\"Unique identifier of the directoryJ\025\"dir_121312434123312\"\272H\014r\n\020\001\030 :\004dir_'
  _globals['_DIRECTORY'].fields_by_name['name']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['name']._serialized_options = b'\222A\\2NName of the directory, typically representing the connected Directory providerJ\n\"Azure AD\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORY'].fields_by_name['directory_type']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['directory_type']._serialized_options = b'\222A]2SType of the directory, indicating the protocol or standard used for synchronizationJ\006\"SCIM\"\272H\005\202\001\002\020\001'
  _globals['_DIRECTORY'].fields_by_name['organization_id']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['organization_id']._serialized_options = b'\222A]2DUnique identifier of the organization to which the directory belongsJ\025\"org_121312434123312\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_DIRECTORY'].fields_by_name['enabled']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['enabled']._serialized_options = b'\222Ah2`Indicates whether the directory is currently enabled and actively synchronizing users and groupsJ\004true'
  _globals['_DIRECTORY'].fields_by_name['directory_provider']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['directory_provider']._serialized_options = b'\222A72-Identity provider connected to this directoryJ\006\"OKTA\"\272H\005\202\001\002\020\001'
  _globals['_DIRECTORY'].fields_by_name['last_synced_at']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['last_synced_at']._serialized_options = b'\222Az2`Timestamp of the last successful synchronization of users and groups from the Directory ProviderJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_DIRECTORY'].fields_by_name['directory_endpoint']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['directory_endpoint']._serialized_options = b'\222A\257\0012eThe endpoint URL generated by Scalekit for synchronizing users and groups from the Directory ProviderJF\"https://yourapp.scalekit.com/api/v1/directoies/dir_123212312/scim/v2\"\272H\007r\005\020\001\030\320\017'
  _globals['_DIRECTORY'].fields_by_name['total_users']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['total_users']._serialized_options = b'\222A,2&Total number of users in the directoryJ\00210'
  _globals['_DIRECTORY'].fields_by_name['total_groups']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['total_groups']._serialized_options = b'\222A-2\'Total number of groups in the directoryJ\00210'
  _globals['_DIRECTORY'].fields_by_name['secrets']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['secrets']._serialized_options = b'\222AW2UList of secrets used for authenticating and synchronizing with the Directory Provider'
  _globals['_DIRECTORY'].fields_by_name['stats']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['stats']._serialized_options = b'\222Ab2`Statistics and metrics related to the directory, such as synchronization status and error counts'
  _globals['_DIRECTORY'].fields_by_name['role_assignments']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['role_assignments']._serialized_options = b'\222AW2URole assignments associated with the directory, defining group based role assignments'
  _globals['_DIRECTORY'].fields_by_name['attribute_mappings']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['attribute_mappings']._serialized_options = b'\222AN2LMappings between directory attributes and Scalekit user and group attributes'
  _globals['_DIRECTORY'].fields_by_name['status']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['status']._serialized_options = b'\222A!2\020Directory StatusJ\r\"IN_PROGRESS\"\272H\005\202\001\002\020\001'
  _globals['_DIRECTORY'].fields_by_name['email']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['email']._serialized_options = b'\222Ae2HEmail Id associated with Directory whose access will be used for pollingJ\031\"john.doe@scalekit.cloud\"'
  _globals['_DIRECTORY'].fields_by_name['groups_tracked']._loaded_options = None
  _globals['_DIRECTORY'].fields_by_name['groups_tracked']._serialized_options = b'\222AL2CIt indicates if all groups are tracked or select groups are trackedJ\005\"ALL\"'
  _globals['_TOGGLEDIRECTORYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_TOGGLEDIRECTORYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A\213\0012rA unique identifier for the organization. The value must begin with \'org_\' and be between 1 and 32 characters longJ\025\"org_121312434123312\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_TOGGLEDIRECTORYREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_TOGGLEDIRECTORYREQUEST'].fields_by_name['id']._serialized_options = b'\222A\237\0012\205\001A unique identifier for a directory within the organization. The value must begin with \'dir_\' and be between 1 and 32 characters longJ\025\"dir_121312434123312\"\272H\014r\n\020\001\030 :\004dir_'
  _globals['_TOGGLEDIRECTORYRESPONSE'].fields_by_name['enabled']._loaded_options = None
  _globals['_TOGGLEDIRECTORYRESPONSE'].fields_by_name['enabled']._serialized_options = b'\222A\367\0012\356\001Specifies the directory\'s state after the toggle operation. A value of `true` indicates that the directory is enabled and actively synchronizing users and groups. A value of `false` means the directory is disabled, halting synchronizationJ\004true'
  _globals['_TOGGLEDIRECTORYRESPONSE'].fields_by_name['error_message']._loaded_options = None
  _globals['_TOGGLEDIRECTORYRESPONSE'].fields_by_name['error_message']._serialized_options = b'\222A\266\0012\217\001Contains a human-readable error message if the toggle operation encountered an issue. If the operation was successful, this field will be emptyJ\"\"The directory is already enabled\"'
  _globals['_DIRECTORYMAPPING'].fields_by_name['key']._loaded_options = None
  _globals['_DIRECTORYMAPPING'].fields_by_name['key']._serialized_options = b'\272H\tr\004\020\001\030 \310\001\001'
  _globals['_DIRECTORYMAPPING'].fields_by_name['map_to']._loaded_options = None
  _globals['_DIRECTORYMAPPING'].fields_by_name['map_to']._serialized_options = b'\272H\tr\004\020\001\030 \310\001\001'
  _globals['_DIRECTORYUSER'].fields_by_name['id']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['id']._serialized_options = b'\222A$2\007User IDJ\031\"diruser_121312434123312\"\272H\020r\016\020\001\030$:\010diruser_'
  _globals['_DIRECTORYUSER'].fields_by_name['email']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['email']._serialized_options = b'\222A\0222\005EmailJ\t\"johndoe\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORYUSER'].fields_by_name['preferred_username']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['preferred_username']._serialized_options = b'\222A\0372\022Preferred UsernameJ\t\"johndoe\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORYUSER'].fields_by_name['given_name']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['given_name']._serialized_options = b'\222A\0242\nFirst NameJ\006\"John\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORYUSER'].fields_by_name['family_name']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['family_name']._serialized_options = b'\222A\0222\tLast NameJ\005\"Doe\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORYUSER'].fields_by_name['updated_at']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['updated_at']._serialized_options = b'\222A$2\nUpdated AtJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_DIRECTORYUSER'].fields_by_name['emails']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['emails']._serialized_options = b'\222A\0102\006Emails'
  _globals['_DIRECTORYUSER'].fields_by_name['groups']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['groups']._serialized_options = b'\222A\0102\006Groups'
  _globals['_DIRECTORYUSER'].fields_by_name['user_detail']._loaded_options = None
  _globals['_DIRECTORYUSER'].fields_by_name['user_detail']._serialized_options = b'\222A\0372\035Complete User Details Payload'
  _globals['_EXTERNALGROUP'].fields_by_name['external_id']._loaded_options = None
  _globals['_EXTERNALGROUP'].fields_by_name['external_id']._serialized_options = b'\222A&2\021External Group IDJ\021\"02y3w247124ccqi\"\272H\007r\005\020\001\030\200\002'
  _globals['_EXTERNALGROUP'].fields_by_name['display_name']._loaded_options = None
  _globals['_EXTERNALGROUP'].fields_by_name['display_name']._serialized_options = b'\222A\0302\014Display NameJ\010\"Admins\"\272H\007r\005\020\001\030\200\002'
  _globals['_EXTERNALGROUP'].fields_by_name['email']._loaded_options = None
  _globals['_EXTERNALGROUP'].fields_by_name['email']._serialized_options = b'\222A\0372\005EmailJ\026\"johndoe@scalekit.com\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORYGROUP'].fields_by_name['id']._loaded_options = None
  _globals['_DIRECTORYGROUP'].fields_by_name['id']._serialized_options = b'\222A&2\010Group IDJ\032\"dirgroup_121312434123312\"\272H\021r\017\020\001\030$:\tdirgroup_'
  _globals['_DIRECTORYGROUP'].fields_by_name['display_name']._loaded_options = None
  _globals['_DIRECTORYGROUP'].fields_by_name['display_name']._serialized_options = b'\222A\0302\014Display NameJ\010\"Admins\"\272H\007r\005\020\001\030\200\002'
  _globals['_DIRECTORYGROUP'].fields_by_name['total_users']._loaded_options = None
  _globals['_DIRECTORYGROUP'].fields_by_name['total_users']._serialized_options = b'\222A\0362\030Total Users in the GroupJ\00210'
  _globals['_DIRECTORYGROUP'].fields_by_name['updated_at']._loaded_options = None
  _globals['_DIRECTORYGROUP'].fields_by_name['updated_at']._serialized_options = b'\222A$2\nUpdated AtJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_DIRECTORYGROUP'].fields_by_name['group_detail']._loaded_options = None
  _globals['_DIRECTORYGROUP'].fields_by_name['group_detail']._serialized_options = b'\222A 2\036Complete Group Details Payload'
  _globals['_CREATEDIRECTORYSECRETREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_CREATEDIRECTORYSECRETREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A*2\017Organization IDJ\027\"org_12362474900684814\"\272H\014r\n\020\001\030 :\004org_'
  _globals['_CREATEDIRECTORYSECRETREQUEST'].fields_by_name['directory_id']._loaded_options = None
  _globals['_CREATEDIRECTORYSECRETREQUEST'].fields_by_name['directory_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004dir_'
  _globals['_CREATEDIRECTORYSECRETRESPONSE'].fields_by_name['plain_secret']._loaded_options = None
  _globals['_CREATEDIRECTORYSECRETRESPONSE'].fields_by_name['plain_secret']._serialized_options = b'\222A\214\0012VPlain Secret. This is only returned in Plain Text as response to the Creation Request.J2\"dXNlcm5hbWU6cGFzc3dvcmQ6c2VjcmV0a2V5MTIzNDU2Nzg5\"'
  _globals['_CREATEDIRECTORYSECRETRESPONSE'].fields_by_name['secret']._loaded_options = None
  _globals['_CREATEDIRECTORYSECRETRESPONSE'].fields_by_name['secret']._serialized_options = b'\222A\0202\016Secret Details'
  _globals['_REGENERATEDIRECTORYSECRETREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_REGENERATEDIRECTORYSECRETREQUEST'].fields_by_name['organization_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004org_'
  _globals['_REGENERATEDIRECTORYSECRETREQUEST'].fields_by_name['directory_id']._loaded_options = None
  _globals['_REGENERATEDIRECTORYSECRETREQUEST'].fields_by_name['directory_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004dir_'
  _globals['_REGENERATEDIRECTORYSECRETRESPONSE'].fields_by_name['plain_secret']._loaded_options = None
  _globals['_REGENERATEDIRECTORYSECRETRESPONSE'].fields_by_name['plain_secret']._serialized_options = b'\222A\214\0012VPlain Secret. This is only returned in Plain Text as response to the Creation Request.J2\"dXNlcm5hbWU6cGFzc3dvcmQ6c2VjcmV0a2V5MTIzNDU2Nzg5\"'
  _globals['_REGENERATEDIRECTORYSECRETRESPONSE'].fields_by_name['secret']._loaded_options = None
  _globals['_REGENERATEDIRECTORYSECRETRESPONSE'].fields_by_name['secret']._serialized_options = b'\222A\0202\016Secret Details'
  _globals['_SECRET'].fields_by_name['id']._loaded_options = None
  _globals['_SECRET'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004sec_'
  _globals['_SECRET'].fields_by_name['create_time']._loaded_options = None
  _globals['_SECRET'].fields_by_name['create_time']._serialized_options = b'\222A\'2\rCreation TimeJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_SECRET'].fields_by_name['secret_suffix']._loaded_options = None
  _globals['_SECRET'].fields_by_name['secret_suffix']._serialized_options = b'\222A\0272\rSecret SuffixJ\006\"Nzg5\"'
  _globals['_SECRET'].fields_by_name['status']._loaded_options = None
  _globals['_SECRET'].fields_by_name['status']._serialized_options = b'\222A\0332\rSecret StatusJ\n\"INACTIVE\"'
  _globals['_SECRET'].fields_by_name['expire_time']._loaded_options = None
  _globals['_SECRET'].fields_by_name['expire_time']._serialized_options = b'\222A%2\013Expiry TimeJ\026\"2025-10-01T00:00:00Z\"'
  _globals['_SECRET'].fields_by_name['last_used_time']._loaded_options = None
  _globals['_SECRET'].fields_by_name['last_used_time']._serialized_options = b'\222A(2\016Last Used TimeJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_SECRET'].fields_by_name['directory_id']._loaded_options = None
  _globals['_SECRET'].fields_by_name['directory_id']._serialized_options = b'\222A\'2\014Directory IDJ\027\"dir_12362474900684814\"\272H\014r\n\020\001\030 :\004dir_'
  _globals['_STATS'].fields_by_name['total_users']._loaded_options = None
  _globals['_STATS'].fields_by_name['total_users']._serialized_options = b'\222A\"2\034Total Users in the DirectoryJ\00210'
  _globals['_STATS'].fields_by_name['total_groups']._loaded_options = None
  _globals['_STATS'].fields_by_name['total_groups']._serialized_options = b'\222A#2\035Total Groups in the DirectoryJ\00210'
  _globals['_STATS'].fields_by_name['group_updated_at']._loaded_options = None
  _globals['_STATS'].fields_by_name['group_updated_at']._serialized_options = b'\222AD2*Max time of Group Updated At for DirectoryJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_STATS'].fields_by_name['user_updated_at']._loaded_options = None
  _globals['_STATS'].fields_by_name['user_updated_at']._serialized_options = b'\222AC2)Max time of User Updated At for DirectoryJ\026\"2024-10-01T00:00:00Z\"'
  _globals['_ASSIGNROLESREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_ASSIGNROLESREQUEST'].fields_by_name['organization_id']._serialized_options = b'\272H\006r\004\020\001\030 '
  _globals['_ASSIGNROLESREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_ASSIGNROLESREQUEST'].fields_by_name['id']._serialized_options = b'\272H\006r\004\020\001\030 '
  _globals['_ROLEASSIGNMENT'].fields_by_name['group_id']._loaded_options = None
  _globals['_ROLEASSIGNMENT'].fields_by_name['group_id']._serialized_options = b'\222A82\035group ID for the role mappingJ\027\"dirgroup_121312434123\"\272H\006r\004\020\001\030 '
  _globals['_ROLEASSIGNMENT'].fields_by_name['role_name']._loaded_options = None
  _globals['_ROLEASSIGNMENT'].fields_by_name['role_name']._serialized_options = b'\272H\037r\032\020\001\030d2\024^[a-zA-Z0-9_]{1,64}$\310\001\001'
  _globals['_ROLEASSIGNMENT'].fields_by_name['role_id']._loaded_options = None
  _globals['_ROLEASSIGNMENT'].fields_by_name['role_id']._serialized_options = b'\222A32\034role ID for the role mappingJ\023\"role_121312434123\"\272H\004r\002\030 \372\322\344\223\002\t\022\007PREVIEW'
  _globals['_UPDATEATTRIBUTESREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_UPDATEATTRIBUTESREQUEST'].fields_by_name['organization_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004org_'
  _globals['_UPDATEATTRIBUTESREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_UPDATEATTRIBUTESREQUEST'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004dir_'
  _globals['_ATTRIBUTEMAPPING'].fields_by_name['key']._loaded_options = None
  _globals['_ATTRIBUTEMAPPING'].fields_by_name['key']._serialized_options = b'\272H\tr\004\020\001\030 \310\001\001'
  _globals['_ATTRIBUTEMAPPING'].fields_by_name['map_to']._loaded_options = None
  _globals['_ATTRIBUTEMAPPING'].fields_by_name['map_to']._serialized_options = b'\272H\tr\004\020\001\030 \310\001\001'
  _globals['_DELETEDIRECTORYREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_DELETEDIRECTORYREQUEST'].fields_by_name['organization_id']._serialized_options = b'\272H\014r\n\020\001\030 :\004org_'
  _globals['_DELETEDIRECTORYREQUEST'].fields_by_name['id']._loaded_options = None
  _globals['_DELETEDIRECTORYREQUEST'].fields_by_name['id']._serialized_options = b'\272H\014r\n\020\001\030 :\004dir_'
  _globals['_TRIGGERDIRECTORYSYNCREQUEST'].fields_by_name['directory_id']._loaded_options = None
  _globals['_TRIGGERDIRECTORYSYNCREQUEST'].fields_by_name['directory_id']._serialized_options = b'\222A92 Unique identifier of a DirectoryJ\025\"dir_121312434123312\"\272H\006r\004\020\001\030 '
  _globals['_TRIGGERDIRECTORYSYNCREQUEST'].fields_by_name['organization_id']._loaded_options = None
  _globals['_TRIGGERDIRECTORYSYNCREQUEST'].fields_by_name['organization_id']._serialized_options = b'\222A=2$Unique identifier to an OrganizationJ\025\"org_121312434123312\"\272H\006r\004\020\001\030 '
  _globals['_DIRECTORYSERVICE']._loaded_options = None
  _globals['_DIRECTORYSERVICE']._serialized_options = b'\222A\246\002\n\tDirectory\022\230\002Directory management for viewing and controlling external identity provider connections in your Scalekit environment. This service provides endpoints for retrieving directory information, listing directories and their contents, and enabling or disabling directory synchronization.'
  _globals['_DIRECTORYSERVICE'].methods_by_name['CreateDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['CreateDirectory']._serialized_options = b'\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002@\"3/api/v1/organizations/{organization_id}/directories:\tdirectory'
  _globals['_DIRECTORYSERVICE'].methods_by_name['DeleteDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['DeleteDirectory']._serialized_options = b'\222Ai\n\tDirectory\022\022Delete a directory\032)Delete a Directory within an organizationJ\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\002:*8/api/v1/organizations/{organization_id}/directories/{id}'
  _globals['_DIRECTORYSERVICE'].methods_by_name['UpdateDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['UpdateDirectory']._serialized_options = b'\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002E28/api/v1/organizations/{organization_id}/directories/{id}:\tdirectory'
  _globals['_DIRECTORYSERVICE'].methods_by_name['AssignGroupsForDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['AssignGroupsForDirectory']._serialized_options = b'\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002K\032F/api/v1/organizations/{organization_id}/directories/{id}/groups:assign:\001*'
  _globals['_DIRECTORYSERVICE'].methods_by_name['AssignRoles']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['AssignRoles']._serialized_options = b'\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002b\032N/api/v1/organizations/{organization_id}/directories/{id}/groups/-/roles:assign:\020role_assignments'
  _globals['_DIRECTORYSERVICE'].methods_by_name['UpdateAttributes']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['UpdateAttributes']._serialized_options = b'\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002X\032C/api/v1/organizations/{organization_id}/directories/{id}/attributes:\021attribute_mapping'
  _globals['_DIRECTORYSERVICE'].methods_by_name['GetDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['GetDirectory']._serialized_options = b'\222A\203\007\n\tDirectory\022\025Get directory details\032PRetrieves detailed information about a specific directory within an organizationJd\n\003200\022]\n(Successfully retrieved directory details\0221\n/\032-.scalekit.v1.directories.GetDirectoryResponsej\246\005\n\rx-codeSamples\022\224\0052\221\005\n\236\001*\233\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\nk\n\006source\022a\032_const { directory } = await scalekit.directory.getDirectory(\n  organizationId,\n  directoryId\n);\n\324\001*\321\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\245\001\n\006source\022\232\001\032\227\001directory = sc.directory.get_directory(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\nprint(f\'Directory details: {directory}\')\n\200\001*~\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n[\n\006source\022Q\032Odirectory, err := sc.Directory().GetDirectory(ctx, organizationId, directoryId)\n\223\001*\220\001\n\023\n\005label\022\n\032\010Java SDK\n\016\n\004lang\022\006\032\004java\ni\n\006source\022_\032]Directory directory = scalekitClient.directories().getDirectory(directoryId, organizationId);\202\265\030\002\030t\202\323\344\223\002:\0228/api/v1/organizations/{organization_id}/directories/{id}'
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectories']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectories']._serialized_options = b'\222A\354\005\n\tDirectory\022\035List organization directoriesJ\202\001\n\003200\022{\nCSuccessfully retrieved the list of directories for the organization\0224\n2\0320.scalekit.v1.directories.ListDirectoriesResponsej\272\004\n\rx-codeSamples\022\250\0042\245\004\n|*z\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\nJ\n\006source\022@\032>await scalekit.directory.listDirectories(\'<organization_id>\');\n\222\001*\217\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\nd\n\006source\022Z\032Xdirectories_list = sc.directory.list_directories(\n\torganization_id=\'<organization_id>\'\n)\nw*u\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\nR\n\006source\022H\032Fdirectories,err := sc.Directory().ListDirectories(ctx, organizationId)\n\226\001*\223\001\n\023\n\005label\022\n\032\010Java SDK\n\016\n\004lang\022\006\032\004java\nl\n\006source\022b\032`ListDirectoriesResponse response = scalekitClient.directories().listDirectories(organizationId);\202\265\030\002\030t\202\323\344\223\0025\0223/api/v1/organizations/{organization_id}/directories'
  _globals['_DIRECTORYSERVICE'].methods_by_name['EnableDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['EnableDirectory']._serialized_options = b'\222A\357\006\n\tDirectory\022\022Enable a directory\032\177Activates a directory within an organization, allowing it to synchronize users and groups with the connected Directory providerJF\n\003200\022?\n\007Success\0224\n2\0320.scalekit.v1.directories.ToggleDirectoryResponsej\204\005\n\rx-codeSamples\022\362\0042\357\004\n\211\001*\206\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\nV\n\006source\022L\032Jawait sc.directory.enableDirectory(\'<organization_id>\', \'<directory_id>\');\n\265\001*\262\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\206\001\n\006source\022|\032zdirectory_response = sc.directory.enable_directory(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\177*}\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\nZ\n\006source\022P\032Nenable,err := sc.Directory().EnableDirectory(ctx, organizationId, directoryId)\n\247\001*\244\001\n\023\n\005label\022\n\032\010Java SDK\n\016\n\004lang\022\006\032\004java\n}\n\006source\022s\032qToggleDirectoryResponse enableResponse = client\n  .directories()\n  .enableDirectory(directoryId, organizationId);\202\265\030\002\030t\202\323\344\223\002A2?/api/v1/organizations/{organization_id}/directories/{id}:enable'
  _globals['_DIRECTORYSERVICE'].methods_by_name['DisableDirectory']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['DisableDirectory']._serialized_options = b'\222A\324\007\n\tDirectory\022\023Disable a directory\032\252\001Stops synchronization of users and groups from a specified directory within an organization. This operation prevents further updates from the connected Directory providerJb\n\003200\022[\n#Successfully disabled the directory\0224\n2\0320.scalekit.v1.directories.ToggleDirectoryResponsej\240\005\n\rx-codeSamples\022\216\0052\213\005\n\226\001*\223\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\nc\n\006source\022Y\032Wawait scalekit.directory.disableDirectory(\n  \'<organization_id>\',\n  \'<directory_id>\'\n);\n\266\001*\263\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\207\001\n\006source\022}\032{directory_response = sc.directory.disable_directory(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\201\001*\177\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n\\\n\006source\022R\032Pdisable,err := sc.Directory().DisableDirectory(ctx, organizationId, directoryId)\n\262\001*\257\001\n\023\n\005label\022\n\032\010Java SDK\n\016\n\004lang\022\006\032\004java\n\207\001\n\006source\022}\032{ToggleDirectoryResponse disableResponse = scalekitClient\n  .directories()\n  .disableDirectory(directoryId, organizationId);\202\265\030\002\030t\202\323\344\223\002B2@/api/v1/organizations/{organization_id}/directories/{id}:disable'
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectoryUsers']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectoryUsers']._serialized_options = b'\222A\207\n\n\tDirectory\022\024List directory users\032\262\001Retrieves a list of all users within a specified directory for an organization. This endpoint allows you to view user accounts associated with your connected Directory Providers.J\210\001\n\003200\022\200\001\nESuccessfully retrieved the list of users from the specified directory\0227\n5\0323.scalekit.v1.directories.ListDirectoryUsersResponsej\243\007\n\rx-codeSamples\022\221\0072\216\007\n\252\001*\247\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\nw\n\006source\022m\032kconst { users } = await scalekit.directory.listDirectoryUsers(\n  \'<organization_id>\',\n  \'<directory_id>\'\n);\n\266\001*\263\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\207\001\n\006source\022}\032{directory_users = sc.directory.list_directory_users(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\342\001*\337\001\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n\273\001\n\006source\022\260\001\032\255\001options := &ListDirectoryUsersOptions{\n\t\tPageSize: 10,\n\t\tPageToken: \"\",\n\t}\ndirectoryUsers,err := sc.Directory().ListDirectoryUsers(ctx, organizationId, directoryId, options)\n\300\002*\275\002\n\023\n\005label\022\n\032\010Java SDK\n\016\n\004lang\022\006\032\004java\n\225\002\n\006source\022\212\002\032\207\002var options = ListDirectoryResourceOptions.builder()\n  .pageSize(10)\n  .pageToken(\"\")\n  .includeDetail(true)\n  .build();\n\nListDirectoryUsersResponse usersResponse = scalekitClient\n  .directories()\n  .listDirectoryUsers(directory.getId(), organizationId, options);\202\265\030\002\030t\202\323\344\223\002J\022H/api/v1/organizations/{organization_id}/directories/{directory_id}/users'
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectoryGroups']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectoryGroups']._serialized_options = b'\222A\345\t\n\tDirectory\022\025List directory groups\032\202\001Retrieves all groups from a specified directory. Use this endpoint to view group structures from your connected identity provider.J\212\001\n\003200\022\202\001\nFSuccessfully retrieved the list of groups from the specified directory\0228\n6\0324.scalekit.v1.directories.ListDirectoryGroupsResponsej\256\007\n\rx-codeSamples\022\234\0072\231\007\n\254\001*\251\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\ny\n\006source\022o\032mconst { groups } = await scalekit.directory.listDirectoryGroups(\n  \'<organization_id>\',\n  \'<directory_id>\'\n);\n\270\001*\265\001\n\025\n\005label\022\014\032\nPython SDK\n\020\n\004lang\022\010\032\006python\n\211\001\n\006source\022\177\032}directory_groups = sc.directory.list_directory_groups(\n  directory_id=\'<directory_id>\', organization_id=\'<organization_id>\'\n)\n\346\001*\343\001\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n\277\001\n\006source\022\264\001\032\261\001options := &ListDirectoryGroupsOptions{\n\t\tPageSize: 10,\n\t\tPageToken:\"\",\n\t}\n\ndirectoryGroups, err := sc.Directory().ListDirectoryGroups(ctx, organizationId, directoryId, options)\n\303\002*\300\002\n\023\n\005label\022\n\032\010Java SDK\n\016\n\004lang\022\006\032\004java\n\230\002\n\006source\022\215\002\032\212\002var options = ListDirectoryResourceOptions.builder()\n  .pageSize(10)\n  .pageToken(\"\")\n  .includeDetail(true)\n  .build();\n\nListDirectoryGroupsResponse groupsResponse = scalekitClient\n  .directories()\n  .listDirectoryGroups(directory.getId(), organizationId, options);\202\265\030\002\030t\202\323\344\223\002K\022I/api/v1/organizations/{organization_id}/directories/{directory_id}/groups'
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectoryGroupsSummary']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['ListDirectoryGroupsSummary']._serialized_options = b'\222A\276\002\n\tDirectory\022\035List directory groups summary\032\204\001Retrieves all groups from a specified directory. This is not a paginated api. It gives a summary view with id and name of the group.J\212\001\n\003200\022\202\001\nFSuccessfully retrieved the list of groups from the specified directory\0228\n6\0324.scalekit.v1.directories.ListDirectoryGroupsResponse\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002S\022Q/api/v1/organizations/{organization_id}/directories/{directory_id}/groups/summary'
  _globals['_DIRECTORYSERVICE'].methods_by_name['CreateDirectorySecret']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['CreateDirectorySecret']._serialized_options = b'\222Ax\n\tDirectory\022\035Create secret for a directoryJL\n\003200\022E\n\007Success\022:\n8\0326.scalekit.v1.directories.CreateDirectorySecretResponse\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002L\"J/api/v1/organizations/{organization_id}/directories/{directory_id}/secrets'
  _globals['_DIRECTORYSERVICE'].methods_by_name['RegenerateDirectorySecret']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['RegenerateDirectorySecret']._serialized_options = b'\222A\200\001\n\tDirectory\022!Regenerate secret for a directoryJP\n\003200\022I\n\007Success\022>\n<\032:.scalekit.v1.directories.RegenerateDirectorySecretResponse\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002W\"U/api/v1/organizations/{organization_id}/directories/{directory_id}/secrets:regenerate'
  _globals['_DIRECTORYSERVICE'].methods_by_name['TriggerDirectorySync']._loaded_options = None
  _globals['_DIRECTORYSERVICE'].methods_by_name['TriggerDirectorySync']._serialized_options = b'\202\265\030\002\030t\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002I\022G/api/v1/organizations/{organization_id}/directories/{directory_id}:sync'
  _globals['_DIRECTORYTYPE']._serialized_start=15400
  _globals['_DIRECTORYTYPE']._serialized_end=15477
  _globals['_DIRECTORYPROVIDER']._serialized_start=15480
  _globals['_DIRECTORYPROVIDER']._serialized_end=15634
  _globals['_DIRECTORYSTATUS']._serialized_start=15636
  _globals['_DIRECTORYSTATUS']._serialized_end=15730
  _globals['_SECRETSTATUS']._serialized_start=15732
  _globals['_SECRETSTATUS']._serialized_end=15772
  _globals['_GETDIRECTORYREQUEST']._serialized_start=434
  _globals['_GETDIRECTORYREQUEST']._serialized_end=653
  _globals['_GETDIRECTORYRESPONSE']._serialized_start=656
  _globals['_GETDIRECTORYRESPONSE']._serialized_end=801
  _globals['_CREATEDIRECTORYREQUEST']._serialized_start=804
  _globals['_CREATEDIRECTORYREQUEST']._serialized_end=1051
  _globals['_CREATEDIRECTORY']._serialized_start=1054
  _globals['_CREATEDIRECTORY']._serialized_end=1301
  _globals['_CREATEDIRECTORYRESPONSE']._serialized_start=1303
  _globals['_CREATEDIRECTORYRESPONSE']._serialized_end=1424
  _globals['_UPDATEDIRECTORYREQUEST']._serialized_start=1427
  _globals['_UPDATEDIRECTORYREQUEST']._serialized_end=1644
  _globals['_UPDATEDIRECTORY']._serialized_start=1647
  _globals['_UPDATEDIRECTORY']._serialized_end=2441
  _globals['_UPDATEDIRECTORYRESPONSE']._serialized_start=2443
  _globals['_UPDATEDIRECTORYRESPONSE']._serialized_end=2564
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST']._serialized_start=2567
  _globals['_ASSIGNGROUPSFORDIRECTORYREQUEST']._serialized_end=2790
  _globals['_LISTDIRECTORIESREQUEST']._serialized_start=2793
  _globals['_LISTDIRECTORIESREQUEST']._serialized_end=2939
  _globals['_LISTDIRECTORIESRESPONSE']._serialized_start=2942
  _globals['_LISTDIRECTORIESRESPONSE']._serialized_end=3103
  _globals['_LISTDIRECTORYUSERSREQUEST']._serialized_start=3106
  _globals['_LISTDIRECTORYUSERSREQUEST']._serialized_end=4344
  _globals['_LISTDIRECTORYUSERSRESPONSE']._serialized_start=4347
  _globals['_LISTDIRECTORYUSERSRESPONSE']._serialized_end=4956
  _globals['_LISTDIRECTORYGROUPSREQUEST']._serialized_start=4959
  _globals['_LISTDIRECTORYGROUPSREQUEST']._serialized_end=6037
  _globals['_LISTDIRECTORYGROUPSRESPONSE']._serialized_start=6040
  _globals['_LISTDIRECTORYGROUPSRESPONSE']._serialized_end=6629
  _globals['_LISTDIRECTORYGROUPSSUMMARYREQUEST']._serialized_start=6632
  _globals['_LISTDIRECTORYGROUPSSUMMARYREQUEST']._serialized_end=6904
  _globals['_DIRECTORY']._serialized_start=6907
  _globals['_DIRECTORY']._serialized_end=9359
  _globals['_TOGGLEDIRECTORYREQUEST']._serialized_start=9362
  _globals['_TOGGLEDIRECTORYREQUEST']._serialized_end=9793
  _globals['_TOGGLEDIRECTORYRESPONSE']._serialized_start=9796
  _globals['_TOGGLEDIRECTORYRESPONSE']._serialized_end=10352
  _globals['_DIRECTORYMAPPING']._serialized_start=10354
  _globals['_DIRECTORYMAPPING']._serialized_end=10476
  _globals['_DIRECTORYUSER']._serialized_start=10479
  _globals['_DIRECTORYUSER']._serialized_end=11165
  _globals['_EXTERNALGROUP']._serialized_start=11168
  _globals['_EXTERNALGROUP']._serialized_end=11411
  _globals['_DIRECTORYGROUP']._serialized_start=11414
  _globals['_DIRECTORYGROUP']._serialized_end=11848
  _globals['_CREATEDIRECTORYSECRETREQUEST']._serialized_start=11851
  _globals['_CREATEDIRECTORYSECRETREQUEST']._serialized_end=12036
  _globals['_CREATEDIRECTORYSECRETRESPONSE']._serialized_start=12039
  _globals['_CREATEDIRECTORYSECRETRESPONSE']._serialized_end=12331
  _globals['_REGENERATEDIRECTORYSECRETREQUEST']._serialized_start=12334
  _globals['_REGENERATEDIRECTORYSECRETREQUEST']._serialized_end=12478
  _globals['_REGENERATEDIRECTORYSECRETRESPONSE']._serialized_start=12481
  _globals['_REGENERATEDIRECTORYSECRETRESPONSE']._serialized_end=12777
  _globals['_SECRET']._serialized_start=12780
  _globals['_SECRET']._serialized_end=13394
  _globals['_STATS']._serialized_start=13397
  _globals['_STATS']._serialized_end=13836
  _globals['_ASSIGNROLESREQUEST']._serialized_start=13839
  _globals['_ASSIGNROLESREQUEST']._serialized_end=14023
  _globals['_ROLEASSIGNMENTS']._serialized_start=14025
  _globals['_ROLEASSIGNMENTS']._serialized_end=14117
  _globals['_ASSIGNROLESRESPONSE']._serialized_start=14119
  _globals['_ASSIGNROLESRESPONSE']._serialized_end=14225
  _globals['_ROLEASSIGNMENT']._serialized_start=14228
  _globals['_ROLEASSIGNMENT']._serialized_end=14509
  _globals['_UPDATEATTRIBUTESREQUEST']._serialized_start=14512
  _globals['_UPDATEATTRIBUTESREQUEST']._serialized_end=14717
  _globals['_ATTRIBUTEMAPPINGS']._serialized_start=14719
  _globals['_ATTRIBUTEMAPPINGS']._serialized_end=14813
  _globals['_ATTRIBUTEMAPPING']._serialized_start=14815
  _globals['_ATTRIBUTEMAPPING']._serialized_end=14902
  _globals['_UPDATEATTRIBUTESRESPONSE']._serialized_start=14904
  _globals['_UPDATEATTRIBUTESRESPONSE']._serialized_end=15021
  _globals['_DELETEDIRECTORYREQUEST']._serialized_start=15023
  _globals['_DELETEDIRECTORYREQUEST']._serialized_end=15144
  _globals['_TRIGGERDIRECTORYSYNCREQUEST']._serialized_start=15147
  _globals['_TRIGGERDIRECTORYSYNCREQUEST']._serialized_end=15398
  _globals['_DIRECTORYSERVICE']._serialized_start=15775
  _globals['_DIRECTORYSERVICE']._serialized_end=26327
# @@protoc_insertion_point(module_scope)
