sift-stack-py 0.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. google/__init__.py +1 -0
  2. google/api/__init__.py +0 -0
  3. google/api/annotations_pb2.py +27 -0
  4. google/api/annotations_pb2.pyi +29 -0
  5. google/api/annotations_pb2_grpc.py +4 -0
  6. google/api/annotations_pb2_grpc.pyi +30 -0
  7. google/api/field_behavior_pb2.py +30 -0
  8. google/api/field_behavior_pb2.pyi +175 -0
  9. google/api/field_behavior_pb2_grpc.py +4 -0
  10. google/api/field_behavior_pb2_grpc.pyi +30 -0
  11. google/api/http_pb2.py +31 -0
  12. google/api/http_pb2.pyi +433 -0
  13. google/api/http_pb2_grpc.py +4 -0
  14. google/api/http_pb2_grpc.pyi +30 -0
  15. protoc_gen_openapiv2/__init__.py +0 -0
  16. protoc_gen_openapiv2/options/__init__.py +0 -0
  17. protoc_gen_openapiv2/options/annotations_pb2.py +27 -0
  18. protoc_gen_openapiv2/options/annotations_pb2.pyi +48 -0
  19. protoc_gen_openapiv2/options/annotations_pb2_grpc.py +4 -0
  20. protoc_gen_openapiv2/options/annotations_pb2_grpc.pyi +17 -0
  21. protoc_gen_openapiv2/options/openapiv2_pb2.py +132 -0
  22. protoc_gen_openapiv2/options/openapiv2_pb2.pyi +1533 -0
  23. protoc_gen_openapiv2/options/openapiv2_pb2_grpc.py +4 -0
  24. protoc_gen_openapiv2/options/openapiv2_pb2_grpc.pyi +17 -0
  25. sift/__init__.py +0 -0
  26. sift/annotation_logs/__init__.py +0 -0
  27. sift/annotation_logs/v1/__init__.py +0 -0
  28. sift/annotation_logs/v1/annotation_logs_pb2.py +115 -0
  29. sift/annotation_logs/v1/annotation_logs_pb2.pyi +370 -0
  30. sift/annotation_logs/v1/annotation_logs_pb2_grpc.py +135 -0
  31. sift/annotation_logs/v1/annotation_logs_pb2_grpc.pyi +84 -0
  32. sift/annotations/__init__.py +0 -0
  33. sift/annotations/v1/__init__.py +0 -0
  34. sift/annotations/v1/annotations_pb2.py +180 -0
  35. sift/annotations/v1/annotations_pb2.pyi +539 -0
  36. sift/annotations/v1/annotations_pb2_grpc.py +237 -0
  37. sift/annotations/v1/annotations_pb2_grpc.pyi +144 -0
  38. sift/assets/__init__.py +0 -0
  39. sift/assets/v1/__init__.py +0 -0
  40. sift/assets/v1/assets_pb2.py +90 -0
  41. sift/assets/v1/assets_pb2.pyi +235 -0
  42. sift/assets/v1/assets_pb2_grpc.py +168 -0
  43. sift/assets/v1/assets_pb2_grpc.pyi +101 -0
  44. sift/calculated_channels/__init__.py +0 -0
  45. sift/calculated_channels/v1/__init__.py +0 -0
  46. sift/calculated_channels/v1/calculated_channels_pb2.py +99 -0
  47. sift/calculated_channels/v1/calculated_channels_pb2.pyi +280 -0
  48. sift/calculated_channels/v1/calculated_channels_pb2_grpc.py +101 -0
  49. sift/calculated_channels/v1/calculated_channels_pb2_grpc.pyi +64 -0
  50. sift/campaigns/__init__.py +0 -0
  51. sift/campaigns/v1/__init__.py +0 -0
  52. sift/campaigns/v1/campaigns_pb2.py +144 -0
  53. sift/campaigns/v1/campaigns_pb2.pyi +383 -0
  54. sift/campaigns/v1/campaigns_pb2_grpc.py +169 -0
  55. sift/campaigns/v1/campaigns_pb2_grpc.pyi +104 -0
  56. sift/channel_schemas/__init__.py +0 -0
  57. sift/channel_schemas/v1/__init__.py +0 -0
  58. sift/channel_schemas/v1/channel_schemas_pb2.py +69 -0
  59. sift/channel_schemas/v1/channel_schemas_pb2.pyi +117 -0
  60. sift/channel_schemas/v1/channel_schemas_pb2_grpc.py +101 -0
  61. sift/channel_schemas/v1/channel_schemas_pb2_grpc.pyi +64 -0
  62. sift/channels/__init__.py +0 -0
  63. sift/channels/v2/__init__.py +0 -0
  64. sift/channels/v2/channels_pb2.py +88 -0
  65. sift/channels/v2/channels_pb2.pyi +183 -0
  66. sift/channels/v2/channels_pb2_grpc.py +101 -0
  67. sift/channels/v2/channels_pb2_grpc.pyi +64 -0
  68. sift/common/__init__.py +0 -0
  69. sift/common/type/__init__.py +0 -0
  70. sift/common/type/v1/__init__.py +0 -0
  71. sift/common/type/v1/channel_bit_field_element_pb2.py +34 -0
  72. sift/common/type/v1/channel_bit_field_element_pb2.pyi +33 -0
  73. sift/common/type/v1/channel_bit_field_element_pb2_grpc.py +4 -0
  74. sift/common/type/v1/channel_bit_field_element_pb2_grpc.pyi +17 -0
  75. sift/common/type/v1/channel_data_type_pb2.py +29 -0
  76. sift/common/type/v1/channel_data_type_pb2.pyi +50 -0
  77. sift/common/type/v1/channel_data_type_pb2_grpc.py +4 -0
  78. sift/common/type/v1/channel_data_type_pb2_grpc.pyi +17 -0
  79. sift/common/type/v1/channel_enum_type_pb2.py +32 -0
  80. sift/common/type/v1/channel_enum_type_pb2.pyi +29 -0
  81. sift/common/type/v1/channel_enum_type_pb2_grpc.py +4 -0
  82. sift/common/type/v1/channel_enum_type_pb2_grpc.pyi +17 -0
  83. sift/common/type/v1/organization_pb2.py +27 -0
  84. sift/common/type/v1/organization_pb2.pyi +29 -0
  85. sift/common/type/v1/organization_pb2_grpc.py +4 -0
  86. sift/common/type/v1/organization_pb2_grpc.pyi +17 -0
  87. sift/common/type/v1/resource_identifier_pb2.py +46 -0
  88. sift/common/type/v1/resource_identifier_pb2.pyi +145 -0
  89. sift/common/type/v1/resource_identifier_pb2_grpc.py +4 -0
  90. sift/common/type/v1/resource_identifier_pb2_grpc.pyi +17 -0
  91. sift/common/type/v1/user_pb2.py +33 -0
  92. sift/common/type/v1/user_pb2.pyi +36 -0
  93. sift/common/type/v1/user_pb2_grpc.py +4 -0
  94. sift/common/type/v1/user_pb2_grpc.pyi +17 -0
  95. sift/data/__init__.py +0 -0
  96. sift/data/v1/__init__.py +0 -0
  97. sift/data/v1/data_pb2.py +212 -0
  98. sift/data/v1/data_pb2.pyi +745 -0
  99. sift/data/v1/data_pb2_grpc.py +67 -0
  100. sift/data/v1/data_pb2_grpc.pyi +44 -0
  101. sift/ingest/__init__.py +0 -0
  102. sift/ingest/v1/__init__.py +0 -0
  103. sift/ingest/v1/ingest_pb2.py +35 -0
  104. sift/ingest/v1/ingest_pb2.pyi +118 -0
  105. sift/ingest/v1/ingest_pb2_grpc.py +66 -0
  106. sift/ingest/v1/ingest_pb2_grpc.pyi +41 -0
  107. sift/ingestion_configs/__init__.py +0 -0
  108. sift/ingestion_configs/v1/__init__.py +0 -0
  109. sift/ingestion_configs/v1/ingestion_configs_pb2.py +115 -0
  110. sift/ingestion_configs/v1/ingestion_configs_pb2.pyi +332 -0
  111. sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.py +203 -0
  112. sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.pyi +124 -0
  113. sift/notifications/__init__.py +0 -0
  114. sift/notifications/v1/__init__.py +0 -0
  115. sift/notifications/v1/notifications_pb2.py +64 -0
  116. sift/notifications/v1/notifications_pb2.pyi +225 -0
  117. sift/notifications/v1/notifications_pb2_grpc.py +101 -0
  118. sift/notifications/v1/notifications_pb2_grpc.pyi +64 -0
  119. sift/ping/__init__.py +0 -0
  120. sift/ping/v1/__init__.py +0 -0
  121. sift/ping/v1/ping_pb2.py +38 -0
  122. sift/ping/v1/ping_pb2.pyi +36 -0
  123. sift/ping/v1/ping_pb2_grpc.py +66 -0
  124. sift/ping/v1/ping_pb2_grpc.pyi +41 -0
  125. sift/remote_files/__init__.py +0 -0
  126. sift/remote_files/v1/__init__.py +0 -0
  127. sift/remote_files/v1/remote_files_pb2.py +174 -0
  128. sift/remote_files/v1/remote_files_pb2.pyi +472 -0
  129. sift/remote_files/v1/remote_files_pb2_grpc.py +271 -0
  130. sift/remote_files/v1/remote_files_pb2_grpc.pyi +164 -0
  131. sift/report_templates/__init__.py +0 -0
  132. sift/report_templates/v1/__init__.py +0 -0
  133. sift/report_templates/v1/report_templates_pb2.py +146 -0
  134. sift/report_templates/v1/report_templates_pb2.pyi +381 -0
  135. sift/report_templates/v1/report_templates_pb2_grpc.py +169 -0
  136. sift/report_templates/v1/report_templates_pb2_grpc.pyi +104 -0
  137. sift/reports/__init__.py +0 -0
  138. sift/reports/v1/__init__.py +0 -0
  139. sift/reports/v1/reports_pb2.py +193 -0
  140. sift/reports/v1/reports_pb2.pyi +562 -0
  141. sift/reports/v1/reports_pb2_grpc.py +205 -0
  142. sift/reports/v1/reports_pb2_grpc.pyi +136 -0
  143. sift/rule_evaluation/__init__.py +0 -0
  144. sift/rule_evaluation/v1/__init__.py +0 -0
  145. sift/rule_evaluation/v1/rule_evaluation_pb2.py +89 -0
  146. sift/rule_evaluation/v1/rule_evaluation_pb2.pyi +263 -0
  147. sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.py +101 -0
  148. sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.pyi +64 -0
  149. sift/rules/__init__.py +0 -0
  150. sift/rules/v1/__init__.py +0 -0
  151. sift/rules/v1/rules_pb2.py +420 -0
  152. sift/rules/v1/rules_pb2.pyi +1355 -0
  153. sift/rules/v1/rules_pb2_grpc.py +577 -0
  154. sift/rules/v1/rules_pb2_grpc.pyi +351 -0
  155. sift/runs/__init__.py +0 -0
  156. sift/runs/v2/__init__.py +0 -0
  157. sift/runs/v2/runs_pb2.py +150 -0
  158. sift/runs/v2/runs_pb2.pyi +413 -0
  159. sift/runs/v2/runs_pb2_grpc.py +271 -0
  160. sift/runs/v2/runs_pb2_grpc.pyi +164 -0
  161. sift/saved_searches/__init__.py +0 -0
  162. sift/saved_searches/v1/__init__.py +0 -0
  163. sift/saved_searches/v1/saved_searches_pb2.py +144 -0
  164. sift/saved_searches/v1/saved_searches_pb2.pyi +385 -0
  165. sift/saved_searches/v1/saved_searches_pb2_grpc.py +237 -0
  166. sift/saved_searches/v1/saved_searches_pb2_grpc.pyi +144 -0
  167. sift/tags/__init__.py +0 -0
  168. sift/tags/v1/__init__.py +0 -0
  169. sift/tags/v1/tags_pb2.py +49 -0
  170. sift/tags/v1/tags_pb2.pyi +71 -0
  171. sift/tags/v1/tags_pb2_grpc.py +4 -0
  172. sift/tags/v1/tags_pb2_grpc.pyi +17 -0
  173. sift/users/__init__.py +0 -0
  174. sift/users/v2/__init__.py +0 -0
  175. sift/users/v2/users_pb2.py +61 -0
  176. sift/users/v2/users_pb2.pyi +142 -0
  177. sift/users/v2/users_pb2_grpc.py +135 -0
  178. sift/users/v2/users_pb2_grpc.pyi +84 -0
  179. sift/views/__init__.py +0 -0
  180. sift/views/v1/__init__.py +0 -0
  181. sift/views/v1/views_pb2.py +130 -0
  182. sift/views/v1/views_pb2.pyi +466 -0
  183. sift/views/v1/views_pb2_grpc.py +305 -0
  184. sift/views/v1/views_pb2_grpc.pyi +184 -0
  185. sift_grafana/py.typed +0 -0
  186. sift_grafana/sift_query_model.py +64 -0
  187. sift_py/__init__.py +923 -0
  188. sift_py/_internal/__init__.py +5 -0
  189. sift_py/_internal/cel.py +18 -0
  190. sift_py/_internal/channel.py +42 -0
  191. sift_py/_internal/convert/__init__.py +3 -0
  192. sift_py/_internal/convert/json.py +24 -0
  193. sift_py/_internal/convert/protobuf.py +34 -0
  194. sift_py/_internal/convert/timestamp.py +9 -0
  195. sift_py/_internal/test_util/__init__.py +0 -0
  196. sift_py/_internal/test_util/channel.py +136 -0
  197. sift_py/_internal/test_util/fn.py +14 -0
  198. sift_py/_internal/test_util/server_interceptor.py +62 -0
  199. sift_py/_internal/time.py +48 -0
  200. sift_py/_internal/user.py +39 -0
  201. sift_py/data/__init__.py +171 -0
  202. sift_py/data/_channel.py +38 -0
  203. sift_py/data/_deserialize.py +208 -0
  204. sift_py/data/_deserialize_test.py +134 -0
  205. sift_py/data/_service_test.py +276 -0
  206. sift_py/data/_validate.py +10 -0
  207. sift_py/data/error.py +5 -0
  208. sift_py/data/query.py +299 -0
  209. sift_py/data/service.py +497 -0
  210. sift_py/data_import/__init__.py +130 -0
  211. sift_py/data_import/_config.py +167 -0
  212. sift_py/data_import/_config_test.py +166 -0
  213. sift_py/data_import/_csv_test.py +395 -0
  214. sift_py/data_import/_status_test.py +176 -0
  215. sift_py/data_import/_tdms_test.py +238 -0
  216. sift_py/data_import/ch10.py +157 -0
  217. sift_py/data_import/config.py +19 -0
  218. sift_py/data_import/csv.py +259 -0
  219. sift_py/data_import/status.py +113 -0
  220. sift_py/data_import/tdms.py +206 -0
  221. sift_py/data_import/tempfile.py +30 -0
  222. sift_py/data_import/time_format.py +39 -0
  223. sift_py/error.py +11 -0
  224. sift_py/file_attachment/__init__.py +88 -0
  225. sift_py/file_attachment/_internal/__init__.py +0 -0
  226. sift_py/file_attachment/_internal/download.py +13 -0
  227. sift_py/file_attachment/_internal/upload.py +100 -0
  228. sift_py/file_attachment/_service_test.py +161 -0
  229. sift_py/file_attachment/entity.py +30 -0
  230. sift_py/file_attachment/metadata.py +107 -0
  231. sift_py/file_attachment/service.py +142 -0
  232. sift_py/grpc/__init__.py +15 -0
  233. sift_py/grpc/_async_interceptors/__init__.py +0 -0
  234. sift_py/grpc/_async_interceptors/base.py +72 -0
  235. sift_py/grpc/_async_interceptors/metadata.py +36 -0
  236. sift_py/grpc/_interceptors/__init__.py +0 -0
  237. sift_py/grpc/_interceptors/base.py +61 -0
  238. sift_py/grpc/_interceptors/context.py +25 -0
  239. sift_py/grpc/_interceptors/metadata.py +33 -0
  240. sift_py/grpc/_retry.py +70 -0
  241. sift_py/grpc/keepalive.py +34 -0
  242. sift_py/grpc/transport.py +250 -0
  243. sift_py/grpc/transport_test.py +170 -0
  244. sift_py/ingestion/__init__.py +6 -0
  245. sift_py/ingestion/_internal/__init__.py +6 -0
  246. sift_py/ingestion/_internal/channel.py +12 -0
  247. sift_py/ingestion/_internal/error.py +10 -0
  248. sift_py/ingestion/_internal/ingest.py +350 -0
  249. sift_py/ingestion/_internal/ingest_test.py +357 -0
  250. sift_py/ingestion/_internal/ingestion_config.py +130 -0
  251. sift_py/ingestion/_internal/run.py +46 -0
  252. sift_py/ingestion/_service_test.py +478 -0
  253. sift_py/ingestion/buffer.py +189 -0
  254. sift_py/ingestion/channel.py +422 -0
  255. sift_py/ingestion/config/__init__.py +3 -0
  256. sift_py/ingestion/config/telemetry.py +281 -0
  257. sift_py/ingestion/config/telemetry_test.py +405 -0
  258. sift_py/ingestion/config/yaml/__init__.py +0 -0
  259. sift_py/ingestion/config/yaml/error.py +44 -0
  260. sift_py/ingestion/config/yaml/load.py +126 -0
  261. sift_py/ingestion/config/yaml/spec.py +58 -0
  262. sift_py/ingestion/config/yaml/test_load.py +25 -0
  263. sift_py/ingestion/flow.py +73 -0
  264. sift_py/ingestion/manager.py +99 -0
  265. sift_py/ingestion/rule/__init__.py +4 -0
  266. sift_py/ingestion/rule/config.py +11 -0
  267. sift_py/ingestion/service.py +237 -0
  268. sift_py/py.typed +0 -0
  269. sift_py/report_templates/__init__.py +0 -0
  270. sift_py/report_templates/_config_test.py +34 -0
  271. sift_py/report_templates/_service_test.py +94 -0
  272. sift_py/report_templates/config.py +36 -0
  273. sift_py/report_templates/service.py +171 -0
  274. sift_py/rest.py +29 -0
  275. sift_py/rule/__init__.py +0 -0
  276. sift_py/rule/_config_test.py +109 -0
  277. sift_py/rule/_service_test.py +168 -0
  278. sift_py/rule/config.py +229 -0
  279. sift_py/rule/service.py +484 -0
  280. sift_py/yaml/__init__.py +0 -0
  281. sift_py/yaml/_channel_test.py +169 -0
  282. sift_py/yaml/_rule_test.py +207 -0
  283. sift_py/yaml/channel.py +224 -0
  284. sift_py/yaml/report_templates.py +73 -0
  285. sift_py/yaml/rule.py +321 -0
  286. sift_py/yaml/utils.py +15 -0
  287. sift_stack_py-0.3.2.dist-info/LICENSE +7 -0
  288. sift_stack_py-0.3.2.dist-info/METADATA +109 -0
  289. sift_stack_py-0.3.2.dist-info/RECORD +291 -0
  290. sift_stack_py-0.3.2.dist-info/WHEEL +5 -0
  291. sift_stack_py-0.3.2.dist-info/top_level.txt +5 -0
@@ -0,0 +1,280 @@
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 sift.common.type.v1.channel_data_type_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 _ExpressionIdentifierType:
24
+ ValueType = typing.NewType("ValueType", builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _ExpressionIdentifierTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ExpressionIdentifierType.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ EXPRESSION_IDENTIFIER_TYPE_UNSPECIFIED: _ExpressionIdentifierType.ValueType # 0
30
+ EXPRESSION_IDENTIFIER_TYPE_FUNCTION: _ExpressionIdentifierType.ValueType # 1
31
+ EXPRESSION_IDENTIFIER_TYPE_CHANNEL: _ExpressionIdentifierType.ValueType # 2
32
+
33
+ class ExpressionIdentifierType(_ExpressionIdentifierType, metaclass=_ExpressionIdentifierTypeEnumTypeWrapper): ...
34
+
35
+ EXPRESSION_IDENTIFIER_TYPE_UNSPECIFIED: ExpressionIdentifierType.ValueType # 0
36
+ EXPRESSION_IDENTIFIER_TYPE_FUNCTION: ExpressionIdentifierType.ValueType # 1
37
+ EXPRESSION_IDENTIFIER_TYPE_CHANNEL: ExpressionIdentifierType.ValueType # 2
38
+ global___ExpressionIdentifierType = ExpressionIdentifierType
39
+
40
+ class _ExpressionIdentifierLibrary:
41
+ ValueType = typing.NewType("ValueType", builtins.int)
42
+ V: typing_extensions.TypeAlias = ValueType
43
+
44
+ class _ExpressionIdentifierLibraryEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ExpressionIdentifierLibrary.ValueType], builtins.type):
45
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
46
+ EXPRESSION_IDENTIFIER_LIBRARY_UNSPECIFIED: _ExpressionIdentifierLibrary.ValueType # 0
47
+ EXPRESSION_IDENTIFIER_LIBRARY_MATH: _ExpressionIdentifierLibrary.ValueType # 1
48
+ EXPRESSION_IDENTIFIER_LIBRARY_STRING: _ExpressionIdentifierLibrary.ValueType # 2
49
+ EXPRESSION_IDENTIFIER_LIBRARY_LIST: _ExpressionIdentifierLibrary.ValueType # 3
50
+ EXPRESSION_IDENTIFIER_LIBRARY_ITER: _ExpressionIdentifierLibrary.ValueType # 4
51
+ EXPRESSION_IDENTIFIER_LIBRARY_STATEFUL: _ExpressionIdentifierLibrary.ValueType # 5
52
+ EXPRESSION_IDENTIFIER_LIBRARY_SUMMARY: _ExpressionIdentifierLibrary.ValueType # 6
53
+
54
+ class ExpressionIdentifierLibrary(_ExpressionIdentifierLibrary, metaclass=_ExpressionIdentifierLibraryEnumTypeWrapper): ...
55
+
56
+ EXPRESSION_IDENTIFIER_LIBRARY_UNSPECIFIED: ExpressionIdentifierLibrary.ValueType # 0
57
+ EXPRESSION_IDENTIFIER_LIBRARY_MATH: ExpressionIdentifierLibrary.ValueType # 1
58
+ EXPRESSION_IDENTIFIER_LIBRARY_STRING: ExpressionIdentifierLibrary.ValueType # 2
59
+ EXPRESSION_IDENTIFIER_LIBRARY_LIST: ExpressionIdentifierLibrary.ValueType # 3
60
+ EXPRESSION_IDENTIFIER_LIBRARY_ITER: ExpressionIdentifierLibrary.ValueType # 4
61
+ EXPRESSION_IDENTIFIER_LIBRARY_STATEFUL: ExpressionIdentifierLibrary.ValueType # 5
62
+ EXPRESSION_IDENTIFIER_LIBRARY_SUMMARY: ExpressionIdentifierLibrary.ValueType # 6
63
+ global___ExpressionIdentifierLibrary = ExpressionIdentifierLibrary
64
+
65
+ class _ExpressionMode:
66
+ ValueType = typing.NewType("ValueType", builtins.int)
67
+ V: typing_extensions.TypeAlias = ValueType
68
+
69
+ class _ExpressionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ExpressionMode.ValueType], builtins.type):
70
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
71
+ EXPRESSION_MODE_UNSPECIFIED: _ExpressionMode.ValueType # 0
72
+ EXPRESSION_MODE_RULES: _ExpressionMode.ValueType # 1
73
+ EXPRESSION_MODE_CALCULATED_CHANNELS: _ExpressionMode.ValueType # 2
74
+ EXPRESSION_MODE_RULER: _ExpressionMode.ValueType # 3
75
+
76
+ class ExpressionMode(_ExpressionMode, metaclass=_ExpressionModeEnumTypeWrapper): ...
77
+
78
+ EXPRESSION_MODE_UNSPECIFIED: ExpressionMode.ValueType # 0
79
+ EXPRESSION_MODE_RULES: ExpressionMode.ValueType # 1
80
+ EXPRESSION_MODE_CALCULATED_CHANNELS: ExpressionMode.ValueType # 2
81
+ EXPRESSION_MODE_RULER: ExpressionMode.ValueType # 3
82
+ global___ExpressionMode = ExpressionMode
83
+
84
+ @typing.final
85
+ class ExpressionChannelReference(google.protobuf.message.Message):
86
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
87
+
88
+ CHANNEL_REFERENCE_FIELD_NUMBER: builtins.int
89
+ CHANNEL_ID_FIELD_NUMBER: builtins.int
90
+ channel_reference: builtins.str
91
+ channel_id: builtins.str
92
+ def __init__(
93
+ self,
94
+ *,
95
+ channel_reference: builtins.str = ...,
96
+ channel_id: builtins.str = ...,
97
+ ) -> None: ...
98
+ def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id", "channel_reference", b"channel_reference"]) -> None: ...
99
+
100
+ global___ExpressionChannelReference = ExpressionChannelReference
101
+
102
+ @typing.final
103
+ class ExpressionRequest(google.protobuf.message.Message):
104
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
105
+
106
+ @typing.final
107
+ class ChannelReferencesEntry(google.protobuf.message.Message):
108
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
109
+
110
+ KEY_FIELD_NUMBER: builtins.int
111
+ VALUE_FIELD_NUMBER: builtins.int
112
+ key: builtins.str
113
+ value: builtins.str
114
+ def __init__(
115
+ self,
116
+ *,
117
+ key: builtins.str = ...,
118
+ value: builtins.str = ...,
119
+ ) -> None: ...
120
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
121
+
122
+ CHANNEL_REFERENCES_FIELD_NUMBER: builtins.int
123
+ EXPRESSION_FIELD_NUMBER: builtins.int
124
+ EXPRESSION_CHANNEL_REFERENCES_FIELD_NUMBER: builtins.int
125
+ expression: builtins.str
126
+ @property
127
+ def channel_references(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
128
+ """A map from the channel reference in the expression string (e.g. $1) to the channel id (uuid).
129
+ This is deprecated and should be passed in expression_channel_references instead.
130
+ """
131
+
132
+ @property
133
+ def expression_channel_references(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressionChannelReference]: ...
134
+ def __init__(
135
+ self,
136
+ *,
137
+ channel_references: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
138
+ expression: builtins.str = ...,
139
+ expression_channel_references: collections.abc.Iterable[global___ExpressionChannelReference] | None = ...,
140
+ ) -> None: ...
141
+ def ClearField(self, field_name: typing.Literal["channel_references", b"channel_references", "expression", b"expression", "expression_channel_references", b"expression_channel_references"]) -> None: ...
142
+
143
+ global___ExpressionRequest = ExpressionRequest
144
+
145
+ @typing.final
146
+ class ListExpressionIdentifiersRequest(google.protobuf.message.Message):
147
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
148
+
149
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
150
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
151
+ MODE_FIELD_NUMBER: builtins.int
152
+ page_size: builtins.int
153
+ """Defaults to 1000. Max of 10,000."""
154
+ page_token: builtins.str
155
+ mode: global___ExpressionMode.ValueType
156
+ def __init__(
157
+ self,
158
+ *,
159
+ page_size: builtins.int = ...,
160
+ page_token: builtins.str = ...,
161
+ mode: global___ExpressionMode.ValueType = ...,
162
+ ) -> None: ...
163
+ def ClearField(self, field_name: typing.Literal["mode", b"mode", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
164
+
165
+ global___ListExpressionIdentifiersRequest = ListExpressionIdentifiersRequest
166
+
167
+ @typing.final
168
+ class ListExpressionIdentifiersResponse(google.protobuf.message.Message):
169
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
170
+
171
+ IDENTIFIERS_FIELD_NUMBER: builtins.int
172
+ @property
173
+ def identifiers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressionIdentifier]: ...
174
+ def __init__(
175
+ self,
176
+ *,
177
+ identifiers: collections.abc.Iterable[global___ExpressionIdentifier] | None = ...,
178
+ ) -> None: ...
179
+ def ClearField(self, field_name: typing.Literal["identifiers", b"identifiers"]) -> None: ...
180
+
181
+ global___ListExpressionIdentifiersResponse = ListExpressionIdentifiersResponse
182
+
183
+ @typing.final
184
+ class ExpressionIdentifier(google.protobuf.message.Message):
185
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
186
+
187
+ NAME_FIELD_NUMBER: builtins.int
188
+ DESCRIPTION_FIELD_NUMBER: builtins.int
189
+ TYPE_FIELD_NUMBER: builtins.int
190
+ DISPLAY_NAME_FIELD_NUMBER: builtins.int
191
+ LIBRARY_FIELD_NUMBER: builtins.int
192
+ name: builtins.str
193
+ description: builtins.str
194
+ type: global___ExpressionIdentifierType.ValueType
195
+ display_name: builtins.str
196
+ library: global___ExpressionIdentifierLibrary.ValueType
197
+ def __init__(
198
+ self,
199
+ *,
200
+ name: builtins.str = ...,
201
+ description: builtins.str = ...,
202
+ type: global___ExpressionIdentifierType.ValueType = ...,
203
+ display_name: builtins.str = ...,
204
+ library: global___ExpressionIdentifierLibrary.ValueType = ...,
205
+ ) -> None: ...
206
+ def ClearField(self, field_name: typing.Literal["description", b"description", "display_name", b"display_name", "library", b"library", "name", b"name", "type", b"type"]) -> None: ...
207
+
208
+ global___ExpressionIdentifier = ExpressionIdentifier
209
+
210
+ @typing.final
211
+ class ValidateExpressionRequest(google.protobuf.message.Message):
212
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
213
+
214
+ EXPRESSION_FIELD_NUMBER: builtins.int
215
+ MODE_FIELD_NUMBER: builtins.int
216
+ mode: global___ExpressionMode.ValueType
217
+ @property
218
+ def expression(self) -> global___ExpressionRequest: ...
219
+ def __init__(
220
+ self,
221
+ *,
222
+ expression: global___ExpressionRequest | None = ...,
223
+ mode: global___ExpressionMode.ValueType = ...,
224
+ ) -> None: ...
225
+ def HasField(self, field_name: typing.Literal["expression", b"expression"]) -> builtins.bool: ...
226
+ def ClearField(self, field_name: typing.Literal["expression", b"expression", "mode", b"mode"]) -> None: ...
227
+
228
+ global___ValidateExpressionRequest = ValidateExpressionRequest
229
+
230
+ @typing.final
231
+ class ValidateExpressionResponse(google.protobuf.message.Message):
232
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
233
+
234
+ ERROR_FIELD_NUMBER: builtins.int
235
+ SUCCESS_FIELD_NUMBER: builtins.int
236
+ @property
237
+ def error(self) -> global___ErrorValidatingExpressionResult: ...
238
+ @property
239
+ def success(self) -> global___SuccessValidatingExpressionResult: ...
240
+ def __init__(
241
+ self,
242
+ *,
243
+ error: global___ErrorValidatingExpressionResult | None = ...,
244
+ success: global___SuccessValidatingExpressionResult | None = ...,
245
+ ) -> None: ...
246
+ def HasField(self, field_name: typing.Literal["error", b"error", "result", b"result", "success", b"success"]) -> builtins.bool: ...
247
+ def ClearField(self, field_name: typing.Literal["error", b"error", "result", b"result", "success", b"success"]) -> None: ...
248
+ def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["error", "success"] | None: ...
249
+
250
+ global___ValidateExpressionResponse = ValidateExpressionResponse
251
+
252
+ @typing.final
253
+ class ErrorValidatingExpressionResult(google.protobuf.message.Message):
254
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
255
+
256
+ ERROR_MESSAGE_FIELD_NUMBER: builtins.int
257
+ error_message: builtins.str
258
+ def __init__(
259
+ self,
260
+ *,
261
+ error_message: builtins.str = ...,
262
+ ) -> None: ...
263
+ def ClearField(self, field_name: typing.Literal["error_message", b"error_message"]) -> None: ...
264
+
265
+ global___ErrorValidatingExpressionResult = ErrorValidatingExpressionResult
266
+
267
+ @typing.final
268
+ class SuccessValidatingExpressionResult(google.protobuf.message.Message):
269
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
270
+
271
+ DATA_TYPE_FIELD_NUMBER: builtins.int
272
+ data_type: sift.common.type.v1.channel_data_type_pb2.ChannelDataType.ValueType
273
+ def __init__(
274
+ self,
275
+ *,
276
+ data_type: sift.common.type.v1.channel_data_type_pb2.ChannelDataType.ValueType = ...,
277
+ ) -> None: ...
278
+ def ClearField(self, field_name: typing.Literal["data_type", b"data_type"]) -> None: ...
279
+
280
+ global___SuccessValidatingExpressionResult = SuccessValidatingExpressionResult
@@ -0,0 +1,101 @@
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
+
5
+ from sift.calculated_channels.v1 import calculated_channels_pb2 as sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2
6
+
7
+
8
+ class CalculatedChannelsServiceStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.ListExpressionIdentifiers = channel.unary_unary(
18
+ '/sift.calculated_channels.v1.CalculatedChannelsService/ListExpressionIdentifiers',
19
+ request_serializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ListExpressionIdentifiersRequest.SerializeToString,
20
+ response_deserializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ListExpressionIdentifiersResponse.FromString,
21
+ )
22
+ self.ValidateExpression = channel.unary_unary(
23
+ '/sift.calculated_channels.v1.CalculatedChannelsService/ValidateExpression',
24
+ request_serializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ValidateExpressionRequest.SerializeToString,
25
+ response_deserializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ValidateExpressionResponse.FromString,
26
+ )
27
+
28
+
29
+ class CalculatedChannelsServiceServicer(object):
30
+ """Missing associated documentation comment in .proto file."""
31
+
32
+ def ListExpressionIdentifiers(self, request, context):
33
+ """Retrieves a list of valid identifiers that can be used as part of a calculated channel expression.
34
+ """
35
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
36
+ context.set_details('Method not implemented!')
37
+ raise NotImplementedError('Method not implemented!')
38
+
39
+ def ValidateExpression(self, request, context):
40
+ """Used to validate whether or not an expression used for a calculated channel is valid.
41
+ """
42
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
43
+ context.set_details('Method not implemented!')
44
+ raise NotImplementedError('Method not implemented!')
45
+
46
+
47
+ def add_CalculatedChannelsServiceServicer_to_server(servicer, server):
48
+ rpc_method_handlers = {
49
+ 'ListExpressionIdentifiers': grpc.unary_unary_rpc_method_handler(
50
+ servicer.ListExpressionIdentifiers,
51
+ request_deserializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ListExpressionIdentifiersRequest.FromString,
52
+ response_serializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ListExpressionIdentifiersResponse.SerializeToString,
53
+ ),
54
+ 'ValidateExpression': grpc.unary_unary_rpc_method_handler(
55
+ servicer.ValidateExpression,
56
+ request_deserializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ValidateExpressionRequest.FromString,
57
+ response_serializer=sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ValidateExpressionResponse.SerializeToString,
58
+ ),
59
+ }
60
+ generic_handler = grpc.method_handlers_generic_handler(
61
+ 'sift.calculated_channels.v1.CalculatedChannelsService', rpc_method_handlers)
62
+ server.add_generic_rpc_handlers((generic_handler,))
63
+
64
+
65
+ # This class is part of an EXPERIMENTAL API.
66
+ class CalculatedChannelsService(object):
67
+ """Missing associated documentation comment in .proto file."""
68
+
69
+ @staticmethod
70
+ def ListExpressionIdentifiers(request,
71
+ target,
72
+ options=(),
73
+ channel_credentials=None,
74
+ call_credentials=None,
75
+ insecure=False,
76
+ compression=None,
77
+ wait_for_ready=None,
78
+ timeout=None,
79
+ metadata=None):
80
+ return grpc.experimental.unary_unary(request, target, '/sift.calculated_channels.v1.CalculatedChannelsService/ListExpressionIdentifiers',
81
+ sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ListExpressionIdentifiersRequest.SerializeToString,
82
+ sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ListExpressionIdentifiersResponse.FromString,
83
+ options, channel_credentials,
84
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
85
+
86
+ @staticmethod
87
+ def ValidateExpression(request,
88
+ target,
89
+ options=(),
90
+ channel_credentials=None,
91
+ call_credentials=None,
92
+ insecure=False,
93
+ compression=None,
94
+ wait_for_ready=None,
95
+ timeout=None,
96
+ metadata=None):
97
+ return grpc.experimental.unary_unary(request, target, '/sift.calculated_channels.v1.CalculatedChannelsService/ValidateExpression',
98
+ sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ValidateExpressionRequest.SerializeToString,
99
+ sift_dot_calculated__channels_dot_v1_dot_calculated__channels__pb2.ValidateExpressionResponse.FromString,
100
+ options, channel_credentials,
101
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -0,0 +1,64 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import abc
7
+ import collections.abc
8
+ import grpc
9
+ import grpc.aio
10
+ import sift.calculated_channels.v1.calculated_channels_pb2
11
+ import typing
12
+
13
+ _T = typing.TypeVar("_T")
14
+
15
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
16
+
17
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
18
+ ...
19
+
20
+ class CalculatedChannelsServiceStub:
21
+ def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
22
+ ListExpressionIdentifiers: grpc.UnaryUnaryMultiCallable[
23
+ sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersRequest,
24
+ sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersResponse,
25
+ ]
26
+ """Retrieves a list of valid identifiers that can be used as part of a calculated channel expression."""
27
+
28
+ ValidateExpression: grpc.UnaryUnaryMultiCallable[
29
+ sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionRequest,
30
+ sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionResponse,
31
+ ]
32
+ """Used to validate whether or not an expression used for a calculated channel is valid."""
33
+
34
+ class CalculatedChannelsServiceAsyncStub:
35
+ ListExpressionIdentifiers: grpc.aio.UnaryUnaryMultiCallable[
36
+ sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersRequest,
37
+ sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersResponse,
38
+ ]
39
+ """Retrieves a list of valid identifiers that can be used as part of a calculated channel expression."""
40
+
41
+ ValidateExpression: grpc.aio.UnaryUnaryMultiCallable[
42
+ sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionRequest,
43
+ sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionResponse,
44
+ ]
45
+ """Used to validate whether or not an expression used for a calculated channel is valid."""
46
+
47
+ class CalculatedChannelsServiceServicer(metaclass=abc.ABCMeta):
48
+ @abc.abstractmethod
49
+ def ListExpressionIdentifiers(
50
+ self,
51
+ request: sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersRequest,
52
+ context: _ServicerContext,
53
+ ) -> typing.Union[sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersResponse, collections.abc.Awaitable[sift.calculated_channels.v1.calculated_channels_pb2.ListExpressionIdentifiersResponse]]:
54
+ """Retrieves a list of valid identifiers that can be used as part of a calculated channel expression."""
55
+
56
+ @abc.abstractmethod
57
+ def ValidateExpression(
58
+ self,
59
+ request: sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionRequest,
60
+ context: _ServicerContext,
61
+ ) -> typing.Union[sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionResponse, collections.abc.Awaitable[sift.calculated_channels.v1.calculated_channels_pb2.ValidateExpressionResponse]]:
62
+ """Used to validate whether or not an expression used for a calculated channel is valid."""
63
+
64
+ def add_CalculatedChannelsServiceServicer_to_server(servicer: CalculatedChannelsServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
File without changes
File without changes
@@ -0,0 +1,144 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sift/campaigns/v1/campaigns.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
16
+ from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
17
+ from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
18
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
19
+ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
20
+ from sift.common.type.v1 import resource_identifier_pb2 as sift_dot_common_dot_type_dot_v1_dot_resource__identifier__pb2
21
+ from sift.tags.v1 import tags_pb2 as sift_dot_tags_dot_v1_dot_tags__pb2
22
+
23
+
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!sift/campaigns/v1/campaigns.proto\x12\x11sift.campaigns.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a-sift/common/type/v1/resource_identifier.proto\x1a\x17sift/tags/v1/tags.proto\"\xa7\x05\n\x08\x43\x61mpaign\x12$\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tB\x03\xe0\x41\x03R\ncampaignId\x12,\n\x0forganization_id\x18\x02 \x01(\tB\x03\xe0\x41\x05R\x0eorganizationId\x12\"\n\nclient_key\x18\x03 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12\x17\n\x04name\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12\x30\n\x12\x63reated_by_user_id\x18\x06 \x01(\tB\x03\xe0\x41\x03R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x03R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03R\x0cmodifiedDate\x12\x44\n\rarchived_date\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12-\n\x04tags\x18\x0b \x03(\x0b\x32\x14.sift.tags.v1.TagRefB\x03\xe0\x41\x06R\x04tags\x12@\n\x07reports\x18\x0c \x03(\x0b\x32!.sift.campaigns.v1.CampaignReportB\x03\xe0\x41\x06R\x07reports\x12<\n\x18\x63reated_from_campaign_id\x18\r \x01(\tB\x03\xe0\x41\x03R\x15\x63reatedFromCampaignId\"\xc2\x02\n\x0e\x43\x61mpaignReport\x12 \n\treport_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08reportId\x12$\n\x0breport_name\x18\x02 \x01(\tB\x03\xe0\x41\x03R\nreportName\x12,\n\x0fnum_annotations\x18\x03 \x01(\rB\x03\xe0\x41\x03R\x0enumAnnotations\x12-\n\x10num_passed_rules\x18\x04 \x01(\rB\x03\xe0\x41\x03R\x0enumPassedRules\x12\x31\n\x12num_accepted_rules\x18\x05 \x01(\rB\x03\xe0\x41\x03R\x10numAcceptedRules\x12-\n\x10num_failed_rules\x18\x06 \x01(\rB\x03\xe0\x41\x03R\x0enumFailedRules\x12)\n\x0enum_open_rules\x18\x07 \x01(\rB\x03\xe0\x41\x03R\x0cnumOpenRules\"\x8c\x01\n\x12GetCampaignRequest\x12$\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\ncampaignId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"S\n\x13GetCampaignResponse\x12<\n\x08\x63\x61mpaign\x18\x01 \x01(\x0b\x32\x1b.sift.campaigns.v1.CampaignB\x03\xe0\x41\x02R\x08\x63\x61mpaign\"\xb4\x02\n\x15\x43reateCampaignRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12<\n\x04tags\x18\x03 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x01R\x04tags\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\"\n\nclient_key\x18\x05 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12K\n\x0b\x63reate_from\x18\x06 \x01(\x0b\x32%.sift.campaigns.v1.CreateCampaignFromB\x03\xe0\x41\x01R\ncreateFrom\"\xff\x01\n\x12\x43reateCampaignFrom\x12I\n\nreport_ids\x18\x01 \x01(\x0b\x32(.sift.common.type.v1.ResourceIdentifiersH\x00R\treportIds\x12\x43\n\x07run_ids\x18\x02 \x01(\x0b\x32(.sift.common.type.v1.ResourceIdentifiersH\x00R\x06runIds\x12J\n\x0b\x63\x61mpaign_id\x18\x03 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierH\x00R\ncampaignIdB\r\n\x0binitializer\"V\n\x16\x43reateCampaignResponse\x12<\n\x08\x63\x61mpaign\x18\x01 \x01(\x0b\x32\x1b.sift.campaigns.v1.CampaignB\x03\xe0\x41\x02R\x08\x63\x61mpaign\"\xf7\x01\n\x14ListCampaignsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12.\n\x10include_archived\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\x12\x1e\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"z\n\x15ListCampaignsResponse\x12\x39\n\tcampaigns\x18\x01 \x03(\x0b\x32\x1b.sift.campaigns.v1.CampaignR\tcampaigns\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\x97\x01\n\x15UpdateCampaignRequest\x12<\n\x08\x63\x61mpaign\x18\x01 \x01(\x0b\x32\x1b.sift.campaigns.v1.CampaignB\x03\xe0\x41\x02R\x08\x63\x61mpaign\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"V\n\x16UpdateCampaignResponse\x12<\n\x08\x63\x61mpaign\x18\x01 \x01(\x0b\x32\x1b.sift.campaigns.v1.CampaignB\x03\xe0\x41\x02R\x08\x63\x61mpaign2\xbb\x06\n\x0f\x43\x61mpaignService\x12\xea\x01\n\x0bGetCampaign\x12%.sift.campaigns.v1.GetCampaignRequest\x1a&.sift.campaigns.v1.GetCampaignResponse\"\x8b\x01\x92\x41#\x12\x0bGetCampaign\x1a\x14Retrieve a campaign.\x82\xd3\xe4\x93\x02_\x12\x1f/api/v1/campaigns/{campaign_id}Z<\x12:/v1/organizations/{organization_id}/campaigns/{client_key}\x12\xaa\x01\n\x0e\x43reateCampaign\x12(.sift.campaigns.v1.CreateCampaignRequest\x1a).sift.campaigns.v1.CreateCampaignResponse\"C\x92\x41$\x12\x0e\x43reateCampaign\x1a\x12\x43reate a campaign.\x82\xd3\xe4\x93\x02\x16\"\x11/api/v1/campaigns:\x01*\x12\xa0\x01\n\rListCampaigns\x12\'.sift.campaigns.v1.ListCampaignsRequest\x1a(.sift.campaigns.v1.ListCampaignsResponse\"<\x92\x41 \x12\rListCampaigns\x1a\x0fList campaigns.\x82\xd3\xe4\x93\x02\x13\x12\x11/api/v1/campaigns\x12\xea\x01\n\x0eUpdateCampaign\x12(.sift.campaigns.v1.UpdateCampaignRequest\x1a).sift.campaigns.v1.UpdateCampaignResponse\"\x82\x01\x92\x41\x63\x12\x0eUpdateCampaign\x1aQUpdates an existing campaign using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x16\x32\x11/api/v1/campaigns:\x01*B\xa4\x01\n\x15\x63om.sift.campaigns.v1B\x0e\x43\x61mpaignsProtoP\x01\xa2\x02\x03SCX\xaa\x02\x11Sift.Campaigns.V1\xca\x02\x11Sift\\Campaigns\\V1\xe2\x02\x1dSift\\Campaigns\\V1\\GPBMetadata\xea\x02\x13Sift::Campaigns::V1\x92\x41\x14\x12\x12\n\x10\x43\x61mpaign serviceb\x06proto3')
25
+
26
+ _globals = globals()
27
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
28
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.campaigns.v1.campaigns_pb2', _globals)
29
+ if not _descriptor._USE_C_DESCRIPTORS:
30
+ _globals['DESCRIPTOR']._loaded_options = None
31
+ _globals['DESCRIPTOR']._serialized_options = b'\n\025com.sift.campaigns.v1B\016CampaignsProtoP\001\242\002\003SCX\252\002\021Sift.Campaigns.V1\312\002\021Sift\\Campaigns\\V1\342\002\035Sift\\Campaigns\\V1\\GPBMetadata\352\002\023Sift::Campaigns::V1\222A\024\022\022\n\020Campaign service'
32
+ _globals['_CAMPAIGN'].fields_by_name['campaign_id']._loaded_options = None
33
+ _globals['_CAMPAIGN'].fields_by_name['campaign_id']._serialized_options = b'\340A\003'
34
+ _globals['_CAMPAIGN'].fields_by_name['organization_id']._loaded_options = None
35
+ _globals['_CAMPAIGN'].fields_by_name['organization_id']._serialized_options = b'\340A\005'
36
+ _globals['_CAMPAIGN'].fields_by_name['client_key']._loaded_options = None
37
+ _globals['_CAMPAIGN'].fields_by_name['client_key']._serialized_options = b'\340A\001'
38
+ _globals['_CAMPAIGN'].fields_by_name['name']._loaded_options = None
39
+ _globals['_CAMPAIGN'].fields_by_name['name']._serialized_options = b'\340A\002'
40
+ _globals['_CAMPAIGN'].fields_by_name['description']._loaded_options = None
41
+ _globals['_CAMPAIGN'].fields_by_name['description']._serialized_options = b'\340A\001'
42
+ _globals['_CAMPAIGN'].fields_by_name['created_by_user_id']._loaded_options = None
43
+ _globals['_CAMPAIGN'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\003'
44
+ _globals['_CAMPAIGN'].fields_by_name['modified_by_user_id']._loaded_options = None
45
+ _globals['_CAMPAIGN'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\003'
46
+ _globals['_CAMPAIGN'].fields_by_name['created_date']._loaded_options = None
47
+ _globals['_CAMPAIGN'].fields_by_name['created_date']._serialized_options = b'\340A\003'
48
+ _globals['_CAMPAIGN'].fields_by_name['modified_date']._loaded_options = None
49
+ _globals['_CAMPAIGN'].fields_by_name['modified_date']._serialized_options = b'\340A\003'
50
+ _globals['_CAMPAIGN'].fields_by_name['archived_date']._loaded_options = None
51
+ _globals['_CAMPAIGN'].fields_by_name['archived_date']._serialized_options = b'\340A\001'
52
+ _globals['_CAMPAIGN'].fields_by_name['tags']._loaded_options = None
53
+ _globals['_CAMPAIGN'].fields_by_name['tags']._serialized_options = b'\340A\006'
54
+ _globals['_CAMPAIGN'].fields_by_name['reports']._loaded_options = None
55
+ _globals['_CAMPAIGN'].fields_by_name['reports']._serialized_options = b'\340A\006'
56
+ _globals['_CAMPAIGN'].fields_by_name['created_from_campaign_id']._loaded_options = None
57
+ _globals['_CAMPAIGN'].fields_by_name['created_from_campaign_id']._serialized_options = b'\340A\003'
58
+ _globals['_CAMPAIGNREPORT'].fields_by_name['report_id']._loaded_options = None
59
+ _globals['_CAMPAIGNREPORT'].fields_by_name['report_id']._serialized_options = b'\340A\002'
60
+ _globals['_CAMPAIGNREPORT'].fields_by_name['report_name']._loaded_options = None
61
+ _globals['_CAMPAIGNREPORT'].fields_by_name['report_name']._serialized_options = b'\340A\003'
62
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_annotations']._loaded_options = None
63
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_annotations']._serialized_options = b'\340A\003'
64
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_passed_rules']._loaded_options = None
65
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_passed_rules']._serialized_options = b'\340A\003'
66
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_accepted_rules']._loaded_options = None
67
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_accepted_rules']._serialized_options = b'\340A\003'
68
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_failed_rules']._loaded_options = None
69
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_failed_rules']._serialized_options = b'\340A\003'
70
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_open_rules']._loaded_options = None
71
+ _globals['_CAMPAIGNREPORT'].fields_by_name['num_open_rules']._serialized_options = b'\340A\003'
72
+ _globals['_GETCAMPAIGNREQUEST'].fields_by_name['campaign_id']._loaded_options = None
73
+ _globals['_GETCAMPAIGNREQUEST'].fields_by_name['campaign_id']._serialized_options = b'\340A\001'
74
+ _globals['_GETCAMPAIGNREQUEST'].fields_by_name['client_key']._loaded_options = None
75
+ _globals['_GETCAMPAIGNREQUEST'].fields_by_name['client_key']._serialized_options = b'\340A\001'
76
+ _globals['_GETCAMPAIGNREQUEST'].fields_by_name['organization_id']._loaded_options = None
77
+ _globals['_GETCAMPAIGNREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
78
+ _globals['_GETCAMPAIGNRESPONSE'].fields_by_name['campaign']._loaded_options = None
79
+ _globals['_GETCAMPAIGNRESPONSE'].fields_by_name['campaign']._serialized_options = b'\340A\002'
80
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['name']._loaded_options = None
81
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002'
82
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['description']._loaded_options = None
83
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001'
84
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['tags']._loaded_options = None
85
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['tags']._serialized_options = b'\340A\001'
86
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['organization_id']._loaded_options = None
87
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
88
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['client_key']._loaded_options = None
89
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['client_key']._serialized_options = b'\340A\001'
90
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['create_from']._loaded_options = None
91
+ _globals['_CREATECAMPAIGNREQUEST'].fields_by_name['create_from']._serialized_options = b'\340A\001'
92
+ _globals['_CREATECAMPAIGNRESPONSE'].fields_by_name['campaign']._loaded_options = None
93
+ _globals['_CREATECAMPAIGNRESPONSE'].fields_by_name['campaign']._serialized_options = b'\340A\002'
94
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['page_size']._loaded_options = None
95
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001'
96
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['page_token']._loaded_options = None
97
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001'
98
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['filter']._loaded_options = None
99
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001'
100
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['organization_id']._loaded_options = None
101
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
102
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['include_archived']._loaded_options = None
103
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001'
104
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['order_by']._loaded_options = None
105
+ _globals['_LISTCAMPAIGNSREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001'
106
+ _globals['_UPDATECAMPAIGNREQUEST'].fields_by_name['campaign']._loaded_options = None
107
+ _globals['_UPDATECAMPAIGNREQUEST'].fields_by_name['campaign']._serialized_options = b'\340A\002'
108
+ _globals['_UPDATECAMPAIGNREQUEST'].fields_by_name['update_mask']._loaded_options = None
109
+ _globals['_UPDATECAMPAIGNREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002'
110
+ _globals['_UPDATECAMPAIGNRESPONSE'].fields_by_name['campaign']._loaded_options = None
111
+ _globals['_UPDATECAMPAIGNRESPONSE'].fields_by_name['campaign']._serialized_options = b'\340A\002'
112
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['GetCampaign']._loaded_options = None
113
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['GetCampaign']._serialized_options = b'\222A#\022\013GetCampaign\032\024Retrieve a campaign.\202\323\344\223\002_\022\037/api/v1/campaigns/{campaign_id}Z<\022:/v1/organizations/{organization_id}/campaigns/{client_key}'
114
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['CreateCampaign']._loaded_options = None
115
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['CreateCampaign']._serialized_options = b'\222A$\022\016CreateCampaign\032\022Create a campaign.\202\323\344\223\002\026\"\021/api/v1/campaigns:\001*'
116
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['ListCampaigns']._loaded_options = None
117
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['ListCampaigns']._serialized_options = b'\222A \022\rListCampaigns\032\017List campaigns.\202\323\344\223\002\023\022\021/api/v1/campaigns'
118
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['UpdateCampaign']._loaded_options = None
119
+ _globals['_CAMPAIGNSERVICE'].methods_by_name['UpdateCampaign']._serialized_options = b'\222Ac\022\016UpdateCampaign\032QUpdates an existing campaign using the list of fields specified in `update_mask`.\202\323\344\223\002\0262\021/api/v1/campaigns:\001*'
120
+ _globals['_CAMPAIGN']._serialized_start=307
121
+ _globals['_CAMPAIGN']._serialized_end=986
122
+ _globals['_CAMPAIGNREPORT']._serialized_start=989
123
+ _globals['_CAMPAIGNREPORT']._serialized_end=1311
124
+ _globals['_GETCAMPAIGNREQUEST']._serialized_start=1314
125
+ _globals['_GETCAMPAIGNREQUEST']._serialized_end=1454
126
+ _globals['_GETCAMPAIGNRESPONSE']._serialized_start=1456
127
+ _globals['_GETCAMPAIGNRESPONSE']._serialized_end=1539
128
+ _globals['_CREATECAMPAIGNREQUEST']._serialized_start=1542
129
+ _globals['_CREATECAMPAIGNREQUEST']._serialized_end=1850
130
+ _globals['_CREATECAMPAIGNFROM']._serialized_start=1853
131
+ _globals['_CREATECAMPAIGNFROM']._serialized_end=2108
132
+ _globals['_CREATECAMPAIGNRESPONSE']._serialized_start=2110
133
+ _globals['_CREATECAMPAIGNRESPONSE']._serialized_end=2196
134
+ _globals['_LISTCAMPAIGNSREQUEST']._serialized_start=2199
135
+ _globals['_LISTCAMPAIGNSREQUEST']._serialized_end=2446
136
+ _globals['_LISTCAMPAIGNSRESPONSE']._serialized_start=2448
137
+ _globals['_LISTCAMPAIGNSRESPONSE']._serialized_end=2570
138
+ _globals['_UPDATECAMPAIGNREQUEST']._serialized_start=2573
139
+ _globals['_UPDATECAMPAIGNREQUEST']._serialized_end=2724
140
+ _globals['_UPDATECAMPAIGNRESPONSE']._serialized_start=2726
141
+ _globals['_UPDATECAMPAIGNRESPONSE']._serialized_end=2812
142
+ _globals['_CAMPAIGNSERVICE']._serialized_start=2815
143
+ _globals['_CAMPAIGNSERVICE']._serialized_end=3642
144
+ # @@protoc_insertion_point(module_scope)