yandexcloud 0.294.0__py3-none-any.whl → 0.296.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of yandexcloud might be problematic. Click here for more details.

Files changed (119) hide show
  1. yandex/cloud/ai/foundation_models/v1/image_generation/image_generation_pb2.py +5 -3
  2. yandex/cloud/ai/foundation_models/v1/image_generation/image_generation_pb2.pyi +28 -1
  3. yandex/cloud/backup/v1/resource_pb2.py +16 -14
  4. yandex/cloud/backup/v1/resource_pb2.pyi +38 -1
  5. yandex/cloud/billing/v1/customer_service_pb2.pyi +1 -1
  6. yandex/cloud/billing/v1/sku_service_pb2.pyi +1 -0
  7. yandex/cloud/compute/v1/instance_pb2.pyi +1 -3
  8. yandex/cloud/compute/v1/instance_service_pb2.py +26 -26
  9. yandex/cloud/compute/v1/instance_service_pb2.pyi +5 -1
  10. yandex/cloud/datasphere/v2/jobs/jobs_pb2.py +40 -32
  11. yandex/cloud/datasphere/v2/jobs/jobs_pb2.pyi +78 -1
  12. yandex/cloud/datasphere/v2/jobs/project_job_service_pb2.py +56 -54
  13. yandex/cloud/datasphere/v2/jobs/project_job_service_pb2.pyi +21 -6
  14. yandex/cloud/datasphere/v2/project_service_pb2.py +34 -30
  15. yandex/cloud/datasphere/v2/project_service_pb2.pyi +13 -3
  16. yandex/cloud/iam/v1/api_key_service_pb2.py +13 -3
  17. yandex/cloud/iam/v1/api_key_service_pb2.pyi +53 -0
  18. yandex/cloud/iam/v1/api_key_service_pb2_grpc.py +34 -0
  19. yandex/cloud/iam/v1/api_key_service_pb2_grpc.pyi +20 -0
  20. yandex/cloud/iot/devices/v1/registry_pb2.py +13 -13
  21. yandex/cloud/iot/devices/v1/registry_pb2.pyi +4 -0
  22. yandex/cloud/iot/devices/v1/registry_service_pb2.py +23 -3
  23. yandex/cloud/iot/devices/v1/registry_service_pb2.pyi +64 -0
  24. yandex/cloud/iot/devices/v1/registry_service_pb2_grpc.py +68 -0
  25. yandex/cloud/iot/devices/v1/registry_service_pb2_grpc.pyi +40 -0
  26. yandex/cloud/mdb/greenplum/v1/pxf_pb2.pyi +226 -52
  27. yandex/cloud/mdb/kafka/v1/cluster_pb2.py +42 -35
  28. yandex/cloud/mdb/kafka/v1/cluster_pb2.pyi +32 -2
  29. yandex/cloud/mdb/mongodb/v1/cluster_service_pb2.pyi +13 -7
  30. yandex/cloud/mdb/postgresql/v1/user_pb2.pyi +33 -16
  31. yandex/cloud/organizationmanager/v1/os_login_service_pb2.py +20 -20
  32. yandex/cloud/organizationmanager/v1/os_login_service_pb2.pyi +2 -2
  33. yandex/cloud/serverless/functions/v1/function_pb2.py +30 -28
  34. yandex/cloud/serverless/functions/v1/function_pb2.pyi +5 -1
  35. yandex/cloud/serverless/functions/v1/function_service_pb2.py +38 -36
  36. yandex/cloud/serverless/functions/v1/function_service_pb2.pyi +5 -1
  37. yandex/cloud/smartcaptcha/__init__.py +0 -0
  38. yandex/cloud/smartcaptcha/v1/__init__.py +0 -0
  39. yandex/cloud/smartcaptcha/v1/captcha_pb2.py +100 -0
  40. yandex/cloud/smartcaptcha/v1/captcha_pb2.pyi +500 -0
  41. yandex/cloud/smartcaptcha/v1/captcha_pb2_grpc.py +4 -0
  42. yandex/cloud/smartcaptcha/v1/captcha_pb2_grpc.pyi +17 -0
  43. yandex/cloud/smartcaptcha/v1/captcha_service_pb2.py +76 -0
  44. yandex/cloud/smartcaptcha/v1/captcha_service_pb2.pyi +268 -0
  45. yandex/cloud/smartcaptcha/v1/captcha_service_pb2_grpc.py +242 -0
  46. yandex/cloud/smartcaptcha/v1/captcha_service_pb2_grpc.pyi +152 -0
  47. yandex/cloud/smartwebsecurity/__init__.py +0 -0
  48. yandex/cloud/smartwebsecurity/v1/__init__.py +0 -0
  49. yandex/cloud/smartwebsecurity/v1/security_profile_pb2.py +110 -0
  50. yandex/cloud/smartwebsecurity/v1/security_profile_pb2.pyi +520 -0
  51. yandex/cloud/smartwebsecurity/v1/security_profile_pb2_grpc.py +4 -0
  52. yandex/cloud/smartwebsecurity/v1/security_profile_pb2_grpc.pyi +17 -0
  53. yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2.py +78 -0
  54. yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2.pyi +260 -0
  55. yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2_grpc.py +208 -0
  56. yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2_grpc.pyi +132 -0
  57. yandex/cloud/speechsense/v1/analysis/__init__.py +0 -0
  58. yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2.py +28 -0
  59. yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2.pyi +40 -0
  60. yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2_grpc.py +4 -0
  61. yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2_grpc.pyi +17 -0
  62. yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2.py +29 -0
  63. yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2.pyi +66 -0
  64. yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2_grpc.py +4 -0
  65. yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2_grpc.pyi +17 -0
  66. yandex/cloud/speechsense/v1/analysis/points_pb2.py +29 -0
  67. yandex/cloud/speechsense/v1/analysis/points_pb2.pyi +53 -0
  68. yandex/cloud/speechsense/v1/analysis/points_pb2_grpc.py +4 -0
  69. yandex/cloud/speechsense/v1/analysis/points_pb2_grpc.pyi +17 -0
  70. yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2.py +30 -0
  71. yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2.pyi +93 -0
  72. yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2_grpc.py +4 -0
  73. yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2_grpc.pyi +17 -0
  74. yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2.py +27 -0
  75. yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2.pyi +41 -0
  76. yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2_grpc.py +4 -0
  77. yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2_grpc.pyi +17 -0
  78. yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2.py +28 -0
  79. yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2.pyi +58 -0
  80. yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2_grpc.py +4 -0
  81. yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2_grpc.pyi +17 -0
  82. yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2.py +27 -0
  83. yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2.pyi +43 -0
  84. yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2_grpc.py +4 -0
  85. yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2_grpc.pyi +17 -0
  86. yandex/cloud/speechsense/v1/analysis/statistics_common_pb2.py +30 -0
  87. yandex/cloud/speechsense/v1/analysis/statistics_common_pb2.pyi +91 -0
  88. yandex/cloud/speechsense/v1/analysis/statistics_common_pb2_grpc.py +4 -0
  89. yandex/cloud/speechsense/v1/analysis/statistics_common_pb2_grpc.pyi +17 -0
  90. yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2.py +33 -0
  91. yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2.pyi +102 -0
  92. yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2_grpc.py +4 -0
  93. yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2_grpc.pyi +17 -0
  94. yandex/cloud/speechsense/v1/analysis/transcription_pb2.py +41 -0
  95. yandex/cloud/speechsense/v1/analysis/transcription_pb2.pyi +186 -0
  96. yandex/cloud/speechsense/v1/analysis/transcription_pb2_grpc.py +4 -0
  97. yandex/cloud/speechsense/v1/analysis/transcription_pb2_grpc.pyi +17 -0
  98. yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2.py +27 -0
  99. yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2.pyi +70 -0
  100. yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2_grpc.py +4 -0
  101. yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2_grpc.pyi +17 -0
  102. yandex/cloud/speechsense/v1/search_pb2.py +51 -0
  103. yandex/cloud/speechsense/v1/search_pb2.pyi +324 -0
  104. yandex/cloud/speechsense/v1/search_pb2_grpc.py +4 -0
  105. yandex/cloud/speechsense/v1/search_pb2_grpc.pyi +17 -0
  106. yandex/cloud/speechsense/v1/talk_pb2.py +38 -0
  107. yandex/cloud/speechsense/v1/talk_pb2.pyi +161 -0
  108. yandex/cloud/speechsense/v1/talk_pb2_grpc.py +4 -0
  109. yandex/cloud/speechsense/v1/talk_pb2_grpc.pyi +17 -0
  110. yandex/cloud/speechsense/v1/talk_service_pb2.py +34 -18
  111. yandex/cloud/speechsense/v1/talk_service_pb2.pyi +143 -0
  112. yandex/cloud/speechsense/v1/talk_service_pb2_grpc.py +68 -0
  113. yandex/cloud/speechsense/v1/talk_service_pb2_grpc.pyi +40 -0
  114. {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/METADATA +8 -8
  115. {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/RECORD +119 -46
  116. {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/AUTHORS +0 -0
  117. {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/LICENSE +0 -0
  118. {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/WHEEL +0 -0
  119. {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/top_level.txt +0 -0
@@ -602,6 +602,7 @@ class CreateFunctionVersionRequest(google.protobuf.message.Message):
602
602
  STORAGE_MOUNTS_FIELD_NUMBER: builtins.int
603
603
  ASYNC_INVOCATION_CONFIG_FIELD_NUMBER: builtins.int
604
604
  TMPFS_SIZE_FIELD_NUMBER: builtins.int
605
+ CONCURRENCY_FIELD_NUMBER: builtins.int
605
606
  function_id: builtins.str
606
607
  """ID of the function to create a version for.
607
608
 
@@ -627,6 +628,8 @@ class CreateFunctionVersionRequest(google.protobuf.message.Message):
627
628
 
628
629
  0 or in range from 512 MiB to 3/4 of resources.memory.
629
630
  """
631
+ concurrency: builtins.int
632
+ """The maximum number of requests processed by a function instance at the same time"""
630
633
  @property
631
634
  def resources(self) -> yandex.cloud.serverless.functions.v1.function_pb2.Resources:
632
635
  """Resources allocated to the version."""
@@ -696,9 +699,10 @@ class CreateFunctionVersionRequest(google.protobuf.message.Message):
696
699
  storage_mounts: collections.abc.Iterable[yandex.cloud.serverless.functions.v1.function_pb2.StorageMount] | None = ...,
697
700
  async_invocation_config: yandex.cloud.serverless.functions.v1.function_pb2.AsyncInvocationConfig | None = ...,
698
701
  tmpfs_size: builtins.int = ...,
702
+ concurrency: builtins.int = ...,
699
703
  ) -> None: ...
700
704
  def HasField(self, field_name: typing.Literal["async_invocation_config", b"async_invocation_config", "connectivity", b"connectivity", "content", b"content", "execution_timeout", b"execution_timeout", "log_options", b"log_options", "package", b"package", "package_source", b"package_source", "resources", b"resources", "version_id", b"version_id"]) -> builtins.bool: ...
701
- def ClearField(self, field_name: typing.Literal["async_invocation_config", b"async_invocation_config", "connectivity", b"connectivity", "content", b"content", "description", b"description", "entrypoint", b"entrypoint", "environment", b"environment", "execution_timeout", b"execution_timeout", "function_id", b"function_id", "log_options", b"log_options", "named_service_accounts", b"named_service_accounts", "package", b"package", "package_source", b"package_source", "resources", b"resources", "runtime", b"runtime", "secrets", b"secrets", "service_account_id", b"service_account_id", "storage_mounts", b"storage_mounts", "tag", b"tag", "tmpfs_size", b"tmpfs_size", "version_id", b"version_id"]) -> None: ...
705
+ def ClearField(self, field_name: typing.Literal["async_invocation_config", b"async_invocation_config", "concurrency", b"concurrency", "connectivity", b"connectivity", "content", b"content", "description", b"description", "entrypoint", b"entrypoint", "environment", b"environment", "execution_timeout", b"execution_timeout", "function_id", b"function_id", "log_options", b"log_options", "named_service_accounts", b"named_service_accounts", "package", b"package", "package_source", b"package_source", "resources", b"resources", "runtime", b"runtime", "secrets", b"secrets", "service_account_id", b"service_account_id", "storage_mounts", b"storage_mounts", "tag", b"tag", "tmpfs_size", b"tmpfs_size", "version_id", b"version_id"]) -> None: ...
702
706
  def WhichOneof(self, oneof_group: typing.Literal["package_source", b"package_source"]) -> typing.Literal["package", "content", "version_id"] | None: ...
703
707
 
704
708
  global___CreateFunctionVersionRequest = CreateFunctionVersionRequest
File without changes
File without changes
@@ -0,0 +1,100 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: yandex/cloud/smartcaptcha/v1/captcha.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import descriptor_pool as _descriptor_pool
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ from google.protobuf.internal import builder as _builder
9
+ # @@protoc_insertion_point(imports)
10
+
11
+ _sym_db = _symbol_database.Default()
12
+
13
+
14
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
15
+ from yandex.cloud import validation_pb2 as yandex_dot_cloud_dot_validation__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*yandex/cloud/smartcaptcha/v1/captcha.proto\x12\x1cyandex.cloud.smartcaptcha.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dyandex/cloud/validation.proto\"\xa4\x05\n\x07\x43\x61ptcha\x12\n\n\x02id\x18\x15 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\x10\n\x08\x63loud_id\x18\x0c \x01(\t\x12\x12\n\nclient_key\x18\x03 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x15\n\rallowed_sites\x18\x08 \x03(\t\x12\x43\n\ncomplexity\x18\t \x01(\x0e\x32/.yandex.cloud.smartcaptcha.v1.CaptchaComplexity\x12\x12\n\nstyle_json\x18\n \x01(\t\x12\x0f\n\x07suspend\x18\r \x01(\x08\x12\x1f\n\x17turn_off_hostname_check\x18\x0e \x01(\x08\x12I\n\x0epre_check_type\x18\x10 \x01(\x0e\x32\x31.yandex.cloud.smartcaptcha.v1.CaptchaPreCheckType\x12J\n\x0e\x63hallenge_type\x18\x11 \x01(\x0e\x32\x32.yandex.cloud.smartcaptcha.v1.CaptchaChallengeType\x12\x42\n\x0esecurity_rules\x18\x13 \x03(\x0b\x32*.yandex.cloud.smartcaptcha.v1.SecurityRule\x12\x1b\n\x13\x64\x65letion_protection\x18\x16 \x01(\x08\x12R\n\x11override_variants\x18\x17 \x03(\x0b\x32-.yandex.cloud.smartcaptcha.v1.OverrideVariantB\x08\x82\xc8\x31\x04<=32J\x04\x08\x01\x10\x02J\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x0b\x10\x0cJ\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13J\x04\x08\x14\x10\x15\"\xc3\x02\n\x0fOverrideVariant\x12\x34\n\x04uuid\x18\x01 \x01(\tB&\xf2\xc7\x31\x1a[a-zA-Z0-9][a-zA-Z0-9-_.]*\x8a\xc8\x31\x04<=64\x12\x1e\n\x0b\x64\x65scription\x18\x02 \x01(\tB\t\x8a\xc8\x31\x05<=512\x12\x43\n\ncomplexity\x18\x03 \x01(\x0e\x32/.yandex.cloud.smartcaptcha.v1.CaptchaComplexity\x12I\n\x0epre_check_type\x18\x04 \x01(\x0e\x32\x31.yandex.cloud.smartcaptcha.v1.CaptchaPreCheckType\x12J\n\x0e\x63hallenge_type\x18\x05 \x01(\x0e\x32\x32.yandex.cloud.smartcaptcha.v1.CaptchaChallengeType\"&\n\x10\x43\x61ptchaSecretKey\x12\x12\n\nserver_key\x18\x01 \x01(\t\"\xe9\x01\n\x0cSecurityRule\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe8\xc7\x31\x01\xf2\xc7\x31\x1a[a-zA-Z0-9][a-zA-Z0-9-_.]*\x8a\xc8\x31\x04\x31-50\x12\x1e\n\x08priority\x18\x02 \x01(\x03\x42\x0c\xfa\xc7\x31\x08\x31-999999\x12\x1e\n\x0b\x64\x65scription\x18\x03 \x01(\tB\t\x8a\xc8\x31\x05<=512\x12:\n\tcondition\x18\x04 \x01(\x0b\x32\'.yandex.cloud.smartcaptcha.v1.Condition\x12\x1d\n\x15override_variant_uuid\x18\x06 \x01(\tJ\x04\x08\x05\x10\x06\"\xd6\x0b\n\tCondition\x12\x41\n\x04host\x18\x01 \x01(\x0b\x32\x33.yandex.cloud.smartcaptcha.v1.Condition.HostMatcher\x12?\n\x03uri\x18\x02 \x01(\x0b\x32\x32.yandex.cloud.smartcaptcha.v1.Condition.UriMatcher\x12P\n\x07headers\x18\x03 \x03(\x0b\x32\x35.yandex.cloud.smartcaptcha.v1.Condition.HeaderMatcherB\x08\x82\xc8\x31\x04<=20\x12\x44\n\tsource_ip\x18\x04 \x01(\x0b\x32\x31.yandex.cloud.smartcaptcha.v1.Condition.IpMatcher\x1a\xfc\x01\n\rStringMatcher\x12 \n\x0b\x65xact_match\x18\x01 \x01(\tB\t\x8a\xc8\x31\x05\x30-255H\x00\x12$\n\x0f\x65xact_not_match\x18\x02 \x01(\tB\t\x8a\xc8\x31\x05\x30-255H\x00\x12!\n\x0cprefix_match\x18\x03 \x01(\tB\t\x8a\xc8\x31\x05\x30-255H\x00\x12%\n\x10prefix_not_match\x18\x04 \x01(\tB\t\x8a\xc8\x31\x05\x30-255H\x00\x12%\n\x10pire_regex_match\x18\x05 \x01(\tB\t\x8a\xc8\x31\x05\x30-255H\x00\x12)\n\x14pire_regex_not_match\x18\x06 \x01(\tB\t\x8a\xc8\x31\x05\x30-255H\x00\x42\x07\n\x05match\x1a]\n\x0bHostMatcher\x12N\n\x05hosts\x18\x01 \x03(\x0b\x32\x35.yandex.cloud.smartcaptcha.v1.Condition.StringMatcherB\x08\x82\xc8\x31\x04<=20\x1a\xa2\x01\n\nUriMatcher\x12\x43\n\x04path\x18\x01 \x01(\x0b\x32\x35.yandex.cloud.smartcaptcha.v1.Condition.StringMatcher\x12O\n\x07queries\x18\x02 \x03(\x0b\x32\x34.yandex.cloud.smartcaptcha.v1.Condition.QueryMatcherB\x08\x82\xc8\x31\x04<=20\x1av\n\x0cQueryMatcher\x12\x1a\n\x03key\x18\x01 \x01(\tB\r\xe8\xc7\x31\x01\x8a\xc8\x31\x05\x31-255\x12J\n\x05value\x18\x02 \x01(\x0b\x32\x35.yandex.cloud.smartcaptcha.v1.Condition.StringMatcherB\x04\xe8\xc7\x31\x01\x1ax\n\rHeaderMatcher\x12\x1b\n\x04name\x18\x01 \x01(\tB\r\xe8\xc7\x31\x01\x8a\xc8\x31\x05\x31-255\x12J\n\x05value\x18\x02 \x01(\x0b\x32\x35.yandex.cloud.smartcaptcha.v1.Condition.StringMatcherB\x04\xe8\xc7\x31\x01\x1a\xcf\x02\n\tIpMatcher\x12P\n\x0fip_ranges_match\x18\x01 \x01(\x0b\x32\x37.yandex.cloud.smartcaptcha.v1.Condition.IpRangesMatcher\x12T\n\x13ip_ranges_not_match\x18\x02 \x01(\x0b\x32\x37.yandex.cloud.smartcaptcha.v1.Condition.IpRangesMatcher\x12J\n\x0cgeo_ip_match\x18\x03 \x01(\x0b\x32\x34.yandex.cloud.smartcaptcha.v1.Condition.GeoIpMatcher\x12N\n\x10geo_ip_not_match\x18\x04 \x01(\x0b\x32\x34.yandex.cloud.smartcaptcha.v1.Condition.GeoIpMatcher\x1a\x31\n\x0fIpRangesMatcher\x12\x1e\n\tip_ranges\x18\x01 \x03(\tB\x0b\x82\xc8\x31\x07<=10000\x1a\x33\n\x0cGeoIpMatcher\x12#\n\tlocations\x18\x01 \x03(\tB\x10\x82\xc8\x31\x03>=1\x8a\xc8\x31\x01\x32\x90\xc8\x31\x01*g\n\x11\x43\x61ptchaComplexity\x12\"\n\x1e\x43\x41PTCHA_COMPLEXITY_UNSPECIFIED\x10\x00\x12\x08\n\x04\x45\x41SY\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x08\n\x04HARD\x10\x03\x12\x0e\n\nFORCE_HARD\x10\x04*W\n\x13\x43\x61ptchaPreCheckType\x12&\n\"CAPTCHA_PRE_CHECK_TYPE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43HECKBOX\x10\x01\x12\n\n\x06SLIDER\x10\x02*q\n\x14\x43\x61ptchaChallengeType\x12&\n\"CAPTCHA_CHALLENGE_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nIMAGE_TEXT\x10\x01\x12\x0f\n\x0bSILHOUETTES\x10\x02\x12\x10\n\x0cKALEIDOSCOPE\x10\x03\x42q\n yandex.cloud.api.smartcaptcha.v1ZMgithub.com/yandex-cloud/go-genproto/yandex/cloud/smartcaptcha/v1;smartcaptchab\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yandex.cloud.smartcaptcha.v1.captcha_pb2', _globals)
23
+ if _descriptor._USE_C_DESCRIPTORS == False:
24
+ DESCRIPTOR._options = None
25
+ DESCRIPTOR._serialized_options = b'\n yandex.cloud.api.smartcaptcha.v1ZMgithub.com/yandex-cloud/go-genproto/yandex/cloud/smartcaptcha/v1;smartcaptcha'
26
+ _CAPTCHA.fields_by_name['override_variants']._options = None
27
+ _CAPTCHA.fields_by_name['override_variants']._serialized_options = b'\202\3101\004<=32'
28
+ _OVERRIDEVARIANT.fields_by_name['uuid']._options = None
29
+ _OVERRIDEVARIANT.fields_by_name['uuid']._serialized_options = b'\362\3071\032[a-zA-Z0-9][a-zA-Z0-9-_.]*\212\3101\004<=64'
30
+ _OVERRIDEVARIANT.fields_by_name['description']._options = None
31
+ _OVERRIDEVARIANT.fields_by_name['description']._serialized_options = b'\212\3101\005<=512'
32
+ _SECURITYRULE.fields_by_name['name']._options = None
33
+ _SECURITYRULE.fields_by_name['name']._serialized_options = b'\350\3071\001\362\3071\032[a-zA-Z0-9][a-zA-Z0-9-_.]*\212\3101\0041-50'
34
+ _SECURITYRULE.fields_by_name['priority']._options = None
35
+ _SECURITYRULE.fields_by_name['priority']._serialized_options = b'\372\3071\0101-999999'
36
+ _SECURITYRULE.fields_by_name['description']._options = None
37
+ _SECURITYRULE.fields_by_name['description']._serialized_options = b'\212\3101\005<=512'
38
+ _CONDITION_STRINGMATCHER.fields_by_name['exact_match']._options = None
39
+ _CONDITION_STRINGMATCHER.fields_by_name['exact_match']._serialized_options = b'\212\3101\0050-255'
40
+ _CONDITION_STRINGMATCHER.fields_by_name['exact_not_match']._options = None
41
+ _CONDITION_STRINGMATCHER.fields_by_name['exact_not_match']._serialized_options = b'\212\3101\0050-255'
42
+ _CONDITION_STRINGMATCHER.fields_by_name['prefix_match']._options = None
43
+ _CONDITION_STRINGMATCHER.fields_by_name['prefix_match']._serialized_options = b'\212\3101\0050-255'
44
+ _CONDITION_STRINGMATCHER.fields_by_name['prefix_not_match']._options = None
45
+ _CONDITION_STRINGMATCHER.fields_by_name['prefix_not_match']._serialized_options = b'\212\3101\0050-255'
46
+ _CONDITION_STRINGMATCHER.fields_by_name['pire_regex_match']._options = None
47
+ _CONDITION_STRINGMATCHER.fields_by_name['pire_regex_match']._serialized_options = b'\212\3101\0050-255'
48
+ _CONDITION_STRINGMATCHER.fields_by_name['pire_regex_not_match']._options = None
49
+ _CONDITION_STRINGMATCHER.fields_by_name['pire_regex_not_match']._serialized_options = b'\212\3101\0050-255'
50
+ _CONDITION_HOSTMATCHER.fields_by_name['hosts']._options = None
51
+ _CONDITION_HOSTMATCHER.fields_by_name['hosts']._serialized_options = b'\202\3101\004<=20'
52
+ _CONDITION_URIMATCHER.fields_by_name['queries']._options = None
53
+ _CONDITION_URIMATCHER.fields_by_name['queries']._serialized_options = b'\202\3101\004<=20'
54
+ _CONDITION_QUERYMATCHER.fields_by_name['key']._options = None
55
+ _CONDITION_QUERYMATCHER.fields_by_name['key']._serialized_options = b'\350\3071\001\212\3101\0051-255'
56
+ _CONDITION_QUERYMATCHER.fields_by_name['value']._options = None
57
+ _CONDITION_QUERYMATCHER.fields_by_name['value']._serialized_options = b'\350\3071\001'
58
+ _CONDITION_HEADERMATCHER.fields_by_name['name']._options = None
59
+ _CONDITION_HEADERMATCHER.fields_by_name['name']._serialized_options = b'\350\3071\001\212\3101\0051-255'
60
+ _CONDITION_HEADERMATCHER.fields_by_name['value']._options = None
61
+ _CONDITION_HEADERMATCHER.fields_by_name['value']._serialized_options = b'\350\3071\001'
62
+ _CONDITION_IPRANGESMATCHER.fields_by_name['ip_ranges']._options = None
63
+ _CONDITION_IPRANGESMATCHER.fields_by_name['ip_ranges']._serialized_options = b'\202\3101\007<=10000'
64
+ _CONDITION_GEOIPMATCHER.fields_by_name['locations']._options = None
65
+ _CONDITION_GEOIPMATCHER.fields_by_name['locations']._serialized_options = b'\202\3101\003>=1\212\3101\0012\220\3101\001'
66
+ _CONDITION.fields_by_name['headers']._options = None
67
+ _CONDITION.fields_by_name['headers']._serialized_options = b'\202\3101\004<=20'
68
+ _globals['_CAPTCHACOMPLEXITY']._serialized_start=2918
69
+ _globals['_CAPTCHACOMPLEXITY']._serialized_end=3021
70
+ _globals['_CAPTCHAPRECHECKTYPE']._serialized_start=3023
71
+ _globals['_CAPTCHAPRECHECKTYPE']._serialized_end=3110
72
+ _globals['_CAPTCHACHALLENGETYPE']._serialized_start=3112
73
+ _globals['_CAPTCHACHALLENGETYPE']._serialized_end=3225
74
+ _globals['_CAPTCHA']._serialized_start=141
75
+ _globals['_CAPTCHA']._serialized_end=817
76
+ _globals['_OVERRIDEVARIANT']._serialized_start=820
77
+ _globals['_OVERRIDEVARIANT']._serialized_end=1143
78
+ _globals['_CAPTCHASECRETKEY']._serialized_start=1145
79
+ _globals['_CAPTCHASECRETKEY']._serialized_end=1183
80
+ _globals['_SECURITYRULE']._serialized_start=1186
81
+ _globals['_SECURITYRULE']._serialized_end=1419
82
+ _globals['_CONDITION']._serialized_start=1422
83
+ _globals['_CONDITION']._serialized_end=2916
84
+ _globals['_CONDITION_STRINGMATCHER']._serialized_start=1720
85
+ _globals['_CONDITION_STRINGMATCHER']._serialized_end=1972
86
+ _globals['_CONDITION_HOSTMATCHER']._serialized_start=1974
87
+ _globals['_CONDITION_HOSTMATCHER']._serialized_end=2067
88
+ _globals['_CONDITION_URIMATCHER']._serialized_start=2070
89
+ _globals['_CONDITION_URIMATCHER']._serialized_end=2232
90
+ _globals['_CONDITION_QUERYMATCHER']._serialized_start=2234
91
+ _globals['_CONDITION_QUERYMATCHER']._serialized_end=2352
92
+ _globals['_CONDITION_HEADERMATCHER']._serialized_start=2354
93
+ _globals['_CONDITION_HEADERMATCHER']._serialized_end=2474
94
+ _globals['_CONDITION_IPMATCHER']._serialized_start=2477
95
+ _globals['_CONDITION_IPMATCHER']._serialized_end=2812
96
+ _globals['_CONDITION_IPRANGESMATCHER']._serialized_start=2814
97
+ _globals['_CONDITION_IPRANGESMATCHER']._serialized_end=2863
98
+ _globals['_CONDITION_GEOIPMATCHER']._serialized_start=2865
99
+ _globals['_CONDITION_GEOIPMATCHER']._serialized_end=2916
100
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,500 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import google.protobuf.timestamp_pb2
13
+ import sys
14
+ import typing
15
+
16
+ if sys.version_info >= (3, 10):
17
+ import typing as typing_extensions
18
+ else:
19
+ import typing_extensions
20
+
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _CaptchaComplexity:
24
+ ValueType = typing.NewType("ValueType", builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _CaptchaComplexityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CaptchaComplexity.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ CAPTCHA_COMPLEXITY_UNSPECIFIED: _CaptchaComplexity.ValueType # 0
30
+ EASY: _CaptchaComplexity.ValueType # 1
31
+ """High chance to pass pre-check and easy advanced challenge."""
32
+ MEDIUM: _CaptchaComplexity.ValueType # 2
33
+ """Medium chance to pass pre-check and normal advanced challenge."""
34
+ HARD: _CaptchaComplexity.ValueType # 3
35
+ """Little chance to pass pre-check and hard advanced challenge."""
36
+ FORCE_HARD: _CaptchaComplexity.ValueType # 4
37
+ """Impossible to pass pre-check and hard advanced challenge."""
38
+
39
+ class CaptchaComplexity(_CaptchaComplexity, metaclass=_CaptchaComplexityEnumTypeWrapper):
40
+ """Captcha's complexity."""
41
+
42
+ CAPTCHA_COMPLEXITY_UNSPECIFIED: CaptchaComplexity.ValueType # 0
43
+ EASY: CaptchaComplexity.ValueType # 1
44
+ """High chance to pass pre-check and easy advanced challenge."""
45
+ MEDIUM: CaptchaComplexity.ValueType # 2
46
+ """Medium chance to pass pre-check and normal advanced challenge."""
47
+ HARD: CaptchaComplexity.ValueType # 3
48
+ """Little chance to pass pre-check and hard advanced challenge."""
49
+ FORCE_HARD: CaptchaComplexity.ValueType # 4
50
+ """Impossible to pass pre-check and hard advanced challenge."""
51
+ global___CaptchaComplexity = CaptchaComplexity
52
+
53
+ class _CaptchaPreCheckType:
54
+ ValueType = typing.NewType("ValueType", builtins.int)
55
+ V: typing_extensions.TypeAlias = ValueType
56
+
57
+ class _CaptchaPreCheckTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CaptchaPreCheckType.ValueType], builtins.type):
58
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
59
+ CAPTCHA_PRE_CHECK_TYPE_UNSPECIFIED: _CaptchaPreCheckType.ValueType # 0
60
+ CHECKBOX: _CaptchaPreCheckType.ValueType # 1
61
+ """User must click the "I am not a robot" button."""
62
+ SLIDER: _CaptchaPreCheckType.ValueType # 2
63
+ """User must move the slider from left to right."""
64
+
65
+ class CaptchaPreCheckType(_CaptchaPreCheckType, metaclass=_CaptchaPreCheckTypeEnumTypeWrapper):
66
+ """Captcha's basic check type, see [Task types / Main task](/docs/smartcaptcha/concepts/tasks#main-task)."""
67
+
68
+ CAPTCHA_PRE_CHECK_TYPE_UNSPECIFIED: CaptchaPreCheckType.ValueType # 0
69
+ CHECKBOX: CaptchaPreCheckType.ValueType # 1
70
+ """User must click the "I am not a robot" button."""
71
+ SLIDER: CaptchaPreCheckType.ValueType # 2
72
+ """User must move the slider from left to right."""
73
+ global___CaptchaPreCheckType = CaptchaPreCheckType
74
+
75
+ class _CaptchaChallengeType:
76
+ ValueType = typing.NewType("ValueType", builtins.int)
77
+ V: typing_extensions.TypeAlias = ValueType
78
+
79
+ class _CaptchaChallengeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CaptchaChallengeType.ValueType], builtins.type):
80
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
81
+ CAPTCHA_CHALLENGE_TYPE_UNSPECIFIED: _CaptchaChallengeType.ValueType # 0
82
+ IMAGE_TEXT: _CaptchaChallengeType.ValueType # 1
83
+ """Text recognition: The user has to type a distorted text from the picture into a special field."""
84
+ SILHOUETTES: _CaptchaChallengeType.ValueType # 2
85
+ """Silhouettes: The user has to mark several icons from the picture in a particular order."""
86
+ KALEIDOSCOPE: _CaptchaChallengeType.ValueType # 3
87
+ """Kaleidoscope: The user has to build a picture from individual parts by shuffling them using a slider."""
88
+
89
+ class CaptchaChallengeType(_CaptchaChallengeType, metaclass=_CaptchaChallengeTypeEnumTypeWrapper):
90
+ """Additional task, see [Task types / Additional task](/docs/smartcaptcha/concepts/tasks#additional-task)."""
91
+
92
+ CAPTCHA_CHALLENGE_TYPE_UNSPECIFIED: CaptchaChallengeType.ValueType # 0
93
+ IMAGE_TEXT: CaptchaChallengeType.ValueType # 1
94
+ """Text recognition: The user has to type a distorted text from the picture into a special field."""
95
+ SILHOUETTES: CaptchaChallengeType.ValueType # 2
96
+ """Silhouettes: The user has to mark several icons from the picture in a particular order."""
97
+ KALEIDOSCOPE: CaptchaChallengeType.ValueType # 3
98
+ """Kaleidoscope: The user has to build a picture from individual parts by shuffling them using a slider."""
99
+ global___CaptchaChallengeType = CaptchaChallengeType
100
+
101
+ @typing.final
102
+ class Captcha(google.protobuf.message.Message):
103
+ """A Captcha resource."""
104
+
105
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
106
+
107
+ ID_FIELD_NUMBER: builtins.int
108
+ FOLDER_ID_FIELD_NUMBER: builtins.int
109
+ CLOUD_ID_FIELD_NUMBER: builtins.int
110
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
111
+ CREATED_AT_FIELD_NUMBER: builtins.int
112
+ NAME_FIELD_NUMBER: builtins.int
113
+ ALLOWED_SITES_FIELD_NUMBER: builtins.int
114
+ COMPLEXITY_FIELD_NUMBER: builtins.int
115
+ STYLE_JSON_FIELD_NUMBER: builtins.int
116
+ SUSPEND_FIELD_NUMBER: builtins.int
117
+ TURN_OFF_HOSTNAME_CHECK_FIELD_NUMBER: builtins.int
118
+ PRE_CHECK_TYPE_FIELD_NUMBER: builtins.int
119
+ CHALLENGE_TYPE_FIELD_NUMBER: builtins.int
120
+ SECURITY_RULES_FIELD_NUMBER: builtins.int
121
+ DELETION_PROTECTION_FIELD_NUMBER: builtins.int
122
+ OVERRIDE_VARIANTS_FIELD_NUMBER: builtins.int
123
+ id: builtins.str
124
+ """ID of the captcha."""
125
+ folder_id: builtins.str
126
+ """ID of the folder that the captcha belongs to."""
127
+ cloud_id: builtins.str
128
+ """ID of the cloud that the captcha belongs to."""
129
+ client_key: builtins.str
130
+ """Client key of the captcha, see [CAPTCHA keys](/docs/smartcaptcha/concepts/keys)."""
131
+ name: builtins.str
132
+ """Name of the captcha. The name is unique within the folder. 3-63 characters long."""
133
+ complexity: global___CaptchaComplexity.ValueType
134
+ """Complexity of the captcha."""
135
+ style_json: builtins.str
136
+ """JSON with variables to define the captcha appearance. For more details see generated JSON in cloud console."""
137
+ suspend: builtins.bool
138
+ """Determines that the captcha is currently in restricted mode, see [SmartCaptcha restricted mode](/docs/smartcaptcha/concepts/restricted-mode)."""
139
+ turn_off_hostname_check: builtins.bool
140
+ """Turn off host name check, see [Domain validation](/docs/smartcaptcha/concepts/domain-validation)."""
141
+ pre_check_type: global___CaptchaPreCheckType.ValueType
142
+ """Basic check type of the captcha."""
143
+ challenge_type: global___CaptchaChallengeType.ValueType
144
+ """Additional task type of the captcha."""
145
+ deletion_protection: builtins.bool
146
+ """Determines whether captcha is protected from being deleted."""
147
+ @property
148
+ def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
149
+ """Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format."""
150
+
151
+ @property
152
+ def allowed_sites(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
153
+ """List of allowed host names, see [Domain validation](/docs/smartcaptcha/concepts/domain-validation)."""
154
+
155
+ @property
156
+ def security_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityRule]:
157
+ """List of security rules."""
158
+
159
+ @property
160
+ def override_variants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OverrideVariant]:
161
+ """List of variants to use in security_rules"""
162
+
163
+ def __init__(
164
+ self,
165
+ *,
166
+ id: builtins.str = ...,
167
+ folder_id: builtins.str = ...,
168
+ cloud_id: builtins.str = ...,
169
+ client_key: builtins.str = ...,
170
+ created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
171
+ name: builtins.str = ...,
172
+ allowed_sites: collections.abc.Iterable[builtins.str] | None = ...,
173
+ complexity: global___CaptchaComplexity.ValueType = ...,
174
+ style_json: builtins.str = ...,
175
+ suspend: builtins.bool = ...,
176
+ turn_off_hostname_check: builtins.bool = ...,
177
+ pre_check_type: global___CaptchaPreCheckType.ValueType = ...,
178
+ challenge_type: global___CaptchaChallengeType.ValueType = ...,
179
+ security_rules: collections.abc.Iterable[global___SecurityRule] | None = ...,
180
+ deletion_protection: builtins.bool = ...,
181
+ override_variants: collections.abc.Iterable[global___OverrideVariant] | None = ...,
182
+ ) -> None: ...
183
+ def HasField(self, field_name: typing.Literal["created_at", b"created_at"]) -> builtins.bool: ...
184
+ def ClearField(self, field_name: typing.Literal["allowed_sites", b"allowed_sites", "challenge_type", b"challenge_type", "client_key", b"client_key", "cloud_id", b"cloud_id", "complexity", b"complexity", "created_at", b"created_at", "deletion_protection", b"deletion_protection", "folder_id", b"folder_id", "id", b"id", "name", b"name", "override_variants", b"override_variants", "pre_check_type", b"pre_check_type", "security_rules", b"security_rules", "style_json", b"style_json", "suspend", b"suspend", "turn_off_hostname_check", b"turn_off_hostname_check"]) -> None: ...
185
+
186
+ global___Captcha = Captcha
187
+
188
+ @typing.final
189
+ class OverrideVariant(google.protobuf.message.Message):
190
+ """OverrideVariant object. Contains the settings to override."""
191
+
192
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
193
+
194
+ UUID_FIELD_NUMBER: builtins.int
195
+ DESCRIPTION_FIELD_NUMBER: builtins.int
196
+ COMPLEXITY_FIELD_NUMBER: builtins.int
197
+ PRE_CHECK_TYPE_FIELD_NUMBER: builtins.int
198
+ CHALLENGE_TYPE_FIELD_NUMBER: builtins.int
199
+ uuid: builtins.str
200
+ """Unique identifier of the variant."""
201
+ description: builtins.str
202
+ """Optional description of the rule. 0-512 characters long."""
203
+ complexity: global___CaptchaComplexity.ValueType
204
+ """Complexity of the captcha."""
205
+ pre_check_type: global___CaptchaPreCheckType.ValueType
206
+ """Basic check type of the captcha."""
207
+ challenge_type: global___CaptchaChallengeType.ValueType
208
+ """Additional task type of the captcha."""
209
+ def __init__(
210
+ self,
211
+ *,
212
+ uuid: builtins.str = ...,
213
+ description: builtins.str = ...,
214
+ complexity: global___CaptchaComplexity.ValueType = ...,
215
+ pre_check_type: global___CaptchaPreCheckType.ValueType = ...,
216
+ challenge_type: global___CaptchaChallengeType.ValueType = ...,
217
+ ) -> None: ...
218
+ def ClearField(self, field_name: typing.Literal["challenge_type", b"challenge_type", "complexity", b"complexity", "description", b"description", "pre_check_type", b"pre_check_type", "uuid", b"uuid"]) -> None: ...
219
+
220
+ global___OverrideVariant = OverrideVariant
221
+
222
+ @typing.final
223
+ class CaptchaSecretKey(google.protobuf.message.Message):
224
+ """CaptchaSecretKey object. Contains captcha data that need to keep in secret."""
225
+
226
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
227
+
228
+ SERVER_KEY_FIELD_NUMBER: builtins.int
229
+ server_key: builtins.str
230
+ """Server key of the captcha, see [CAPTCHA keys](/docs/smartcaptcha/concepts/keys)."""
231
+ def __init__(
232
+ self,
233
+ *,
234
+ server_key: builtins.str = ...,
235
+ ) -> None: ...
236
+ def ClearField(self, field_name: typing.Literal["server_key", b"server_key"]) -> None: ...
237
+
238
+ global___CaptchaSecretKey = CaptchaSecretKey
239
+
240
+ @typing.final
241
+ class SecurityRule(google.protobuf.message.Message):
242
+ """SecurityRule object. Defines the condition and action: when and which variant to show."""
243
+
244
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
245
+
246
+ NAME_FIELD_NUMBER: builtins.int
247
+ PRIORITY_FIELD_NUMBER: builtins.int
248
+ DESCRIPTION_FIELD_NUMBER: builtins.int
249
+ CONDITION_FIELD_NUMBER: builtins.int
250
+ OVERRIDE_VARIANT_UUID_FIELD_NUMBER: builtins.int
251
+ name: builtins.str
252
+ """Name of the rule. The name is unique within the captcha. 1-50 characters long."""
253
+ priority: builtins.int
254
+ """Priority of the rule. Lower value means higher priority."""
255
+ description: builtins.str
256
+ """Optional description of the rule. 0-512 characters long."""
257
+ override_variant_uuid: builtins.str
258
+ """Variant UUID to show in case of match the rule. Keep empty to use defaults."""
259
+ @property
260
+ def condition(self) -> global___Condition:
261
+ """The condition for matching the rule."""
262
+
263
+ def __init__(
264
+ self,
265
+ *,
266
+ name: builtins.str = ...,
267
+ priority: builtins.int = ...,
268
+ description: builtins.str = ...,
269
+ condition: global___Condition | None = ...,
270
+ override_variant_uuid: builtins.str = ...,
271
+ ) -> None: ...
272
+ def HasField(self, field_name: typing.Literal["condition", b"condition"]) -> builtins.bool: ...
273
+ def ClearField(self, field_name: typing.Literal["condition", b"condition", "description", b"description", "name", b"name", "override_variant_uuid", b"override_variant_uuid", "priority", b"priority"]) -> None: ...
274
+
275
+ global___SecurityRule = SecurityRule
276
+
277
+ @typing.final
278
+ class Condition(google.protobuf.message.Message):
279
+ """Condition object. AND semantics implied."""
280
+
281
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
282
+
283
+ @typing.final
284
+ class StringMatcher(google.protobuf.message.Message):
285
+ """StringMatcher object."""
286
+
287
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
288
+
289
+ EXACT_MATCH_FIELD_NUMBER: builtins.int
290
+ EXACT_NOT_MATCH_FIELD_NUMBER: builtins.int
291
+ PREFIX_MATCH_FIELD_NUMBER: builtins.int
292
+ PREFIX_NOT_MATCH_FIELD_NUMBER: builtins.int
293
+ PIRE_REGEX_MATCH_FIELD_NUMBER: builtins.int
294
+ PIRE_REGEX_NOT_MATCH_FIELD_NUMBER: builtins.int
295
+ exact_match: builtins.str
296
+ exact_not_match: builtins.str
297
+ prefix_match: builtins.str
298
+ prefix_not_match: builtins.str
299
+ pire_regex_match: builtins.str
300
+ pire_regex_not_match: builtins.str
301
+ def __init__(
302
+ self,
303
+ *,
304
+ exact_match: builtins.str = ...,
305
+ exact_not_match: builtins.str = ...,
306
+ prefix_match: builtins.str = ...,
307
+ prefix_not_match: builtins.str = ...,
308
+ pire_regex_match: builtins.str = ...,
309
+ pire_regex_not_match: builtins.str = ...,
310
+ ) -> None: ...
311
+ def HasField(self, field_name: typing.Literal["exact_match", b"exact_match", "exact_not_match", b"exact_not_match", "match", b"match", "pire_regex_match", b"pire_regex_match", "pire_regex_not_match", b"pire_regex_not_match", "prefix_match", b"prefix_match", "prefix_not_match", b"prefix_not_match"]) -> builtins.bool: ...
312
+ def ClearField(self, field_name: typing.Literal["exact_match", b"exact_match", "exact_not_match", b"exact_not_match", "match", b"match", "pire_regex_match", b"pire_regex_match", "pire_regex_not_match", b"pire_regex_not_match", "prefix_match", b"prefix_match", "prefix_not_match", b"prefix_not_match"]) -> None: ...
313
+ def WhichOneof(self, oneof_group: typing.Literal["match", b"match"]) -> typing.Literal["exact_match", "exact_not_match", "prefix_match", "prefix_not_match", "pire_regex_match", "pire_regex_not_match"] | None: ...
314
+
315
+ @typing.final
316
+ class HostMatcher(google.protobuf.message.Message):
317
+ """HostMatcher object."""
318
+
319
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
320
+
321
+ HOSTS_FIELD_NUMBER: builtins.int
322
+ @property
323
+ def hosts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.StringMatcher]:
324
+ """List of hosts. OR semantics implied."""
325
+
326
+ def __init__(
327
+ self,
328
+ *,
329
+ hosts: collections.abc.Iterable[global___Condition.StringMatcher] | None = ...,
330
+ ) -> None: ...
331
+ def ClearField(self, field_name: typing.Literal["hosts", b"hosts"]) -> None: ...
332
+
333
+ @typing.final
334
+ class UriMatcher(google.protobuf.message.Message):
335
+ """UriMatcher object. AND semantics implied."""
336
+
337
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
338
+
339
+ PATH_FIELD_NUMBER: builtins.int
340
+ QUERIES_FIELD_NUMBER: builtins.int
341
+ @property
342
+ def path(self) -> global___Condition.StringMatcher:
343
+ """Path of the URI [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3)."""
344
+
345
+ @property
346
+ def queries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.QueryMatcher]:
347
+ """List of query matchers. AND semantics implied."""
348
+
349
+ def __init__(
350
+ self,
351
+ *,
352
+ path: global___Condition.StringMatcher | None = ...,
353
+ queries: collections.abc.Iterable[global___Condition.QueryMatcher] | None = ...,
354
+ ) -> None: ...
355
+ def HasField(self, field_name: typing.Literal["path", b"path"]) -> builtins.bool: ...
356
+ def ClearField(self, field_name: typing.Literal["path", b"path", "queries", b"queries"]) -> None: ...
357
+
358
+ @typing.final
359
+ class QueryMatcher(google.protobuf.message.Message):
360
+ """QueryMatcher object."""
361
+
362
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
363
+
364
+ KEY_FIELD_NUMBER: builtins.int
365
+ VALUE_FIELD_NUMBER: builtins.int
366
+ key: builtins.str
367
+ """Key of the query parameter."""
368
+ @property
369
+ def value(self) -> global___Condition.StringMatcher:
370
+ """Value of the query parameter."""
371
+
372
+ def __init__(
373
+ self,
374
+ *,
375
+ key: builtins.str = ...,
376
+ value: global___Condition.StringMatcher | None = ...,
377
+ ) -> None: ...
378
+ def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
379
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
380
+
381
+ @typing.final
382
+ class HeaderMatcher(google.protobuf.message.Message):
383
+ """HeaderMatcher object."""
384
+
385
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
386
+
387
+ NAME_FIELD_NUMBER: builtins.int
388
+ VALUE_FIELD_NUMBER: builtins.int
389
+ name: builtins.str
390
+ """Name of header (case insensitive)."""
391
+ @property
392
+ def value(self) -> global___Condition.StringMatcher:
393
+ """Value of the header."""
394
+
395
+ def __init__(
396
+ self,
397
+ *,
398
+ name: builtins.str = ...,
399
+ value: global___Condition.StringMatcher | None = ...,
400
+ ) -> None: ...
401
+ def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
402
+ def ClearField(self, field_name: typing.Literal["name", b"name", "value", b"value"]) -> None: ...
403
+
404
+ @typing.final
405
+ class IpMatcher(google.protobuf.message.Message):
406
+ """IpMatcher object. AND semantics implied."""
407
+
408
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
409
+
410
+ IP_RANGES_MATCH_FIELD_NUMBER: builtins.int
411
+ IP_RANGES_NOT_MATCH_FIELD_NUMBER: builtins.int
412
+ GEO_IP_MATCH_FIELD_NUMBER: builtins.int
413
+ GEO_IP_NOT_MATCH_FIELD_NUMBER: builtins.int
414
+ @property
415
+ def ip_ranges_match(self) -> global___Condition.IpRangesMatcher: ...
416
+ @property
417
+ def ip_ranges_not_match(self) -> global___Condition.IpRangesMatcher: ...
418
+ @property
419
+ def geo_ip_match(self) -> global___Condition.GeoIpMatcher: ...
420
+ @property
421
+ def geo_ip_not_match(self) -> global___Condition.GeoIpMatcher: ...
422
+ def __init__(
423
+ self,
424
+ *,
425
+ ip_ranges_match: global___Condition.IpRangesMatcher | None = ...,
426
+ ip_ranges_not_match: global___Condition.IpRangesMatcher | None = ...,
427
+ geo_ip_match: global___Condition.GeoIpMatcher | None = ...,
428
+ geo_ip_not_match: global___Condition.GeoIpMatcher | None = ...,
429
+ ) -> None: ...
430
+ def HasField(self, field_name: typing.Literal["geo_ip_match", b"geo_ip_match", "geo_ip_not_match", b"geo_ip_not_match", "ip_ranges_match", b"ip_ranges_match", "ip_ranges_not_match", b"ip_ranges_not_match"]) -> builtins.bool: ...
431
+ def ClearField(self, field_name: typing.Literal["geo_ip_match", b"geo_ip_match", "geo_ip_not_match", b"geo_ip_not_match", "ip_ranges_match", b"ip_ranges_match", "ip_ranges_not_match", b"ip_ranges_not_match"]) -> None: ...
432
+
433
+ @typing.final
434
+ class IpRangesMatcher(google.protobuf.message.Message):
435
+ """IpRangesMatcher object."""
436
+
437
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
438
+
439
+ IP_RANGES_FIELD_NUMBER: builtins.int
440
+ @property
441
+ def ip_ranges(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
442
+ """List of IP ranges. OR semantics implied."""
443
+
444
+ def __init__(
445
+ self,
446
+ *,
447
+ ip_ranges: collections.abc.Iterable[builtins.str] | None = ...,
448
+ ) -> None: ...
449
+ def ClearField(self, field_name: typing.Literal["ip_ranges", b"ip_ranges"]) -> None: ...
450
+
451
+ @typing.final
452
+ class GeoIpMatcher(google.protobuf.message.Message):
453
+ """GeoIpMatcher object."""
454
+
455
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
456
+
457
+ LOCATIONS_FIELD_NUMBER: builtins.int
458
+ @property
459
+ def locations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
460
+ """ISO 3166-1 alpha 2. OR semantics implied."""
461
+
462
+ def __init__(
463
+ self,
464
+ *,
465
+ locations: collections.abc.Iterable[builtins.str] | None = ...,
466
+ ) -> None: ...
467
+ def ClearField(self, field_name: typing.Literal["locations", b"locations"]) -> None: ...
468
+
469
+ HOST_FIELD_NUMBER: builtins.int
470
+ URI_FIELD_NUMBER: builtins.int
471
+ HEADERS_FIELD_NUMBER: builtins.int
472
+ SOURCE_IP_FIELD_NUMBER: builtins.int
473
+ @property
474
+ def host(self) -> global___Condition.HostMatcher:
475
+ """Host where captcha placed."""
476
+
477
+ @property
478
+ def uri(self) -> global___Condition.UriMatcher:
479
+ """URI where captcha placed."""
480
+
481
+ @property
482
+ def headers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.HeaderMatcher]:
483
+ """Captcha request headers."""
484
+
485
+ @property
486
+ def source_ip(self) -> global___Condition.IpMatcher:
487
+ """The IP address of the requester."""
488
+
489
+ def __init__(
490
+ self,
491
+ *,
492
+ host: global___Condition.HostMatcher | None = ...,
493
+ uri: global___Condition.UriMatcher | None = ...,
494
+ headers: collections.abc.Iterable[global___Condition.HeaderMatcher] | None = ...,
495
+ source_ip: global___Condition.IpMatcher | None = ...,
496
+ ) -> None: ...
497
+ def HasField(self, field_name: typing.Literal["host", b"host", "source_ip", b"source_ip", "uri", b"uri"]) -> builtins.bool: ...
498
+ def ClearField(self, field_name: typing.Literal["headers", b"headers", "host", b"host", "source_ip", b"source_ip", "uri", b"uri"]) -> None: ...
499
+
500
+ global___Condition = Condition
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+