From 43293c40ef27556efc7ecb2974e910d72d044f29 Mon Sep 17 00:00:00 2001 From: Lakhan Samani Date: Fri, 24 Jul 2026 11:39:11 +0530 Subject: [PATCH] chore: depend on authorizer-proto instead of vendored _grpc stubs Replace the hand-copied src/authorizer/_grpc stubs with the versioned PyPI package authorizer-proto (import package authorizer_proto). - Removes the fragile cross-repo copy step that let the vendored stubs go stale (the drift behind authorizer#726 / authorizer-py#8). - authorizer-proto regenerates itself straight from buf.build/authorizerdev/authorizer, so there is no manual copy to forget. - Repoint the two stub imports (_proto.py, _grpc_transport.py) from ._grpc.authorizer.v1 to authorizer_proto.authorizer.v1. - Drop the _grpc ruff/mypy excludes; ignore authorizer_proto.* in mypy (generated, untyped). - REST transport unaffected: grpc-gateway JSON uses the same proto message types, now sourced from the package. --- pyproject.toml | 19 +- src/authorizer/_grpc/__init__.py | 0 src/authorizer/_grpc/authorizer/__init__.py | 0 .../_grpc/authorizer/v1/__init__.py | 0 .../_grpc/authorizer/v1/admin_pb2.py | 479 ---- .../_grpc/authorizer/v1/admin_pb2_grpc.py | 2414 ----------------- .../_grpc/authorizer/v1/annotations_pb2.py | 40 - .../authorizer/v1/annotations_pb2_grpc.py | 4 - .../_grpc/authorizer/v1/authorizer_pb2.py | 246 -- .../authorizer/v1/authorizer_pb2_grpc.py | 1132 -------- .../_grpc/authorizer/v1/common_pb2.py | 38 - .../_grpc/authorizer/v1/common_pb2_grpc.py | 4 - .../_grpc/authorizer/v1/errors_pb2.py | 37 - .../_grpc/authorizer/v1/errors_pb2_grpc.py | 4 - .../_grpc/authorizer/v1/pagination_pb2.py | 44 - .../authorizer/v1/pagination_pb2_grpc.py | 4 - .../_grpc/authorizer/v1/types_pb2.py | 52 - .../_grpc/authorizer/v1/types_pb2_grpc.py | 4 - src/authorizer/_grpc/buf/__init__.py | 0 src/authorizer/_grpc/buf/validate/__init__.py | 0 .../_grpc/buf/validate/validate_pb2.py | 469 ---- .../_grpc/buf/validate/validate_pb2_grpc.py | 4 - src/authorizer/_grpc/google/__init__.py | 0 src/authorizer/_grpc/google/api/__init__.py | 0 .../_grpc/google/api/annotations_pb2.py | 37 - .../_grpc/google/api/annotations_pb2_grpc.py | 4 - src/authorizer/_grpc/google/api/http_pb2.py | 41 - .../_grpc/google/api/http_pb2_grpc.py | 4 - src/authorizer/_grpc_transport.py | 2 +- src/authorizer/_proto.py | 2 +- 30 files changed, 11 insertions(+), 5073 deletions(-) delete mode 100644 src/authorizer/_grpc/__init__.py delete mode 100644 src/authorizer/_grpc/authorizer/__init__.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/__init__.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/admin_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/admin_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/annotations_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/annotations_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/authorizer_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/authorizer_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/common_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/common_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/errors_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/errors_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/pagination_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/pagination_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/types_pb2.py delete mode 100644 src/authorizer/_grpc/authorizer/v1/types_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/buf/__init__.py delete mode 100644 src/authorizer/_grpc/buf/validate/__init__.py delete mode 100644 src/authorizer/_grpc/buf/validate/validate_pb2.py delete mode 100644 src/authorizer/_grpc/buf/validate/validate_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/google/__init__.py delete mode 100644 src/authorizer/_grpc/google/api/__init__.py delete mode 100644 src/authorizer/_grpc/google/api/annotations_pb2.py delete mode 100644 src/authorizer/_grpc/google/api/annotations_pb2_grpc.py delete mode 100644 src/authorizer/_grpc/google/api/http_pb2.py delete mode 100644 src/authorizer/_grpc/google/api/http_pb2_grpc.py diff --git a/pyproject.toml b/pyproject.toml index f5b9bf6..583f3f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,13 +23,15 @@ classifiers = [ "Programming Language :: Python :: 3.13", "Typing :: Typed", ] -# protobuf is a base dependency: the REST protocol parses grpc-gateway responses -# with protojson (int64-as-string + single-field wrappers) using the vendored -# proto message types. grpcio is only needed for the optional ``grpc`` protocol. -dependencies = ["httpx>=0.24,<1", "protobuf>=4"] +# authorizer-proto ships the generated proto message + gRPC stubs (was vendored +# under _grpc). protobuf stays a direct dep because the REST protocol parses +# grpc-gateway responses with protojson (int64-as-string + single-field wrappers) +# using those message types. grpcio is only needed for the optional ``grpc`` +# protocol (pulled via authorizer-proto[grpc]). +dependencies = ["httpx>=0.24,<1", "protobuf>=4", "authorizer-proto>=0.1.0"] [project.optional-dependencies] -grpc = ["grpcio>=1.60", "protobuf>=4"] +grpc = ["authorizer-proto[grpc]>=0.1.0", "grpcio>=1.60", "protobuf>=4"] dev = [ "pytest>=7", "pytest-asyncio>=0.23", @@ -51,8 +53,6 @@ packages = ["src/authorizer"] [tool.ruff] line-length = 100 target-version = "py39" -# Vendored generated gRPC/protobuf stubs — never lint. -extend-exclude = ["src/authorizer/_grpc"] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "W"] @@ -61,11 +61,10 @@ select = ["E", "F", "I", "UP", "B", "W"] python_version = "3.9" strict = true warn_unused_ignores = true -# Vendored generated gRPC/protobuf stubs — not type-checked. -exclude = ["src/authorizer/_grpc/"] +# Generated proto/gRPC stubs (authorizer-proto package) — untyped, not checked. [[tool.mypy.overrides]] -module = "authorizer._grpc.*" +module = "authorizer_proto.*" ignore_errors = true ignore_missing_imports = true diff --git a/src/authorizer/_grpc/__init__.py b/src/authorizer/_grpc/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/authorizer/__init__.py b/src/authorizer/_grpc/authorizer/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/authorizer/v1/__init__.py b/src/authorizer/_grpc/authorizer/v1/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/authorizer/v1/admin_pb2.py b/src/authorizer/_grpc/authorizer/v1/admin_pb2.py deleted file mode 100644 index 3a63e1b..0000000 --- a/src/authorizer/_grpc/authorizer/v1/admin_pb2.py +++ /dev/null @@ -1,479 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/admin.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/admin.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from authorizer._grpc.authorizer.v1 import annotations_pb2 as authorizer_dot_v1_dot_annotations__pb2 -from authorizer._grpc.authorizer.v1 import common_pb2 as authorizer_dot_v1_dot_common__pb2 -from authorizer._grpc.authorizer.v1 import pagination_pb2 as authorizer_dot_v1_dot_pagination__pb2 -from authorizer._grpc.authorizer.v1 import types_pb2 as authorizer_dot_v1_dot_types__pb2 -from authorizer._grpc.buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -from authorizer._grpc.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x61uthorizer/v1/admin.proto\x12\rauthorizer.v1\x1a\x1f\x61uthorizer/v1/annotations.proto\x1a\x1a\x61uthorizer/v1/common.proto\x1a\x1e\x61uthorizer/v1/pagination.proto\x1a\x19\x61uthorizer/v1/types.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\"?\n\x11\x41\x64minLoginRequest\x12*\n\x0c\x61\x64min_secret\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x61\x64minSecret\".\n\x12\x41\x64minLoginResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x14\n\x12\x41\x64minLogoutRequest\"/\n\x13\x41\x64minLogoutResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x15\n\x13\x41\x64minSessionRequest\"0\n\x14\x41\x64minSessionResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x12\n\x10\x41\x64minMetaRequest\"L\n\x11\x41\x64minMetaResponse\x12\x37\n\nadmin_meta\x18\x01 \x01(\x0b\x32\x18.authorizer.v1.AdminMetaR\tadminMeta\"\xbe\x01\n\tAdminMeta\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\x12#\n\rdefault_roles\x18\x02 \x03(\tR\x0c\x64\x65\x66\x61ultRoles\x12\'\n\x0fprotected_roles\x18\x03 \x03(\tR\x0eprotectedRoles\x12M\n$is_multi_factor_auth_service_enabled\x18\x04 \x01(\x08R\x1fisMultiFactorAuthServiceEnabled\"f\n\x0cUsersRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\x12\x14\n\x05query\x18\x02 \x01(\tR\x05query\"u\n\rUsersResponse\x12)\n\x05users\x18\x01 \x03(\x0b\x32\x13.authorizer.v1.UserR\x05users\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"3\n\x0bUserRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05\x65mail\x18\x02 \x01(\tR\x05\x65mail\"7\n\x0cUserResponse\x12\'\n\x04user\x18\x01 \x01(\x0b\x32\x13.authorizer.v1.UserR\x04user\"\xcc\x06\n\x11UpdateUserRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x19\n\x05\x65mail\x18\x02 \x01(\tH\x00R\x05\x65mail\x88\x01\x01\x12*\n\x0e\x65mail_verified\x18\x03 \x01(\x08H\x01R\remailVerified\x88\x01\x01\x12\"\n\ngiven_name\x18\x04 \x01(\tH\x02R\tgivenName\x88\x01\x01\x12$\n\x0b\x66\x61mily_name\x18\x05 \x01(\tH\x03R\nfamilyName\x88\x01\x01\x12$\n\x0bmiddle_name\x18\x06 \x01(\tH\x04R\nmiddleName\x88\x01\x01\x12\x1f\n\x08nickname\x18\x07 \x01(\tH\x05R\x08nickname\x88\x01\x01\x12\x1b\n\x06gender\x18\x08 \x01(\tH\x06R\x06gender\x88\x01\x01\x12!\n\tbirthdate\x18\t \x01(\tH\x07R\tbirthdate\x88\x01\x01\x12&\n\x0cphone_number\x18\n \x01(\tH\x08R\x0bphoneNumber\x88\x01\x01\x12\x37\n\x15phone_number_verified\x18\x0b \x01(\x08H\tR\x13phoneNumberVerified\x88\x01\x01\x12\x1d\n\x07picture\x18\x0c \x01(\tH\nR\x07picture\x88\x01\x01\x12\x14\n\x05roles\x18\r \x03(\tR\x05roles\x12\x43\n\x1cis_multi_factor_auth_enabled\x18\x0e \x01(\x08H\x0bR\x18isMultiFactorAuthEnabled\x88\x01\x01\x12\x31\n\x08\x61pp_data\x18\x0f \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07\x61ppData\x12 \n\treset_mfa\x18\x10 \x01(\x08H\x0cR\x08resetMfa\x88\x01\x01\x42\x08\n\x06_emailB\x11\n\x0f_email_verifiedB\r\n\x0b_given_nameB\x0e\n\x0c_family_nameB\x0e\n\x0c_middle_nameB\x0b\n\t_nicknameB\t\n\x07_genderB\x0c\n\n_birthdateB\x0f\n\r_phone_numberB\x18\n\x16_phone_number_verifiedB\n\n\x08_pictureB\x1f\n\x1d_is_multi_factor_auth_enabledB\x0c\n\n_reset_mfa\"=\n\x12UpdateUserResponse\x12\'\n\x04user\x18\x01 \x01(\x0b\x32\x13.authorizer.v1.UserR\x04user\"2\n\x11\x44\x65leteUserRequest\x12\x1d\n\x05\x65mail\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05\x65mail\".\n\x12\x44\x65leteUserResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"_\n\x1bVerificationRequestsRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\"\xb2\x01\n\x1cVerificationRequestsResponse\x12W\n\x15verification_requests\x18\x01 \x03(\x0b\x32\".authorizer.v1.VerificationRequestR\x14verificationRequests\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"\x82\x02\n\x13VerificationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1e\n\nidentifier\x18\x02 \x01(\tR\nidentifier\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12\x18\n\x07\x65xpires\x18\x05 \x01(\x03R\x07\x65xpires\x12\x1d\n\ncreated_at\x18\x06 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x07 \x01(\x03R\tupdatedAt\x12\x14\n\x05nonce\x18\x08 \x01(\tR\x05nonce\x12!\n\x0credirect_uri\x18\t \x01(\tR\x0bredirectUri\"7\n\x13RevokeAccessRequest\x12 \n\x07user_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06userId\"0\n\x14RevokeAccessResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"7\n\x13\x45nableAccessRequest\x12 \n\x07user_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06userId\"0\n\x14\x45nableAccessResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"g\n\x14InviteMembersRequest\x12\x16\n\x06\x65mails\x18\x01 \x03(\tR\x06\x65mails\x12&\n\x0credirect_uri\x18\x02 \x01(\tH\x00R\x0bredirectUri\x88\x01\x01\x42\x0f\n\r_redirect_uri\"\\\n\x15InviteMembersResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12)\n\x05users\x18\x02 \x03(\x0b\x32\x13.authorizer.v1.UserR\x05users\"\x8b\x02\n\x07Webhook\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\nevent_name\x18\x02 \x01(\tR\teventName\x12+\n\x11\x65vent_description\x18\x03 \x01(\tR\x10\x65ventDescription\x12\x1a\n\x08\x65ndpoint\x18\x04 \x01(\tR\x08\x65ndpoint\x12\x18\n\x07\x65nabled\x18\x05 \x01(\x08R\x07\x65nabled\x12\x30\n\x07headers\x18\x06 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07headers\x12\x1d\n\ncreated_at\x18\x07 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x08 \x01(\x03R\tupdatedAt\"\xd0\x01\n\nWebhookLog\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0bhttp_status\x18\x02 \x01(\x03R\nhttpStatus\x12\x1a\n\x08response\x18\x03 \x01(\tR\x08response\x12\x18\n\x07request\x18\x04 \x01(\tR\x07request\x12\x1d\n\nwebhook_id\x18\x05 \x01(\tR\twebhookId\x12\x1d\n\ncreated_at\x18\x06 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x07 \x01(\x03R\tupdatedAt\"\xf4\x01\n\x11\x41\x64\x64WebhookRequest\x12&\n\nevent_name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\teventName\x12\x30\n\x11\x65vent_description\x18\x02 \x01(\tH\x00R\x10\x65ventDescription\x88\x01\x01\x12#\n\x08\x65ndpoint\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08\x65ndpoint\x12\x18\n\x07\x65nabled\x18\x04 \x01(\x08R\x07\x65nabled\x12\x30\n\x07headers\x18\x05 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07headersB\x14\n\x12_event_description\".\n\x12\x41\x64\x64WebhookResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xb5\x02\n\x14UpdateWebhookRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\"\n\nevent_name\x18\x02 \x01(\tH\x00R\teventName\x88\x01\x01\x12\x30\n\x11\x65vent_description\x18\x03 \x01(\tH\x01R\x10\x65ventDescription\x88\x01\x01\x12\x1f\n\x08\x65ndpoint\x18\x04 \x01(\tH\x02R\x08\x65ndpoint\x88\x01\x01\x12\x1d\n\x07\x65nabled\x18\x05 \x01(\x08H\x03R\x07\x65nabled\x88\x01\x01\x12\x30\n\x07headers\x18\x06 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07headersB\r\n\x0b_event_nameB\x14\n\x12_event_descriptionB\x0b\n\t_endpointB\n\n\x08_enabled\"1\n\x15UpdateWebhookResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"/\n\x14\x44\x65leteWebhookRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"1\n\x15\x44\x65leteWebhookResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\",\n\x11GetWebhookRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"F\n\x12GetWebhookResponse\x12\x30\n\x07webhook\x18\x01 \x01(\x0b\x32\x16.authorizer.v1.WebhookR\x07webhook\"S\n\x0fWebhooksRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\"\x81\x01\n\x10WebhooksResponse\x12\x32\n\x08webhooks\x18\x01 \x03(\x0b\x32\x16.authorizer.v1.WebhookR\x08webhooks\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"\x89\x01\n\x12WebhookLogsRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\x12\"\n\nwebhook_id\x18\x02 \x01(\tH\x00R\twebhookId\x88\x01\x01\x42\r\n\x0b_webhook_id\"\x8e\x01\n\x13WebhookLogsResponse\x12<\n\x0cwebhook_logs\x18\x01 \x03(\x0b\x32\x19.authorizer.v1.WebhookLogR\x0bwebhookLogs\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"\xdc\x01\n\x13TestEndpointRequest\x12#\n\x08\x65ndpoint\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08\x65ndpoint\x12&\n\nevent_name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\teventName\x12\x30\n\x11\x65vent_description\x18\x03 \x01(\tH\x00R\x10\x65ventDescription\x88\x01\x01\x12\x30\n\x07headers\x18\x04 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07headersB\x14\n\x12_event_description\"S\n\x14TestEndpointResponse\x12\x1f\n\x0bhttp_status\x18\x01 \x01(\x03R\nhttpStatus\x12\x1a\n\x08response\x18\x02 \x01(\tR\x08response\"\xca\x01\n\rEmailTemplate\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\nevent_name\x18\x02 \x01(\tR\teventName\x12\x1a\n\x08template\x18\x03 \x01(\tR\x08template\x12\x16\n\x06\x64\x65sign\x18\x04 \x01(\tR\x06\x64\x65sign\x12\x18\n\x07subject\x18\x05 \x01(\tR\x07subject\x12\x1d\n\ncreated_at\x18\x06 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x07 \x01(\x03R\tupdatedAt\"\xb1\x01\n\x17\x41\x64\x64\x45mailTemplateRequest\x12&\n\nevent_name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\teventName\x12!\n\x07subject\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07subject\x12#\n\x08template\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08template\x12\x1b\n\x06\x64\x65sign\x18\x04 \x01(\tH\x00R\x06\x64\x65sign\x88\x01\x01\x42\t\n\x07_design\"4\n\x18\x41\x64\x64\x45mailTemplateResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xe9\x01\n\x1aUpdateEmailTemplateRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\"\n\nevent_name\x18\x02 \x01(\tH\x00R\teventName\x88\x01\x01\x12\x1f\n\x08template\x18\x03 \x01(\tH\x01R\x08template\x88\x01\x01\x12\x1d\n\x07subject\x18\x04 \x01(\tH\x02R\x07subject\x88\x01\x01\x12\x1b\n\x06\x64\x65sign\x18\x05 \x01(\tH\x03R\x06\x64\x65sign\x88\x01\x01\x42\r\n\x0b_event_nameB\x0b\n\t_templateB\n\n\x08_subjectB\t\n\x07_design\"7\n\x1bUpdateEmailTemplateResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"5\n\x1a\x44\x65leteEmailTemplateRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"7\n\x1b\x44\x65leteEmailTemplateResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"Y\n\x15\x45mailTemplatesRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\"\x9a\x01\n\x16\x45mailTemplatesResponse\x12\x45\n\x0f\x65mail_templates\x18\x01 \x03(\x0b\x32\x1c.authorizer.v1.EmailTemplateR\x0e\x65mailTemplates\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"\xcc\x02\n\x08\x41uditLog\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x19\n\x08\x61\x63tor_id\x18\x02 \x01(\tR\x07\x61\x63torId\x12\x1d\n\nactor_type\x18\x03 \x01(\tR\tactorType\x12\x1f\n\x0b\x61\x63tor_email\x18\x04 \x01(\tR\nactorEmail\x12\x16\n\x06\x61\x63tion\x18\x05 \x01(\tR\x06\x61\x63tion\x12#\n\rresource_type\x18\x06 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x07 \x01(\tR\nresourceId\x12\x1d\n\nip_address\x18\x08 \x01(\tR\tipAddress\x12\x1d\n\nuser_agent\x18\t \x01(\tR\tuserAgent\x12\x1a\n\x08metadata\x18\n \x01(\tR\x08metadata\x12\x1d\n\ncreated_at\x18\x0b \x01(\x03R\tcreatedAt\"\x93\x03\n\x10\x41uditLogsRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\x12\x1b\n\x06\x61\x63tion\x18\x02 \x01(\tH\x00R\x06\x61\x63tion\x88\x01\x01\x12\x1e\n\x08\x61\x63tor_id\x18\x03 \x01(\tH\x01R\x07\x61\x63torId\x88\x01\x01\x12(\n\rresource_type\x18\x04 \x01(\tH\x02R\x0cresourceType\x88\x01\x01\x12$\n\x0bresource_id\x18\x05 \x01(\tH\x03R\nresourceId\x88\x01\x01\x12*\n\x0e\x66rom_timestamp\x18\x06 \x01(\x03H\x04R\rfromTimestamp\x88\x01\x01\x12&\n\x0cto_timestamp\x18\x07 \x01(\x03H\x05R\x0btoTimestamp\x88\x01\x01\x42\t\n\x07_actionB\x0b\n\t_actor_idB\x10\n\x0e_resource_typeB\x0e\n\x0c_resource_idB\x11\n\x0f_from_timestampB\x0f\n\r_to_timestamp\"\x86\x01\n\x11\x41uditLogsResponse\x12\x36\n\naudit_logs\x18\x01 \x03(\x0b\x32\x17.authorizer.v1.AuditLogR\tauditLogs\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\",\n\x08\x46gaModel\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03\x64sl\x18\x02 \x01(\tR\x03\x64sl\"R\n\x08\x46gaTuple\x12\x12\n\x04user\x18\x01 \x01(\tR\x04user\x12\x1a\n\x08relation\x18\x02 \x01(\tR\x08relation\x12\x16\n\x06object\x18\x03 \x01(\tR\x06object\"\x14\n\x12\x46gaGetModelRequest\"D\n\x13\x46gaGetModelResponse\x12-\n\x05model\x18\x01 \x01(\x0b\x32\x17.authorizer.v1.FgaModelR\x05model\"1\n\x14\x46gaWriteModelRequest\x12\x19\n\x03\x64sl\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x03\x64sl\"F\n\x15\x46gaWriteModelResponse\x12-\n\x05model\x18\x01 \x01(\x0b\x32\x17.authorizer.v1.FgaModelR\x05model\"M\n\x15\x46gaWriteTuplesRequest\x12\x34\n\x06tuples\x18\x01 \x03(\x0b\x32\x1c.authorizer.v1.FgaTupleInputR\x06tuples\"2\n\x16\x46gaWriteTuplesResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"N\n\x16\x46gaDeleteTuplesRequest\x12\x34\n\x06tuples\x18\x01 \x03(\x0b\x32\x1c.authorizer.v1.FgaTupleInputR\x06tuples\"3\n\x17\x46gaDeleteTuplesResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x89\x02\n\x14\x46gaReadTuplesRequest\x12\x17\n\x04user\x18\x01 \x01(\tH\x00R\x04user\x88\x01\x01\x12\x1f\n\x08relation\x18\x02 \x01(\tH\x01R\x08relation\x88\x01\x01\x12\x1b\n\x06object\x18\x03 \x01(\tH\x02R\x06object\x88\x01\x01\x12 \n\tpage_size\x18\x04 \x01(\x03H\x03R\x08pageSize\x88\x01\x01\x12\x32\n\x12\x63ontinuation_token\x18\x05 \x01(\tH\x04R\x11\x63ontinuationToken\x88\x01\x01\x42\x07\n\x05_userB\x0b\n\t_relationB\t\n\x07_objectB\x0c\n\n_page_sizeB\x15\n\x13_continuation_token\"\x93\x01\n\x15\x46gaReadTuplesResponse\x12/\n\x06tuples\x18\x01 \x03(\x0b\x32\x17.authorizer.v1.FgaTupleR\x06tuples\x12\x32\n\x12\x63ontinuation_token\x18\x02 \x01(\tH\x00R\x11\x63ontinuationToken\x88\x01\x01\x42\x15\n\x13_continuation_token\"\x81\x01\n\x13\x46gaListUsersRequest\x12\x1f\n\x06object\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06object\x12#\n\x08relation\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08relation\x12$\n\tuser_type\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08userType\",\n\x14\x46gaListUsersResponse\x12\x14\n\x05users\x18\x01 \x03(\tR\x05users\"X\n\x10\x46gaExpandRequest\x12#\n\x08relation\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08relation\x12\x1f\n\x06object\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06object\"\'\n\x11\x46gaExpandResponse\x12\x12\n\x04tree\x18\x01 \x01(\tR\x04tree\"\x11\n\x0f\x46gaResetRequest\",\n\x10\x46gaResetResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xed\x01\n\x06\x43lient\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12%\n\x0e\x61llowed_scopes\x18\x04 \x03(\tR\rallowedScopes\x12\x1b\n\tis_active\x18\x05 \x01(\x08R\x08isActive\x12\x1d\n\ncreated_at\x18\x06 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x07 \x01(\x03R\tupdatedAt\x12\x1b\n\tclient_id\x18\x08 \x01(\tR\x08\x63lientId\"\x9a\x01\n\x13\x43reateClientRequest\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00R\x0b\x64\x65scription\x88\x01\x01\x12/\n\x0e\x61llowed_scopes\x18\x03 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x08\x01R\rallowedScopesB\x0e\n\x0c_description\"j\n\x14\x43reateClientResponse\x12-\n\x06\x63lient\x18\x01 \x01(\x0b\x32\x15.authorizer.v1.ClientR\x06\x63lient\x12#\n\rclient_secret\x18\x02 \x01(\tR\x0c\x63lientSecret\"\xde\x01\n\x13UpdateClientRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x01R\x0b\x64\x65scription\x88\x01\x01\x12%\n\x0e\x61llowed_scopes\x18\x04 \x03(\tR\rallowedScopes\x12 \n\tis_active\x18\x05 \x01(\x08H\x02R\x08isActive\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_is_active\"E\n\x14UpdateClientResponse\x12-\n\x06\x63lient\x18\x01 \x01(\x0b\x32\x15.authorizer.v1.ClientR\x06\x63lient\".\n\x13\x44\x65leteClientRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"0\n\x14\x44\x65leteClientResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"4\n\x19RotateClientSecretRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"+\n\x10GetClientRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"B\n\x11GetClientResponse\x12-\n\x06\x63lient\x18\x01 \x01(\x0b\x32\x15.authorizer.v1.ClientR\x06\x63lient\"R\n\x0e\x43lientsRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\"}\n\x0f\x43lientsResponse\x12/\n\x07\x63lients\x18\x01 \x03(\x0b\x32\x15.authorizer.v1.ClientR\x07\x63lients\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"\xdc\x04\n\rTrustedIssuer\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x12service_account_id\x18\x02 \x01(\tR\x10serviceAccountId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x1d\n\nissuer_url\x18\x04 \x01(\tR\tissuerUrl\x12&\n\x0fkey_source_type\x18\x05 \x01(\tR\rkeySourceType\x12\x19\n\x08jwks_url\x18\x06 \x01(\tR\x07jwksUrl\x12!\n\x0c\x65xpected_aud\x18\x07 \x01(\tR\x0b\x65xpectedAud\x12#\n\rsubject_claim\x18\x08 \x01(\tR\x0csubjectClaim\x12\x1f\n\x0bissuer_type\x18\t \x01(\tR\nissuerType\x12\x1b\n\tis_active\x18\n \x01(\x08R\x08isActive\x12=\n\x1bspiffe_refresh_hint_seconds\x18\x0b \x01(\x03R\x18spiffeRefreshHintSeconds\x12\x1d\n\ncreated_at\x18\x0c \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x03R\tupdatedAt\x12)\n\x10\x61llowed_subjects\x18\x0e \x01(\tR\x0f\x61llowedSubjects\x12.\n\x13\x65nable_token_review\x18\x0f \x01(\x08R\x11\x65nableTokenReview\x12\x39\n\x19kubernetes_api_server_url\x18\x10 \x01(\tR\x16kubernetesApiServerUrl\"\xd9\x05\n\x17\x41\x64\x64TrustedIssuerRequest\x12\x35\n\x12service_account_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x10serviceAccountId\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12&\n\nissuer_url\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\tissuerUrl\x12/\n\x0fkey_source_type\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\rkeySourceType\x12\x1e\n\x08jwks_url\x18\x05 \x01(\tH\x00R\x07jwksUrl\x88\x01\x01\x12*\n\x0c\x65xpected_aud\x18\x06 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x65xpectedAud\x12(\n\rsubject_claim\x18\x07 \x01(\tH\x01R\x0csubjectClaim\x88\x01\x01\x12(\n\x0bissuer_type\x18\x08 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\nissuerType\x12\x42\n\x1bspiffe_refresh_hint_seconds\x18\t \x01(\x03H\x02R\x18spiffeRefreshHintSeconds\x88\x01\x01\x12.\n\x10\x61llowed_subjects\x18\n \x01(\tH\x03R\x0f\x61llowedSubjects\x88\x01\x01\x12\x33\n\x13\x65nable_token_review\x18\x0b \x01(\x08H\x04R\x11\x65nableTokenReview\x88\x01\x01\x12>\n\x19kubernetes_api_server_url\x18\x0c \x01(\tH\x05R\x16kubernetesApiServerUrl\x88\x01\x01\x42\x0b\n\t_jwks_urlB\x10\n\x0e_subject_claimB\x1e\n\x1c_spiffe_refresh_hint_secondsB\x13\n\x11_allowed_subjectsB\x16\n\x14_enable_token_reviewB\x1c\n\x1a_kubernetes_api_server_url\"_\n\x18\x41\x64\x64TrustedIssuerResponse\x12\x43\n\x0etrusted_issuer\x18\x01 \x01(\x0b\x32\x1c.authorizer.v1.TrustedIssuerR\rtrustedIssuer\"\xc1\x04\n\x1aUpdateTrustedIssuerRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1e\n\x08jwks_url\x18\x03 \x01(\tH\x01R\x07jwksUrl\x88\x01\x01\x12&\n\x0c\x65xpected_aud\x18\x04 \x01(\tH\x02R\x0b\x65xpectedAud\x88\x01\x01\x12 \n\tis_active\x18\x05 \x01(\x08H\x03R\x08isActive\x88\x01\x01\x12\x42\n\x1bspiffe_refresh_hint_seconds\x18\x06 \x01(\x03H\x04R\x18spiffeRefreshHintSeconds\x88\x01\x01\x12.\n\x10\x61llowed_subjects\x18\x07 \x01(\tH\x05R\x0f\x61llowedSubjects\x88\x01\x01\x12\x33\n\x13\x65nable_token_review\x18\x08 \x01(\x08H\x06R\x11\x65nableTokenReview\x88\x01\x01\x12>\n\x19kubernetes_api_server_url\x18\t \x01(\tH\x07R\x16kubernetesApiServerUrl\x88\x01\x01\x42\x07\n\x05_nameB\x0b\n\t_jwks_urlB\x0f\n\r_expected_audB\x0c\n\n_is_activeB\x1e\n\x1c_spiffe_refresh_hint_secondsB\x13\n\x11_allowed_subjectsB\x16\n\x14_enable_token_reviewB\x1c\n\x1a_kubernetes_api_server_url\"b\n\x1bUpdateTrustedIssuerResponse\x12\x43\n\x0etrusted_issuer\x18\x01 \x01(\x0b\x32\x1c.authorizer.v1.TrustedIssuerR\rtrustedIssuer\"5\n\x1a\x44\x65leteTrustedIssuerRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"7\n\x1b\x44\x65leteTrustedIssuerResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"2\n\x17GetTrustedIssuerRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"_\n\x18GetTrustedIssuerResponse\x12\x43\n\x0etrusted_issuer\x18\x01 \x01(\x0b\x32\x1c.authorizer.v1.TrustedIssuerR\rtrustedIssuer\"\xa3\x01\n\x15TrustedIssuersRequest\x12@\n\npagination\x18\x01 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\x12\x31\n\x12service_account_id\x18\x02 \x01(\tH\x00R\x10serviceAccountId\x88\x01\x01\x42\x15\n\x13_service_account_id\"\x9a\x01\n\x16TrustedIssuersResponse\x12\x45\n\x0ftrusted_issuers\x18\x01 \x03(\x0b\x32\x1c.authorizer.v1.TrustedIssuerR\x0etrustedIssuers\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\"\x84\x03\n\x13SamlServiceProvider\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x1b\n\tentity_id\x18\x04 \x01(\tR\x08\x65ntityId\x12\x17\n\x07\x61\x63s_url\x18\x05 \x01(\tR\x06\x61\x63sUrl\x12\x1e\n\x0bsp_cert_pem\x18\x06 \x01(\tR\tspCertPem\x12$\n\x0ename_id_format\x18\x07 \x01(\tR\x0cnameIdFormat\x12+\n\x11mapped_attributes\x18\x08 \x01(\tR\x10mappedAttributes\x12.\n\x13\x61llow_idp_initiated\x18\t \x01(\x08R\x11\x61llowIdpInitiated\x12\x1b\n\tis_active\x18\n \x01(\x08R\x08isActive\x12\x1d\n\ncreated_at\x18\x0b \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x03R\tupdatedAt\"\xc2\x01\n\nSamlIdpKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x19\n\x08\x63\x65rt_pem\x18\x03 \x01(\tR\x07\x63\x65rtPem\x12\x1c\n\talgorithm\x18\x04 \x01(\tR\talgorithm\x12\x16\n\x06status\x18\x05 \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x06 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x07 \x01(\x03R\tupdatedAt\"s\n\x19SamlSpMetadataParseResult\x12\x1b\n\tentity_id\x18\x01 \x01(\tR\x08\x65ntityId\x12\x17\n\x07\x61\x63s_url\x18\x02 \x01(\tR\x06\x61\x63sUrl\x12 \n\x0b\x63\x65rtificate\x18\x03 \x01(\tR\x0b\x63\x65rtificate\"\xaf\x03\n CreateSamlServiceProviderRequest\x12\x1e\n\x06org_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05orgId\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12$\n\tentity_id\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x08\x65ntityId\x12 \n\x07\x61\x63s_url\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x61\x63sUrl\x12#\n\x0bsp_cert_pem\x18\x05 \x01(\tH\x00R\tspCertPem\x88\x01\x01\x12)\n\x0ename_id_format\x18\x06 \x01(\tH\x01R\x0cnameIdFormat\x88\x01\x01\x12\x30\n\x11mapped_attributes\x18\x07 \x01(\tH\x02R\x10mappedAttributes\x88\x01\x01\x12\x33\n\x13\x61llow_idp_initiated\x18\x08 \x01(\x08H\x03R\x11\x61llowIdpInitiated\x88\x01\x01\x42\x0e\n\x0c_sp_cert_pemB\x11\n\x0f_name_id_formatB\x14\n\x12_mapped_attributesB\x16\n\x14_allow_idp_initiated\"{\n!CreateSamlServiceProviderResponse\x12V\n\x15saml_service_provider\x18\x01 \x01(\x0b\x32\".authorizer.v1.SamlServiceProviderR\x13samlServiceProvider\"\xef\x03\n UpdateSamlServiceProviderRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12 \n\tentity_id\x18\x03 \x01(\tH\x01R\x08\x65ntityId\x88\x01\x01\x12\x1c\n\x07\x61\x63s_url\x18\x04 \x01(\tH\x02R\x06\x61\x63sUrl\x88\x01\x01\x12#\n\x0bsp_cert_pem\x18\x05 \x01(\tH\x03R\tspCertPem\x88\x01\x01\x12)\n\x0ename_id_format\x18\x06 \x01(\tH\x04R\x0cnameIdFormat\x88\x01\x01\x12\x30\n\x11mapped_attributes\x18\x07 \x01(\tH\x05R\x10mappedAttributes\x88\x01\x01\x12\x33\n\x13\x61llow_idp_initiated\x18\x08 \x01(\x08H\x06R\x11\x61llowIdpInitiated\x88\x01\x01\x12 \n\tis_active\x18\t \x01(\x08H\x07R\x08isActive\x88\x01\x01\x42\x07\n\x05_nameB\x0c\n\n_entity_idB\n\n\x08_acs_urlB\x0e\n\x0c_sp_cert_pemB\x11\n\x0f_name_id_formatB\x14\n\x12_mapped_attributesB\x16\n\x14_allow_idp_initiatedB\x0c\n\n_is_active\"{\n!UpdateSamlServiceProviderResponse\x12V\n\x15saml_service_provider\x18\x01 \x01(\x0b\x32\".authorizer.v1.SamlServiceProviderR\x13samlServiceProvider\";\n DeleteSamlServiceProviderRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"=\n!DeleteSamlServiceProviderResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"8\n\x1dGetSamlServiceProviderRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"x\n\x1eGetSamlServiceProviderResponse\x12V\n\x15saml_service_provider\x18\x01 \x01(\x0b\x32\".authorizer.v1.SamlServiceProviderR\x13samlServiceProvider\"\x83\x01\n\x1fListSamlServiceProvidersRequest\x12\x1e\n\x06org_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05orgId\x12@\n\npagination\x18\x02 \x01(\x0b\x32 .authorizer.v1.PaginationRequestR\npagination\"\xb7\x01\n ListSamlServiceProvidersResponse\x12X\n\x16saml_service_providers\x18\x01 \x03(\x0b\x32\".authorizer.v1.SamlServiceProviderR\x14samlServiceProviders\x12\x39\n\npagination\x18\x02 \x01(\x0b\x32\x19.authorizer.v1.PaginationR\npagination\":\n\x18RotateSamlIdpCertRequest\x12\x1e\n\x06org_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05orgId\"X\n\x19RotateSamlIdpCertResponse\x12;\n\x0csaml_idp_key\x18\x01 \x01(\x0b\x32\x19.authorizer.v1.SamlIdpKeyR\nsamlIdpKey\"2\n\x17RetireSamlIdpKeyRequest\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\"4\n\x18RetireSamlIdpKeyResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"8\n\x16ListSamlIdpKeysRequest\x12\x1e\n\x06org_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05orgId\"X\n\x17ListSamlIdpKeysResponse\x12=\n\rsaml_idp_keys\x18\x01 \x03(\x0b\x32\x19.authorizer.v1.SamlIdpKeyR\x0bsamlIdpKeys\"I\n\x1bImportSamlSpMetadataRequest\x12*\n\x0cmetadata_xml\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0bmetadataXml\"`\n\x1cImportSamlSpMetadataResponse\x12@\n\x06result\x18\x01 \x01(\x0b\x32(.authorizer.v1.SamlSpMetadataParseResultR\x06result2\xde\x35\n\x16\x41uthorizerAdminService\x12q\n\nAdminLogin\x12 .authorizer.v1.AdminLoginRequest\x1a!.authorizer.v1.AdminLoginResponse\"\x1e\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/admin/login:\x01*\x12n\n\x0b\x41\x64minLogout\x12!.authorizer.v1.AdminLogoutRequest\x1a\".authorizer.v1.AdminLogoutResponse\"\x18\x82\xd3\xe4\x93\x02\x12\"\x10/v1/admin/logout\x12r\n\x0c\x41\x64minSession\x12\".authorizer.v1.AdminSessionRequest\x1a#.authorizer.v1.AdminSessionResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/v1/admin/session\x12\x66\n\tAdminMeta\x12\x1f.authorizer.v1.AdminMetaRequest\x1a .authorizer.v1.AdminMetaResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1/admin/meta\x12^\n\x05Users\x12\x1b.authorizer.v1.UsersRequest\x1a\x1c.authorizer.v1.UsersResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/admin/users:\x01*\x12Z\n\x04User\x12\x1a.authorizer.v1.UserRequest\x1a\x1b.authorizer.v1.UserResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/admin/user:\x01*\x12s\n\nUpdateUser\x12 .authorizer.v1.UpdateUserRequest\x1a!.authorizer.v1.UpdateUserResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/admin/update_user:\x01*\x12s\n\nDeleteUser\x12 .authorizer.v1.DeleteUserRequest\x1a!.authorizer.v1.DeleteUserResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/admin/delete_user:\x01*\x12\x9b\x01\n\x14VerificationRequests\x12*.authorizer.v1.VerificationRequestsRequest\x1a+.authorizer.v1.VerificationRequestsResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/admin/verification_requests:\x01*\x12{\n\x0cRevokeAccess\x12\".authorizer.v1.RevokeAccessRequest\x1a#.authorizer.v1.RevokeAccessResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/revoke_access:\x01*\x12{\n\x0c\x45nableAccess\x12\".authorizer.v1.EnableAccessRequest\x1a#.authorizer.v1.EnableAccessResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/enable_access:\x01*\x12\x7f\n\rInviteMembers\x12#.authorizer.v1.InviteMembersRequest\x1a$.authorizer.v1.InviteMembersResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/admin/invite_members:\x01*\x12s\n\nAddWebhook\x12 .authorizer.v1.AddWebhookRequest\x1a!.authorizer.v1.AddWebhookResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/admin/add_webhook:\x01*\x12\x7f\n\rUpdateWebhook\x12#.authorizer.v1.UpdateWebhookRequest\x1a$.authorizer.v1.UpdateWebhookResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/admin/update_webhook:\x01*\x12\x7f\n\rDeleteWebhook\x12#.authorizer.v1.DeleteWebhookRequest\x1a$.authorizer.v1.DeleteWebhookResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/admin/delete_webhook:\x01*\x12o\n\nGetWebhook\x12 .authorizer.v1.GetWebhookRequest\x1a!.authorizer.v1.GetWebhookResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/admin/webhook:\x01*\x12j\n\x08Webhooks\x12\x1e.authorizer.v1.WebhooksRequest\x1a\x1f.authorizer.v1.WebhooksResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/v1/admin/webhooks:\x01*\x12w\n\x0bWebhookLogs\x12!.authorizer.v1.WebhookLogsRequest\x1a\".authorizer.v1.WebhookLogsResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/admin/webhook_logs:\x01*\x12{\n\x0cTestEndpoint\x12\".authorizer.v1.TestEndpointRequest\x1a#.authorizer.v1.TestEndpointResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/test_endpoint:\x01*\x12\x8c\x01\n\x10\x41\x64\x64\x45mailTemplate\x12&.authorizer.v1.AddEmailTemplateRequest\x1a\'.authorizer.v1.AddEmailTemplateResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v1/admin/add_email_template:\x01*\x12\x98\x01\n\x13UpdateEmailTemplate\x12).authorizer.v1.UpdateEmailTemplateRequest\x1a*.authorizer.v1.UpdateEmailTemplateResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/admin/update_email_template:\x01*\x12\x98\x01\n\x13\x44\x65leteEmailTemplate\x12).authorizer.v1.DeleteEmailTemplateRequest\x1a*.authorizer.v1.DeleteEmailTemplateResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/admin/delete_email_template:\x01*\x12\x83\x01\n\x0e\x45mailTemplates\x12$.authorizer.v1.EmailTemplatesRequest\x1a%.authorizer.v1.EmailTemplatesResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/admin/email_templates:\x01*\x12o\n\tAuditLogs\x12\x1f.authorizer.v1.AuditLogsRequest\x1a .authorizer.v1.AuditLogsResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/admin/audit_logs:\x01*\x12q\n\x0b\x46gaGetModel\x12!.authorizer.v1.FgaGetModelRequest\x1a\".authorizer.v1.FgaGetModelResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/admin/fga/model\x12z\n\rFgaWriteModel\x12#.authorizer.v1.FgaWriteModelRequest\x1a$.authorizer.v1.FgaWriteModelResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/admin/fga/model:\x01*\x12~\n\x0e\x46gaWriteTuples\x12$.authorizer.v1.FgaWriteTuplesRequest\x1a%.authorizer.v1.FgaWriteTuplesResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/admin/fga/tuples:\x01*\x12\x88\x01\n\x0f\x46gaDeleteTuples\x12%.authorizer.v1.FgaDeleteTuplesRequest\x1a&.authorizer.v1.FgaDeleteTuplesResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/admin/fga/tuples/delete:\x01*\x12\x80\x01\n\rFgaReadTuples\x12#.authorizer.v1.FgaReadTuplesRequest\x1a$.authorizer.v1.FgaReadTuplesResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/admin/fga/tuples/read:\x01*\x12|\n\x0c\x46gaListUsers\x12\".authorizer.v1.FgaListUsersRequest\x1a#.authorizer.v1.FgaListUsersResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/admin/fga/list_users:\x01*\x12o\n\tFgaExpand\x12\x1f.authorizer.v1.FgaExpandRequest\x1a .authorizer.v1.FgaExpandResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/admin/fga/expand:\x01*\x12k\n\x08\x46gaReset\x12\x1e.authorizer.v1.FgaResetRequest\x1a\x1f.authorizer.v1.FgaResetResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/admin/fga/reset:\x01*\x12{\n\x0c\x43reateClient\x12\".authorizer.v1.CreateClientRequest\x1a#.authorizer.v1.CreateClientResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/create_client:\x01*\x12{\n\x0cUpdateClient\x12\".authorizer.v1.UpdateClientRequest\x1a#.authorizer.v1.UpdateClientResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/update_client:\x01*\x12{\n\x0c\x44\x65leteClient\x12\".authorizer.v1.DeleteClientRequest\x1a#.authorizer.v1.DeleteClientResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/delete_client:\x01*\x12\x8e\x01\n\x12RotateClientSecret\x12(.authorizer.v1.RotateClientSecretRequest\x1a#.authorizer.v1.CreateClientResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/admin/rotate_client_secret:\x01*\x12k\n\tGetClient\x12\x1f.authorizer.v1.GetClientRequest\x1a .authorizer.v1.GetClientResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/admin/client:\x01*\x12\x66\n\x07\x43lients\x12\x1d.authorizer.v1.ClientsRequest\x1a\x1e.authorizer.v1.ClientsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/admin/clients:\x01*\x12\x8c\x01\n\x10\x41\x64\x64TrustedIssuer\x12&.authorizer.v1.AddTrustedIssuerRequest\x1a\'.authorizer.v1.AddTrustedIssuerResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v1/admin/add_trusted_issuer:\x01*\x12\x98\x01\n\x13UpdateTrustedIssuer\x12).authorizer.v1.UpdateTrustedIssuerRequest\x1a*.authorizer.v1.UpdateTrustedIssuerResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/admin/update_trusted_issuer:\x01*\x12\x98\x01\n\x13\x44\x65leteTrustedIssuer\x12).authorizer.v1.DeleteTrustedIssuerRequest\x1a*.authorizer.v1.DeleteTrustedIssuerResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/admin/delete_trusted_issuer:\x01*\x12\x88\x01\n\x10GetTrustedIssuer\x12&.authorizer.v1.GetTrustedIssuerRequest\x1a\'.authorizer.v1.GetTrustedIssuerResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/admin/trusted_issuer:\x01*\x12\x83\x01\n\x0eTrustedIssuers\x12$.authorizer.v1.TrustedIssuersRequest\x1a%.authorizer.v1.TrustedIssuersResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/admin/trusted_issuers:\x01*\x12\xb1\x01\n\x19\x43reateSamlServiceProvider\x12/.authorizer.v1.CreateSamlServiceProviderRequest\x1a\x30.authorizer.v1.CreateSamlServiceProviderResponse\"1\x82\xd3\xe4\x93\x02+\"&/v1/admin/create_saml_service_provider:\x01*\x12\xb1\x01\n\x19UpdateSamlServiceProvider\x12/.authorizer.v1.UpdateSamlServiceProviderRequest\x1a\x30.authorizer.v1.UpdateSamlServiceProviderResponse\"1\x82\xd3\xe4\x93\x02+\"&/v1/admin/update_saml_service_provider:\x01*\x12\xb1\x01\n\x19\x44\x65leteSamlServiceProvider\x12/.authorizer.v1.DeleteSamlServiceProviderRequest\x1a\x30.authorizer.v1.DeleteSamlServiceProviderResponse\"1\x82\xd3\xe4\x93\x02+\"&/v1/admin/delete_saml_service_provider:\x01*\x12\xa1\x01\n\x16GetSamlServiceProvider\x12,.authorizer.v1.GetSamlServiceProviderRequest\x1a-.authorizer.v1.GetSamlServiceProviderResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/admin/saml_service_provider:\x01*\x12\xa8\x01\n\x18ListSamlServiceProviders\x12..authorizer.v1.ListSamlServiceProvidersRequest\x1a/.authorizer.v1.ListSamlServiceProvidersResponse\"+\x82\xd3\xe4\x93\x02%\" /v1/admin/saml_service_providers:\x01*\x12\x91\x01\n\x11RotateSamlIdpCert\x12\'.authorizer.v1.RotateSamlIdpCertRequest\x1a(.authorizer.v1.RotateSamlIdpCertResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/admin/rotate_saml_idp_cert:\x01*\x12\x8d\x01\n\x10RetireSamlIdpKey\x12&.authorizer.v1.RetireSamlIdpKeyRequest\x1a\'.authorizer.v1.RetireSamlIdpKeyResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/v1/admin/retire_saml_idp_key:\x01*\x12\x84\x01\n\x0fListSamlIdpKeys\x12%.authorizer.v1.ListSamlIdpKeysRequest\x1a&.authorizer.v1.ListSamlIdpKeysResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/admin/saml_idp_keys:\x01*\x12\x9d\x01\n\x14ImportSamlSpMetadata\x12*.authorizer.v1.ImportSamlSpMetadataRequest\x1a+.authorizer.v1.ImportSamlSpMetadataResponse\",\x82\xd3\xe4\x93\x02&\"!/v1/admin/import_saml_sp_metadata:\x01*Bt\n\x11\x63om.authorizer.v1B\nAdminProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.admin_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\nAdminProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_ADMINLOGINREQUEST'].fields_by_name['admin_secret']._loaded_options = None - _globals['_ADMINLOGINREQUEST'].fields_by_name['admin_secret']._serialized_options = b'\272H\004r\002\020\001' - _globals['_UPDATEUSERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_UPDATEUSERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_DELETEUSERREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_DELETEUSERREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002\020\001' - _globals['_REVOKEACCESSREQUEST'].fields_by_name['user_id']._loaded_options = None - _globals['_REVOKEACCESSREQUEST'].fields_by_name['user_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ENABLEACCESSREQUEST'].fields_by_name['user_id']._loaded_options = None - _globals['_ENABLEACCESSREQUEST'].fields_by_name['user_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDWEBHOOKREQUEST'].fields_by_name['event_name']._loaded_options = None - _globals['_ADDWEBHOOKREQUEST'].fields_by_name['event_name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDWEBHOOKREQUEST'].fields_by_name['endpoint']._loaded_options = None - _globals['_ADDWEBHOOKREQUEST'].fields_by_name['endpoint']._serialized_options = b'\272H\004r\002\020\001' - _globals['_UPDATEWEBHOOKREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_UPDATEWEBHOOKREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_DELETEWEBHOOKREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_DELETEWEBHOOKREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_GETWEBHOOKREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_GETWEBHOOKREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_TESTENDPOINTREQUEST'].fields_by_name['endpoint']._loaded_options = None - _globals['_TESTENDPOINTREQUEST'].fields_by_name['endpoint']._serialized_options = b'\272H\004r\002\020\001' - _globals['_TESTENDPOINTREQUEST'].fields_by_name['event_name']._loaded_options = None - _globals['_TESTENDPOINTREQUEST'].fields_by_name['event_name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDEMAILTEMPLATEREQUEST'].fields_by_name['event_name']._loaded_options = None - _globals['_ADDEMAILTEMPLATEREQUEST'].fields_by_name['event_name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDEMAILTEMPLATEREQUEST'].fields_by_name['subject']._loaded_options = None - _globals['_ADDEMAILTEMPLATEREQUEST'].fields_by_name['subject']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDEMAILTEMPLATEREQUEST'].fields_by_name['template']._loaded_options = None - _globals['_ADDEMAILTEMPLATEREQUEST'].fields_by_name['template']._serialized_options = b'\272H\004r\002\020\001' - _globals['_UPDATEEMAILTEMPLATEREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_UPDATEEMAILTEMPLATEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_DELETEEMAILTEMPLATEREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_DELETEEMAILTEMPLATEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_FGAWRITEMODELREQUEST'].fields_by_name['dsl']._loaded_options = None - _globals['_FGAWRITEMODELREQUEST'].fields_by_name['dsl']._serialized_options = b'\272H\004r\002\020\001' - _globals['_FGALISTUSERSREQUEST'].fields_by_name['object']._loaded_options = None - _globals['_FGALISTUSERSREQUEST'].fields_by_name['object']._serialized_options = b'\272H\004r\002\020\001' - _globals['_FGALISTUSERSREQUEST'].fields_by_name['relation']._loaded_options = None - _globals['_FGALISTUSERSREQUEST'].fields_by_name['relation']._serialized_options = b'\272H\004r\002\020\001' - _globals['_FGALISTUSERSREQUEST'].fields_by_name['user_type']._loaded_options = None - _globals['_FGALISTUSERSREQUEST'].fields_by_name['user_type']._serialized_options = b'\272H\004r\002\020\001' - _globals['_FGAEXPANDREQUEST'].fields_by_name['relation']._loaded_options = None - _globals['_FGAEXPANDREQUEST'].fields_by_name['relation']._serialized_options = b'\272H\004r\002\020\001' - _globals['_FGAEXPANDREQUEST'].fields_by_name['object']._loaded_options = None - _globals['_FGAEXPANDREQUEST'].fields_by_name['object']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CREATECLIENTREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_CREATECLIENTREQUEST'].fields_by_name['name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CREATECLIENTREQUEST'].fields_by_name['allowed_scopes']._loaded_options = None - _globals['_CREATECLIENTREQUEST'].fields_by_name['allowed_scopes']._serialized_options = b'\272H\005\222\001\002\010\001' - _globals['_UPDATECLIENTREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_UPDATECLIENTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_DELETECLIENTREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_DELETECLIENTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ROTATECLIENTSECRETREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_ROTATECLIENTSECRETREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_GETCLIENTREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_GETCLIENTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['service_account_id']._loaded_options = None - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['service_account_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['issuer_url']._loaded_options = None - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['issuer_url']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['key_source_type']._loaded_options = None - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['key_source_type']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['expected_aud']._loaded_options = None - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['expected_aud']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['issuer_type']._loaded_options = None - _globals['_ADDTRUSTEDISSUERREQUEST'].fields_by_name['issuer_type']._serialized_options = b'\272H\004r\002\020\001' - _globals['_UPDATETRUSTEDISSUERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_UPDATETRUSTEDISSUERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_DELETETRUSTEDISSUERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_DELETETRUSTEDISSUERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_GETTRUSTEDISSUERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_GETTRUSTEDISSUERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['org_id']._loaded_options = None - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['org_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['entity_id']._loaded_options = None - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['entity_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['acs_url']._loaded_options = None - _globals['_CREATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['acs_url']._serialized_options = b'\272H\004r\002\020\001' - _globals['_UPDATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_UPDATESAMLSERVICEPROVIDERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_DELETESAMLSERVICEPROVIDERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_DELETESAMLSERVICEPROVIDERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_GETSAMLSERVICEPROVIDERREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_GETSAMLSERVICEPROVIDERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_LISTSAMLSERVICEPROVIDERSREQUEST'].fields_by_name['org_id']._loaded_options = None - _globals['_LISTSAMLSERVICEPROVIDERSREQUEST'].fields_by_name['org_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_ROTATESAMLIDPCERTREQUEST'].fields_by_name['org_id']._loaded_options = None - _globals['_ROTATESAMLIDPCERTREQUEST'].fields_by_name['org_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_RETIRESAMLIDPKEYREQUEST'].fields_by_name['id']._loaded_options = None - _globals['_RETIRESAMLIDPKEYREQUEST'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_LISTSAMLIDPKEYSREQUEST'].fields_by_name['org_id']._loaded_options = None - _globals['_LISTSAMLIDPKEYSREQUEST'].fields_by_name['org_id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_IMPORTSAMLSPMETADATAREQUEST'].fields_by_name['metadata_xml']._loaded_options = None - _globals['_IMPORTSAMLSPMETADATAREQUEST'].fields_by_name['metadata_xml']._serialized_options = b'\272H\004r\002\020\001' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminLogin']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminLogin']._serialized_options = b'\240\265\030\001\202\323\344\223\002\024\"\017/v1/admin/login:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminLogout']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminLogout']._serialized_options = b'\202\323\344\223\002\022\"\020/v1/admin/logout' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminSession']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminSession']._serialized_options = b'\202\323\344\223\002\023\022\021/v1/admin/session' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminMeta']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AdminMeta']._serialized_options = b'\202\323\344\223\002\020\022\016/v1/admin/meta' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['Users']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['Users']._serialized_options = b'\202\323\344\223\002\024\"\017/v1/admin/users:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['User']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['User']._serialized_options = b'\202\323\344\223\002\023\"\016/v1/admin/user:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateUser']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateUser']._serialized_options = b'\202\323\344\223\002\032\"\025/v1/admin/update_user:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteUser']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteUser']._serialized_options = b'\202\323\344\223\002\032\"\025/v1/admin/delete_user:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['VerificationRequests']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['VerificationRequests']._serialized_options = b'\202\323\344\223\002$\"\037/v1/admin/verification_requests:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RevokeAccess']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RevokeAccess']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/revoke_access:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['EnableAccess']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['EnableAccess']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/enable_access:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['InviteMembers']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['InviteMembers']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/admin/invite_members:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AddWebhook']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AddWebhook']._serialized_options = b'\202\323\344\223\002\032\"\025/v1/admin/add_webhook:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateWebhook']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateWebhook']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/admin/update_webhook:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteWebhook']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteWebhook']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/admin/delete_webhook:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetWebhook']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetWebhook']._serialized_options = b'\202\323\344\223\002\026\"\021/v1/admin/webhook:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['Webhooks']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['Webhooks']._serialized_options = b'\202\323\344\223\002\027\"\022/v1/admin/webhooks:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['WebhookLogs']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['WebhookLogs']._serialized_options = b'\202\323\344\223\002\033\"\026/v1/admin/webhook_logs:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['TestEndpoint']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['TestEndpoint']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/test_endpoint:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AddEmailTemplate']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AddEmailTemplate']._serialized_options = b'\202\323\344\223\002!\"\034/v1/admin/add_email_template:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateEmailTemplate']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateEmailTemplate']._serialized_options = b'\202\323\344\223\002$\"\037/v1/admin/update_email_template:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteEmailTemplate']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteEmailTemplate']._serialized_options = b'\202\323\344\223\002$\"\037/v1/admin/delete_email_template:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['EmailTemplates']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['EmailTemplates']._serialized_options = b'\202\323\344\223\002\036\"\031/v1/admin/email_templates:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AuditLogs']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AuditLogs']._serialized_options = b'\202\323\344\223\002\031\"\024/v1/admin/audit_logs:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaGetModel']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaGetModel']._serialized_options = b'\202\323\344\223\002\025\022\023/v1/admin/fga/model' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaWriteModel']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaWriteModel']._serialized_options = b'\202\323\344\223\002\030\"\023/v1/admin/fga/model:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaWriteTuples']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaWriteTuples']._serialized_options = b'\202\323\344\223\002\031\"\024/v1/admin/fga/tuples:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaDeleteTuples']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaDeleteTuples']._serialized_options = b'\202\323\344\223\002 \"\033/v1/admin/fga/tuples/delete:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaReadTuples']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaReadTuples']._serialized_options = b'\202\323\344\223\002\036\"\031/v1/admin/fga/tuples/read:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaListUsers']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaListUsers']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/admin/fga/list_users:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaExpand']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaExpand']._serialized_options = b'\202\323\344\223\002\031\"\024/v1/admin/fga/expand:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaReset']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['FgaReset']._serialized_options = b'\202\323\344\223\002\030\"\023/v1/admin/fga/reset:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['CreateClient']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['CreateClient']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/create_client:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateClient']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateClient']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/update_client:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteClient']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteClient']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/delete_client:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RotateClientSecret']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RotateClientSecret']._serialized_options = b'\202\323\344\223\002#\"\036/v1/admin/rotate_client_secret:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetClient']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetClient']._serialized_options = b'\202\323\344\223\002\025\"\020/v1/admin/client:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['Clients']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['Clients']._serialized_options = b'\202\323\344\223\002\026\"\021/v1/admin/clients:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AddTrustedIssuer']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['AddTrustedIssuer']._serialized_options = b'\202\323\344\223\002!\"\034/v1/admin/add_trusted_issuer:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateTrustedIssuer']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateTrustedIssuer']._serialized_options = b'\202\323\344\223\002$\"\037/v1/admin/update_trusted_issuer:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteTrustedIssuer']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteTrustedIssuer']._serialized_options = b'\202\323\344\223\002$\"\037/v1/admin/delete_trusted_issuer:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetTrustedIssuer']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetTrustedIssuer']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/admin/trusted_issuer:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['TrustedIssuers']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['TrustedIssuers']._serialized_options = b'\202\323\344\223\002\036\"\031/v1/admin/trusted_issuers:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['CreateSamlServiceProvider']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['CreateSamlServiceProvider']._serialized_options = b'\202\323\344\223\002+\"&/v1/admin/create_saml_service_provider:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateSamlServiceProvider']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['UpdateSamlServiceProvider']._serialized_options = b'\202\323\344\223\002+\"&/v1/admin/update_saml_service_provider:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteSamlServiceProvider']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['DeleteSamlServiceProvider']._serialized_options = b'\202\323\344\223\002+\"&/v1/admin/delete_saml_service_provider:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetSamlServiceProvider']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['GetSamlServiceProvider']._serialized_options = b'\202\323\344\223\002$\"\037/v1/admin/saml_service_provider:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['ListSamlServiceProviders']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['ListSamlServiceProviders']._serialized_options = b'\202\323\344\223\002%\" /v1/admin/saml_service_providers:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RotateSamlIdpCert']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RotateSamlIdpCert']._serialized_options = b'\202\323\344\223\002#\"\036/v1/admin/rotate_saml_idp_cert:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RetireSamlIdpKey']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['RetireSamlIdpKey']._serialized_options = b'\202\323\344\223\002\"\"\035/v1/admin/retire_saml_idp_key:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['ListSamlIdpKeys']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['ListSamlIdpKeys']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/admin/saml_idp_keys:\001*' - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['ImportSamlSpMetadata']._loaded_options = None - _globals['_AUTHORIZERADMINSERVICE'].methods_by_name['ImportSamlSpMetadata']._serialized_options = b'\202\323\344\223\002&\"!/v1/admin/import_saml_sp_metadata:\001*' - _globals['_ADMINLOGINREQUEST']._serialized_start=223 - _globals['_ADMINLOGINREQUEST']._serialized_end=286 - _globals['_ADMINLOGINRESPONSE']._serialized_start=288 - _globals['_ADMINLOGINRESPONSE']._serialized_end=334 - _globals['_ADMINLOGOUTREQUEST']._serialized_start=336 - _globals['_ADMINLOGOUTREQUEST']._serialized_end=356 - _globals['_ADMINLOGOUTRESPONSE']._serialized_start=358 - _globals['_ADMINLOGOUTRESPONSE']._serialized_end=405 - _globals['_ADMINSESSIONREQUEST']._serialized_start=407 - _globals['_ADMINSESSIONREQUEST']._serialized_end=428 - _globals['_ADMINSESSIONRESPONSE']._serialized_start=430 - _globals['_ADMINSESSIONRESPONSE']._serialized_end=478 - _globals['_ADMINMETAREQUEST']._serialized_start=480 - _globals['_ADMINMETAREQUEST']._serialized_end=498 - _globals['_ADMINMETARESPONSE']._serialized_start=500 - _globals['_ADMINMETARESPONSE']._serialized_end=576 - _globals['_ADMINMETA']._serialized_start=579 - _globals['_ADMINMETA']._serialized_end=769 - _globals['_USERSREQUEST']._serialized_start=771 - _globals['_USERSREQUEST']._serialized_end=873 - _globals['_USERSRESPONSE']._serialized_start=875 - _globals['_USERSRESPONSE']._serialized_end=992 - _globals['_USERREQUEST']._serialized_start=994 - _globals['_USERREQUEST']._serialized_end=1045 - _globals['_USERRESPONSE']._serialized_start=1047 - _globals['_USERRESPONSE']._serialized_end=1102 - _globals['_UPDATEUSERREQUEST']._serialized_start=1105 - _globals['_UPDATEUSERREQUEST']._serialized_end=1949 - _globals['_UPDATEUSERRESPONSE']._serialized_start=1951 - _globals['_UPDATEUSERRESPONSE']._serialized_end=2012 - _globals['_DELETEUSERREQUEST']._serialized_start=2014 - _globals['_DELETEUSERREQUEST']._serialized_end=2064 - _globals['_DELETEUSERRESPONSE']._serialized_start=2066 - _globals['_DELETEUSERRESPONSE']._serialized_end=2112 - _globals['_VERIFICATIONREQUESTSREQUEST']._serialized_start=2114 - _globals['_VERIFICATIONREQUESTSREQUEST']._serialized_end=2209 - _globals['_VERIFICATIONREQUESTSRESPONSE']._serialized_start=2212 - _globals['_VERIFICATIONREQUESTSRESPONSE']._serialized_end=2390 - _globals['_VERIFICATIONREQUEST']._serialized_start=2393 - _globals['_VERIFICATIONREQUEST']._serialized_end=2651 - _globals['_REVOKEACCESSREQUEST']._serialized_start=2653 - _globals['_REVOKEACCESSREQUEST']._serialized_end=2708 - _globals['_REVOKEACCESSRESPONSE']._serialized_start=2710 - _globals['_REVOKEACCESSRESPONSE']._serialized_end=2758 - _globals['_ENABLEACCESSREQUEST']._serialized_start=2760 - _globals['_ENABLEACCESSREQUEST']._serialized_end=2815 - _globals['_ENABLEACCESSRESPONSE']._serialized_start=2817 - _globals['_ENABLEACCESSRESPONSE']._serialized_end=2865 - _globals['_INVITEMEMBERSREQUEST']._serialized_start=2867 - _globals['_INVITEMEMBERSREQUEST']._serialized_end=2970 - _globals['_INVITEMEMBERSRESPONSE']._serialized_start=2972 - _globals['_INVITEMEMBERSRESPONSE']._serialized_end=3064 - _globals['_WEBHOOK']._serialized_start=3067 - _globals['_WEBHOOK']._serialized_end=3334 - _globals['_WEBHOOKLOG']._serialized_start=3337 - _globals['_WEBHOOKLOG']._serialized_end=3545 - _globals['_ADDWEBHOOKREQUEST']._serialized_start=3548 - _globals['_ADDWEBHOOKREQUEST']._serialized_end=3792 - _globals['_ADDWEBHOOKRESPONSE']._serialized_start=3794 - _globals['_ADDWEBHOOKRESPONSE']._serialized_end=3840 - _globals['_UPDATEWEBHOOKREQUEST']._serialized_start=3843 - _globals['_UPDATEWEBHOOKREQUEST']._serialized_end=4152 - _globals['_UPDATEWEBHOOKRESPONSE']._serialized_start=4154 - _globals['_UPDATEWEBHOOKRESPONSE']._serialized_end=4203 - _globals['_DELETEWEBHOOKREQUEST']._serialized_start=4205 - _globals['_DELETEWEBHOOKREQUEST']._serialized_end=4252 - _globals['_DELETEWEBHOOKRESPONSE']._serialized_start=4254 - _globals['_DELETEWEBHOOKRESPONSE']._serialized_end=4303 - _globals['_GETWEBHOOKREQUEST']._serialized_start=4305 - _globals['_GETWEBHOOKREQUEST']._serialized_end=4349 - _globals['_GETWEBHOOKRESPONSE']._serialized_start=4351 - _globals['_GETWEBHOOKRESPONSE']._serialized_end=4421 - _globals['_WEBHOOKSREQUEST']._serialized_start=4423 - _globals['_WEBHOOKSREQUEST']._serialized_end=4506 - _globals['_WEBHOOKSRESPONSE']._serialized_start=4509 - _globals['_WEBHOOKSRESPONSE']._serialized_end=4638 - _globals['_WEBHOOKLOGSREQUEST']._serialized_start=4641 - _globals['_WEBHOOKLOGSREQUEST']._serialized_end=4778 - _globals['_WEBHOOKLOGSRESPONSE']._serialized_start=4781 - _globals['_WEBHOOKLOGSRESPONSE']._serialized_end=4923 - _globals['_TESTENDPOINTREQUEST']._serialized_start=4926 - _globals['_TESTENDPOINTREQUEST']._serialized_end=5146 - _globals['_TESTENDPOINTRESPONSE']._serialized_start=5148 - _globals['_TESTENDPOINTRESPONSE']._serialized_end=5231 - _globals['_EMAILTEMPLATE']._serialized_start=5234 - _globals['_EMAILTEMPLATE']._serialized_end=5436 - _globals['_ADDEMAILTEMPLATEREQUEST']._serialized_start=5439 - _globals['_ADDEMAILTEMPLATEREQUEST']._serialized_end=5616 - _globals['_ADDEMAILTEMPLATERESPONSE']._serialized_start=5618 - _globals['_ADDEMAILTEMPLATERESPONSE']._serialized_end=5670 - _globals['_UPDATEEMAILTEMPLATEREQUEST']._serialized_start=5673 - _globals['_UPDATEEMAILTEMPLATEREQUEST']._serialized_end=5906 - _globals['_UPDATEEMAILTEMPLATERESPONSE']._serialized_start=5908 - _globals['_UPDATEEMAILTEMPLATERESPONSE']._serialized_end=5963 - _globals['_DELETEEMAILTEMPLATEREQUEST']._serialized_start=5965 - _globals['_DELETEEMAILTEMPLATEREQUEST']._serialized_end=6018 - _globals['_DELETEEMAILTEMPLATERESPONSE']._serialized_start=6020 - _globals['_DELETEEMAILTEMPLATERESPONSE']._serialized_end=6075 - _globals['_EMAILTEMPLATESREQUEST']._serialized_start=6077 - _globals['_EMAILTEMPLATESREQUEST']._serialized_end=6166 - _globals['_EMAILTEMPLATESRESPONSE']._serialized_start=6169 - _globals['_EMAILTEMPLATESRESPONSE']._serialized_end=6323 - _globals['_AUDITLOG']._serialized_start=6326 - _globals['_AUDITLOG']._serialized_end=6658 - _globals['_AUDITLOGSREQUEST']._serialized_start=6661 - _globals['_AUDITLOGSREQUEST']._serialized_end=7064 - _globals['_AUDITLOGSRESPONSE']._serialized_start=7067 - _globals['_AUDITLOGSRESPONSE']._serialized_end=7201 - _globals['_FGAMODEL']._serialized_start=7203 - _globals['_FGAMODEL']._serialized_end=7247 - _globals['_FGATUPLE']._serialized_start=7249 - _globals['_FGATUPLE']._serialized_end=7331 - _globals['_FGAGETMODELREQUEST']._serialized_start=7333 - _globals['_FGAGETMODELREQUEST']._serialized_end=7353 - _globals['_FGAGETMODELRESPONSE']._serialized_start=7355 - _globals['_FGAGETMODELRESPONSE']._serialized_end=7423 - _globals['_FGAWRITEMODELREQUEST']._serialized_start=7425 - _globals['_FGAWRITEMODELREQUEST']._serialized_end=7474 - _globals['_FGAWRITEMODELRESPONSE']._serialized_start=7476 - _globals['_FGAWRITEMODELRESPONSE']._serialized_end=7546 - _globals['_FGAWRITETUPLESREQUEST']._serialized_start=7548 - _globals['_FGAWRITETUPLESREQUEST']._serialized_end=7625 - _globals['_FGAWRITETUPLESRESPONSE']._serialized_start=7627 - _globals['_FGAWRITETUPLESRESPONSE']._serialized_end=7677 - _globals['_FGADELETETUPLESREQUEST']._serialized_start=7679 - _globals['_FGADELETETUPLESREQUEST']._serialized_end=7757 - _globals['_FGADELETETUPLESRESPONSE']._serialized_start=7759 - _globals['_FGADELETETUPLESRESPONSE']._serialized_end=7810 - _globals['_FGAREADTUPLESREQUEST']._serialized_start=7813 - _globals['_FGAREADTUPLESREQUEST']._serialized_end=8078 - _globals['_FGAREADTUPLESRESPONSE']._serialized_start=8081 - _globals['_FGAREADTUPLESRESPONSE']._serialized_end=8228 - _globals['_FGALISTUSERSREQUEST']._serialized_start=8231 - _globals['_FGALISTUSERSREQUEST']._serialized_end=8360 - _globals['_FGALISTUSERSRESPONSE']._serialized_start=8362 - _globals['_FGALISTUSERSRESPONSE']._serialized_end=8406 - _globals['_FGAEXPANDREQUEST']._serialized_start=8408 - _globals['_FGAEXPANDREQUEST']._serialized_end=8496 - _globals['_FGAEXPANDRESPONSE']._serialized_start=8498 - _globals['_FGAEXPANDRESPONSE']._serialized_end=8537 - _globals['_FGARESETREQUEST']._serialized_start=8539 - _globals['_FGARESETREQUEST']._serialized_end=8556 - _globals['_FGARESETRESPONSE']._serialized_start=8558 - _globals['_FGARESETRESPONSE']._serialized_end=8602 - _globals['_CLIENT']._serialized_start=8605 - _globals['_CLIENT']._serialized_end=8842 - _globals['_CREATECLIENTREQUEST']._serialized_start=8845 - _globals['_CREATECLIENTREQUEST']._serialized_end=8999 - _globals['_CREATECLIENTRESPONSE']._serialized_start=9001 - _globals['_CREATECLIENTRESPONSE']._serialized_end=9107 - _globals['_UPDATECLIENTREQUEST']._serialized_start=9110 - _globals['_UPDATECLIENTREQUEST']._serialized_end=9332 - _globals['_UPDATECLIENTRESPONSE']._serialized_start=9334 - _globals['_UPDATECLIENTRESPONSE']._serialized_end=9403 - _globals['_DELETECLIENTREQUEST']._serialized_start=9405 - _globals['_DELETECLIENTREQUEST']._serialized_end=9451 - _globals['_DELETECLIENTRESPONSE']._serialized_start=9453 - _globals['_DELETECLIENTRESPONSE']._serialized_end=9501 - _globals['_ROTATECLIENTSECRETREQUEST']._serialized_start=9503 - _globals['_ROTATECLIENTSECRETREQUEST']._serialized_end=9555 - _globals['_GETCLIENTREQUEST']._serialized_start=9557 - _globals['_GETCLIENTREQUEST']._serialized_end=9600 - _globals['_GETCLIENTRESPONSE']._serialized_start=9602 - _globals['_GETCLIENTRESPONSE']._serialized_end=9668 - _globals['_CLIENTSREQUEST']._serialized_start=9670 - _globals['_CLIENTSREQUEST']._serialized_end=9752 - _globals['_CLIENTSRESPONSE']._serialized_start=9754 - _globals['_CLIENTSRESPONSE']._serialized_end=9879 - _globals['_TRUSTEDISSUER']._serialized_start=9882 - _globals['_TRUSTEDISSUER']._serialized_end=10486 - _globals['_ADDTRUSTEDISSUERREQUEST']._serialized_start=10489 - _globals['_ADDTRUSTEDISSUERREQUEST']._serialized_end=11218 - _globals['_ADDTRUSTEDISSUERRESPONSE']._serialized_start=11220 - _globals['_ADDTRUSTEDISSUERRESPONSE']._serialized_end=11315 - _globals['_UPDATETRUSTEDISSUERREQUEST']._serialized_start=11318 - _globals['_UPDATETRUSTEDISSUERREQUEST']._serialized_end=11895 - _globals['_UPDATETRUSTEDISSUERRESPONSE']._serialized_start=11897 - _globals['_UPDATETRUSTEDISSUERRESPONSE']._serialized_end=11995 - _globals['_DELETETRUSTEDISSUERREQUEST']._serialized_start=11997 - _globals['_DELETETRUSTEDISSUERREQUEST']._serialized_end=12050 - _globals['_DELETETRUSTEDISSUERRESPONSE']._serialized_start=12052 - _globals['_DELETETRUSTEDISSUERRESPONSE']._serialized_end=12107 - _globals['_GETTRUSTEDISSUERREQUEST']._serialized_start=12109 - _globals['_GETTRUSTEDISSUERREQUEST']._serialized_end=12159 - _globals['_GETTRUSTEDISSUERRESPONSE']._serialized_start=12161 - _globals['_GETTRUSTEDISSUERRESPONSE']._serialized_end=12256 - _globals['_TRUSTEDISSUERSREQUEST']._serialized_start=12259 - _globals['_TRUSTEDISSUERSREQUEST']._serialized_end=12422 - _globals['_TRUSTEDISSUERSRESPONSE']._serialized_start=12425 - _globals['_TRUSTEDISSUERSRESPONSE']._serialized_end=12579 - _globals['_SAMLSERVICEPROVIDER']._serialized_start=12582 - _globals['_SAMLSERVICEPROVIDER']._serialized_end=12970 - _globals['_SAMLIDPKEY']._serialized_start=12973 - _globals['_SAMLIDPKEY']._serialized_end=13167 - _globals['_SAMLSPMETADATAPARSERESULT']._serialized_start=13169 - _globals['_SAMLSPMETADATAPARSERESULT']._serialized_end=13284 - _globals['_CREATESAMLSERVICEPROVIDERREQUEST']._serialized_start=13287 - _globals['_CREATESAMLSERVICEPROVIDERREQUEST']._serialized_end=13718 - _globals['_CREATESAMLSERVICEPROVIDERRESPONSE']._serialized_start=13720 - _globals['_CREATESAMLSERVICEPROVIDERRESPONSE']._serialized_end=13843 - _globals['_UPDATESAMLSERVICEPROVIDERREQUEST']._serialized_start=13846 - _globals['_UPDATESAMLSERVICEPROVIDERREQUEST']._serialized_end=14341 - _globals['_UPDATESAMLSERVICEPROVIDERRESPONSE']._serialized_start=14343 - _globals['_UPDATESAMLSERVICEPROVIDERRESPONSE']._serialized_end=14466 - _globals['_DELETESAMLSERVICEPROVIDERREQUEST']._serialized_start=14468 - _globals['_DELETESAMLSERVICEPROVIDERREQUEST']._serialized_end=14527 - _globals['_DELETESAMLSERVICEPROVIDERRESPONSE']._serialized_start=14529 - _globals['_DELETESAMLSERVICEPROVIDERRESPONSE']._serialized_end=14590 - _globals['_GETSAMLSERVICEPROVIDERREQUEST']._serialized_start=14592 - _globals['_GETSAMLSERVICEPROVIDERREQUEST']._serialized_end=14648 - _globals['_GETSAMLSERVICEPROVIDERRESPONSE']._serialized_start=14650 - _globals['_GETSAMLSERVICEPROVIDERRESPONSE']._serialized_end=14770 - _globals['_LISTSAMLSERVICEPROVIDERSREQUEST']._serialized_start=14773 - _globals['_LISTSAMLSERVICEPROVIDERSREQUEST']._serialized_end=14904 - _globals['_LISTSAMLSERVICEPROVIDERSRESPONSE']._serialized_start=14907 - _globals['_LISTSAMLSERVICEPROVIDERSRESPONSE']._serialized_end=15090 - _globals['_ROTATESAMLIDPCERTREQUEST']._serialized_start=15092 - _globals['_ROTATESAMLIDPCERTREQUEST']._serialized_end=15150 - _globals['_ROTATESAMLIDPCERTRESPONSE']._serialized_start=15152 - _globals['_ROTATESAMLIDPCERTRESPONSE']._serialized_end=15240 - _globals['_RETIRESAMLIDPKEYREQUEST']._serialized_start=15242 - _globals['_RETIRESAMLIDPKEYREQUEST']._serialized_end=15292 - _globals['_RETIRESAMLIDPKEYRESPONSE']._serialized_start=15294 - _globals['_RETIRESAMLIDPKEYRESPONSE']._serialized_end=15346 - _globals['_LISTSAMLIDPKEYSREQUEST']._serialized_start=15348 - _globals['_LISTSAMLIDPKEYSREQUEST']._serialized_end=15404 - _globals['_LISTSAMLIDPKEYSRESPONSE']._serialized_start=15406 - _globals['_LISTSAMLIDPKEYSRESPONSE']._serialized_end=15494 - _globals['_IMPORTSAMLSPMETADATAREQUEST']._serialized_start=15496 - _globals['_IMPORTSAMLSPMETADATAREQUEST']._serialized_end=15569 - _globals['_IMPORTSAMLSPMETADATARESPONSE']._serialized_start=15571 - _globals['_IMPORTSAMLSPMETADATARESPONSE']._serialized_end=15667 - _globals['_AUTHORIZERADMINSERVICE']._serialized_start=15670 - _globals['_AUTHORIZERADMINSERVICE']._serialized_end=22548 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/admin_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/admin_pb2_grpc.py deleted file mode 100644 index 129c839..0000000 --- a/src/authorizer/_grpc/authorizer/v1/admin_pb2_grpc.py +++ /dev/null @@ -1,2414 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from authorizer._grpc.authorizer.v1 import admin_pb2 as authorizer_dot_v1_dot_admin__pb2 - - -class AuthorizerAdminServiceStub(object): - """AuthorizerAdminService is the single gRPC service for Authorizer's admin - (super-admin-only) API surface. RPCs are added one domain group at a time; - see specs/2026-06-15-authorizer-admin-service-plan.md. - === Admin auth + meta === - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.AdminLogin = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AdminLogin', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AdminLoginRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminLoginResponse.FromString, - _registered_method=True) - self.AdminLogout = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AdminLogout', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AdminLogoutRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminLogoutResponse.FromString, - _registered_method=True) - self.AdminSession = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AdminSession', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AdminSessionRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminSessionResponse.FromString, - _registered_method=True) - self.AdminMeta = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AdminMeta', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AdminMetaRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminMetaResponse.FromString, - _registered_method=True) - self.Users = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/Users', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UsersRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UsersResponse.FromString, - _registered_method=True) - self.User = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/User', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UserRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UserResponse.FromString, - _registered_method=True) - self.UpdateUser = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/UpdateUser', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateUserRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateUserResponse.FromString, - _registered_method=True) - self.DeleteUser = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/DeleteUser', - request_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteUserRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteUserResponse.FromString, - _registered_method=True) - self.VerificationRequests = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/VerificationRequests', - request_serializer=authorizer_dot_v1_dot_admin__pb2.VerificationRequestsRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.VerificationRequestsResponse.FromString, - _registered_method=True) - self.RevokeAccess = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/RevokeAccess', - request_serializer=authorizer_dot_v1_dot_admin__pb2.RevokeAccessRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.RevokeAccessResponse.FromString, - _registered_method=True) - self.EnableAccess = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/EnableAccess', - request_serializer=authorizer_dot_v1_dot_admin__pb2.EnableAccessRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.EnableAccessResponse.FromString, - _registered_method=True) - self.InviteMembers = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/InviteMembers', - request_serializer=authorizer_dot_v1_dot_admin__pb2.InviteMembersRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.InviteMembersResponse.FromString, - _registered_method=True) - self.AddWebhook = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AddWebhook', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AddWebhookRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AddWebhookResponse.FromString, - _registered_method=True) - self.UpdateWebhook = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/UpdateWebhook', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateWebhookRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateWebhookResponse.FromString, - _registered_method=True) - self.DeleteWebhook = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/DeleteWebhook', - request_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteWebhookRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteWebhookResponse.FromString, - _registered_method=True) - self.GetWebhook = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/GetWebhook', - request_serializer=authorizer_dot_v1_dot_admin__pb2.GetWebhookRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.GetWebhookResponse.FromString, - _registered_method=True) - self.Webhooks = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/Webhooks', - request_serializer=authorizer_dot_v1_dot_admin__pb2.WebhooksRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.WebhooksResponse.FromString, - _registered_method=True) - self.WebhookLogs = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/WebhookLogs', - request_serializer=authorizer_dot_v1_dot_admin__pb2.WebhookLogsRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.WebhookLogsResponse.FromString, - _registered_method=True) - self.TestEndpoint = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/TestEndpoint', - request_serializer=authorizer_dot_v1_dot_admin__pb2.TestEndpointRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.TestEndpointResponse.FromString, - _registered_method=True) - self.AddEmailTemplate = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AddEmailTemplate', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AddEmailTemplateRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AddEmailTemplateResponse.FromString, - _registered_method=True) - self.UpdateEmailTemplate = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/UpdateEmailTemplate', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateEmailTemplateRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateEmailTemplateResponse.FromString, - _registered_method=True) - self.DeleteEmailTemplate = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/DeleteEmailTemplate', - request_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteEmailTemplateRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteEmailTemplateResponse.FromString, - _registered_method=True) - self.EmailTemplates = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/EmailTemplates', - request_serializer=authorizer_dot_v1_dot_admin__pb2.EmailTemplatesRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.EmailTemplatesResponse.FromString, - _registered_method=True) - self.AuditLogs = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AuditLogs', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AuditLogsRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AuditLogsResponse.FromString, - _registered_method=True) - self.FgaGetModel = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaGetModel', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaGetModelRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaGetModelResponse.FromString, - _registered_method=True) - self.FgaWriteModel = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaWriteModel', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteModelRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteModelResponse.FromString, - _registered_method=True) - self.FgaWriteTuples = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaWriteTuples', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteTuplesRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteTuplesResponse.FromString, - _registered_method=True) - self.FgaDeleteTuples = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaDeleteTuples', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaDeleteTuplesRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaDeleteTuplesResponse.FromString, - _registered_method=True) - self.FgaReadTuples = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaReadTuples', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaReadTuplesRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaReadTuplesResponse.FromString, - _registered_method=True) - self.FgaListUsers = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaListUsers', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaListUsersRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaListUsersResponse.FromString, - _registered_method=True) - self.FgaExpand = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaExpand', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaExpandRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaExpandResponse.FromString, - _registered_method=True) - self.FgaReset = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/FgaReset', - request_serializer=authorizer_dot_v1_dot_admin__pb2.FgaResetRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaResetResponse.FromString, - _registered_method=True) - self.CreateClient = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/CreateClient', - request_serializer=authorizer_dot_v1_dot_admin__pb2.CreateClientRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.CreateClientResponse.FromString, - _registered_method=True) - self.UpdateClient = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/UpdateClient', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateClientRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateClientResponse.FromString, - _registered_method=True) - self.DeleteClient = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/DeleteClient', - request_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteClientRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteClientResponse.FromString, - _registered_method=True) - self.RotateClientSecret = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/RotateClientSecret', - request_serializer=authorizer_dot_v1_dot_admin__pb2.RotateClientSecretRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.CreateClientResponse.FromString, - _registered_method=True) - self.GetClient = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/GetClient', - request_serializer=authorizer_dot_v1_dot_admin__pb2.GetClientRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.GetClientResponse.FromString, - _registered_method=True) - self.Clients = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/Clients', - request_serializer=authorizer_dot_v1_dot_admin__pb2.ClientsRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.ClientsResponse.FromString, - _registered_method=True) - self.AddTrustedIssuer = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/AddTrustedIssuer', - request_serializer=authorizer_dot_v1_dot_admin__pb2.AddTrustedIssuerRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.AddTrustedIssuerResponse.FromString, - _registered_method=True) - self.UpdateTrustedIssuer = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/UpdateTrustedIssuer', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateTrustedIssuerRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateTrustedIssuerResponse.FromString, - _registered_method=True) - self.DeleteTrustedIssuer = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/DeleteTrustedIssuer', - request_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteTrustedIssuerRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteTrustedIssuerResponse.FromString, - _registered_method=True) - self.GetTrustedIssuer = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/GetTrustedIssuer', - request_serializer=authorizer_dot_v1_dot_admin__pb2.GetTrustedIssuerRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.GetTrustedIssuerResponse.FromString, - _registered_method=True) - self.TrustedIssuers = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/TrustedIssuers', - request_serializer=authorizer_dot_v1_dot_admin__pb2.TrustedIssuersRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.TrustedIssuersResponse.FromString, - _registered_method=True) - self.CreateSamlServiceProvider = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/CreateSamlServiceProvider', - request_serializer=authorizer_dot_v1_dot_admin__pb2.CreateSamlServiceProviderRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.CreateSamlServiceProviderResponse.FromString, - _registered_method=True) - self.UpdateSamlServiceProvider = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/UpdateSamlServiceProvider', - request_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateSamlServiceProviderRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateSamlServiceProviderResponse.FromString, - _registered_method=True) - self.DeleteSamlServiceProvider = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/DeleteSamlServiceProvider', - request_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteSamlServiceProviderRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteSamlServiceProviderResponse.FromString, - _registered_method=True) - self.GetSamlServiceProvider = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/GetSamlServiceProvider', - request_serializer=authorizer_dot_v1_dot_admin__pb2.GetSamlServiceProviderRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.GetSamlServiceProviderResponse.FromString, - _registered_method=True) - self.ListSamlServiceProviders = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/ListSamlServiceProviders', - request_serializer=authorizer_dot_v1_dot_admin__pb2.ListSamlServiceProvidersRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.ListSamlServiceProvidersResponse.FromString, - _registered_method=True) - self.RotateSamlIdpCert = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/RotateSamlIdpCert', - request_serializer=authorizer_dot_v1_dot_admin__pb2.RotateSamlIdpCertRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.RotateSamlIdpCertResponse.FromString, - _registered_method=True) - self.RetireSamlIdpKey = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/RetireSamlIdpKey', - request_serializer=authorizer_dot_v1_dot_admin__pb2.RetireSamlIdpKeyRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.RetireSamlIdpKeyResponse.FromString, - _registered_method=True) - self.ListSamlIdpKeys = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/ListSamlIdpKeys', - request_serializer=authorizer_dot_v1_dot_admin__pb2.ListSamlIdpKeysRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.ListSamlIdpKeysResponse.FromString, - _registered_method=True) - self.ImportSamlSpMetadata = channel.unary_unary( - '/authorizer.v1.AuthorizerAdminService/ImportSamlSpMetadata', - request_serializer=authorizer_dot_v1_dot_admin__pb2.ImportSamlSpMetadataRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_admin__pb2.ImportSamlSpMetadataResponse.FromString, - _registered_method=True) - - -class AuthorizerAdminServiceServicer(object): - """AuthorizerAdminService is the single gRPC service for Authorizer's admin - (super-admin-only) API surface. RPCs are added one domain group at a time; - see specs/2026-06-15-authorizer-admin-service-plan.md. - === Admin auth + meta === - """ - - def AdminLogin(self, request, context): - """AdminLogin validates the admin secret and establishes an admin session - (Set-Cookie for browser callers). Public entry point — the ONLY admin RPC - that does not require an existing super-admin session. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AdminLogout(self, request, context): - """AdminLogout clears the admin session cookie. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AdminSession(self, request, context): - """AdminSession refreshes the admin session cookie. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AdminMeta(self, request, context): - """AdminMeta returns admin-only configuration metadata (configured roles, - default roles, protected roles). Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Users(self, request, context): - """=== Users === - - Users returns a paginated list of all users. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def User(self, request, context): - """User returns a single user by id or email. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateUser(self, request, context): - """UpdateUser updates a user's profile, roles, MFA, or verification state and - returns the updated user. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteUser(self, request, context): - """DeleteUser deletes a user (and associated OTP/verification data) by email. - Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def VerificationRequests(self, request, context): - """VerificationRequests returns a paginated list of pending verification - requests. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RevokeAccess(self, request, context): - """=== Access === - - RevokeAccess revokes a user's access (sets the revoked timestamp), kills - their sessions, and fires the access-revoked webhook. Requires super-admin - auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def EnableAccess(self, request, context): - """EnableAccess re-enables a previously revoked user (clears the revoked - timestamp) and fires the access-enabled webhook. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def InviteMembers(self, request, context): - """InviteMembers creates accounts for new emails and sends invite emails. - Requires super-admin auth and a configured email service. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AddWebhook(self, request, context): - """=== Webhooks === - - AddWebhook registers a new webhook for an event. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateWebhook(self, request, context): - """UpdateWebhook updates an existing webhook's event, endpoint, headers, or - enabled state. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteWebhook(self, request, context): - """DeleteWebhook deletes a webhook by id. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetWebhook(self, request, context): - """GetWebhook returns a single webhook by id. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Webhooks(self, request, context): - """Webhooks returns a paginated list of webhooks. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def WebhookLogs(self, request, context): - """WebhookLogs returns a paginated list of webhook delivery logs, optionally - filtered by webhook id. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def TestEndpoint(self, request, context): - """TestEndpoint sends a synthetic event payload to a webhook endpoint and - returns the HTTP status and response body. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AddEmailTemplate(self, request, context): - """=== Email templates === - - AddEmailTemplate creates a new email template for an event. Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateEmailTemplate(self, request, context): - """UpdateEmailTemplate updates an existing email template's event, subject, - body, or design. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteEmailTemplate(self, request, context): - """DeleteEmailTemplate deletes an email template by id. Requires super-admin - auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def EmailTemplates(self, request, context): - """EmailTemplates returns a paginated list of email templates. Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AuditLogs(self, request, context): - """=== Audit === - - AuditLogs returns a paginated, optionally-filtered list of audit log - entries. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaGetModel(self, request, context): - """=== FGA (fine-grained authorization) admin === - - Every FGA admin RPC fails closed when no authorization engine is configured - (no --fga-store): it returns FailedPrecondition rather than nil-deref or - silently succeeding. Requires super-admin auth. - - FgaGetModel returns the active fine-grained authorization model as DSL. A - store with no model yet returns an empty model (not an error). Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaWriteModel(self, request, context): - """FgaWriteModel installs a new fine-grained authorization model from its DSL - and returns the new model id. Requires super-admin auth. Audited. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaWriteTuples(self, request, context): - """FgaWriteTuples persists the given relationship tuples (additive). Requires - super-admin auth. Audited. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaDeleteTuples(self, request, context): - """FgaDeleteTuples removes the given relationship tuples. Requires super-admin - auth. Audited. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaReadTuples(self, request, context): - """FgaReadTuples returns a page of persisted tuples matching the filter. - Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaListUsers(self, request, context): - """FgaListUsers returns the fully-qualified user ids of user_type that have - relation on object ("who can access this object?"). Requires super-admin - auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaExpand(self, request, context): - """FgaExpand returns the OpenFGA relationship/userset tree for (relation, - object) as a JSON string (the explainability primitive). Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FgaReset(self, request, context): - """FgaReset deletes the entire fine-grained authorization store (the model, - all its versions, and all tuples) and starts a fresh, empty store. Refused - while any tuples still exist. Requires super-admin auth. Destructive and - audited. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateClient(self, request, context): - """=== Service Accounts === - - CreateClient provisions a new machine/workload identity and returns - the generated client secret exactly once (only the bcrypt hash is stored). - Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateClient(self, request, context): - """UpdateClient updates a service account's name, description, allowed - scopes, or active state. It never touches the client secret. Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteClient(self, request, context): - """DeleteClient deletes a service account by id, cascading to its - trusted issuers. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RotateClientSecret(self, request, context): - """RotateClientSecret replaces the stored client secret with a fresh - one and returns the new plaintext exactly once (the old secret stops - validating immediately). Reuses CreateClientResponse — the only - admin message that carries a secret. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetClient(self, request, context): - """GetClient returns a single service account by id. The client secret - is never surfaced. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Clients(self, request, context): - """Clients returns a paginated list of service accounts. Client secrets - are never surfaced. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AddTrustedIssuer(self, request, context): - """=== Trusted Issuers === - - AddTrustedIssuer registers an external JWT issuer for a service account. - subject_claim defaults to "sub" when omitted. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateTrustedIssuer(self, request, context): - """UpdateTrustedIssuer updates a trusted issuer's name, JWKS URL, expected - audience, active state, or SPIFFE refresh hint. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteTrustedIssuer(self, request, context): - """DeleteTrustedIssuer deletes a trusted issuer by id. Requires super-admin - auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTrustedIssuer(self, request, context): - """GetTrustedIssuer returns a single trusted issuer by id. Requires super-admin - auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def TrustedIssuers(self, request, context): - """TrustedIssuers returns a paginated list of trusted issuers, optionally - filtered by service_account_id. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateSamlServiceProvider(self, request, context): - """=== SAML IdP: downstream service providers === - - CreateSamlServiceProvider registers a downstream SAML 2.0 SP that Authorizer - (acting as the IdP) issues signed assertions to. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateSamlServiceProvider(self, request, context): - """UpdateSamlServiceProvider updates a downstream SP's name, endpoints, - certificate, attribute mapping, or active state. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteSamlServiceProvider(self, request, context): - """DeleteSamlServiceProvider deletes a downstream SP by id. Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetSamlServiceProvider(self, request, context): - """GetSamlServiceProvider returns a single downstream SP by id. Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListSamlServiceProviders(self, request, context): - """ListSamlServiceProviders returns a paginated list of downstream SPs for an - org. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RotateSamlIdpCert(self, request, context): - """=== SAML IdP: signing key rotation & SP-metadata import === - - RotateSamlIdpCert generates a new current signing keypair for an org's SAML - IdP, demoting the previous current key. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RetireSamlIdpKey(self, request, context): - """RetireSamlIdpKey retires a published-but-not-signing SAML IdP key by id. - Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListSamlIdpKeys(self, request, context): - """ListSamlIdpKeys returns all SAML IdP signing keys for an org. Requires - super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ImportSamlSpMetadata(self, request, context): - """ImportSamlSpMetadata parses pasted SP metadata XML and returns the fields to - prefill a create call. It does NOT create a record and performs no remote - fetch. Requires super-admin auth. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_AuthorizerAdminServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'AdminLogin': grpc.unary_unary_rpc_method_handler( - servicer.AdminLogin, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminLoginRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AdminLoginResponse.SerializeToString, - ), - 'AdminLogout': grpc.unary_unary_rpc_method_handler( - servicer.AdminLogout, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminLogoutRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AdminLogoutResponse.SerializeToString, - ), - 'AdminSession': grpc.unary_unary_rpc_method_handler( - servicer.AdminSession, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminSessionRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AdminSessionResponse.SerializeToString, - ), - 'AdminMeta': grpc.unary_unary_rpc_method_handler( - servicer.AdminMeta, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AdminMetaRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AdminMetaResponse.SerializeToString, - ), - 'Users': grpc.unary_unary_rpc_method_handler( - servicer.Users, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UsersRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UsersResponse.SerializeToString, - ), - 'User': grpc.unary_unary_rpc_method_handler( - servicer.User, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UserRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UserResponse.SerializeToString, - ), - 'UpdateUser': grpc.unary_unary_rpc_method_handler( - servicer.UpdateUser, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateUserRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateUserResponse.SerializeToString, - ), - 'DeleteUser': grpc.unary_unary_rpc_method_handler( - servicer.DeleteUser, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteUserRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteUserResponse.SerializeToString, - ), - 'VerificationRequests': grpc.unary_unary_rpc_method_handler( - servicer.VerificationRequests, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.VerificationRequestsRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.VerificationRequestsResponse.SerializeToString, - ), - 'RevokeAccess': grpc.unary_unary_rpc_method_handler( - servicer.RevokeAccess, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.RevokeAccessRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.RevokeAccessResponse.SerializeToString, - ), - 'EnableAccess': grpc.unary_unary_rpc_method_handler( - servicer.EnableAccess, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.EnableAccessRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.EnableAccessResponse.SerializeToString, - ), - 'InviteMembers': grpc.unary_unary_rpc_method_handler( - servicer.InviteMembers, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.InviteMembersRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.InviteMembersResponse.SerializeToString, - ), - 'AddWebhook': grpc.unary_unary_rpc_method_handler( - servicer.AddWebhook, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AddWebhookRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AddWebhookResponse.SerializeToString, - ), - 'UpdateWebhook': grpc.unary_unary_rpc_method_handler( - servicer.UpdateWebhook, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateWebhookRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateWebhookResponse.SerializeToString, - ), - 'DeleteWebhook': grpc.unary_unary_rpc_method_handler( - servicer.DeleteWebhook, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteWebhookRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteWebhookResponse.SerializeToString, - ), - 'GetWebhook': grpc.unary_unary_rpc_method_handler( - servicer.GetWebhook, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.GetWebhookRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.GetWebhookResponse.SerializeToString, - ), - 'Webhooks': grpc.unary_unary_rpc_method_handler( - servicer.Webhooks, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.WebhooksRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.WebhooksResponse.SerializeToString, - ), - 'WebhookLogs': grpc.unary_unary_rpc_method_handler( - servicer.WebhookLogs, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.WebhookLogsRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.WebhookLogsResponse.SerializeToString, - ), - 'TestEndpoint': grpc.unary_unary_rpc_method_handler( - servicer.TestEndpoint, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.TestEndpointRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.TestEndpointResponse.SerializeToString, - ), - 'AddEmailTemplate': grpc.unary_unary_rpc_method_handler( - servicer.AddEmailTemplate, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AddEmailTemplateRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AddEmailTemplateResponse.SerializeToString, - ), - 'UpdateEmailTemplate': grpc.unary_unary_rpc_method_handler( - servicer.UpdateEmailTemplate, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateEmailTemplateRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateEmailTemplateResponse.SerializeToString, - ), - 'DeleteEmailTemplate': grpc.unary_unary_rpc_method_handler( - servicer.DeleteEmailTemplate, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteEmailTemplateRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteEmailTemplateResponse.SerializeToString, - ), - 'EmailTemplates': grpc.unary_unary_rpc_method_handler( - servicer.EmailTemplates, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.EmailTemplatesRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.EmailTemplatesResponse.SerializeToString, - ), - 'AuditLogs': grpc.unary_unary_rpc_method_handler( - servicer.AuditLogs, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AuditLogsRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AuditLogsResponse.SerializeToString, - ), - 'FgaGetModel': grpc.unary_unary_rpc_method_handler( - servicer.FgaGetModel, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaGetModelRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaGetModelResponse.SerializeToString, - ), - 'FgaWriteModel': grpc.unary_unary_rpc_method_handler( - servicer.FgaWriteModel, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteModelRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteModelResponse.SerializeToString, - ), - 'FgaWriteTuples': grpc.unary_unary_rpc_method_handler( - servicer.FgaWriteTuples, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteTuplesRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaWriteTuplesResponse.SerializeToString, - ), - 'FgaDeleteTuples': grpc.unary_unary_rpc_method_handler( - servicer.FgaDeleteTuples, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaDeleteTuplesRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaDeleteTuplesResponse.SerializeToString, - ), - 'FgaReadTuples': grpc.unary_unary_rpc_method_handler( - servicer.FgaReadTuples, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaReadTuplesRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaReadTuplesResponse.SerializeToString, - ), - 'FgaListUsers': grpc.unary_unary_rpc_method_handler( - servicer.FgaListUsers, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaListUsersRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaListUsersResponse.SerializeToString, - ), - 'FgaExpand': grpc.unary_unary_rpc_method_handler( - servicer.FgaExpand, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaExpandRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaExpandResponse.SerializeToString, - ), - 'FgaReset': grpc.unary_unary_rpc_method_handler( - servicer.FgaReset, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.FgaResetRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.FgaResetResponse.SerializeToString, - ), - 'CreateClient': grpc.unary_unary_rpc_method_handler( - servicer.CreateClient, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.CreateClientRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.CreateClientResponse.SerializeToString, - ), - 'UpdateClient': grpc.unary_unary_rpc_method_handler( - servicer.UpdateClient, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateClientRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateClientResponse.SerializeToString, - ), - 'DeleteClient': grpc.unary_unary_rpc_method_handler( - servicer.DeleteClient, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteClientRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteClientResponse.SerializeToString, - ), - 'RotateClientSecret': grpc.unary_unary_rpc_method_handler( - servicer.RotateClientSecret, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.RotateClientSecretRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.CreateClientResponse.SerializeToString, - ), - 'GetClient': grpc.unary_unary_rpc_method_handler( - servicer.GetClient, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.GetClientRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.GetClientResponse.SerializeToString, - ), - 'Clients': grpc.unary_unary_rpc_method_handler( - servicer.Clients, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.ClientsRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.ClientsResponse.SerializeToString, - ), - 'AddTrustedIssuer': grpc.unary_unary_rpc_method_handler( - servicer.AddTrustedIssuer, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.AddTrustedIssuerRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.AddTrustedIssuerResponse.SerializeToString, - ), - 'UpdateTrustedIssuer': grpc.unary_unary_rpc_method_handler( - servicer.UpdateTrustedIssuer, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateTrustedIssuerRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateTrustedIssuerResponse.SerializeToString, - ), - 'DeleteTrustedIssuer': grpc.unary_unary_rpc_method_handler( - servicer.DeleteTrustedIssuer, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteTrustedIssuerRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteTrustedIssuerResponse.SerializeToString, - ), - 'GetTrustedIssuer': grpc.unary_unary_rpc_method_handler( - servicer.GetTrustedIssuer, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.GetTrustedIssuerRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.GetTrustedIssuerResponse.SerializeToString, - ), - 'TrustedIssuers': grpc.unary_unary_rpc_method_handler( - servicer.TrustedIssuers, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.TrustedIssuersRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.TrustedIssuersResponse.SerializeToString, - ), - 'CreateSamlServiceProvider': grpc.unary_unary_rpc_method_handler( - servicer.CreateSamlServiceProvider, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.CreateSamlServiceProviderRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.CreateSamlServiceProviderResponse.SerializeToString, - ), - 'UpdateSamlServiceProvider': grpc.unary_unary_rpc_method_handler( - servicer.UpdateSamlServiceProvider, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.UpdateSamlServiceProviderRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.UpdateSamlServiceProviderResponse.SerializeToString, - ), - 'DeleteSamlServiceProvider': grpc.unary_unary_rpc_method_handler( - servicer.DeleteSamlServiceProvider, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.DeleteSamlServiceProviderRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.DeleteSamlServiceProviderResponse.SerializeToString, - ), - 'GetSamlServiceProvider': grpc.unary_unary_rpc_method_handler( - servicer.GetSamlServiceProvider, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.GetSamlServiceProviderRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.GetSamlServiceProviderResponse.SerializeToString, - ), - 'ListSamlServiceProviders': grpc.unary_unary_rpc_method_handler( - servicer.ListSamlServiceProviders, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.ListSamlServiceProvidersRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.ListSamlServiceProvidersResponse.SerializeToString, - ), - 'RotateSamlIdpCert': grpc.unary_unary_rpc_method_handler( - servicer.RotateSamlIdpCert, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.RotateSamlIdpCertRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.RotateSamlIdpCertResponse.SerializeToString, - ), - 'RetireSamlIdpKey': grpc.unary_unary_rpc_method_handler( - servicer.RetireSamlIdpKey, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.RetireSamlIdpKeyRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.RetireSamlIdpKeyResponse.SerializeToString, - ), - 'ListSamlIdpKeys': grpc.unary_unary_rpc_method_handler( - servicer.ListSamlIdpKeys, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.ListSamlIdpKeysRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.ListSamlIdpKeysResponse.SerializeToString, - ), - 'ImportSamlSpMetadata': grpc.unary_unary_rpc_method_handler( - servicer.ImportSamlSpMetadata, - request_deserializer=authorizer_dot_v1_dot_admin__pb2.ImportSamlSpMetadataRequest.FromString, - response_serializer=authorizer_dot_v1_dot_admin__pb2.ImportSamlSpMetadataResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'authorizer.v1.AuthorizerAdminService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('authorizer.v1.AuthorizerAdminService', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class AuthorizerAdminService(object): - """AuthorizerAdminService is the single gRPC service for Authorizer's admin - (super-admin-only) API surface. RPCs are added one domain group at a time; - see specs/2026-06-15-authorizer-admin-service-plan.md. - === Admin auth + meta === - """ - - @staticmethod - def AdminLogin(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AdminLogin', - authorizer_dot_v1_dot_admin__pb2.AdminLoginRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AdminLoginResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AdminLogout(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AdminLogout', - authorizer_dot_v1_dot_admin__pb2.AdminLogoutRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AdminLogoutResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AdminSession(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AdminSession', - authorizer_dot_v1_dot_admin__pb2.AdminSessionRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AdminSessionResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AdminMeta(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AdminMeta', - authorizer_dot_v1_dot_admin__pb2.AdminMetaRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AdminMetaResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Users(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/Users', - authorizer_dot_v1_dot_admin__pb2.UsersRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UsersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def User(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/User', - authorizer_dot_v1_dot_admin__pb2.UserRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UserResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateUser(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/UpdateUser', - authorizer_dot_v1_dot_admin__pb2.UpdateUserRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UpdateUserResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeleteUser(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/DeleteUser', - authorizer_dot_v1_dot_admin__pb2.DeleteUserRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.DeleteUserResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def VerificationRequests(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/VerificationRequests', - authorizer_dot_v1_dot_admin__pb2.VerificationRequestsRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.VerificationRequestsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RevokeAccess(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/RevokeAccess', - authorizer_dot_v1_dot_admin__pb2.RevokeAccessRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.RevokeAccessResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def EnableAccess(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/EnableAccess', - authorizer_dot_v1_dot_admin__pb2.EnableAccessRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.EnableAccessResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def InviteMembers(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/InviteMembers', - authorizer_dot_v1_dot_admin__pb2.InviteMembersRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.InviteMembersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AddWebhook(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AddWebhook', - authorizer_dot_v1_dot_admin__pb2.AddWebhookRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AddWebhookResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateWebhook(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/UpdateWebhook', - authorizer_dot_v1_dot_admin__pb2.UpdateWebhookRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UpdateWebhookResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeleteWebhook(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/DeleteWebhook', - authorizer_dot_v1_dot_admin__pb2.DeleteWebhookRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.DeleteWebhookResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetWebhook(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/GetWebhook', - authorizer_dot_v1_dot_admin__pb2.GetWebhookRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.GetWebhookResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Webhooks(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/Webhooks', - authorizer_dot_v1_dot_admin__pb2.WebhooksRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.WebhooksResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def WebhookLogs(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/WebhookLogs', - authorizer_dot_v1_dot_admin__pb2.WebhookLogsRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.WebhookLogsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def TestEndpoint(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/TestEndpoint', - authorizer_dot_v1_dot_admin__pb2.TestEndpointRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.TestEndpointResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AddEmailTemplate(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AddEmailTemplate', - authorizer_dot_v1_dot_admin__pb2.AddEmailTemplateRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AddEmailTemplateResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateEmailTemplate(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/UpdateEmailTemplate', - authorizer_dot_v1_dot_admin__pb2.UpdateEmailTemplateRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UpdateEmailTemplateResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeleteEmailTemplate(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/DeleteEmailTemplate', - authorizer_dot_v1_dot_admin__pb2.DeleteEmailTemplateRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.DeleteEmailTemplateResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def EmailTemplates(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/EmailTemplates', - authorizer_dot_v1_dot_admin__pb2.EmailTemplatesRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.EmailTemplatesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AuditLogs(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AuditLogs', - authorizer_dot_v1_dot_admin__pb2.AuditLogsRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AuditLogsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaGetModel(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaGetModel', - authorizer_dot_v1_dot_admin__pb2.FgaGetModelRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaGetModelResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaWriteModel(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaWriteModel', - authorizer_dot_v1_dot_admin__pb2.FgaWriteModelRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaWriteModelResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaWriteTuples(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaWriteTuples', - authorizer_dot_v1_dot_admin__pb2.FgaWriteTuplesRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaWriteTuplesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaDeleteTuples(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaDeleteTuples', - authorizer_dot_v1_dot_admin__pb2.FgaDeleteTuplesRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaDeleteTuplesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaReadTuples(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaReadTuples', - authorizer_dot_v1_dot_admin__pb2.FgaReadTuplesRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaReadTuplesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaListUsers(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaListUsers', - authorizer_dot_v1_dot_admin__pb2.FgaListUsersRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaListUsersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaExpand(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaExpand', - authorizer_dot_v1_dot_admin__pb2.FgaExpandRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaExpandResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FgaReset(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/FgaReset', - authorizer_dot_v1_dot_admin__pb2.FgaResetRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.FgaResetResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def CreateClient(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/CreateClient', - authorizer_dot_v1_dot_admin__pb2.CreateClientRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.CreateClientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateClient(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/UpdateClient', - authorizer_dot_v1_dot_admin__pb2.UpdateClientRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UpdateClientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeleteClient(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/DeleteClient', - authorizer_dot_v1_dot_admin__pb2.DeleteClientRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.DeleteClientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RotateClientSecret(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/RotateClientSecret', - authorizer_dot_v1_dot_admin__pb2.RotateClientSecretRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.CreateClientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetClient(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/GetClient', - authorizer_dot_v1_dot_admin__pb2.GetClientRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.GetClientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Clients(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/Clients', - authorizer_dot_v1_dot_admin__pb2.ClientsRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.ClientsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AddTrustedIssuer(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/AddTrustedIssuer', - authorizer_dot_v1_dot_admin__pb2.AddTrustedIssuerRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.AddTrustedIssuerResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateTrustedIssuer(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/UpdateTrustedIssuer', - authorizer_dot_v1_dot_admin__pb2.UpdateTrustedIssuerRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UpdateTrustedIssuerResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeleteTrustedIssuer(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/DeleteTrustedIssuer', - authorizer_dot_v1_dot_admin__pb2.DeleteTrustedIssuerRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.DeleteTrustedIssuerResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetTrustedIssuer(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/GetTrustedIssuer', - authorizer_dot_v1_dot_admin__pb2.GetTrustedIssuerRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.GetTrustedIssuerResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def TrustedIssuers(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/TrustedIssuers', - authorizer_dot_v1_dot_admin__pb2.TrustedIssuersRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.TrustedIssuersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def CreateSamlServiceProvider(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/CreateSamlServiceProvider', - authorizer_dot_v1_dot_admin__pb2.CreateSamlServiceProviderRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.CreateSamlServiceProviderResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateSamlServiceProvider(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/UpdateSamlServiceProvider', - authorizer_dot_v1_dot_admin__pb2.UpdateSamlServiceProviderRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.UpdateSamlServiceProviderResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeleteSamlServiceProvider(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/DeleteSamlServiceProvider', - authorizer_dot_v1_dot_admin__pb2.DeleteSamlServiceProviderRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.DeleteSamlServiceProviderResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetSamlServiceProvider(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/GetSamlServiceProvider', - authorizer_dot_v1_dot_admin__pb2.GetSamlServiceProviderRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.GetSamlServiceProviderResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ListSamlServiceProviders(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/ListSamlServiceProviders', - authorizer_dot_v1_dot_admin__pb2.ListSamlServiceProvidersRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.ListSamlServiceProvidersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RotateSamlIdpCert(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/RotateSamlIdpCert', - authorizer_dot_v1_dot_admin__pb2.RotateSamlIdpCertRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.RotateSamlIdpCertResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RetireSamlIdpKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/RetireSamlIdpKey', - authorizer_dot_v1_dot_admin__pb2.RetireSamlIdpKeyRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.RetireSamlIdpKeyResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ListSamlIdpKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/ListSamlIdpKeys', - authorizer_dot_v1_dot_admin__pb2.ListSamlIdpKeysRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.ListSamlIdpKeysResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ImportSamlSpMetadata(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerAdminService/ImportSamlSpMetadata', - authorizer_dot_v1_dot_admin__pb2.ImportSamlSpMetadataRequest.SerializeToString, - authorizer_dot_v1_dot_admin__pb2.ImportSamlSpMetadataResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/src/authorizer/_grpc/authorizer/v1/annotations_pb2.py b/src/authorizer/_grpc/authorizer/v1/annotations_pb2.py deleted file mode 100644 index ea4d125..0000000 --- a/src/authorizer/_grpc/authorizer/v1/annotations_pb2.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/annotations.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/annotations.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x61uthorizer/v1/annotations.proto\x12\rauthorizer.v1\x1a google/protobuf/descriptor.proto\"I\n\x15PermissionRequirement\x12\x1a\n\x08resource\x18\x01 \x01(\tR\x08resource\x12\x14\n\x05scope\x18\x02 \x01(\tR\x05scope\"b\n\x07McpTool\x12\x18\n\x07\x65xposed\x18\x01 \x01(\x08R\x07\x65xposed\x12\x1b\n\ttool_name\x18\x02 \x01(\tR\x08toolName\x12 \n\x0b\x64\x65structive\x18\x03 \x01(\x08R\x0b\x64\x65structive:y\n\x14required_permissions\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x03(\x0b\x32$.authorizer.v1.PermissionRequirementR\x13requiredPermissions:S\n\x08mcp_tool\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x0b\x32\x16.authorizer.v1.McpToolR\x07mcpTool:=\n\taudit_log\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x01(\x08R\x08\x61uditLog:8\n\x06public\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\x08R\x06publicBz\n\x11\x63om.authorizer.v1B\x10\x41nnotationsProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.annotations_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\020AnnotationsProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_PERMISSIONREQUIREMENT']._serialized_start=84 - _globals['_PERMISSIONREQUIREMENT']._serialized_end=157 - _globals['_MCPTOOL']._serialized_start=159 - _globals['_MCPTOOL']._serialized_end=257 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/annotations_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/annotations_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/authorizer/v1/annotations_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/authorizer/v1/authorizer_pb2.py b/src/authorizer/_grpc/authorizer/v1/authorizer_pb2.py deleted file mode 100644 index 920d469..0000000 --- a/src/authorizer/_grpc/authorizer/v1/authorizer_pb2.py +++ /dev/null @@ -1,246 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/authorizer.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/authorizer.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from authorizer._grpc.authorizer.v1 import annotations_pb2 as authorizer_dot_v1_dot_annotations__pb2 -from authorizer._grpc.authorizer.v1 import common_pb2 as authorizer_dot_v1_dot_common__pb2 -from authorizer._grpc.authorizer.v1 import types_pb2 as authorizer_dot_v1_dot_types__pb2 -from authorizer._grpc.buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -from authorizer._grpc.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x61uthorizer/v1/authorizer.proto\x12\rauthorizer.v1\x1a\x1f\x61uthorizer/v1/annotations.proto\x1a\x1a\x61uthorizer/v1/common.proto\x1a\x19\x61uthorizer/v1/types.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\"\xc3\x04\n\rSignupRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12&\n\x08password\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01R\x08password\x12\x35\n\x10\x63onfirm_password\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01R\x0f\x63onfirmPassword\x12\x1d\n\ngiven_name\x18\x05 \x01(\tR\tgivenName\x12\x1f\n\x0b\x66\x61mily_name\x18\x06 \x01(\tR\nfamilyName\x12\x1f\n\x0bmiddle_name\x18\x07 \x01(\tR\nmiddleName\x12\x1a\n\x08nickname\x18\x08 \x01(\tR\x08nickname\x12\x16\n\x06gender\x18\t \x01(\tR\x06gender\x12\x1c\n\tbirthdate\x18\n \x01(\tR\tbirthdate\x12\x18\n\x07picture\x18\x0b \x01(\tR\x07picture\x12\x14\n\x05roles\x18\x0c \x03(\tR\x05roles\x12\x14\n\x05scope\x18\r \x03(\tR\x05scope\x12!\n\x0credirect_uri\x18\x0e \x01(\tR\x0bredirectUri\x12\x14\n\x05state\x18\x10 \x01(\tR\x05state\x12\x31\n\x08\x61pp_data\x18\x11 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07\x61ppDataJ\x04\x08\x0f\x10\x10R\x1cis_multi_factor_auth_enabled\"\xc4\x01\n\x0cLoginRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12&\n\x08password\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01R\x08password\x12\x14\n\x05roles\x18\x04 \x03(\tR\x05roles\x12\x14\n\x05scope\x18\x05 \x03(\tR\x05scope\x12\x14\n\x05state\x18\x06 \x01(\tR\x05state\"\x0f\n\rLogoutRequest\"*\n\x0eLogoutResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x9c\x01\n\x15MagicLinkLoginRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\x12\x14\n\x05scope\x18\x03 \x03(\tR\x05scope\x12\x14\n\x05state\x18\x04 \x01(\tR\x05state\x12!\n\x0credirect_uri\x18\x05 \x01(\tR\x0bredirectUri\"2\n\x16MagicLinkLoginResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"I\n\x12VerifyEmailRequest\x12\x1d\n\x05token\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05token\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\"y\n\x18ResendVerifyEmailRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12\'\n\nidentifier\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\nidentifier\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\"5\n\x19ResendVerifyEmailResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xaa\x01\n\x10VerifyOtpRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12\x1b\n\x03otp\x18\x03 \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18\x10R\x03otp\x12\x17\n\x07is_totp\x18\x04 \x01(\x08R\x06isTotp\x12\x14\n\x05state\x18\x05 \x01(\tR\x05state\"t\n\x10ResendOtpRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\"-\n\x11ResendOtpResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"w\n\x13SkipMfaSetupRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\"\\\n\x0eLockMfaRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\"+\n\x0fLockMfaResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"e\n\x17\x45mailOtpMfaSetupRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\"4\n\x18\x45mailOtpMfaSetupResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"c\n\x15SmsOtpMfaSetupRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\"2\n\x16SmsOtpMfaSetupResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x9c\x01\n\x15\x46orgotPasswordRequest\x12\x1e\n\x05\x65mail\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12*\n\x0cphone_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\x12!\n\x0credirect_uri\x18\x04 \x01(\tR\x0bredirectUri\"t\n\x16\x46orgotPasswordResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12@\n\x1dshould_show_mobile_otp_screen\x18\x02 \x01(\x08R\x19shouldShowMobileOtpScreen\"\xc9\x01\n\x14ResetPasswordRequest\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\x12\x10\n\x03otp\x18\x02 \x01(\tR\x03otp\x12*\n\x0cphone_number\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12&\n\x08password\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01R\x08password\x12\x35\n\x10\x63onfirm_password\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01R\x0f\x63onfirmPassword\"1\n\x15ResetPasswordResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x10\n\x0eProfileRequest\"\xd4\x04\n\x14UpdateProfileRequest\x12!\n\x0cold_password\x18\x01 \x01(\tR\x0boldPassword\x12+\n\x0cnew_password\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0bnewPassword\x12:\n\x14\x63onfirm_new_password\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x12\x63onfirmNewPassword\x12\x1e\n\x05\x65mail\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\xc0\x02R\x05\x65mail\x12\x1d\n\ngiven_name\x18\x05 \x01(\tR\tgivenName\x12\x1f\n\x0b\x66\x61mily_name\x18\x06 \x01(\tR\nfamilyName\x12\x1f\n\x0bmiddle_name\x18\x07 \x01(\tR\nmiddleName\x12\x1a\n\x08nickname\x18\x08 \x01(\tR\x08nickname\x12\x16\n\x06gender\x18\t \x01(\tR\x06gender\x12\x1c\n\tbirthdate\x18\n \x01(\tR\tbirthdate\x12*\n\x0cphone_number\x18\x0b \x01(\tB\x07\xbaH\x04r\x02\x18 R\x0bphoneNumber\x12\x18\n\x07picture\x18\x0c \x01(\tR\x07picture\x12\x43\n\x1cis_multi_factor_auth_enabled\x18\r \x01(\x08H\x00R\x18isMultiFactorAuthEnabled\x88\x01\x01\x12\x31\n\x08\x61pp_data\x18\x0e \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07\x61ppDataB\x1f\n\x1d_is_multi_factor_auth_enabled\"1\n\x15UpdateProfileResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x1a\n\x18\x44\x65\x61\x63tivateAccountRequest\"5\n\x19\x44\x65\x61\x63tivateAccountResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"=\n\rRevokeRequest\x12,\n\rrefresh_token\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0crefreshToken\"*\n\x0eRevokeResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\xa2\x01\n\x0eSessionRequest\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\x12\x14\n\x05scope\x18\x02 \x03(\tR\x05scope\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\x12N\n\x12required_relations\x18\x04 \x03(\x0b\x32\x1f.authorizer.v1.FgaRelationInputR\x11requiredRelations\"\xc6\x01\n\x17ValidateJwtTokenRequest\x12&\n\ntoken_type\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\ttokenType\x12\x1d\n\x05token\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05token\x12\x14\n\x05roles\x18\x03 \x03(\tR\x05roles\x12N\n\x12required_relations\x18\x04 \x03(\x0b\x32\x1f.authorizer.v1.FgaRelationInputR\x11requiredRelations\"e\n\x18ValidateJwtTokenResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12.\n\x06\x63laims\x18\x02 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x06\x63laims\"\x9f\x01\n\x16ValidateSessionRequest\x12\x1f\n\x06\x63ookie\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x06\x63ookie\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\x12N\n\x12required_relations\x18\x03 \x03(\x0b\x32\x1f.authorizer.v1.FgaRelationInputR\x11requiredRelations\"]\n\x17ValidateSessionResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12\'\n\x04user\x18\x02 \x01(\x0b\x32\x13.authorizer.v1.UserR\x04user\"\r\n\x0bMetaRequest\"v\n\x17\x43heckPermissionsRequest\x12G\n\x06\x63hecks\x18\x01 \x03(\x0b\x32#.authorizer.v1.PermissionCheckInputB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\x64R\x06\x63hecks\x12\x12\n\x04user\x18\x02 \x01(\tR\x04user\"Z\n\x18\x43heckPermissionsResponse\x12>\n\x07results\x18\x01 \x03(\x0b\x32$.authorizer.v1.PermissionCheckResultR\x07results\"i\n\x16ListPermissionsRequest\x12\x1a\n\x08relation\x18\x01 \x01(\tR\x08relation\x12\x1f\n\x0bobject_type\x18\x02 \x01(\tR\nobjectType\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\"\x8e\x01\n\x17ListPermissionsResponse\x12\x18\n\x07objects\x18\x01 \x03(\tR\x07objects\x12;\n\x0bpermissions\x18\x02 \x03(\x0b\x32\x19.authorizer.v1.PermissionR\x0bpermissions\x12\x1c\n\ttruncated\x18\x03 \x01(\x08R\ttruncated2\xe7\x16\n\x11\x41uthorizerService\x12\x66\n\x06Signup\x12\x1c.authorizer.v1.SignupRequest\x1a\x1b.authorizer.v1.AuthResponse\"!\x92\xb5\x18\x00\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x0f\"\n/v1/signup:\x01*\x12\x63\n\x05Login\x12\x1b.authorizer.v1.LoginRequest\x1a\x1b.authorizer.v1.AuthResponse\" \x92\xb5\x18\x00\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x0e\"\t/v1/login:\x01*\x12]\n\x06Logout\x12\x1c.authorizer.v1.LogoutRequest\x1a\x1d.authorizer.v1.LogoutResponse\"\x16\x98\xb5\x18\x01\x82\xd3\xe4\x93\x02\x0c\"\n/v1/logout\x12\x86\x01\n\x0eMagicLinkLogin\x12$.authorizer.v1.MagicLinkLoginRequest\x1a%.authorizer.v1.MagicLinkLoginResponse\"\'\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x19\"\x14/v1/magic_link_login:\x01*\x12r\n\x0bVerifyEmail\x12!.authorizer.v1.VerifyEmailRequest\x1a\x1b.authorizer.v1.AuthResponse\"#\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x15\"\x10/v1/verify_email:\x01*\x12\x8e\x01\n\x11ResendVerifyEmail\x12\'.authorizer.v1.ResendVerifyEmailRequest\x1a(.authorizer.v1.ResendVerifyEmailResponse\"&\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/resend_verify_email:\x01*\x12l\n\tVerifyOtp\x12\x1f.authorizer.v1.VerifyOtpRequest\x1a\x1b.authorizer.v1.AuthResponse\"!\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/verify_otp:\x01*\x12m\n\tResendOtp\x12\x1f.authorizer.v1.ResendOtpRequest\x1a .authorizer.v1.ResendOtpResponse\"\x1d\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/resend_otp:\x01*\x12v\n\x0cSkipMfaSetup\x12\".authorizer.v1.SkipMfaSetupRequest\x1a\x1b.authorizer.v1.AuthResponse\"%\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x17\"\x12/v1/skip_mfa_setup:\x01*\x12i\n\x07LockMfa\x12\x1d.authorizer.v1.LockMfaRequest\x1a\x1e.authorizer.v1.LockMfaResponse\"\x1f\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/lock_mfa:\x01*\x12\x8f\x01\n\x10\x45mailOtpMfaSetup\x12&.authorizer.v1.EmailOtpMfaSetupRequest\x1a\'.authorizer.v1.EmailOtpMfaSetupResponse\"*\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/email_otp_mfa_setup:\x01*\x12\x87\x01\n\x0eSmsOtpMfaSetup\x12$.authorizer.v1.SmsOtpMfaSetupRequest\x1a%.authorizer.v1.SmsOtpMfaSetupResponse\"(\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x1a\"\x15/v1/sms_otp_mfa_setup:\x01*\x12\x81\x01\n\x0e\x46orgotPassword\x12$.authorizer.v1.ForgotPasswordRequest\x1a%.authorizer.v1.ForgotPasswordResponse\"\"\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x18\"\x13/v1/forgot_password:\x01*\x12\x81\x01\n\rResetPassword\x12#.authorizer.v1.ResetPasswordRequest\x1a$.authorizer.v1.ResetPasswordResponse\"%\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x17\"\x12/v1/reset_password:\x01*\x12X\n\x07Profile\x12\x1d.authorizer.v1.ProfileRequest\x1a\x13.authorizer.v1.User\"\x19\x92\xb5\x18\x02\x08\x01\x82\xd3\xe4\x93\x02\r\x12\x0b/v1/profile\x12}\n\rUpdateProfile\x12#.authorizer.v1.UpdateProfileRequest\x1a$.authorizer.v1.UpdateProfileResponse\"!\x98\xb5\x18\x01\x82\xd3\xe4\x93\x02\x17\"\x12/v1/update_profile:\x01*\x12\x93\x01\n\x11\x44\x65\x61\x63tivateAccount\x12\'.authorizer.v1.DeactivateAccountRequest\x1a(.authorizer.v1.DeactivateAccountResponse\"+\x92\xb5\x18\x02\x18\x01\x98\xb5\x18\x01\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/deactivate_account:\x01*\x12\x64\n\x06Revoke\x12\x1c.authorizer.v1.RevokeRequest\x1a\x1d.authorizer.v1.RevokeResponse\"\x1d\x98\xb5\x18\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x0f\"\n/v1/revoke:\x01*\x12]\n\x07Session\x12\x1d.authorizer.v1.SessionRequest\x1a\x1b.authorizer.v1.AuthResponse\"\x16\x82\xd3\xe4\x93\x02\x10\"\x0b/v1/session:\x01*\x12\x8a\x01\n\x10ValidateJwtToken\x12&.authorizer.v1.ValidateJwtTokenRequest\x1a\'.authorizer.v1.ValidateJwtTokenResponse\"%\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/validate_jwt_token:\x01*\x12\x85\x01\n\x0fValidateSession\x12%.authorizer.v1.ValidateSessionRequest\x1a&.authorizer.v1.ValidateSessionResponse\"#\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\x19\"\x14/v1/validate_session:\x01*\x12S\n\x04Meta\x12\x1a.authorizer.v1.MetaRequest\x1a\x13.authorizer.v1.Meta\"\x1a\x92\xb5\x18\x02\x08\x01\xa0\xb5\x18\x01\x82\xd3\xe4\x93\x02\n\x12\x08/v1/meta\x12\x8b\x01\n\x10\x43heckPermissions\x12&.authorizer.v1.CheckPermissionsRequest\x1a\'.authorizer.v1.CheckPermissionsResponse\"&\x92\xb5\x18\x02\x08\x01\x82\xd3\xe4\x93\x02\x1a\"\x15/v1/check_permissions:\x01*\x12\x87\x01\n\x0fListPermissions\x12%.authorizer.v1.ListPermissionsRequest\x1a&.authorizer.v1.ListPermissionsResponse\"%\x92\xb5\x18\x02\x08\x01\x82\xd3\xe4\x93\x02\x19\"\x14/v1/list_permissions:\x01*By\n\x11\x63om.authorizer.v1B\x0f\x41uthorizerProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.authorizer_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\017AuthorizerProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_SIGNUPREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_SIGNUPREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_SIGNUPREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_SIGNUPREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_SIGNUPREQUEST'].fields_by_name['password']._loaded_options = None - _globals['_SIGNUPREQUEST'].fields_by_name['password']._serialized_options = b'\272H\007r\005\020\001\030\200\001' - _globals['_SIGNUPREQUEST'].fields_by_name['confirm_password']._loaded_options = None - _globals['_SIGNUPREQUEST'].fields_by_name['confirm_password']._serialized_options = b'\272H\007r\005\020\001\030\200\001' - _globals['_LOGINREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_LOGINREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_LOGINREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_LOGINREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_LOGINREQUEST'].fields_by_name['password']._loaded_options = None - _globals['_LOGINREQUEST'].fields_by_name['password']._serialized_options = b'\272H\007r\005\020\001\030\200\001' - _globals['_MAGICLINKLOGINREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_MAGICLINKLOGINREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_VERIFYEMAILREQUEST'].fields_by_name['token']._loaded_options = None - _globals['_VERIFYEMAILREQUEST'].fields_by_name['token']._serialized_options = b'\272H\004r\002\020\001' - _globals['_RESENDVERIFYEMAILREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_RESENDVERIFYEMAILREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_RESENDVERIFYEMAILREQUEST'].fields_by_name['identifier']._loaded_options = None - _globals['_RESENDVERIFYEMAILREQUEST'].fields_by_name['identifier']._serialized_options = b'\272H\004r\002\020\001' - _globals['_VERIFYOTPREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_VERIFYOTPREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_VERIFYOTPREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_VERIFYOTPREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_VERIFYOTPREQUEST'].fields_by_name['otp']._loaded_options = None - _globals['_VERIFYOTPREQUEST'].fields_by_name['otp']._serialized_options = b'\272H\006r\004\020\001\030\020' - _globals['_RESENDOTPREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_RESENDOTPREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_RESENDOTPREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_RESENDOTPREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_SKIPMFASETUPREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_SKIPMFASETUPREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_SKIPMFASETUPREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_SKIPMFASETUPREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_LOCKMFAREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_LOCKMFAREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_LOCKMFAREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_LOCKMFAREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_EMAILOTPMFASETUPREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_EMAILOTPMFASETUPREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_EMAILOTPMFASETUPREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_EMAILOTPMFASETUPREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_SMSOTPMFASETUPREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_SMSOTPMFASETUPREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_SMSOTPMFASETUPREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_SMSOTPMFASETUPREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_FORGOTPASSWORDREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_FORGOTPASSWORDREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_FORGOTPASSWORDREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_FORGOTPASSWORDREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_RESETPASSWORDREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_RESETPASSWORDREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_RESETPASSWORDREQUEST'].fields_by_name['password']._loaded_options = None - _globals['_RESETPASSWORDREQUEST'].fields_by_name['password']._serialized_options = b'\272H\007r\005\020\001\030\200\001' - _globals['_RESETPASSWORDREQUEST'].fields_by_name['confirm_password']._loaded_options = None - _globals['_RESETPASSWORDREQUEST'].fields_by_name['confirm_password']._serialized_options = b'\272H\007r\005\020\001\030\200\001' - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['new_password']._loaded_options = None - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['new_password']._serialized_options = b'\272H\005r\003\030\200\001' - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['confirm_new_password']._loaded_options = None - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['confirm_new_password']._serialized_options = b'\272H\005r\003\030\200\001' - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['email']._loaded_options = None - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\005r\003\030\300\002' - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['phone_number']._loaded_options = None - _globals['_UPDATEPROFILEREQUEST'].fields_by_name['phone_number']._serialized_options = b'\272H\004r\002\030 ' - _globals['_REVOKEREQUEST'].fields_by_name['refresh_token']._loaded_options = None - _globals['_REVOKEREQUEST'].fields_by_name['refresh_token']._serialized_options = b'\272H\004r\002\020\001' - _globals['_VALIDATEJWTTOKENREQUEST'].fields_by_name['token_type']._loaded_options = None - _globals['_VALIDATEJWTTOKENREQUEST'].fields_by_name['token_type']._serialized_options = b'\272H\004r\002\020\001' - _globals['_VALIDATEJWTTOKENREQUEST'].fields_by_name['token']._loaded_options = None - _globals['_VALIDATEJWTTOKENREQUEST'].fields_by_name['token']._serialized_options = b'\272H\004r\002\020\001' - _globals['_VALIDATESESSIONREQUEST'].fields_by_name['cookie']._loaded_options = None - _globals['_VALIDATESESSIONREQUEST'].fields_by_name['cookie']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CHECKPERMISSIONSREQUEST'].fields_by_name['checks']._loaded_options = None - _globals['_CHECKPERMISSIONSREQUEST'].fields_by_name['checks']._serialized_options = b'\272H\007\222\001\004\010\001\020d' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Signup']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Signup']._serialized_options = b'\222\265\030\000\230\265\030\001\240\265\030\001\202\323\344\223\002\017\"\n/v1/signup:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Login']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Login']._serialized_options = b'\222\265\030\000\230\265\030\001\240\265\030\001\202\323\344\223\002\016\"\t/v1/login:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Logout']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Logout']._serialized_options = b'\230\265\030\001\202\323\344\223\002\014\"\n/v1/logout' - _globals['_AUTHORIZERSERVICE'].methods_by_name['MagicLinkLogin']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['MagicLinkLogin']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\031\"\024/v1/magic_link_login:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['VerifyEmail']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['VerifyEmail']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\025\"\020/v1/verify_email:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ResendVerifyEmail']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ResendVerifyEmail']._serialized_options = b'\240\265\030\001\202\323\344\223\002\034\"\027/v1/resend_verify_email:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['VerifyOtp']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['VerifyOtp']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\023\"\016/v1/verify_otp:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ResendOtp']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ResendOtp']._serialized_options = b'\240\265\030\001\202\323\344\223\002\023\"\016/v1/resend_otp:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['SkipMfaSetup']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['SkipMfaSetup']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\027\"\022/v1/skip_mfa_setup:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['LockMfa']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['LockMfa']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\021\"\014/v1/lock_mfa:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['EmailOtpMfaSetup']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['EmailOtpMfaSetup']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\034\"\027/v1/email_otp_mfa_setup:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['SmsOtpMfaSetup']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['SmsOtpMfaSetup']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\032\"\025/v1/sms_otp_mfa_setup:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ForgotPassword']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ForgotPassword']._serialized_options = b'\240\265\030\001\202\323\344\223\002\030\"\023/v1/forgot_password:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ResetPassword']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ResetPassword']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\027\"\022/v1/reset_password:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Profile']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Profile']._serialized_options = b'\222\265\030\002\010\001\202\323\344\223\002\r\022\013/v1/profile' - _globals['_AUTHORIZERSERVICE'].methods_by_name['UpdateProfile']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['UpdateProfile']._serialized_options = b'\230\265\030\001\202\323\344\223\002\027\"\022/v1/update_profile:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['DeactivateAccount']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['DeactivateAccount']._serialized_options = b'\222\265\030\002\030\001\230\265\030\001\202\323\344\223\002\033\"\026/v1/deactivate_account:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Revoke']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Revoke']._serialized_options = b'\230\265\030\001\240\265\030\001\202\323\344\223\002\017\"\n/v1/revoke:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Session']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Session']._serialized_options = b'\202\323\344\223\002\020\"\013/v1/session:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ValidateJwtToken']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ValidateJwtToken']._serialized_options = b'\240\265\030\001\202\323\344\223\002\033\"\026/v1/validate_jwt_token:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ValidateSession']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ValidateSession']._serialized_options = b'\240\265\030\001\202\323\344\223\002\031\"\024/v1/validate_session:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['Meta']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['Meta']._serialized_options = b'\222\265\030\002\010\001\240\265\030\001\202\323\344\223\002\n\022\010/v1/meta' - _globals['_AUTHORIZERSERVICE'].methods_by_name['CheckPermissions']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['CheckPermissions']._serialized_options = b'\222\265\030\002\010\001\202\323\344\223\002\032\"\025/v1/check_permissions:\001*' - _globals['_AUTHORIZERSERVICE'].methods_by_name['ListPermissions']._loaded_options = None - _globals['_AUTHORIZERSERVICE'].methods_by_name['ListPermissions']._serialized_options = b'\222\265\030\002\010\001\202\323\344\223\002\031\"\024/v1/list_permissions:\001*' - _globals['_SIGNUPREQUEST']._serialized_start=197 - _globals['_SIGNUPREQUEST']._serialized_end=776 - _globals['_LOGINREQUEST']._serialized_start=779 - _globals['_LOGINREQUEST']._serialized_end=975 - _globals['_LOGOUTREQUEST']._serialized_start=977 - _globals['_LOGOUTREQUEST']._serialized_end=992 - _globals['_LOGOUTRESPONSE']._serialized_start=994 - _globals['_LOGOUTRESPONSE']._serialized_end=1036 - _globals['_MAGICLINKLOGINREQUEST']._serialized_start=1039 - _globals['_MAGICLINKLOGINREQUEST']._serialized_end=1195 - _globals['_MAGICLINKLOGINRESPONSE']._serialized_start=1197 - _globals['_MAGICLINKLOGINRESPONSE']._serialized_end=1247 - _globals['_VERIFYEMAILREQUEST']._serialized_start=1249 - _globals['_VERIFYEMAILREQUEST']._serialized_end=1322 - _globals['_RESENDVERIFYEMAILREQUEST']._serialized_start=1324 - _globals['_RESENDVERIFYEMAILREQUEST']._serialized_end=1445 - _globals['_RESENDVERIFYEMAILRESPONSE']._serialized_start=1447 - _globals['_RESENDVERIFYEMAILRESPONSE']._serialized_end=1500 - _globals['_VERIFYOTPREQUEST']._serialized_start=1503 - _globals['_VERIFYOTPREQUEST']._serialized_end=1673 - _globals['_RESENDOTPREQUEST']._serialized_start=1675 - _globals['_RESENDOTPREQUEST']._serialized_end=1791 - _globals['_RESENDOTPRESPONSE']._serialized_start=1793 - _globals['_RESENDOTPRESPONSE']._serialized_end=1838 - _globals['_SKIPMFASETUPREQUEST']._serialized_start=1840 - _globals['_SKIPMFASETUPREQUEST']._serialized_end=1959 - _globals['_LOCKMFAREQUEST']._serialized_start=1961 - _globals['_LOCKMFAREQUEST']._serialized_end=2053 - _globals['_LOCKMFARESPONSE']._serialized_start=2055 - _globals['_LOCKMFARESPONSE']._serialized_end=2098 - _globals['_EMAILOTPMFASETUPREQUEST']._serialized_start=2100 - _globals['_EMAILOTPMFASETUPREQUEST']._serialized_end=2201 - _globals['_EMAILOTPMFASETUPRESPONSE']._serialized_start=2203 - _globals['_EMAILOTPMFASETUPRESPONSE']._serialized_end=2255 - _globals['_SMSOTPMFASETUPREQUEST']._serialized_start=2257 - _globals['_SMSOTPMFASETUPREQUEST']._serialized_end=2356 - _globals['_SMSOTPMFASETUPRESPONSE']._serialized_start=2358 - _globals['_SMSOTPMFASETUPRESPONSE']._serialized_end=2408 - _globals['_FORGOTPASSWORDREQUEST']._serialized_start=2411 - _globals['_FORGOTPASSWORDREQUEST']._serialized_end=2567 - _globals['_FORGOTPASSWORDRESPONSE']._serialized_start=2569 - _globals['_FORGOTPASSWORDRESPONSE']._serialized_end=2685 - _globals['_RESETPASSWORDREQUEST']._serialized_start=2688 - _globals['_RESETPASSWORDREQUEST']._serialized_end=2889 - _globals['_RESETPASSWORDRESPONSE']._serialized_start=2891 - _globals['_RESETPASSWORDRESPONSE']._serialized_end=2940 - _globals['_PROFILEREQUEST']._serialized_start=2942 - _globals['_PROFILEREQUEST']._serialized_end=2958 - _globals['_UPDATEPROFILEREQUEST']._serialized_start=2961 - _globals['_UPDATEPROFILEREQUEST']._serialized_end=3557 - _globals['_UPDATEPROFILERESPONSE']._serialized_start=3559 - _globals['_UPDATEPROFILERESPONSE']._serialized_end=3608 - _globals['_DEACTIVATEACCOUNTREQUEST']._serialized_start=3610 - _globals['_DEACTIVATEACCOUNTREQUEST']._serialized_end=3636 - _globals['_DEACTIVATEACCOUNTRESPONSE']._serialized_start=3638 - _globals['_DEACTIVATEACCOUNTRESPONSE']._serialized_end=3691 - _globals['_REVOKEREQUEST']._serialized_start=3693 - _globals['_REVOKEREQUEST']._serialized_end=3754 - _globals['_REVOKERESPONSE']._serialized_start=3756 - _globals['_REVOKERESPONSE']._serialized_end=3798 - _globals['_SESSIONREQUEST']._serialized_start=3801 - _globals['_SESSIONREQUEST']._serialized_end=3963 - _globals['_VALIDATEJWTTOKENREQUEST']._serialized_start=3966 - _globals['_VALIDATEJWTTOKENREQUEST']._serialized_end=4164 - _globals['_VALIDATEJWTTOKENRESPONSE']._serialized_start=4166 - _globals['_VALIDATEJWTTOKENRESPONSE']._serialized_end=4267 - _globals['_VALIDATESESSIONREQUEST']._serialized_start=4270 - _globals['_VALIDATESESSIONREQUEST']._serialized_end=4429 - _globals['_VALIDATESESSIONRESPONSE']._serialized_start=4431 - _globals['_VALIDATESESSIONRESPONSE']._serialized_end=4524 - _globals['_METAREQUEST']._serialized_start=4526 - _globals['_METAREQUEST']._serialized_end=4539 - _globals['_CHECKPERMISSIONSREQUEST']._serialized_start=4541 - _globals['_CHECKPERMISSIONSREQUEST']._serialized_end=4659 - _globals['_CHECKPERMISSIONSRESPONSE']._serialized_start=4661 - _globals['_CHECKPERMISSIONSRESPONSE']._serialized_end=4751 - _globals['_LISTPERMISSIONSREQUEST']._serialized_start=4753 - _globals['_LISTPERMISSIONSREQUEST']._serialized_end=4858 - _globals['_LISTPERMISSIONSRESPONSE']._serialized_start=4861 - _globals['_LISTPERMISSIONSRESPONSE']._serialized_end=5003 - _globals['_AUTHORIZERSERVICE']._serialized_start=5006 - _globals['_AUTHORIZERSERVICE']._serialized_end=7925 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/authorizer_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/authorizer_pb2_grpc.py deleted file mode 100644 index 443d6f9..0000000 --- a/src/authorizer/_grpc/authorizer/v1/authorizer_pb2_grpc.py +++ /dev/null @@ -1,1132 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from authorizer._grpc.authorizer.v1 import authorizer_pb2 as authorizer_dot_v1_dot_authorizer__pb2 -from authorizer._grpc.authorizer.v1 import types_pb2 as authorizer_dot_v1_dot_types__pb2 - - -class AuthorizerServiceStub(object): - """=== Identity creation & authentication === - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Signup = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Signup', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.SignupRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - _registered_method=True) - self.Login = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Login', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.LoginRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - _registered_method=True) - self.Logout = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Logout', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.LogoutRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.LogoutResponse.FromString, - _registered_method=True) - self.MagicLinkLogin = channel.unary_unary( - '/authorizer.v1.AuthorizerService/MagicLinkLogin', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.MagicLinkLoginRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.MagicLinkLoginResponse.FromString, - _registered_method=True) - self.VerifyEmail = channel.unary_unary( - '/authorizer.v1.AuthorizerService/VerifyEmail', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.VerifyEmailRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - _registered_method=True) - self.ResendVerifyEmail = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ResendVerifyEmail', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ResendVerifyEmailRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ResendVerifyEmailResponse.FromString, - _registered_method=True) - self.VerifyOtp = channel.unary_unary( - '/authorizer.v1.AuthorizerService/VerifyOtp', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.VerifyOtpRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - _registered_method=True) - self.ResendOtp = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ResendOtp', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ResendOtpRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ResendOtpResponse.FromString, - _registered_method=True) - self.SkipMfaSetup = channel.unary_unary( - '/authorizer.v1.AuthorizerService/SkipMfaSetup', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.SkipMfaSetupRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - _registered_method=True) - self.LockMfa = channel.unary_unary( - '/authorizer.v1.AuthorizerService/LockMfa', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.LockMfaRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.LockMfaResponse.FromString, - _registered_method=True) - self.EmailOtpMfaSetup = channel.unary_unary( - '/authorizer.v1.AuthorizerService/EmailOtpMfaSetup', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.EmailOtpMfaSetupRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.EmailOtpMfaSetupResponse.FromString, - _registered_method=True) - self.SmsOtpMfaSetup = channel.unary_unary( - '/authorizer.v1.AuthorizerService/SmsOtpMfaSetup', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.SmsOtpMfaSetupRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.SmsOtpMfaSetupResponse.FromString, - _registered_method=True) - self.ForgotPassword = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ForgotPassword', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ForgotPasswordRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ForgotPasswordResponse.FromString, - _registered_method=True) - self.ResetPassword = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ResetPassword', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ResetPasswordRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ResetPasswordResponse.FromString, - _registered_method=True) - self.Profile = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Profile', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ProfileRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.User.FromString, - _registered_method=True) - self.UpdateProfile = channel.unary_unary( - '/authorizer.v1.AuthorizerService/UpdateProfile', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.UpdateProfileRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.UpdateProfileResponse.FromString, - _registered_method=True) - self.DeactivateAccount = channel.unary_unary( - '/authorizer.v1.AuthorizerService/DeactivateAccount', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.DeactivateAccountRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.DeactivateAccountResponse.FromString, - _registered_method=True) - self.Revoke = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Revoke', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.RevokeRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.RevokeResponse.FromString, - _registered_method=True) - self.Session = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Session', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.SessionRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - _registered_method=True) - self.ValidateJwtToken = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ValidateJwtToken', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateJwtTokenRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateJwtTokenResponse.FromString, - _registered_method=True) - self.ValidateSession = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ValidateSession', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateSessionRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateSessionResponse.FromString, - _registered_method=True) - self.Meta = channel.unary_unary( - '/authorizer.v1.AuthorizerService/Meta', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.MetaRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_types__pb2.Meta.FromString, - _registered_method=True) - self.CheckPermissions = channel.unary_unary( - '/authorizer.v1.AuthorizerService/CheckPermissions', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.CheckPermissionsRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.CheckPermissionsResponse.FromString, - _registered_method=True) - self.ListPermissions = channel.unary_unary( - '/authorizer.v1.AuthorizerService/ListPermissions', - request_serializer=authorizer_dot_v1_dot_authorizer__pb2.ListPermissionsRequest.SerializeToString, - response_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ListPermissionsResponse.FromString, - _registered_method=True) - - -class AuthorizerServiceServicer(object): - """=== Identity creation & authentication === - """ - - def Signup(self, request, context): - """Signup registers a new user. Public; requires sign-up enabled in config. - Returns AuthResponse with tokens + (browser callers) Set-Cookie headers. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Login(self, request, context): - """Login authenticates with email/phone + password. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Logout(self, request, context): - """Logout ends the caller's current session. POST, not GET: logout mutates - server state (clears the session) and is audit-logged, so it must not be - a "safe" method per RFC 9110 §9.2.1 — GET would also expose it to CSRF. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def MagicLinkLogin(self, request, context): - """MagicLinkLogin dispatches a passwordless email link. The clicked link - hits the existing /verify_email browser handler. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def VerifyEmail(self, request, context): - """=== Email + OTP verification === - - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ResendVerifyEmail(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def VerifyOtp(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ResendOtp(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SkipMfaSetup(self, request, context): - """SkipMfaSetup completes an in-progress, token-withheld MFA offer by - recording that the caller explicitly declined it, then issues the - access token that was withheld. Identified by the MFA session cookie - (set when the offer screen was returned) plus email/phone_number to - resolve the pending user — same identification pattern as VerifyOtp. - Fails with FAILED_PRECONDITION if MFA is organization-enforced - (enforce-mfa) — enforcement is never skippable. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def LockMfa(self, request, context): - """LockMfa records that the caller lost access to their only MFA - factor(s). Only allowed when the caller has NO verified Email/SMS OTP - fallback enrolled — if one exists, use it instead of locking. Does not - issue a token; the account requires admin recovery afterward. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def EmailOtpMfaSetup(self, request, context): - """EmailOtpMfaSetup sends a one-time code to the caller's own email and - creates an unverified email-OTP MFA enrollment. Dual-mode permissions: - (a) an authenticated caller (bearer token) — the settings-screen action - for an ALREADY-logged-in user adding a second factor; the request body is - unused in this mode. (b) a caller in the withheld first-time-offer - state, with no bearer token yet — identified by the MFA session cookie - plus email/phone_number, same pattern as SkipMfaSetup. Either mode - reuses the same underlying Authenticator row once VerifyOtp marks it - verified. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SmsOtpMfaSetup(self, request, context): - """SmsOtpMfaSetup sends a one-time code to the caller's own phone number - and creates an unverified SMS-OTP MFA enrollment. Same dual-mode - permissions and relationship to VerifyOtp as EmailOtpMfaSetup. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ForgotPassword(self, request, context): - """=== Password lifecycle === - - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ResetPassword(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Profile(self, request, context): - """=== Profile + account === - - Profile returns the authenticated user. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateProfile(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeactivateAccount(self, request, context): - """DeactivateAccount soft-deletes the caller's account and revokes all - refresh tokens as a side effect. OAuth has no concept of account - deactivation; this is the typed equivalent of SCIM PATCH active=false. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Revoke(self, request, context): - """=== Token + session === - - Revoke invalidates a refresh token. Typed mirror of RFC 7009. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Session(self, request, context): - """Session returns the AuthResponse bound to the caller's session cookie only. - NOT exposed as an MCP tool — SessionResponse carries access_token, - refresh_token, id_token, authenticator_secret, and recovery codes, - none of which should land in an LLM transcript. (Security audit C1.) - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ValidateJwtToken(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ValidateSession(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Meta(self, request, context): - """=== Server discovery + caller authz === - - Meta returns server feature flags. No auth required. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CheckPermissions(self, request, context): - """CheckPermissions evaluates one or more fine-grained permission checks - ("does the subject have on ?") in a single call and - returns one result per check, in order. The subject defaults to the - authenticated caller; an explicit `user` is honored only for super-admins - or when it equals the caller's own subject. Fail-closed. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListPermissions(self, request, context): - """ListPermissions enumerates what the subject can access. With both - `relation` and `object_type` set it answers "which s can I - ?"; either or both filters may be omitted to enumerate every - matching (type, relation) pair of the active model. Results are capped; - `truncated` reports when more permissions exist. Subject resolution - follows the same rules as CheckPermissions. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_AuthorizerServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Signup': grpc.unary_unary_rpc_method_handler( - servicer.Signup, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.SignupRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.SerializeToString, - ), - 'Login': grpc.unary_unary_rpc_method_handler( - servicer.Login, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.LoginRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.SerializeToString, - ), - 'Logout': grpc.unary_unary_rpc_method_handler( - servicer.Logout, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.LogoutRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.LogoutResponse.SerializeToString, - ), - 'MagicLinkLogin': grpc.unary_unary_rpc_method_handler( - servicer.MagicLinkLogin, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.MagicLinkLoginRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.MagicLinkLoginResponse.SerializeToString, - ), - 'VerifyEmail': grpc.unary_unary_rpc_method_handler( - servicer.VerifyEmail, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.VerifyEmailRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.SerializeToString, - ), - 'ResendVerifyEmail': grpc.unary_unary_rpc_method_handler( - servicer.ResendVerifyEmail, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ResendVerifyEmailRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ResendVerifyEmailResponse.SerializeToString, - ), - 'VerifyOtp': grpc.unary_unary_rpc_method_handler( - servicer.VerifyOtp, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.VerifyOtpRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.SerializeToString, - ), - 'ResendOtp': grpc.unary_unary_rpc_method_handler( - servicer.ResendOtp, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ResendOtpRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ResendOtpResponse.SerializeToString, - ), - 'SkipMfaSetup': grpc.unary_unary_rpc_method_handler( - servicer.SkipMfaSetup, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.SkipMfaSetupRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.SerializeToString, - ), - 'LockMfa': grpc.unary_unary_rpc_method_handler( - servicer.LockMfa, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.LockMfaRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.LockMfaResponse.SerializeToString, - ), - 'EmailOtpMfaSetup': grpc.unary_unary_rpc_method_handler( - servicer.EmailOtpMfaSetup, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.EmailOtpMfaSetupRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.EmailOtpMfaSetupResponse.SerializeToString, - ), - 'SmsOtpMfaSetup': grpc.unary_unary_rpc_method_handler( - servicer.SmsOtpMfaSetup, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.SmsOtpMfaSetupRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.SmsOtpMfaSetupResponse.SerializeToString, - ), - 'ForgotPassword': grpc.unary_unary_rpc_method_handler( - servicer.ForgotPassword, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ForgotPasswordRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ForgotPasswordResponse.SerializeToString, - ), - 'ResetPassword': grpc.unary_unary_rpc_method_handler( - servicer.ResetPassword, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ResetPasswordRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ResetPasswordResponse.SerializeToString, - ), - 'Profile': grpc.unary_unary_rpc_method_handler( - servicer.Profile, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ProfileRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.User.SerializeToString, - ), - 'UpdateProfile': grpc.unary_unary_rpc_method_handler( - servicer.UpdateProfile, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.UpdateProfileRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.UpdateProfileResponse.SerializeToString, - ), - 'DeactivateAccount': grpc.unary_unary_rpc_method_handler( - servicer.DeactivateAccount, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.DeactivateAccountRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.DeactivateAccountResponse.SerializeToString, - ), - 'Revoke': grpc.unary_unary_rpc_method_handler( - servicer.Revoke, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.RevokeRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.RevokeResponse.SerializeToString, - ), - 'Session': grpc.unary_unary_rpc_method_handler( - servicer.Session, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.SessionRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.AuthResponse.SerializeToString, - ), - 'ValidateJwtToken': grpc.unary_unary_rpc_method_handler( - servicer.ValidateJwtToken, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateJwtTokenRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateJwtTokenResponse.SerializeToString, - ), - 'ValidateSession': grpc.unary_unary_rpc_method_handler( - servicer.ValidateSession, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateSessionRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ValidateSessionResponse.SerializeToString, - ), - 'Meta': grpc.unary_unary_rpc_method_handler( - servicer.Meta, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.MetaRequest.FromString, - response_serializer=authorizer_dot_v1_dot_types__pb2.Meta.SerializeToString, - ), - 'CheckPermissions': grpc.unary_unary_rpc_method_handler( - servicer.CheckPermissions, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.CheckPermissionsRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.CheckPermissionsResponse.SerializeToString, - ), - 'ListPermissions': grpc.unary_unary_rpc_method_handler( - servicer.ListPermissions, - request_deserializer=authorizer_dot_v1_dot_authorizer__pb2.ListPermissionsRequest.FromString, - response_serializer=authorizer_dot_v1_dot_authorizer__pb2.ListPermissionsResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'authorizer.v1.AuthorizerService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('authorizer.v1.AuthorizerService', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class AuthorizerService(object): - """=== Identity creation & authentication === - """ - - @staticmethod - def Signup(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Signup', - authorizer_dot_v1_dot_authorizer__pb2.SignupRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Login(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Login', - authorizer_dot_v1_dot_authorizer__pb2.LoginRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Logout(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Logout', - authorizer_dot_v1_dot_authorizer__pb2.LogoutRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.LogoutResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def MagicLinkLogin(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/MagicLinkLogin', - authorizer_dot_v1_dot_authorizer__pb2.MagicLinkLoginRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.MagicLinkLoginResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def VerifyEmail(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/VerifyEmail', - authorizer_dot_v1_dot_authorizer__pb2.VerifyEmailRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ResendVerifyEmail(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ResendVerifyEmail', - authorizer_dot_v1_dot_authorizer__pb2.ResendVerifyEmailRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ResendVerifyEmailResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def VerifyOtp(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/VerifyOtp', - authorizer_dot_v1_dot_authorizer__pb2.VerifyOtpRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ResendOtp(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ResendOtp', - authorizer_dot_v1_dot_authorizer__pb2.ResendOtpRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ResendOtpResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SkipMfaSetup(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/SkipMfaSetup', - authorizer_dot_v1_dot_authorizer__pb2.SkipMfaSetupRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def LockMfa(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/LockMfa', - authorizer_dot_v1_dot_authorizer__pb2.LockMfaRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.LockMfaResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def EmailOtpMfaSetup(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/EmailOtpMfaSetup', - authorizer_dot_v1_dot_authorizer__pb2.EmailOtpMfaSetupRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.EmailOtpMfaSetupResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SmsOtpMfaSetup(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/SmsOtpMfaSetup', - authorizer_dot_v1_dot_authorizer__pb2.SmsOtpMfaSetupRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.SmsOtpMfaSetupResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ForgotPassword(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ForgotPassword', - authorizer_dot_v1_dot_authorizer__pb2.ForgotPasswordRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ForgotPasswordResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ResetPassword(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ResetPassword', - authorizer_dot_v1_dot_authorizer__pb2.ResetPasswordRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ResetPasswordResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Profile(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Profile', - authorizer_dot_v1_dot_authorizer__pb2.ProfileRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.User.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def UpdateProfile(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/UpdateProfile', - authorizer_dot_v1_dot_authorizer__pb2.UpdateProfileRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.UpdateProfileResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def DeactivateAccount(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/DeactivateAccount', - authorizer_dot_v1_dot_authorizer__pb2.DeactivateAccountRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.DeactivateAccountResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Revoke(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Revoke', - authorizer_dot_v1_dot_authorizer__pb2.RevokeRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.RevokeResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Session(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Session', - authorizer_dot_v1_dot_authorizer__pb2.SessionRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.AuthResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ValidateJwtToken(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ValidateJwtToken', - authorizer_dot_v1_dot_authorizer__pb2.ValidateJwtTokenRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ValidateJwtTokenResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ValidateSession(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ValidateSession', - authorizer_dot_v1_dot_authorizer__pb2.ValidateSessionRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ValidateSessionResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Meta(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/Meta', - authorizer_dot_v1_dot_authorizer__pb2.MetaRequest.SerializeToString, - authorizer_dot_v1_dot_types__pb2.Meta.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def CheckPermissions(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/CheckPermissions', - authorizer_dot_v1_dot_authorizer__pb2.CheckPermissionsRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.CheckPermissionsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ListPermissions(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/authorizer.v1.AuthorizerService/ListPermissions', - authorizer_dot_v1_dot_authorizer__pb2.ListPermissionsRequest.SerializeToString, - authorizer_dot_v1_dot_authorizer__pb2.ListPermissionsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/src/authorizer/_grpc/authorizer/v1/common_pb2.py b/src/authorizer/_grpc/authorizer/v1/common_pb2.py deleted file mode 100644 index fb2f90a..0000000 --- a/src/authorizer/_grpc/authorizer/v1/common_pb2.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/common.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/common.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x61uthorizer/v1/common.proto\x12\rauthorizer.v1\x1a\x1cgoogle/protobuf/struct.proto\"8\n\x07\x41ppData\x12-\n\x05value\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x05valueBu\n\x11\x63om.authorizer.v1B\x0b\x43ommonProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.common_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\013CommonProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_APPDATA']._serialized_start=75 - _globals['_APPDATA']._serialized_end=131 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/common_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/common_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/authorizer/v1/common_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/authorizer/v1/errors_pb2.py b/src/authorizer/_grpc/authorizer/v1/errors_pb2.py deleted file mode 100644 index 5e9656f..0000000 --- a/src/authorizer/_grpc/authorizer/v1/errors_pb2.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/errors.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/errors.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x61uthorizer/v1/errors.proto\x12\rauthorizer.v1*\x86\x03\n\x0b\x45rrorReason\x12\x1c\n\x18\x45RROR_REASON_UNSPECIFIED\x10\x00\x12$\n ERROR_REASON_INVALID_CREDENTIALS\x10\x01\x12\"\n\x1e\x45RROR_REASON_PERMISSION_DENIED\x10\x02\x12\x1a\n\x16\x45RROR_REASON_NOT_FOUND\x10\x03\x12\x1f\n\x1b\x45RROR_REASON_ALREADY_EXISTS\x10\x04\x12 \n\x1c\x45RROR_REASON_INVALID_REQUEST\x10\x05\x12&\n\"ERROR_REASON_VERIFICATION_REQUIRED\x10\x06\x12#\n\x1f\x45RROR_REASON_OPERATION_DISABLED\x10\x07\x12\x1d\n\x19\x45RROR_REASON_RATE_LIMITED\x10\x08\x12\x1e\n\x1a\x45RROR_REASON_TOKEN_EXPIRED\x10\t\x12$\n ERROR_REASON_ACCOUNT_DEACTIVATED\x10\nBu\n\x11\x63om.authorizer.v1B\x0b\x45rrorsProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.errors_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\013ErrorsProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_ERRORREASON']._serialized_start=46 - _globals['_ERRORREASON']._serialized_end=436 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/errors_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/errors_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/authorizer/v1/errors_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/authorizer/v1/pagination_pb2.py b/src/authorizer/_grpc/authorizer/v1/pagination_pb2.py deleted file mode 100644 index a75bb76..0000000 --- a/src/authorizer/_grpc/authorizer/v1/pagination_pb2.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/pagination.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/pagination.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from authorizer._grpc.buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x61uthorizer/v1/pagination.proto\x12\rauthorizer.v1\x1a\x1b\x62uf/validate/validate.proto\"q\n\x11PaginationRequest\x12\x1b\n\x04page\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x00R\x04page\x12 \n\x05limit\x18\x02 \x01(\x03\x42\n\xbaH\x07\"\x05\x18\xe8\x07(\x00R\x05limit\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\"\x8c\x01\n\nPagination\x12\x14\n\x05limit\x18\x01 \x01(\x03R\x05limit\x12\x12\n\x04page\x18\x02 \x01(\x03R\x04page\x12\x16\n\x06offset\x18\x03 \x01(\x03R\x06offset\x12\x14\n\x05total\x18\x04 \x01(\x03R\x05total\x12&\n\x0fnext_page_token\x18\x05 \x01(\tR\rnextPageTokenBy\n\x11\x63om.authorizer.v1B\x0fPaginationProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.pagination_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\017PaginationProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_PAGINATIONREQUEST'].fields_by_name['page']._loaded_options = None - _globals['_PAGINATIONREQUEST'].fields_by_name['page']._serialized_options = b'\272H\004\"\002(\000' - _globals['_PAGINATIONREQUEST'].fields_by_name['limit']._loaded_options = None - _globals['_PAGINATIONREQUEST'].fields_by_name['limit']._serialized_options = b'\272H\007\"\005\030\350\007(\000' - _globals['_PAGINATIONREQUEST']._serialized_start=78 - _globals['_PAGINATIONREQUEST']._serialized_end=191 - _globals['_PAGINATION']._serialized_start=194 - _globals['_PAGINATION']._serialized_end=334 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/pagination_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/pagination_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/authorizer/v1/pagination_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/authorizer/v1/types_pb2.py b/src/authorizer/_grpc/authorizer/v1/types_pb2.py deleted file mode 100644 index f599ea5..0000000 --- a/src/authorizer/_grpc/authorizer/v1/types_pb2.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: authorizer/v1/types.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'authorizer/v1/types.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from authorizer._grpc.authorizer.v1 import common_pb2 as authorizer_dot_v1_dot_common__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x61uthorizer/v1/types.proto\x12\rauthorizer.v1\x1a\x1a\x61uthorizer/v1/common.proto\"\x9d\x06\n\x04User\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05\x65mail\x18\x02 \x01(\tR\x05\x65mail\x12%\n\x0e\x65mail_verified\x18\x03 \x01(\x08R\remailVerified\x12%\n\x0esignup_methods\x18\x04 \x01(\tR\rsignupMethods\x12\x1d\n\ngiven_name\x18\x05 \x01(\tR\tgivenName\x12\x1f\n\x0b\x66\x61mily_name\x18\x06 \x01(\tR\nfamilyName\x12\x1f\n\x0bmiddle_name\x18\x07 \x01(\tR\nmiddleName\x12\x1a\n\x08nickname\x18\x08 \x01(\tR\x08nickname\x12-\n\x12preferred_username\x18\t \x01(\tR\x11preferredUsername\x12\x16\n\x06gender\x18\n \x01(\tR\x06gender\x12\x1c\n\tbirthdate\x18\x0b \x01(\tR\tbirthdate\x12!\n\x0cphone_number\x18\x0c \x01(\tR\x0bphoneNumber\x12\x32\n\x15phone_number_verified\x18\r \x01(\x08R\x13phoneNumberVerified\x12\x18\n\x07picture\x18\x0e \x01(\tR\x07picture\x12\x14\n\x05roles\x18\x0f \x03(\tR\x05roles\x12\x1d\n\ncreated_at\x18\x10 \x01(\x03R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x11 \x01(\x03R\tupdatedAt\x12+\n\x11revoked_timestamp\x18\x12 \x01(\x03R\x10revokedTimestamp\x12>\n\x1cis_multi_factor_auth_enabled\x18\x13 \x01(\x08R\x18isMultiFactorAuthEnabled\x12\x31\n\x08\x61pp_data\x18\x14 \x01(\x0b\x32\x16.authorizer.v1.AppDataR\x07\x61ppData\x12\x36\n\x18has_skipped_mfa_setup_at\x18\x15 \x01(\x03R\x14hasSkippedMfaSetupAt\x12\"\n\rmfa_locked_at\x18\x16 \x01(\x03R\x0bmfaLockedAt\"\xd9\x06\n\x0c\x41uthResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x12>\n\x1cshould_show_email_otp_screen\x18\x02 \x01(\x08R\x18shouldShowEmailOtpScreen\x12@\n\x1dshould_show_mobile_otp_screen\x18\x03 \x01(\x08R\x19shouldShowMobileOtpScreen\x12\x35\n\x17should_show_totp_screen\x18\x04 \x01(\x08R\x14shouldShowTotpScreen\x12!\n\x0c\x61\x63\x63\x65ss_token\x18\x05 \x01(\tR\x0b\x61\x63\x63\x65ssToken\x12\x19\n\x08id_token\x18\x06 \x01(\tR\x07idToken\x12#\n\rrefresh_token\x18\x07 \x01(\tR\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x08 \x01(\x03R\texpiresIn\x12\'\n\x04user\x18\t \x01(\x0b\x32\x13.authorizer.v1.UserR\x04user\x12>\n\x1b\x61uthenticator_scanner_image\x18\n \x01(\tR\x19\x61uthenticatorScannerImage\x12\x31\n\x14\x61uthenticator_secret\x18\x0b \x01(\tR\x13\x61uthenticatorSecret\x12@\n\x1c\x61uthenticator_recovery_codes\x18\x0c \x03(\tR\x1a\x61uthenticatorRecoveryCodes\x12\x46\n should_offer_webauthn_mfa_verify\x18\r \x01(\x08R\x1cshouldOfferWebauthnMfaVerify\x12\x44\n\x1fshould_offer_webauthn_mfa_setup\x18\x0e \x01(\x08R\x1bshouldOfferWebauthnMfaSetup\x12\x45\n should_offer_email_otp_mfa_setup\x18\x0f \x01(\x08R\x1bshouldOfferEmailOtpMfaSetup\x12\x41\n\x1eshould_offer_sms_otp_mfa_setup\x18\x10 \x01(\x08R\x19shouldOfferSmsOtpMfaSetup\"@\n\nPermission\x12\x16\n\x06object\x18\x01 \x01(\tR\x06object\x12\x1a\n\x08relation\x18\x02 \x01(\tR\x08relation\"F\n\x10\x46gaRelationInput\x12\x1a\n\x08relation\x18\x01 \x01(\tR\x08relation\x12\x16\n\x06object\x18\x02 \x01(\tR\x06object\"W\n\rFgaTupleInput\x12\x12\n\x04user\x18\x01 \x01(\tR\x04user\x12\x1a\n\x08relation\x18\x02 \x01(\tR\x08relation\x12\x16\n\x06object\x18\x03 \x01(\tR\x06object\"\x95\x01\n\x14PermissionCheckInput\x12\x1a\n\x08relation\x18\x01 \x01(\tR\x08relation\x12\x16\n\x06object\x18\x02 \x01(\tR\x06object\x12I\n\x11\x63ontextual_tuples\x18\x03 \x03(\x0b\x32\x1c.authorizer.v1.FgaTupleInputR\x10\x63ontextualTuples\"e\n\x15PermissionCheckResult\x12\x1a\n\x08relation\x18\x01 \x01(\tR\x08relation\x12\x16\n\x06object\x18\x02 \x01(\tR\x06object\x12\x18\n\x07\x61llowed\x18\x03 \x01(\x08R\x07\x61llowed\"\xa8\x0b\n\x04Meta\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08\x63lientId\x12\x35\n\x17is_google_login_enabled\x18\x03 \x01(\x08R\x14isGoogleLoginEnabled\x12\x39\n\x19is_facebook_login_enabled\x18\x04 \x01(\x08R\x16isFacebookLoginEnabled\x12\x35\n\x17is_github_login_enabled\x18\x05 \x01(\x08R\x14isGithubLoginEnabled\x12\x39\n\x19is_linkedin_login_enabled\x18\x06 \x01(\x08R\x16isLinkedinLoginEnabled\x12\x33\n\x16is_apple_login_enabled\x18\x07 \x01(\x08R\x13isAppleLoginEnabled\x12\x37\n\x18is_discord_login_enabled\x18\x08 \x01(\x08R\x15isDiscordLoginEnabled\x12\x37\n\x18is_twitter_login_enabled\x18\t \x01(\x08R\x15isTwitterLoginEnabled\x12;\n\x1ais_microsoft_login_enabled\x18\n \x01(\x08R\x17isMicrosoftLoginEnabled\x12\x35\n\x17is_twitch_login_enabled\x18\x0b \x01(\x08R\x14isTwitchLoginEnabled\x12\x35\n\x17is_roblox_login_enabled\x18\x0c \x01(\x08R\x14isRobloxLoginEnabled\x12\x41\n\x1dis_email_verification_enabled\x18\r \x01(\x08R\x1aisEmailVerificationEnabled\x12\x45\n\x1fis_basic_authentication_enabled\x18\x0e \x01(\x08R\x1cisBasicAuthenticationEnabled\x12<\n\x1bis_magic_link_login_enabled\x18\x0f \x01(\x08R\x17isMagicLinkLoginEnabled\x12+\n\x12is_sign_up_enabled\x18\x10 \x01(\x08R\x0fisSignUpEnabled\x12;\n\x1ais_strong_password_enabled\x18\x11 \x01(\x08R\x17isStrongPasswordEnabled\x12>\n\x1cis_multi_factor_auth_enabled\x18\x12 \x01(\x08R\x18isMultiFactorAuthEnabled\x12R\n&is_mobile_basic_authentication_enabled\x18\x13 \x01(\x08R\"isMobileBasicAuthenticationEnabled\x12\x41\n\x1dis_phone_verification_enabled\x18\x14 \x01(\x08R\x1aisPhoneVerificationEnabled\x12\x37\n\x18is_org_discovery_enabled\x18\x15 \x01(\x08R\x15isOrgDiscoveryEnabled\x12-\n\x13is_totp_mfa_enabled\x18\x16 \x01(\x08R\x10isTotpMfaEnabled\x12\x36\n\x18is_email_otp_mfa_enabled\x18\x17 \x01(\x08R\x14isEmailOtpMfaEnabled\x12\x32\n\x16is_sms_otp_mfa_enabled\x18\x18 \x01(\x08R\x12isSmsOtpMfaEnabled\x12.\n\x13is_webauthn_enabled\x18\x19 \x01(\x08R\x11isWebauthnEnabled\x12&\n\x0fis_mfa_enforced\x18\x1a \x01(\x08R\risMfaEnforcedBt\n\x11\x63om.authorizer.v1B\nTypesProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorizer.V1\xca\x02\rAuthorizer\\V1\xe2\x02\x19\x41uthorizer\\V1\\GPBMetadata\xea\x02\x0e\x41uthorizer::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorizer.v1.types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizer.v1B\nTypesProtoP\001\242\002\003AXX\252\002\rAuthorizer.V1\312\002\rAuthorizer\\V1\342\002\031Authorizer\\V1\\GPBMetadata\352\002\016Authorizer::V1' - _globals['_USER']._serialized_start=73 - _globals['_USER']._serialized_end=870 - _globals['_AUTHRESPONSE']._serialized_start=873 - _globals['_AUTHRESPONSE']._serialized_end=1730 - _globals['_PERMISSION']._serialized_start=1732 - _globals['_PERMISSION']._serialized_end=1796 - _globals['_FGARELATIONINPUT']._serialized_start=1798 - _globals['_FGARELATIONINPUT']._serialized_end=1868 - _globals['_FGATUPLEINPUT']._serialized_start=1870 - _globals['_FGATUPLEINPUT']._serialized_end=1957 - _globals['_PERMISSIONCHECKINPUT']._serialized_start=1960 - _globals['_PERMISSIONCHECKINPUT']._serialized_end=2109 - _globals['_PERMISSIONCHECKRESULT']._serialized_start=2111 - _globals['_PERMISSIONCHECKRESULT']._serialized_end=2212 - _globals['_META']._serialized_start=2215 - _globals['_META']._serialized_end=3663 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/authorizer/v1/types_pb2_grpc.py b/src/authorizer/_grpc/authorizer/v1/types_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/authorizer/v1/types_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/buf/__init__.py b/src/authorizer/_grpc/buf/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/buf/validate/__init__.py b/src/authorizer/_grpc/buf/validate/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/buf/validate/validate_pb2.py b/src/authorizer/_grpc/buf/validate/validate_pb2.py deleted file mode 100644 index 9c4e043..0000000 --- a/src/authorizer/_grpc/buf/validate/validate_pb2.py +++ /dev/null @@ -1,469 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: buf/validate/validate.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'buf/validate/validate.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"P\n\x04Rule\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"\xa1\x01\n\x0cMessageRules\x12%\n\x0e\x63\x65l_expression\x18\x05 \x03(\tR\rcelExpression\x12$\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65l\x12\x34\n\x05oneof\x18\x04 \x03(\x0b\x32\x1e.buf.validate.MessageOneofRuleR\x05oneofJ\x04\x08\x01\x10\x02R\x08\x64isabled\"F\n\x10MessageOneofRule\x12\x16\n\x06\x66ields\x18\x01 \x03(\tR\x06\x66ields\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required\"(\n\nOneofRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xe3\n\n\nFieldRules\x12%\n\x0e\x63\x65l_expression\x18\x1d \x03(\tR\rcelExpression\x12$\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12=\n\nfield_mask\x18\x1c \x01(\x0b\x32\x1c.buf.validate.FieldMaskRulesH\x00R\tfieldMask\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestampB\x06\n\x04typeJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"Z\n\x0fPredefinedRules\x12$\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65lJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"\xae\x17\n\nFloatRules\x12\x84\x01\n\x05\x63onst\x18\x01 \x01(\x02\x42n\xc2Hk\ni\n\x0b\x66loat.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x9d\x01\n\x02lt\x18\x02 \x01(\x02\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x66loat.lt\x1aw!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xae\x01\n\x03lte\x18\x03 \x01(\x02\x42\x99\x01\xc2H\x95\x01\n\x92\x01\n\tfloat.lte\x1a\x84\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xd4\x07\n\x02gt\x18\x04 \x01(\x02\x42\xc1\x07\xc2H\xbd\x07\n\x86\x01\n\x08\x66loat.gt\x1az!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xbd\x01\n\x0b\x66loat.gt_lt\x1a\xad\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc7\x01\n\x15\x66loat.gt_lt_exclusive\x1a\xad\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xcd\x01\n\x0c\x66loat.gt_lte\x1a\xbc\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xd7\x01\n\x16\x66loat.gt_lte_exclusive\x1a\xbc\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xa1\x08\n\x03gte\x18\x05 \x01(\x02\x42\x8c\x08\xc2H\x88\x08\n\x95\x01\n\tfloat.gte\x1a\x87\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xcc\x01\n\x0c\x66loat.gte_lt\x1a\xbb\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd6\x01\n\x16\x66loat.gte_lt_exclusive\x1a\xbb\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdc\x01\n\rfloat.gte_lte\x1a\xca\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xe6\x01\n\x17\x66loat.gte_lte_exclusive\x1a\xca\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12}\n\x02in\x18\x06 \x03(\x02\x42m\xc2Hj\nh\n\x08\x66loat.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12w\n\x06not_in\x18\x07 \x03(\x02\x42`\xc2H]\n[\n\x0c\x66loat.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12w\n\x06\x66inite\x18\x08 \x01(\x08\x42_\xc2H\\\nZ\n\x0c\x66loat.finite\x1aJrules.finite ? (this.isNan() || this.isInf() ? \'must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x34\n\x07\x65xample\x18\t \x03(\x02\x42\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc0\x17\n\x0b\x44oubleRules\x12\x85\x01\n\x05\x63onst\x18\x01 \x01(\x01\x42o\xc2Hl\nj\n\x0c\x64ouble.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x9e\x01\n\x02lt\x18\x02 \x01(\x01\x42\x8b\x01\xc2H\x87\x01\n\x84\x01\n\tdouble.lt\x1aw!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xaf\x01\n\x03lte\x18\x03 \x01(\x01\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\ndouble.lte\x1a\x84\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xd9\x07\n\x02gt\x18\x04 \x01(\x01\x42\xc6\x07\xc2H\xc2\x07\n\x87\x01\n\tdouble.gt\x1az!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xbe\x01\n\x0c\x64ouble.gt_lt\x1a\xad\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc8\x01\n\x16\x64ouble.gt_lt_exclusive\x1a\xad\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xce\x01\n\rdouble.gt_lte\x1a\xbc\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xd8\x01\n\x17\x64ouble.gt_lte_exclusive\x1a\xbc\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xa6\x08\n\x03gte\x18\x05 \x01(\x01\x42\x91\x08\xc2H\x8d\x08\n\x96\x01\n\ndouble.gte\x1a\x87\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xcd\x01\n\rdouble.gte_lt\x1a\xbb\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd7\x01\n\x17\x64ouble.gte_lt_exclusive\x1a\xbb\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdd\x01\n\x0e\x64ouble.gte_lte\x1a\xca\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xe7\x01\n\x18\x64ouble.gte_lte_exclusive\x1a\xca\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12~\n\x02in\x18\x06 \x03(\x01\x42n\xc2Hk\ni\n\tdouble.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12x\n\x06not_in\x18\x07 \x03(\x01\x42\x61\xc2H^\n\\\n\rdouble.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12x\n\x06\x66inite\x18\x08 \x01(\x08\x42`\xc2H]\n[\n\rdouble.finite\x1aJrules.finite ? (this.isNan() || this.isInf() ? \'must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x35\n\x07\x65xample\x18\t \x03(\x01\x42\x1b\xc2H\x18\n\x16\n\x0e\x64ouble.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xde\x14\n\nInt32Rules\x12\x84\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42n\xc2Hk\ni\n\x0bint32.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x88\x01\n\x02lt\x18\x02 \x01(\x05\x42v\xc2Hs\nq\n\x08int32.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9a\x01\n\x03lte\x18\x03 \x01(\x05\x42\x85\x01\xc2H\x81\x01\n\x7f\n\tint32.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xfd\x06\n\x02gt\x18\x04 \x01(\x05\x42\xea\x06\xc2H\xe6\x06\nt\n\x08int32.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xad\x01\n\x0bint32.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb5\x01\n\x15int32.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x0cint32.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc5\x01\n\x16int32.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xca\x07\n\x03gte\x18\x05 \x01(\x05\x42\xb5\x07\xc2H\xb1\x07\n\x82\x01\n\tint32.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbc\x01\n\x0cint32.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc4\x01\n\x16int32.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\rint32.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd4\x01\n\x17int32.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12}\n\x02in\x18\x06 \x03(\x05\x42m\xc2Hj\nh\n\x08int32.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12w\n\x06not_in\x18\x07 \x03(\x05\x42`\xc2H]\n[\n\x0cint32.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\x08 \x03(\x05\x42\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xde\x14\n\nInt64Rules\x12\x84\x01\n\x05\x63onst\x18\x01 \x01(\x03\x42n\xc2Hk\ni\n\x0bint64.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x88\x01\n\x02lt\x18\x02 \x01(\x03\x42v\xc2Hs\nq\n\x08int64.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9a\x01\n\x03lte\x18\x03 \x01(\x03\x42\x85\x01\xc2H\x81\x01\n\x7f\n\tint64.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xfd\x06\n\x02gt\x18\x04 \x01(\x03\x42\xea\x06\xc2H\xe6\x06\nt\n\x08int64.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xad\x01\n\x0bint64.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb5\x01\n\x15int64.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x0cint64.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc5\x01\n\x16int64.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xca\x07\n\x03gte\x18\x05 \x01(\x03\x42\xb5\x07\xc2H\xb1\x07\n\x82\x01\n\tint64.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbc\x01\n\x0cint64.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc4\x01\n\x16int64.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\rint64.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd4\x01\n\x17int64.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12}\n\x02in\x18\x06 \x03(\x03\x42m\xc2Hj\nh\n\x08int64.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12w\n\x06not_in\x18\x07 \x03(\x03\x42`\xc2H]\n[\n\x0cint64.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\t \x03(\x03\x42\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xf0\x14\n\x0bUInt32Rules\x12\x85\x01\n\x05\x63onst\x18\x01 \x01(\rBo\xc2Hl\nj\n\x0cuint32.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x89\x01\n\x02lt\x18\x02 \x01(\rBw\xc2Ht\nr\n\tuint32.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9c\x01\n\x03lte\x18\x03 \x01(\rB\x87\x01\xc2H\x83\x01\n\x80\x01\n\nuint32.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x82\x07\n\x02gt\x18\x04 \x01(\rB\xef\x06\xc2H\xeb\x06\nu\n\tuint32.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xae\x01\n\x0cuint32.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb6\x01\n\x16uint32.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\ruint32.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc6\x01\n\x17uint32.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xcf\x07\n\x03gte\x18\x05 \x01(\rB\xba\x07\xc2H\xb6\x07\n\x83\x01\n\nuint32.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbd\x01\n\ruint32.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc5\x01\n\x17uint32.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x0euint32.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd5\x01\n\x18uint32.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12~\n\x02in\x18\x06 \x03(\rBn\xc2Hk\ni\n\tuint32.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12x\n\x06not_in\x18\x07 \x03(\rBa\xc2H^\n\\\n\ruint32.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xf0\x14\n\x0bUInt64Rules\x12\x85\x01\n\x05\x63onst\x18\x01 \x01(\x04\x42o\xc2Hl\nj\n\x0cuint64.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x89\x01\n\x02lt\x18\x02 \x01(\x04\x42w\xc2Ht\nr\n\tuint64.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9c\x01\n\x03lte\x18\x03 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\nuint64.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x82\x07\n\x02gt\x18\x04 \x01(\x04\x42\xef\x06\xc2H\xeb\x06\nu\n\tuint64.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xae\x01\n\x0cuint64.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb6\x01\n\x16uint64.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\ruint64.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc6\x01\n\x17uint64.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xcf\x07\n\x03gte\x18\x05 \x01(\x04\x42\xba\x07\xc2H\xb6\x07\n\x83\x01\n\nuint64.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbd\x01\n\ruint64.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc5\x01\n\x17uint64.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x0euint64.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd5\x01\n\x18uint64.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12~\n\x02in\x18\x06 \x03(\x04\x42n\xc2Hk\ni\n\tuint64.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12x\n\x06not_in\x18\x07 \x03(\x04\x42\x61\xc2H^\n\\\n\ruint64.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x04\x42\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xf0\x14\n\x0bSInt32Rules\x12\x85\x01\n\x05\x63onst\x18\x01 \x01(\x11\x42o\xc2Hl\nj\n\x0csint32.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x89\x01\n\x02lt\x18\x02 \x01(\x11\x42w\xc2Ht\nr\n\tsint32.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9c\x01\n\x03lte\x18\x03 \x01(\x11\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\nsint32.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x82\x07\n\x02gt\x18\x04 \x01(\x11\x42\xef\x06\xc2H\xeb\x06\nu\n\tsint32.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xae\x01\n\x0csint32.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb6\x01\n\x16sint32.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\rsint32.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc6\x01\n\x17sint32.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xcf\x07\n\x03gte\x18\x05 \x01(\x11\x42\xba\x07\xc2H\xb6\x07\n\x83\x01\n\nsint32.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbd\x01\n\rsint32.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc5\x01\n\x17sint32.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x0esint32.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd5\x01\n\x18sint32.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12~\n\x02in\x18\x06 \x03(\x11\x42n\xc2Hk\ni\n\tsint32.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12x\n\x06not_in\x18\x07 \x03(\x11\x42\x61\xc2H^\n\\\n\rsint32.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x11\x42\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xf0\x14\n\x0bSInt64Rules\x12\x85\x01\n\x05\x63onst\x18\x01 \x01(\x12\x42o\xc2Hl\nj\n\x0csint64.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x89\x01\n\x02lt\x18\x02 \x01(\x12\x42w\xc2Ht\nr\n\tsint64.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9c\x01\n\x03lte\x18\x03 \x01(\x12\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\nsint64.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x82\x07\n\x02gt\x18\x04 \x01(\x12\x42\xef\x06\xc2H\xeb\x06\nu\n\tsint64.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xae\x01\n\x0csint64.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb6\x01\n\x16sint64.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\rsint64.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc6\x01\n\x17sint64.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xcf\x07\n\x03gte\x18\x05 \x01(\x12\x42\xba\x07\xc2H\xb6\x07\n\x83\x01\n\nsint64.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbd\x01\n\rsint64.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc5\x01\n\x17sint64.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x0esint64.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd5\x01\n\x18sint64.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12~\n\x02in\x18\x06 \x03(\x12\x42n\xc2Hk\ni\n\tsint64.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12x\n\x06not_in\x18\x07 \x03(\x12\x42\x61\xc2H^\n\\\n\rsint64.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x12\x42\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x81\x15\n\x0c\x46ixed32Rules\x12\x86\x01\n\x05\x63onst\x18\x01 \x01(\x07\x42p\xc2Hm\nk\n\rfixed32.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x8a\x01\n\x02lt\x18\x02 \x01(\x07\x42x\xc2Hu\ns\n\nfixed32.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9d\x01\n\x03lte\x18\x03 \x01(\x07\x42\x88\x01\xc2H\x84\x01\n\x81\x01\n\x0b\x66ixed32.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x87\x07\n\x02gt\x18\x04 \x01(\x07\x42\xf4\x06\xc2H\xf0\x06\nv\n\nfixed32.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xaf\x01\n\rfixed32.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb7\x01\n\x17\x66ixed32.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x0e\x66ixed32.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc7\x01\n\x18\x66ixed32.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xd4\x07\n\x03gte\x18\x05 \x01(\x07\x42\xbf\x07\xc2H\xbb\x07\n\x84\x01\n\x0b\x66ixed32.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbe\x01\n\x0e\x66ixed32.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc6\x01\n\x18\x66ixed32.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x0f\x66ixed32.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd6\x01\n\x19\x66ixed32.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x7f\n\x02in\x18\x06 \x03(\x07\x42o\xc2Hl\nj\n\nfixed32.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12y\n\x06not_in\x18\x07 \x03(\x07\x42\x62\xc2H_\n]\n\x0e\x66ixed32.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x07\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x81\x15\n\x0c\x46ixed64Rules\x12\x86\x01\n\x05\x63onst\x18\x01 \x01(\x06\x42p\xc2Hm\nk\n\rfixed64.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x8a\x01\n\x02lt\x18\x02 \x01(\x06\x42x\xc2Hu\ns\n\nfixed64.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9d\x01\n\x03lte\x18\x03 \x01(\x06\x42\x88\x01\xc2H\x84\x01\n\x81\x01\n\x0b\x66ixed64.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x87\x07\n\x02gt\x18\x04 \x01(\x06\x42\xf4\x06\xc2H\xf0\x06\nv\n\nfixed64.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xaf\x01\n\rfixed64.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb7\x01\n\x17\x66ixed64.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x0e\x66ixed64.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc7\x01\n\x18\x66ixed64.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xd4\x07\n\x03gte\x18\x05 \x01(\x06\x42\xbf\x07\xc2H\xbb\x07\n\x84\x01\n\x0b\x66ixed64.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbe\x01\n\x0e\x66ixed64.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc6\x01\n\x18\x66ixed64.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x0f\x66ixed64.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd6\x01\n\x19\x66ixed64.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x7f\n\x02in\x18\x06 \x03(\x06\x42o\xc2Hl\nj\n\nfixed64.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12y\n\x06not_in\x18\x07 \x03(\x06\x42\x62\xc2H_\n]\n\x0e\x66ixed64.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x06\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x93\x15\n\rSFixed32Rules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\x0f\x42q\xc2Hn\nl\n\x0esfixed32.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x8b\x01\n\x02lt\x18\x02 \x01(\x0f\x42y\xc2Hv\nt\n\x0bsfixed32.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9e\x01\n\x03lte\x18\x03 \x01(\x0f\x42\x89\x01\xc2H\x85\x01\n\x82\x01\n\x0csfixed32.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x8c\x07\n\x02gt\x18\x04 \x01(\x0f\x42\xf9\x06\xc2H\xf5\x06\nw\n\x0bsfixed32.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xb0\x01\n\x0esfixed32.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb8\x01\n\x18sfixed32.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc0\x01\n\x0fsfixed32.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc8\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xd9\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xc4\x07\xc2H\xc0\x07\n\x85\x01\n\x0csfixed32.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbf\x01\n\x0fsfixed32.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc7\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcf\x01\n\x10sfixed32.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd7\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x80\x01\n\x02in\x18\x06 \x03(\x0f\x42p\xc2Hm\nk\n\x0bsfixed32.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12z\n\x06not_in\x18\x07 \x03(\x0f\x42\x63\xc2H`\n^\n\x0fsfixed32.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x0f\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x93\x15\n\rSFixed64Rules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\x10\x42q\xc2Hn\nl\n\x0esfixed64.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x8b\x01\n\x02lt\x18\x02 \x01(\x10\x42y\xc2Hv\nt\n\x0bsfixed64.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\x9e\x01\n\x03lte\x18\x03 \x01(\x10\x42\x89\x01\xc2H\x85\x01\n\x82\x01\n\x0csfixed64.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x8c\x07\n\x02gt\x18\x04 \x01(\x10\x42\xf9\x06\xc2H\xf5\x06\nw\n\x0bsfixed64.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xb0\x01\n\x0esfixed64.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb8\x01\n\x18sfixed64.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc0\x01\n\x0fsfixed64.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc8\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xd9\x07\n\x03gte\x18\x05 \x01(\x10\x42\xc4\x07\xc2H\xc0\x07\n\x85\x01\n\x0csfixed64.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbf\x01\n\x0fsfixed64.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc7\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcf\x01\n\x10sfixed64.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd7\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x80\x01\n\x02in\x18\x06 \x03(\x10\x42p\xc2Hm\nk\n\x0bsfixed64.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12z\n\x06not_in\x18\x07 \x03(\x10\x42\x63\xc2H`\n^\n\x0fsfixed64.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x10\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xd1\x01\n\tBoolRules\x12\x83\x01\n\x05\x63onst\x18\x01 \x01(\x08\x42m\xc2Hj\nh\n\nbool.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\x33\n\x07\x65xample\x18\x02 \x03(\x08\x42\x19\xc2H\x16\n\x14\n\x0c\x62ool.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xcf?\n\x0bStringRules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\tBq\xc2Hn\nl\n\x0cstring.const\x1a\\this != getField(rules, \'const\') ? \'must equal `%s`\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12v\n\x03len\x18\x13 \x01(\x04\x42\x64\xc2Ha\n_\n\nstring.len\x1aQuint(this.size()) != rules.len ? \'must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\x91\x01\n\x07min_len\x18\x02 \x01(\x04\x42x\xc2Hu\ns\n\x0estring.min_len\x1a\x61uint(this.size()) < rules.min_len ? \'must be at least %s characters\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x90\x01\n\x07max_len\x18\x03 \x01(\x04\x42w\xc2Ht\nr\n\x0estring.max_len\x1a`uint(this.size()) > rules.max_len ? \'must be at most %s characters\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x95\x01\n\tlen_bytes\x18\x14 \x01(\x04\x42x\xc2Hu\ns\n\x10string.len_bytes\x1a_uint(bytes(this).size()) != rules.len_bytes ? \'must be %s bytes\'.format([rules.len_bytes]) : \'\'R\x08lenBytes\x12\x9e\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\x80\x01\xc2H}\n{\n\x10string.min_bytes\x1aguint(bytes(this).size()) < rules.min_bytes ? \'must be at least %s bytes\'.format([rules.min_bytes]) : \'\'R\x08minBytes\x12\x9c\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\x7f\xc2H|\nz\n\x10string.max_bytes\x1a\x66uint(bytes(this).size()) > rules.max_bytes ? \'must be at most %s bytes\'.format([rules.max_bytes]) : \'\'R\x08maxBytes\x12\x90\x01\n\x07pattern\x18\x06 \x01(\tBv\xc2Hs\nq\n\x0estring.pattern\x1a_!this.matches(rules.pattern) ? \'does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x86\x01\n\x06prefix\x18\x07 \x01(\tBn\xc2Hk\ni\n\rstring.prefix\x1aX!this.startsWith(rules.prefix) ? \'does not have prefix `%s`\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x84\x01\n\x06suffix\x18\x08 \x01(\tBl\xc2Hi\ng\n\rstring.suffix\x1aV!this.endsWith(rules.suffix) ? \'does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x94\x01\n\x08\x63ontains\x18\t \x01(\tBx\xc2Hu\ns\n\x0fstring.contains\x1a`!this.contains(rules.contains) ? \'does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\x9e\x01\n\x0cnot_contains\x18\x17 \x01(\tB{\xc2Hx\nv\n\x13string.not_contains\x1a_this.contains(rules.not_contains) ? \'contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12~\n\x02in\x18\n \x03(\tBn\xc2Hk\ni\n\tstring.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12x\n\x06not_in\x18\x0b \x03(\tBa\xc2H^\n\\\n\rstring.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xe0\x01\n\x05\x65mail\x18\x0c \x01(\x08\x42\xc7\x01\xc2H\xc3\x01\n[\n\x0cstring.email\x12\x1dmust be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05\x65mail\x12\xeb\x01\n\x08hostname\x18\r \x01(\x08\x42\xcc\x01\xc2H\xc8\x01\n_\n\x0fstring.hostname\x12\x18must be a valid hostname\x1a\x32!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xc5\x01\n\x02ip\x18\x0e \x01(\x08\x42\xb2\x01\xc2H\xae\x01\nO\n\tstring.ip\x12\x1amust be a valid IP address\x1a&!rules.ip || this == \'\' || this.isIp()\n[\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != \'\'H\x00R\x02ip\x12\xd6\x01\n\x04ipv4\x18\x0f \x01(\x08\x42\xbf\x01\xc2H\xbb\x01\nV\n\x0bstring.ipv4\x12\x1cmust be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != \'\'H\x00R\x04ipv4\x12\xd6\x01\n\x04ipv6\x18\x10 \x01(\x08\x42\xbf\x01\xc2H\xbb\x01\nV\n\x0bstring.ipv6\x12\x1cmust be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != \'\'H\x00R\x04ipv6\x12\xbe\x01\n\x03uri\x18\x11 \x01(\x08\x42\xa9\x01\xc2H\xa5\x01\nK\n\nstring.uri\x12\x13must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12r\n\x07uri_ref\x18\x12 \x01(\x08\x42W\xc2HT\nR\n\x0estring.uri_ref\x12\x1dmust be a valid URI Reference\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x92\x02\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\xf5\x01\xc2H\xf1\x01\n{\n\x0estring.address\x12\'must be a valid hostname, or ip address\x1a@!rules.address || this == \'\' || this.isHostname() || this.isIp()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != \'\'H\x00R\x11ipv4WithPrefixlen\x12\xdc\x02\n\x13ipv6_with_prefixlen\x18\x1c \x01(\x08\x42\xa9\x02\xc2H\xa5\x02\n\x8d\x01\n\x1astring.ipv6_with_prefixlen\x12/must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\x92\x01\n string.ipv6_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != \'\'H\x00R\x11ipv6WithPrefixlen\x12\xf6\x01\n\tip_prefix\x18\x1d \x01(\x08\x42\xd6\x01\xc2H\xd2\x01\nf\n\x10string.ip_prefix\x12\x19must be a valid IP prefix\x1a\x37!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x89\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08\x42\xe5\x01\xc2H\xe1\x01\no\n\x12string.ipv4_prefix\x12\x1bmust be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x12\x37value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xf4\x01\n\x04ulid\x18# \x01(\x08\x42\xdd\x01\xc2H\xd9\x01\n|\n\x0bstring.ulid\x12\x14must be a valid ULID\x1aW!rules.ulid || this == \'\' || this.matches(\'^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$\')\nY\n\x11string.ulid_empty\x12)value is empty, which is not a valid ULID\x1a\x19!rules.ulid || this != \'\'H\x00R\x04ulid\x12\xe1\x02\n\x0cprotobuf_fqn\x18% \x01(\x08\x42\xbb\x02\xc2H\xb7\x02\n\xaf\x01\n\x13string.protobuf_fqn\x12-must be a valid fully-qualified Protobuf name\x1ai!rules.protobuf_fqn || this == \'\' || this.matches(\'^[A-Za-z_][A-Za-z_0-9]*(\\\\.[A-Za-z_][A-Za-z_0-9]*)*$\')\n\x82\x01\n\x19string.protobuf_fqn_empty\x12\x42value is empty, which is not a valid fully-qualified Protobuf name\x1a!!rules.protobuf_fqn || this != \'\'H\x00R\x0bprotobufFqn\x12\xa1\x03\n\x10protobuf_dot_fqn\x18& \x01(\x08\x42\xf4\x02\xc2H\xf0\x02\n\xcd\x01\n\x17string.protobuf_dot_fqn\x12@must be a valid fully-qualified Protobuf name with a leading dot\x1ap!rules.protobuf_dot_fqn || this == \'\' || this.matches(\'^\\\\.[A-Za-z_][A-Za-z_0-9]*(\\\\.[A-Za-z_][A-Za-z_0-9]*)*$\')\n\x9d\x01\n\x1dstring.protobuf_dot_fqn_empty\x12Uvalue is empty, which is not a valid fully-qualified Protobuf name with a leading dot\x1a%!rules.protobuf_dot_fqn || this != \'\'H\x00R\x0eprotobufDotFqn\x12\xac\x05\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x18.buf.validate.KnownRegexB\xe5\x04\xc2H\xe1\x04\n\xea\x01\n#string.well_known_regex.header_name\x12 must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\x8d\x01\n)string.well_known_regex.header_name_empty\x12\x35value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != \'\'\n\xe1\x01\n$string.well_known_regex.header_value\x12!must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')H\x00R\x0ewellKnownRegex\x12\x16\n\x06strict\x18\x19 \x01(\x08R\x06strict\x12\x35\n\x07\x65xample\x18\" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xca\x12\n\nBytesRules\x12\x81\x01\n\x05\x63onst\x18\x01 \x01(\x0c\x42k\xc2Hh\nf\n\x0b\x62ytes.const\x1aWthis != getField(rules, \'const\') ? \'must be %x\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12p\n\x03len\x18\r \x01(\x04\x42^\xc2H[\nY\n\tbytes.len\x1aLuint(this.size()) != rules.len ? \'must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x8b\x01\n\x07min_len\x18\x02 \x01(\x04\x42r\xc2Ho\nm\n\rbytes.min_len\x1a\\uint(this.size()) < rules.min_len ? \'must be at least %s bytes\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x8a\x01\n\x07max_len\x18\x03 \x01(\x04\x42q\xc2Hn\nl\n\rbytes.max_len\x1a[uint(this.size()) > rules.max_len ? \'must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x93\x01\n\x07pattern\x18\x04 \x01(\tBy\xc2Hv\nt\n\rbytes.pattern\x1a\x63!string(this).matches(rules.pattern) ? \'must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x83\x01\n\x06prefix\x18\x05 \x01(\x0c\x42k\xc2Hh\nf\n\x0c\x62ytes.prefix\x1aV!this.startsWith(rules.prefix) ? \'does not have prefix %x\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x81\x01\n\x06suffix\x18\x06 \x01(\x0c\x42i\xc2Hf\nd\n\x0c\x62ytes.suffix\x1aT!this.endsWith(rules.suffix) ? \'does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x87\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42k\xc2Hh\nf\n\x0e\x62ytes.contains\x1aT!this.contains(rules.contains) ? \'does not contain %x\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\xa5\x01\n\x02in\x18\x08 \x03(\x0c\x42\x94\x01\xc2H\x90\x01\n\x8d\x01\n\x08\x62ytes.in\x1a\x80\x01getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12w\n\x06not_in\x18\t \x03(\x0c\x42`\xc2H]\n[\n\x0c\x62ytes.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xe9\x01\n\x02ip\x18\n \x01(\x08\x42\xd6\x01\xc2H\xd2\x01\nn\n\x08\x62ytes.ip\x12\x1amust be a valid IP address\x1a\x46!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0e\x62ytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xe4\x01\n\x04ipv4\x18\x0b \x01(\x08\x42\xcd\x01\xc2H\xc9\x01\n_\n\nbytes.ipv4\x12\x1cmust be a valid IPv4 address\x1a\x33!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xe5\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xce\x01\xc2H\xca\x01\n`\n\nbytes.ipv6\x12\x1cmust be a valid IPv6 address\x1a\x34!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x12\xd5\x01\n\x04uuid\x18\x0f \x01(\x08\x42\xbe\x01\xc2H\xba\x01\nX\n\nbytes.uuid\x12\x14must be a valid UUID\x1a\x34!rules.uuid || this.size() == 0 || this.size() == 16\n^\n\x10\x62ytes.uuid_empty\x12)value is empty, which is not a valid UUID\x1a\x1f!rules.uuid || this.size() != 0H\x00R\x04uuid\x12\x34\n\x07\x65xample\x18\x0e \x03(\x0c\x42\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xea\x03\n\tEnumRules\x12\x83\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42m\xc2Hj\nh\n\nenum.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12|\n\x02in\x18\x03 \x03(\x05\x42l\xc2Hi\ng\n\x07\x65num.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12v\n\x06not_in\x18\x04 \x03(\x05\x42_\xc2H\\\nZ\n\x0b\x65num.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x33\n\x07\x65xample\x18\x05 \x03(\x05\x42\x19\xc2H\x16\n\x14\n\x0c\x65num.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x90\x04\n\rRepeatedRules\x12\xa0\x01\n\tmin_items\x18\x01 \x01(\x04\x42\x82\x01\xc2H\x7f\n}\n\x12repeated.min_items\x1aguint(this.size()) < rules.min_items ? \'must contain at least %d item(s)\'.format([rules.min_items]) : \'\'R\x08minItems\x12\xa6\x01\n\tmax_items\x18\x02 \x01(\x04\x42\x88\x01\xc2H\x84\x01\n\x81\x01\n\x12repeated.max_items\x1akuint(this.size()) > rules.max_items ? \'must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'R\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08\x42`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12.\n\x05items\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xac\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12,\n\x04keys\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x04keys\x12\x30\n\x06values\x18\x05 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xec\x16\n\rDurationRules\x12\xa2\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationBq\xc2Hn\nl\n\x0e\x64uration.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\xa6\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationBy\xc2Hv\nt\n\x0b\x64uration.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb9\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x89\x01\xc2H\x85\x01\n\x82\x01\n\x0c\x64uration.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa7\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\xf9\x06\xc2H\xf5\x06\nw\n\x0b\x64uration.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xb0\x01\n\x0e\x64uration.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb8\x01\n\x18\x64uration.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc0\x01\n\x0f\x64uration.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc8\x01\n\x19\x64uration.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf4\x07\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xc4\x07\xc2H\xc0\x07\n\x85\x01\n\x0c\x64uration.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xbf\x01\n\x0f\x64uration.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc7\x01\n\x19\x64uration.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcf\x01\n\x10\x64uration.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd7\x01\n\x1a\x64uration.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x9b\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBp\xc2Hm\nk\n\x0b\x64uration.in\x1a\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\x95\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBc\xc2H`\n^\n\x0f\x64uration.not_in\x1aKthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07\x65xample\x18\t \x03(\x0b\x32\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10\x64uration.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x86\x06\n\x0e\x46ieldMaskRules\x12\xc0\x01\n\x05\x63onst\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x8d\x01\xc2H\x89\x01\n\x86\x01\n\x10\x66ield_mask.const\x1arthis.paths != getField(rules, \'const\').paths ? \'must equal paths %s\'.format([getField(rules, \'const\').paths]) : \'\'R\x05\x63onst\x12\xd7\x01\n\x02in\x18\x02 \x03(\tB\xc6\x01\xc2H\xc2\x01\n\xbf\x01\n\rfield_mask.in\x1a\xad\x01!this.paths.all(p, p in getField(rules, \'in\') || getField(rules, \'in\').exists(f, p.startsWith(f+\'.\'))) ? \'must only contain paths in %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\xf4\x01\n\x06not_in\x18\x03 \x03(\tB\xdc\x01\xc2H\xd8\x01\n\xd5\x01\n\x11\x66ield_mask.not_in\x1a\xbf\x01!this.paths.all(p, !(p in getField(rules, \'not_in\') || getField(rules, \'not_in\').exists(f, p.startsWith(f+\'.\')))) ? \'must not contain any paths in %s\'.format([getField(rules, \'not_in\')]) : \'\'R\x05notIn\x12U\n\x07\x65xample\x18\x04 \x03(\x0b\x32\x1a.google.protobuf.FieldMaskB\x1f\xc2H\x1c\n\x1a\n\x12\x66ield_mask.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xe8\x17\n\x0eTimestampRules\x12\xa4\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBr\xc2Ho\nm\n\x0ftimestamp.const\x1aZthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12\xa8\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBz\xc2Hw\nu\n\x0ctimestamp.lt\x1a\x65!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xbb\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x8a\x01\xc2H\x86\x01\n\x83\x01\n\rtimestamp.lte\x1ar!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12m\n\x06lt_now\x18\x07 \x01(\x08\x42T\xc2HQ\nO\n\x10timestamp.lt_now\x1a;(rules.lt_now && this > now) ? \'must be less than now\' : \'\'H\x00R\x05ltNow\x12\xad\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xfe\x06\xc2H\xfa\x06\nx\n\x0ctimestamp.gt\x1ah!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\xb1\x01\n\x0ftimestamp.gt_lt\x1a\x9d\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xb9\x01\n\x19timestamp.gt_lt_exclusive\x1a\x9b\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc1\x01\n\x10timestamp.gt_lte\x1a\xac\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xc9\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xaa\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xfa\x07\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xc9\x07\xc2H\xc5\x07\n\x86\x01\n\rtimestamp.gte\x1au!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc0\x01\n\x10timestamp.gte_lt\x1a\xab\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xc8\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xa9\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd0\x01\n\x11timestamp.gte_lte\x1a\xba\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xd8\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xb8\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12p\n\x06gt_now\x18\x08 \x01(\x08\x42W\xc2HT\nR\n\x10timestamp.gt_now\x1a>(rules.gt_now && this < now) ? \'must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xb9\x01\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x85\x01\xc2H\x81\x01\n\x7f\n\x10timestamp.within\x1akthis < now-rules.within || this > now+rules.within ? \'must be within %s of now\'.format([rules.within]) : \'\'R\x06within\x12T\n\x07\x65xample\x18\n \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\xc5\x01\n\tViolation\x12-\n\x05\x66ield\x18\x05 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x05\x66ield\x12+\n\x04rule\x18\x06 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x04rule\x12\x17\n\x07rule_id\x18\x02 \x01(\tR\x06ruleId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKeyJ\x04\x08\x01\x10\x02R\nfield_path\"G\n\tFieldPath\x12:\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1e.buf.validate.FieldPathElementR\x08\x65lements\"\xcc\x03\n\x10\x46ieldPathElement\x12!\n\x0c\x66ield_number\x18\x01 \x01(\x05R\x0b\x66ieldNumber\x12\x1d\n\nfield_name\x18\x02 \x01(\tR\tfieldName\x12I\n\nfield_type\x18\x03 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12\x45\n\x08key_type\x18\x04 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\x07keyType\x12I\n\nvalue_type\x18\x05 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n\x08\x62ool_key\x18\x07 \x01(\x08H\x00R\x07\x62oolKey\x12\x19\n\x07int_key\x18\x08 \x01(\x03H\x00R\x06intKey\x12\x1b\n\x08uint_key\x18\t \x01(\x04H\x00R\x07uintKey\x12\x1f\n\nstring_key\x18\n \x01(\tH\x00R\tstringKeyB\x0b\n\tsubscript*\xa1\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x18\n\x14IGNORE_IF_ZERO_VALUE\x10\x01\x12\x11\n\rIGNORE_ALWAYS\x10\x03\"\x04\x08\x02\x10\x02*\x0cIGNORE_EMPTY*\x0eIGNORE_DEFAULT*\x17IGNORE_IF_DEFAULT_VALUE*\x15IGNORE_IF_UNPOPULATED*n\n\nKnownRegex\x12\x1b\n\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:V\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32\x1a.buf.validate.MessageRulesR\x07message:N\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.OneofRulesR\x05oneof:N\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05\x66ield:]\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32\x1d.buf.validate.PredefinedRulesR\npredefinedB\xbb\x01\n\x10\x63om.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate\xa2\x02\x03\x42VX\xaa\x02\x0c\x42uf.Validate\xca\x02\x0c\x42uf\\Validate\xe2\x02\x18\x42uf\\Validate\\GPBMetadata\xea\x02\rBuf::Validate') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.validate_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\020com.buf.validateB\rValidateProtoP\001ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate\242\002\003BVX\252\002\014Buf.Validate\312\002\014Buf\\Validate\342\002\030Buf\\Validate\\GPBMetadata\352\002\rBuf::Validate' - _globals['_FLOATRULES'].fields_by_name['const']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['const']._serialized_options = b'\302Hk\ni\n\013float.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['lt']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['lt']._serialized_options = b'\302H\206\001\n\203\001\n\010float.lt\032w!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['lte']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['lte']._serialized_options = b'\302H\225\001\n\222\001\n\tfloat.lte\032\204\001!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['gt']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['gt']._serialized_options = b'\302H\275\007\n\206\001\n\010float.gt\032z!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\275\001\n\013float.gt_lt\032\255\001has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\307\001\n\025float.gt_lt_exclusive\032\255\001has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\315\001\n\014float.gt_lte\032\274\001has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\327\001\n\026float.gt_lte_exclusive\032\274\001has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['gte']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['gte']._serialized_options = b'\302H\210\010\n\225\001\n\tfloat.gte\032\207\001!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\314\001\n\014float.gte_lt\032\273\001has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\326\001\n\026float.gte_lt_exclusive\032\273\001has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\334\001\n\rfloat.gte_lte\032\312\001has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\346\001\n\027float.gte_lte_exclusive\032\312\001has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['in']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['in']._serialized_options = b'\302Hj\nh\n\010float.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['not_in']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['not_in']._serialized_options = b'\302H]\n[\n\014float.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['finite']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['finite']._serialized_options = b'\302H\\\nZ\n\014float.finite\032Jrules.finite ? (this.isNan() || this.isInf() ? \'must be finite\' : \'\') : \'\'' - _globals['_FLOATRULES'].fields_by_name['example']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rfloat.example\032\004true' - _globals['_DOUBLERULES'].fields_by_name['const']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['const']._serialized_options = b'\302Hl\nj\n\014double.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['lt']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['lt']._serialized_options = b'\302H\207\001\n\204\001\n\tdouble.lt\032w!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['lte']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['lte']._serialized_options = b'\302H\226\001\n\223\001\n\ndouble.lte\032\204\001!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['gt']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['gt']._serialized_options = b'\302H\302\007\n\207\001\n\tdouble.gt\032z!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\276\001\n\014double.gt_lt\032\255\001has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\310\001\n\026double.gt_lt_exclusive\032\255\001has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\316\001\n\rdouble.gt_lte\032\274\001has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\330\001\n\027double.gt_lte_exclusive\032\274\001has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['gte']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['gte']._serialized_options = b'\302H\215\010\n\226\001\n\ndouble.gte\032\207\001!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\315\001\n\rdouble.gte_lt\032\273\001has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\327\001\n\027double.gte_lt_exclusive\032\273\001has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\335\001\n\016double.gte_lte\032\312\001has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\347\001\n\030double.gte_lte_exclusive\032\312\001has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['in']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['in']._serialized_options = b'\302Hk\ni\n\tdouble.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['not_in']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['not_in']._serialized_options = b'\302H^\n\\\n\rdouble.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['finite']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['finite']._serialized_options = b'\302H]\n[\n\rdouble.finite\032Jrules.finite ? (this.isNan() || this.isInf() ? \'must be finite\' : \'\') : \'\'' - _globals['_DOUBLERULES'].fields_by_name['example']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016double.example\032\004true' - _globals['_INT32RULES'].fields_by_name['const']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['const']._serialized_options = b'\302Hk\ni\n\013int32.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_INT32RULES'].fields_by_name['lt']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['lt']._serialized_options = b'\302Hs\nq\n\010int32.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_INT32RULES'].fields_by_name['lte']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['lte']._serialized_options = b'\302H\201\001\n\177\n\tint32.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_INT32RULES'].fields_by_name['gt']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['gt']._serialized_options = b'\302H\346\006\nt\n\010int32.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\255\001\n\013int32.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\265\001\n\025int32.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\275\001\n\014int32.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\305\001\n\026int32.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_INT32RULES'].fields_by_name['gte']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['gte']._serialized_options = b'\302H\261\007\n\202\001\n\tint32.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\274\001\n\014int32.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\304\001\n\026int32.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\314\001\n\rint32.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\324\001\n\027int32.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_INT32RULES'].fields_by_name['in']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['in']._serialized_options = b'\302Hj\nh\n\010int32.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_INT32RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['not_in']._serialized_options = b'\302H]\n[\n\014int32.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_INT32RULES'].fields_by_name['example']._loaded_options = None - _globals['_INT32RULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rint32.example\032\004true' - _globals['_INT64RULES'].fields_by_name['const']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['const']._serialized_options = b'\302Hk\ni\n\013int64.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_INT64RULES'].fields_by_name['lt']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['lt']._serialized_options = b'\302Hs\nq\n\010int64.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_INT64RULES'].fields_by_name['lte']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['lte']._serialized_options = b'\302H\201\001\n\177\n\tint64.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_INT64RULES'].fields_by_name['gt']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['gt']._serialized_options = b'\302H\346\006\nt\n\010int64.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\255\001\n\013int64.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\265\001\n\025int64.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\275\001\n\014int64.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\305\001\n\026int64.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_INT64RULES'].fields_by_name['gte']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['gte']._serialized_options = b'\302H\261\007\n\202\001\n\tint64.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\274\001\n\014int64.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\304\001\n\026int64.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\314\001\n\rint64.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\324\001\n\027int64.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_INT64RULES'].fields_by_name['in']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['in']._serialized_options = b'\302Hj\nh\n\010int64.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_INT64RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['not_in']._serialized_options = b'\302H]\n[\n\014int64.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_INT64RULES'].fields_by_name['example']._loaded_options = None - _globals['_INT64RULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rint64.example\032\004true' - _globals['_UINT32RULES'].fields_by_name['const']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['const']._serialized_options = b'\302Hl\nj\n\014uint32.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['lt']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['lt']._serialized_options = b'\302Ht\nr\n\tuint32.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['lte']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['lte']._serialized_options = b'\302H\203\001\n\200\001\n\nuint32.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['gt']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['gt']._serialized_options = b'\302H\353\006\nu\n\tuint32.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\256\001\n\014uint32.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\266\001\n\026uint32.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\276\001\n\ruint32.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\306\001\n\027uint32.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['gte']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['gte']._serialized_options = b'\302H\266\007\n\203\001\n\nuint32.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\275\001\n\ruint32.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\305\001\n\027uint32.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\315\001\n\016uint32.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\325\001\n\030uint32.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['in']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['in']._serialized_options = b'\302Hk\ni\n\tuint32.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['not_in']._serialized_options = b'\302H^\n\\\n\ruint32.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['example']._loaded_options = None - _globals['_UINT32RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016uint32.example\032\004true' - _globals['_UINT64RULES'].fields_by_name['const']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['const']._serialized_options = b'\302Hl\nj\n\014uint64.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['lt']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['lt']._serialized_options = b'\302Ht\nr\n\tuint64.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['lte']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['lte']._serialized_options = b'\302H\203\001\n\200\001\n\nuint64.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['gt']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['gt']._serialized_options = b'\302H\353\006\nu\n\tuint64.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\256\001\n\014uint64.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\266\001\n\026uint64.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\276\001\n\ruint64.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\306\001\n\027uint64.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['gte']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['gte']._serialized_options = b'\302H\266\007\n\203\001\n\nuint64.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\275\001\n\ruint64.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\305\001\n\027uint64.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\315\001\n\016uint64.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\325\001\n\030uint64.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['in']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['in']._serialized_options = b'\302Hk\ni\n\tuint64.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['not_in']._serialized_options = b'\302H^\n\\\n\ruint64.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['example']._loaded_options = None - _globals['_UINT64RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016uint64.example\032\004true' - _globals['_SINT32RULES'].fields_by_name['const']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['const']._serialized_options = b'\302Hl\nj\n\014sint32.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['lt']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['lt']._serialized_options = b'\302Ht\nr\n\tsint32.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['lte']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['lte']._serialized_options = b'\302H\203\001\n\200\001\n\nsint32.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['gt']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['gt']._serialized_options = b'\302H\353\006\nu\n\tsint32.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\256\001\n\014sint32.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\266\001\n\026sint32.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\276\001\n\rsint32.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\306\001\n\027sint32.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['gte']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['gte']._serialized_options = b'\302H\266\007\n\203\001\n\nsint32.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\275\001\n\rsint32.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\305\001\n\027sint32.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\315\001\n\016sint32.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\325\001\n\030sint32.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['in']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['in']._serialized_options = b'\302Hk\ni\n\tsint32.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['not_in']._serialized_options = b'\302H^\n\\\n\rsint32.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['example']._loaded_options = None - _globals['_SINT32RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016sint32.example\032\004true' - _globals['_SINT64RULES'].fields_by_name['const']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['const']._serialized_options = b'\302Hl\nj\n\014sint64.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['lt']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['lt']._serialized_options = b'\302Ht\nr\n\tsint64.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['lte']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['lte']._serialized_options = b'\302H\203\001\n\200\001\n\nsint64.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['gt']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['gt']._serialized_options = b'\302H\353\006\nu\n\tsint64.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\256\001\n\014sint64.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\266\001\n\026sint64.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\276\001\n\rsint64.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\306\001\n\027sint64.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['gte']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['gte']._serialized_options = b'\302H\266\007\n\203\001\n\nsint64.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\275\001\n\rsint64.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\305\001\n\027sint64.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\315\001\n\016sint64.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\325\001\n\030sint64.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['in']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['in']._serialized_options = b'\302Hk\ni\n\tsint64.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['not_in']._serialized_options = b'\302H^\n\\\n\rsint64.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['example']._loaded_options = None - _globals['_SINT64RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016sint64.example\032\004true' - _globals['_FIXED32RULES'].fields_by_name['const']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['const']._serialized_options = b'\302Hm\nk\n\rfixed32.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['lt']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['lt']._serialized_options = b'\302Hu\ns\n\nfixed32.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['lte']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['lte']._serialized_options = b'\302H\204\001\n\201\001\n\013fixed32.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['gt']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['gt']._serialized_options = b'\302H\360\006\nv\n\nfixed32.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\257\001\n\rfixed32.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\267\001\n\027fixed32.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\277\001\n\016fixed32.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\307\001\n\030fixed32.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['gte']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['gte']._serialized_options = b'\302H\273\007\n\204\001\n\013fixed32.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\276\001\n\016fixed32.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\306\001\n\030fixed32.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\316\001\n\017fixed32.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\326\001\n\031fixed32.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['in']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['in']._serialized_options = b'\302Hl\nj\n\nfixed32.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['not_in']._serialized_options = b'\302H_\n]\n\016fixed32.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['example']._loaded_options = None - _globals['_FIXED32RULES'].fields_by_name['example']._serialized_options = b'\302H\031\n\027\n\017fixed32.example\032\004true' - _globals['_FIXED64RULES'].fields_by_name['const']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['const']._serialized_options = b'\302Hm\nk\n\rfixed64.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['lt']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['lt']._serialized_options = b'\302Hu\ns\n\nfixed64.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['lte']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['lte']._serialized_options = b'\302H\204\001\n\201\001\n\013fixed64.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['gt']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['gt']._serialized_options = b'\302H\360\006\nv\n\nfixed64.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\257\001\n\rfixed64.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\267\001\n\027fixed64.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\277\001\n\016fixed64.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\307\001\n\030fixed64.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['gte']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['gte']._serialized_options = b'\302H\273\007\n\204\001\n\013fixed64.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\276\001\n\016fixed64.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\306\001\n\030fixed64.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\316\001\n\017fixed64.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\326\001\n\031fixed64.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['in']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['in']._serialized_options = b'\302Hl\nj\n\nfixed64.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['not_in']._serialized_options = b'\302H_\n]\n\016fixed64.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['example']._loaded_options = None - _globals['_FIXED64RULES'].fields_by_name['example']._serialized_options = b'\302H\031\n\027\n\017fixed64.example\032\004true' - _globals['_SFIXED32RULES'].fields_by_name['const']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['const']._serialized_options = b'\302Hn\nl\n\016sfixed32.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['lt']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['lt']._serialized_options = b'\302Hv\nt\n\013sfixed32.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['lte']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['lte']._serialized_options = b'\302H\205\001\n\202\001\n\014sfixed32.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['gt']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['gt']._serialized_options = b'\302H\365\006\nw\n\013sfixed32.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\260\001\n\016sfixed32.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\270\001\n\030sfixed32.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\300\001\n\017sfixed32.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\310\001\n\031sfixed32.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['gte']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['gte']._serialized_options = b'\302H\300\007\n\205\001\n\014sfixed32.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\277\001\n\017sfixed32.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\307\001\n\031sfixed32.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\317\001\n\020sfixed32.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\327\001\n\032sfixed32.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['in']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['in']._serialized_options = b'\302Hm\nk\n\013sfixed32.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['not_in']._serialized_options = b'\302H`\n^\n\017sfixed32.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['example']._loaded_options = None - _globals['_SFIXED32RULES'].fields_by_name['example']._serialized_options = b'\302H\032\n\030\n\020sfixed32.example\032\004true' - _globals['_SFIXED64RULES'].fields_by_name['const']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['const']._serialized_options = b'\302Hn\nl\n\016sfixed64.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['lt']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['lt']._serialized_options = b'\302Hv\nt\n\013sfixed64.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['lte']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['lte']._serialized_options = b'\302H\205\001\n\202\001\n\014sfixed64.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['gt']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['gt']._serialized_options = b'\302H\365\006\nw\n\013sfixed64.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\260\001\n\016sfixed64.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\270\001\n\030sfixed64.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\300\001\n\017sfixed64.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\310\001\n\031sfixed64.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['gte']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['gte']._serialized_options = b'\302H\300\007\n\205\001\n\014sfixed64.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\277\001\n\017sfixed64.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\307\001\n\031sfixed64.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\317\001\n\020sfixed64.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\327\001\n\032sfixed64.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['in']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['in']._serialized_options = b'\302Hm\nk\n\013sfixed64.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['not_in']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['not_in']._serialized_options = b'\302H`\n^\n\017sfixed64.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['example']._loaded_options = None - _globals['_SFIXED64RULES'].fields_by_name['example']._serialized_options = b'\302H\032\n\030\n\020sfixed64.example\032\004true' - _globals['_BOOLRULES'].fields_by_name['const']._loaded_options = None - _globals['_BOOLRULES'].fields_by_name['const']._serialized_options = b'\302Hj\nh\n\nbool.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_BOOLRULES'].fields_by_name['example']._loaded_options = None - _globals['_BOOLRULES'].fields_by_name['example']._serialized_options = b'\302H\026\n\024\n\014bool.example\032\004true' - _globals['_STRINGRULES'].fields_by_name['const']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['const']._serialized_options = b'\302Hn\nl\n\014string.const\032\\this != getField(rules, \'const\') ? \'must equal `%s`\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['len']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['len']._serialized_options = b'\302Ha\n_\n\nstring.len\032Quint(this.size()) != rules.len ? \'must be %s characters\'.format([rules.len]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['min_len']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['min_len']._serialized_options = b'\302Hu\ns\n\016string.min_len\032auint(this.size()) < rules.min_len ? \'must be at least %s characters\'.format([rules.min_len]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['max_len']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['max_len']._serialized_options = b'\302Ht\nr\n\016string.max_len\032`uint(this.size()) > rules.max_len ? \'must be at most %s characters\'.format([rules.max_len]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['len_bytes']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['len_bytes']._serialized_options = b'\302Hu\ns\n\020string.len_bytes\032_uint(bytes(this).size()) != rules.len_bytes ? \'must be %s bytes\'.format([rules.len_bytes]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['min_bytes']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['min_bytes']._serialized_options = b'\302H}\n{\n\020string.min_bytes\032guint(bytes(this).size()) < rules.min_bytes ? \'must be at least %s bytes\'.format([rules.min_bytes]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['max_bytes']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['max_bytes']._serialized_options = b'\302H|\nz\n\020string.max_bytes\032fuint(bytes(this).size()) > rules.max_bytes ? \'must be at most %s bytes\'.format([rules.max_bytes]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['pattern']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['pattern']._serialized_options = b'\302Hs\nq\n\016string.pattern\032_!this.matches(rules.pattern) ? \'does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['prefix']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['prefix']._serialized_options = b'\302Hk\ni\n\rstring.prefix\032X!this.startsWith(rules.prefix) ? \'does not have prefix `%s`\'.format([rules.prefix]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['suffix']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['suffix']._serialized_options = b'\302Hi\ng\n\rstring.suffix\032V!this.endsWith(rules.suffix) ? \'does not have suffix `%s`\'.format([rules.suffix]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['contains']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['contains']._serialized_options = b'\302Hu\ns\n\017string.contains\032`!this.contains(rules.contains) ? \'does not contain substring `%s`\'.format([rules.contains]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['not_contains']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['not_contains']._serialized_options = b'\302Hx\nv\n\023string.not_contains\032_this.contains(rules.not_contains) ? \'contains substring `%s`\'.format([rules.not_contains]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['in']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['in']._serialized_options = b'\302Hk\ni\n\tstring.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['not_in']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['not_in']._serialized_options = b'\302H^\n\\\n\rstring.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['email']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['email']._serialized_options = b'\302H\303\001\n[\n\014string.email\022\035must be a valid email address\032,!rules.email || this == \'\' || this.isEmail()\nd\n\022string.email_empty\0222value is empty, which is not a valid email address\032\032!rules.email || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['hostname']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['hostname']._serialized_options = b'\302H\310\001\n_\n\017string.hostname\022\030must be a valid hostname\0322!rules.hostname || this == \'\' || this.isHostname()\ne\n\025string.hostname_empty\022-value is empty, which is not a valid hostname\032\035!rules.hostname || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ip']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ip']._serialized_options = b'\302H\256\001\nO\n\tstring.ip\022\032must be a valid IP address\032&!rules.ip || this == \'\' || this.isIp()\n[\n\017string.ip_empty\022/value is empty, which is not a valid IP address\032\027!rules.ip || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ipv4']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv4']._serialized_options = b'\302H\273\001\nV\n\013string.ipv4\022\034must be a valid IPv4 address\032)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\021string.ipv4_empty\0221value is empty, which is not a valid IPv4 address\032\031!rules.ipv4 || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ipv6']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv6']._serialized_options = b'\302H\273\001\nV\n\013string.ipv6\022\034must be a valid IPv6 address\032)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\021string.ipv6_empty\0221value is empty, which is not a valid IPv6 address\032\031!rules.ipv6 || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['uri']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['uri']._serialized_options = b'\302H\245\001\nK\n\nstring.uri\022\023must be a valid URI\032(!rules.uri || this == \'\' || this.isUri()\nV\n\020string.uri_empty\022(value is empty, which is not a valid URI\032\030!rules.uri || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['uri_ref']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['uri_ref']._serialized_options = b'\302HT\nR\n\016string.uri_ref\022\035must be a valid URI Reference\032!!rules.uri_ref || this.isUriRef()' - _globals['_STRINGRULES'].fields_by_name['address']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['address']._serialized_options = b'\302H\361\001\n{\n\016string.address\022\'must be a valid hostname, or ip address\032@!rules.address || this == \'\' || this.isHostname() || this.isIp()\nr\n\024string.address_empty\022!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\222\001\n string.ipv4_with_prefixlen_empty\022Dvalue is empty, which is not a valid IPv4 address with prefix length\032(!rules.ipv4_with_prefixlen || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._serialized_options = b'\302H\245\002\n\215\001\n\032string.ipv6_with_prefixlen\022/must be a valid IPv6 address with prefix length\032>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\222\001\n string.ipv6_with_prefixlen_empty\022Dvalue is empty, which is not a valid IPv6 address with prefix length\032(!rules.ipv6_with_prefixlen || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ip_prefix']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ip_prefix']._serialized_options = b'\302H\322\001\nf\n\020string.ip_prefix\022\031must be a valid IP prefix\0327!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\026string.ip_prefix_empty\022.value is empty, which is not a valid IP prefix\032\036!rules.ip_prefix || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._serialized_options = b'\302H\341\001\no\n\022string.ipv4_prefix\022\033must be a valid IPv4 prefix\032!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\032string.host_and_port_empty\0227value is empty, which is not a valid host and port pair\032\"!rules.host_and_port || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['ulid']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ulid']._serialized_options = b'\302H\331\001\n|\n\013string.ulid\022\024must be a valid ULID\032W!rules.ulid || this == \'\' || this.matches(\'^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$\')\nY\n\021string.ulid_empty\022)value is empty, which is not a valid ULID\032\031!rules.ulid || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['protobuf_fqn']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['protobuf_fqn']._serialized_options = b'\302H\267\002\n\257\001\n\023string.protobuf_fqn\022-must be a valid fully-qualified Protobuf name\032i!rules.protobuf_fqn || this == \'\' || this.matches(\'^[A-Za-z_][A-Za-z_0-9]*(\\\\.[A-Za-z_][A-Za-z_0-9]*)*$\')\n\202\001\n\031string.protobuf_fqn_empty\022Bvalue is empty, which is not a valid fully-qualified Protobuf name\032!!rules.protobuf_fqn || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['protobuf_dot_fqn']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['protobuf_dot_fqn']._serialized_options = b'\302H\360\002\n\315\001\n\027string.protobuf_dot_fqn\022@must be a valid fully-qualified Protobuf name with a leading dot\032p!rules.protobuf_dot_fqn || this == \'\' || this.matches(\'^\\\\.[A-Za-z_][A-Za-z_0-9]*(\\\\.[A-Za-z_][A-Za-z_0-9]*)*$\')\n\235\001\n\035string.protobuf_dot_fqn_empty\022Uvalue is empty, which is not a valid fully-qualified Protobuf name with a leading dot\032%!rules.protobuf_dot_fqn || this != \'\'' - _globals['_STRINGRULES'].fields_by_name['well_known_regex']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['well_known_regex']._serialized_options = b'\302H\341\004\n\352\001\n#string.well_known_regex.header_name\022 must be a valid HTTP header name\032\240\001rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\215\001\n)string.well_known_regex.header_name_empty\0225value is empty, which is not a valid HTTP header name\032)rules.well_known_regex != 1 || this != \'\'\n\341\001\n$string.well_known_regex.header_value\022!must be a valid HTTP header value\032\225\001rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')' - _globals['_STRINGRULES'].fields_by_name['example']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016string.example\032\004true' - _globals['_BYTESRULES'].fields_by_name['const']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['const']._serialized_options = b'\302Hh\nf\n\013bytes.const\032Wthis != getField(rules, \'const\') ? \'must be %x\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['len']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['len']._serialized_options = b'\302H[\nY\n\tbytes.len\032Luint(this.size()) != rules.len ? \'must be %s bytes\'.format([rules.len]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['min_len']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['min_len']._serialized_options = b'\302Ho\nm\n\rbytes.min_len\032\\uint(this.size()) < rules.min_len ? \'must be at least %s bytes\'.format([rules.min_len]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['max_len']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['max_len']._serialized_options = b'\302Hn\nl\n\rbytes.max_len\032[uint(this.size()) > rules.max_len ? \'must be at most %s bytes\'.format([rules.max_len]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['pattern']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['pattern']._serialized_options = b'\302Hv\nt\n\rbytes.pattern\032c!string(this).matches(rules.pattern) ? \'must match regex pattern `%s`\'.format([rules.pattern]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['prefix']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['prefix']._serialized_options = b'\302Hh\nf\n\014bytes.prefix\032V!this.startsWith(rules.prefix) ? \'does not have prefix %x\'.format([rules.prefix]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['suffix']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['suffix']._serialized_options = b'\302Hf\nd\n\014bytes.suffix\032T!this.endsWith(rules.suffix) ? \'does not have suffix %x\'.format([rules.suffix]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['contains']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['contains']._serialized_options = b'\302Hh\nf\n\016bytes.contains\032T!this.contains(rules.contains) ? \'does not contain %x\'.format([rules.contains]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['in']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['in']._serialized_options = b'\302H\220\001\n\215\001\n\010bytes.in\032\200\001getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['not_in']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['not_in']._serialized_options = b'\302H]\n[\n\014bytes.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['ip']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['ip']._serialized_options = b'\302H\322\001\nn\n\010bytes.ip\022\032must be a valid IP address\032F!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\016bytes.ip_empty\022/value is empty, which is not a valid IP address\032\035!rules.ip || this.size() != 0' - _globals['_BYTESRULES'].fields_by_name['ipv4']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['ipv4']._serialized_options = b'\302H\311\001\n_\n\nbytes.ipv4\022\034must be a valid IPv4 address\0323!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\020bytes.ipv4_empty\0221value is empty, which is not a valid IPv4 address\032\037!rules.ipv4 || this.size() != 0' - _globals['_BYTESRULES'].fields_by_name['ipv6']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['ipv6']._serialized_options = b'\302H\312\001\n`\n\nbytes.ipv6\022\034must be a valid IPv6 address\0324!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\020bytes.ipv6_empty\0221value is empty, which is not a valid IPv6 address\032\037!rules.ipv6 || this.size() != 0' - _globals['_BYTESRULES'].fields_by_name['uuid']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['uuid']._serialized_options = b'\302H\272\001\nX\n\nbytes.uuid\022\024must be a valid UUID\0324!rules.uuid || this.size() == 0 || this.size() == 16\n^\n\020bytes.uuid_empty\022)value is empty, which is not a valid UUID\032\037!rules.uuid || this.size() != 0' - _globals['_BYTESRULES'].fields_by_name['example']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rbytes.example\032\004true' - _globals['_ENUMRULES'].fields_by_name['const']._loaded_options = None - _globals['_ENUMRULES'].fields_by_name['const']._serialized_options = b'\302Hj\nh\n\nenum.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_ENUMRULES'].fields_by_name['in']._loaded_options = None - _globals['_ENUMRULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\007enum.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_ENUMRULES'].fields_by_name['not_in']._loaded_options = None - _globals['_ENUMRULES'].fields_by_name['not_in']._serialized_options = b'\302H\\\nZ\n\013enum.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_ENUMRULES'].fields_by_name['example']._loaded_options = None - _globals['_ENUMRULES'].fields_by_name['example']._serialized_options = b'\302H\026\n\024\n\014enum.example\032\004true' - _globals['_REPEATEDRULES'].fields_by_name['min_items']._loaded_options = None - _globals['_REPEATEDRULES'].fields_by_name['min_items']._serialized_options = b'\302H\177\n}\n\022repeated.min_items\032guint(this.size()) < rules.min_items ? \'must contain at least %d item(s)\'.format([rules.min_items]) : \'\'' - _globals['_REPEATEDRULES'].fields_by_name['max_items']._loaded_options = None - _globals['_REPEATEDRULES'].fields_by_name['max_items']._serialized_options = b'\302H\204\001\n\201\001\n\022repeated.max_items\032kuint(this.size()) > rules.max_items ? \'must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'' - _globals['_REPEATEDRULES'].fields_by_name['unique']._loaded_options = None - _globals['_REPEATEDRULES'].fields_by_name['unique']._serialized_options = b'\302H]\n[\n\017repeated.unique\022(repeated value must contain unique items\032\036!rules.unique || this.unique()' - _globals['_MAPRULES'].fields_by_name['min_pairs']._loaded_options = None - _globals['_MAPRULES'].fields_by_name['min_pairs']._serialized_options = b'\302Hy\nw\n\rmap.min_pairs\032fuint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'' - _globals['_MAPRULES'].fields_by_name['max_pairs']._loaded_options = None - _globals['_MAPRULES'].fields_by_name['max_pairs']._serialized_options = b'\302Hx\nv\n\rmap.max_pairs\032euint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['const']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['const']._serialized_options = b'\302Hn\nl\n\016duration.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['lt']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['lt']._serialized_options = b'\302Hv\nt\n\013duration.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['lte']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['lte']._serialized_options = b'\302H\205\001\n\202\001\n\014duration.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['gt']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['gt']._serialized_options = b'\302H\365\006\nw\n\013duration.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\260\001\n\016duration.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\270\001\n\030duration.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\300\001\n\017duration.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\310\001\n\031duration.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['gte']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['gte']._serialized_options = b'\302H\300\007\n\205\001\n\014duration.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\277\001\n\017duration.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\307\001\n\031duration.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\317\001\n\020duration.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\327\001\n\032duration.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['in']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['in']._serialized_options = b'\302Hm\nk\n\013duration.in\032\\!(this in getField(rules, \'in\')) ? \'must be in list %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['not_in']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['not_in']._serialized_options = b'\302H`\n^\n\017duration.not_in\032Kthis in rules.not_in ? \'must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['example']._loaded_options = None - _globals['_DURATIONRULES'].fields_by_name['example']._serialized_options = b'\302H\032\n\030\n\020duration.example\032\004true' - _globals['_FIELDMASKRULES'].fields_by_name['const']._loaded_options = None - _globals['_FIELDMASKRULES'].fields_by_name['const']._serialized_options = b'\302H\211\001\n\206\001\n\020field_mask.const\032rthis.paths != getField(rules, \'const\').paths ? \'must equal paths %s\'.format([getField(rules, \'const\').paths]) : \'\'' - _globals['_FIELDMASKRULES'].fields_by_name['in']._loaded_options = None - _globals['_FIELDMASKRULES'].fields_by_name['in']._serialized_options = b'\302H\302\001\n\277\001\n\rfield_mask.in\032\255\001!this.paths.all(p, p in getField(rules, \'in\') || getField(rules, \'in\').exists(f, p.startsWith(f+\'.\'))) ? \'must only contain paths in %s\'.format([getField(rules, \'in\')]) : \'\'' - _globals['_FIELDMASKRULES'].fields_by_name['not_in']._loaded_options = None - _globals['_FIELDMASKRULES'].fields_by_name['not_in']._serialized_options = b'\302H\330\001\n\325\001\n\021field_mask.not_in\032\277\001!this.paths.all(p, !(p in getField(rules, \'not_in\') || getField(rules, \'not_in\').exists(f, p.startsWith(f+\'.\')))) ? \'must not contain any paths in %s\'.format([getField(rules, \'not_in\')]) : \'\'' - _globals['_FIELDMASKRULES'].fields_by_name['example']._loaded_options = None - _globals['_FIELDMASKRULES'].fields_by_name['example']._serialized_options = b'\302H\034\n\032\n\022field_mask.example\032\004true' - _globals['_TIMESTAMPRULES'].fields_by_name['const']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['const']._serialized_options = b'\302Ho\nm\n\017timestamp.const\032Zthis != getField(rules, \'const\') ? \'must equal %s\'.format([getField(rules, \'const\')]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['lt']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['lt']._serialized_options = b'\302Hw\nu\n\014timestamp.lt\032e!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['lte']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['lte']._serialized_options = b'\302H\206\001\n\203\001\n\rtimestamp.lte\032r!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._serialized_options = b'\302HQ\nO\n\020timestamp.lt_now\032;(rules.lt_now && this > now) ? \'must be less than now\' : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['gt']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['gt']._serialized_options = b'\302H\372\006\nx\n\014timestamp.gt\032h!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'must be greater than %s\'.format([rules.gt]) : \'\'\n\261\001\n\017timestamp.gt_lt\032\235\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\271\001\n\031timestamp.gt_lt_exclusive\032\233\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\301\001\n\020timestamp.gt_lte\032\254\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\311\001\n\032timestamp.gt_lte_exclusive\032\252\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['gte']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['gte']._serialized_options = b'\302H\305\007\n\206\001\n\rtimestamp.gte\032u!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\300\001\n\020timestamp.gte_lt\032\253\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\310\001\n\032timestamp.gte_lt_exclusive\032\251\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\320\001\n\021timestamp.gte_lte\032\272\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\330\001\n\033timestamp.gte_lte_exclusive\032\270\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._serialized_options = b'\302HT\nR\n\020timestamp.gt_now\032>(rules.gt_now && this < now) ? \'must be greater than now\' : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['within']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['within']._serialized_options = b'\302H\201\001\n\177\n\020timestamp.within\032kthis < now-rules.within || this > now+rules.within ? \'must be within %s of now\'.format([rules.within]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['example']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['example']._serialized_options = b'\302H\033\n\031\n\021timestamp.example\032\004true' - _globals['_IGNORE']._serialized_start=54642 - _globals['_IGNORE']._serialized_end=54803 - _globals['_KNOWNREGEX']._serialized_start=54805 - _globals['_KNOWNREGEX']._serialized_end=54915 - _globals['_RULE']._serialized_start=178 - _globals['_RULE']._serialized_end=258 - _globals['_MESSAGERULES']._serialized_start=261 - _globals['_MESSAGERULES']._serialized_end=422 - _globals['_MESSAGEONEOFRULE']._serialized_start=424 - _globals['_MESSAGEONEOFRULE']._serialized_end=494 - _globals['_ONEOFRULES']._serialized_start=496 - _globals['_ONEOFRULES']._serialized_end=536 - _globals['_FIELDRULES']._serialized_start=539 - _globals['_FIELDRULES']._serialized_end=1918 - _globals['_PREDEFINEDRULES']._serialized_start=1920 - _globals['_PREDEFINEDRULES']._serialized_end=2010 - _globals['_FLOATRULES']._serialized_start=2013 - _globals['_FLOATRULES']._serialized_end=5003 - _globals['_DOUBLERULES']._serialized_start=5006 - _globals['_DOUBLERULES']._serialized_end=8014 - _globals['_INT32RULES']._serialized_start=8017 - _globals['_INT32RULES']._serialized_end=10671 - _globals['_INT64RULES']._serialized_start=10674 - _globals['_INT64RULES']._serialized_end=13328 - _globals['_UINT32RULES']._serialized_start=13331 - _globals['_UINT32RULES']._serialized_end=16003 - _globals['_UINT64RULES']._serialized_start=16006 - _globals['_UINT64RULES']._serialized_end=18678 - _globals['_SINT32RULES']._serialized_start=18681 - _globals['_SINT32RULES']._serialized_end=21353 - _globals['_SINT64RULES']._serialized_start=21356 - _globals['_SINT64RULES']._serialized_end=24028 - _globals['_FIXED32RULES']._serialized_start=24031 - _globals['_FIXED32RULES']._serialized_end=26720 - _globals['_FIXED64RULES']._serialized_start=26723 - _globals['_FIXED64RULES']._serialized_end=29412 - _globals['_SFIXED32RULES']._serialized_start=29415 - _globals['_SFIXED32RULES']._serialized_end=32122 - _globals['_SFIXED64RULES']._serialized_start=32125 - _globals['_SFIXED64RULES']._serialized_end=34832 - _globals['_BOOLRULES']._serialized_start=34835 - _globals['_BOOLRULES']._serialized_end=35044 - _globals['_STRINGRULES']._serialized_start=35047 - _globals['_STRINGRULES']._serialized_end=43190 - _globals['_BYTESRULES']._serialized_start=43193 - _globals['_BYTESRULES']._serialized_end=45571 - _globals['_ENUMRULES']._serialized_start=45574 - _globals['_ENUMRULES']._serialized_end=46064 - _globals['_REPEATEDRULES']._serialized_start=46067 - _globals['_REPEATEDRULES']._serialized_end=46595 - _globals['_MAPRULES']._serialized_start=46598 - _globals['_MAPRULES']._serialized_end=47026 - _globals['_ANYRULES']._serialized_start=47028 - _globals['_ANYRULES']._serialized_end=47077 - _globals['_DURATIONRULES']._serialized_start=47080 - _globals['_DURATIONRULES']._serialized_end=50004 - _globals['_FIELDMASKRULES']._serialized_start=50007 - _globals['_FIELDMASKRULES']._serialized_end=50781 - _globals['_TIMESTAMPRULES']._serialized_start=50784 - _globals['_TIMESTAMPRULES']._serialized_end=53832 - _globals['_VIOLATIONS']._serialized_start=53834 - _globals['_VIOLATIONS']._serialized_end=53903 - _globals['_VIOLATION']._serialized_start=53906 - _globals['_VIOLATION']._serialized_end=54103 - _globals['_FIELDPATH']._serialized_start=54105 - _globals['_FIELDPATH']._serialized_end=54176 - _globals['_FIELDPATHELEMENT']._serialized_start=54179 - _globals['_FIELDPATHELEMENT']._serialized_end=54639 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/buf/validate/validate_pb2_grpc.py b/src/authorizer/_grpc/buf/validate/validate_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/buf/validate/validate_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/google/__init__.py b/src/authorizer/_grpc/google/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/google/api/__init__.py b/src/authorizer/_grpc/google/api/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/authorizer/_grpc/google/api/annotations_pb2.py b/src/authorizer/_grpc/google/api/annotations_pb2.py deleted file mode 100644 index 15a2734..0000000 --- a/src/authorizer/_grpc/google/api/annotations_pb2.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: google/api/annotations.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'google/api/annotations.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from authorizer._grpc.google.api import http_pb2 as google_dot_api_dot_http__pb2 -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:K\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleR\x04httpB\xae\x01\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.annotations_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\020AnnotationsProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/google/api/annotations_pb2_grpc.py b/src/authorizer/_grpc/google/api/annotations_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/google/api/annotations_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc/google/api/http_pb2.py b/src/authorizer/_grpc/google/api/http_pb2.py deleted file mode 100644 index 13e2b8d..0000000 --- a/src/authorizer/_grpc/google/api/http_pb2.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: google/api/http.proto -# Protobuf Python Version: 5.27.3 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 3, - '', - 'google/api/http.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/api/http.proto\x12\ngoogle.api\"y\n\x04Http\x12*\n\x05rules\x18\x01 \x03(\x0b\x32\x14.google.api.HttpRuleR\x05rules\x12\x45\n\x1f\x66ully_decode_reserved_expansion\x18\x02 \x01(\x08R\x1c\x66ullyDecodeReservedExpansion\"\xda\x02\n\x08HttpRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12\x12\n\x03get\x18\x02 \x01(\tH\x00R\x03get\x12\x12\n\x03put\x18\x03 \x01(\tH\x00R\x03put\x12\x14\n\x04post\x18\x04 \x01(\tH\x00R\x04post\x12\x18\n\x06\x64\x65lete\x18\x05 \x01(\tH\x00R\x06\x64\x65lete\x12\x16\n\x05patch\x18\x06 \x01(\tH\x00R\x05patch\x12\x37\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00R\x06\x63ustom\x12\x12\n\x04\x62ody\x18\x07 \x01(\tR\x04\x62ody\x12#\n\rresponse_body\x18\x0c \x01(\tR\x0cresponseBody\x12\x45\n\x13\x61\x64\x64itional_bindings\x18\x0b \x03(\x0b\x32\x14.google.api.HttpRuleR\x12\x61\x64\x64itionalBindingsB\t\n\x07pattern\";\n\x11\x43ustomHttpPattern\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x12\n\x04path\x18\x02 \x01(\tR\x04pathB\xa7\x01\n\x0e\x63om.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.http_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\tHttpProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' - _globals['_HTTP']._serialized_start=37 - _globals['_HTTP']._serialized_end=158 - _globals['_HTTPRULE']._serialized_start=161 - _globals['_HTTPRULE']._serialized_end=507 - _globals['_CUSTOMHTTPPATTERN']._serialized_start=509 - _globals['_CUSTOMHTTPPATTERN']._serialized_end=568 -# @@protoc_insertion_point(module_scope) diff --git a/src/authorizer/_grpc/google/api/http_pb2_grpc.py b/src/authorizer/_grpc/google/api/http_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/src/authorizer/_grpc/google/api/http_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/src/authorizer/_grpc_transport.py b/src/authorizer/_grpc_transport.py index 488b9d2..852c90e 100644 --- a/src/authorizer/_grpc_transport.py +++ b/src/authorizer/_grpc_transport.py @@ -83,7 +83,7 @@ def make_async_channel(authorizer_url: str, grpc_endpoint: str = "") -> Any: def load_stubs() -> Any: """Import the vendored generated stub modules (lazily).""" _require_grpc() - from ._grpc.authorizer.v1 import ( + from authorizer_proto.authorizer.v1 import ( admin_pb2, admin_pb2_grpc, authorizer_pb2, diff --git a/src/authorizer/_proto.py b/src/authorizer/_proto.py index 08dbc49..808345b 100644 --- a/src/authorizer/_proto.py +++ b/src/authorizer/_proto.py @@ -13,7 +13,7 @@ def _load_pb2() -> tuple[Any, Any]: """Import the vendored proto message modules (admin + public).""" - from ._grpc.authorizer.v1 import admin_pb2, authorizer_pb2 + from authorizer_proto.authorizer.v1 import admin_pb2, authorizer_pb2 return admin_pb2, authorizer_pb2