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,381 @@
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.field_mask_pb2
10
+ import google.protobuf.internal.containers
11
+ import google.protobuf.message
12
+ import google.protobuf.timestamp_pb2
13
+ import typing
14
+
15
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
16
+
17
+ @typing.final
18
+ class ReportTemplate(google.protobuf.message.Message):
19
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
20
+
21
+ REPORT_TEMPLATE_ID_FIELD_NUMBER: builtins.int
22
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
23
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
24
+ NAME_FIELD_NUMBER: builtins.int
25
+ DESCRIPTION_FIELD_NUMBER: builtins.int
26
+ ARCHIVED_DATE_FIELD_NUMBER: builtins.int
27
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
28
+ MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
29
+ CREATED_DATE_FIELD_NUMBER: builtins.int
30
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
31
+ RULES_FIELD_NUMBER: builtins.int
32
+ TAGS_FIELD_NUMBER: builtins.int
33
+ report_template_id: builtins.str
34
+ organization_id: builtins.str
35
+ client_key: builtins.str
36
+ name: builtins.str
37
+ description: builtins.str
38
+ created_by_user_id: builtins.str
39
+ modified_by_user_id: builtins.str
40
+ @property
41
+ def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
42
+ @property
43
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
44
+ @property
45
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
46
+ @property
47
+ def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReportTemplateRule]: ...
48
+ @property
49
+ def tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReportTemplateTag]: ...
50
+ def __init__(
51
+ self,
52
+ *,
53
+ report_template_id: builtins.str = ...,
54
+ organization_id: builtins.str = ...,
55
+ client_key: builtins.str | None = ...,
56
+ name: builtins.str = ...,
57
+ description: builtins.str | None = ...,
58
+ archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
59
+ created_by_user_id: builtins.str = ...,
60
+ modified_by_user_id: builtins.str = ...,
61
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
62
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
63
+ rules: collections.abc.Iterable[global___ReportTemplateRule] | None = ...,
64
+ tags: collections.abc.Iterable[global___ReportTemplateTag] | None = ...,
65
+ ) -> None: ...
66
+ def HasField(self, field_name: typing.Literal["_archived_date", b"_archived_date", "_client_key", b"_client_key", "_description", b"_description", "archived_date", b"archived_date", "client_key", b"client_key", "created_date", b"created_date", "description", b"description", "modified_date", b"modified_date"]) -> builtins.bool: ...
67
+ def ClearField(self, field_name: typing.Literal["_archived_date", b"_archived_date", "_client_key", b"_client_key", "_description", b"_description", "archived_date", b"archived_date", "client_key", b"client_key", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "report_template_id", b"report_template_id", "rules", b"rules", "tags", b"tags"]) -> None: ...
68
+ @typing.overload
69
+ def WhichOneof(self, oneof_group: typing.Literal["_archived_date", b"_archived_date"]) -> typing.Literal["archived_date"] | None: ...
70
+ @typing.overload
71
+ def WhichOneof(self, oneof_group: typing.Literal["_client_key", b"_client_key"]) -> typing.Literal["client_key"] | None: ...
72
+ @typing.overload
73
+ def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ...
74
+
75
+ global___ReportTemplate = ReportTemplate
76
+
77
+ @typing.final
78
+ class ReportTemplateRule(google.protobuf.message.Message):
79
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
80
+
81
+ RULE_ID_FIELD_NUMBER: builtins.int
82
+ RULE_VERSION_ID_FIELD_NUMBER: builtins.int
83
+ RULE_VERSION_NUMBER_FIELD_NUMBER: builtins.int
84
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
85
+ rule_id: builtins.str
86
+ rule_version_id: builtins.str
87
+ rule_version_number: builtins.int
88
+ client_key: builtins.str
89
+ def __init__(
90
+ self,
91
+ *,
92
+ rule_id: builtins.str = ...,
93
+ rule_version_id: builtins.str = ...,
94
+ rule_version_number: builtins.int = ...,
95
+ client_key: builtins.str = ...,
96
+ ) -> None: ...
97
+ def ClearField(self, field_name: typing.Literal["client_key", b"client_key", "rule_id", b"rule_id", "rule_version_id", b"rule_version_id", "rule_version_number", b"rule_version_number"]) -> None: ...
98
+
99
+ global___ReportTemplateRule = ReportTemplateRule
100
+
101
+ @typing.final
102
+ class ReportTemplateTag(google.protobuf.message.Message):
103
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
104
+
105
+ TAG_NAME_FIELD_NUMBER: builtins.int
106
+ tag_name: builtins.str
107
+ def __init__(
108
+ self,
109
+ *,
110
+ tag_name: builtins.str = ...,
111
+ ) -> None: ...
112
+ def ClearField(self, field_name: typing.Literal["tag_name", b"tag_name"]) -> None: ...
113
+
114
+ global___ReportTemplateTag = ReportTemplateTag
115
+
116
+ @typing.final
117
+ class GetReportTemplateRequest(google.protobuf.message.Message):
118
+ """The request for a call to `ReportTemplateService_GetReportTemplate` to retrieve a report template.
119
+ If `report_template_id` is provided then all other arguments will be ignored. The argument `report_template_id`
120
+ should not be used together with `client_key`. The `organization_id` argument is only required
121
+ if using `client_key` and the user belongs to multiple organizations.
122
+ """
123
+
124
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
125
+
126
+ REPORT_TEMPLATE_ID_FIELD_NUMBER: builtins.int
127
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
128
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
129
+ report_template_id: builtins.str
130
+ client_key: builtins.str
131
+ organization_id: builtins.str
132
+ def __init__(
133
+ self,
134
+ *,
135
+ report_template_id: builtins.str = ...,
136
+ client_key: builtins.str = ...,
137
+ organization_id: builtins.str = ...,
138
+ ) -> None: ...
139
+ def ClearField(self, field_name: typing.Literal["client_key", b"client_key", "organization_id", b"organization_id", "report_template_id", b"report_template_id"]) -> None: ...
140
+
141
+ global___GetReportTemplateRequest = GetReportTemplateRequest
142
+
143
+ @typing.final
144
+ class GetReportTemplateResponse(google.protobuf.message.Message):
145
+ """The request of a call to `ReportTemplateService_GetReportTemplate` to retrieve a report template."""
146
+
147
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
148
+
149
+ REPORT_TEMPLATE_FIELD_NUMBER: builtins.int
150
+ @property
151
+ def report_template(self) -> global___ReportTemplate: ...
152
+ def __init__(
153
+ self,
154
+ *,
155
+ report_template: global___ReportTemplate | None = ...,
156
+ ) -> None: ...
157
+ def HasField(self, field_name: typing.Literal["report_template", b"report_template"]) -> builtins.bool: ...
158
+ def ClearField(self, field_name: typing.Literal["report_template", b"report_template"]) -> None: ...
159
+
160
+ global___GetReportTemplateResponse = GetReportTemplateResponse
161
+
162
+ @typing.final
163
+ class CreateReportTemplateRequest(google.protobuf.message.Message):
164
+ """The request of a call to `ReportTemplateService_CreateReportTemplate` to create a report template."""
165
+
166
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
167
+
168
+ NAME_FIELD_NUMBER: builtins.int
169
+ CLIENT_KEY_FIELD_NUMBER: builtins.int
170
+ DESCRIPTION_FIELD_NUMBER: builtins.int
171
+ TAG_NAMES_FIELD_NUMBER: builtins.int
172
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
173
+ RULE_IDS_FIELD_NUMBER: builtins.int
174
+ RULE_CLIENT_KEYS_FIELD_NUMBER: builtins.int
175
+ name: builtins.str
176
+ client_key: builtins.str
177
+ description: builtins.str
178
+ organization_id: builtins.str
179
+ """`organization_id` is only required if your user belongs to multiple organizations"""
180
+ @property
181
+ def tag_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
182
+ @property
183
+ def rule_ids(self) -> global___CreateReportTemplateRequestRuleIds: ...
184
+ @property
185
+ def rule_client_keys(self) -> global___CreateReportTemplateRequestClientKeys: ...
186
+ def __init__(
187
+ self,
188
+ *,
189
+ name: builtins.str = ...,
190
+ client_key: builtins.str | None = ...,
191
+ description: builtins.str | None = ...,
192
+ tag_names: collections.abc.Iterable[builtins.str] | None = ...,
193
+ organization_id: builtins.str = ...,
194
+ rule_ids: global___CreateReportTemplateRequestRuleIds | None = ...,
195
+ rule_client_keys: global___CreateReportTemplateRequestClientKeys | None = ...,
196
+ ) -> None: ...
197
+ def HasField(self, field_name: typing.Literal["_client_key", b"_client_key", "_description", b"_description", "client_key", b"client_key", "description", b"description", "rule_client_keys", b"rule_client_keys", "rule_identifiers", b"rule_identifiers", "rule_ids", b"rule_ids"]) -> builtins.bool: ...
198
+ def ClearField(self, field_name: typing.Literal["_client_key", b"_client_key", "_description", b"_description", "client_key", b"client_key", "description", b"description", "name", b"name", "organization_id", b"organization_id", "rule_client_keys", b"rule_client_keys", "rule_identifiers", b"rule_identifiers", "rule_ids", b"rule_ids", "tag_names", b"tag_names"]) -> None: ...
199
+ @typing.overload
200
+ def WhichOneof(self, oneof_group: typing.Literal["_client_key", b"_client_key"]) -> typing.Literal["client_key"] | None: ...
201
+ @typing.overload
202
+ def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ...
203
+ @typing.overload
204
+ def WhichOneof(self, oneof_group: typing.Literal["rule_identifiers", b"rule_identifiers"]) -> typing.Literal["rule_ids", "rule_client_keys"] | None: ...
205
+
206
+ global___CreateReportTemplateRequest = CreateReportTemplateRequest
207
+
208
+ @typing.final
209
+ class CreateReportTemplateRequestRuleIds(google.protobuf.message.Message):
210
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
211
+
212
+ RULE_IDS_FIELD_NUMBER: builtins.int
213
+ @property
214
+ def rule_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
215
+ def __init__(
216
+ self,
217
+ *,
218
+ rule_ids: collections.abc.Iterable[builtins.str] | None = ...,
219
+ ) -> None: ...
220
+ def ClearField(self, field_name: typing.Literal["rule_ids", b"rule_ids"]) -> None: ...
221
+
222
+ global___CreateReportTemplateRequestRuleIds = CreateReportTemplateRequestRuleIds
223
+
224
+ @typing.final
225
+ class CreateReportTemplateRequestClientKeys(google.protobuf.message.Message):
226
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
227
+
228
+ RULE_CLIENT_KEYS_FIELD_NUMBER: builtins.int
229
+ @property
230
+ def rule_client_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
231
+ def __init__(
232
+ self,
233
+ *,
234
+ rule_client_keys: collections.abc.Iterable[builtins.str] | None = ...,
235
+ ) -> None: ...
236
+ def ClearField(self, field_name: typing.Literal["rule_client_keys", b"rule_client_keys"]) -> None: ...
237
+
238
+ global___CreateReportTemplateRequestClientKeys = CreateReportTemplateRequestClientKeys
239
+
240
+ @typing.final
241
+ class CreateReportTemplateResponse(google.protobuf.message.Message):
242
+ """The response of a call to `ReportTemplateService_CreateReportTemplate` to create a report template."""
243
+
244
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
245
+
246
+ REPORT_TEMPLATE_FIELD_NUMBER: builtins.int
247
+ @property
248
+ def report_template(self) -> global___ReportTemplate: ...
249
+ def __init__(
250
+ self,
251
+ *,
252
+ report_template: global___ReportTemplate | None = ...,
253
+ ) -> None: ...
254
+ def HasField(self, field_name: typing.Literal["report_template", b"report_template"]) -> builtins.bool: ...
255
+ def ClearField(self, field_name: typing.Literal["report_template", b"report_template"]) -> None: ...
256
+
257
+ global___CreateReportTemplateResponse = CreateReportTemplateResponse
258
+
259
+ @typing.final
260
+ class ListReportTemplatesRequest(google.protobuf.message.Message):
261
+ """The request for a call to `ReportTemplateService_ListReportTemplates` to retrieve report templates."""
262
+
263
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
264
+
265
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
266
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
267
+ FILTER_FIELD_NUMBER: builtins.int
268
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
269
+ INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int
270
+ ORDER_BY_FIELD_NUMBER: builtins.int
271
+ page_size: builtins.int
272
+ """The maximum number of report templates to return. The service may return fewer than this value.
273
+ If unspecified, at most 50 report templates will be returned. The maximum value is 1000; values above
274
+ 1000 will be coerced to 1000. Optional.
275
+ """
276
+ page_token: builtins.str
277
+ """A page token, received from a previous `ListReportTemplates` call.
278
+ Provide this to retrieve the subsequent page.
279
+ When paginating, all other parameters provided to `ListReportTemplates` must match
280
+ the call that provided the page token. Optional.
281
+ """
282
+ filter: builtins.str
283
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
284
+ Available fields to filter by are `report_template_id`, `tag_id`, `tag_name`, `client_key`, and `name`.
285
+ For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions).
286
+ For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/report_templates#report_template). Optional.
287
+ """
288
+ organization_id: builtins.str
289
+ """This field is only required if your user belongs to multiple organizations."""
290
+ include_archived: builtins.bool
291
+ """If `true` then archived report templates will be included in the query. Defaults to `false`."""
292
+ order_by: builtins.str
293
+ """How to order the retrieved report templates. Formatted as a comma-separated string i.e. "<field_name>[ desc],...".
294
+ Available fields to order_by are `created_date` and `modified_date`.
295
+ If left empty, items are ordered by `created_date` in ascending order (oldest-first).
296
+ For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
297
+ Example: "created_date desc,modified_date"
298
+ """
299
+ def __init__(
300
+ self,
301
+ *,
302
+ page_size: builtins.int = ...,
303
+ page_token: builtins.str = ...,
304
+ filter: builtins.str = ...,
305
+ organization_id: builtins.str = ...,
306
+ include_archived: builtins.bool = ...,
307
+ order_by: builtins.str = ...,
308
+ ) -> None: ...
309
+ def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "organization_id", b"organization_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
310
+
311
+ global___ListReportTemplatesRequest = ListReportTemplatesRequest
312
+
313
+ @typing.final
314
+ class ListReportTemplatesResponse(google.protobuf.message.Message):
315
+ """The response of a call to `ReportTemplateService_ListReportTemplatesResponse`."""
316
+
317
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
318
+
319
+ REPORT_TEMPLATES_FIELD_NUMBER: builtins.int
320
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
321
+ next_page_token: builtins.str
322
+ @property
323
+ def report_templates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReportTemplate]: ...
324
+ def __init__(
325
+ self,
326
+ *,
327
+ report_templates: collections.abc.Iterable[global___ReportTemplate] | None = ...,
328
+ next_page_token: builtins.str = ...,
329
+ ) -> None: ...
330
+ def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "report_templates", b"report_templates"]) -> None: ...
331
+
332
+ global___ListReportTemplatesResponse = ListReportTemplatesResponse
333
+
334
+ @typing.final
335
+ class UpdateReportTemplateRequest(google.protobuf.message.Message):
336
+ """The request for a call to `ReportTemplateService_UpdateReportTemplate` to update a report template. When updating
337
+ tags or rules, the update will perform a full replace. Additionally, when updating rules, only the rule ID or the rule client key
338
+ is required, but it is okay to provide both. If some rules contain only client keys and others only rule IDs, they will be consolidated.
339
+ """
340
+
341
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
342
+
343
+ REPORT_TEMPLATE_FIELD_NUMBER: builtins.int
344
+ UPDATE_MASK_FIELD_NUMBER: builtins.int
345
+ @property
346
+ def report_template(self) -> global___ReportTemplate:
347
+ """The report template to update."""
348
+
349
+ @property
350
+ def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
351
+ """The list of fields to be updated. The fields available to be updated are `name`, `archived_date`, `description`, `tags`, and `rules`."""
352
+
353
+ def __init__(
354
+ self,
355
+ *,
356
+ report_template: global___ReportTemplate | None = ...,
357
+ update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
358
+ ) -> None: ...
359
+ def HasField(self, field_name: typing.Literal["report_template", b"report_template", "update_mask", b"update_mask"]) -> builtins.bool: ...
360
+ def ClearField(self, field_name: typing.Literal["report_template", b"report_template", "update_mask", b"update_mask"]) -> None: ...
361
+
362
+ global___UpdateReportTemplateRequest = UpdateReportTemplateRequest
363
+
364
+ @typing.final
365
+ class UpdateReportTemplateResponse(google.protobuf.message.Message):
366
+ """The response of a call to `ReportTemplateService_UpdateReportTemplate`."""
367
+
368
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
369
+
370
+ REPORT_TEMPLATE_FIELD_NUMBER: builtins.int
371
+ @property
372
+ def report_template(self) -> global___ReportTemplate: ...
373
+ def __init__(
374
+ self,
375
+ *,
376
+ report_template: global___ReportTemplate | None = ...,
377
+ ) -> None: ...
378
+ def HasField(self, field_name: typing.Literal["report_template", b"report_template"]) -> builtins.bool: ...
379
+ def ClearField(self, field_name: typing.Literal["report_template", b"report_template"]) -> None: ...
380
+
381
+ global___UpdateReportTemplateResponse = UpdateReportTemplateResponse
@@ -0,0 +1,169 @@
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.report_templates.v1 import report_templates_pb2 as sift_dot_report__templates_dot_v1_dot_report__templates__pb2
6
+
7
+
8
+ class ReportTemplateServiceStub(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.GetReportTemplate = channel.unary_unary(
18
+ '/sift.report_templates.v1.ReportTemplateService/GetReportTemplate',
19
+ request_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.GetReportTemplateRequest.SerializeToString,
20
+ response_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.GetReportTemplateResponse.FromString,
21
+ )
22
+ self.CreateReportTemplate = channel.unary_unary(
23
+ '/sift.report_templates.v1.ReportTemplateService/CreateReportTemplate',
24
+ request_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.CreateReportTemplateRequest.SerializeToString,
25
+ response_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.CreateReportTemplateResponse.FromString,
26
+ )
27
+ self.ListReportTemplates = channel.unary_unary(
28
+ '/sift.report_templates.v1.ReportTemplateService/ListReportTemplates',
29
+ request_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.ListReportTemplatesRequest.SerializeToString,
30
+ response_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.ListReportTemplatesResponse.FromString,
31
+ )
32
+ self.UpdateReportTemplate = channel.unary_unary(
33
+ '/sift.report_templates.v1.ReportTemplateService/UpdateReportTemplate',
34
+ request_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.UpdateReportTemplateRequest.SerializeToString,
35
+ response_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.UpdateReportTemplateResponse.FromString,
36
+ )
37
+
38
+
39
+ class ReportTemplateServiceServicer(object):
40
+ """Missing associated documentation comment in .proto file."""
41
+
42
+ def GetReportTemplate(self, request, context):
43
+ """Retrieve a report template.
44
+ """
45
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
46
+ context.set_details('Method not implemented!')
47
+ raise NotImplementedError('Method not implemented!')
48
+
49
+ def CreateReportTemplate(self, request, context):
50
+ """Create a report template.
51
+ """
52
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
53
+ context.set_details('Method not implemented!')
54
+ raise NotImplementedError('Method not implemented!')
55
+
56
+ def ListReportTemplates(self, request, context):
57
+ """List report templates.
58
+ """
59
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
60
+ context.set_details('Method not implemented!')
61
+ raise NotImplementedError('Method not implemented!')
62
+
63
+ def UpdateReportTemplate(self, request, context):
64
+ """Updates an existing report template using the list of fields specified in `update_mask`.
65
+ """
66
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
67
+ context.set_details('Method not implemented!')
68
+ raise NotImplementedError('Method not implemented!')
69
+
70
+
71
+ def add_ReportTemplateServiceServicer_to_server(servicer, server):
72
+ rpc_method_handlers = {
73
+ 'GetReportTemplate': grpc.unary_unary_rpc_method_handler(
74
+ servicer.GetReportTemplate,
75
+ request_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.GetReportTemplateRequest.FromString,
76
+ response_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.GetReportTemplateResponse.SerializeToString,
77
+ ),
78
+ 'CreateReportTemplate': grpc.unary_unary_rpc_method_handler(
79
+ servicer.CreateReportTemplate,
80
+ request_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.CreateReportTemplateRequest.FromString,
81
+ response_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.CreateReportTemplateResponse.SerializeToString,
82
+ ),
83
+ 'ListReportTemplates': grpc.unary_unary_rpc_method_handler(
84
+ servicer.ListReportTemplates,
85
+ request_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.ListReportTemplatesRequest.FromString,
86
+ response_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.ListReportTemplatesResponse.SerializeToString,
87
+ ),
88
+ 'UpdateReportTemplate': grpc.unary_unary_rpc_method_handler(
89
+ servicer.UpdateReportTemplate,
90
+ request_deserializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.UpdateReportTemplateRequest.FromString,
91
+ response_serializer=sift_dot_report__templates_dot_v1_dot_report__templates__pb2.UpdateReportTemplateResponse.SerializeToString,
92
+ ),
93
+ }
94
+ generic_handler = grpc.method_handlers_generic_handler(
95
+ 'sift.report_templates.v1.ReportTemplateService', rpc_method_handlers)
96
+ server.add_generic_rpc_handlers((generic_handler,))
97
+
98
+
99
+ # This class is part of an EXPERIMENTAL API.
100
+ class ReportTemplateService(object):
101
+ """Missing associated documentation comment in .proto file."""
102
+
103
+ @staticmethod
104
+ def GetReportTemplate(request,
105
+ target,
106
+ options=(),
107
+ channel_credentials=None,
108
+ call_credentials=None,
109
+ insecure=False,
110
+ compression=None,
111
+ wait_for_ready=None,
112
+ timeout=None,
113
+ metadata=None):
114
+ return grpc.experimental.unary_unary(request, target, '/sift.report_templates.v1.ReportTemplateService/GetReportTemplate',
115
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.GetReportTemplateRequest.SerializeToString,
116
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.GetReportTemplateResponse.FromString,
117
+ options, channel_credentials,
118
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
119
+
120
+ @staticmethod
121
+ def CreateReportTemplate(request,
122
+ target,
123
+ options=(),
124
+ channel_credentials=None,
125
+ call_credentials=None,
126
+ insecure=False,
127
+ compression=None,
128
+ wait_for_ready=None,
129
+ timeout=None,
130
+ metadata=None):
131
+ return grpc.experimental.unary_unary(request, target, '/sift.report_templates.v1.ReportTemplateService/CreateReportTemplate',
132
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.CreateReportTemplateRequest.SerializeToString,
133
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.CreateReportTemplateResponse.FromString,
134
+ options, channel_credentials,
135
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
136
+
137
+ @staticmethod
138
+ def ListReportTemplates(request,
139
+ target,
140
+ options=(),
141
+ channel_credentials=None,
142
+ call_credentials=None,
143
+ insecure=False,
144
+ compression=None,
145
+ wait_for_ready=None,
146
+ timeout=None,
147
+ metadata=None):
148
+ return grpc.experimental.unary_unary(request, target, '/sift.report_templates.v1.ReportTemplateService/ListReportTemplates',
149
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.ListReportTemplatesRequest.SerializeToString,
150
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.ListReportTemplatesResponse.FromString,
151
+ options, channel_credentials,
152
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
153
+
154
+ @staticmethod
155
+ def UpdateReportTemplate(request,
156
+ target,
157
+ options=(),
158
+ channel_credentials=None,
159
+ call_credentials=None,
160
+ insecure=False,
161
+ compression=None,
162
+ wait_for_ready=None,
163
+ timeout=None,
164
+ metadata=None):
165
+ return grpc.experimental.unary_unary(request, target, '/sift.report_templates.v1.ReportTemplateService/UpdateReportTemplate',
166
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.UpdateReportTemplateRequest.SerializeToString,
167
+ sift_dot_report__templates_dot_v1_dot_report__templates__pb2.UpdateReportTemplateResponse.FromString,
168
+ options, channel_credentials,
169
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -0,0 +1,104 @@
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.report_templates.v1.report_templates_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 ReportTemplateServiceStub:
21
+ def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
22
+ GetReportTemplate: grpc.UnaryUnaryMultiCallable[
23
+ sift.report_templates.v1.report_templates_pb2.GetReportTemplateRequest,
24
+ sift.report_templates.v1.report_templates_pb2.GetReportTemplateResponse,
25
+ ]
26
+ """Retrieve a report template."""
27
+
28
+ CreateReportTemplate: grpc.UnaryUnaryMultiCallable[
29
+ sift.report_templates.v1.report_templates_pb2.CreateReportTemplateRequest,
30
+ sift.report_templates.v1.report_templates_pb2.CreateReportTemplateResponse,
31
+ ]
32
+ """Create a report template."""
33
+
34
+ ListReportTemplates: grpc.UnaryUnaryMultiCallable[
35
+ sift.report_templates.v1.report_templates_pb2.ListReportTemplatesRequest,
36
+ sift.report_templates.v1.report_templates_pb2.ListReportTemplatesResponse,
37
+ ]
38
+ """List report templates."""
39
+
40
+ UpdateReportTemplate: grpc.UnaryUnaryMultiCallable[
41
+ sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateRequest,
42
+ sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateResponse,
43
+ ]
44
+ """Updates an existing report template using the list of fields specified in `update_mask`."""
45
+
46
+ class ReportTemplateServiceAsyncStub:
47
+ GetReportTemplate: grpc.aio.UnaryUnaryMultiCallable[
48
+ sift.report_templates.v1.report_templates_pb2.GetReportTemplateRequest,
49
+ sift.report_templates.v1.report_templates_pb2.GetReportTemplateResponse,
50
+ ]
51
+ """Retrieve a report template."""
52
+
53
+ CreateReportTemplate: grpc.aio.UnaryUnaryMultiCallable[
54
+ sift.report_templates.v1.report_templates_pb2.CreateReportTemplateRequest,
55
+ sift.report_templates.v1.report_templates_pb2.CreateReportTemplateResponse,
56
+ ]
57
+ """Create a report template."""
58
+
59
+ ListReportTemplates: grpc.aio.UnaryUnaryMultiCallable[
60
+ sift.report_templates.v1.report_templates_pb2.ListReportTemplatesRequest,
61
+ sift.report_templates.v1.report_templates_pb2.ListReportTemplatesResponse,
62
+ ]
63
+ """List report templates."""
64
+
65
+ UpdateReportTemplate: grpc.aio.UnaryUnaryMultiCallable[
66
+ sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateRequest,
67
+ sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateResponse,
68
+ ]
69
+ """Updates an existing report template using the list of fields specified in `update_mask`."""
70
+
71
+ class ReportTemplateServiceServicer(metaclass=abc.ABCMeta):
72
+ @abc.abstractmethod
73
+ def GetReportTemplate(
74
+ self,
75
+ request: sift.report_templates.v1.report_templates_pb2.GetReportTemplateRequest,
76
+ context: _ServicerContext,
77
+ ) -> typing.Union[sift.report_templates.v1.report_templates_pb2.GetReportTemplateResponse, collections.abc.Awaitable[sift.report_templates.v1.report_templates_pb2.GetReportTemplateResponse]]:
78
+ """Retrieve a report template."""
79
+
80
+ @abc.abstractmethod
81
+ def CreateReportTemplate(
82
+ self,
83
+ request: sift.report_templates.v1.report_templates_pb2.CreateReportTemplateRequest,
84
+ context: _ServicerContext,
85
+ ) -> typing.Union[sift.report_templates.v1.report_templates_pb2.CreateReportTemplateResponse, collections.abc.Awaitable[sift.report_templates.v1.report_templates_pb2.CreateReportTemplateResponse]]:
86
+ """Create a report template."""
87
+
88
+ @abc.abstractmethod
89
+ def ListReportTemplates(
90
+ self,
91
+ request: sift.report_templates.v1.report_templates_pb2.ListReportTemplatesRequest,
92
+ context: _ServicerContext,
93
+ ) -> typing.Union[sift.report_templates.v1.report_templates_pb2.ListReportTemplatesResponse, collections.abc.Awaitable[sift.report_templates.v1.report_templates_pb2.ListReportTemplatesResponse]]:
94
+ """List report templates."""
95
+
96
+ @abc.abstractmethod
97
+ def UpdateReportTemplate(
98
+ self,
99
+ request: sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateRequest,
100
+ context: _ServicerContext,
101
+ ) -> typing.Union[sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateResponse, collections.abc.Awaitable[sift.report_templates.v1.report_templates_pb2.UpdateReportTemplateResponse]]:
102
+ """Updates an existing report template using the list of fields specified in `update_mask`."""
103
+
104
+ def add_ReportTemplateServiceServicer_to_server(servicer: ReportTemplateServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
File without changes
File without changes