scalekit-sdk-python 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. buf/__init__.py +0 -0
  2. buf/validate/__init__.py +0 -0
  3. buf/validate/expression_pb2.py +31 -0
  4. buf/validate/expression_pb2.pyi +34 -0
  5. buf/validate/expression_pb2_grpc.py +4 -0
  6. buf/validate/priv/__init__.py +0 -0
  7. buf/validate/priv/private_pb2.py +30 -0
  8. buf/validate/priv/private_pb2.pyi +25 -0
  9. buf/validate/priv/private_pb2_grpc.py +4 -0
  10. buf/validate/validate_pb2.py +402 -0
  11. buf/validate/validate_pb2.pyi +503 -0
  12. buf/validate/validate_pb2_grpc.py +4 -0
  13. scalekit/__init__.py +4 -0
  14. scalekit/client.py +143 -0
  15. scalekit/common/__init__.py +0 -0
  16. scalekit/common/scalekit.py +49 -0
  17. scalekit/common/user.py +75 -0
  18. scalekit/connection.py +103 -0
  19. scalekit/constants/__init__.py +0 -0
  20. scalekit/constants/user.py +21 -0
  21. scalekit/core.py +169 -0
  22. scalekit/domain.py +73 -0
  23. scalekit/organization.py +181 -0
  24. scalekit/v1/__init__.py +0 -0
  25. scalekit/v1/clients/__init__.py +0 -0
  26. scalekit/v1/clients/clients_pb2.py +103 -0
  27. scalekit/v1/clients/clients_pb2.pyi +156 -0
  28. scalekit/v1/clients/clients_pb2_grpc.py +232 -0
  29. scalekit/v1/commons/__init__.py +0 -0
  30. scalekit/v1/commons/commons_pb2.py +36 -0
  31. scalekit/v1/commons/commons_pb2.pyi +30 -0
  32. scalekit/v1/commons/commons_pb2_grpc.py +4 -0
  33. scalekit/v1/connections/__init__.py +0 -0
  34. scalekit/v1/connections/connections_pb2.py +355 -0
  35. scalekit/v1/connections/connections_pb2.pyi +526 -0
  36. scalekit/v1/connections/connections_pb2_grpc.py +265 -0
  37. scalekit/v1/domains/__init__.py +0 -0
  38. scalekit/v1/domains/domains_pb2.py +92 -0
  39. scalekit/v1/domains/domains_pb2.pyi +153 -0
  40. scalekit/v1/domains/domains_pb2_grpc.py +199 -0
  41. scalekit/v1/environments/__init__.py +0 -0
  42. scalekit/v1/environments/environments_pb2.py +171 -0
  43. scalekit/v1/environments/environments_pb2.pyi +241 -0
  44. scalekit/v1/environments/environments_pb2_grpc.py +463 -0
  45. scalekit/v1/errdetails/__init__.py +0 -0
  46. scalekit/v1/errdetails/errdetails_pb2.py +44 -0
  47. scalekit/v1/errdetails/errdetails_pb2.pyi +89 -0
  48. scalekit/v1/errdetails/errdetails_pb2_grpc.py +4 -0
  49. scalekit/v1/events/__init__.py +0 -0
  50. scalekit/v1/events/events_pb2.py +39 -0
  51. scalekit/v1/events/events_pb2.pyi +62 -0
  52. scalekit/v1/events/events_pb2_grpc.py +4 -0
  53. scalekit/v1/members/__init__.py +0 -0
  54. scalekit/v1/members/members_pb2.py +105 -0
  55. scalekit/v1/members/members_pb2.pyi +142 -0
  56. scalekit/v1/members/members_pb2_grpc.py +271 -0
  57. scalekit/v1/options/__init__.py +0 -0
  58. scalekit/v1/options/options_pb2.py +30 -0
  59. scalekit/v1/options/options_pb2.pyi +44 -0
  60. scalekit/v1/options/options_pb2_grpc.py +4 -0
  61. scalekit/v1/organizations/__init__.py +0 -0
  62. scalekit/v1/organizations/organizations_pb2.py +168 -0
  63. scalekit/v1/organizations/organizations_pb2.pyi +190 -0
  64. scalekit/v1/organizations/organizations_pb2_grpc.py +301 -0
  65. scalekit/v1/users/__init__.py +0 -0
  66. scalekit/v1/users/users_pb2.py +97 -0
  67. scalekit/v1/users/users_pb2.pyi +136 -0
  68. scalekit/v1/users/users_pb2_grpc.py +199 -0
  69. scalekit/v1/workspaces/__init__.py +0 -0
  70. scalekit/v1/workspaces/workspaces_pb2.py +90 -0
  71. scalekit/v1/workspaces/workspaces_pb2.pyi +102 -0
  72. scalekit/v1/workspaces/workspaces_pb2_grpc.py +198 -0
  73. scalekit_sdk_python-1.0.0.dist-info/LICENSE +21 -0
  74. scalekit_sdk_python-1.0.0.dist-info/METADATA +67 -0
  75. scalekit_sdk_python-1.0.0.dist-info/RECORD +77 -0
  76. scalekit_sdk_python-1.0.0.dist-info/WHEEL +5 -0
  77. scalekit_sdk_python-1.0.0.dist-info/top_level.txt +2 -0
@@ -0,0 +1,44 @@
1
+ from google.protobuf import descriptor_pb2 as _descriptor_pb2
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class AuthenticationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
10
+ __slots__ = ()
11
+ BLOCKED: _ClassVar[AuthenticationType]
12
+ NONE: _ClassVar[AuthenticationType]
13
+ WORKSPACE: _ClassVar[AuthenticationType]
14
+ CUSTOMER_PORTAL: _ClassVar[AuthenticationType]
15
+ SESSION: _ClassVar[AuthenticationType]
16
+ WORKSPACE_SESSION: _ClassVar[AuthenticationType]
17
+ WORKSPACE_SESSION_CUSTOMER_PORTAL: _ClassVar[AuthenticationType]
18
+ USER: _ClassVar[AuthenticationType]
19
+ CLIENT: _ClassVar[AuthenticationType]
20
+ SESSION_CLIENT: _ClassVar[AuthenticationType]
21
+ WORKSPACE_SESSION_CLIENT: _ClassVar[AuthenticationType]
22
+ CUSTOMER_PORTAL_SESSION_CLIENT: _ClassVar[AuthenticationType]
23
+ BLOCKED: AuthenticationType
24
+ NONE: AuthenticationType
25
+ WORKSPACE: AuthenticationType
26
+ CUSTOMER_PORTAL: AuthenticationType
27
+ SESSION: AuthenticationType
28
+ WORKSPACE_SESSION: AuthenticationType
29
+ WORKSPACE_SESSION_CUSTOMER_PORTAL: AuthenticationType
30
+ USER: AuthenticationType
31
+ CLIENT: AuthenticationType
32
+ SESSION_CLIENT: AuthenticationType
33
+ WORKSPACE_SESSION_CLIENT: AuthenticationType
34
+ CUSTOMER_PORTAL_SESSION_CLIENT: AuthenticationType
35
+ AUTH_OPTION_FIELD_NUMBER: _ClassVar[int]
36
+ auth_option: _descriptor.FieldDescriptor
37
+
38
+ class AuthOption(_message.Message):
39
+ __slots__ = ("authentication_type", "permission")
40
+ AUTHENTICATION_TYPE_FIELD_NUMBER: _ClassVar[int]
41
+ PERMISSION_FIELD_NUMBER: _ClassVar[int]
42
+ authentication_type: AuthenticationType
43
+ permission: str
44
+ def __init__(self, authentication_type: _Optional[_Union[AuthenticationType, str]] = ..., permission: _Optional[str] = ...) -> None: ...
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
File without changes
@@ -0,0 +1,168 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: scalekit/v1/organizations/organizations.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
16
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
17
+ from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
18
+ from google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2
19
+ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
20
+ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
21
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
22
+ from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
23
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
24
+ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
25
+ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
26
+ from scalekit.v1.commons import commons_pb2 as scalekit_dot_v1_dot_commons_dot_commons__pb2
27
+ from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-scalekit/v1/organizations/organizations.proto\x12\x19scalekit.v1.organizations\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 google/protobuf/field_mask.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\"\x8f\x01\n\x19\x43reateOrganizationRequest\x12r\n\x0corganization\x18\x01 \x01(\x0b\x32-.scalekit.v1.organizations.CreateOrganizationB\x1f\x92\x41\x16\x32\x14Organization details\xbaH\x03\xc8\x01\x01R\x0corganization\"i\n\x1a\x43reateOrganizationResponse\x12K\n\x0corganization\x18\x01 \x01(\x0b\x32\'.scalekit.v1.organizations.OrganizationR\x0corganization\"\xf4\x04\n\x12\x43reateOrganization\x12_\n\x0c\x64isplay_name\x18\x04 \x01(\tB<\x92\x41/2 Display Name of the OrganizationJ\x0b\"Acme Corp\"\xbaH\x07r\x05\x10\x01\x18\xc8\x01R\x0b\x64isplayName\x12\x7f\n\x0bregion_code\x18\x05 \x01(\x0e\x32\x1f.scalekit.v1.commons.RegionCodeB=\x92\x41+2#Region code . Only US is supported J\x04\"US\"\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEWR\nregionCode\x12\xba\x01\n\x0b\x65xternal_id\x18\x06 \x01(\tB\x93\x01\x92\x41\x8f\x01\x32}External Id . This can be used to store a unique identifier that can help correalate scalekit Org with your SaaS app\'s tenantJ\x0e\"my_unique_id\"H\x00R\nexternalId\x88\x01\x01\x12r\n\x08metadata\x18\x07 \x03(\x0b\x32;.scalekit.v1.organizations.CreateOrganization.MetadataEntryB\x19\xbaH\x16\x9a\x01\x13\x10\n\"\x06r\x04\x10\x03\x18\x19*\x07r\x05\x10\x01\x18\x80\x02R\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0e\n\x0c_external_id\"\xd7\x06\n\x0cOrganization\x12<\n\x02id\x18\x01 \x01(\tB,\x92\x41)2\x0fOrganization IDJ\x16\"org_2123312131125533\"R\x02id\x12n\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB1\x92\x41+2\x0c\x43reated TimeJ\x1b\"2024-001-05T14:48:00.000Z\"\xe0\x41\x02R\ncreateTime\x12N\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x11\x92\x41\x0e\x32\x0cUpdated TimeR\nupdateTime\x12_\n\x0c\x64isplay_name\x18\x04 \x01(\tB<\x92\x41/2 Display Name of the OrganizationJ\x0b\"Acme Corp\"\xbaH\x07r\x05\x10\x01\x18\xc8\x01R\x0b\x64isplayName\x12p\n\x0bregion_code\x18\x05 \x01(\x0e\x32\x1f.scalekit.v1.commons.RegionCodeB.\x92\x41+2#Region code . Only US is supported J\x04\"US\"R\nregionCode\x12\xba\x01\n\x0b\x65xternal_id\x18\x06 \x01(\tB\x93\x01\x92\x41\x8f\x01\x32}External Id . This can be used to store a unique identifier that can help correalate scalekit Org with your SaaS app\'s tenantJ\x0e\"my_unique_id\"H\x00R\nexternalId\x88\x01\x01\x12l\n\x08metadata\x18\x07 \x03(\x0b\x32\x35.scalekit.v1.organizations.Organization.MetadataEntryB\x19\xbaH\x16\x9a\x01\x13\x10\n\"\x06r\x04\x10\x03\x18\x19*\x07r\x05\x10\x01\x18\x80\x02R\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0e\n\x0c_external_id\"\xbf\x03\n\x19UpdateOrganizationRequest\x12N\n\x02id\x18\x01 \x01(\tB<\x92\x41\x30\x32\x17Id of the Org to updateJ\x15\"org_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 H\x00R\x02id\x12\x80\x01\n\x0b\x65xternal_id\x18\x02 \x01(\tB]\x92\x41Q2 External Id of the Org to updateJ\x18\"tenant_123123123123123\"\xca>\x12\xfa\x02\x0forg.external_id\xbaH\x06r\x04\x10\x01\x18 H\x00R\nexternalId\x12\x83\x01\n\x0corganization\x18\x03 \x01(\x0b\x32-.scalekit.v1.organizations.UpdateOrganizationB0\x92\x41\'2%Organization Parameters to be updated\xbaH\x03\xc8\x01\x01R\x0corganization\x12;\n\x0bupdate_mask\x18\x63 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskR\nupdateMaskB\x0c\n\nidentities\"\xc6\x02\n\x12UpdateOrganization\x12\x32\n\x0c\x64isplay_name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xc8\x01H\x00R\x0b\x64isplayName\x88\x01\x01\x12$\n\x0b\x65xternal_id\x18\x06 \x01(\tH\x01R\nexternalId\x88\x01\x01\x12r\n\x08metadata\x18\x07 \x03(\x0b\x32;.scalekit.v1.organizations.UpdateOrganization.MetadataEntryB\x19\xbaH\x16\x9a\x01\x13\x10\n\"\x06r\x04\x10\x03\x18\x19*\x07r\x05\x10\x01\x18\x80\x02R\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0f\n\r_display_nameB\x0e\n\x0c_external_idJ\x04\x08\x05\x10\x06\"i\n\x1aUpdateOrganizationResponse\x12K\n\x0corganization\x18\x01 \x01(\x0b\x32\'.scalekit.v1.organizations.OrganizationR\x0corganization\"\xf9\x01\n\x16GetOrganizationRequest\x12N\n\x02id\x18\x01 \x01(\tB<\x92\x41\x30\x32\x17Id of the Org to updateJ\x15\"org_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 H\x00R\x02id\x12\x80\x01\n\x0b\x65xternal_id\x18\x02 \x01(\tB]\x92\x41Q2 External Id of the Org to updateJ\x18\"tenant_123123123123123\"\xca>\x12\xfa\x02\x0forg.external_id\xbaH\x06r\x04\x10\x01\x18 H\x00R\nexternalIdB\x0c\n\nidentities\"f\n\x17GetOrganizationResponse\x12K\n\x0corganization\x18\x01 \x01(\x0b\x32\'.scalekit.v1.organizations.OrganizationR\x0corganization\"\xf6\x03\n\x18ListOrganizationsRequest\x12\x65\n\tpage_size\x18\x01 \x01(\rBH\x92\x41\x45\x32?Number of results to be returned. Max supported page_size is 30J\x02\x33\x30R\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken:\xd3\x02\x92\x41\xcf\x02\n\xf3\x01*\x12List Organizations2\xd0\x01List Organizations in your Environment. Currently there are no filters in the API and lists all orgs in a Paginated List. The first call would return a page token that can be used to access subsequent pages. \xd2\x01\tpage_size2W{\"environment_id\": \"env_12312312321\", \"page_size\" : 30 , \"page_token\" : \"ZASSADASASA\" }\"\xb1\x01\n\x19ListOrganizationsResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12\x1d\n\ntotal_size\x18\x02 \x01(\rR\ttotalSize\x12M\n\rorganizations\x18\x03 \x03(\x0b\x32\'.scalekit.v1.organizations.OrganizationR\rorganizations\"\xfc\x01\n\x19\x44\x65leteOrganizationRequest\x12N\n\x02id\x18\x01 \x01(\tB<\x92\x41\x30\x32\x17Id of the Org to updateJ\x15\"org_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 H\x00R\x02id\x12\x80\x01\n\x0b\x65xternal_id\x18\x02 \x01(\tB]\x92\x41Q2 External Id of the Org to updateJ\x18\"tenant_123123123123123\"\xca>\x12\xfa\x02\x0forg.external_id\xbaH\x06r\x04\x10\x01\x18 H\x00R\nexternalIdB\x0c\n\nidentities\"Y\n\x19GeneratePortalLinkRequest\x12<\n\x02id\x18\x01 \x01(\tB,\x92\x41)2\x0fOrganization IDJ\x16\"org_1231234233424344\"R\x02id\"T\n\x14GetPortalLinkRequest\x12<\n\x02id\x18\x01 \x01(\tB,\x92\x41)2\x0fOrganization IDJ\x16\"org_1231234233424344\"R\x02id\"W\n\x17\x44\x65letePortalLinkRequest\x12<\n\x02id\x18\x01 \x01(\tB,\x92\x41)2\x0fOrganization IDJ\x16\"org_1231234233424344\"R\x02id\"\xb2\x03\n\x04Link\x12J\n\x02id\x18\x01 \x01(\tB:\x92\x41\x37\x32\x1eUnique Identifier for the linkJ\x15\"lnk_123123123123123\"R\x02id\x12\xc6\x01\n\x08location\x18\x02 \x01(\tB\xa9\x01\x92\x41\xa5\x01\x32pLocation of the link. This is the URL that can be used to access the Admin portal. The link is valid for 1 week.J1\"https://scalekit.com/portal/lnk_123123123123123\"R\x08location\x12\x94\x01\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBW\x92\x41T26Expiry time of the link. The link is valid for 1 week.J\x1a\"2024-02-06T14:48:00.000Z\"R\nexpireTime\"i\n\x1aGeneratePortalLinkResponse\x12K\n\x04link\x18\x01 \x01(\x0b\x32\x1f.scalekit.v1.organizations.LinkB\x16\x92\x41\x13\x32\x11\x41\x64min Portal LinkR\x04link\"h\n\x16GetPortalLinksResponse\x12N\n\x05links\x18\x01 \x03(\x0b\x32\x1f.scalekit.v1.organizations.LinkB\x17\x92\x41\x14\x32\x12\x41\x64min Portal LinksR\x05links2\xd1\x16\n\x13OrganizationService\x12\x8c\x03\n\x12\x43reateOrganization\x12\x34.scalekit.v1.organizations.CreateOrganizationRequest\x1a\x35.scalekit.v1.organizations.CreateOrganizationResponse\"\x88\x02\x92\x41\xd3\x01\n\x0cOrganization\x12\x13\x43reate Organization\x1aTCreates an Organization. An Organization represents a tenant in the your applicationJX\n\x03\x32\x30\x31\x12Q\n\x14\x43reated Successfully\x12\x39\n7\x1a\x35.scalekit.v1.organizations.CreateOrganizationResponse\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02%\"\x15/api/v1/organizations:\x0corganization\x12\xba\x02\n\x12UpdateOrganization\x12\x34.scalekit.v1.organizations.UpdateOrganizationRequest\x1a\x35.scalekit.v1.organizations.UpdateOrganizationResponse\"\xb6\x01\x92\x41}\n\x0cOrganization\x12\x13Update OrganizationJX\n\x03\x32\x30\x30\x12Q\n\x14Updated Successfully\x12\x39\n7\x1a\x35.scalekit.v1.organizations.UpdateOrganizationResponse\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02*2\x1a/api/v1/organizations/{id}:\x0corganization\x12\x90\x02\n\x0fGetOrganization\x12\x31.scalekit.v1.organizations.GetOrganizationRequest\x1a\x32.scalekit.v1.organizations.GetOrganizationResponse\"\x95\x01\x92\x41j\n\x0cOrganization\x12\x10Get OrganizationJH\n\x03\x32\x30\x30\x12\x41\n\x07Success\x12\x36\n4\x1a\x32.scalekit.v1.organizations.GetOrganizationResponse\x82\xb5\x18\x02\x18\x34\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/organizations/{id}\x12\xb3\x03\n\x10ListOrganization\x12\x33.scalekit.v1.organizations.ListOrganizationsRequest\x1a\x34.scalekit.v1.organizations.ListOrganizationsResponse\"\xb3\x02\x92\x41\x8c\x02\n\x0cOrganization\x12\x12List Organizations\x1a\x9b\x01List all Organizations in the Environment. The results are paginated. The response contains page_token that can be used to access the next page of results.JJ\n\x03\x32\x30\x30\x12\x43\n\x07Success\x12\x38\n6\x1a\x34.scalekit.v1.organizations.ListOrganizationsResponse\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/organizations\x12\xd1\x01\n\x12\x44\x65leteOrganization\x12\x34.scalekit.v1.organizations.DeleteOrganizationRequest\x1a\x16.google.protobuf.Empty\"m\x92\x41\x42\n\x0cOrganization\x12\x13\x44\x65lete OrganizationJ\x1d\n\x03\x32\x30\x30\x12\x16\n\x14\x44\x65leted Successfully\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02\x1c*\x1a/api/v1/organizations/{id}\x12\xfa\x03\n\x12GeneratePortalLink\x12\x34.scalekit.v1.organizations.GeneratePortalLinkRequest\x1a\x35.scalekit.v1.organizations.GeneratePortalLinkResponse\"\xf6\x02\x92\x41\xbd\x02\n\x0c\x41\x64min Portal\x12\x14Generate Portal link\x1a\xb8\x01Generates a Admin Portal link. The Admin Portal will be used by the IT Admins to create and manage the SSO connection in their Org. The link generated via API will be valid for 1 week.J\\\n\x03\x32\x30\x30\x12U\n\x18\x43reate Admin Portal Link\x12\x39\n7\x1a\x35.scalekit.v1.organizations.GeneratePortalLinkResponse\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02)\x1a\'/api/v1/organizations/{id}/portal_links\x12\xfe\x01\n\x10\x44\x65letePortalLink\x12\x32.scalekit.v1.organizations.DeletePortalLinkRequest\x1a\x16.google.protobuf.Empty\"\x9d\x01\x92\x41\x65\n\x0c\x41\x64min Portal\x12\x18\x44\x65lete Admin Portal link\x1a)Revokes and deletes an Admin portal link.J\x10\n\x03\x32\x30\x30\x12\t\n\x07Success\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02)*\'/api/v1/organizations/{id}/portal_links\x12\xf9\x02\n\x0eGetPortalLinks\x12/.scalekit.v1.organizations.GetPortalLinkRequest\x1a\x31.scalekit.v1.organizations.GetPortalLinksResponse\"\x82\x02\x92\x41\xc9\x01\n\x0c\x41\x64min Portal\x12\x0fGet Portal link\x1a_Returns the Admin portal link if it exists. Use Generate Portal link to create and fetch a linkJG\n\x03\x32\x30\x30\x12@\n\x07Success\x12\x35\n3\x1a\x31.scalekit.v1.organizations.GetPortalLinksResponse\x82\xb5\x18\x02\x18\x14\x82\xd3\xe4\x93\x02)\x12\'/api/v1/organizations/{id}/portal_links\x1aW\x92\x41T\n\x0cOrganization\x12\x44{{import \"proto/scalekit/v1/organizations/organization_details.md\"}}B\xfe\"Z7github.com/scalekit-inc/scalekit/pkg/grpc/organizations\x92\x41\xc1\"\x12\xdd \n\rScalekit APIs\x12\xd4\x1f# Introduction\nScalekit API is modeled around the [REST](https://en.wikipedia.org/wiki/REST) architecture style. That means, our API has predictable resource-oriented URLs, accepts form-encoded request bodies and produces JSON formatted responses, uses standard HTTP verbs and error codes.\n\n## Getting Started\nIf you are just getting started, you can also refer to our [Quick Start Guide](/single-sign-on/quickstart-sso).\n\nApart from REST APIs, we have published SDKs in some of the popular languages as shown below. You can use these SDKs and integrate with Scalekit much faster.\n\n- [NodeJS](https://github.com/scalekit-inc/scalekit-sdk-node)\n- [Go Lang](https://github.com/scalekit-inc/scalekit-sdk-go)\n\nSome additional instructions around using our APIs\n\n- API Endpoint Host must use the `Environment URL` of the environment you are targeting.\n- API requests without appropriate authentication headers will fail with 401 status code.\n\nRead below to understand more about how to authenticate the API calls and how to handle errors appropriately.\n\n\n# API Authentication\nScalekit API uses [OAuth2 Client Credentials](https://www.oauth.com/oauth2-servers/access-tokens/client-credentials) based authentication. You can view and manage the necessary information from your `API Config` section in the Scalekit Dashboard.\n\nYou will need the following information to authenticate with Scalekit APIs\n- Client ID\n- Client Secret\n- Environment URL\n\nYou can obtain a secure token by making `POST` call to the `https://{ENV_URL}/oauth/token` endpoint and sending client_id and client_secret as part of the request body.\n\n```shell\n$ curl https://{ENV_URL}/oauth/token \\\n -X POST \\\n -H \'Content-Type: application/x-www-form-urlencoded\' \\\n -d \'client_id={client_id}\' \\\n -d \'client_secret={client_secret}\' \\\n -d \'grant_type=client_credentials\'\\\n```\n\nUpon successful processing, you will receive the access token as part of the JSON response as shown in example below:\n```json\n{\n \"access_token\": \"DCRD10-e7c5c8139165228a82e442445fe01c16\",\n \"token_type\": \"bearer\",\n \"expires_in\": 1799\n}\n```\nThe `access_token` is the OAuth access token you need to use for all subsequent API calls to Scalekit.\n\nTo make a request to one of our APIs, you need to include the access token in the Authorization header of the request as Bearer \'access_token\' like the following example shows:\n```shell\n$ curl --request GET \"https://{ENV_URL}/api/v1/organizations\" \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer {access_token}\"\n```\n\nPlease make sure that you keep your Client Secrets safely. Do not share your client secret in publicly accessible areas such as GitHub, client-side code, etc. Refer to [this guide](/security/client-secrets) to understand some of the best practices around keeping client secrets secure.\n\nOur SDKs will automatically handle the API authentication and error handling to make the job of using our APIs much easier for you.\n\n# Error Handling\nAs mentioned earlier, Scalekit APIs return appropriate HTTP Status Codes along with the detailed error messages in case of invalid usage of APIs.\n\nIn general:\n- `200 or 201`: API request is successful\n- `400`: The request was unacceptable, often due to missing a required parameter.\n- `401`: Invalid Authentication Headers found in the request.\n- `404`: Resource not found\n- `429`: Too many requests hit the API too quickly. Retry the request after a cool-off period.\n- `500 or 501 or 504`: Something went wrong at our end. However rare they are, we automatically log these requests for proactive support and fixing the underlying issue.\n\nAlong with HTTP Status Codes, we also respond with detailed error messages. An example error message for a 401 error is shown below.\n\n```json\n{\n \"code\": 16,\n \"message\": \"Token empty\",\n \"details\":\n [\n {\n \"@type\": \"type.googleapis.com/scalekit.v1.errdetails.ErrorInfo\",\n \"error_code\": \"UNAUTHENTICATED\"\n }\n ]\n}\n```\n\nWe strongly recommend you to handle errors gracefully while writing code using our SDKs.\n\"6\n\x08Scalekit\x12\x14https://scalekit.com\x1a\x14support@scalekit.com*8\n\nApache 2.0\x12*http://www.apache.org/licenses/LICENSE-2.02\x03\x31.0\x1a\x08$ENV_URL*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/jsonZ.\n,\n\x06OAuth2\x12\"\x08\x03(\x03:\x1chttps://$ENV_URL/oauth/tokenb\x0c\n\n\n\x06OAuth2\x12\x00j\x10\n\x0eSingle Sign-Onj\x0e\n\x0cOrganizationj\x0e\n\x0c\x41\x64min Portalr>\n Scalekit Developer Documentation\x12\x1ahttps://docs.scalekit.com/b\x06proto3')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'scalekit.v1.organizations.organizations_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'Z7github.com/scalekit-inc/scalekit/pkg/grpc/organizations\222A\301\"\022\335 \n\rScalekit APIs\022\324\037# Introduction\nScalekit API is modeled around the [REST](https://en.wikipedia.org/wiki/REST) architecture style. That means, our API has predictable resource-oriented URLs, accepts form-encoded request bodies and produces JSON formatted responses, uses standard HTTP verbs and error codes.\n\n## Getting Started\nIf you are just getting started, you can also refer to our [Quick Start Guide](/single-sign-on/quickstart-sso).\n\nApart from REST APIs, we have published SDKs in some of the popular languages as shown below. You can use these SDKs and integrate with Scalekit much faster.\n\n- [NodeJS](https://github.com/scalekit-inc/scalekit-sdk-node)\n- [Go Lang](https://github.com/scalekit-inc/scalekit-sdk-go)\n\nSome additional instructions around using our APIs\n\n- API Endpoint Host must use the `Environment URL` of the environment you are targeting.\n- API requests without appropriate authentication headers will fail with 401 status code.\n\nRead below to understand more about how to authenticate the API calls and how to handle errors appropriately.\n\n\n# API Authentication\nScalekit API uses [OAuth2 Client Credentials](https://www.oauth.com/oauth2-servers/access-tokens/client-credentials) based authentication. You can view and manage the necessary information from your `API Config` section in the Scalekit Dashboard.\n\nYou will need the following information to authenticate with Scalekit APIs\n- Client ID\n- Client Secret\n- Environment URL\n\nYou can obtain a secure token by making `POST` call to the `https://{ENV_URL}/oauth/token` endpoint and sending client_id and client_secret as part of the request body.\n\n```shell\n$ curl https://{ENV_URL}/oauth/token \\\n -X POST \\\n -H \'Content-Type: application/x-www-form-urlencoded\' \\\n -d \'client_id={client_id}\' \\\n -d \'client_secret={client_secret}\' \\\n -d \'grant_type=client_credentials\'\\\n```\n\nUpon successful processing, you will receive the access token as part of the JSON response as shown in example below:\n```json\n{\n \"access_token\": \"DCRD10-e7c5c8139165228a82e442445fe01c16\",\n \"token_type\": \"bearer\",\n \"expires_in\": 1799\n}\n```\nThe `access_token` is the OAuth access token you need to use for all subsequent API calls to Scalekit.\n\nTo make a request to one of our APIs, you need to include the access token in the Authorization header of the request as Bearer \'access_token\' like the following example shows:\n```shell\n$ curl --request GET \"https://{ENV_URL}/api/v1/organizations\" \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer {access_token}\"\n```\n\nPlease make sure that you keep your Client Secrets safely. Do not share your client secret in publicly accessible areas such as GitHub, client-side code, etc. Refer to [this guide](/security/client-secrets) to understand some of the best practices around keeping client secrets secure.\n\nOur SDKs will automatically handle the API authentication and error handling to make the job of using our APIs much easier for you.\n\n# Error Handling\nAs mentioned earlier, Scalekit APIs return appropriate HTTP Status Codes along with the detailed error messages in case of invalid usage of APIs.\n\nIn general:\n- `200 or 201`: API request is successful\n- `400`: The request was unacceptable, often due to missing a required parameter.\n- `401`: Invalid Authentication Headers found in the request.\n- `404`: Resource not found\n- `429`: Too many requests hit the API too quickly. Retry the request after a cool-off period.\n- `500 or 501 or 504`: Something went wrong at our end. However rare they are, we automatically log these requests for proactive support and fixing the underlying issue.\n\nAlong with HTTP Status Codes, we also respond with detailed error messages. An example error message for a 401 error is shown below.\n\n```json\n{\n \"code\": 16,\n \"message\": \"Token empty\",\n \"details\":\n [\n {\n \"@type\": \"type.googleapis.com/scalekit.v1.errdetails.ErrorInfo\",\n \"error_code\": \"UNAUTHENTICATED\"\n }\n ]\n}\n```\n\nWe strongly recommend you to handle errors gracefully while writing code using our SDKs.\n\"6\n\010Scalekit\022\024https://scalekit.com\032\024support@scalekit.com*8\n\nApache 2.0\022*http://www.apache.org/licenses/LICENSE-2.02\0031.0\032\010$ENV_URL*\001\0022\020application/json:\020application/jsonZ.\n,\n\006OAuth2\022\"\010\003(\003:\034https://$ENV_URL/oauth/tokenb\014\n\n\n\006OAuth2\022\000j\020\n\016Single Sign-Onj\016\n\014Organizationj\016\n\014Admin Portalr>\n Scalekit Developer Documentation\022\032https://docs.scalekit.com/'
38
+ _globals['_CREATEORGANIZATIONREQUEST'].fields_by_name['organization']._loaded_options = None
39
+ _globals['_CREATEORGANIZATIONREQUEST'].fields_by_name['organization']._serialized_options = b'\222A\0262\024Organization details\272H\003\310\001\001'
40
+ _globals['_CREATEORGANIZATION_METADATAENTRY']._loaded_options = None
41
+ _globals['_CREATEORGANIZATION_METADATAENTRY']._serialized_options = b'8\001'
42
+ _globals['_CREATEORGANIZATION'].fields_by_name['display_name']._loaded_options = None
43
+ _globals['_CREATEORGANIZATION'].fields_by_name['display_name']._serialized_options = b'\222A/2 Display Name of the OrganizationJ\013\"Acme Corp\"\272H\007r\005\020\001\030\310\001'
44
+ _globals['_CREATEORGANIZATION'].fields_by_name['region_code']._loaded_options = None
45
+ _globals['_CREATEORGANIZATION'].fields_by_name['region_code']._serialized_options = b'\222A+2#Region code . Only US is supported J\004\"US\"\372\322\344\223\002\t\022\007PREVIEW'
46
+ _globals['_CREATEORGANIZATION'].fields_by_name['external_id']._loaded_options = None
47
+ _globals['_CREATEORGANIZATION'].fields_by_name['external_id']._serialized_options = b'\222A\217\0012}External Id . This can be used to store a unique identifier that can help correalate scalekit Org with your SaaS app\'s tenantJ\016\"my_unique_id\"'
48
+ _globals['_CREATEORGANIZATION'].fields_by_name['metadata']._loaded_options = None
49
+ _globals['_CREATEORGANIZATION'].fields_by_name['metadata']._serialized_options = b'\272H\026\232\001\023\020\n\"\006r\004\020\003\030\031*\007r\005\020\001\030\200\002'
50
+ _globals['_ORGANIZATION_METADATAENTRY']._loaded_options = None
51
+ _globals['_ORGANIZATION_METADATAENTRY']._serialized_options = b'8\001'
52
+ _globals['_ORGANIZATION'].fields_by_name['id']._loaded_options = None
53
+ _globals['_ORGANIZATION'].fields_by_name['id']._serialized_options = b'\222A)2\017Organization IDJ\026\"org_2123312131125533\"'
54
+ _globals['_ORGANIZATION'].fields_by_name['create_time']._loaded_options = None
55
+ _globals['_ORGANIZATION'].fields_by_name['create_time']._serialized_options = b'\222A+2\014Created TimeJ\033\"2024-001-05T14:48:00.000Z\"\340A\002'
56
+ _globals['_ORGANIZATION'].fields_by_name['update_time']._loaded_options = None
57
+ _globals['_ORGANIZATION'].fields_by_name['update_time']._serialized_options = b'\222A\0162\014Updated Time'
58
+ _globals['_ORGANIZATION'].fields_by_name['display_name']._loaded_options = None
59
+ _globals['_ORGANIZATION'].fields_by_name['display_name']._serialized_options = b'\222A/2 Display Name of the OrganizationJ\013\"Acme Corp\"\272H\007r\005\020\001\030\310\001'
60
+ _globals['_ORGANIZATION'].fields_by_name['region_code']._loaded_options = None
61
+ _globals['_ORGANIZATION'].fields_by_name['region_code']._serialized_options = b'\222A+2#Region code . Only US is supported J\004\"US\"'
62
+ _globals['_ORGANIZATION'].fields_by_name['external_id']._loaded_options = None
63
+ _globals['_ORGANIZATION'].fields_by_name['external_id']._serialized_options = b'\222A\217\0012}External Id . This can be used to store a unique identifier that can help correalate scalekit Org with your SaaS app\'s tenantJ\016\"my_unique_id\"'
64
+ _globals['_ORGANIZATION'].fields_by_name['metadata']._loaded_options = None
65
+ _globals['_ORGANIZATION'].fields_by_name['metadata']._serialized_options = b'\272H\026\232\001\023\020\n\"\006r\004\020\003\030\031*\007r\005\020\001\030\200\002'
66
+ _globals['_UPDATEORGANIZATIONREQUEST'].fields_by_name['id']._loaded_options = None
67
+ _globals['_UPDATEORGANIZATIONREQUEST'].fields_by_name['id']._serialized_options = b'\222A02\027Id of the Org to updateJ\025\"org_121312434123312\"\272H\006r\004\020\001\030 '
68
+ _globals['_UPDATEORGANIZATIONREQUEST'].fields_by_name['external_id']._loaded_options = None
69
+ _globals['_UPDATEORGANIZATIONREQUEST'].fields_by_name['external_id']._serialized_options = b'\222AQ2 External Id of the Org to updateJ\030\"tenant_123123123123123\"\312>\022\372\002\017org.external_id\272H\006r\004\020\001\030 '
70
+ _globals['_UPDATEORGANIZATIONREQUEST'].fields_by_name['organization']._loaded_options = None
71
+ _globals['_UPDATEORGANIZATIONREQUEST'].fields_by_name['organization']._serialized_options = b'\222A\'2%Organization Parameters to be updated\272H\003\310\001\001'
72
+ _globals['_UPDATEORGANIZATION_METADATAENTRY']._loaded_options = None
73
+ _globals['_UPDATEORGANIZATION_METADATAENTRY']._serialized_options = b'8\001'
74
+ _globals['_UPDATEORGANIZATION'].fields_by_name['display_name']._loaded_options = None
75
+ _globals['_UPDATEORGANIZATION'].fields_by_name['display_name']._serialized_options = b'\272H\007r\005\020\001\030\310\001'
76
+ _globals['_UPDATEORGANIZATION'].fields_by_name['metadata']._loaded_options = None
77
+ _globals['_UPDATEORGANIZATION'].fields_by_name['metadata']._serialized_options = b'\272H\026\232\001\023\020\n\"\006r\004\020\003\030\031*\007r\005\020\001\030\200\002'
78
+ _globals['_GETORGANIZATIONREQUEST'].fields_by_name['id']._loaded_options = None
79
+ _globals['_GETORGANIZATIONREQUEST'].fields_by_name['id']._serialized_options = b'\222A02\027Id of the Org to updateJ\025\"org_121312434123312\"\272H\006r\004\020\001\030 '
80
+ _globals['_GETORGANIZATIONREQUEST'].fields_by_name['external_id']._loaded_options = None
81
+ _globals['_GETORGANIZATIONREQUEST'].fields_by_name['external_id']._serialized_options = b'\222AQ2 External Id of the Org to updateJ\030\"tenant_123123123123123\"\312>\022\372\002\017org.external_id\272H\006r\004\020\001\030 '
82
+ _globals['_LISTORGANIZATIONSREQUEST'].fields_by_name['page_size']._loaded_options = None
83
+ _globals['_LISTORGANIZATIONSREQUEST'].fields_by_name['page_size']._serialized_options = b'\222AE2?Number of results to be returned. Max supported page_size is 30J\00230'
84
+ _globals['_LISTORGANIZATIONSREQUEST']._loaded_options = None
85
+ _globals['_LISTORGANIZATIONSREQUEST']._serialized_options = b'\222A\317\002\n\363\001*\022List Organizations2\320\001List Organizations in your Environment. Currently there are no filters in the API and lists all orgs in a Paginated List. The first call would return a page token that can be used to access subsequent pages. \322\001\tpage_size2W{\"environment_id\": \"env_12312312321\", \"page_size\" : 30 , \"page_token\" : \"ZASSADASASA\" }'
86
+ _globals['_DELETEORGANIZATIONREQUEST'].fields_by_name['id']._loaded_options = None
87
+ _globals['_DELETEORGANIZATIONREQUEST'].fields_by_name['id']._serialized_options = b'\222A02\027Id of the Org to updateJ\025\"org_121312434123312\"\272H\006r\004\020\001\030 '
88
+ _globals['_DELETEORGANIZATIONREQUEST'].fields_by_name['external_id']._loaded_options = None
89
+ _globals['_DELETEORGANIZATIONREQUEST'].fields_by_name['external_id']._serialized_options = b'\222AQ2 External Id of the Org to updateJ\030\"tenant_123123123123123\"\312>\022\372\002\017org.external_id\272H\006r\004\020\001\030 '
90
+ _globals['_GENERATEPORTALLINKREQUEST'].fields_by_name['id']._loaded_options = None
91
+ _globals['_GENERATEPORTALLINKREQUEST'].fields_by_name['id']._serialized_options = b'\222A)2\017Organization IDJ\026\"org_1231234233424344\"'
92
+ _globals['_GETPORTALLINKREQUEST'].fields_by_name['id']._loaded_options = None
93
+ _globals['_GETPORTALLINKREQUEST'].fields_by_name['id']._serialized_options = b'\222A)2\017Organization IDJ\026\"org_1231234233424344\"'
94
+ _globals['_DELETEPORTALLINKREQUEST'].fields_by_name['id']._loaded_options = None
95
+ _globals['_DELETEPORTALLINKREQUEST'].fields_by_name['id']._serialized_options = b'\222A)2\017Organization IDJ\026\"org_1231234233424344\"'
96
+ _globals['_LINK'].fields_by_name['id']._loaded_options = None
97
+ _globals['_LINK'].fields_by_name['id']._serialized_options = b'\222A72\036Unique Identifier for the linkJ\025\"lnk_123123123123123\"'
98
+ _globals['_LINK'].fields_by_name['location']._loaded_options = None
99
+ _globals['_LINK'].fields_by_name['location']._serialized_options = b'\222A\245\0012pLocation of the link. This is the URL that can be used to access the Admin portal. The link is valid for 1 week.J1\"https://scalekit.com/portal/lnk_123123123123123\"'
100
+ _globals['_LINK'].fields_by_name['expire_time']._loaded_options = None
101
+ _globals['_LINK'].fields_by_name['expire_time']._serialized_options = b'\222AT26Expiry time of the link. The link is valid for 1 week.J\032\"2024-02-06T14:48:00.000Z\"'
102
+ _globals['_GENERATEPORTALLINKRESPONSE'].fields_by_name['link']._loaded_options = None
103
+ _globals['_GENERATEPORTALLINKRESPONSE'].fields_by_name['link']._serialized_options = b'\222A\0232\021Admin Portal Link'
104
+ _globals['_GETPORTALLINKSRESPONSE'].fields_by_name['links']._loaded_options = None
105
+ _globals['_GETPORTALLINKSRESPONSE'].fields_by_name['links']._serialized_options = b'\222A\0242\022Admin Portal Links'
106
+ _globals['_ORGANIZATIONSERVICE']._loaded_options = None
107
+ _globals['_ORGANIZATIONSERVICE']._serialized_options = b'\222AT\n\014Organization\022D{{import \"proto/scalekit/v1/organizations/organization_details.md\"}}'
108
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['CreateOrganization']._loaded_options = None
109
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['CreateOrganization']._serialized_options = b'\222A\323\001\n\014Organization\022\023Create Organization\032TCreates an Organization. An Organization represents a tenant in the your applicationJX\n\003201\022Q\n\024Created Successfully\0229\n7\0325.scalekit.v1.organizations.CreateOrganizationResponse\202\265\030\002\030\024\202\323\344\223\002%\"\025/api/v1/organizations:\014organization'
110
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['UpdateOrganization']._loaded_options = None
111
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['UpdateOrganization']._serialized_options = b'\222A}\n\014Organization\022\023Update OrganizationJX\n\003200\022Q\n\024Updated Successfully\0229\n7\0325.scalekit.v1.organizations.UpdateOrganizationResponse\202\265\030\002\030\024\202\323\344\223\002*2\032/api/v1/organizations/{id}:\014organization'
112
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['GetOrganization']._loaded_options = None
113
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['GetOrganization']._serialized_options = b'\222Aj\n\014Organization\022\020Get OrganizationJH\n\003200\022A\n\007Success\0226\n4\0322.scalekit.v1.organizations.GetOrganizationResponse\202\265\030\002\0304\202\323\344\223\002\034\022\032/api/v1/organizations/{id}'
114
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['ListOrganization']._loaded_options = None
115
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['ListOrganization']._serialized_options = b'\222A\214\002\n\014Organization\022\022List Organizations\032\233\001List all Organizations in the Environment. The results are paginated. The response contains page_token that can be used to access the next page of results.JJ\n\003200\022C\n\007Success\0228\n6\0324.scalekit.v1.organizations.ListOrganizationsResponse\202\265\030\002\030\024\202\323\344\223\002\027\022\025/api/v1/organizations'
116
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['DeleteOrganization']._loaded_options = None
117
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['DeleteOrganization']._serialized_options = b'\222AB\n\014Organization\022\023Delete OrganizationJ\035\n\003200\022\026\n\024Deleted Successfully\202\265\030\002\030\024\202\323\344\223\002\034*\032/api/v1/organizations/{id}'
118
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['GeneratePortalLink']._loaded_options = None
119
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['GeneratePortalLink']._serialized_options = b'\222A\275\002\n\014Admin Portal\022\024Generate Portal link\032\270\001Generates a Admin Portal link. The Admin Portal will be used by the IT Admins to create and manage the SSO connection in their Org. The link generated via API will be valid for 1 week.J\\\n\003200\022U\n\030Create Admin Portal Link\0229\n7\0325.scalekit.v1.organizations.GeneratePortalLinkResponse\202\265\030\002\030\024\202\323\344\223\002)\032\'/api/v1/organizations/{id}/portal_links'
120
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['DeletePortalLink']._loaded_options = None
121
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['DeletePortalLink']._serialized_options = b'\222Ae\n\014Admin Portal\022\030Delete Admin Portal link\032)Revokes and deletes an Admin portal link.J\020\n\003200\022\t\n\007Success\202\265\030\002\030\024\202\323\344\223\002)*\'/api/v1/organizations/{id}/portal_links'
122
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['GetPortalLinks']._loaded_options = None
123
+ _globals['_ORGANIZATIONSERVICE'].methods_by_name['GetPortalLinks']._serialized_options = b'\222A\311\001\n\014Admin Portal\022\017Get Portal link\032_Returns the Admin portal link if it exists. Use Generate Portal link to create and fetch a linkJG\n\003200\022@\n\007Success\0225\n3\0321.scalekit.v1.organizations.GetPortalLinksResponse\202\265\030\002\030\024\202\323\344\223\002)\022\'/api/v1/organizations/{id}/portal_links'
124
+ _globals['_CREATEORGANIZATIONREQUEST']._serialized_start=503
125
+ _globals['_CREATEORGANIZATIONREQUEST']._serialized_end=646
126
+ _globals['_CREATEORGANIZATIONRESPONSE']._serialized_start=648
127
+ _globals['_CREATEORGANIZATIONRESPONSE']._serialized_end=753
128
+ _globals['_CREATEORGANIZATION']._serialized_start=756
129
+ _globals['_CREATEORGANIZATION']._serialized_end=1384
130
+ _globals['_CREATEORGANIZATION_METADATAENTRY']._serialized_start=1309
131
+ _globals['_CREATEORGANIZATION_METADATAENTRY']._serialized_end=1368
132
+ _globals['_ORGANIZATION']._serialized_start=1387
133
+ _globals['_ORGANIZATION']._serialized_end=2242
134
+ _globals['_ORGANIZATION_METADATAENTRY']._serialized_start=1309
135
+ _globals['_ORGANIZATION_METADATAENTRY']._serialized_end=1368
136
+ _globals['_UPDATEORGANIZATIONREQUEST']._serialized_start=2245
137
+ _globals['_UPDATEORGANIZATIONREQUEST']._serialized_end=2692
138
+ _globals['_UPDATEORGANIZATION']._serialized_start=2695
139
+ _globals['_UPDATEORGANIZATION']._serialized_end=3021
140
+ _globals['_UPDATEORGANIZATION_METADATAENTRY']._serialized_start=1309
141
+ _globals['_UPDATEORGANIZATION_METADATAENTRY']._serialized_end=1368
142
+ _globals['_UPDATEORGANIZATIONRESPONSE']._serialized_start=3023
143
+ _globals['_UPDATEORGANIZATIONRESPONSE']._serialized_end=3128
144
+ _globals['_GETORGANIZATIONREQUEST']._serialized_start=3131
145
+ _globals['_GETORGANIZATIONREQUEST']._serialized_end=3380
146
+ _globals['_GETORGANIZATIONRESPONSE']._serialized_start=3382
147
+ _globals['_GETORGANIZATIONRESPONSE']._serialized_end=3484
148
+ _globals['_LISTORGANIZATIONSREQUEST']._serialized_start=3487
149
+ _globals['_LISTORGANIZATIONSREQUEST']._serialized_end=3989
150
+ _globals['_LISTORGANIZATIONSRESPONSE']._serialized_start=3992
151
+ _globals['_LISTORGANIZATIONSRESPONSE']._serialized_end=4169
152
+ _globals['_DELETEORGANIZATIONREQUEST']._serialized_start=4172
153
+ _globals['_DELETEORGANIZATIONREQUEST']._serialized_end=4424
154
+ _globals['_GENERATEPORTALLINKREQUEST']._serialized_start=4426
155
+ _globals['_GENERATEPORTALLINKREQUEST']._serialized_end=4515
156
+ _globals['_GETPORTALLINKREQUEST']._serialized_start=4517
157
+ _globals['_GETPORTALLINKREQUEST']._serialized_end=4601
158
+ _globals['_DELETEPORTALLINKREQUEST']._serialized_start=4603
159
+ _globals['_DELETEPORTALLINKREQUEST']._serialized_end=4690
160
+ _globals['_LINK']._serialized_start=4693
161
+ _globals['_LINK']._serialized_end=5127
162
+ _globals['_GENERATEPORTALLINKRESPONSE']._serialized_start=5129
163
+ _globals['_GENERATEPORTALLINKRESPONSE']._serialized_end=5234
164
+ _globals['_GETPORTALLINKSRESPONSE']._serialized_start=5236
165
+ _globals['_GETPORTALLINKSRESPONSE']._serialized_end=5340
166
+ _globals['_ORGANIZATIONSERVICE']._serialized_start=5343
167
+ _globals['_ORGANIZATIONSERVICE']._serialized_end=8240
168
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,190 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from google.api import annotations_pb2 as _annotations_pb2
3
+ from google.api import field_behavior_pb2 as _field_behavior_pb2
4
+ from google.api import visibility_pb2 as _visibility_pb2
5
+ from google.protobuf import any_pb2 as _any_pb2
6
+ from google.protobuf import duration_pb2 as _duration_pb2
7
+ from google.protobuf import empty_pb2 as _empty_pb2
8
+ from google.protobuf import field_mask_pb2 as _field_mask_pb2
9
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
10
+ from google.protobuf import wrappers_pb2 as _wrappers_pb2
11
+ from protoc_gen_openapiv2.options import annotations_pb2 as _annotations_pb2_1
12
+ from scalekit.v1.commons import commons_pb2 as _commons_pb2
13
+ from scalekit.v1.options import options_pb2 as _options_pb2
14
+ from google.protobuf.internal import containers as _containers
15
+ from google.protobuf import descriptor as _descriptor
16
+ from google.protobuf import message as _message
17
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
18
+
19
+ DESCRIPTOR: _descriptor.FileDescriptor
20
+
21
+ class CreateOrganizationRequest(_message.Message):
22
+ __slots__ = ("organization",)
23
+ ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
24
+ organization: CreateOrganization
25
+ def __init__(self, organization: _Optional[_Union[CreateOrganization, _Mapping]] = ...) -> None: ...
26
+
27
+ class CreateOrganizationResponse(_message.Message):
28
+ __slots__ = ("organization",)
29
+ ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
30
+ organization: Organization
31
+ def __init__(self, organization: _Optional[_Union[Organization, _Mapping]] = ...) -> None: ...
32
+
33
+ class CreateOrganization(_message.Message):
34
+ __slots__ = ("display_name", "region_code", "external_id", "metadata")
35
+ class MetadataEntry(_message.Message):
36
+ __slots__ = ("key", "value")
37
+ KEY_FIELD_NUMBER: _ClassVar[int]
38
+ VALUE_FIELD_NUMBER: _ClassVar[int]
39
+ key: str
40
+ value: str
41
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
42
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
43
+ REGION_CODE_FIELD_NUMBER: _ClassVar[int]
44
+ EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
45
+ METADATA_FIELD_NUMBER: _ClassVar[int]
46
+ display_name: str
47
+ region_code: _commons_pb2.RegionCode
48
+ external_id: str
49
+ metadata: _containers.ScalarMap[str, str]
50
+ def __init__(self, display_name: _Optional[str] = ..., region_code: _Optional[_Union[_commons_pb2.RegionCode, str]] = ..., external_id: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...
51
+
52
+ class Organization(_message.Message):
53
+ __slots__ = ("id", "create_time", "update_time", "display_name", "region_code", "external_id", "metadata")
54
+ class MetadataEntry(_message.Message):
55
+ __slots__ = ("key", "value")
56
+ KEY_FIELD_NUMBER: _ClassVar[int]
57
+ VALUE_FIELD_NUMBER: _ClassVar[int]
58
+ key: str
59
+ value: str
60
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
61
+ ID_FIELD_NUMBER: _ClassVar[int]
62
+ CREATE_TIME_FIELD_NUMBER: _ClassVar[int]
63
+ UPDATE_TIME_FIELD_NUMBER: _ClassVar[int]
64
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
65
+ REGION_CODE_FIELD_NUMBER: _ClassVar[int]
66
+ EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
67
+ METADATA_FIELD_NUMBER: _ClassVar[int]
68
+ id: str
69
+ create_time: _timestamp_pb2.Timestamp
70
+ update_time: _timestamp_pb2.Timestamp
71
+ display_name: str
72
+ region_code: _commons_pb2.RegionCode
73
+ external_id: str
74
+ metadata: _containers.ScalarMap[str, str]
75
+ def __init__(self, id: _Optional[str] = ..., create_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., update_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., display_name: _Optional[str] = ..., region_code: _Optional[_Union[_commons_pb2.RegionCode, str]] = ..., external_id: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...
76
+
77
+ class UpdateOrganizationRequest(_message.Message):
78
+ __slots__ = ("id", "external_id", "organization", "update_mask")
79
+ ID_FIELD_NUMBER: _ClassVar[int]
80
+ EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
81
+ ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
82
+ UPDATE_MASK_FIELD_NUMBER: _ClassVar[int]
83
+ id: str
84
+ external_id: str
85
+ organization: UpdateOrganization
86
+ update_mask: _field_mask_pb2.FieldMask
87
+ def __init__(self, id: _Optional[str] = ..., external_id: _Optional[str] = ..., organization: _Optional[_Union[UpdateOrganization, _Mapping]] = ..., update_mask: _Optional[_Union[_field_mask_pb2.FieldMask, _Mapping]] = ...) -> None: ...
88
+
89
+ class UpdateOrganization(_message.Message):
90
+ __slots__ = ("display_name", "external_id", "metadata")
91
+ class MetadataEntry(_message.Message):
92
+ __slots__ = ("key", "value")
93
+ KEY_FIELD_NUMBER: _ClassVar[int]
94
+ VALUE_FIELD_NUMBER: _ClassVar[int]
95
+ key: str
96
+ value: str
97
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
98
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
99
+ EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
100
+ METADATA_FIELD_NUMBER: _ClassVar[int]
101
+ display_name: str
102
+ external_id: str
103
+ metadata: _containers.ScalarMap[str, str]
104
+ def __init__(self, display_name: _Optional[str] = ..., external_id: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...
105
+
106
+ class UpdateOrganizationResponse(_message.Message):
107
+ __slots__ = ("organization",)
108
+ ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
109
+ organization: Organization
110
+ def __init__(self, organization: _Optional[_Union[Organization, _Mapping]] = ...) -> None: ...
111
+
112
+ class GetOrganizationRequest(_message.Message):
113
+ __slots__ = ("id", "external_id")
114
+ ID_FIELD_NUMBER: _ClassVar[int]
115
+ EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
116
+ id: str
117
+ external_id: str
118
+ def __init__(self, id: _Optional[str] = ..., external_id: _Optional[str] = ...) -> None: ...
119
+
120
+ class GetOrganizationResponse(_message.Message):
121
+ __slots__ = ("organization",)
122
+ ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
123
+ organization: Organization
124
+ def __init__(self, organization: _Optional[_Union[Organization, _Mapping]] = ...) -> None: ...
125
+
126
+ class ListOrganizationsRequest(_message.Message):
127
+ __slots__ = ("page_size", "page_token")
128
+ PAGE_SIZE_FIELD_NUMBER: _ClassVar[int]
129
+ PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
130
+ page_size: int
131
+ page_token: str
132
+ def __init__(self, page_size: _Optional[int] = ..., page_token: _Optional[str] = ...) -> None: ...
133
+
134
+ class ListOrganizationsResponse(_message.Message):
135
+ __slots__ = ("next_page_token", "total_size", "organizations")
136
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
137
+ TOTAL_SIZE_FIELD_NUMBER: _ClassVar[int]
138
+ ORGANIZATIONS_FIELD_NUMBER: _ClassVar[int]
139
+ next_page_token: str
140
+ total_size: int
141
+ organizations: _containers.RepeatedCompositeFieldContainer[Organization]
142
+ def __init__(self, next_page_token: _Optional[str] = ..., total_size: _Optional[int] = ..., organizations: _Optional[_Iterable[_Union[Organization, _Mapping]]] = ...) -> None: ...
143
+
144
+ class DeleteOrganizationRequest(_message.Message):
145
+ __slots__ = ("id", "external_id")
146
+ ID_FIELD_NUMBER: _ClassVar[int]
147
+ EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
148
+ id: str
149
+ external_id: str
150
+ def __init__(self, id: _Optional[str] = ..., external_id: _Optional[str] = ...) -> None: ...
151
+
152
+ class GeneratePortalLinkRequest(_message.Message):
153
+ __slots__ = ("id",)
154
+ ID_FIELD_NUMBER: _ClassVar[int]
155
+ id: str
156
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
157
+
158
+ class GetPortalLinkRequest(_message.Message):
159
+ __slots__ = ("id",)
160
+ ID_FIELD_NUMBER: _ClassVar[int]
161
+ id: str
162
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
163
+
164
+ class DeletePortalLinkRequest(_message.Message):
165
+ __slots__ = ("id",)
166
+ ID_FIELD_NUMBER: _ClassVar[int]
167
+ id: str
168
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
169
+
170
+ class Link(_message.Message):
171
+ __slots__ = ("id", "location", "expire_time")
172
+ ID_FIELD_NUMBER: _ClassVar[int]
173
+ LOCATION_FIELD_NUMBER: _ClassVar[int]
174
+ EXPIRE_TIME_FIELD_NUMBER: _ClassVar[int]
175
+ id: str
176
+ location: str
177
+ expire_time: _timestamp_pb2.Timestamp
178
+ def __init__(self, id: _Optional[str] = ..., location: _Optional[str] = ..., expire_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
179
+
180
+ class GeneratePortalLinkResponse(_message.Message):
181
+ __slots__ = ("link",)
182
+ LINK_FIELD_NUMBER: _ClassVar[int]
183
+ link: Link
184
+ def __init__(self, link: _Optional[_Union[Link, _Mapping]] = ...) -> None: ...
185
+
186
+ class GetPortalLinksResponse(_message.Message):
187
+ __slots__ = ("links",)
188
+ LINKS_FIELD_NUMBER: _ClassVar[int]
189
+ links: _containers.RepeatedCompositeFieldContainer[Link]
190
+ def __init__(self, links: _Optional[_Iterable[_Union[Link, _Mapping]]] = ...) -> None: ...